diff --git a/南风/api.json b/南风/api.json
index a664a49..ecc9143 100644
--- a/南风/api.json
+++ b/南风/api.json
@@ -3,8 +3,8 @@
"wallpaper": "https://深色壁纸.xxooo.cf/",
"sites":[
-{"key":"csp_DouDou","name":"🔍豆瓣┃本接口免费-🈲贩卖","type":3,"api":"csp_DouDou","searchable":0,"filterable":1,"changeable":1,"ext":{"commonConfig":"file://TV/peizhi.json","filter":"./sub/douban.json"}},
-{"key":"ConfigCenter","name":"🅿网盘配置中心","type":3,"api":"csp_ConfigCenter","searchable":0,"changeable":0,"ext":{"commonConfig":"file://TV/peizhi.json"}},
+{"key":"csp_DouDou","name":"🔍豆瓣┃本接口免费-🈲贩卖","type":3,"api":"csp_DouDou","searchable":0,"filterable":1,"changeable":1,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json","filter":"./sub/douban.json"}},
+{"key":"ConfigCenter","name":"🅿网盘配置中心","type":3,"api":"csp_ConfigCenter","searchable":0,"changeable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json"}},
{"key":"csp_Jpys","name":"🥇金牌","type":3,"api":"csp_Jpys","playerType":2,"searchable":1,"quickSearch":1,"changeable":1},
{"key":"csp_TianTian","name":"🦉天天","type":3,"api":"csp_TianTian","searchable":1,"quickSearch":1,"filterable":1},
{"key":"csp_ReBo","name":"☀️热播","type":3,"api":"csp_ReBo","searchable":1,"quickSearch":1,"filterable":1},
@@ -34,24 +34,24 @@
{"key":"csp_BookTing","name":"📚听书","type":3,"playerType":2,"api":"csp_BookTing","searchable":0,"ext":"https://m.ting275.com","style":{"type":"rect","ratio":1.333}},
{"key":"Aid","name":"🚑急救教学","type":3,"api":"csp_FirstAid","searchable":0,"quickSearch":0,"filterable":0,"changeable":0},
-{"key":"玩偶gg","name":"👽玩偶哥哥","type":3,"api":"csp_Wogg","searchable":1,"changeable":0,"ext":{"commonConfig":"file://TV/peizhi.json","siteUrl":"https://www.wogg.net","filter":"./sub/wogg.json"}},
-{"key":"多多","name":"🌟多多影音","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"file://TV/peizhi.json","siteUrl":"https://tv.yydsys.top","filter":"./sub/wogg.json"}},
-{"key":"蜡笔","name":"🖍︎蜡笔","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"file://TV/peizhi.json","siteUrl":"https://duopan.fun","filter":"./sub/wogg.json"}},
-{"key":"至臻","name":"💯至臻","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"file://TV/peizhi.json","siteUrl":"https://mihdr.top","filter":"./sub/wogg.json"}},
-{"key":"木偶","name":"🧸木偶","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"file://TV/peizhi.json","siteUrl":"http://mogg.xn--yetu07f.top","filter":"./sub/wogg.json"}},
-{"key":"MIUC","name":"💌MIUC","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"file://TV/peizhi.json","siteUrl":"http://www.mucpan.cc/","filter":"./sub/wogg.json"}},
-{"key":"闪电","name":"⚡闪电","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"file://TV/peizhi.json","siteUrl":"http://1.95.79.193","filter":"./sub/wogg.json"}},
-{"key":"盘Ta","name":"🍥盘Ta","type":3,"api":"csp_PanTa","searchable":1,"filterable":0,"switchable":0,"ext":{"siteUrl":"https://www.91panta.cn/","commonConfig":"file://TV/peizhi.json"}},
-{"key":"星剧社","name":"⭐️星剧社","type":3,"api":"csp_Star","searchable":1,"filterable":0,"switchable":0,"ext":{"commonConfig":"file://TV/peizhi.json"}},
-{"key":"易搜","name":"🆎易搜","type":3,"api":"csp_YiSo","searchable":1,"filterable":0,"switchable":0,"ext":{"cookie":"satoken=0eedba28-be8a-4f01-81af-2d8d44808ecf","commonConfig":"file://TV/peizhi.json"}},
-{"key":"csp_PanSearch","name":"📀盘搜索","type":3,"api":"csp_PanSearch","searchable":1,"changeable":0,"ext":{"commonConfig":"file://TV/peizhi.json"}},
-{"key":"纸条搜","name":"📜小纸条","type":3,"api":"csp_XiaoZhiTiao","searchable":1,"changeable":0,"ext":{"commonConfig":"file://TV/peizhi.json"}},
+{"key":"玩偶gg","name":"👽玩偶哥哥","type":3,"api":"csp_Wogg","searchable":1,"changeable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json","siteUrl":"https://www.wogg.net","filter":"./sub/wogg.json"}},
+{"key":"多多","name":"🌟多多影音","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json","siteUrl":"https://tv.yydsys.top","filter":"./sub/wogg.json"}},
+{"key":"蜡笔","name":"🖍︎蜡笔","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json","siteUrl":"https://duopan.fun","filter":"./sub/wogg.json"}},
+{"key":"至臻","name":"💯至臻","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json","siteUrl":"https://mihdr.top","filter":"./sub/wogg.json"}},
+{"key":"木偶","name":"🧸木偶","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json","siteUrl":"http://mogg.xn--yetu07f.top","filter":"./sub/wogg.json"}},
+{"key":"MIUC","name":"💌MIUC","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json","siteUrl":"http://www.mucpan.cc/","filter":"./sub/wogg.json"}},
+{"key":"闪电","name":"⚡闪电","type":3,"api":"csp_kongbai","searchable":1,"changeable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json","siteUrl":"http://1.95.79.193","filter":"./sub/wogg.json"}},
+{"key":"盘Ta","name":"🍥盘Ta","type":3,"api":"csp_PanTa","searchable":1,"filterable":0,"switchable":0,"ext":{"siteUrl":"https://www.91panta.cn/","commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json"}},
+{"key":"星剧社","name":"⭐️星剧社","type":3,"api":"csp_Star","searchable":1,"filterable":0,"switchable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json"}},
+{"key":"易搜","name":"🆎易搜","type":3,"api":"csp_YiSo","searchable":1,"filterable":0,"switchable":0,"ext":{"cookie":"satoken=0eedba28-be8a-4f01-81af-2d8d44808ecf","commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json"}},
+{"key":"csp_PanSearch","name":"📀盘搜索","type":3,"api":"csp_PanSearch","searchable":1,"changeable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json"}},
+{"key":"纸条搜","name":"📜小纸条","type":3,"api":"csp_XiaoZhiTiao","searchable":1,"changeable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json"}},
{"key":"AList","name":"🅰AList","type":3,"api":"csp_AList","searchable":1,"changeable":0,"ext":"./sub/alist.json"},
-{"key":"网盘集合","name":"🅿网盘集合|4K","type":3,"api":"csp_网盘集合","searchable":1,"filterable":0,"switchable":0,"ext":{"commonConfig":"file://TV/peizhi.json","share":"./sub/网盘集合.json"}},
-{"key":"Youtube","name":"⚡Youtube(墙外)","type":3,"api":"csp_Youtube","searchable":1,"changeable":1,"style":{"type":"rect","ratio":1.433},"ext":{"json":"./sub/youtube.json","cookie":"file://TV/youtubecookie.json"}},
-{"key":"Tg | 豆瓣","name":"🅿Tg|豆瓣(墙外)","type":3,"api":"csp_TgYunDouBanPan","searchable":1,"changeable":0,"ext":{"siteUrl":"http://127.0.0.1:9999","channelUsername":"hao115,guaguale115,longzbija,dianyingshare,XiangxiuNB,yunpanpan,kuakeyun,zaihuayun,Quark_Movies,alyp_4K_Movies,vip115hot,yunpanshare,ucwangpan,Quark_Share_Channel,Aliyundrive_Share_Channel,shareAliyun,ikiviyyp,wanwansubchat,wangpanziyuan2021,alyp_1,quanziyuanshe","commonConfig":"file://TV/peizhi.json","filter":"./sub/douban.json"}},
-{"key":"TgYunPan|本地","name":"🅿TgYunPan|本地(墙外)","type":3,"api":"csp_TgYunPanLocal","searchable":1,"filterable":0,"switchable":0,"ext":{"channelUsername":"hao115,guaguale115,dianyingshare,XiangxiuNB,yunpanpan,kuakeyun,zaihuayun,Quark_Movies,alyp_4K_Movies,vip115hot,yunpanshare,ucwangpan,Quark_Share_Channel,Aliyundrive_Share_Channel,shareAliyun,ikiviyyp,wanwansubchat,wangpanziyuan2021,alyp_1,quanziyuanshe","commonConfig":"file://TV/peizhi.json"}},
-{"key":"push_agent","name":"🍭推送","type":3,"api":"csp_Push","searchable":0,"quickSearch":0,"ext":{"commonConfig":"file://TV/peizhi.json"}},
+{"key":"网盘集合","name":"🅿网盘集合|4K","type":3,"api":"csp_网盘集合","searchable":1,"filterable":0,"switchable":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json","share":"./sub/网盘集合.json"}},
+{"key":"Youtube","name":"⚡Youtube(墙外)","type":3,"api":"csp_Youtube","searchable":1,"changeable":1,"style":{"type":"rect","ratio":1.433},"ext":{"json":"./sub/youtube.json","cookie":"http://127.0.0.1:9978/file/TVBox/youtubecookie.json"}},
+{"key":"Tg | 豆瓣","name":"🅿Tg|豆瓣(墙外)","type":3,"api":"csp_TgYunDouBanPan","searchable":1,"changeable":0,"ext":{"siteUrl":"http://127.0.0.1:9999","channelUsername":"hao115,guaguale115,longzbija,dianyingshare,XiangxiuNB,yunpanpan,kuakeyun,zaihuayun,Quark_Movies,alyp_4K_Movies,vip115hot,yunpanshare,ucwangpan,Quark_Share_Channel,Aliyundrive_Share_Channel,shareAliyun,ikiviyyp,wanwansubchat,wangpanziyuan2021,alyp_1,quanziyuanshe","commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json","filter":"./sub/douban.json"}},
+{"key":"TgYunPan|本地","name":"🅿TgYunPan|本地(墙外)","type":3,"api":"csp_TgYunPanLocal","searchable":1,"filterable":0,"switchable":0,"ext":{"channelUsername":"hao115,guaguale115,dianyingshare,XiangxiuNB,yunpanpan,kuakeyun,zaihuayun,Quark_Movies,alyp_4K_Movies,vip115hot,yunpanshare,ucwangpan,Quark_Share_Channel,Aliyundrive_Share_Channel,shareAliyun,ikiviyyp,wanwansubchat,wangpanziyuan2021,alyp_1,quanziyuanshe","commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json"}},
+{"key":"push_agent","name":"🍭推送","type":3,"api":"csp_Push","searchable":0,"quickSearch":0,"ext":{"commonConfig":"http://127.0.0.1:9978/file/TVBox/peizhi.json"}},
{"key":"虎牙直播","name":"🐯虎牙直播","type":3,"api":"./js/lib/drpy2.min.js","searchable":0,"quickSearch":0,"filterable":0,"ext":"./js/虎牙直播.js"},
{"key":"斗鱼直播","name":"🐟斗鱼直播","type":3,"api":"./js/lib/drpy2.min.js","searchable":0,"quickSearch":0,"filterable":0,"ext":"./js/斗鱼直播.js"},
diff --git a/天天开心/api.json b/天天开心/api.json
new file mode 100644
index 0000000..11e1248
--- /dev/null
+++ b/天天开心/api.json
@@ -0,0 +1,2494 @@
+{
+ "spider": "./spider.jar",
+ "wallpaper": "https://tuapi.eees.cc/api.php?category=fengjing&type=302",
+ "logo": "http://php.540734621.xyz/logo/logo.php",
+ "lives": [
+ {
+ "name": "①live(EXO)",
+ "type": 0,
+ "url": "./lives/①live(EXO).txt",
+ "epg": "http://diyp2.112114.xyz/?ch={name}&date={date}"
+ },
+ {
+ "name": "②Live(IJK)",
+ "type": 0,
+ "url": "./lives/②Live(IJK).txt",
+ "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+ },
+ {
+ "name": "③猫TV线路(EXO)",
+ "type": 0,
+ "url": "./lives/③猫TV线路(EXO).txt",
+ "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+ },
+ {
+ "name": "④猫TV线路(IJK)",
+ "type": 0,
+ "url": "./lives/④猫TV线路(IJK).txt",
+ "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+ },
+ {
+ "name": "新AKTV港台",
+ "type": 0,
+ "url": "./lives/新AKTV港台.txt",
+ "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+ },
+ {
+ "name": "catvod TV",
+ "type": 0,
+ "url": "./lives/catvod TV.txt",
+ "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+ },
+ {
+ "name": "IPTV研究所",
+ "type": 0,
+ "url": "./lives/IPTV研究所.txt",
+ "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+ },
+ {
+ "name": "iill",
+ "type": 0,
+ "url": "./lives/iill.txt",
+ "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+ },
+ {
+ "name": "4GTV(需要魔法)",
+ "type": 0,
+ "url": "./lives/4GTV(需要魔法).txt",
+ "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+ },
+ {
+ "name": "IPTV每天两更(Guovin)",
+ "type": 0,
+ "url": "./lives/IPTV每天两更(Guovin).txt",
+ "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+ },
+ {
+ "name": "抖音、斗鱼、B站、YY、Afreeca、Youtube",
+ "type": 0,
+ "url": "./lives/抖音、斗鱼、B站、YY、Afreeca、Youtube.txt",
+ "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+ },
+ {
+ "name": "广东银河频道",
+ "type": 0,
+ "url": "./lives/广东银河频道.txt",
+ "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+ },
+ {
+ "name": "②⑥范明线路",
+ "type": 0,
+ "url": "./lives/②⑥范明线路.txt",
+ "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+ },
+ {
+ "name": "③②备用虎牙",
+ "type": 0,
+ "url": "./lives/③②备用虎牙.txt",
+ "epg": ""
+ },
+ {
+ "name": "③③备用斗鱼",
+ "type": 0,
+ "url": "./lives/③③备用斗鱼.txt",
+ "epg": ""
+ },
+ {
+ "name": "③④16万MV",
+ "type": 0,
+ "url": "./lives/③④16万MV.txt",
+ "epg": "http://diyp2.112114.xyz/?ch={name}&date={date}"
+ }
+ ],
+ "sites": [
+ {
+ "key": "豆瓣",
+ "name": "豆瓣热播请关注公众号:“开心软件”不迷路",
+ "type": 3,
+ "api": "csp_Douban",
+ "searchable": 0,
+ "changeable": 1
+ },
+ {
+ "key": "csp_LocalFile",
+ "name": "💻本地磁盘",
+ "type": 3,
+ "api": "csp_LocalFile",
+ "searchable": 0,
+ "quickSearch": 0,
+ "filterable": 0,
+ "type_flag": 0
+ },
+ {
+ "key": "配置中心",
+ "name": "👨🍳配置┃中心",
+ "type": 3,
+ "api": "csp_Config",
+ "searchable": 0,
+ "changeable": 0,
+ "indexs": 0,
+ "style": {
+ "type": "rect",
+ "ratio": 1.43
+ }
+ },
+ {
+ "key": "lf_live10_min",
+ "name": "📺︎开心软件直播",
+ "type": 3,
+ "searchable": 0,
+ "quickSearch": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "api": "./api/lf_live10_min-output.js",
+ "ext": "./json/lf_live.json"
+ },
+ {
+ "key": "alllive",
+ "name": "📽️一直播┃LIVE",
+ "type": 3,
+ "api": "csp_Alllive",
+ "playerType": 2,
+ "searchable": 0,
+ "quickSearch": 0,
+ "changeable": 0,
+ "ext": {
+ "danmu": true
+ },
+ "timeout": 10
+ },
+ {
+ "key": "好趣网",
+ "name": "🎦好趣网",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 87,
+ "ext": "./js/好趣网.js"
+ },
+ {
+ "key": "荐片",
+ "name": "🎦荐片┃P2P",
+ "type": 3,
+ "searchable": 1,
+ "quickSearch": 1,
+ "changeable": 1,
+ "playerType": "1",
+ "api": "./api/drpy2.min.js",
+ "ext": "./js/jp.js"
+ },
+ {
+ "key": "农民影视",
+ "name": "🎦农民|影视",
+ "type": 3,
+ "api": "csp_Nmys",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "韩小圈",
+ "name": "🎦韩小|影视",
+ "type": 3,
+ "api": "csp_HanXiaoQuan",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "瓜子影视1",
+ "name": "🎦瓜子|影视",
+ "type": 3,
+ "api": "csp_Gz360",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "骚火影视1",
+ "name": "🎦骚火|影视",
+ "type": 3,
+ "api": "csp_SaoHuo",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "洽洽影视",
+ "name": "🎦洽洽|影视",
+ "type": 3,
+ "api": "csp_AppGZ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "金牌影视",
+ "name": "🎦金牌|影视",
+ "type": 3,
+ "api": "csp_WebJP",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "真心影视",
+ "name": "🎦真心|影视",
+ "type": 3,
+ "api": "csp_WebGZ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "1905",
+ "name": "🎦1905|影视",
+ "type": 3,
+ "api": "csp_Web1905",
+ "searchable": 1,
+ "quickSearch": 0,
+ "filterable": 0
+ },
+ {
+ "key": "全网影视",
+ "name": "🎦全网|影视",
+ "type": 3,
+ "api": "csp_Quanwk",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "https://www.91qkw.com"
+ },
+ {
+ "key": "素白白",
+ "name": "🎦白白|影视",
+ "type": 3,
+ "api": "csp_Subaibai",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "http://subaibai.com"
+ },
+ {
+ "key": "新视觉影视",
+ "name": "🎦视觉|影视",
+ "type": 3,
+ "api": "./api/sj.py",
+ "searchable": 1,
+ "changeable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "playerType": 2
+ },
+ {
+ "key": "忍者影视",
+ "name": "🎦忍者|影视",
+ "type": 3,
+ "api": "csp_AppRZ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "低端影视",
+ "name": "🎦低端|影视",
+ "type": 3,
+ "api": "csp_Ddys",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "机器人",
+ "name": "🎦机器|影视",
+ "type": 3,
+ "api": "csp_Ikanbot",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "西瓜视频",
+ "name": "🎦西瓜|影视",
+ "type": 3,
+ "api": "csp_AmuXiguaV2",
+ "searchable": 1,
+ "quickSearch": 0,
+ "filterable": 0,
+ "changeable": 0,
+ "style": {
+ "type": "rect",
+ "ratio": 1.597
+ }
+ },
+ {
+ "key": "快看影视",
+ "name": "🎦快看|影视",
+ "type": 3,
+ "api": "csp_Kuaikan",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "热播影视",
+ "name": "🎦热播|影视",
+ "type": 3,
+ "api": "csp_AppRB",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "天天",
+ "name": "🎦天天┃影视",
+ "type": 3,
+ "api": "csp_AppTT",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "饺子影视",
+ "name": "🎦饺子|影视",
+ "type": 3,
+ "api": "csp_Jiaozi",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "厂长资源",
+ "name": "🎦厂长|资源",
+ "type": 3,
+ "api": "csp_Czzy",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "看客影视",
+ "name": "🎦看客|影视",
+ "type": 3,
+ "api": "csp_Kanke",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "奇优影视",
+ "name": "🎦奇优|影视",
+ "type": 3,
+ "api": "csp_Qiyou",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "http://www.dyxz2.com/"
+ },
+ {
+ "key": "雨滴",
+ "name": "🎦雨滴|影视",
+ "type": 3,
+ "api": "csp_Xdai",
+ "playerType": 1,
+ "ext": "jaHR0cDovL2M4dzJvdjd1NXdnMnoxbzhwMjFjLmFsaXl1bmNzLmNsaWNrfGs5bzNwMmM4YjdtM3owbzh8azlvM3AyYzhiN20zejBvOHwxMDA="
+ },
+ {
+ "key": "现代",
+ "name": "🎦现代|影视",
+ "type": 3,
+ "api": "csp_Xdai",
+ "playerType": 1,
+ "ext": "caHR0cHM6Ly9hcHAuYnJvdm9kLmNvbXxzemRqd2RhcHB3Y25tZGhifHN6ZGp3ZGFwcHdjbm1kaGJ8MTE0"
+ },
+ {
+ "key": "优质",
+ "name": "🎦优质|影视",
+ "type": 3,
+ "api": "csp_Xdai",
+ "playerType": 1,
+ "ext": "jaHR0cHM6Ly9hcGlhcHBkeXl6dHZ5eWRzcXdkeS42OC5neTo1Njg5fGR5eXp0dmFwaWFwcHl5ZHN8ZHl5enR2YXBpYXBweXlkc3wxMDA="
+ },
+ {
+ "key": "蝴蝶",
+ "name": "🎦蝴蝶|影视",
+ "type": 3,
+ "api": "csp_Hudie",
+ "playerType": 2,
+ "ext": "eaHR0cHM6Ly9kLmRjbW92aWUudG9w"
+ },
+ {
+ "key": "闪雷影视",
+ "name": "🚀闪雷┃JS",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "ext": "./js/闪雷影视.js"
+ },
+ {
+ "key": "热播APP",
+ "name": "☀热播┃APP",
+ "type": 3,
+ "api": "csp_AppRB",
+ "playerType": 1,
+ "searchable": 1,
+ "quickSearch": 1,
+ "changeable": 1,
+ "ext": "http://v.rbotv.cn/"
+ },
+ {
+ "key": "天天弹幕",
+ "name": "💘天天|弹幕",
+ "type": 3,
+ "api": "csp_TianTian",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "danmu": true,
+ "site": "aHR0cDovL29wLnlzZHFqcy5jbg=="
+ }
+ },
+ {
+ "key": "厂长弹幕",
+ "name": "💘厂长|弹幕",
+ "type": 3,
+ "api": "csp_Czzy",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "danmu": true
+ }
+ },
+ {
+ "key": "热播弹幕",
+ "name": "💘热播|弹幕",
+ "type": 3,
+ "api": "csp_TianTian",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "danmu": true,
+ "site": "aHR0cDovL3YucmJvdHYuY24="
+ }
+ },
+ {
+ "key": "浪酷弹幕",
+ "name": "💘浪酷|弹幕",
+ "type": 3,
+ "api": "csp_TianTian",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "danmu": true,
+ "site": "aHR0cDovL3YubGt1eXMuY24="
+ }
+ },
+ {
+ "key": "糯米弹幕",
+ "name": "💘糯米|弹幕",
+ "type": 3,
+ "api": "csp_Nmys",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "danmu": true
+ }
+ },
+ {
+ "key": "文才弹幕",
+ "name": "💘文才┃弹幕",
+ "type": 3,
+ "api": "csp_Jpys",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "danmu": true
+ }
+ },
+ {
+ "key": "三六零弹幕",
+ "name": "💘三六┃弹幕",
+ "type": 3,
+ "api": "csp_Sp360",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "ext": {
+ "danmu": true
+ }
+ },
+ {
+ "key": "机器人弹幕",
+ "name": "💘机器|弹幕",
+ "type": 3,
+ "api": "csp_Ikanbot",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "danmu": true
+ }
+ },
+ {
+ "key": "荐片弹幕",
+ "name": "💘荐片┃弹幕",
+ "type": 3,
+ "api": "csp_Jianpian",
+ "playerType": 1,
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "danmu": true
+ }
+ },
+ {
+ "key": "小苹果弹幕版",
+ "name": "🍎苹果┃弹幕",
+ "type": 3,
+ "api": "csp_Xpg",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "danmu": true
+ },
+ "timeout": 10
+ },
+ {
+ "key": "哔嘀弹幕",
+ "name": "💘哔嘀|弹幕",
+ "type": 3,
+ "api": "csp_Bdys",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "site": "https://www.xlys01.com",
+ "danmu": true
+ }
+ },
+ {
+ "key": "哔哩弹幕",
+ "name": "🅱哔哩|弹幕",
+ "type": 3,
+ "api": "csp_Bilimd",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt"
+ },
+ "timeout": 10
+ },
+ {
+ "key": "追剧APP",
+ "name": "🚀追剧┃APP",
+ "type": 3,
+ "api": "csp_AppZJ",
+ "playerType": 1,
+ "searchable": 1,
+ "quickSearch": 1,
+ "changeable": 1,
+ "ext": "http://z.kzjtv.com/"
+ },
+ {
+ "key": "木耳",
+ "name": "🪴木耳┃秒播",
+ "type": 1,
+ "api": "https://json02.heimuer.xyz/api.php/provide/vod",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "timeout": 20,
+ "categories": [
+ "剧情片",
+ "动作片",
+ "冒险片",
+ "喜剧片",
+ "奇幻片",
+ "恐怖片",
+ "悬疑片",
+ "惊悚片",
+ "灾难片",
+ "爱情片",
+ "犯罪片",
+ "科幻片",
+ "歌舞片",
+ "战争片",
+ "经典片",
+ "动画电影",
+ "网络电影",
+ "其他片",
+ "国产剧",
+ "港剧",
+ "韩剧",
+ "日剧",
+ "泰剧",
+ "台剧",
+ "欧美剧",
+ "新马剧",
+ "其他剧",
+ "国产综艺",
+ "港台综艺",
+ "韩国综艺",
+ "日本综艺",
+ "欧美综艺",
+ "新马泰综艺",
+ "其他综艺",
+ "古装短剧",
+ "虐恋短剧",
+ "逆袭短剧",
+ "神豪短剧",
+ "重生短剧",
+ "复仇短剧",
+ "穿越短剧",
+ "甜宠短剧",
+ "强者短剧",
+ "欧美动漫",
+ "日本动漫",
+ "韩国动漫",
+ "国产动漫",
+ "港台动漫"
+ ],
+ "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"
+ }
+ },
+ {
+ "key": "立播弹幕版",
+ "name": "🐰立播┃弹幕",
+ "type": 3,
+ "api": "csp_Libvio",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
+ "site": "https://libvio.link",
+ "danmu": true
+ },
+ "timeout": 25
+ },
+ {
+ "key": "hipy_js_采集之王",
+ "name": "🎦采集之王[合]",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 0,
+ "ext": "./js/采集之王[合].js?type=url¶ms=./json/采集静态.json$1"
+ },
+ {
+ "key": "无忧短剧",
+ "name": "🌈无忧┃短剧",
+ "type": 3,
+ "api": "csp_Duanj",
+ "searchable": 1,
+ "changeable": 0,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "timeout": 10
+ },
+ {
+ "key": "csp_XYQHiker_爱你短剧",
+ "name": "🎦爱你短剧",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/爱你短剧.json"
+ },
+ {
+ "key": "csp_XYQHiker_河马短剧",
+ "name": "🎦河马短剧",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/河马短剧.json"
+ },
+ {
+ "key": "csp_XYQHiker_短剧屋",
+ "name": "🎦短剧屋",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/短剧屋.json"
+ },
+ {
+ "key": "js_星芽短剧",
+ "name": "🎦星芽短剧",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./js/星芽短剧.js"
+ },
+ {
+ "key": "js_蓝莓短剧",
+ "name": "🎦蓝莓短剧",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./js/蓝莓短剧.js"
+ },
+ {
+ "key": "你好帅",
+ "name": "🎦好帅┃短剧",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "ext": {
+ "分类url": "https://nhsyy.com/vodshwo/{cateId}--{by}------{catePg}---.html",
+ "分类": "穿越$fenle#战神$fenlei2#重生$fenlei3#爱情$fenlei4#萌娃$guda#神医$shenyi#古代$gudai#言情$yanqing#玄幻$xuanhuan",
+ "播放数组": "
"
+ }
+ },
+ {
+ "key": "嫖嫖嫖",
+ "name": "🧿嫖嫖┃影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "ext": {
+ "主页url": "https://www.gs4x7nq4.com/",
+ "播放请求头": "User-Agent$Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/128.0.0.0Safari/537.36",
+ "简介": "特别提醒您⚠️请勿相信影片中的广告,以免上当受骗❗️+&&
",
+ "嗅探词": ".mp4#.m3u8#.flv#.m3u8?#.mp4?",
+ "影片类型": "tags\">&&director\">",
+ "影片状态": "bottom\">&&",
+ "二次截取": "videoList\":\\[&&\\]",
+ "数组": "{&&}[不包含:伦理剧]",
+ "图片": "https+://ywxohs.com+obs.gduamoe.com&&\",",
+ "标题": "vodName\":\"&&\"",
+ "副标题": "vodRemarks\":\"&&\"",
+ "链接": "https://www.gs4x7nq4.com/detail/+vodId\":&&,",
+ "导演": "导演:&&主演",
+ "主演": "主演:&&别名",
+ "线路标题": "xxx",
+ "播放数组": "listitem\">&&info\">",
+ "播放列表": "",
+ "倒序": "否",
+ "搜索url": "https://www.gs4x7nq4.com/vod/search/{wd}",
+ "搜索副标题": "class=\"boottom\"*&&
",
+ "简介": "特别提醒您⚠️请勿相信影片中的广告,以免上当受骗❗+剧情介绍:&&"
+ }
+ },
+ {
+ "key": "656",
+ "name": "🧿梦想┃影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "主页url": "https://www.kkys02.com/",
+ "分类url": "https://www.kkys02.com/{cateId}-{catePg}.html[https://www.kkys02.com/{cateId}-.html];;ak",
+ "分类": "豆瓣TOP250&2023最佳影片&毒舌电影&热映电影&热播剧集&热门综艺&Netflix电影&Netflix剧集&经典美剧&海外短画&爱情治愈&漫威宇宙&星爷系列&迪士尼&国产剧&台湾剧&韩国剧&欧美剧&香港剧&泰国剧&日本剧&动作片&喜剧片&科幻片&恐怖片&爱情片&剧情片&战争片&传记片&动画片&国产动漫&日本动漫&韩国动漫&欧美动漫&大陆综艺&香港综艺&台湾综艺&日本综艺&韩国综艺&欧美综艺&短剧",
+ "分类值": "topic/detail/1&topic/detail/460&topic/detail/3&topic/detail/12&topic/detail/15&topic/detail/456&show/1-NETFLIX----3&show/2-NETFLIX----3&topic/detail/399&topic/detail/384&topic/detail/383&topic/detail/33&topic/detail/26&topic/detail/34&show/2--%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86---3&show/2--%E4%B8%AD%E5%9B%BD%E5%8F%B0%E6%B9%BE---3&show/2--%E9%9F%A9%E5%9B%BD---3&show/2--%E7%BE%8E%E5%9B%BD---3&show/2--%E4%B8%AD%E5%9B%BD%E9%A6%99%E6%B8%AF---3&show/2--%E6%B3%B0%E5%9B%BD---3&show/2--%E6%97%A5%E6%9C%AC---3&show/1-%E5%8A%A8%E4%BD%9C----3&show/1-%E5%96%9C%E5%89%A7----3&show/1-%E7%A7%91%E5%B9%BB----3&show/1-%E6%81%90%E6%80%96----3&show/1-%E7%88%B1%E6%83%85----3&show/1-%E5%89%A7%E6%83%85----3&show/1-%E6%88%98%E4%BA%89----3&show/1-%E4%BC%A0%E8%AE%B0----3&show/1-%E5%8A%A8%E7%94%BB----3&show/3--%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86---1&show/3--%E6%97%A5%E6%9C%AC---1&show/3--%E9%9F%A9%E5%9B%BD---1&show/3--%E7%BE%8E%E5%9B%BD---1&show/4--%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86---3&show/4--%E4%B8%AD%E5%9B%BD%E9%A6%99%E6%B8%AF---3&show/4--%E4%B8%AD%E5%9B%BD%E5%8F%B0%E6%B9%BE---3&show/4--%E6%97%A5%E6%9C%AC---3&show/4--%E9%9F%A9%E5%9B%BD---3&show/4--%E7%BE%8E%E5%9B%BD---3&show/6-----1",
+ "数组": "module-item\">&&\"v-item-footer\">",
+ "图片": "https://61.147.93.252:15002+data-original=\"&&\"",
+ "标题": "title=\"&&\"",
+ "副标题": "影视",
+ "链接": "href=\"&&\"",
+ "搜索二次截取": "id=\"units_top\"&&id=\"units_footer\"",
+ "搜索url": "https://www.kkys02.com/search?os=pc&k={wd}",
+ "搜索数组": ">https://61.147.93.252:15002/vod1/][不包含:https://61.147.93.155:15001/vod_pc_static_kkdy/images/p/logo_placeholder_vertical.png?ver=240905]",
+ "搜索标题": "title=\"&&\"",
+ "搜索副标题": "v-item-bottom\">&&",
+ "搜索链接": "href=\"&&\"",
+ "线路数组": "可可影视提供&&&&&&<",
+ "播放链接": "href=\"&&\"",
+ "嗅探词": ".m3u8#video_mp4#tos-#.mp4#cdn.123pan.cn#huoshanvod.com",
+ "影片年代": "class=\"detail-tags-item\">&&",
+ "影片类型": "&&立即播放",
+ "影片状态": "备注:&&",
+ "导演": "导演:&&",
+ "主演": "演员:&&",
+ "简介": "detail-desc\">&&"
+ }
+ },
+ {
+ "key": "8号影院",
+ "name": "🧿8号┃影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": {
+ "搜索url": "http://www.soutiyi.com/search.php?searchword={wd}",
+ "搜索链接": "href=\"&&\"",
+ "简介": "请勿相信影片中的广告,以免上当受骗。+",
+ "线路数组": "",
+ "线路标题": "蓝光专线",
+ "分类url": "http://www.soutiyi.com/frim/{cateId}-{catePg}.html",
+ "分类": "动作片$5#爱情片$6#科幻片$7#恐怖片$8#喜剧片$10#剧情片$12#国产剧$13#港台剧$14#欧美剧$15#日韩剧$16#综艺$3#动漫$4"
+ }
+ },
+ {
+ "key": "csp_红狐狸影视",
+ "name": "🧿狐狸┃影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "ext": {
+ "分类url": "https://honghuli.com/leibiao/{cateId}-{area}-------{catePg}---{year}.html",
+ "分类": "电影$1#电视剧$2#综艺$3#动漫$4"
+ }
+ },
+ {
+ "key": "大师兄",
+ "name": "🧿大师┃影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "ext": {
+ "分类url": "https://www.dsxysproo.com/dqvodshow/{cateId}-{area}--{class}-----{catePg}---{year}.html",
+ "分类": "电视剧$2#电影$1#动漫$4#综艺$3"
+ }
+ },
+ {
+ "key": "疯狗",
+ "name": "🧿疯狗┃影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "ext": {
+ "线路数组": "page-header\">&&",
+ "播放数组": "list-unstyledrowtext-centerff-playurl-lineff-playurl\"&&",
+ "分类url": "https://m.fenggoudy3.com/list-select-id-{cateId}-type-{class}-area-{area}-year-{year}-star--state--order-addtime-p-{catePg}.html;;d0",
+ "分类": "电视剧$2#电影$1#动漫$3#综艺$4"
+ }
+ },
+ {
+ "key": "csp_XYQHiker_七新影视",
+ "name": "🎦七新影视",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/七新影视.json"
+ },
+ {
+ "key": "csp_XYQHiker_可可影视",
+ "name": "🎦可可影视",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/可可影视.json"
+ },
+ {
+ "key": "hipy_js_黑木耳资源[资]",
+ "name": "🎦木耳资源",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 0,
+ "ext": "./js/黑木耳资源[资].js"
+ },
+ {
+ "key": "瓜子",
+ "name": "🎦瓜子",
+ "type": 3,
+ "searchable": 1,
+ "quickSearch": 1,
+ "changeable": 1,
+ "playerType": "1",
+ "api": "./api/drpy2.min.js",
+ "ext": "./js/瓜子.js"
+ },
+ {
+ "key": "360zy",
+ "name": "🎦360采集",
+ "type": 1,
+ "api": "https://360zy.com/api.php/provide/vod?",
+ "searchable": 1,
+ "changeable": 1,
+ "categories": [
+ "动作片",
+ "喜剧片",
+ "爱情片",
+ "科幻片",
+ "恐怖片",
+ "剧情片",
+ "战争片",
+ "古装片",
+ "悬疑片",
+ "犯罪片",
+ "灾难片",
+ "国产剧",
+ "香港剧",
+ "韩国剧",
+ "欧美剧",
+ "台湾剧",
+ "日本剧",
+ "海外剧",
+ "泰国剧",
+ "大陆综艺",
+ "港台综艺",
+ "日韩综艺",
+ "欧美综艺",
+ "国产动漫",
+ "欧美动漫",
+ "日韩动漫",
+ "现代都市",
+ "脑洞悬疑",
+ "年代穿越",
+ "古装仙侠",
+ "女频恋爱",
+ "成长逆袭",
+ "反转爽剧"
+ ]
+ },
+ {
+ "key": "hipy_js_哔哩影视[官]",
+ "name": "🎦哔哩影视[官](drpy_t3)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 73,
+ "ext": "./js/哔哩影视[官].js"
+ },
+ {
+ "key": "hipy_js_4k剧院",
+ "name": "🎦4k剧院(drpy_t3)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 6,
+ "ext": "./js/4k剧院.js"
+ },
+ {
+ "key": "茶狐杯",
+ "name": "🎦茶狐杯",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/茶狐杯.json"
+ },
+ {
+ "key": "奈飞影视",
+ "name": "🎦鸭奈飞",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/ynfys.json"
+ },
+ {
+ "key": "宝片视频_js",
+ "name": "👨🍳宝片视频(drpy_t3)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 0,
+ "ext": "./js/宝片视频.js"
+ },
+ {
+ "key": "csp_星辰",
+ "name": "🎦星辰",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/xcys.json"
+ },
+ {
+ "key": "三米ys",
+ "name": "🎦三米影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "ext": {
+ "分类url": "http://www.9-here.com/index.php/s/S-id-{cateId}-{catePg}/area/{area}/by/{by}/class/{class}/lang/{lang}/year/{year}.html[http://www.9-here.com/index.php/t/S-{cateId}-{catePg}.html]",
+ "分类": "电影$movie#连续剧$drama#动漫$comic#综艺$tvshow"
+ }
+ },
+ {
+ "key": "美柏",
+ "name": "🎦美柏",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/美柏.json"
+ },
+ {
+ "key": "大师兄",
+ "name": "🎦大师兄影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "ext": {
+ "简介": "特别提醒您⚠️请勿相信影片中的广告,以免上当受骗❗️+剧情介绍:&&",
+ "分类url": "https://www.dsxysproo.com/dqvodshow/{cateId}-{area}--{class}-----{catePg}---{year}.html",
+ "分类": "电视剧$2#电影$1#动漫$4#综艺$3"
+ }
+ },
+ {
+ "key": "白嫖者",
+ "name": "🎦白嫖者联盟",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "ext": {
+ "分类url": "https://www.qyzf88.com/qyvodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html",
+ "分类": "电影$1#电视剧$2#动漫$4#综艺$3",
+ "副标题": "class=\"pic-text text-right\"&&",
+ "简介": "特别提醒您⚠️请勿相信影片中的广告,以免上当受骗❗️+剧情介绍:&&"
+ }
+ },
+ {
+ "key": "凯奇追剧",
+ "name": "🎦凯奇┃追剧",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "ext": {
+ "简介": "+hl-content-text\">&&",
+ "分类url": "https://www.kqyy.tv/vodshow/area/{area}/class/{class}/id/{cateId}/page/{catePg}/year/{year}.html",
+ "分类": "电影$dianying#连续剧$lianxuju#动漫$dongman#综艺$zongyi#短剧$duanshipin"
+ }
+ },
+ {
+ "key": "csp_红狐狸影视",
+ "name": "🎦红狐狸影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "ext": {
+ "分类url": "https://honghuli.com/leibiao/{cateId}-{area}-------{catePg}---{year}.html",
+ "分类": "电影$1#电视剧$2#综艺$3#动漫$4"
+ }
+ },
+ {
+ "key": "热播之家",
+ "name": "🎦热播之家",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/rebozj.json"
+ },
+ {
+ "key": "hipy_js_TVB云播",
+ "name": "🎦TVB云播(drpy_t3)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 0,
+ "ext": "./js/TVB云播.js"
+ },
+ {
+ "key": "csp_XYQBiu_骚火VIP",
+ "name": "🎦骚火",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/shyyVIP.json"
+ },
+ {
+ "key": "csp_vs",
+ "name": "🎦VS",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/vsys.json"
+ },
+ {
+ "key": "4K影视",
+ "name": "🎦4K影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/4K影视.json"
+ },
+ {
+ "key": "csp_xBPQ_奇优",
+ "name": "🎦奇优",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/qiyou.json"
+ },
+ {
+ "key": "子子影视",
+ "name": "🎦子子影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/子子.json"
+ },
+ {
+ "key": "圣城影视",
+ "name": "🎦圣城",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/sc1080.json"
+ },
+ {
+ "key": "米爱影视",
+ "name": "🎦米爱",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/miaiys.json"
+ },
+ {
+ "key": "HDmoli",
+ "name": "🎦魔力高清",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/HDmoli.json"
+ },
+ {
+ "key": "高清在线",
+ "name": "🎦高清在线",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "ext": {
+ "简介": "剧情介绍: +stui-pannel_bd\">&&",
+ "线路数组": "stui-pannel__head bottom-line active clearfix\">&&",
+ "分类url": "https://www.gxfiber.com/vodshow/{cateId}-{area}--{class}-----{catePg}---{year}.html",
+ "分类": "短剧$duanju#电视剧$dsj#电影$dy#动漫$dm#综艺$zy"
+ }
+ },
+ {
+ "key": "lzi",
+ "name": "🎦量子资源",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/liangzi.json"
+ },
+ {
+ "key": "csp_xBPQ睛天影视",
+ "name": "🎦睛天影视",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/睛天影视.json"
+ },
+ {
+ "key": "非凡资源",
+ "name": "🎦非凡资源",
+ "type": 3,
+ "api": "csp_XBPQ",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/ffzy.json"
+ },
+ {
+ "key": "果果4K解析_js",
+ "name": "🌞果果4K(解析)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 0,
+ "ext": "./js/果果4K.js"
+ },
+ {
+ "key": "🌞腾腾4K解析_js",
+ "name": "🌞腾腾4K(解析)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 0,
+ "ext": "./js/腾腾4K.js"
+ },
+ {
+ "key": "爱奇异",
+ "name": "🎦爱奇艺(官)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "ext": "./js/爱奇艺.js"
+ },
+ {
+ "key": "优酷",
+ "name": "🎦优酷(官)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "ext": "./js/优酷.js"
+ },
+ {
+ "key": "腾讯",
+ "name": "🎦腾讯VIP(官)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "ext": "./js/腾讯VIP.js"
+ },
+ {
+ "key": "芒果",
+ "name": "🎦芒果(官)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "ext": "./js/芒果.js"
+ },
+ {
+ "key": "搜狗",
+ "name": "🎦搜狗(官)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "ext": "./js/搜狗.js"
+ },
+ {
+ "key": "木偶网盘",
+ "name": "📀木偶┃网盘",
+ "type": 3,
+ "api": "csp_Wobg",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
+ "site": "http://www.mogg.top/",
+ "danmu": true
+ },
+ "timeout": 25
+ },
+ {
+ "key": "玩偶哥哥",
+ "name": "📀玩偶┃网盘",
+ "type": 3,
+ "api": "csp_Wogg",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
+ "wogg": true,
+ "danmu": true
+ },
+ "timeout": 30
+ },
+ {
+ "key": "至臻网盘",
+ "name": "📀至臻┃网盘",
+ "type": 3,
+ "api": "csp_Wobg",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
+ "site": "https://mihdr.top",
+ "danmu": true
+ },
+ "timeout": 25
+ },
+ {
+ "key": "奥秘网盘",
+ "name": "📀奥秘┃网盘",
+ "type": 3,
+ "api": "csp_Wobg",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
+ "site": "https://vip.omii.top/",
+ "danmu": true
+ },
+ "timeout": 25
+ },
+ {
+ "key": "欧歌网盘",
+ "name": "📀欧歌┃网盘",
+ "type": 3,
+ "api": "csp_Wobg",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
+ "site": "https://woog.nxog.top/",
+ "danmu": true
+ },
+ "timeout": 25
+ },
+ {
+ "key": "蜡笔网盘",
+ "name": "📀蜡笔┃网盘",
+ "type": 3,
+ "api": "csp_Wobg",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
+ "site": "http://labipan.com/",
+ "danmu": true
+ },
+ "timeout": 25
+ },
+ {
+ "key": "土豆网盘",
+ "name": "📀土豆┃网盘",
+ "type": 3,
+ "api": "csp_Wobg",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
+ "site": "https://yunpan.yunpay.cc/",
+ "danmu": true
+ },
+ "timeout": 25
+ },
+ {
+ "key": "云星网盘",
+ "name": "📀云星┃网盘",
+ "type": 3,
+ "api": "csp_Wobg",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 1,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
+ "site": "https://4k.4u4.cn/",
+ "danmu": true
+ },
+ "timeout": 25
+ },
+ {
+ "key": "csp_Mp4Mov",
+ "name": "🧲Mp4电影",
+ "type": 3,
+ "api": "csp_Mp4Mov",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "csp_New6v",
+ "name": "🧲新6V",
+ "type": 3,
+ "api": "csp_New6v",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "https://www.xb6v.com"
+ },
+ {
+ "key": "csp_SeedHub",
+ "name": "🧲SeedHub",
+ "type": 3,
+ "api": "csp_SeedHub",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "csp_KubaCL",
+ "name": "🧲酷吧电影",
+ "type": 3,
+ "api": "csp_KubaCL",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "csp_MeijuMi",
+ "name": "🧲美剧迷",
+ "type": 3,
+ "api": "csp_MeijuMi",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "csp_Xunlei8",
+ "name": "🧲迅雷吧",
+ "type": 3,
+ "api": "csp_Xunlei8",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1
+ },
+ {
+ "key": "csp_AliShare",
+ "name": "🦋AList",
+ "type": 3,
+ "api": "csp_AliShare",
+ "searchable": 1,
+ "changeable": 0,
+ "filterable": 0,
+ "indexs": 0,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "share": "http://127.0.0.1:9978/file/TVBox/阿里集合.json"
+ },
+ "style": {
+ "type": "list"
+ },
+ "timeout": 30
+ },
+ {
+ "key": "纸条",
+ "name": "🗞纸条┃搜索",
+ "type": 3,
+ "api": "csp_XiaoZhiTiao",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 0,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "danmu": true
+ },
+ "timeout": 15
+ },
+ {
+ "key": "盘Se",
+ "name": "🙀盘Se┃搜索",
+ "type": 3,
+ "api": "csp_PanSearch",
+ "searchable": 1,
+ "filterable": 0,
+ "changeable": 0,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "danmu": true
+ },
+ "timeout": 15
+ },
+ {
+ "key": "易搜",
+ "name": "😹易搜┃搜索",
+ "type": 3,
+ "api": "csp_YiSo",
+ "searchable": 1,
+ "filterable": 0,
+ "changeable": 0,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "danmu": true
+ },
+ "timeout": 15
+ },
+ {
+ "key": "csp_QuPanSou",
+ "name": "🤓趣盘搜┃搜索",
+ "type": 3,
+ "api": "csp_QuPanSou",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 0,
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "danmu": true
+ },
+ "timeout": 15
+ },
+ {
+ "key": "csp_Qkpanso",
+ "name": "🐚夸克盘搜┃搜索",
+ "type": 3,
+ "api": "csp_Qkpanso",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 0,
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "danmu": true
+ },
+ "timeout": 15
+ },
+ {
+ "key": "米搜",
+ "name": "🌖米搜┃搜索",
+ "type": 3,
+ "api": "csp_Qkpanso",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 0,
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "danmu": true,
+ "site": "https://www.misou.fun"
+ },
+ "timeout": 15
+ },
+ {
+ "key": "夸搜",
+ "name": "🚢夸搜┃搜索",
+ "type": 3,
+ "api": "csp_Qkso",
+ "searchable": 1,
+ "filterable": 1,
+ "changeable": 0,
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "danmu": true
+ },
+ "timeout": 15
+ },
+ {
+ "key": "云盘4K",
+ "name": "🤖云盘4K┃搜索",
+ "type": 3,
+ "api": "csp_Yunpan4k",
+ "searchable": 1,
+ "filterable": 0,
+ "changeable": 0,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "danmu": true
+ },
+ "timeout": 15
+ },
+ {
+ "key": "影搜",
+ "name": "🌸影搜┃搜索",
+ "type": 3,
+ "api": "csp_Yingso",
+ "searchable": 1,
+ "filterable": 0,
+ "changeable": 0,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "danmu": true
+ },
+ "timeout": 15
+ },
+ {
+ "key": "push_agent",
+ "name": "🛴手机┃推送",
+ "type": 3,
+ "api": "csp_Push",
+ "searchable": 0,
+ "filterable": 0,
+ "changeable": 0,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt",
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
+ "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
+ "danmu": true
+ },
+ "timeout": 5
+ },
+ {
+ "key": "我的阿里",
+ "name": "🐱我的┃阿里",
+ "type": 3,
+ "api": "csp_MyAli",
+ "searchable": 0,
+ "quickSearch": 0,
+ "filterable": 0,
+ "indexs": 0,
+ "ext": {
+ "token": "http://127.0.0.1:9978/file/TVBox/token.txt"
+ },
+ "style": {
+ "type": "list"
+ },
+ "timeout": 30
+ },
+ {
+ "key": "我的夸克",
+ "name": "🗽我的┃夸克",
+ "type": 3,
+ "api": "csp_MyQuark",
+ "searchable": 0,
+ "quickSearch": 0,
+ "filterable": 0,
+ "indexs": 0,
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt"
+ },
+ "style": {
+ "type": "list"
+ },
+ "timeout": 30
+ },
+ {
+ "key": "我的UC",
+ "name": "😼我的┃UC",
+ "type": 3,
+ "api": "csp_MyUc",
+ "searchable": 0,
+ "quickSearch": 0,
+ "filterable": 0,
+ "indexs": 0,
+ "ext": {
+ "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt"
+ },
+ "style": {
+ "type": "list"
+ },
+ "timeout": 30
+ },
+ {
+ "key": "央视大全",
+ "name": "🌔央视大全",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 0,
+ "ext": "./js/央视大全.js"
+ },
+ {
+ "key": "bili_戏曲",
+ "name": "🅱️哔哩┃戏曲",
+ "type": 3,
+ "api": "csp_Bili",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt",
+ "json": "./json/哔哩戏曲.json"
+ },
+ "timeout": 20
+ },
+ {
+ "key": "bili_相声",
+ "name": "🅱️哔哩┃相声",
+ "type": 3,
+ "api": "csp_Bili",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt",
+ "json": "./json/哔哩相声.json"
+ },
+ "timeout": 20
+ },
+ {
+ "key": "bili_综合",
+ "name": "🅱️哔哩┃综合",
+ "type": 3,
+ "api": "csp_Bili",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt",
+ "json": "./json/哔哩综合.json"
+ },
+ "timeout": 20
+ },
+ {
+ "key": "bili_演唱会",
+ "name": "🅱️哔哩┃演唱会",
+ "type": 3,
+ "api": "csp_Bili",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt",
+ "json": "./json/演唱会.json"
+ },
+ "timeout": 20
+ },
+ {
+ "key": "bili_女团热舞",
+ "name": "🅱️哔哩┃女团热舞",
+ "type": 3,
+ "api": "csp_Bili",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt",
+ "json": "./json/女团热舞.json"
+ },
+ "timeout": 20
+ },
+ {
+ "key": "bilimd",
+ "name": "🅱️哔哩┃影视",
+ "type": 3,
+ "api": "csp_Bilimd",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt"
+ },
+ "timeout": 10
+ },
+ {
+ "key": "bili",
+ "name": "🅱️哔哩┃合集",
+ "type": 3,
+ "api": "csp_Bili",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt",
+ "json": "./txt/哔哩合集.txt"
+ },
+ "timeout": 20
+ },
+ {
+ "key": "bili_学习园地",
+ "name": "🅱️哔哩┃学习园地",
+ "type": 3,
+ "api": "csp_Bili",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt",
+ "json": "./json/学习园地.json"
+ },
+ "timeout": 20
+ },
+ {
+ "key": "bili_学外语",
+ "name": "🅱️哔哩┃学外语",
+ "type": 3,
+ "api": "csp_Bili",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "ext": {
+ "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt",
+ "json": "./json/学外语.json"
+ },
+ "timeout": 20
+ },
+ {
+ "key": "哔哩直播",
+ "name": "🅱️哔哩┃直播",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 0,
+ "quickSearch": 0,
+ "filterable": 1,
+ "ext": "./js/blzb.js"
+ },
+ {
+ "key": "88看球",
+ "name": "⚽88┃看球",
+ "type": 3,
+ "api": "csp_Kanqiu",
+ "searchable": 1,
+ "changeable": 0,
+ "style": {
+ "type": "list"
+ },
+ "timeout": 10
+ },
+ {
+ "key": "jrsjs",
+ "name": "⚽Jrs┃球迷",
+ "type": 3,
+ "api": "./api/drpy2.min.txt",
+ "ext": "./txt/jrs.txt",
+ "style": {
+ "type": "list"
+ },
+ "searchable": 0,
+ "quickSearch": 0,
+ "changeable": 0,
+ "timeout": 10,
+ "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"
+ }
+ },
+ {
+ "key": "hipy_js_360吧[球]",
+ "name": "⚽360吧[球]",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "playerType": "1",
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 0,
+ "ext": "./js/360吧[球].js"
+ },
+ {
+ "key": "926tv[球]_js",
+ "name": "⚽926tv[球](drpy_t3)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 0,
+ "ext": "./js/926tv[球].js"
+ },
+ {
+ "key": "310js",
+ "name": "⚽310┃看球",
+ "type": 3,
+ "api": "./api/drpy2.min.txt",
+ "ext": "./txt/310.txt",
+ "style": {
+ "type": "list"
+ },
+ "searchable": 0,
+ "quickSearch": 0,
+ "changeable": 0,
+ "timeout": 10
+ },
+ {
+ "key": "快手直播",
+ "name": "😎快手┃直播",
+ "type": 3,
+ "api": "csp_KsLive",
+ "searchable": 0,
+ "quickSearch": 0,
+ "filterable": 1,
+ "style": {
+ "type": "rect",
+ "ratio": 1.433
+ },
+ "timeout": 10
+ },
+ {
+ "key": "虎牙直播",
+ "name": "🐯虎牙直播",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 0,
+ "quickSearch": 0,
+ "filterable": 1,
+ "ext": "./js/huyazhibo.js"
+ },
+ {
+ "key": "斗鱼js",
+ "name": "🐟斗鱼┃直播",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "ext": "./js/斗鱼直播.js",
+ "style": {
+ "type": "rect",
+ "ratio": 1.755
+ },
+ "playerType": "2",
+ "searchable": 0,
+ "quickSearch": 0,
+ "changeable": 0
+ },
+ {
+ "key": "Dm84",
+ "name": "🚌巴士┃动漫",
+ "type": 3,
+ "api": "csp_Dm84",
+ "searchable": 1,
+ "quickSearch": 1,
+ "changeable": 1
+ },
+ {
+ "key": "爱动漫_js",
+ "name": "💝爱┃动漫",
+ "type": 3,
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "api": "./api/drpy2.min.js",
+ "ext": "./js/爱动漫.js",
+ "timeout": 15
+ },
+ {
+ "key": "hipy_js_贝乐虎[儿]",
+ "name": "🐯贝乐虎[儿](drpy_t3)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 0,
+ "ext": "./js/贝乐虎[儿].js"
+ },
+ {
+ "key": "csp_XYQHiker_兔小贝",
+ "name": "🐰兔小贝",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/兔小贝.json"
+ },
+ {
+ "key": "csp_XYQHiker_兔小贝2",
+ "name": "🐰兔小贝2",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 0,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/兔小贝2.json"
+ },
+ {
+ "key": "csp_XYQHiker_播视童趣",
+ "name": "🦋播视童趣",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 0,
+ "quickSearch": 0,
+ "filterable": 1,
+ "ext": "./json/播视童趣.json"
+ },
+ {
+ "key": "博看听书",
+ "name": "📚️听书┃博看",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "changeable": 0,
+ "style": {
+ "type": "rect",
+ "ratio": 1
+ },
+ "ext": "./js/博看听书.js"
+ },
+ {
+ "key": "六月听书",
+ "name": "📚️听书┃六月",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "changeable": 0,
+ "style": {
+ "type": "rect",
+ "ratio": 1
+ },
+ "ext": "./js/六月听书.js"
+ },
+ {
+ "key": "csp_Kugou",
+ "name": "🐶┃酷狗",
+ "type": 3,
+ "api": "csp_Kugou",
+ "searchable": 1,
+ "changeable": 0
+ },
+ {
+ "key": "hipy_js_KTV歌厅[听]",
+ "name": "🎤KTV歌厅(drpy_t3)",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "order_num": 0,
+ "ext": "./js/KTV歌厅[听].js"
+ },
+ {
+ "key": "DJ呦呦音乐网",
+ "name": "🎧DJ呦呦音乐",
+ "type": 3,
+ "api": "csp_XYQHiker",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./json/DJyyyyw.json"
+ },
+ {
+ "key": "酷奇",
+ "name": "🎤酷奇┃MV",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "ext": "./js/酷奇MV.js",
+ "style": {
+ "type": "rect",
+ "ratio": 1.597
+ },
+ "searchable": 0,
+ "quickSearch": 0,
+ "changeable": 0
+ },
+ {
+ "key": "js_a8音乐",
+ "name": "🎸A8音乐",
+ "type": 3,
+ "api": "./api/drpy2.min.js",
+ "searchable": 1,
+ "quickSearch": 1,
+ "filterable": 1,
+ "ext": "./js/a8yy.js"
+ }
+ ],
+ "parses": [
+ {
+ "name": "-8090g-",
+ "type": 0,
+ "url": "https://www.8090g.cn/jiexi/?url="
+ },
+ {
+ "name": "-冰豆-",
+ "type": 0,
+ "url": "https://bd.jx.cn/?url="
+ },
+ {
+ "name": "-m3u8TV-",
+ "type": 0,
+ "url": "https://jx.m3u8.tv/jiexi/?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"
+ }
+ ]
+ }
+ ],
+ "rules": [
+ {
+ "name": "proxy",
+ "hosts": [
+ "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.*"
+ ]
+ },
+ {
+ "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"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/天天开心/api/a848d2173d12b963b98a2ffa9796abe7.js b/天天开心/api/a848d2173d12b963b98a2ffa9796abe7.js
new file mode 100644
index 0000000..82b037b
--- /dev/null
+++ b/天天开心/api/a848d2173d12b963b98a2ffa9796abe7.js
@@ -0,0 +1,304 @@
+if (typeof Object.assign != 'function') {
+ Object.assign = function () {
+ var target = arguments[0];
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+ return target;
+};
+}
+function getMubans() {
+ var mubanDict = { // 模板字典
+ mxpro: {
+ title: '',
+ host: '',
+ // homeUrl:'/',
+ url: '/vodshow/fyclass--------fypage---.html',
+ searchUrl: '/vodsearch/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+ 'User-Agent': 'MOBILE_UA',
+ // "Cookie": "searchneed=ok"
+ },
+ class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+ 二级: {
+ "title": "h1&&Text;.module-info-tag&&Text",
+ "img": ".lazyload&&data-original",
+ "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
+ "content": ".module-info-introduction&&Text",
+ "tabs": ".module-tab-item",
+ "lists": ".module-play-list:eq(#id) a"
+ },
+ 搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
+ },
+ mxone5: {
+ title: '',
+ host: '',
+ url: '/show/fyclass--------fypage---.html',
+ searchUrl: '/search/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+ 二级: {
+ "title": "h1&&Text;.tag-link&&Text",
+ "img": ".module-item-pic&&img&&data-src",
+ "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
+ "content": ".vod_content&&Text",
+ "tabs": ".module-tab-item",
+ "lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
+ },
+ 搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
+ },
+ 首图: {
+ title: '',
+ host: '',
+ url: '/vodshow/fyclass--------fypage---/',
+ searchUrl: '/vodsearch/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+ 'User-Agent': 'MOBILE_UA',
+ // "Cookie": "searchneed=ok"
+ },
+ class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+ 二级: {
+ "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
+ "img": ".myui-content__thumb .lazyload&&data-original",
+ "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
+ "content": ".content&&Text",
+ "tabs": ".nav-tabs:eq(0) li",
+ "lists": ".myui-content__list:eq(#id) li"
+ },
+ 搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+ },
+ 首图2: {
+ title: '',
+ host: '',
+ url: '/list/fyclass-fypage.html',
+ searchUrl: '/vodsearch/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {
+ 'User-Agent': 'UC_UA',
+ // "Cookie": ""
+ },
+ // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
+ class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+ 二级: {
+ "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text",
+ "img": ".stui-content__thumb .lazyload&&data-original",
+ "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
+ "content": ".detail&&Text",
+ "tabs": ".stui-vodlist__head h3",
+ "lists": ".stui-content__playlist:eq(#id) li"
+ },
+ 搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+ 搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+ 搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+ },
+ 默认: {
+ title: '',
+ host: '',
+ url: '/vodshow/fyclass--------fypage---.html',
+ searchUrl: '/vodsearch/-------------.html?wd=**',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {
+ 'User-Agent': 'MOBILE_UA',
+ },
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ double: true, // 推荐内容是否双层定位
+ },
+ vfed: {
+ title: '',
+ host: '',
+ url: '/index.php/vod/show/id/fyclass/page/fypage.html',
+ searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {
+ 'User-Agent': 'UC_UA',
+ },
+ // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
+ class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+ 二级: {
+ "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text",
+ "img": ".fed-list-info&&a&&data-original",
+ "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text",
+ "content": ".fed-part-esan&&Text",
+ "tabs": ".fed-drop-boxs&&.fed-part-rows&&li",
+ "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li"
+ },
+ 搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
+ },
+ 海螺3: {
+ title: '',
+ host: '',
+ searchUrl: '/v_search/**----------fypage---.html',
+ url: '/vod_____show/fyclass--------fypage---.html',
+ headers: {
+ 'User-Agent': 'MOBILE_UA'
+ },
+ timeout: 5000,
+ class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
+ cate_exclude: '明星|专题|最新|排行',
+ limit: 40,
+ play_parse: true,
+ lazy: '',
+ 推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
+ double: true,
+ 一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+ 二级: {
+ "title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
+ "img": ".hl-lazy&&data-original",
+ "desc": ".hl-infos-content&&.hl-text-conch&&Text",
+ "content": ".hl-content-text&&Text",
+ "tabs": ".hl-tabs&&a",
+ "lists": ".hl-plays-list:eq(#id)&&li"
+ },
+ 搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ },
+ 海螺2: {
+ title: '',
+ host: '',
+ searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
+ url: '/index.php/vod/show/id/fyclass/page/fypage/',
+ headers: {
+ 'User-Agent': 'MOBILE_UA'
+ },
+ timeout: 5000,
+ class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
+ limit: 40,
+ play_parse: true,
+ lazy: '',
+ 推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
+ double: true,
+ 一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
+ 二级: {
+ "title": "h2&&Text;.deployment&&Text",
+ "img": ".lazy&&data-original",
+ "desc": ".deployment&&Text",
+ "content": ".ec-show&&Text",
+ "tabs": "#tag&&a",
+ "lists": ".play_list_box:eq(#id)&&li"
+ },
+ 搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ },
+ 短视: {
+ title: '',
+ host: '',
+ // homeUrl:'/',
+ url: '/channel/fyclass-fypage.html',
+ searchUrl: '/search.html?wd=**',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+ 'User-Agent': 'MOBILE_UA',
+ // "Cookie": "searchneed=ok"
+ },
+ class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
+ cate_exclude: '解析|动态',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+ 二级: {
+ "title": "h1&&Text;.content-rt&&p:eq(0)&&Text",
+ "img": ".img&&img&&data-src",
+ "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text",
+ "content": ".zkjj_a&&Text",
+ "tabs": ".py-tabs&&option",
+ "lists": ".player:eq(#id) li"
+ },
+ 搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
+ },
+ 短视2:{
+ title: '',
+ host: '',
+ class_name:'电影&电视剧&综艺&动漫',
+ class_url:'1&2&3&4',
+ searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
+ searchable: 2,
+ quickSearch: 0,
+ headers:{'User-Agent':'MOBILE_UA'},
+ url: '/index.php/api/vod#type=fyclass&page=fypage',
+ filterable:0,//是否启用分类筛选,
+ filter_url:'',
+ filter: {},
+ filter_def:{},
+ detailUrl:'/index.php/vod/detail/id/fyid.html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐:'.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
+ 一级:'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
+ 二级:{
+ "title":".slide-info-title&&Text;.slide-info:eq(3)--strong&&Text",
+ "img":".detail-pic&&data-original",
+ "desc":".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text",
+ "content":"#height_limit&&Text",
+ "tabs":".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a",
+ "tab_text":".swiper-slide&&Text",
+ "lists":".anthology-list-box:eq(#id) li"
+ },
+ 搜索:'json:list;name;pic;;id',
+ }
+ };
+ return JSON.parse(JSON.stringify(mubanDict));
+}
+var mubanDict = getMubans();
+var muban = getMubans();
+export default {muban,getMubans};
\ No newline at end of file
diff --git a/天天开心/api/dffd4cc3bf2fdbddf56e179fb494a4fa.js b/天天开心/api/dffd4cc3bf2fdbddf56e179fb494a4fa.js
new file mode 100644
index 0000000..796d53a
--- /dev/null
+++ b/天天开心/api/dffd4cc3bf2fdbddf56e179fb494a4fa.js
@@ -0,0 +1,68 @@
+/***
+ * gbk编码解码函数
+ * strTool = gbkTool() strTool.encode(key)
+ * @returns {{encode: (function(*): *), decode: (function(*): *)}}
+ */
+export function gbkTool(){
+ var data=function(zipData){
+ var re=zipData
+ .replace(/#(\d+)\$/g,function(a,b){
+ return Array(+b+3).join('#');
+ })
+ .replace(/#/g,'####')
+ .replace(/(\w\w):([\w#]+)(?:,|$)/g,function(a,hd,dt){
+ return dt.replace(/../g,function(a){
+ if(a!='##'){
+ return hd+a;
+ }else{
+ return a;
+ }
+ });
+ });
+ return re;
+ }('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f9091929394959697989a9b9c9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b8b9babbbcbdbebfc0c1c2c3c4c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d7d8d9dadcdfe0e3e4eaeced#f0f5f6f8f9fafbfcff,5e:000407090a0b0d0e1213171e1f20212223242528292a2b2c2f303233343536393a3e3f404143464748494a4b4d4e4f50515253565758595a5c5d5f60636465666768696a6b6c6d6e6f70717577797e8182838588898c8d8e92989b9da1a2a3a4a8a9aaabacaeafb0b1b2b4babbbcbdbfc0c1c2c3c4c5c6c7c8cbcccdcecfd0d4d5d7d8d9dadcdddedfe0e1e2e3e4e5e6e7e9ebecedeeeff0f1f2f3f5f8f9fbfcfd,5f:050607090c0d0e10121416191a1c1d1e21222324#282b2c2e30323334353637383b3d3e3f4142434445464748494a4b4c4d4e4f5154595a5b5c5e5f60636567686b6e6f72747576787a7d7e7f83868d8e8f919394969a9b9d9e9fa0a2a3a4a5a6a7a9abacafb0b1b2b3b4b6b8b9babbbebfc0c1c2c7c8cacbced3d4d5dadbdcdedfe2e3e5e6e8e9eceff0f2f3f4f6f7f9fafc,60:0708090b0c10111317181a1e1f2223242c2d2e3031323334363738393a3d3e404445464748494a4c4e4f5153545657585b5c5e5f606165666e71727475777e80#8182858687888a8b8e8f909193959798999c9ea1a2a4a5a7a9aaaeb0b3b5b6b7b9babdbebfc0c1c2c3c4c7c8c9cccdcecfd0d2d3d4d6d7d9dbdee1e2e3e4e5eaf1f2f5f7f8fbfcfdfeff,61:02030405070a0b0c1011121314161718191b1c1d1e21222528292a2c2d2e2f303132333435363738393a3b3c3d3e4041424344454647494b4d4f50525354565758595a5b5c5e5f606163646566696a6b6c6d6e6f717273747678797a7b7c7d7e7f808182838485868788898a8c8d8f9091929395#969798999a9b9c9e9fa0a1a2a3a4a5a6aaabadaeafb0b1b2b3b4b5b6b8b9babbbcbdbfc0c1c3c4c5c6c7c9cccdcecfd0d3d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e7e8e9eaebecedeeeff0f1f2f3f4f6f7f8f9fafbfcfdfe,62:00010203040507091314191c1d1e2023262728292b2d2f303132353638393a3b3c424445464a4f50555657595a5c5d5e5f6061626465687172747577787a7b7d818283858687888b8c8d8e8f9094999c9d9ea3a6a7a9aaadaeafb0b2b3b4b6b7b8babec0c1#c3cbcfd1d5dddee0e1e4eaebf0f2f5f8f9fafb,63:00030405060a0b0c0d0f10121314151718191c2627292c2d2e30313334353637383b3c3e3f40414447484a51525354565758595a5b5c5d60646566686a6b6c6f707273747578797c7d7e7f81838485868b8d9193949597999a9b9c9d9e9fa1a4a6abafb1b2b5b6b9bbbdbfc0c1c2c3c5c7c8cacbccd1d3d4d5d7d8d9dadbdcdddfe2e4e5e6e7e8ebeceeeff0f1f3f5f7f9fafbfcfe,64:0304060708090a0d0e111215161718191a1d1f222324#252728292b2e2f3031323335363738393b3c3e404243494b4c4d4e4f505153555657595a5b5c5d5f60616263646566686a6b6c6e6f70717273747576777b7c7d7e7f8081838688898a8b8c8d8e8f90939497989a9b9c9d9fa0a1a2a3a5a6a7a8aaabafb1b2b3b4b6b9bbbdbebfc1c3c4c6c7c8c9cacbcccfd1d3d4d5d6d9dadbdcdddfe0e1e3e5e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,65:01020304050607080a0b0c0d0e0f10111314151617191a1b1c1d1e1f2021#222324262728292a2c2d30313233373a3c3d404142434446474a4b4d4e5052535457585a5c5f606164656768696a6d6e6f7173757678797a7b7c7d7e7f8081828384858688898a8d8e8f92949596989a9d9ea0a2a3a6a8aaacaeb1b2b3b4b5b6b7b8babbbebfc0c2c7c8c9cacdd0d1d3d4d5d8d9dadbdcdddedfe1e3e4eaebf2f3f4f5f8f9fbfcfdfeff,66:0104050708090b0d1011121617181a1b1c1e2122232426292a2b2c2e3032333738393a3b3d3f40424445464748494a4d4e505158#595b5c5d5e6062636567696a6b6c6d7172737578797b7c7d7f808183858688898a8b8d8e8f909293949598999a9b9c9e9fa0a1a2a3a4a5a6a9aaabacadafb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8dadedfe0e1e2e3e4e5e7e8eaebecedeeeff1f5f6f8fafbfd,67:010203040506070c0e0f1112131618191a1c1e20212223242527292e303233363738393b3c3e3f414445474a4b4d5254555758595a5b5d62636466676b6c6e717476#78797a7b7d8082838586888a8c8d8e8f9192939496999b9fa0a1a4a6a9acaeb1b2b4b9babbbcbdbebfc0c2c5c6c7c8c9cacbcccdced5d6d7dbdfe1e3e4e6e7e8eaebedeef2f5f6f7f8f9fafbfcfe,68:01020304060d1012141518191a1b1c1e1f20222324252627282b2c2d2e2f30313435363a3b3f474b4d4f52565758595a5b5c5d5e5f6a6c6d6e6f707172737578797a7b7c7d7e7f8082848788898a8b8c8d8e90919294959698999a9b9c9d9e9fa0a1a3a4a5a9aaabacaeb1b2b4b6b7b8#b9babbbcbdbebfc1c3c4c5c6c7c8cacccecfd0d1d3d4d6d7d9dbdcdddedfe1e2e4e5e6e7e8e9eaebecedeff2f3f4f6f7f8fbfdfeff,69:00020304060708090a0c0f11131415161718191a1b1c1d1e21222325262728292a2b2c2e2f313233353637383a3b3c3e4041434445464748494a4b4c4d4e4f50515253555658595b5c5f616264656768696a6c6d6f7072737475767a7b7d7e7f8183858a8b8c8e8f909192939697999a9d9e9fa0a1a2a3a4a5a6a9aaacaeafb0b2b3b5b6b8b9babcbd#bebfc0c2c3c4c5c6c7c8c9cbcdcfd1d2d3d5d6d7d8d9dadcdddee1e2e3e4e5e6e7e8e9eaebeceeeff0f1f3f4f5f6f7f8f9fafbfcfe,6a:000102030405060708090b0c0d0e0f10111213141516191a1b1c1d1e20222324252627292b2c2d2e30323334363738393a3b3c3f40414243454648494a4b4c4d4e4f515253545556575a5c5d5e5f60626364666768696a6b6c6d6e6f70727374757677787a7b7d7e7f81828385868788898a8b8c8d8f929394959698999a9b9c9d9e9fa1a2a3a4a5a6#a7a8aaadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,6b:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f252628292a2b2c2d2e2f303133343536383b3c3d3f4041424445484a4b4d4e4f5051525354555657585a5b5c5d5e5f606168696b6c6d6e6f7071727374757677787a7d7e7f808588#8c8e8f909194959798999c9d9e9fa0a2a3a4a5a6a7a8a9abacadaeafb0b1b2b6b8b9babbbcbdbec0c3c4c6c7c8c9caccced0d1d8dadcdddedfe0e2e3e4e5e6e7e8e9ecedeef0f1f2f4f6f7f8fafbfcfeff,6c:000102030408090a0b0c0e12171c1d1e2023252b2c2d31333637393a3b3c3e3f434445484b4c4d4e4f5152535658595a62636566676b6c6d6e6f71737577787a7b7c7f8084878a8b8d8e9192959697989a9c9d9ea0a2a8acafb0b4b5b6b7bac0c1c2c3c6c7c8cbcdcecfd1d2d8#d9dadcdddfe4e6e7e9ecedf2f4f9ff,6d:000203050608090a0d0f101113141516181c1d1f20212223242628292c2d2f30343637383a3f404244494c50555657585b5d5f6162646567686b6c6d707172737576797a7b7d7e7f8081838486878a8b8d8f9092969798999a9ca2a5acadb0b1b3b4b6b7b9babbbcbdbec1c2c3c8c9cacdcecfd0d2d3d4d5d7dadbdcdfe2e3e5e7e8e9eaedeff0f2f4f5f6f8fafdfeff,6e:0001020304060708090b0f12131518191b1c1e1f222627282a2c2e30313335#3637393b3c3d3e3f40414245464748494a4b4c4f5051525557595a5c5d5e606162636465666768696a6c6d6f707172737475767778797a7b7c7d8081828487888a8b8c8d8e91929394959697999a9b9d9ea0a1a3a4a6a8a9abacadaeb0b3b5b8b9bcbebfc0c3c4c5c6c8c9cacccdced0d2d6d8d9dbdcdde3e7eaebecedeeeff0f1f2f3f5f6f7f8fafbfcfdfeff,6f:000103040507080a0b0c0d0e101112161718191a1b1c1d1e1f212223252627282c2e303234353738393a3b3c3d3f404142#43444548494a4c4e4f5051525354555657595a5b5d5f60616364656768696a6b6c6f707173757677797b7d7e7f808182838586878a8b8f909192939495969798999a9b9d9e9fa0a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b7b8babbbcbdbebfc1c3c4c5c6c7c8cacbcccdcecfd0d3d4d5d6d7d8d9dadbdcdddfe2e3e4e5e6e7e8e9eaebecedf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,70:000102030405060708090a0b0c0d0e0f1012131415161718191c1d1e1f2021222425262728292a#2b2c2d2e2f30313233343637383a3b3c3d3e3f404142434445464748494a4b4d4e505152535455565758595a5b5c5d5f606162636465666768696a6e7172737477797a7b7d818283848687888b8c8d8f90919397989a9b9e9fa0a1a2a3a4a5a6a7a8a9aab0b2b4b5b6babebfc4c5c6c7c9cbcccdcecfd0d1d2d3d4d5d6d7dadcdddee0e1e2e3e5eaeef0f1f2f3f4f5f6f8fafbfcfeff,71:0001020304050607080b0c0d0e0f111214171b1c1d1e1f2021222324252728292a2b2c2d2e323334#353738393a3b3c3d3e3f4041424344464748494b4d4f505152535455565758595a5b5d5f6061626365696a6b6c6d6f707174757677797b7c7e7f8081828385868788898b8c8d8e909192939596979a9b9c9d9ea1a2a3a4a5a6a7a9aaabadaeafb0b1b2b4b6b7b8babbbcbdbebfc0c1c2c4c5c6c7c8c9cacbcccdcfd0d1d2d3d6d7d8d9dadbdcdddedfe1e2e3e4e6e8e9eaebecedeff0f1f2f3f4f5f6f7f8fafbfcfdfeff,72:0001020304050708090a0b0c0d0e0f101112131415161718191a#1b1c1e1f2021222324252627292b2d2e2f3233343a3c3e40414243444546494a4b4e4f505153545557585a5c5e60636465686a6b6c6d707173747677787b7c7d828385868788898c8e9091939495969798999a9b9c9d9ea0a1a2a3a4a5a6a7a8a9aaabaeb1b2b3b5babbbcbdbebfc0c5c6c7c9cacbcccfd1d3d4d5d6d8dadb#95$,30:000102,00b702:c9c7,00a830:0305,2014ff5e20:162618191c1d,30:141508090a0b0c0d0e0f16171011,00:b1d7f7,22:362728110f2a2908371aa52520,231222:992b2e614c483d1d606e6f64651e3534,26:4240,00b020:3233,2103ff0400a4ff:e0e1,203000a7211626:0605,25:cbcfcec7c6a1a0b3b2,203b21:92909193,30:13#95$,21:70717273747576777879#4$,24:88898a8b8c8d8e8f909192939495969798999a9b7475767778797a7b7c7d7e7f808182838485868760616263646566676869##,32:20212223242526272829##,21:606162636465666768696a6b#97$,ff:010203e505060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5de3#95$,30:4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293#106$a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6#103$,03:9192939495969798999a9b9c9d9e9fa0a1a3a4a5a6a7a8a9#6$b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c3c4c5c6c7c8c9#5$,fe:3536393a3f403d3e41424344##3b3c373831#3334#104$,04:10111213141501161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f#13$30313233343551363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f#11$,02:cacbd9,20:13152535,21:050996979899,22:151f23526667bf,25:505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727381828384858687#88898a8b8c8d8e8f939495bcbde2e3e4e5,2609229530:121d1e#9$,010100e101ce00e0011300e9011b00e8012b00ed01d000ec014d00f301d200f2016b00fa01d400f901:d6d8dadc,00:fcea,0251e7c701:4448,e7c802:61#2$,31:05060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829#19$,30:212223242526272829,32a333:8e8f9c9d9ea1c4ced1d2d5,fe30ff:e2e4#,212132:31#,20:10#1$,30:fc9b9cfdfe069d9e,fe:494a4b4c4d4e4f50515254555657595a5b5c5d5e5f6061#626364656668696a6b,e7:e7e8e9eaebecedeeeff0f1f2f3,30:07#11$,25:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b#13$,72:dcdddfe2e3e4e5e6e7eaebf5f6f9fdfeff,73:00020405060708090b0c0d0f1011121418191a1f2023242627282d2f30323335363a3b3c3d404142434445464748#494a4b4c4e4f515354555658595a5b5c5d5e5f6162636465666768696a6b6e7071#92$72737475767778797a7b7c7d7f808182838586888a8c8d8f90929394959798999a9c9d9ea0a1a3a4a5a6a7a8aaacadb1b4b5b6b8b9bcbdbebfc1c3c4c5c6c7#cbccced2d3d4d5d6d7d8dadbdcdddfe1e2e3e4e6e8eaebeceeeff0f1f3f4f5f6f7#92$f8f9fafbfcfdfeff,74:0001020407080b0c0d0e1112131415161718191c1d1e1f2021232427292b2d2f31323738393a3b3d3e3f4042434445464748494a4b4c4d#4e4f505152535456585d606162636465666768696a6b6c6e6f717273747578797a#92$7b7c7d7f8284858688898a8c8d8f9192939495969798999a9b9d9fa0a1a2a3a4a5a6aaabacadaeafb0b1b2b3b4b5b6b7b8b9bbbcbdbebfc0c1c2c3c4c5c6c7#c8c9cacbcccdcecfd0d1d3d4d5d6d7d8d9dadbdddfe1e5e7e8e9eaebecedf0f1f2#92$f3f5f8f9fafbfcfdfe,75:0001020305060708090a0b0c0e1012141516171b1d1e202122232426272a2e3436393c3d3f414243444647494a4d5051525355565758#5d5e5f60616263646768696b6c6d6e6f7071737576777a7b7c7d7e808182848587#92$88898a8c8d8e909395989b9c9ea2a6a7a8a9aaadb6b7babbbfc0c1c6cbcccecfd0d1d3d7d9dadcdddfe0e1e5e9ecedeeeff2f3f5f6f7f8fafbfdfe,76:02040607#08090b0d0e0f11121314161a1c1d1e212327282c2e2f31323637393a3b3d414244#92$45464748494a4b4e4f50515253555758595a5b5d5f6061626465666768696a6c6d6e7071727374757677797a7c7f80818385898a8c8d8f9092949597989a9b#9c9d9e9fa0a1a2a3a5a6a7a8a9aaabacadafb0b3b5b6b7b8b9babbbcbdbec0c1c3,554a963f57c3632854ce550954c076:914c,853c77ee827e788d72319698978d6c285b894ffa630966975cb880fa684880ae660276ce51f9655671ac7ff1888450b2596561ca6fb382ad634c625253ed54277b06516b75a45df462d48dcb9776628a8019575d97387f627238767d67cf767e64464f708d2562dc7a17659173ed642c6273822c9881677f724862:6ecc,4f3474e3534a529e7eca90a65e2e6886699c81807ed168d278c5868c9551508d8c2482de80de53058912526576:c4c7c9cbccd3d5d9dadcdddee0e1e2e3e4e6e7e8e9eaebecedf0f3f5f6f7fafbfdff,77:00020305060a0c0e0f1011121314151617181b1c1d1e21232425272a2b#2c2e3031323334393b3d3e3f4244454648494a4b4c4d4e4f52535455565758595c,858496f94fdd582199715b9d62:b1a5,66b48c799c8d7206676f789160b253:5117,8f8880cc8d1d94a1500d72c8590760eb711988ab595482ef672c7b285d297ef7752d6cf58e668ff8903c9f3b6bd491197b145f7c78a784d6853d6b:d5d9d6,5e:0187,75f995ed655d5f:0ac5,8f9f58c181c2907f965b97ad8fb97f168d2c62414fbf53:d85e,8f:a8a9ab,904d68075f6a819888689cd6618b522b762a5f6c658c6fd26ee85bbe644851:75b0,67c44e1979c9997c70b377:5d5e5f606467696a6d6e6f7071727374757677787a7b7c818283868788898a8b8f90939495969798999a9b9c9d9ea1a3a4a6a8abadaeafb1b2b4b6b7b8b9ba#bcbec0c1c2c3c4c5c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d8d9dadddedfe0e1e4,75c55e7673bb83e064ad62e894b56ce2535a52c3640f94c27b944f2f5e1b823681:168a,6e246cca9a736355535c54fa886557e04e0d5e036b657c3f90e8601664e6731c88c16750624d8d22776c8e2991c75f6983dc8521991053c286956b8b60:ede8,707f82:cd31,4ed36ca785cf64cd7cd969fd66f9834953957b564fa7518c6d4b5c428e6d63d253c983:2c36,67e578b4643d5bdf5c945dee8be762c667f48c7a640063ba8749998b8c177f2094f24ea7961098a4660c731677:e6e8eaeff0f1f2f4f5f7f9fafbfc,78:0304050607080a0b0e0f101315191b1e20212224282a2b2e2f31323335363d3f414243444648494a4b4d4f51535458595a#5b5c5e5f606162636465666768696f7071727374757678797a7b7d7e7f80818283,573a5c1d5e38957f507f80a05382655e7545553150218d856284949e671d56326f6e5de2543570928f66626f64a463a35f7b6f8890f481e38fb05c1866685ff16c8996488d81886c649179f057ce6a59621054484e587a0b60e96f848bda627f901e9a8b79e4540375f4630153196c608fdf5f1b9a70803b9f7f4f885c3a8d647fc565a570bd51:45b2,866b5d075ba062bd916c75748e0c7a2061017b794ec77ef877854e1181ed521d51fa6a7153a88e87950496cf6ec19664695a78:848586888a8b8f9092949596999d9ea0a2a4a6a8a9aaabacadaeafb5b6b7b8babbbcbdbfc0c2c3c4c6c7c8cccdcecfd1d2d3d6d7d8dadbdcdddedfe0e1e2e3#e4e5e6e7e9eaebedeeeff0f1f3f5f6f8f9fbfcfdfeff,79:00020304060708090a0b0c,784050a877d7641089e6590463e35ddd7a7f693d4f20823955984e3275ae7a975e:628a,95ef521b5439708a6376952457826625693f918755076df37eaf882262337ef075b5832878c196cc8f9e614874f78bcd6b64523a8d506b21806a847156f153064e:ce1b,51d17c97918b7c074fc38e7f7be17a9c64675d1450ac810676017cb96dec7fe067515b:58f8,78cb64:ae13,63:aa2b,9519642d8fbe7b5476296253592754466b7950a362345e266b864ee38d37888b5f85902e79:0d0e0f1011121415161718191a1b1c1d1f2021222325262728292a2b2c2d2e2f3031323335363738393d3f42434445474a4b4c4d4e4f505152545558596163#6466696a6b6c6e70717273747576797b7c7d7e7f8283868788898b8c8d8e909192,6020803d62c54e39535590f863b880c665e66c2e4f4660ee6de18bde5f3986cb5f536321515a83616863520063638e4850125c9b79775bfc52307a3b60bc905376d75f:b797,76848e6c706f767b7b4977aa51f3909358244f4e6ef48fea654c7b1b72c46da47fdf5ae162b55e95573084827b2c5e1d5f1f90127f1498a063826ec7789870b95178975b57ab75354f4375385e9760e659606dc06bbf788953fc96d551cb52016389540a94938c038dcc7239789f87768fed8c0d53e079:939495969798999b9c9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b6b7b8bcbfc2c4c5c7c8cacccecfd0d3d4d6d7d9dadbdcdddee0e1e2e5e8ea#eceef1f2f3f4f5f6f7f9fafcfeff,7a:0104050708090a0c0f10111213151618191b1c,4e0176ef53ee948998769f0e952d5b9a8ba24e:221c,51ac846361c252a8680b4f97606b51bb6d1e515c6296659796618c46901775d890fd77636bd272:8aec,8bfb583577798d4c675c9540809a5ea66e2159927aef77ed953b6bb565ad7f0e58065151961f5bf958a954288e726566987f56e4949d76fe9041638754c659:1a3a,579b8eb267358dfa8235524160f0581586fe5ce89e454fc4989d8bb95a2560765384627c904f9102997f6069800c513f80335c1499756d314e8c7a:1d1f21222425262728292a2b2c2d2e2f303132343536383a3e4041424344454748494a4b4c4d4e4f50525354555658595a5b5c5d5e5f606162636465666768#696a6b6c6d6e6f717273757b7c7d7e828587898a8b8c8e8f909394999a9b9ea1a2,8d3053d17f5a7b4f4f104e4f96006cd573d085e95e06756a7ffb6a0a77fe94927e4151e170e653cd8fd483038d2972af996d6cdb574a82b365b980aa623f963259a84eff8bbf7eba653e83f2975e556198de80a5532a8bfd542080ba5e9f6cb88d3982ac915a54296c1b52067eb7575f711a6c7e7c89594b4efd5fff61247caa4e305c0167ab87025cf0950b98ce75af70fd902251af7f1d8bbd594951e44f5b5426592b657780a45b7562:76c2,8f905e456c1f7b264f:0fd8,670d7a:a3a4a7a9aaabaeafb0b1b2b4b5b6b7b8b9babbbcbdbec0c1c2c3c4c5c6c7c8c9cacccdcecfd0d1d2d3d4d5d7d8dadbdcdde1e2e4e7e8e9eaebeceef0f1f2f3#f4f5f6f7f8fbfcfe,7b:0001020507090c0d0e1012131617181a1c1d1f21222327292d,6d:6eaa,798f88b15f17752b629a8f854fef91dc65a781:2f51,5e9c81508d74526f89868d4b590d50854ed8961c723681798d1f5bcc8ba3964459877f1a549056:760e,8be565396982949976d66e895e72751867:46d1,7aff809d8d76611f79c665628d635188521a94a27f38809b7eb25c976e2f67607bd9768b9ad8818f7f947cd5641e95507a3f54:4ae5,6b4c640162089e3d80f3759952729769845b683c86e496:0194,94ec4e2a54047ed968398ddf801566f45e9a7fb97b:2f303234353637393b3d3f404142434446484a4d4e535557595c5e5f61636465666768696a6b6c6d6f70737476787a7c7d7f81828384868788898a8b8c8e8f#9192939698999a9b9e9fa0a3a4a5aeafb0b2b3b5b6b7b9babbbcbdbebfc0c2c3c4,57c2803f68975de5653b529f606d9f9a4f9b8eac516c5bab5f135de96c5e62f18d21517194a952fe6c9f82df72d757a267848d2d591f8f9c83c754957b8d4f306cbd5b6459d19f1353e486ca9aa88c3780a16545987e56fa96c7522e74dc52505be1630289024e5662d0602a68fa51735b9851a089c27ba199867f5060ef704c8d2f51495e7f901b747089c4572d78455f529f9f95fa8f689b3c8be17678684267dc8d:ea35,523d8f8a6eda68cd950590ed56fd679c88f98fc754c87b:c5c8c9cacbcdcecfd0d2d4d5d6d7d8dbdcdedfe0e2e3e4e7e8e9ebecedeff0f2f3f4f5f6f8f9fafbfdff,7c:0001020304050608090a0d0e101112131415171819#1a1b1c1d1e20212223242528292b2c2d2e2f3031323334353637393a3b3c3d3e42,9ab85b696d776c264ea55bb39a87916361a890af97e9542b6db55bd251fd558a7f:55f0,64bc634d65f161be608d710a6c:5749,592f676d822a58d5568e8c6a6beb90dd597d801753f76d695475559d83:77cf,683879be548c4f55540876d28c8996026cb36db88d6b89109e648d3a563f9ed175d55f8872e0606854fc4ea86a2a886160528f7054c470d886799e3f6d2a5b8f5f187ea255894faf7334543c539a501954:0e7c,4e4e5ffd745a58f6846b80e1877472d07cca6e567c:434445464748494a4b4c4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717275767778797a7e7f8081828384858687#888a8b8c8d8e8f90939496999a9ba0a1a3a6a7a8a9abacadafb0b4b5b6b7b8babb,5f27864e552c62a44e926caa623782b154d7534e733e6ed1753b521253168bdd69d05f8a60006dee574f6b2273af68538fd87f13636260a3552475ea8c6271156da35ba65e7b8352614c9ec478fa87577c27768751f060f6714c66435e4c604d8c0e707063258f895fbd606286d456de6bc160946167534960e066668d3f79fd4f1a70e96c478b:b3f2,7ed88364660f5a5a9b426d:51f7,8c416d3b4f19706b83b7621660d1970d8d27797851fb57:3efa,673a75787a3d79ef7b957c:bfc0c2c3c4c6c9cbcecfd0d1d2d3d4d8dadbdddee1e2e3e4e5e6e7e9eaebecedeef0f1f2f3f4f5f6f7f9fafcfdfeff,7d:000102030405060708090b0c0d0e0f10#1112131415161718191a1b1c1d1e1f212324252628292a2c2d2e30313233343536,808c99658ff96fc08ba59e2159ec7ee97f095409678168d88f917c4d96c653ca602575be6c7253735ac97ea7632451e0810a5df184df628051805b634f0e796d524260b86d4e5b:c4c2,8b:a1b0,65e25fcc964559937e:e7aa,560967b759394f735bb652a0835a988a8d3e753294be50477a3c4ef767b69a7e5ac16b7c76d1575a5c167b3a95f4714e517c80a9827059787f04832768c067ec78:b177,62e363617b804fed526a51cf835069db92748d:f531,89c1952e7bad4ef67d:3738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6f70717273747576#78797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798,506582305251996f6e:1085,6da75efa50f559dc5c066d466c5f7586848b686859568bb253209171964d854969127901712680f64ea490ca6d479a845a0756bc640594f077eb4fa5811a72e189d2997a7f347ede527f655991758f:7f83,53eb7a9663:eda5,768679f888579636622a52ab8282685467706377776b7aed6d017ed389e359d0621285c982a5754c501f4ecb75a58beb5c4a5dfe7b4b65a491d14eca6d25895f7d2795264ec58c288fdb9773664b79818fd170ec6d787d:999a9b9c9d9e9fa0a1a2a3a4a5a7a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9#dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa,5c3d52b283465162830e775b66769cb84eac60ca7c:beb3,7ecf4e958b66666f988897595883656c955c5f8475c997567a:dfde,51c070af7a9863ea7a767ea0739697ed4e4570784e5d915253a965:51e7,81fc8205548e5c31759a97a062d872d975bd5c459a7983ca5c40548077e94e3e6cae805a62d2636e5de851778ddd8e1e952f4ff153e560e770ac526763509e435a1f5026773753777ee26485652b628963985014723589c951b38bc07edd574783cc94a7519b541b5cfb7d:fbfcfdfeff,7e:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839#3a3c3d3e3f40424344454648494a4b4c4d4e4f505152535455565758595a5b5c5d,4fca7ae36d5a90e19a8f55805496536154af5f0063e9697751ef6168520a582a52d8574e780d770b5eb761777ce062:5b97,4ea27095800362f770e49760577782db67ef68f578d5989779d158f354b353ef6e34514b523b5ba28bfe80af554357a660735751542d7a7a60505b5463a762a053e362635bc767af54ed7a9f82e691775e9388e4593857ae630e8de880ef57577b774fa95feb5bbd6b3e53217b5072c2684677:ff36,65f751b54e8f76d45cbf7aa58475594e9b4150807e:5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f909192939495969798999a9c9d9e#aeb4bbbcd6e4ecf9,7f:0a101e37393b3c3d3e3f404143464748494a4b4c4d4e4f5253,998861276e8357646606634656f062:ec69,5ed39614578362c955878721814a8fa3556683b167658d5684dd5a6a680f62e67bee961151706f9c8c3063fd89c861d27f0670c26ee57405699472fc5eca90ce67176d6a635e52b3726280014f6c59e5916a70d96d9d52d24e5096f7956d857e78ca7d2f5121579264c2808b7c7b6cea68f1695e51b7539868a872819ece7bf172f879bb6f137406674e91cc9ca4793c83:8954,540f68174e3d538952b1783e5386522950884f:8bd0,7f:56595b5c5d5e6063646566676b6c6d6f7073757677787a7b7c7d7f8082838485868788898b8d8f9091929395969798999b9ca0a2a3a5a6a8a9aaabacadaeb1#b3b4b5b6b7babbbec0c2c3c4c6c7c8c9cbcdcfd0d1d2d3d6d7d9dadbdcdddee2e3,75e27acb7c926ca596b6529b748354e94fe9805483b28fde95705ec9601c6d9f5e18655b813894fe604b70bc7ec37cae51c968817cb1826f4e248f8691cf667e4eae8c0564a9804a50da759771ce5be58fbd6f664e86648295635ed66599521788c270c852a3730e7433679778f797164e3490bb9cde6dcb51db8d41541d62ce73b283f196f69f8494c34f367f9a51cc707596755cad988653e64ee46e9c740969b4786b998f7559521876246d4167f3516d9f99804b54997b3c7abf7f:e4e7e8eaebecedeff2f4f5f6f7f8f9fafdfeff,80:020708090a0e0f11131a1b1d1e1f2123242b2c2d2e2f303234393a3c3e404144454748494e4f505153555657#595b5c5d5e5f6061626364656667686b6c6d6e6f7072737475767778797a7b7c7d,9686578462e29647697c5a0464027bd36f0f964b82a6536298855e90708963b35364864f9c819e93788c97328d:ef42,9e7f6f5e79845f559646622e9a74541594dd4fa365c55c:6561,7f1586516c2f5f8b73876ee47eff5ce6631b5b6a6ee653754e7163a0756562a18f6e4f264ed16ca67eb68bba841d87ba7f57903b95237ba99aa188f8843d6d1b9a867edc59889ebb739b780186829a:6c82,561b541757cb4e709ea653568fc881097792999286ee6ee1851366fc61626f2b80:7e818285888a8d8e8f909192949597999ea3a6a7a8acb0b3b5b6b8b9bbc5c7c8c9cacbcfd0d1d2d3d4d5d8dfe0e2e3e6eef5f7f9fbfeff,81:000103040507080b#0c1517191b1c1d1f202122232425262728292a2b2d2e3033343537393a3b3c3d3f,8c298292832b76f26c135fd983bd732b8305951a6bdb77db94c6536f830251925e3d8c8c8d384e4873ab679a68859176970971646ca177095a9295416bcf7f8e66275bd059b95a9a95:e8f7,4eec84:0c99,6aac76df9530731b68a65b5f772f919a97617cdc8ff78c1c5f257c7379d889c56ccc871c5bc65e4268c977207ef551:954d,52c95a297f05976282d763cf778485d079d26e3a5e9959998511706d6c1162bf76bf654f60af95fd660e879f9e2394ed54:0d7d,8c2c647881:40414243444547494d4e4f525657585b5c5d5e5f6162636466686a6b6c6f727375767778818384858687898b8c8d8e90929394959697999a9e9fa0a1a2a4a5#a7a9abacadaeafb0b1b2b4b5b6b7b8b9bcbdbebfc4c5c7c8c9cbcdcecfd0d1d2d3,647986116a21819c78e864699b5462b9672b83ab58a89ed86cab6f205bde964c8c0b725f67d062c772614ea959c66bcd589366ae5e5552df6155672876ee776672677a4662ff54:ea50,94a090a35a1c7eb36c164e435976801059485357753796be56ca63208111607c95f96dd65462998151855ae980fd59ae9713502a6ce55c3c62df4f60533f817b90066eba852b62c85e7478be64b5637b5ff55a18917f9e1f5c3f634f80425b7d556e95:4a4d,6d8560a867e072de51dd5b8181:d4d5d6d7d8d9dadbdcdddedfe0e1e2e4e5e6e8e9ebeeeff0f1f2f5f6f7f8f9fafdff,82:030708090a0b0e0f111315161718191a1d2024252627292e323a3c3d3f#404142434546484a4c4d4e5051525354555657595b5c5d5e606162636465666769,62e76cde725b626d94ae7ebd81136d53519c5f04597452aa6012597366968650759f632a61e67cef8bfa54e66b279e256bb485d5545550766ca4556a8db4722c5e156015743662cd6392724c5f986e436d3e65006f5876d878d076fc7554522453db4e535e9e65c180:2ad6,629b5486522870ae888d8dd16ce1547880da57f988f48d54966a914d4f696c9b55b776c6783062a870f96f8e5f6d84ec68da787c7bf781a8670b9e4f636778b0576f7812973962:79ab,528874356bd782:6a6b6c6d71757677787b7c808183858687898c90939495969a9b9ea0a2a3a7b2b5b6babbbcbfc0c2c3c5c6c9d0d6d9dadde2e7e8e9eaecedeef0f2f3f5f6f8#fafcfdfeff,83:000a0b0d1012131618191d1e1f20212223242526292a2e3032373b3d,5564813e75b276ae533975de50fb5c418b6c7bc7504f72479a9798d86f0274e27968648777a562fc98918d2b54c180584e52576a82f9840d5e7351ed74f68bc45c4f57616cfc98875a4678349b448feb7c955256625194fa4ec68386846183e984b257d467345703666e6d668c3166dd7011671f6b3a6816621a59bb4e0351c46f0667d26c8f517668cb59476b6775665d0e81109f5065d779:4841,9a918d775c824e5e4f01542f5951780c56686c148fc45f036c:7de3,8bab639083:3e3f41424445484a4b4c4d4e5355565758595d6270717273747576797a7e7f808182838487888a8b8c8d8f909194959697999a9d9fa1a2a3a4a5a6a7acadae#afb5bbbebfc2c3c4c6c8c9cbcdced0d1d2d3d5d7d9dadbdee2e3e4e6e7e8ebeced,60706d3d7275626694:8ec5,53438fc17b7e4edf8c264e7e9ed494:b1b3,524d6f5c90636d458c3458115d4c6b:2049,67aa545b81547f8c589985375f3a62a26a47953965726084686577a74e544fa85de7979864ac7fd85ced4fcf7a8d520783044e14602f7a8394a64fb54eb279e6743452e482b964d279bd5bdd6c8197528f7b6c22503e537f6e0564ce66746c3060c598778bf75e86743c7a7779cb4e1890b174036c4256da914b6cc58d8b533a86c666f28eaf5c489a716e2083:eeeff3f4f5f6f7fafbfcfeff,84:0002050708090a10121314151617191a1b1e1f20212223292a2b2c2d2e2f30323334353637393a3b3e3f404142434445474849#4a4b4c4d4e4f505253545556585d5e5f606264656667686a6e6f70727477797b7c,53d65a369f8b8da353bb570898a76743919b6cc9516875ca62f372ac52:389d,7f3a7094763853749e4a69b7786e96c088d97fa471:36c3,518967d374e458e4651856b78ba9997662707ed560f970ed58ec4e:c1ba,5fcd97e74efb8ba45203598a7eab62544ecd65e5620e833884c98363878d71946eb65bb97ed2519763c967d480898339881551125b7a59828fb14e736c5d516589258f6f962e854a745e95:10f0,6da682e55f3164926d128428816e9cc3585e8d5b4e0953c184:7d7e7f8081838485868a8d8f90919293949596989a9b9d9e9fa0a2a3a4a5a6a7a8a9aaabacadaeb0b1b3b5b6b7bbbcbec0c2c3c5c6c7c8cbcccecfd2d4d5d7#d8d9dadbdcdee1e2e4e7e8e9eaebedeeeff1f2f3f4f5f6f7f8f9fafbfdfe,85:000102,4f1e6563685155d34e2764149a9a626b5ac2745f82726da968ee50e7838e7802674052396c997eb150bb5565715e7b5b665273ca82eb67495c715220717d886b95ea965564c58d6181b355846c5562477f2e58924f2455468d4f664c4e0a5c1a88f368a2634e7a0d70e7828d52fa97f65c1154e890b57ecd59628d4a86c782:0c0d,8d6664445c0461516d89793e8bbe78377533547b4f388eab6df15a207ec5795e6c885ba15a76751a80be614e6e1758f075:1f25,727253477ef385:030405060708090a0b0d0e0f101214151618191b1c1d1e2022232425262728292a2d2e2f303132333435363e3f404142444546474b4c4d4e4f505152535455#57585a5b5c5d5f60616263656667696a6b6c6d6e6f707173757677787c7d7f8081,770176db526980dc57235e08593172ee65bd6e7f8bd75c388671534177f362fe65f64ec098df86805b9e8bc653f277e24f7f5c4e9a7659cb5f0f793a58eb4e1667ff4e8b62ed8a93901d52bf662f55dc566c90024ed54f8d91ca99706c0f5e0260435ba489c68bd56536624b99965b:88ff,6388552e53d77626517d852c67a268b36b8a62928f9353d482126dd1758f4e668d4e5b70719f85af66:91d9,7f7287009ecd9f205c5e672f8ff06811675f620d7ad658855eb665706f3185:82838688898a8b8c8d8e909192939495969798999a9d9e9fa0a1a2a3a5a6a7a9abacadb1b2b3b4b5b6b8babbbcbdbebfc0c2c3c4c5c6c7c8cacbcccdced1d2#d4d6d7d8d9dadbdddedfe0e1e2e3e5e6e7e8eaebecedeeeff0f1f2f3f4f5f6f7f8,60555237800d6454887075295e05681362f4971c53cc723d8c016c3477617a0e542e77ac987a821c8bf47855671470c165af64955636601d79c153f84e1d6b7b80865bfa55e356db4f:3a3c,99725df3677e80386002988290015b8b8b:bcf5,641c825864de55fd82cf91654fd77d20901f7c9f50f358516eaf5bbf8bc980839178849c7b97867d96:8b8f,7ee59ad3788e5c817a57904296a7795f5b59635f7b0b84d168ad55067f2974107d2295016240584c4ed65b835979585485:f9fafcfdfe,86:0001020304060708090a0b0c0d0e0f10121314151718191a1b1c1d1e1f20212223242526282a2b2c2d2e2f3031323334353637393a3b3d3e3f40#4142434445464748494a4b4c525355565758595b5c5d5f6061636465666768696a,736d631e8e:4b0f,80ce82d462ac53f06cf0915e592a60016c70574d644a8d2a762b6ee9575b6a8075f06f6d8c:2d08,57666bef889278b363a253f970ad6c645858642a580268e0819b55107cd650188eba6dcc8d9f70eb638f6d9b6ed47ee68404684390036dd896768ba85957727985e4817e75bc8a8a68af52548e22951163d098988e44557c4f5366ff568f60d56d9552435c4959296dfb586b75:301c,606c82148146631167618fe2773a8d:f334,94c15e165385542c70c386:6d6f7072737475767778838485868788898e8f90919294969798999a9b9e9fa0a1a2a5a6abadaeb2b3b7b8b9bbbcbdbebfc1c2c3c5c8cccdd2d3d5d6d7dadc#dde0e1e2e3e5e6e7e8eaebeceff5f6f7fafbfcfdff,87:010405060b0c0e0f10111416,6c405ef7505c4ead5ead633a8247901a6850916e77b3540c94dc5f647ae5687663457b527edf75db507762955934900f51f879c37a8156fe5f9290146d825c60571f541051546e4d56e263a89893817f8715892a9000541e5c6f81c062:d658,81319e3596409a:6e7c,692d59a562d3553e631654c786d96d3c5a0374e6889c6b6a59168c4c5f2f6e7e73a9987d4e3870f75b8c7897633d665a769660cb5b9b5a494e0781556c6a738b4ea167897f515f8065fa671b5fd859845a0187:191b1d1f20242627282a2b2c2d2f303233353638393a3c3d404142434445464a4b4d4f505152545556585a5b5c5d5e5f6162666768696a6b6c6d6f71727375#7778797a7f8081848687898a8c8e8f90919294959698999a9b9c9d9ea0a1a2a3a4,5dcd5fae537197e68fdd684556f4552f60df4e3a6f4d7ef482c7840e59d44f:1f2a,5c3e7eac672a851a5473754f80c355829b4f4f4d6e2d8c135c096170536b761f6e29868a658795fb7eb9543b7a337d0a95ee55e17fc174ee631d87176da17a9d621165a1536763e16c835deb545c94a84e4c6c618bec5c4b65e0829c68a754:3e34,6b:cb66,4e9463425348821e4f:0dae,575e620a96fe6664726952:ffa1,609f8bef661471996790897f785277fd6670563b54389521727a87:a5a6a7a9aaaeb0b1b2b4b6b7b8b9bbbcbebfc1c2c3c4c5c7c8c9cccdcecfd0d4d5d6d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedeff0f1f2f3f4f5f6f7f8#fafbfcfdff,88:0001020405060708090b0c0d0e0f101112141718191a1c1d1e1f2023,7a00606f5e0c6089819d591560dc718470ef6eaa6c5072806a8488ad5e2d4e605ab3559c94e36d177cfb9699620f7ec6778e867e5323971e8f9666875ce14fa072ed4e0b53a6590f54136380952851484ed99c9c7ea454b88d248854823795f26d8e5f265acc663e966973:b02e,53bf817a99857fa15baa96:7750,7ebf76f853a2957699997bb189446e584e617fd479658be660f354cd4eab98795df76a6150cf54118c618427785d9704524a54ee56a395006d885bb56dc6665388:2425262728292a2b2c2d2e2f30313334353637383a3b3d3e3f414243464748494a4b4e4f505152535556585a5b5c5d5e5f6066676a6d6f717374757678797a#7b7c80838687898a8c8e8f90919394959798999a9b9d9e9fa0a1a3a5a6a7a8a9aa,5c0f5b5d6821809655787b11654869544e9b6b47874e978b534f631f643a90aa659c80c18c10519968b0537887f961c86c:c4fb,8c225c5185aa82af950c6b238f9b65b05f:fbc3,4fe18845661f8165732960fa51745211578b5f6290a2884c91925e78674f602759d351:44f6,80f853086c7996c4718a4f:11ee,7f9e673d55c5950879c088967ee3589f620c9700865a5618987b5f908bb884c4915753d965ed5e8f755c60647d6e5a7f7e:eaed,8f6955a75ba360ac65cb738488:acaeafb0b2b3b4b5b6b8b9babbbdbebfc0c3c4c7c8cacbcccdcfd0d1d3d6d7dadbdcdddee0e1e6e7e9eaebecedeeeff2f5f6f7fafbfdff,89:0001030405060708#090b0c0d0e0f1114151617181c1d1e1f20222324262728292c2d2e2f3132333537,9009766377297eda9774859b5b667a7496ea884052cb718f5faa65ec8be25bfb9a6f5de16b896c5b8b:adaf,900a8fc5538b62bc9e:262d,54404e2b82bd7259869c5d1688596daf96c554d14e9a8bb6710954bd960970df6df976d04e25781487125ca95ef68a00989c960e708e6cbf594463a9773c884d6f148273583071d5538c781a96c155015f6671305bb48c1a9a8c6b83592e9e2f79e76768626c4f6f75a17f8a6d0b96336c274ef075d2517b68376f3e908081705996747689:38393a3b3c3d3e3f40424345464748494a4b4c4d4e4f505152535455565758595a5b5c5d6061626364656768696a6b6c6d6e6f707172737475767778797a7c#7d7e808284858788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1,64475c2790657a918c2359da54ac8200836f898180006930564e8036723791ce51b64e5f987563964e1a53f666f3814b591c6db24e0058f9533b63d694f14f:9d0a,886398905937905779fb4eea80f075916c825b9c59e85f5d69058681501a5df24e5977e34ee5827a6291661390915c794ebf5f7981c69038808475ab4ea688d4610f6bc55fc64e4976ca6ea28b:e3ae,8c0a8bd15f027f:fccc,7ece83:356b,56e06bb797f3963459fb541f94f66deb5bc5996e5c395f15969089:a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c3cdd3d4d5d7d8d9dbdddfe0e1e2e4e7e8e9eaecedeef0f1f2f4f5f6f7f8f9fa#fbfcfdfeff,8a:01020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d,537082f16a315a749e705e947f2883b984:2425,836787478fce8d6276c85f719896786c662054df62e54f6381c375c85eb896cd8e0a86f9548f6cf36d8c6c38607f52c775285e7d4f1860a05fe75c24753190ae94c072b96cb96e389149670953:cbf3,4f5191c98bf153c85e7c8fc26de44e8e76c26986865e611a82064f:59de,903e9c7c61096e:1d14,96854e885a3196e84e0e5c7f79b95b878bed7fbd738957df828b90c15401904755bb5cea5fa161086b3272f180b28a:891e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f4041424344454647494a4b4c4d4e4f505152535455565758595a5b5c5d5e#5f606162636465666768696a6b6c6d6e6f7071727374757677787a7b7c7d7e7f80,6d745bd388d598848c6b9a6d9e336e0a51:a443,57a38881539f63f48f9556ed54585706733f6e907f188fdc82d1613f6028966266f07ea68d:8ac3,94a55cb37ca4670860a6960580184e9190e75300966851418fd08574915d665597f55b55531d78386742683d54c9707e5bb08f7d518d572854b1651266828d:5e43,810f846c906d7cdf51ff85fb67a365e96fa186a48e81566a90207682707671e58d2362e952196cfd8d3c600e589e618e66fe8d60624e55b36e23672d8f678a:81828384858687888b8c8d8e8f9091929495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3,94e195f87728680569a8548b4e4d70b88bc86458658b5b857a84503a5be877bb6be18a797c986cbe76cf65a98f975d2d5c5586386808536062187ad96e5b7efd6a1f7ae05f706f335f20638c6da867564e085e108d264ed780c07634969c62db662d627e6cbc8d7571677f695146808753ec906e629854f286f08f998005951785178fd96d5973cd659f771f7504782781fb8d1e94884fa6679575b98bca9707632f9547963584b8632377415f8172f04e896014657462ef6b63653f8a:e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8b:0001020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#24252728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,5e2775c790d18bc1829d679d652f5431871877e580a281026c414e4b7ec7804c76f4690d6b966267503c4f84574063076b628dbe53ea65e87eb85fd763:1ab7,81:f3f4,7f6e5e1c5cd95236667a79e97a1a8d28709975d46ede6cbb7a924e2d76c55fe0949f88777ec879cd80bf91cd4ef24f17821f54685dde6d328bcc7ca58f7480985e1a549276b15b99663c9aa473e0682a86db6731732a8b:f8db,90107af970db716e62c477a956314e3b845767f152a986c08d2e94f87b518b:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656768696a6b6d6e6f707172737475767778797a7b7c7d7e7f80818283848586#8788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9facb1bbc7d0ea,8c:091e,4f4f6ce8795d9a7b6293722a62fd4e1378168f6c64b08d5a7bc668695e8488c55986649e58ee72b6690e95258ffd8d5857607f008c0651c6634962d95353684c74228301914c55447740707c6d4a517954a88d4459ff6ecb6dc45b5c7d2b4ed47c7d6ed35b5081ea6e0d5b579b0368d58e2a5b977efc603b7eb590b98d70594f63cd79df8db3535265cf79568bc5963b7ec494bb7e825634918967007f6a5c0a907566285de64f5067de505a4f5c57505e:a7#3$,8c:38393a3b3c3d3e3f4042434445484a4b4d4e4f5051525354565758595b5c5d5e5f60636465666768696c6d6e6f707172747576777b7c7d7e7f808183848687#888b8d8e8f90919293959697999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad,4e:8d0c,51404e105eff53454e:15981e,9b325b6c56694e2879ba4e3f53154e47592d723b536e6c1056df80e499976bd3777e9f174e:369f,9f104e:5c6993,82885b5b556c560f4ec453:8d9da3a5ae,97658d5d53:1af5262e3e,8d5c53:6663,52:02080e2d333f404c5e615c,84af52:7d82819093,51827f544e:bbc3c9c2e8e1ebde,4f1b4ef34f:2264,4ef54f:2527092b5e67,65384f:5a5d,8c:aeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec#edeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8d:000102030405060708090a0b0c0d,4f:5f57323d76749189838f7e7baa7cac94e6e8eac5dae3dcd1dff8,50:294c,4ff350:2c0f2e2d,4ffe50:1c0c25287e4355484e6c7ba5a7a9bad6,510650:edece6ee,51:070b,4edd6c3d4f:5865ce,9fa06c467c74516e5dfd9ec999985181591452f9530d8a07531051eb591951554ea051564eb388:6ea4,4eb5811488d279805b3488037fb851:abb1bdbc,8d:0e0f101112131415161718191a1b1c205152575f6568696a6c6e6f717278797a7b7c7d7e7f808283868788898c8d8e8f90929395969798999a9b9c9d9ea0a1#a2a4a5a6a7a8a9aaabacadaeafb0b2b6b7b9bbbdc0c1c2c5c7c8c9cacdd0d2d3d4,51:c796a2a5,8b:a0a6a7aab4b5b7c2c3cbcfced2d3d4d6d8d9dcdfe0e4e8e9eef0f3f6f9fcff,8c:000204070c0f1112141516191b181d1f202125272a2b2e2f32333536,53:697a,96:1d2221312a3d3c4249545f676c7274888d97b0,90:979b9d99aca1b4b3b6ba,8d:d5d8d9dce0e1e2e5e6e7e9edeef0f1f2f4f6fcfeff,8e:00010203040607080b0d0e1011121315161718191a1b1c202124252627282b2d303233343637383b3c3e#3f4345464c4d4e4f505354555657585a5b5c5d5e5f60616263646567686a6b6e71,90:b8b0cfc5bed0c4c7d3e6e2dcd7dbebeffe,91:04221e23312f394346,520d594252:a2acadbe,54ff52:d0d6f0,53df71ee77cd5ef451:f5fc,9b2f53b65f01755a5def57:4ca9a1,58:7ebcc5d1,57:292c2a33392e2f5c3b4269856b867c7b686d7673ada48cb2cfa7b493a0d5d8dad9d2b8f4eff8e4dd,8e:73757778797a7b7d7e808283848688898a8b8c8d8e91929395969798999a9b9d9fa0a1a2a3a4a5a6a7a8a9aaadaeb0b1b3b4b5b6b7b8b9bbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4,58:0b0d,57:fded,58:001e194420656c81899a80,99a89f1961ff82:797d7f8f8aa8848e919799abb8beb0c8cae398b7aecbccc1a9b4a1aa9fc4cea4e1,830982:f7e4,83:0f07,82:dcf4d2d8,830c82:fbd3,83:111a061415,82:e0d5,83:1c515b5c08923c34319b5e2f4f47435f4017602d3a336665,8e:e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8f:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#2425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344,83:681b696c6a6d6eb078b3b4a0aa939c857cb6a97db87b989ea8babcc1,840183:e5d8,580784:180b,83:ddfdd6,84:1c381106,83:d4df,84:0f03,83:f8f9eac5c0,842683:f0e1,84:5c515a597387887a89783c4669768c8e316dc1cdd0e6bdd3cabfbae0a1b9b497e5e3,850c750d853884f085:391f3a,8f:45464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656a808c929da0a1a2a4a5a6a7aaacadaeafb2b3b4b5b7b8babbbcbfc0c3c6#c9cacbcccdcfd2d6d7dae0e1e3e7eceff1f2f4f5f6fafbfcfeff,90:07080c0e131518,85:563b,84:fffc,85:594868645e7a,77a285:43727ba4a8878f79ae9c85b9b7b0d3c1dcff,86:270529163c,5efe5f0859:3c41,803759:555a58,530f5c:22252c34,62:4c6a9fbbcadad7ee,632262f663:394b43adf6717a8eb46dac8a69aebcf2f8e0ffc4dece,645263:c6be,64:45410b1b200c26215e846d96,90:191c2324252728292a2b2c303132333437393a3d3f4043454648494a4b4c4e545556595a5c5d5e5f6061646667696a6b6c6f70717273767778797a7b7c7e81#84858687898a8c8d8e8f90929496989a9c9e9fa0a4a5a7a8a9abadb2b7bcbdbfc0,64:7ab7b899bac0d0d7e4e2,65:09252e,5f:0bd2,75195f1153:5ff1fde9e8fb,54:1216064b5253545643215759233282947771649a9b8476669dd0adc2b4d2a7a6d3d472a3d5bbbfccd9dadca9aaa4ddcfde,551b54e7552054fd551454f355:22230f11272a678fb5496d41553f503c,90:c2c3c6c8c9cbcccdd2d4d5d6d8d9dadedfe0e3e4e5e9eaeceef0f1f2f3f5f6f7f9fafbfcff,91:00010305060708090a0b0c0d0e0f1011121314151617181a1b1c#1d1f20212425262728292a2b2c2d2e30323334353637383a3b3c3d3e3f40414244,55:375675767733305c8bd283b1b988819f7ed6917bdfbdbe9499eaf7c9,561f55:d1ebecd4e6ddc4efe5f2f3cccde8f5e4,8f9456:1e080c012423,55fe56:00272d5839572c4d62595c4c548664716b7b7c8593afd4d7dde1f5ebf9ff,57:040a091c,5e:0f191411313b3c,91:454748515354555658595b5c5f606667686b6d737a7b7c808182838486888a8e8f939495969798999c9d9e9fa0a1a4a5a6a7a8a9abacb0b1b2b3b6b7b8b9bb#bcbdbebfc0c1c2c3c4c5c6c8cbd0d2d3d4d5d6d7d8d9dadbdddedfe0e1e2e3e4e5,5e:3744545b5e61,5c:8c7a8d9096889899919a9cb5a2bdacabb1a3c1b7c4d2e4cbe5,5d:020327262e241e061b583e343d6c5b6f5d6b4b4a697482999d,8c735d:b7c5,5f:73778287898c95999ca8adb5bc,88625f6172:adb0b4b7b8c3c1cecdd2e8efe9f2f4f7,730172f3730372fa91:e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,92:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324#25262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,72fb73:1713210a1e1d152239252c3831504d57606c6f7e,821b592598e759:2402,99:636768696a6b6c74777d8084878a8d9091939495,5e:80918b96a5a0b9b5beb3,8d535e:d2d1dbe8ea,81ba5f:c4c9d6cf,60035fee60045f:e1e4fe,60:0506,5f:eaedf8,60:1935261b0f0d292b0a3f2178797b7a42,92:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727375767778797a7b7c7d7e7f808182838485#868788898a8b8c8d8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7,60:6a7d969aad9d83928c9becbbb1ddd8c6dab4,61:20261523,60f461:000e2b4a75ac94a7b7d4f5,5fdd96b395:e9ebf1f3f5f6fcfe,96:030406080a0b0c0d0f12151617191a,4e2c723f62156c:35545c4aa38590948c6869747686a9d0d4adf7f8f1d7b2e0d6faebeeb1d3effe,92:a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8#e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,93:00010203040506070809,6d:39270c43480704190e2b4d2e351a4f525433916f9ea05e93945c607c63,6e1a6d:c7c5de,6e0e6d:bfe0,6e116d:e6ddd9,6e166dab6e0c6dae6e:2b6e4e6bb25f865354322544dfb198e0,6f2d6e:e2a5a7bdbbb7d7b4cf8fc29f,6f:6246472415,6ef96f:2f364b742a0929898d8c78727c7ad1,93:0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f40414243444546474849#4a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696b,6f:c9a7b9b6c2e1eedee0ef,70:1a231b39354f5e,5b:80849593a5b8,752f9a9e64345b:e4ee,89305bf08e478b078f:b6d3d5e5eee4e9e6f3e8,90:05040b26110d162135362d2f445152506858625b,66b990:747d8288838b,5f:50575658,5c3b54ab5c:5059,5b715c:6366,7fbc5f:2a292d,82745f3c9b3b5c6e59:81838da9aaa3,93:6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab#acadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cbcccd,59:97caab9ea4d2b2afd7be,5a:0506,59dd5a0859:e3d8f9,5a:0c09323411231340674a553c6275,80ec5a:aa9b777abeebb2d2d4b8e0e3f1d6e6d8dc,5b:091716323740,5c:151c,5b:5a6573515362,9a:7577787a7f7d808185888a90929396989b9c9d9fa0a2a3a5a7,7e:9fa1a3a5a8a9,93:cecfd0d1d2d3d4d5d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,94:000102030405060708090a0b0c0d#0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e,7e:adb0bec0c1c2c9cbccd0d4d7dbe0e1e8ebeeeff1f2,7f0d7e:f6fafbfe,7f:01020307080b0c0f111217191c1b1f212223242526272a2b2c2d2f3031323335,5e7a757f5ddb753e909573:8e91aea29fcfc2d1b7b3c0c9c8e5d9,987c740a73:e9e7debaf2,74:0f2a5b262528302e2c,94:2f303132333435363738393a3b3c3d3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6c6d6e6f#707172737475767778797a7b7c7d7e7f8081828384919698c7cfd3d4dae6fb,95:1c20,74:1b1a415c575559776d7e9c8e8081878b9ea8a990a7d2ba,97:eaebec,67:4c535e4869a5876a7398a775a89ead8b777cf0,680967d8680a67:e9b0,680c67:d9b5dab3dd,680067:c3b8e2,680e67:c1fd,68:323360614e624464831d55664167403e4a4929b58f7477936bc2,696e68fc69:1f20,68f995:27333d43484b555a606e74757778797a7b7c7d7e808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa#abacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb,692468f069:0b0157,68e369:10713960425d846b80987834cc8788ce896663799ba7bbabadd4b1c1cadf95e08dff,6a2f69ed6a:171865,69f26a:443ea0505b358e793d28587c9190a997ab,73:3752,6b:8182878492938d9a9ba1aa,8f:6b6d71727375767877797a7c7e818284878b,95:cccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7ecff,96:0713181b1e20232425262728292b2c2d2f303738393a3e41434a4e4f5152535657#58595a5c5d5e606365666b6d6e6f70717378797a7b7c7d7e7f808182838487898a,8f:8d8e8f989a,8ece62:0b171b1f222125242c,81e774:eff4ff,75:0f1113,65:34eeeff0,66:0a19,677266:031500,708566:f71d34313635,800666:5f54414f56615777848ca79dbedbdce6e9,8d:3233363b3d4045464849474d5559,89:c7cacbcccecfd0d1,72:6e9f5d666f7e7f848b8d8f92,63:0832b0,96:8c8e91929395969a9b9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb1b2b4b5b7b8babbbfc2c3c8cacbd0d1d3d4d6d7d8d9dadbdcdddedfe1e2e3e4e5e6e7eb#ecedeef0f1f2f4f5f8fafbfcfdff,97:0203050a0b0c10111214151718191a1b1d1f20,64:3fd8,80046b:eaf3fdf5f9,6c:0507060d1518191a2129242a32,65:35556b,72:4d525630,8662521680:9f9c93bc,670a80:bdb1abadb4b7e7e8e9eadbc2c4d9cdd7,671080:ddebf1f4ed,81:0d0e,80:f2fc,671581128c5a81:361e2c1832484c5374595a7160697c7d6d67,584d5ab581:888291,6ed581:a3aacc,672681:cabb,97:2122232425262728292b2c2e2f3133343536373a3b3c3d3f404142434445464748494a4b4c4d4e4f5051545557585a5c5d5f63646667686a6b6c6d6e6f7071#72757778797a7b7d7e7f8081828384868788898a8c8e8f9093959697999a9b9c9d,81:c1a6,6b:243739434659,98:d1d2d3d5d9da,6bb35f406bc289f365909f5165:93bcc6c4c3ccced2d6,70:809c969dbbc0b7abb1e8ca,71:1013162f31735c6845724a787a98b3b5a8a0e0d4e7f9,72:1d28,706c71:1866b9,62:3e3d434849,79:3b4046495b5c535a6257606f677a858a9aa7b3,5f:d1d0,97:9e9fa1a2a4a5a6a7a8a9aaacaeb0b1b3b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3#e4e5e8eeeff0f1f2f4f7f8f9fafbfcfdfeff,98:000102030405060708090a0b0c0d0e,60:3c5d5a67415963ab,61:060d5da99dcbd1,620680:807f,6c:93f6,6dfc77:f6f8,78:0009171811,65ab78:2d1c1d393a3b1f3c252c23294e6d56572650474c6a9b939a879ca1a3b2b9a5d4d9c9ecf2,790578f479:13241e34,9f9b9e:f9fbfc,76f177:040d,76f977:07081a22192d263538505147435a68,98:0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d#4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e,77:62657f8d7d808c919fa0b0b5bd,75:3a404e4b485b727983,7f:58615f,8a487f:68747179817e,76:cde5,883294:8586878b8a8c8d8f909497959a9b9ca3a4abaaadacafb0b2b4b6b7b8b9babcbdbfc4c8c9cacbcccdced0d1d2d5d6d7d9d8dbdedfe0e2e4e5e7e8ea,98:6f70717273748b8e929599a3a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcfd0d4d6d7dbdcdde0e1e2e3e4#e5e6e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,99:0001020304050607,94:e9ebeeeff3f4f5f7f9fcfdff,95:03020607090a0d0e0f1213141516181b1d1e1f222a2b292c3132343637383c3e3f4235444546494c4e4f525354565758595b5e5f5d61626465666768696a6b6c6f7172733a,77:e7ec,96c979:d5ede3eb,7a065d477a:03021e14,99:08090a0b0c0e0f1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2f303132333435363738393a3b3c3d3e3f40414243444546474849#4a4b4c4d4e4f50515253565758595a5b5c5d5e5f60616264667378797b7e828389,7a:393751,9ecf99a57a7076:888e9399a4,74:dee0,752c9e:202228292a2b2c3231363837393a3e414244464748494b4c4e5155575a5b5c5e63666768696a6b6c716d73,75:929496a09daca3b3b4b8c4b1b0c3c2d6cde3e8e6e4ebe7,760375:f1fcff,76:1000050c170a25181519,99:8c8e9a9b9c9d9e9fa0a1a2a3a4a6a7a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8#d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9,76:1b3c2220402d303f35433e334d5e545c566b6f,7fca7a:e6787980868895a6a0aca8adb3,88:6469727d7f82a2c6b7bcc9e2cee3e5f1,891a88:fce8fef0,89:2119131b0a342b3641667b,758b80e576:b2b4,77dc80:1214161c20222526272928310b3543464d526971,898398:788083,99:fafbfcfdfeff,9a:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738#393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859,98:898c8d8f949a9b9e9fa1a2a5a6,86:4d546c6e7f7a7c7ba88d8bac9da7a3aa93a9b6c4b5ceb0bab1afc9cfb4e9f1f2edf3d0,871386:def4dfd8d1,87:0307,86f887:080a0d09233b1e252e1a3e48343129373f82227d7e7b60704c6e8b53637c64596593afa8d2,9a:5a5b5c5d5e5f606162636465666768696a6b7283898d8e949599a6a9aaabacadaeafb2b3b4b5b9bbbdbebfc3c4c6c7c8c9cacdcecfd0d2d4d5d6d7d9dadbdc#dddee0e2e3e4e5e7e8e9eaeceef0f1f2f3f4f5f6f7f8fafcfdfeff,9b:000102040506,87:c68885ad9783abe5acb5b3cbd3bdd1c0cadbeae0ee,88:1613,87fe88:0a1b21393c,7f:36424445,82107a:fafd,7b:080304150a2b0f47382a192e31202524333e1e585a45754c5d606e7b62727190a6a7b8ac9da885aa9ca2abb4d1c1ccdddae5e6ea,7c0c7b:fefc,7c:0f160b,9b:07090a0b0c0d0e1011121415161718191a1b1c1d1e2021222425262728292a2b2c2d2e3031333435363738393a3d3e3f40464a4b4c4e50525355565758595a#5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b,7c:1f2a26384140,81fe82:010204,81ec884482:2122232d2f282b383b33343e44494b4f5a5f68,88:7e8588d8df,895e7f:9d9fa7afb0b2,7c7c65497c:919d9c9ea2b2bcbdc1c7cccdc8c5d7e8,826e66a87f:bfced5e5e1e6e9eef3,7cf87d:77a6ae,7e:479b,9e:b8b4,8d:73849491b1676d,8c:4749,91:4a504e4f64,9b:7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba#bbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb,91:626170696f7d7e7274798c85908d91a2a3aaadaeafb5b4ba,8c559e7e8d:b8eb,8e:055969,8d:b5bfbcbac4d6d7dadececfdbc6ecf7f8e3f9fbe4,8e098dfd8e:141d1f2c2e232f3a4039353d3149414251524a70767c6f74858f94909c9e,8c:78828a859894,659b89:d6dedadc,9b:dcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9c:000102030405060708090a0b0c0d0e0f101112131415161718191a#1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b,89:e5ebef,8a3e8b26975396:e9f3ef,97:0601080f0e2a2d303e,9f:808385868788898a8c,9efe9f:0b0d,96:b9bcbdced2,77bf96e092:8eaec8,93:3e6aca8f,94:3e6b,9c:7f8285868788,7a239c:8b8e90919294959a9b9e9fa0a1a2a3a5a6a7a8a9abadaeb0b1b2b3b4b5b6b7babbbcbdc4c5c6c7cacb3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a#7b7d7e808384898a8c8f93969798999daaacafb9bebfc0c1c2c8c9d1d2dadbe0e1cccdcecfd0d3d4d5d7d8d9dcdddfe2,97:7c85919294afaba3b2b4,9a:b1b0b7,9e589a:b6babcc1c0c5c2cbccd1,9b:45434749484d51,98e899:0d2e5554,9a:dfe1e6efebfbedf9,9b:080f131f23,9e:bdbe,7e3b9e:8287888b92,93d69e:9d9fdbdcdde0dfe2e9e7e5eaef,9f:222c2f39373d3e44,9c:e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9d:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021#22232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142#92$434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081#82838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2#92$a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1#e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9e:000102#92$030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e24272e30343b3c404d5052535456595d5f606162656e6f727475767778797a7b7c7d80#8183848586898a8c8d8e8f90919495969798999a9b9c9ea0a1a2a3a4a5a7a8a9aa#92$abacadaeafb0b1b2b3b5b6b7b9babcbfc0c1c2c3c5c6c7c8cacbccd0d2d3d5d6d7d9dadee1e3e4e6e8ebecedeef0f1f2f3f4f5f6f7f8fafdff,9f:000102030405#060708090a0c0f1112141516181a1b1c1d1e1f21232425262728292a2b2d2e3031#92$3233343536383a3c3f4041424345464748494a4b4c4d4e4f52535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778#797a7b7c7d7e81828d8e8f9091929394959697989c9d9ea1a2a3a4a5,f9:2c7995e7f1#92$,fa:0c0d0e0f111314181f20212324272829,e8:15161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243#4445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364'),
+ U2Ghash={},
+ G2Uhash={};
+ !function(data){
+ var k=0;
+ data=data.match(/..../g);
+ for(var i=0x81;i<=0xfe;i++){
+ for(var j=0x40;j<=0xFE;j++){
+ U2Ghash[data[k++]]=('%'+i.toString(16)+'%'+j.toString(16))
+ .toUpperCase();
+ }
+ }
+ for(var key in U2Ghash){
+ G2Uhash[U2Ghash[key]]=key;
+ }
+ }(data);
+ function isAscii(unicode) {
+ return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000));
+ }
+ return{
+ encode:function(str){
+ return str.replace(/./g,function(a){
+ var code=a.charCodeAt(0);
+ if(isAscii(code)){
+ return encodeURIComponent(a);
+ }else{
+ var key=code.toString(16);
+ if(key.length!=4)key=('000'+key).match(/....$/)[0];
+ return U2Ghash[key]||a;
+ }
+ });
+ },
+ decode:function(str){
+ return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g,function(a){
+ if(a in G2Uhash){
+ return String.fromCharCode('0x'+G2Uhash[a]);
+ }else{
+ return a;
+ }
+ }).replace(/%[\w]{2}/g,function(a){
+ return decodeURIComponent(a);
+
+ });
+ }
+ };
+}
\ No newline at end of file
diff --git a/天天开心/api/drpy2.min.js b/天天开心/api/drpy2.min.js
new file mode 100644
index 0000000..fffa6c5
--- /dev/null
+++ b/天天开心/api/drpy2.min.js
@@ -0,0 +1,73 @@
+import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import"./qyg4.js";import"./qyg5.js";import 模板 from"./qyg6.js";import{gbkTool}from"./qyg7.js";import"./qyg8.js";import"./qyg9.js";const _jinja2=cheerio.jinja2;cheerio.jinja2=function(template,obj){try{return jinja.render(template,obj)}catch(e){console.log("新的jinja2库渲染失败,换回原始cheerio:"+e.message);return _jinja2(template,obj)}};function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log("本地代理地址:"+getProxyUrl());console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function ocr_demo_test(){let img_base64=`iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoBAMAAADEX+97AAAAG1BMVEXz+/4thQTa7N6QwIFFkyNeokKozqDB3b93sWHFR+MEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVRIie2TQU+DQBCFt9vScvQpxR4xrcSjJCZ67JDGXsX+AdR4B3vpsSYm/m2HXaRLmuySepR3Gdidb/btDAjRq5dT96eCMlfBuzi1QLZUoZy2yz5sOvI+9iomaPEZ6nWnEtxqIyiM1RcAy44GNDhBXUjot/VVNweV1ah68FqWRyjKIOqAcyYF6rGcmpYnHzGt3fycNoMw0d3/THFu7hFSJ/8OXO6iTM8/KSg09obAzIHLO250LgQ0txOZSfgrV4Exdw98uGycJ0ErAeExZGhOmFHV9zHO6qVSj0MpLq7xZON56o++MjlsEgfVhbQWWME+xQX7J4V6zfi9A1Ly9rP1BvEXp+BbVJ/M77n+wfOIDVp51pZ4iBxvmj9AGrtvry6emwfKnVkW+ZRKd5ZNMvob36vXP9YPDmQki8QiCFAAAAAASUVORK5CYII=`;OcrApi.api=OCR_API;let code=OcrApi.classification(img_base64);log("测试验证码图片的ocr识别结果为:"+code)}function rsa_demo_test(){let t1=(new Date).getTime();let pkcs1_public=`
+-----BEGIN RSA PUBLIC KEY-----
+MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy
+lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE=
+-----END RSA PUBLIC KEY-----
+`.trim();let pkcs1_public_pem=`
+MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy
+lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE=
+`.trim();let pkcs8_public=`
+-----BEGIN PUBLIC KEY-----
+MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/
+nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ==
+-----END PUBLIC KEY-----`.trim();let pkcs8_public_pem=`
+MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/
+nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ==
+`.trim();let pkcs1_private=`
+-----BEGIN RSA PRIVATE KEY-----
+MIIBOAIBAAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/nas61fIPGUUrkPenokm7
+ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQI/b6OV1z65UokQaMvSeRXt
+0Yv6wiYtduQI9qpq5nzy/ytaqsbBfClNTi/HifKPKxlRouWFkc518EQI8LBxoarJ
+AiEA4DaONMplV8PQNa3TKn2F+SDEvLOCjdL0kHKdN90Ti28CIQDDZnTBaHgZwZbA
+hS7Bbf5yvwjWMhO6Y7l04/Qm7R+35QIgPuQuqXIoUSD080mp1N5WyRW++atksIF+
+5lGv9e6GP/MCICnj8y/rl6Pd7tXDN6zcSeqLrfdNsREKhB3dKOCXgW9JAiAFYtFS
+EJNBXVRTK42SNsZ2hJ/9xLwOwnH2epT8Q43s3Q==
+-----END RSA PRIVATE KEY-----
+`.trim();let pkcs8_private=`
+-----BEGIN PRIVATE KEY-----
+MIIBUgIBADANBgkqhkiG9w0BAQEFAASCATwwggE4AgEAAkEAqyNKUPxEUaSdzrtf
+dFyXnRavOOpw2D+dqzrV8g8ZRSuQ96eiSbtkcLCsMpbEPcWNMWD6UWVGSjBHke3v
+YJkTSwIDAQABAj9vo5XXPrlSiRBoy9J5Fe3Ri/rCJi125Aj2qmrmfPL/K1qqxsF8
+KU1OL8eJ8o8rGVGi5YWRznXwRAjwsHGhqskCIQDgNo40ymVXw9A1rdMqfYX5IMS8
+s4KN0vSQcp033ROLbwIhAMNmdMFoeBnBlsCFLsFt/nK/CNYyE7pjuXTj9CbtH7fl
+AiA+5C6pcihRIPTzSanU3lbJFb75q2SwgX7mUa/17oY/8wIgKePzL+uXo93u1cM3
+rNxJ6out902xEQqEHd0o4JeBb0kCIAVi0VIQk0FdVFMrjZI2xnaEn/3EvA7CcfZ6
+lPxDjezd
+-----END PRIVATE KEY-----
+`.trim();let data=`
+NodeRsa
+这是node-rsa 现在修改集成在drpy里使用`.trim();let encryptedWithPublic=NODERSA.encryptRSAWithPublicKey(data,pkcs1_public,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("公钥加密");console.log(encryptedWithPublic);let decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey(encryptedWithPublic,pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("私钥解密");console.log(decryptedWithPrivate);let pkcs1_sha256_sign=NODERSA.sign("1",pkcs1_private,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign");console.log(pkcs1_sha256_sign);let pkcs1_sha256_sign_verify=NODERSA.verify("1","Oulx2QrgeipKYBtqEDqFb2s/+ndk2cGQxO4CkhU7iBM1vyNmmvqubpsmeoUuN3waGrYZLknSEdwBkfv0tUMpFQ==",pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign_verify");console.log(pkcs1_sha256_sign_verify);let pkcs1_oaep_sha256=NODERSA.encryptRSAWithPublicKey(data,`-----BEGIN RSA PUBLIC KEY-----
+MIIBCgKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7IsT1du
+SYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7Sxhdm
+kte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy3zD8
+PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+HP+m
+PfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEAApRb
+Dd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQAB
+-----END RSA PUBLIC KEY-----
+`,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:{scheme:"pkcs1_oaep",hash:"sha256"}}});console.log("pkcs1_oaep_sha256");console.log(pkcs1_oaep_sha256);decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey("kSZesAAyYh2hdsQnYMdGqb6gKAzTauBKouvBzWcc4+F8RvGd0nwO6mVkUMVilPgUuNxjEauHayHiY8gI3Py45UI3+km0rSGyHrS6dHiHgCkMejXHieglYzAB0IxX3Jkm4z/66bdB/D+GFy0oct5fGCMI1UHPjEAYOsazJDa8lBFNbjiWFeb/qiZtIx3vGM7KYPAZzyRf/zPbbQ8zy9xOmRuOl5nnIxgo0Okp3KO/RIPO4GZOSBA8f2lx1UtNwwrXAMpcNavtoqHVcjJ/9lcotXYQFrn5b299pSIRf2gVm8ZJ31SK6Z8cc14nKtvgnmsgClDzIXJ1o1RcDK+knVAySg==",`-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7Is
+T1duSYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7S
+xhdmkte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy
+3zD8PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+
+HP+mPfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEA
+ApRbDd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQABAoIBADZ/QGgUzInvsLp/
+zO2WbfYm39o/uhNAvk9RbLt1TIZbMFhyOpeKynHi3Swwd9xsfWX/U9zS/lGi/m31
+iKrhmaW4OA1G3vqpMcK7TBbFufYwUEaA+ZJX344euH8pIfdzyneMQ4z3Far2dS7l
+QsmjuilVV2kEFadveXewiYoVOWCu00w6bN8wy2SIHlQn+kIL6HQhWz12iKKflIKu
+eGRdzLHsKmBt6WbY1Wuhx7HU0fAKdlBDPxCHNlI+kybUYE9o5C2vJiaVM5wqJBgZ
+8Dz8kt1QbLJ910JoLXkLVQ8uC8NJKQwFtqQjTGPnEq0+wbgz6Ij599rKZkwW/xq9
+l6KoUiECgYEA6Ah42tVdkNW047f03xVYXFH96RgorHRS36mR8Y+ONUq1fwKidovC
+WjwVujt4OPf3l1W6iyn/F6cu/bsmvPrSc3HTN0B1V31QK4OjgetxQ2PSbTldH02J
+NPzkt+v+cPxXpx/P5mgt7Weefw5txU547KubGrHUV5rBKFtIx9pj16MCgYEA/EF0
+o19+D24DZAPwlDS5VbEd7FStnwY4oQ5PqbuNOSbSJLMWU0AqzXcRokp8UTyCZ0X3
+ATkS1REq97kShCuR+npTR6a6DlY7sdpPI1SMLNajgB2tkx0EOzX+PfNIbHUd4jpJ
+I0ZMAHv/OOtkzQHDaeTWBTrzsWm6/nTiykfduNECgYEA46AMD4HpPECqKAs66e5i
+tI6q7JSKskObWVdcmQEfnSAhVOwcvPb2Ptda6UuV8S0xcwDi88rLOUUFUFzc79+P
+vTkY38cYVi/VChsluDpk7ptqv0PbGu5Rf+3n4pZdEjI7OvR2W64wAAn67uIUxc7p
+yiO/ET0K9rYWb6S9jXGtKMkCgYEA2kPAqoO7zZoBMQ7/oR0lp/HC1HRIbiqx4RlC
+8Lgpb+QZPEwA6zPAVVvLVENi4d+bbcRp/xLlKpraNNJcJSSWAMbLPFoU7sbKjA87
+HnTPfRSTEA2d3Ibk3F7Rh8TzS3Ti0JZiJjVzGZAwu41iAMifzwaD8K6boUy80eNN
+QH2CaaECgYBUsLYvC/MiYg3w+LGOONuQongoVUXjGqnw2bjVa9RK7lwRdXPUqJ51
+MpVO98IkoLvGSI/0sGNP3GKNhC+eMGjJAVwFyEuOn+JsmMv9Y9uStIVi5tIHIhKw
+m7mp8il0kaftHdSxTbspG3tZ2fjIiFIZkLEOmRpd7ogWumgOajzUdA==
+-----END RSA PRIVATE KEY-----`,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("decryptedWithPrivate");console.log(decryptedWithPrivate);(()=>{let key=new NODERSA.NodeRSA({b:1024});key.setOptions({encryptionScheme:"pkcs1"});let text=`你好drpy node-ras`;let encrypted=key.encrypt(text,"base64");console.log("encrypted: ",encrypted);const decrypted=key.decrypt(encrypted,"utf8");console.log("decrypted: ",decrypted)})();let t2=(new Date).getTime();console.log("rsa_demo_test 测试耗时:"+(t2-t1)+"毫秒")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log(`预处理执行失败:${e.message}`)}}}let rule={};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.51beta2 20240711";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="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";const IOS_UA="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";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|榜|评论";const OCR_RETRY=3;const OCR_API="https://api.nn.ci/ocr/b64/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SPECIAL_URL=/^(ftp|magnet|thunder|ws):/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;const $js={toString(func){let strfun=func.toString();return strfun.replace(/^\(\)(\s+)?=>(\s+)?\{/,"js:").replace(/\}$/,"")}};function window_b64(){let b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let base64DecodeChars=new Array(-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,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out="";while(i>2);out+=b64map.charAt((c1&3)<<4);out+="==";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+="=";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out="";while(i>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:out+=String.fromCharCode(c);break;case 12:case 13:char2=array[i++];out+=String.fromCharCode((c&31)<<6|char2&63);break;case 14:char2=array[i++];char3=array[i++];out+=String.fromCharCode((c&15)<<12|(char2&63)<<6|(char3&63)<<0);break}}return out}function gzip(str){let arr=pako.gzip(str,{});return uint8ArrayToBase64(arr)}function ungzip(b64Data){let strData=atob(b64Data);const charData=strData.split("").map(function(x){return x.charCodeAt(0)});const binData=new Uint8Array(charData);const data=pako.inflate(binData);return Utf8ArrayToStr(data)}function encodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.encode(input)}return input}function decodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.decode(input)}return input}function getCryptoJS(){return'console.log("CryptoJS已装载");'}const RSA={decode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let privateKey=this.getPrivateKey(key);const decryptor=new JSEncrypt;decryptor.setPrivateKey(privateKey);let uncrypted="";uncrypted=decryptor.decryptUnicodeLong(data);return uncrypted}else{return false}},encode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let publicKey=this.getPublicKey(key);const encryptor=new JSEncrypt;encryptor.setPublicKey(publicKey);let encrypted="";encrypted=encryptor.encryptUnicodeLong(data);return encrypted}else{return false}},fixKey(key,prefix,endfix){if(!key.includes(prefix)){key=prefix+key}if(!key.includes(endfix)){key+=endfix}return key},getPrivateKey(key){let prefix="-----BEGIN RSA PRIVATE KEY-----";let endfix="-----END RSA PRIVATE KEY-----";return this.fixKey(key,prefix,endfix)},getPublicKey(key){let prefix="-----BEGIN PUBLIC KEY-----";let endfix="-----END PUBLIC KEY-----";return this.fixKey(key,prefix,endfix)}};function getProxyUrl(){if(typeof getProxy==="function"){return getProxy(true)}else{return"http://127.0.0.1:9978/proxy?do=js"}}function fixAdM3u8(m3u8_text,m3u8_url,ad_remove){if(!m3u8_text&&!m3u8_url||!m3u8_text&&m3u8_url&&!m3u8_url.startsWith("http")){return""}if(!m3u8_text){log("m3u8_url:"+m3u8_url);m3u8_text=request(m3u8_url)}log("len(m3u8_text):"+m3u8_text.length);if(!ad_remove){return m3u8_text}if(ad_remove.startsWith("reg:")){ad_remove=ad_remove.slice(4)}else if(ad_remove.startsWith("js:")){ad_remove=ad_remove.slice(3)}let m3u8_start=m3u8_text.slice(0,m3u8_text.indexOf("#EXTINF")).trim();let m3u8_body=m3u8_text.slice(m3u8_text.indexOf("#EXTINF"),m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let m3u8_end=m3u8_text.slice(m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let murls=[];let m3_body_list=m3u8_body.split("\n");let m3_len=m3_body_list.length;let i=0;while(i{new_m3u8_body.push(it)})}}new_m3u8_body=new_m3u8_body.join("\n").trim();m3u8_text=[m3u8_start,new_m3u8_body,m3u8_end].join("\n").trim();return m3u8_text}function fixAdM3u8Ai(m3u8_url,headers){let ts=(new Date).getTime();let option=headers?{headers:headers}:{};function b(s1,s2){let i=0;while(iit.startsWith("#")?it:urljoin(m3u8_url,it)).join("\n");m3u8=m3u8.replace(/\n\n/gi,"\n");let last_url=m3u8.split("\n").slice(-1)[0];if(last_url.length<5){last_url=m3u8.split("\n").slice(-2)[0]}if(last_url.includes(".m3u8")&&last_url!==m3u8_url){m3u8_url=urljoin2(m3u8_url,last_url);log("嵌套的m3u8_url:"+m3u8_url);m3u8=request(m3u8_url,option)}let s=m3u8.trim().split("\n").filter(it=>it.trim()).join("\n");let ss=s.split("\n");let firststr="";let maxl=0;let kk=0;let kkk=2;let secondstr="";for(let i=0;i1){if(maxl>b(firststr,s)){if(secondstr.length<5)secondstr=s;kkk=kkk+2}else{maxl=b(firststr,s);kkk++}}kk++;if(kk>=20)break}}if(kkk>30)firststr=secondstr;let firststrlen=firststr.length;let ml=Math.round(ss.length/2).toString().length;let maxc=0;let laststr=ss.toReversed().find(x=>{if(!x.startsWith("#")){let k=b(reverseString(firststr),reverseString(x));maxl=b(firststr,x);maxc++;if(firststrlen-maxl<=ml+k||maxc>10){return true}}return false});log("最后一条切片:"+laststr);let ad_urls=[];for(let i=0;i=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];function getQuery(url){try{if(url.indexOf("?")>-1){url=url.slice(url.indexOf("?")+1)}let arr=url.split("#")[0].split("&");const resObj={};arr.forEach(item=>{let arr1=item.split("=");let key=arr1[0];let value=arr1.slice(1).join("=");resObj[key]=value});return resObj}catch(err){log(`getQuery发生错误:${e.message}`);return{}}}function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1];result=result.replace(/^['|"](.*)['|"]$/,"$1")}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)&&!SPECIAL_URL.test(ret)){if(/http/.test(ret)){ret=ret.slice(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./qyg10.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{log("通过drpy_ocr验证码接口过验证...");let html="";if(this.api.endsWith("drpy/text")){html=request(this.api,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true)}else{html=post(this.api,{body:img})}code=html||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function $require(url){eval(request(url))}function keysToLowerCase(obj){return Object.keys(obj).reduce((result,key)=>{const newKey=key.toLowerCase();result[newKey]=obj[key];return result},{})}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA;if(typeof fetch_params==="object"&&fetch_params&&fetch_params.headers){let fetch_headers=keysToLowerCase(fetch_params.headers);if(fetch_headers["user-agent"]){headers["User-Agent"]=fetch_headers["user-agent"]}}}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}if(obj.redirect===false){obj.redirect=0}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj=obj||{};obj.method="POST";return request(url,obj)}function reqCookie(url,obj,all_cookie){obj=obj||{};obj.withHeaders=true;all_cookie=all_cookie||false;let html=request(url,obj);let json=JSON.parse(html);let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie");let cookie=setCk?json[setCk]:"";if(Array.isArray(cookie)){cookie=cookie.join(";")}if(!all_cookie){cookie=cookie.split(";")[0]}html=json.body;return{cookie:cookie,html:html}}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i0){classes=list}}}catch(e){console.log(e.message)}}else if(p.length>=3&&!is_json){try{let html=homeObj.home_html||getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p0);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]&&!homeObj.home_html){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表双层定位处理发生错误:${e.message}`)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表单层定位处理发生错误:${e.message}`)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}url=url.replaceAll("fyclass",cateObj.tid);let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print(`合并不同分类对应的默认筛选出错:${e.message}`)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl,fyclass:cateObj.tid});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"./qyg11.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];let url=searchObj.searchUrl.replaceAll("**",searchObj.wd);if(searchObj.pg===1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[1].split("]")[0]}else if(searchObj.pg>1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[0]}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",searchObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",searchObj.pg)}}MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print(`搜索发生错误:${e.message}`);return"{}"}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="免费分享";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();if(!v_title){v_title="线路空"}console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["免费分享"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print(`格式化LISTS发生错误:${e.message}`)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print(`js执行lists: 发生错误:${e.message}`)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let list_url_prefix=p.list_url_prefix||"";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let new_vod_list=[];let tt1=(new Date).getTime();if(typeof pdfl==="function"){new_vod_list=pdfl(html,p1,list_text,list_url,MY_URL);if(list_url_prefix){new_vod_list=new_vod_list.map(it=>it.split("$")[0]+"$"+list_url_prefix+it.split("$").slice(1).join("$"))}}else{let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}for(let i=0;i0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片替换&&rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];vod.vod_pic=vod.vod_pic.replace(replace_from,replace_to)}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);try{vod=vodDeal(vod)}catch(e){console.log(`vodDeal发生错误:${e.message}`)}return JSON.stringify({list:[vod]})}function get_tab_index(vod){let obj={};vod.vod_play_from.split("$$$").forEach((it,index)=>{obj[it]=index});return obj}function vodDeal(vod){let vod_play_from=vod.vod_play_from.split("$$$");let vod_play_url=vod.vod_play_url.split("$$$");let tab_removed_list=vod_play_from;let tab_ordered_list=vod_play_from;let tab_renamed_list=vod_play_from;let tab_list=vod_play_from;let play_ordered_list=vod_play_url;if(rule.tab_remove&&rule.tab_remove.length>0||rule.tab_order&&rule.tab_order.length>0){let tab_index_dict=get_tab_index(vod);if(rule.tab_remove&&rule.tab_remove.length>0){tab_removed_list=vod_play_from.filter(it=>!rule.tab_remove.includes(it));tab_list=tab_removed_list}if(rule.tab_order&&rule.tab_order.length>0){let tab_order=rule.tab_order;tab_ordered_list=tab_removed_list.sort((a,b)=>{return(tab_order.indexOf(a)===-1?9999:tab_order.indexOf(a))-(tab_order.indexOf(b)===-1?9999:tab_order.indexOf(b))});tab_list=tab_ordered_list}play_ordered_list=tab_list.map(it=>vod_play_url[tab_index_dict[it]])}if(rule.tab_rename&&typeof rule.tab_rename==="object"&Object.keys(rule.tab_rename).length>0){tab_renamed_list=tab_list.map(it=>rule.tab_rename[it]||it);tab_list=tab_renamed_list}vod.vod_play_from=tab_list.join("$$$");vod.vod_play_url=play_ordered_list.join("$$$");return vod}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;var MY_FLAG=playObj.flag;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;var flag=MY_FLAG;let common_play={parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,url:input,flag:flag,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.trim();if(lazy_code.startsWith("js:")){lazy_code=lazy_code.replace("js:","").trim()}print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,jx:tellIsJx(input),url:input}}catch(e){print(`js免嗅错误:${e.message}`);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(proxyObj.proxy_rule){log("准备执行本地代理规则:\n"+proxyObj.proxy_rule);try{eval(proxyObj.proxy_rule);if(input&&input!==proxyObj.params&&Array.isArray(input)&&input.length>=3){return input}else{return[404,"text/plain","Not Found"]}}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}else{return[404,"text/plain","Not Found"]}}function isVideoParse(isVideoObj){var input=isVideoObj.url;if(!isVideoObj.t){let re_matcher=new RegExp(isVideoObj.isVideo,"i");return re_matcher.test(input)}else{try{eval(isVideoObj.isVideo);if(typeof input==="boolean"){return input}else{return false}}catch(e){log(`执行嗅探规则发生错误:${e.message}`);return false}}}function getOriginalJs(js_code){let current_match=/var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/;if(current_match.test(js_code)){return js_code}let rsa_private_key="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";let decode_content="";function aes_decrypt(data){let key=CryptoJS.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A");let iv=CryptoJS.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A");let encrypted=CryptoJS.AES.decrypt({ciphertext:CryptoJS.enc.Base64.parse(data)},key,{iv:iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8);return encrypted}let error_log=false;function logger(text){if(error_log){log(text)}}let decode_funcs=[text=>{try{return ungzip(text)}catch(e){logger("非gzip加密");return""}},text=>{try{return base64Decode(text)}catch(e){logger("非b64加密");return""}},text=>{try{return aes_decrypt(text)}catch(e){logger("非aes加密");return""}},text=>{try{return RSA.decode(text,rsa_private_key,null)}catch(e){logger("非rsa加密");return""}}];let func_index=0;while(!current_match.test(decode_content)){decode_content=decode_funcs[func_index](js_code);func_index++;if(func_index>=decode_funcs.length){break}}return decode_content}function runMain(main_func_code,arg){let mainFunc=function(){return""};try{eval(main_func_code+"\nmainFunc=main;");return mainFunc(arg)}catch(e){log(`执行main_funct发生了错误:${e.message}`);return""}}function init(ext){console.log("init");rule={};rule_fetch_params={};fetch_params=null;try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")||ext.startsWith("file://")){let query=getQuery(ext);let js=request(ext,{method:"GET"});if(js){js=getOriginalJs(js);eval("(function(){"+js.replace("var rule","rule")+"})()")}if(query.type==="url"&&query.params){rule.params=urljoin(ext,query.params)}else if(query.params){rule.params=query.params}}else{ext=getOriginalJs(ext);eval("(function(){"+ext.replace("var rule","rule")+"})()")}}else{console.log(`规则加载失败,不支持的规则类型:${typeof ext}`);return}rule.host=(rule.host||"").rstrip("/");HOST=rule.host;if(rule.hostJs){console.log(`检测到hostJs,准备执行...`);try{eval(rule.hostJs);rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:${e.message}`)}}if(rule["模板"]==="自动"){try{let host_headers=rule["headers"]||{};let host_html=getCode(HOST,{headers:host_headers});let match_muban="";let muban_keys=Object.keys(muban).filter(it=>!/默认|短视2|采集1/.test(it));for(let muban_key of muban_keys){try{let host_data=JSON.parse(home({},host_html,muban[muban_key].class_parse));if(host_data.class&&host_data.class.length>0){match_muban=muban_key;console.log(`自动匹配模板:【${muban_key}】`);break}}catch(e){console.log(`自动匹配模板:【${muban_key}】错误:${e.message}`)}}if(match_muban){muban["自动"]=muban[match_muban];if(rule["模板修改"]&&rule["模板修改"].startsWith("js:")){eval(rule["模板修改"].replace("js:","").trim())}}else{delete rule["模板"]}}catch(e){delete rule["模板"]}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.类型=rule.类型||"影视";rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.homeUrl=cheerio.jinja2(rule.homeUrl,{rule:rule});rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}if(rule.searchUrl.includes("[")&&rule.searchUrl.includes("]")&&!rule.searchUrl.includes("#")){let u1=rule.searchUrl.split("[")[0];let u2=rule.searchUrl.split("[")[1].split("]")[0];rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.searchUrl}else{rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl}rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.图片替换=rule.图片替换||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"";if(!rule.hasOwnProperty("sniffer")){rule.sniffer=false}rule.sniffer=rule.hasOwnProperty("sniffer")?rule.sniffer:"";rule.sniffer=!!(rule.sniffer&&rule.sniffer!=="0"&&rule.sniffer!=="false");rule.isVideo=rule.hasOwnProperty("isVideo")?rule.isVideo:"";if(rule.sniffer&&!rule.isVideo){rule.isVideo="http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)|http((?!http).)*?video/tos*|http((?!http).)*?obj/tos*"}rule.tab_remove=rule.hasOwnProperty("tab_remove")?rule.tab_remove:[];rule.tab_order=rule.hasOwnProperty("tab_order")?rule.tab_order:[];rule.tab_rename=rule.hasOwnProperty("tab_rename")?rule.tab_rename:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}else if(k.toLowerCase()==="cookie"){let v=rule.headers[k];if(v&&v.startsWith("http")){console.log(v);try{v=fetch(v);console.log(v);rule.headers[k]=v}catch(e){console.log(`从${v}获取cookie发生错误:${e.message}`)}}}}}catch(e){console.log(`处理headers发生错误:${e.message}`)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log(`init_test发生错误:${e.message}`)}}let homeHtmlCache=undefined;function home(filter,home_html,class_parse){console.log("home");home_html=home_html||"";class_parse=class_parse||"";if(typeof rule.filter==="string"&&rule.filter.trim().length>0){try{let filter_json=ungzip(rule.filter.trim());rule.filter=JSON.parse(filter_json)}catch(e){rule.filter={}}}let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:class_parse||rule.class_parse||"",cate_exclude:rule.cate_exclude,home_html:home_html};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";log("orId:"+orId);if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick,pg){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:pg||1,quick:quick};return searchParse(searchObj)}function proxy(params){if(rule.proxy_rule&&rule.proxy_rule.trim()){rule.proxy_rule=rule.proxy_rule.trim()}if(rule.proxy_rule.startsWith("js:")){rule.proxy_rule=rule.proxy_rule.replace("js:","")}let proxyObj={params:params,proxy_rule:rule.proxy_rule};return proxyParse(proxyObj)}function sniffer(){let enable_sniffer=rule.sniffer||false;if(enable_sniffer){log("开始执行辅助嗅探代理规则...")}return enable_sniffer}function isVideo(url){let t=0;let is_video;if(rule.isVideo&&rule.isVideo.trim()){is_video=rule.isVideo.trim()}if(is_video.startsWith("js:")){is_video=is_video.replace("js:","");t=1}let isVideoObj={url:url,isVideo:is_video,t:t};let result=isVideoParse(isVideoObj);if(result){log("成功执行辅助嗅探规则并检测到视频地址:\n"+rule.isVideo)}return result}function getRule(key){return key?rule[key]||"":rule}function DRPY(){return{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai}}export default{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai,DRPY:DRPY};
\ No newline at end of file
diff --git a/天天开心/api/drpy2.min.txt b/天天开心/api/drpy2.min.txt
new file mode 100644
index 0000000..6c479c3
--- /dev/null
+++ b/天天开心/api/drpy2.min.txt
@@ -0,0 +1 @@
+import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import 模板 from"./a848d2173d12b963b98a2ffa9796abe7.js";import{gbkTool}from"./dffd4cc3bf2fdbddf56e179fb494a4fa.js";function init_test(){console.log("init_test_start"),console.log("当前版本号:"+VERSION),console.log(RKEY),console.log(JSON.stringify(rule)),console.log("init_test_end")}function pre(){if("string"==typeof rule.预处理&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code),code.startsWith("js:")&&(code=code.replace("js:",""));try{eval(code)}catch(e){console.log("预处理执行失败:"+e.message)}}}let rule={},vercode="function"==typeof pdfl?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.49beta2 20231122",MOBILE_UA="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",PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36",UA="Mozilla/5.0",UC_UA="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",IOS_UA="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",RULE_CK="cookie",CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态",TAB_EXCLUDE="猜你|喜欢|下载|剧情|热播",OCR_RETRY=3,OCR_API="http://drpy.nokia.press:8028/ocr/drpy/text";if(void 0===MY_URL)var MY_URL;var HOST,RKEY,fetch,print,log,rule_fetch_params,fetch_params,oheaders,_pdfh,_pdfa,_pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/,SPECIAL_URL=/^(ftp|magnet|thunder|ws):/,NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/,URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/,SELECT_REGEX=/:eq|:lt|:gt|#/g,SELECT_REGEX_A=/:eq|:lt|:gt/g;function 是否正版(e){return new RegExp("qq.com|iqiyi.com|youku.com|mgtv.com|bilibili.com|sohu.com|ixigua.com|pptv.com|miguvideo.com|le.com|1905.com|fun.tv").test(e)}function urlDeal(e){return e?是否正版(e)?(/miguvideo/.test(e)||(e=e.split("#")[0].split("?")[0]),e):e:""}function setResult(e){return Array.isArray(e)?(VODS=[],e.forEach(function(e){let t={vod_id:e.url||"",vod_name:e.title||"",vod_remarks:e.desc||"",vod_content:e.content||"",vod_pic:e.pic_url||e.img||""},r=Object.keys(e);r.includes("tname")&&(t.type_name=e.tname||""),r.includes("tid")&&(t.type_id=e.tid||""),r.includes("year")&&(t.vod_year=e.year||""),r.includes("actor")&&(t.vod_actor=e.actor||""),r.includes("director")&&(t.vod_director=e.director||""),r.includes("area")&&(t.vod_area=e.area||""),VODS.push(t)}),VODS):[]}function setResult2(e){return VODS=e.list||[]}function setHomeResult(e){return e&&"object"==typeof e?setResult(e.list):[]}function rc(e){if("maomi_aes.js"===e){var t=CryptoJS.enc.Utf8.parse("625222f9149e961d"),r=CryptoJS.enc.Utf8.parse("5efdtf6060e2o330");return{De:function(e){return e=CryptoJS.enc.Hex.parse(e),CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(e),t,{iv:r,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8)},En:function(e){return CryptoJS.AES.encrypt(e,t,{iv:r,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).ciphertext.toString()}}}return{}}function maoss(jxurl,ref,key){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params)),eval(getCryptoJS());try{var getVideoInfo=function(e){return CryptoJS.AES.decrypt(e,key,{iv:iv,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8)},token_key=null==key?"dvyYRQlnPRCMdQSe":key;if(ref)var html=request(jxurl,{headers:{Referer:ref}});else var html=request(jxurl);-1!=html.indexOf("&btwaf=")&&(html=request(jxurl+"&btwaf"+html.match(/&btwaf(.*?)"/)[1],{headers:{Referer:ref}}));var token_iv=html.split('_token = "')[1].split('"')[0],key=CryptoJS.enc.Utf8.parse(token_key),iv=CryptoJS.enc.Utf8.parse(token_iv);return eval(html.match(/var config = {[\s\S]*?}/)[0]+""),config.url.startsWith("http")||(config.url=CryptoJS.AES.decrypt(config.url,key,{iv:iv,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8)),config.url}catch(e){return""}}function urlencode(e){return e=(e+"").toString(),encodeURIComponent(e).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A").replace(/%20/g,"+")}function base64Encode(e){return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(e))}function base64Decode(e){return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(e))}function md5(e){return CryptoJS.MD5(e).toString()}function encodeStr(e,t){if((t=t||"gbk").startsWith("gb")){e=gbkTool().encode(e)}return e}function decodeStr(e,t){if((t=t||"gbk").startsWith("gb")){e=gbkTool().decode(e)}return e}function getCryptoJS(){return'console.log("CryptoJS已装载");'}"function"!=typeof Object.assign&&(Object.assign=function(){for(var e=arguments[0],t=1;tthis.length)&&-1!==this.indexOf(e,t)}),Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{value:function(e,t){if(null==this)throw new TypeError('"this" is null or not defined');var r=Object(this),l=r.length>>>0;if(0===l)return!1;for(var o=0|t,s=Math.max(o>=0?o:l-Math.abs(o),0);s=o)return e;let s=e[l],a=e[o];if(t)try{s=s[t],a=a[t]}catch(e){}if(r&&"function"==typeof r)try{s=r(s),a=r(a)}catch(e){}if(a+="",(s+="").match(/(\d+)/)&&a.match(/(\d+)/)){Number(s.match(/(\d+)/)[1])>Number(a.match(/(\d+)/)[1])&&e.reverse()}return e}let VODS=[],VOD={},TABS=[],LISTS=[];function urljoin(e,t){return e=e||"",t=t||"",joinUrl(e,t)}globalThis.encodeUrl=urlencode,globalThis.urlencode=urlencode;var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(e,t){let r=e;try{"string"!=typeof e&&(r=e.rr(e.ele).toString())}catch(e){print("html对象转文本发生了错误:"+e.message)}let l=defaultParser.pdfh(r,t),o=t.includes("&&")?t.split("&&").slice(-1)[0]:t.split(" ").slice(-1)[0];if(/style/.test(o.toLowerCase())&&/url\(/.test(l))try{l=(l=l.match(/url\((.*?)\)/)[1]).replace(/^['|"](.*)['|"]$/,"$1")}catch(e){}return l}function pdfa2(e,t){let r=e;try{"string"!=typeof e&&(r=e.rr(e.ele).toString())}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(r,t)}function pd2(e,t,r){let l=pdfh2(e,t);return void 0!==r&&r||(r=""),DOM_CHECK_ATTR.test(t)&&!SPECIAL_URL.test(l)&&(l=/http/.test(l)?l.substr(l.indexOf("http")):urljoin(MY_URL,l)),l}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(e,t){if(!t||!t.trim())return"";"string"==typeof e&&(e=JSON.parse(e)),(t=t.trim()).startsWith("$.")||(t="$."+t),t=t.split("||");for(let r of t){let t=cheerio.jp(r,e);if((t=Array.isArray(t)?t[0]||"":t||"")&&"string"!=typeof t&&(t=t.toString()),t)return t}return""},pdfa(e,t){if(!t||!t.trim())return"";"string"==typeof e&&(e=JSON.parse(e)),(t=t.trim()).startsWith("$.")||(t="$."+t);let r=cheerio.jp(t,e);return Array.isArray(r)&&Array.isArray(r[0])&&1===r.length?r[0]||[]:r||[]},pd(e,t){let r=parseTags.json.pdfh(e,t);return r?urljoin(MY_URL,r):r}},jq:{pdfh(e,t){if(!e||!t||!t.trim())return"";return t=t.trim(),defaultParser.pdfh(e,t)},pdfa(e,t){if(!e||!t||!t.trim())return[];t=t.trim();let r=defaultParser.pdfa(e,t);return print(`pdfa解析${t}=>${r.length}`),r},pd:(e,t,r)=>e&&t&&t.trim()?(t=t.trim(),r=r||MY_URL,defaultParser.pd(e,t,r)):""},getParse(e){return e.startsWith("jsp:")?this.jsp:e.startsWith("json:")?this.json:(e.startsWith("jq:"),this.jq)}},stringify=JSON.stringify,jsp=parseTags.jsp,jq=parseTags.jq;function readFile(e){e=e||"./uri.min.js";var t=os.open(e),r=new ArrayBuffer(1024),l=os.read(t,r,0,1024);console.log(l);let o=String.fromCharCode.apply(null,new Uint8Array(r));return console.log(o),o}function dealJson(e){try{(e=e.trim()).startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]")||(e="{"+e.match(/.*?\{(.*)\}/m)[1]+"}")}catch(e){}try{e=JSON.parse(e)}catch(e){}return e}var OcrApi={api:OCR_API,classification:function(e){let t="";try{log("通过drpy_ocr验证码接口过验证..."),t=request(OCR_API,{data:{img:e},headers:{"User-Agent":PC_UA},method:"POST"},!0)||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return t}};function verifyCode(e){let t=0,r=getHome(e),l="";for(;t"set-cookie"===e.toLowerCase());l=e?s[e].split(";")[0]:""}console.log("cookie:"+l);let a=s.body,i=OcrApi.classification(a);console.log(`第${t+1}次验证码识别结果:${i}`);let n=`${r}/index.php/ajax/verify_check?type=search&verify=${i}`;console.log(n);let p=request(n,{headers:{Cookie:l,"User-Agent":MOBILE_UA},method:"POST"});if("ok"===(p=JSON.parse(p)).msg)return console.log(`第${t+1}次验证码提交成功`),l;"ok"!==p.msg&&t+1>=OCR_RETRY&&(l="")}catch(e){console.log(`第${t+1}次验证码提交失败:${e.message}`),t+1>=OCR_RETRY&&(l="")}t+=1}return l}function setItem(e,t){local.set(RKEY,e,t),console.log(`规则${RKEY}设置${e} => ${t}`)}function getItem(e,t){return local.get(RKEY,e)||t}function clearItem(e){local.delete(RKEY,e)}function getHome(e){if(!e)return"";let t=e.split("//");e=t[0]+"//"+t[1].split("/")[0];try{e=decodeURIComponent(e)}catch(e){}return e}function buildUrl(e,t){t=t||{},e.indexOf("?")<0&&(e+="?");let r=[],l=Object.keys(t);l.forEach(e=>{r.push(e+"="+t[e])});let o=r.join("&");return l.length>0&&!e.endsWith("?")&&(e+="&"),e+=o}function require(url){eval(request(url))}function request(e,t,r){if(r=r||!1,void 0!==t&&t&&t!=={}){let r=t.headers||{},l=Object.keys(r).map(e=>e.toLowerCase());l.includes("user-agent")||(r["User-Agent"]=MOBILE_UA),l.includes("referer")||(r.Referer=getHome(e)),t.headers=r}else{if(!fetch_params||!fetch_params.headers){let e={"User-Agent":MOBILE_UA};rule.headers&&Object.assign(e,rule.headers),fetch_params||(fetch_params={}),fetch_params.headers=e}fetch_params.headers.Referer||(fetch_params.headers.Referer=getHome(e)),t=fetch_params}if(rule.encoding&&"utf-8"!==rule.encoding&&!r&&(t.headers.hasOwnProperty("Content-Type")||t.headers.hasOwnProperty("content-type")||(t.headers["Content-Type"]="text/html; charset="+rule.encoding)),void 0!==t.body&&t.body&&"string"==typeof t.body?t.headers.hasOwnProperty("Content-Type")||t.headers.hasOwnProperty("content-type")||(t.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding):void 0!==t.body&&t.body&&"object"==typeof t.body&&(t.data=t.body,delete t.body),!e)return t.withHeaders?"{}":"";t.toBase64&&(t.buffer=2,delete t.toBase64),console.log(JSON.stringify(t.headers)),console.log("request:"+e+`|method:${t.method||"GET"}|body:${t.body||""}`);let l=req(e,t),o=l.content||"";if(t.withHeaders){let e=l.headers;return e.body=o,JSON.stringify(e)}return o}function post(e,t){return t.method="POST",request(e,t)}function checkHtml(e,t,r){if(/\?btwaf=/.test(e)){let l=e.match(/btwaf(.*?)"/)[1];t=t.split("#")[0]+"?btwaf"+l,print("宝塔验证访问链接:"+t),e=request(t,r)}return e}function getCode(e,t){let r=request(e,t);return r=checkHtml(r,e,t)}function getHtml(e){let t={};rule.headers&&(t.headers=rule.headers);let r=getItem(RULE_CK,"");return r&&(t.headers&&!Object.keys(t.headers).map(e=>e.toLowerCase()).includes("cookie")?(log("历史无cookie,新增过验证后的cookie"),t.headers.Cookie=r):t.headers&&t.headers.cookie&&t.headers.cookie!==r?(t.headers.Cookie=r,log("历史有小写过期的cookie,更新过验证后的cookie")):t.headers&&t.headers.Cookie&&t.headers.Cookie!==r?(t.headers.Cookie=r,log("历史有大写过期的cookie,更新过验证后的cookie")):t.headers||(t.headers={Cookie:r},log("历史无headers,更新过验证后的含cookie的headers"))),getCode(e,t)}function homeParse(e){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let t=[];if(e.class_name&&e.class_url){let r=e.class_name.split("&"),l=e.class_url.split("&"),o=Math.min(r.length,l.length);for(let e=0;e=3)try{let l=getHtml(e.MY_URL);if(l){homeHtmlCache=l;let o=_pdfa(l,r[0]);o&&o.length>0&&o.forEach((l,o)=>{try{let s=_pdfh(l,r[1]);if(e.cate_exclude&&new RegExp(e.cate_exclude).test(s))return;let a=_pd(l,r[2]);if(r.length>3&&r[3]){let e=new RegExp(r[3]);a=a.match(e)[1]}t.push({type_id:a.trim(),type_name:s.trim()})}catch(e){console.log(`分类列表定位第${o}个元素正常报错:${e.message}`)}})}}catch(e){console.log(e.message)}}let r={class:t=t.filter(t=>!e.cate_exclude||!new RegExp(e.cate_exclude).test(t.type_name))};return e.filter&&(r.filters=e.filter),console.log(JSON.stringify(r)),JSON.stringify(r)}function getPP(e,t,r,l){try{return"*"===e[t]&&r.length>l?r[l]:e[t]}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl,console.log(MY_URL);let t1=(new Date).getTime(),p=homeVodObj.推荐;if(print("p:"+p),"*"===p&&rule.一级&&(p=rule.一级,homeVodObj.double=!1),!p||"string"!=typeof p)return"{}";p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host,eval(p.replace("js:","")),d=VODS}else{if(p=p.split(";"),!homeVodObj.double&&p.length<5)return"{}";if(homeVodObj.double&&p.length<6)return"{}";let e=getPP(p,0,pp,0),t=parseTags.getParse(e);_pdfa=t.pdfa,_pdfh=t.pdfh,_pd=t.pd;let r=e.startsWith("json:");e=e.replace(/^(jsp:|json:|jq:)/,"");let l=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=void 0,r&&(l=dealJson(l));try{if(console.log("double:"+homeVodObj.double),homeVodObj.double){let t=_pdfa(l,e),r=getPP(p,1,pp,0),o=getPP(p,2,pp,1),s=getPP(p,3,pp,2),a=getPP(p,4,pp,3),i=getPP(p,5,pp,4),n=getPP(p,6,pp,5);for(let e of t){let t=_pdfa(e,r);for(let e of t)try{let t=_pdfh(e,o),r="";try{r=_pd(e,s)}catch(e){}let l="";try{l=_pdfh(e,a)}catch(e){}let u=[],c;for(let t of i.split("+")){let r=homeVodObj.detailUrl?_pdfh(e,t):_pd(e,t,MY_URL);u.push(r)}c=p.length>6&&p[6]?_pdfh(e,n):"";let f=u.join("$");"*"===rule.二级&&(f=f+"@@"+t+"@@"+r);let h={vod_name:t,vod_pic:r,vod_remarks:l,vod_content:c,vod_id:f};d.push(h)}catch(e){console.log("首页列表双层定位处理发生错误:"+e.message)}}}else{let t=_pdfa(l,e),r=getPP(p,1,pp,1),o=getPP(p,2,pp,2),s=getPP(p,3,pp,3),a=getPP(p,4,pp,4),i=getPP(p,5,pp,5);for(let e of t)try{let t=_pdfh(e,r),l="";try{l=_pd(e,o,MY_URL)}catch(e){}let n="";try{n=_pdfh(e,s)}catch(e){}let u=[],c;for(let t of a.split("+")){let r=homeVodObj.detailUrl?_pdfh(e,t):_pd(e,t,MY_URL);u.push(r)}c=p.length>5&&p[5]?_pdfh(e,i):"";let f=u.join("$");"*"===rule.二级&&(f=f+"@@"+t+"@@"+l);let h={vod_name:t,vod_pic:l,vod_remarks:n,vod_content:c,vod_id:f};d.push(h)}catch(e){console.log("首页列表单层定位处理发生错误:"+e.message)}}}catch(e){}}let t2=(new Date).getTime();return console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒"),rule.图片来源&&d.forEach(e=>{e.vod_pic&&e.vod_pic.startsWith("http")&&(e.vod_pic=e.vod_pic+rule.图片来源)}),d.length>0&&print(d.slice(0,2)),JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||"string"!=typeof p)return"{}";let d=[],url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(1===cateObj.pg&&url.includes("[")&&url.includes("]")?url=url.split("[")[1].split("]")[0]:cateObj.pg>1&&url.includes("[")&&url.includes("]")&&(url=url.split("[")[0]),rule.filter_url){/fyfilter/.test(url)?url=url.replace("fyfilter",rule.filter_url):(url.endsWith("&")||rule.filter_url.startsWith("&")||(url+="&"),url+=rule.filter_url);let e=cateObj.filter?cateObj.extend:{},t;if(rule.filter_def&&"object"==typeof rule.filter_def)try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let t=rule.filter_def[cateObj.tid];if(t&&"object"==typeof t){let r=JSON.parse(JSON.stringify(t));e=Object.assign(r,e)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}t=cheerio.jinja2(url,{fl:e}),url=t}if(/fypage/.test(url))if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1],cnt_page=url_rep.replaceAll("fypage",cateObj.pg),cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else url=url.replaceAll("fypage",cateObj.pg);MY_URL=url,console.log(MY_URL),p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:","")),d=VODS}else{if(p=p.split(";"),p.length<5)return"{}";let e=parseTags.getParse(p[0]);_pdfa=e.pdfa,_pdfh=e.pdfh,_pd=e.pd;let t=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let e=getHtml(MY_URL);if(e){t&&(e=dealJson(e));let r=_pdfa(e,p[0]);r.forEach(e=>{let t=p[4].split("+").map(t=>rule.detailUrl?_pdfh(e,t):_pd(e,t,MY_URL)).join("$"),r=rule.detailUrl?MY_CATE+"$"+t:t,l=_pdfh(e,p[1]).replace(/\n|\t/g,"").trim(),o=_pd(e,p[2],MY_URL);"*"===rule.二级&&(r=r+"@@"+l+"@@"+o),d.push({vod_id:r,vod_name:l,vod_pic:o,vod_remarks:_pdfh(e,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}rule.图片来源&&d.forEach(e=>{e.vod_pic&&e.vod_pic.startsWith("http")&&(e.vod_pic=e.vod_pic+rule.图片来源)}),d.length>0&&print(d.slice(0,2));let pagecount=0;rule.pagecount&&"object"==typeof rule.pagecount&&rule.pagecount.hasOwnProperty(MY_CATE)&&(print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`),pagecount=parseInt(rule.pagecount[MY_CATE]));let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1},vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl)return"{}";let p="*"===searchObj.搜索&&rule.一级?rule.一级:searchObj.搜索;if(!p||"string"!=typeof p)return"{}";p=p.trim();let pp=rule.一级.split(";"),url=searchObj.searchUrl.replaceAll("**",searchObj.wd);if(1===searchObj.pg&&url.includes("[")&&url.includes("]")&&!url.includes("#")?url=url.split("[")[1].split("]")[0]:searchObj.pg>1&&url.includes("[")&&url.includes("]")&&!url.includes("#")&&(url=url.split("[")[0]),/fypage/.test(url))if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1],cnt_page=url_rep.replaceAll("fypage",searchObj.pg),cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else url=url.replaceAll("fypage",searchObj.pg);if(MY_URL=url,console.log(MY_URL),p.startsWith("js:")){const TYPE="search",MY_PAGE=searchObj.pg,KEY=searchObj.wd;var input=MY_URL,detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:","")),d=VODS}else{if(p=p.split(";"),p.length<5)return"{}";let e=getPP(p,0,pp,0),t=parseTags.getParse(e);_pdfa=t.pdfa,_pdfh=t.pdfh,_pd=t.pd;let r=e.startsWith("json:");e=e.replace(/^(jsp:|json:|jq:)/,"");try{let t=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get",l;if("post"===t){let e=MY_URL.split(";")[0].split("#"),t=e[0],r=e.length>1?e[1]:"";print(`post=》rurl:${t},params:${r}`);let o=JSON.parse(JSON.stringify(rule_fetch_params)),s={body:r};Object.assign(o,s),l=post(t,o)}else if("postjson"===t){let e=MY_URL.split(";")[0].split("#"),t=e[0],r=e.length>1?e[1]:"";print(`postjson-》rurl:${t},params:${r}`);try{r=JSON.parse(r)}catch(e){r="{}"}let o=JSON.parse(JSON.stringify(rule_fetch_params)),s={body:r};Object.assign(o,s),l=post(t,o)}else l=getHtml(MY_URL);if(l){if(/系统安全验证|输入验证码/.test(l)){let e=verifyCode(MY_URL);e?(console.log(`本次成功过验证,cookie:${e}`),setItem(RULE_CK,e)):console.log(`本次自动过搜索验证失败,cookie:${e}`),l=getHtml(MY_URL)}l.includes(searchObj.wd)||(console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码"),console.log(l)),r&&(l=dealJson(l));let t=_pdfa(l,e),o=getPP(p,1,pp,1),s=getPP(p,2,pp,2),a=getPP(p,3,pp,3),i=getPP(p,4,pp,4),n=getPP(p,5,pp,5);t.forEach(e=>{let t,r=i.split("+").map(t=>rule.detailUrl?_pdfh(e,t):_pd(e,t,MY_URL)).join("$");t=p.length>5&&p[5]?_pdfh(e,n):"";let l=r,u=_pdfh(e,o).replace(/\n|\t/g,"").trim(),c=_pd(e,s,MY_URL);"*"===rule.二级&&(l=l+"@@"+u+"@@"+c);let f={vod_id:l,vod_name:u,vod_pic:c,vod_remarks:_pdfh(e,a).replace(/\n|\t/g,"").trim(),vod_content:t.replace(/\n|\t/g,"").trim()};d.push(f)})}}catch(e){return print("搜索发生错误:"+e.message),"{}"}}return rule.图片来源&&d.forEach(e=>{e.vod_pic&&e.vod_pic.startsWith("http")&&(e.vod_pic=e.vod_pic+rule.图片来源)}),JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId,vod_name="片名",vod_pic="",vod_id=orId;if("*"===rule.二级){let e=orId.split("@@");vod_name=e.length>1?e[1]:vod_name,vod_pic=e.length>2?e[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"},p=detailObj.二级,url=detailObj.url,detailUrl=detailObj.detailUrl,fyclass=detailObj.fyclass,tab_exclude=detailObj.tab_exclude,html=detailObj.html||"";if(MY_URL=url,detailObj.二级访问前)try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`),eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}if("*"===p)vod.vod_play_from="公众号:开心软件",vod.vod_remarks=detailUrl,vod.vod_actor="没有二级,只有一级链接直接嗅探播放",vod.vod_content=MY_URL,vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0];else if("string"==typeof p&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL,play_url="";eval(p.trim().replace("js:","")),vod=VOD,console.log(JSON.stringify(vod))}else if(p&&"object"==typeof p){let tt1=(new Date).getTime(),_ps;html||(html=getHtml(MY_URL)),print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`),p.is_json?(print("二级是json"),_ps=parseTags.json,html=dealJson(html)):p.is_jsp?(print("二级是jsp"),_ps=parseTags.jsp):p.is_jq?(print("二级是jq"),_ps=parseTags.jq):(print("二级默认jq"),_ps=parseTags.jq);let tt2=(new Date).getTime();if(print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`),_pdfa=_ps.pdfa,_pdfh=_ps.pdfh,_pd=_ps.pd,p.title){let e=p.title.split(";");vod.vod_name=_pdfh(html,e[0]).replace(/\n|\t/g,"").trim();let t=e.length>1?_pdfh(html,e[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=t||vod.type_name}if(p.desc)try{let e=p.desc.split(";");vod.vod_remarks=_pdfh(html,e[0]).replace(/\n|\t/g,"").trim(),vod.vod_year=e.length>1?_pdfh(html,e[1]).replace(/\n|\t/g,"").trim():"",vod.vod_area=e.length>2?_pdfh(html,e[2]).replace(/\n|\t/g,"").trim():"",vod.vod_actor=e.length>3?_pdfh(html,e[3]).replace(/\n|\t/g,"").trim():"",vod.vod_director=e.length>4?_pdfh(html,e[4]).replace(/\n|\t/g,"").trim():""}catch(e){}if(p.content)try{let e=p.content.split(";");vod.vod_content=_pdfh(html,e[0]).replace(/\n|\t/g,"").trim()}catch(e){}if(p.img)try{let e=p.img.split(";");vod.vod_pic=_pd(html,e[0],MY_URL)}catch(e){}let vod_play_from="$$$",playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")&&(print("开始执行重定向代码:"+p.重定向),html=eval(p.重定向.replace("js:",""))),p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:","")),playFrom=TABS}else{let e=p.tabs.split(";")[0],t=_pdfa(html,e);console.log(t.length);let r=p.tab_text||"body&&Text",l={};for(let e of t){let t=_pdfh(e,r).trim();console.log(t),tab_exclude&&new RegExp(tab_exclude).test(t)||(l.hasOwnProperty(t)?l[t]+=1:l[t]=1,l[t]>1&&(t+=Number(l[t]-1)),playFrom.push(t))}}console.log(JSON.stringify(playFrom))}else playFrom=["公众号:开心软件"];vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$",vod_tab_list=[];if(p.lists)if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL,play_url="";eval(p.lists.replace("js:",""));for(let e in LISTS)if(LISTS.hasOwnProperty(e))try{LISTS[e]=LISTS[e].map(e=>e.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}vod_play_url=LISTS.map(e=>e.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let e=p.list_text||"body&&Text",t=p.list_url||"a&&href",r=p.tabs.trim().startsWith("js:");for(let l=0;l1&&!r?p.tabs.split(";")[1]:"",a=p.lists.replaceAll("#idv",o).replaceAll("#id",l);s=s.replaceAll("#idv",o).replaceAll("#id",l);let i=s?_pdfh(html,s):o;console.log(i);let n=[],u=(new Date).getTime();if("function"==typeof pdfl)n=pdfl(html,a,e,t,MY_URL);else{let r=[];try{r=_pdfa(html,a),console.log("len(vodList):"+r.length)}catch(e){}for(let l=0;l0&&(n=forceOrder(n,"",e=>e.split("$")[0]),console.log(`drpy影响性能代码共计列表数循环次数:${n.length},耗时:${(new Date).getTime()-u}毫秒`));let c=n.join("#");vod_tab_list.push(c)}vod_play_url=vod_tab_list.join(vod_play_url)}vod.vod_play_url=vod_play_url}rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")&&(vod.vod_pic=vod.vod_pic+rule.图片来源),(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id)&&(vod.vod_id=vod_id);let t2=(new Date).getTime();return console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`),vod=vodDeal(vod),void 0!==vod.type_name?vod.type_name=vod.type_name+" | 公众号:开心软件":vod.type_name="公众号:开心软件",JSON.stringify({list:[vod]})}function get_tab_index(e){let t={};return e.vod_play_from.split("$$$").forEach((e,r)=>{t[e]=r}),t}function vodDeal(e){let t=e.vod_play_from.split("$$$"),r=e.vod_play_url.split("$$$"),l=t,o=t,s=t,a=t,i=r;if(rule.tab_remove&&rule.tab_remove.length>0||rule.tab_order&&rule.tab_order.length>0){let s=get_tab_index(e);if(rule.tab_remove&&rule.tab_remove.length>0&&(a=l=t.filter(e=>!rule.tab_remove.includes(e))),rule.tab_order&&rule.tab_order.length>0){let e=rule.tab_order;a=o=l.sort((t,r)=>(-1===e.indexOf(t)?9999:e.indexOf(t))-(-1===e.indexOf(r)?9999:e.indexOf(r)))}i=a.map(e=>r[s[e]])}return rule.tab_rename&&"object"==typeof rule.tab_rename&Object.keys(rule.tab_rename).length>0&&(a=s=a.map(e=>rule.tab_rename[e]||e)),e.vod_play_from=a.join("$$$"),e.vod_play_url=i.join("$$$"),e}function tellIsJx(e){try{return!/\.(m3u8|mp4|m4a)$/.test(e.split("?")[0])&&是否正版(e)?1:0}catch(e){return 1}}function playParse(playObj){if(fetch_params=JSON.parse(JSON.stringify(rule_fetch_params)),MY_URL=playObj.url,!/http/.test(MY_URL))try{MY_URL=base64Decode(MY_URL)}catch(e){}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)},lazy_play;if(rule.play_parse&&rule.lazy)if(rule.play_parse&&rule.lazy&&"string"==typeof rule.lazy)try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code),eval(lazy_code),lazy_play="object"==typeof input?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message),lazy_play=common_play}else lazy_play=common_play;else lazy_play=common_play;if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let e=lazy_play.url;for(let t of rule.play_json)if(t.re&&("*"===t.re||e.match(new RegExp(t.re)))&&t.json&&"object"==typeof t.json){let e=t.json;lazy_play=Object.assign(lazy_play,e);break}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let e={jx:1,parse:1};lazy_play=Object.assign(lazy_play,e)}else if(!rule.play_json){let e={jx:0,parse:1};lazy_play=Object.assign(lazy_play,e)}return console.log(JSON.stringify(lazy_play)),JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(!proxyObj.proxy_rule)return[404,"text/plain","Not Found"];log("准备执行本地代理规则:\n"+proxyObj.proxy_rule);try{return eval(proxyObj.proxy_rule),input&&input!==proxyObj.params&&Array.isArray(input)&&3===input.length?input:[404,"text/plain","Not Found"]}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}function isVideoParse(isVideoObj){var input=isVideoObj.url;if(!isVideoObj.t){let e=new RegExp(isVideoObj.isVideo,"i");return e.test(input)}try{return eval(isVideoObj.isVideo),"boolean"==typeof input&&input}catch(e){return log("执行嗅探规则发生错误:"+e.message),!1}}function init(ext){console.log("init");try{let muban=模板.getMubans();if("object"==typeof ext)rule=ext;else if("string"==typeof ext)if(ext.startsWith("http")){let js=request(ext,{method:"GET"});js.startsWith("**")&&(js=base64Decode(js.substring(2))),js&&eval(js.replace("var rule","rule"))}else eval(ext.replace("var rule","rule"));rule.模板&&muban.hasOwnProperty(rule.模板)&&(print("继承模板:"+rule.模板),rule=Object.assign(muban[rule.模板],rule));let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(e=>e.trim()),rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(e=>e.trim());if(rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(e=>e.trim())),rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(e=>e.trim())),rule.cate_exclude=rule_cate_excludes.join("|"),rule.tab_exclude=rule_tab_excludes.join("|"),rule.host=(rule.host||"").rstrip("/"),HOST=rule.host,rule.hostJs){console.log("检测到hostJs,准备执行...");try{eval(rule.hostJs),rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:`+e.message)}}if(rule.url=rule.url||"",rule.double=rule.double||!1,rule.homeUrl=rule.homeUrl||"",rule.detailUrl=rule.detailUrl||"",rule.searchUrl=rule.searchUrl||"",rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host,rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl,rule.二级访问前=rule.二级访问前||"",rule.url.includes("[")&&rule.url.includes("]")){let e=rule.url.split("[")[0],t=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,e)+"["+urljoin(rule.host,t)+"]":rule.url}else rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url;if(rule.searchUrl.includes("[")&&rule.searchUrl.includes("]")&&!rule.searchUrl.includes("#")){let e=rule.searchUrl.split("[")[0],t=rule.searchUrl.split("[")[1].split("]")[0];rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,e)+"["+urljoin(rule.host,t)+"]":rule.searchUrl}else rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;if(rule.timeout=rule.timeout||5e3,rule.encoding=rule.编码||rule.encoding||"utf-8",rule.search_encoding=rule.搜索编码||rule.search_encoding||"",rule.图片来源=rule.图片来源||"",rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[],rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{},rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"",rule.sniffer=rule.hasOwnProperty("sniffer")?rule.sniffer:"",rule.sniffer=!(!rule.sniffer||"0"===rule.sniffer||"false"===rule.sniffer),rule.isVideo=rule.hasOwnProperty("isVideo")?rule.isVideo:"",rule.tab_remove=rule.hasOwnProperty("tab_remove")?rule.tab_remove:[],rule.tab_order=rule.hasOwnProperty("tab_order")?rule.tab_order:[],rule.tab_rename=rule.hasOwnProperty("tab_rename")?rule.tab_rename:{},rule.headers&&"object"==typeof rule.headers)try{let header_keys=Object.keys(rule.headers);for(let k of header_keys)if("user-agent"===k.toLowerCase()){let v=rule.headers[k];console.log(v),["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)&&(rule.headers[k]=eval(v))}else if("cookie"===k.toLowerCase()){let e=rule.headers[k];if(e&&e.startsWith("http")){console.log(e);try{e=fetch(e),console.log(e),rule.headers[k]=e}catch(t){console.log(`从${e}获取cookie发生错误:`+t.message)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}rule_fetch_params={headers:rule.headers||!1,timeout:rule.timeout,encoding:rule.encoding},oheaders=rule.headers||{},RKEY="undefined"!=typeof key&&key?key:"drpy_"+(rule.title||rule.host),pre(),init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}fetch=request,print=function(e){if("object"==typeof(e=e||"")&&Object.keys(e).length>0)try{e=JSON.stringify(e),console.log(e)}catch(t){return void console.log(typeof e+":"+e.length)}else"object"==typeof e&&Object.keys(e).length<1?console.log("null object"):console.log(e)},log=print;let homeHtmlCache=void 0;function home(e){return console.log("home"),homeParse({filter:rule.filter||!1,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude})}function homeVod(e){return console.log("homeVod"),homeVodParse({"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl})}function category(e,t,r,l){return categoryParse({url:rule.url,"一级":rule.一级,tid:e,pg:parseInt(t),filter:r,extend:l})}function detail(e){let t=e,r="";if(log("orId:"+t),e.indexOf("$")>-1){let t=e.split("$");r=t[0],e=t[1]}let l,o=e.split("@@")[0];return detailParse({orId:t,url:l=o.startsWith("http")||o.includes("/")?o.includes("/")?urljoin(rule.homeUrl,o):o:rule.detailUrl.replaceAll("fyid",o).replaceAll("fyclass",r),"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:o,fyclass:r,tab_exclude:rule.tab_exclude})}function play(e,t,r){return playParse({url:t,flag:e,flags:r})}function search(e,t,r){return rule.search_encoding?"utf-8"!==rule.search_encoding.toLowerCase()&&(e=encodeStr(e,rule.search_encoding)):rule.encoding&&"utf-8"!==rule.encoding.toLowerCase()&&(e=encodeStr(e,rule.encoding)),searchParse({searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:e,pg:r||1,quick:t})}function proxy(e){return rule.proxy_rule&&rule.proxy_rule.trim()&&(rule.proxy_rule=rule.proxy_rule.trim()),rule.proxy_rule.startsWith("js:")&&(rule.proxy_rule=rule.proxy_rule.replace("js:","")),proxyParse({params:e,proxy_rule:rule.proxy_rule})}function sniffer(){let e=rule.sniffer||!1;return e&&log("开始执行辅助嗅探代理规则..."),e}function isVideo(e){let t,r=0;rule.isVideo&&rule.isVideo.trim()&&(t=rule.isVideo.trim()),t.startsWith("js:")&&(t=t.replace("js:",""),r=1);let l=isVideoParse({url:e,isVideo:t,t:r});return l&&log("成功执行辅助嗅探规则并检测到视频地址:\n"+rule.isVideo),l}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,DRPY:DRPY};
\ No newline at end of file
diff --git a/天天开心/api/gbk.js b/天天开心/api/gbk.js
new file mode 100644
index 0000000..796d53a
--- /dev/null
+++ b/天天开心/api/gbk.js
@@ -0,0 +1,68 @@
+/***
+ * gbk编码解码函数
+ * strTool = gbkTool() strTool.encode(key)
+ * @returns {{encode: (function(*): *), decode: (function(*): *)}}
+ */
+export function gbkTool(){
+ var data=function(zipData){
+ var re=zipData
+ .replace(/#(\d+)\$/g,function(a,b){
+ return Array(+b+3).join('#');
+ })
+ .replace(/#/g,'####')
+ .replace(/(\w\w):([\w#]+)(?:,|$)/g,function(a,hd,dt){
+ return dt.replace(/../g,function(a){
+ if(a!='##'){
+ return hd+a;
+ }else{
+ return a;
+ }
+ });
+ });
+ return re;
+ }('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f9091929394959697989a9b9c9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b8b9babbbcbdbebfc0c1c2c3c4c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d7d8d9dadcdfe0e3e4eaeced#f0f5f6f8f9fafbfcff,5e:000407090a0b0d0e1213171e1f20212223242528292a2b2c2f303233343536393a3e3f404143464748494a4b4d4e4f50515253565758595a5c5d5f60636465666768696a6b6c6d6e6f70717577797e8182838588898c8d8e92989b9da1a2a3a4a8a9aaabacaeafb0b1b2b4babbbcbdbfc0c1c2c3c4c5c6c7c8cbcccdcecfd0d4d5d7d8d9dadcdddedfe0e1e2e3e4e5e6e7e9ebecedeeeff0f1f2f3f5f8f9fbfcfd,5f:050607090c0d0e10121416191a1c1d1e21222324#282b2c2e30323334353637383b3d3e3f4142434445464748494a4b4c4d4e4f5154595a5b5c5e5f60636567686b6e6f72747576787a7d7e7f83868d8e8f919394969a9b9d9e9fa0a2a3a4a5a6a7a9abacafb0b1b2b3b4b6b8b9babbbebfc0c1c2c7c8cacbced3d4d5dadbdcdedfe2e3e5e6e8e9eceff0f2f3f4f6f7f9fafc,60:0708090b0c10111317181a1e1f2223242c2d2e3031323334363738393a3d3e404445464748494a4c4e4f5153545657585b5c5e5f606165666e71727475777e80#8182858687888a8b8e8f909193959798999c9ea1a2a4a5a7a9aaaeb0b3b5b6b7b9babdbebfc0c1c2c3c4c7c8c9cccdcecfd0d2d3d4d6d7d9dbdee1e2e3e4e5eaf1f2f5f7f8fbfcfdfeff,61:02030405070a0b0c1011121314161718191b1c1d1e21222528292a2c2d2e2f303132333435363738393a3b3c3d3e4041424344454647494b4d4f50525354565758595a5b5c5e5f606163646566696a6b6c6d6e6f717273747678797a7b7c7d7e7f808182838485868788898a8c8d8f9091929395#969798999a9b9c9e9fa0a1a2a3a4a5a6aaabadaeafb0b1b2b3b4b5b6b8b9babbbcbdbfc0c1c3c4c5c6c7c9cccdcecfd0d3d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e7e8e9eaebecedeeeff0f1f2f3f4f6f7f8f9fafbfcfdfe,62:00010203040507091314191c1d1e2023262728292b2d2f303132353638393a3b3c424445464a4f50555657595a5c5d5e5f6061626465687172747577787a7b7d818283858687888b8c8d8e8f9094999c9d9ea3a6a7a9aaadaeafb0b2b3b4b6b7b8babec0c1#c3cbcfd1d5dddee0e1e4eaebf0f2f5f8f9fafb,63:00030405060a0b0c0d0f10121314151718191c2627292c2d2e30313334353637383b3c3e3f40414447484a51525354565758595a5b5c5d60646566686a6b6c6f707273747578797c7d7e7f81838485868b8d9193949597999a9b9c9d9e9fa1a4a6abafb1b2b5b6b9bbbdbfc0c1c2c3c5c7c8cacbccd1d3d4d5d7d8d9dadbdcdddfe2e4e5e6e7e8ebeceeeff0f1f3f5f7f9fafbfcfe,64:0304060708090a0d0e111215161718191a1d1f222324#252728292b2e2f3031323335363738393b3c3e404243494b4c4d4e4f505153555657595a5b5c5d5f60616263646566686a6b6c6e6f70717273747576777b7c7d7e7f8081838688898a8b8c8d8e8f90939497989a9b9c9d9fa0a1a2a3a5a6a7a8aaabafb1b2b3b4b6b9bbbdbebfc1c3c4c6c7c8c9cacbcccfd1d3d4d5d6d9dadbdcdddfe0e1e3e5e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,65:01020304050607080a0b0c0d0e0f10111314151617191a1b1c1d1e1f2021#222324262728292a2c2d30313233373a3c3d404142434446474a4b4d4e5052535457585a5c5f606164656768696a6d6e6f7173757678797a7b7c7d7e7f8081828384858688898a8d8e8f92949596989a9d9ea0a2a3a6a8aaacaeb1b2b3b4b5b6b7b8babbbebfc0c2c7c8c9cacdd0d1d3d4d5d8d9dadbdcdddedfe1e3e4eaebf2f3f4f5f8f9fbfcfdfeff,66:0104050708090b0d1011121617181a1b1c1e2122232426292a2b2c2e3032333738393a3b3d3f40424445464748494a4d4e505158#595b5c5d5e6062636567696a6b6c6d7172737578797b7c7d7f808183858688898a8b8d8e8f909293949598999a9b9c9e9fa0a1a2a3a4a5a6a9aaabacadafb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8dadedfe0e1e2e3e4e5e7e8eaebecedeeeff1f5f6f8fafbfd,67:010203040506070c0e0f1112131618191a1c1e20212223242527292e303233363738393b3c3e3f414445474a4b4d5254555758595a5b5d62636466676b6c6e717476#78797a7b7d8082838586888a8c8d8e8f9192939496999b9fa0a1a4a6a9acaeb1b2b4b9babbbcbdbebfc0c2c5c6c7c8c9cacbcccdced5d6d7dbdfe1e3e4e6e7e8eaebedeef2f5f6f7f8f9fafbfcfe,68:01020304060d1012141518191a1b1c1e1f20222324252627282b2c2d2e2f30313435363a3b3f474b4d4f52565758595a5b5c5d5e5f6a6c6d6e6f707172737578797a7b7c7d7e7f8082848788898a8b8c8d8e90919294959698999a9b9c9d9e9fa0a1a3a4a5a9aaabacaeb1b2b4b6b7b8#b9babbbcbdbebfc1c3c4c5c6c7c8cacccecfd0d1d3d4d6d7d9dbdcdddedfe1e2e4e5e6e7e8e9eaebecedeff2f3f4f6f7f8fbfdfeff,69:00020304060708090a0c0f11131415161718191a1b1c1d1e21222325262728292a2b2c2e2f313233353637383a3b3c3e4041434445464748494a4b4c4d4e4f50515253555658595b5c5f616264656768696a6c6d6f7072737475767a7b7d7e7f8183858a8b8c8e8f909192939697999a9d9e9fa0a1a2a3a4a5a6a9aaacaeafb0b2b3b5b6b8b9babcbd#bebfc0c2c3c4c5c6c7c8c9cbcdcfd1d2d3d5d6d7d8d9dadcdddee1e2e3e4e5e6e7e8e9eaebeceeeff0f1f3f4f5f6f7f8f9fafbfcfe,6a:000102030405060708090b0c0d0e0f10111213141516191a1b1c1d1e20222324252627292b2c2d2e30323334363738393a3b3c3f40414243454648494a4b4c4d4e4f515253545556575a5c5d5e5f60626364666768696a6b6c6d6e6f70727374757677787a7b7d7e7f81828385868788898a8b8c8d8f929394959698999a9b9c9d9e9fa1a2a3a4a5a6#a7a8aaadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,6b:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f252628292a2b2c2d2e2f303133343536383b3c3d3f4041424445484a4b4d4e4f5051525354555657585a5b5c5d5e5f606168696b6c6d6e6f7071727374757677787a7d7e7f808588#8c8e8f909194959798999c9d9e9fa0a2a3a4a5a6a7a8a9abacadaeafb0b1b2b6b8b9babbbcbdbec0c3c4c6c7c8c9caccced0d1d8dadcdddedfe0e2e3e4e5e6e7e8e9ecedeef0f1f2f4f6f7f8fafbfcfeff,6c:000102030408090a0b0c0e12171c1d1e2023252b2c2d31333637393a3b3c3e3f434445484b4c4d4e4f5152535658595a62636566676b6c6d6e6f71737577787a7b7c7f8084878a8b8d8e9192959697989a9c9d9ea0a2a8acafb0b4b5b6b7bac0c1c2c3c6c7c8cbcdcecfd1d2d8#d9dadcdddfe4e6e7e9ecedf2f4f9ff,6d:000203050608090a0d0f101113141516181c1d1f20212223242628292c2d2f30343637383a3f404244494c50555657585b5d5f6162646567686b6c6d707172737576797a7b7d7e7f8081838486878a8b8d8f9092969798999a9ca2a5acadb0b1b3b4b6b7b9babbbcbdbec1c2c3c8c9cacdcecfd0d2d3d4d5d7dadbdcdfe2e3e5e7e8e9eaedeff0f2f4f5f6f8fafdfeff,6e:0001020304060708090b0f12131518191b1c1e1f222627282a2c2e30313335#3637393b3c3d3e3f40414245464748494a4b4c4f5051525557595a5c5d5e606162636465666768696a6c6d6f707172737475767778797a7b7c7d8081828487888a8b8c8d8e91929394959697999a9b9d9ea0a1a3a4a6a8a9abacadaeb0b3b5b8b9bcbebfc0c3c4c5c6c8c9cacccdced0d2d6d8d9dbdcdde3e7eaebecedeeeff0f1f2f3f5f6f7f8fafbfcfdfeff,6f:000103040507080a0b0c0d0e101112161718191a1b1c1d1e1f212223252627282c2e303234353738393a3b3c3d3f404142#43444548494a4c4e4f5051525354555657595a5b5d5f60616364656768696a6b6c6f707173757677797b7d7e7f808182838586878a8b8f909192939495969798999a9b9d9e9fa0a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b7b8babbbcbdbebfc1c3c4c5c6c7c8cacbcccdcecfd0d3d4d5d6d7d8d9dadbdcdddfe2e3e4e5e6e7e8e9eaebecedf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,70:000102030405060708090a0b0c0d0e0f1012131415161718191c1d1e1f2021222425262728292a#2b2c2d2e2f30313233343637383a3b3c3d3e3f404142434445464748494a4b4d4e505152535455565758595a5b5c5d5f606162636465666768696a6e7172737477797a7b7d818283848687888b8c8d8f90919397989a9b9e9fa0a1a2a3a4a5a6a7a8a9aab0b2b4b5b6babebfc4c5c6c7c9cbcccdcecfd0d1d2d3d4d5d6d7dadcdddee0e1e2e3e5eaeef0f1f2f3f4f5f6f8fafbfcfeff,71:0001020304050607080b0c0d0e0f111214171b1c1d1e1f2021222324252728292a2b2c2d2e323334#353738393a3b3c3d3e3f4041424344464748494b4d4f505152535455565758595a5b5d5f6061626365696a6b6c6d6f707174757677797b7c7e7f8081828385868788898b8c8d8e909192939596979a9b9c9d9ea1a2a3a4a5a6a7a9aaabadaeafb0b1b2b4b6b7b8babbbcbdbebfc0c1c2c4c5c6c7c8c9cacbcccdcfd0d1d2d3d6d7d8d9dadbdcdddedfe1e2e3e4e6e8e9eaebecedeff0f1f2f3f4f5f6f7f8fafbfcfdfeff,72:0001020304050708090a0b0c0d0e0f101112131415161718191a#1b1c1e1f2021222324252627292b2d2e2f3233343a3c3e40414243444546494a4b4e4f505153545557585a5c5e60636465686a6b6c6d707173747677787b7c7d828385868788898c8e9091939495969798999a9b9c9d9ea0a1a2a3a4a5a6a7a8a9aaabaeb1b2b3b5babbbcbdbebfc0c5c6c7c9cacbcccfd1d3d4d5d6d8dadb#95$,30:000102,00b702:c9c7,00a830:0305,2014ff5e20:162618191c1d,30:141508090a0b0c0d0e0f16171011,00:b1d7f7,22:362728110f2a2908371aa52520,231222:992b2e614c483d1d606e6f64651e3534,26:4240,00b020:3233,2103ff0400a4ff:e0e1,203000a7211626:0605,25:cbcfcec7c6a1a0b3b2,203b21:92909193,30:13#95$,21:70717273747576777879#4$,24:88898a8b8c8d8e8f909192939495969798999a9b7475767778797a7b7c7d7e7f808182838485868760616263646566676869##,32:20212223242526272829##,21:606162636465666768696a6b#97$,ff:010203e505060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5de3#95$,30:4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293#106$a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6#103$,03:9192939495969798999a9b9c9d9e9fa0a1a3a4a5a6a7a8a9#6$b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c3c4c5c6c7c8c9#5$,fe:3536393a3f403d3e41424344##3b3c373831#3334#104$,04:10111213141501161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f#13$30313233343551363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f#11$,02:cacbd9,20:13152535,21:050996979899,22:151f23526667bf,25:505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727381828384858687#88898a8b8c8d8e8f939495bcbde2e3e4e5,2609229530:121d1e#9$,010100e101ce00e0011300e9011b00e8012b00ed01d000ec014d00f301d200f2016b00fa01d400f901:d6d8dadc,00:fcea,0251e7c701:4448,e7c802:61#2$,31:05060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829#19$,30:212223242526272829,32a333:8e8f9c9d9ea1c4ced1d2d5,fe30ff:e2e4#,212132:31#,20:10#1$,30:fc9b9cfdfe069d9e,fe:494a4b4c4d4e4f50515254555657595a5b5c5d5e5f6061#626364656668696a6b,e7:e7e8e9eaebecedeeeff0f1f2f3,30:07#11$,25:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b#13$,72:dcdddfe2e3e4e5e6e7eaebf5f6f9fdfeff,73:00020405060708090b0c0d0f1011121418191a1f2023242627282d2f30323335363a3b3c3d404142434445464748#494a4b4c4e4f515354555658595a5b5c5d5e5f6162636465666768696a6b6e7071#92$72737475767778797a7b7c7d7f808182838586888a8c8d8f90929394959798999a9c9d9ea0a1a3a4a5a6a7a8aaacadb1b4b5b6b8b9bcbdbebfc1c3c4c5c6c7#cbccced2d3d4d5d6d7d8dadbdcdddfe1e2e3e4e6e8eaebeceeeff0f1f3f4f5f6f7#92$f8f9fafbfcfdfeff,74:0001020407080b0c0d0e1112131415161718191c1d1e1f2021232427292b2d2f31323738393a3b3d3e3f4042434445464748494a4b4c4d#4e4f505152535456585d606162636465666768696a6b6c6e6f717273747578797a#92$7b7c7d7f8284858688898a8c8d8f9192939495969798999a9b9d9fa0a1a2a3a4a5a6aaabacadaeafb0b1b2b3b4b5b6b7b8b9bbbcbdbebfc0c1c2c3c4c5c6c7#c8c9cacbcccdcecfd0d1d3d4d5d6d7d8d9dadbdddfe1e5e7e8e9eaebecedf0f1f2#92$f3f5f8f9fafbfcfdfe,75:0001020305060708090a0b0c0e1012141516171b1d1e202122232426272a2e3436393c3d3f414243444647494a4d5051525355565758#5d5e5f60616263646768696b6c6d6e6f7071737576777a7b7c7d7e808182848587#92$88898a8c8d8e909395989b9c9ea2a6a7a8a9aaadb6b7babbbfc0c1c6cbcccecfd0d1d3d7d9dadcdddfe0e1e5e9ecedeeeff2f3f5f6f7f8fafbfdfe,76:02040607#08090b0d0e0f11121314161a1c1d1e212327282c2e2f31323637393a3b3d414244#92$45464748494a4b4e4f50515253555758595a5b5d5f6061626465666768696a6c6d6e7071727374757677797a7c7f80818385898a8c8d8f9092949597989a9b#9c9d9e9fa0a1a2a3a5a6a7a8a9aaabacadafb0b3b5b6b7b8b9babbbcbdbec0c1c3,554a963f57c3632854ce550954c076:914c,853c77ee827e788d72319698978d6c285b894ffa630966975cb880fa684880ae660276ce51f9655671ac7ff1888450b2596561ca6fb382ad634c625253ed54277b06516b75a45df462d48dcb9776628a8019575d97387f627238767d67cf767e64464f708d2562dc7a17659173ed642c6273822c9881677f724862:6ecc,4f3474e3534a529e7eca90a65e2e6886699c81807ed168d278c5868c9551508d8c2482de80de53058912526576:c4c7c9cbccd3d5d9dadcdddee0e1e2e3e4e6e7e8e9eaebecedf0f3f5f6f7fafbfdff,77:00020305060a0c0e0f1011121314151617181b1c1d1e21232425272a2b#2c2e3031323334393b3d3e3f4244454648494a4b4c4d4e4f52535455565758595c,858496f94fdd582199715b9d62:b1a5,66b48c799c8d7206676f789160b253:5117,8f8880cc8d1d94a1500d72c8590760eb711988ab595482ef672c7b285d297ef7752d6cf58e668ff8903c9f3b6bd491197b145f7c78a784d6853d6b:d5d9d6,5e:0187,75f995ed655d5f:0ac5,8f9f58c181c2907f965b97ad8fb97f168d2c62414fbf53:d85e,8f:a8a9ab,904d68075f6a819888689cd6618b522b762a5f6c658c6fd26ee85bbe644851:75b0,67c44e1979c9997c70b377:5d5e5f606467696a6d6e6f7071727374757677787a7b7c818283868788898a8b8f90939495969798999a9b9c9d9ea1a3a4a6a8abadaeafb1b2b4b6b7b8b9ba#bcbec0c1c2c3c4c5c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d8d9dadddedfe0e1e4,75c55e7673bb83e064ad62e894b56ce2535a52c3640f94c27b944f2f5e1b823681:168a,6e246cca9a736355535c54fa886557e04e0d5e036b657c3f90e8601664e6731c88c16750624d8d22776c8e2991c75f6983dc8521991053c286956b8b60:ede8,707f82:cd31,4ed36ca785cf64cd7cd969fd66f9834953957b564fa7518c6d4b5c428e6d63d253c983:2c36,67e578b4643d5bdf5c945dee8be762c667f48c7a640063ba8749998b8c177f2094f24ea7961098a4660c731677:e6e8eaeff0f1f2f4f5f7f9fafbfc,78:0304050607080a0b0e0f101315191b1e20212224282a2b2e2f31323335363d3f414243444648494a4b4d4f51535458595a#5b5c5e5f606162636465666768696f7071727374757678797a7b7d7e7f80818283,573a5c1d5e38957f507f80a05382655e7545553150218d856284949e671d56326f6e5de2543570928f66626f64a463a35f7b6f8890f481e38fb05c1866685ff16c8996488d81886c649179f057ce6a59621054484e587a0b60e96f848bda627f901e9a8b79e4540375f4630153196c608fdf5f1b9a70803b9f7f4f885c3a8d647fc565a570bd51:45b2,866b5d075ba062bd916c75748e0c7a2061017b794ec77ef877854e1181ed521d51fa6a7153a88e87950496cf6ec19664695a78:848586888a8b8f9092949596999d9ea0a2a4a6a8a9aaabacadaeafb5b6b7b8babbbcbdbfc0c2c3c4c6c7c8cccdcecfd1d2d3d6d7d8dadbdcdddedfe0e1e2e3#e4e5e6e7e9eaebedeeeff0f1f3f5f6f8f9fbfcfdfeff,79:00020304060708090a0b0c,784050a877d7641089e6590463e35ddd7a7f693d4f20823955984e3275ae7a975e:628a,95ef521b5439708a6376952457826625693f918755076df37eaf882262337ef075b5832878c196cc8f9e614874f78bcd6b64523a8d506b21806a847156f153064e:ce1b,51d17c97918b7c074fc38e7f7be17a9c64675d1450ac810676017cb96dec7fe067515b:58f8,78cb64:ae13,63:aa2b,9519642d8fbe7b5476296253592754466b7950a362345e266b864ee38d37888b5f85902e79:0d0e0f1011121415161718191a1b1c1d1f2021222325262728292a2b2c2d2e2f3031323335363738393d3f42434445474a4b4c4d4e4f505152545558596163#6466696a6b6c6e70717273747576797b7c7d7e7f8283868788898b8c8d8e909192,6020803d62c54e39535590f863b880c665e66c2e4f4660ee6de18bde5f3986cb5f536321515a83616863520063638e4850125c9b79775bfc52307a3b60bc905376d75f:b797,76848e6c706f767b7b4977aa51f3909358244f4e6ef48fea654c7b1b72c46da47fdf5ae162b55e95573084827b2c5e1d5f1f90127f1498a063826ec7789870b95178975b57ab75354f4375385e9760e659606dc06bbf788953fc96d551cb52016389540a94938c038dcc7239789f87768fed8c0d53e079:939495969798999b9c9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b6b7b8bcbfc2c4c5c7c8cacccecfd0d3d4d6d7d9dadbdcdddee0e1e2e5e8ea#eceef1f2f3f4f5f6f7f9fafcfeff,7a:0104050708090a0c0f10111213151618191b1c,4e0176ef53ee948998769f0e952d5b9a8ba24e:221c,51ac846361c252a8680b4f97606b51bb6d1e515c6296659796618c46901775d890fd77636bd272:8aec,8bfb583577798d4c675c9540809a5ea66e2159927aef77ed953b6bb565ad7f0e58065151961f5bf958a954288e726566987f56e4949d76fe9041638754c659:1a3a,579b8eb267358dfa8235524160f0581586fe5ce89e454fc4989d8bb95a2560765384627c904f9102997f6069800c513f80335c1499756d314e8c7a:1d1f21222425262728292a2b2c2d2e2f303132343536383a3e4041424344454748494a4b4c4d4e4f50525354555658595a5b5c5d5e5f606162636465666768#696a6b6c6d6e6f717273757b7c7d7e828587898a8b8c8e8f909394999a9b9ea1a2,8d3053d17f5a7b4f4f104e4f96006cd573d085e95e06756a7ffb6a0a77fe94927e4151e170e653cd8fd483038d2972af996d6cdb574a82b365b980aa623f963259a84eff8bbf7eba653e83f2975e556198de80a5532a8bfd542080ba5e9f6cb88d3982ac915a54296c1b52067eb7575f711a6c7e7c89594b4efd5fff61247caa4e305c0167ab87025cf0950b98ce75af70fd902251af7f1d8bbd594951e44f5b5426592b657780a45b7562:76c2,8f905e456c1f7b264f:0fd8,670d7a:a3a4a7a9aaabaeafb0b1b2b4b5b6b7b8b9babbbcbdbec0c1c2c3c4c5c6c7c8c9cacccdcecfd0d1d2d3d4d5d7d8dadbdcdde1e2e4e7e8e9eaebeceef0f1f2f3#f4f5f6f7f8fbfcfe,7b:0001020507090c0d0e1012131617181a1c1d1f21222327292d,6d:6eaa,798f88b15f17752b629a8f854fef91dc65a781:2f51,5e9c81508d74526f89868d4b590d50854ed8961c723681798d1f5bcc8ba3964459877f1a549056:760e,8be565396982949976d66e895e72751867:46d1,7aff809d8d76611f79c665628d635188521a94a27f38809b7eb25c976e2f67607bd9768b9ad8818f7f947cd5641e95507a3f54:4ae5,6b4c640162089e3d80f3759952729769845b683c86e496:0194,94ec4e2a54047ed968398ddf801566f45e9a7fb97b:2f303234353637393b3d3f404142434446484a4d4e535557595c5e5f61636465666768696a6b6c6d6f70737476787a7c7d7f81828384868788898a8b8c8e8f#9192939698999a9b9e9fa0a3a4a5aeafb0b2b3b5b6b7b9babbbcbdbebfc0c2c3c4,57c2803f68975de5653b529f606d9f9a4f9b8eac516c5bab5f135de96c5e62f18d21517194a952fe6c9f82df72d757a267848d2d591f8f9c83c754957b8d4f306cbd5b6459d19f1353e486ca9aa88c3780a16545987e56fa96c7522e74dc52505be1630289024e5662d0602a68fa51735b9851a089c27ba199867f5060ef704c8d2f51495e7f901b747089c4572d78455f529f9f95fa8f689b3c8be17678684267dc8d:ea35,523d8f8a6eda68cd950590ed56fd679c88f98fc754c87b:c5c8c9cacbcdcecfd0d2d4d5d6d7d8dbdcdedfe0e2e3e4e7e8e9ebecedeff0f2f3f4f5f6f8f9fafbfdff,7c:0001020304050608090a0d0e101112131415171819#1a1b1c1d1e20212223242528292b2c2d2e2f3031323334353637393a3b3c3d3e42,9ab85b696d776c264ea55bb39a87916361a890af97e9542b6db55bd251fd558a7f:55f0,64bc634d65f161be608d710a6c:5749,592f676d822a58d5568e8c6a6beb90dd597d801753f76d695475559d83:77cf,683879be548c4f55540876d28c8996026cb36db88d6b89109e648d3a563f9ed175d55f8872e0606854fc4ea86a2a886160528f7054c470d886799e3f6d2a5b8f5f187ea255894faf7334543c539a501954:0e7c,4e4e5ffd745a58f6846b80e1877472d07cca6e567c:434445464748494a4b4c4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717275767778797a7e7f8081828384858687#888a8b8c8d8e8f90939496999a9ba0a1a3a6a7a8a9abacadafb0b4b5b6b7b8babb,5f27864e552c62a44e926caa623782b154d7534e733e6ed1753b521253168bdd69d05f8a60006dee574f6b2273af68538fd87f13636260a3552475ea8c6271156da35ba65e7b8352614c9ec478fa87577c27768751f060f6714c66435e4c604d8c0e707063258f895fbd606286d456de6bc160946167534960e066668d3f79fd4f1a70e96c478b:b3f2,7ed88364660f5a5a9b426d:51f7,8c416d3b4f19706b83b7621660d1970d8d27797851fb57:3efa,673a75787a3d79ef7b957c:bfc0c2c3c4c6c9cbcecfd0d1d2d3d4d8dadbdddee1e2e3e4e5e6e7e9eaebecedeef0f1f2f3f4f5f6f7f9fafcfdfeff,7d:000102030405060708090b0c0d0e0f10#1112131415161718191a1b1c1d1e1f212324252628292a2c2d2e30313233343536,808c99658ff96fc08ba59e2159ec7ee97f095409678168d88f917c4d96c653ca602575be6c7253735ac97ea7632451e0810a5df184df628051805b634f0e796d524260b86d4e5b:c4c2,8b:a1b0,65e25fcc964559937e:e7aa,560967b759394f735bb652a0835a988a8d3e753294be50477a3c4ef767b69a7e5ac16b7c76d1575a5c167b3a95f4714e517c80a9827059787f04832768c067ec78:b177,62e363617b804fed526a51cf835069db92748d:f531,89c1952e7bad4ef67d:3738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6f70717273747576#78797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798,506582305251996f6e:1085,6da75efa50f559dc5c066d466c5f7586848b686859568bb253209171964d854969127901712680f64ea490ca6d479a845a0756bc640594f077eb4fa5811a72e189d2997a7f347ede527f655991758f:7f83,53eb7a9663:eda5,768679f888579636622a52ab8282685467706377776b7aed6d017ed389e359d0621285c982a5754c501f4ecb75a58beb5c4a5dfe7b4b65a491d14eca6d25895f7d2795264ec58c288fdb9773664b79818fd170ec6d787d:999a9b9c9d9e9fa0a1a2a3a4a5a7a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9#dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa,5c3d52b283465162830e775b66769cb84eac60ca7c:beb3,7ecf4e958b66666f988897595883656c955c5f8475c997567a:dfde,51c070af7a9863ea7a767ea0739697ed4e4570784e5d915253a965:51e7,81fc8205548e5c31759a97a062d872d975bd5c459a7983ca5c40548077e94e3e6cae805a62d2636e5de851778ddd8e1e952f4ff153e560e770ac526763509e435a1f5026773753777ee26485652b628963985014723589c951b38bc07edd574783cc94a7519b541b5cfb7d:fbfcfdfeff,7e:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839#3a3c3d3e3f40424344454648494a4b4c4d4e4f505152535455565758595a5b5c5d,4fca7ae36d5a90e19a8f55805496536154af5f0063e9697751ef6168520a582a52d8574e780d770b5eb761777ce062:5b97,4ea27095800362f770e49760577782db67ef68f578d5989779d158f354b353ef6e34514b523b5ba28bfe80af554357a660735751542d7a7a60505b5463a762a053e362635bc767af54ed7a9f82e691775e9388e4593857ae630e8de880ef57577b774fa95feb5bbd6b3e53217b5072c2684677:ff36,65f751b54e8f76d45cbf7aa58475594e9b4150807e:5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f909192939495969798999a9c9d9e#aeb4bbbcd6e4ecf9,7f:0a101e37393b3c3d3e3f404143464748494a4b4c4d4e4f5253,998861276e8357646606634656f062:ec69,5ed39614578362c955878721814a8fa3556683b167658d5684dd5a6a680f62e67bee961151706f9c8c3063fd89c861d27f0670c26ee57405699472fc5eca90ce67176d6a635e52b3726280014f6c59e5916a70d96d9d52d24e5096f7956d857e78ca7d2f5121579264c2808b7c7b6cea68f1695e51b7539868a872819ece7bf172f879bb6f137406674e91cc9ca4793c83:8954,540f68174e3d538952b1783e5386522950884f:8bd0,7f:56595b5c5d5e6063646566676b6c6d6f7073757677787a7b7c7d7f8082838485868788898b8d8f9091929395969798999b9ca0a2a3a5a6a8a9aaabacadaeb1#b3b4b5b6b7babbbec0c2c3c4c6c7c8c9cbcdcfd0d1d2d3d6d7d9dadbdcdddee2e3,75e27acb7c926ca596b6529b748354e94fe9805483b28fde95705ec9601c6d9f5e18655b813894fe604b70bc7ec37cae51c968817cb1826f4e248f8691cf667e4eae8c0564a9804a50da759771ce5be58fbd6f664e86648295635ed66599521788c270c852a3730e7433679778f797164e3490bb9cde6dcb51db8d41541d62ce73b283f196f69f8494c34f367f9a51cc707596755cad988653e64ee46e9c740969b4786b998f7559521876246d4167f3516d9f99804b54997b3c7abf7f:e4e7e8eaebecedeff2f4f5f6f7f8f9fafdfeff,80:020708090a0e0f11131a1b1d1e1f2123242b2c2d2e2f303234393a3c3e404144454748494e4f505153555657#595b5c5d5e5f6061626364656667686b6c6d6e6f7072737475767778797a7b7c7d,9686578462e29647697c5a0464027bd36f0f964b82a6536298855e90708963b35364864f9c819e93788c97328d:ef42,9e7f6f5e79845f559646622e9a74541594dd4fa365c55c:6561,7f1586516c2f5f8b73876ee47eff5ce6631b5b6a6ee653754e7163a0756562a18f6e4f264ed16ca67eb68bba841d87ba7f57903b95237ba99aa188f8843d6d1b9a867edc59889ebb739b780186829a:6c82,561b541757cb4e709ea653568fc881097792999286ee6ee1851366fc61626f2b80:7e818285888a8d8e8f909192949597999ea3a6a7a8acb0b3b5b6b8b9bbc5c7c8c9cacbcfd0d1d2d3d4d5d8dfe0e2e3e6eef5f7f9fbfeff,81:000103040507080b#0c1517191b1c1d1f202122232425262728292a2b2d2e3033343537393a3b3c3d3f,8c298292832b76f26c135fd983bd732b8305951a6bdb77db94c6536f830251925e3d8c8c8d384e4873ab679a68859176970971646ca177095a9295416bcf7f8e66275bd059b95a9a95:e8f7,4eec84:0c99,6aac76df9530731b68a65b5f772f919a97617cdc8ff78c1c5f257c7379d889c56ccc871c5bc65e4268c977207ef551:954d,52c95a297f05976282d763cf778485d079d26e3a5e9959998511706d6c1162bf76bf654f60af95fd660e879f9e2394ed54:0d7d,8c2c647881:40414243444547494d4e4f525657585b5c5d5e5f6162636466686a6b6c6f727375767778818384858687898b8c8d8e90929394959697999a9e9fa0a1a2a4a5#a7a9abacadaeafb0b1b2b4b5b6b7b8b9bcbdbebfc4c5c7c8c9cbcdcecfd0d1d2d3,647986116a21819c78e864699b5462b9672b83ab58a89ed86cab6f205bde964c8c0b725f67d062c772614ea959c66bcd589366ae5e5552df6155672876ee776672677a4662ff54:ea50,94a090a35a1c7eb36c164e435976801059485357753796be56ca63208111607c95f96dd65462998151855ae980fd59ae9713502a6ce55c3c62df4f60533f817b90066eba852b62c85e7478be64b5637b5ff55a18917f9e1f5c3f634f80425b7d556e95:4a4d,6d8560a867e072de51dd5b8181:d4d5d6d7d8d9dadbdcdddedfe0e1e2e4e5e6e8e9ebeeeff0f1f2f5f6f7f8f9fafdff,82:030708090a0b0e0f111315161718191a1d2024252627292e323a3c3d3f#404142434546484a4c4d4e5051525354555657595b5c5d5e606162636465666769,62e76cde725b626d94ae7ebd81136d53519c5f04597452aa6012597366968650759f632a61e67cef8bfa54e66b279e256bb485d5545550766ca4556a8db4722c5e156015743662cd6392724c5f986e436d3e65006f5876d878d076fc7554522453db4e535e9e65c180:2ad6,629b5486522870ae888d8dd16ce1547880da57f988f48d54966a914d4f696c9b55b776c6783062a870f96f8e5f6d84ec68da787c7bf781a8670b9e4f636778b0576f7812973962:79ab,528874356bd782:6a6b6c6d71757677787b7c808183858687898c90939495969a9b9ea0a2a3a7b2b5b6babbbcbfc0c2c3c5c6c9d0d6d9dadde2e7e8e9eaecedeef0f2f3f5f6f8#fafcfdfeff,83:000a0b0d1012131618191d1e1f20212223242526292a2e3032373b3d,5564813e75b276ae533975de50fb5c418b6c7bc7504f72479a9798d86f0274e27968648777a562fc98918d2b54c180584e52576a82f9840d5e7351ed74f68bc45c4f57616cfc98875a4678349b448feb7c955256625194fa4ec68386846183e984b257d467345703666e6d668c3166dd7011671f6b3a6816621a59bb4e0351c46f0667d26c8f517668cb59476b6775665d0e81109f5065d779:4841,9a918d775c824e5e4f01542f5951780c56686c148fc45f036c:7de3,8bab639083:3e3f41424445484a4b4c4d4e5355565758595d6270717273747576797a7e7f808182838487888a8b8c8d8f909194959697999a9d9fa1a2a3a4a5a6a7acadae#afb5bbbebfc2c3c4c6c8c9cbcdced0d1d2d3d5d7d9dadbdee2e3e4e6e7e8ebeced,60706d3d7275626694:8ec5,53438fc17b7e4edf8c264e7e9ed494:b1b3,524d6f5c90636d458c3458115d4c6b:2049,67aa545b81547f8c589985375f3a62a26a47953965726084686577a74e544fa85de7979864ac7fd85ced4fcf7a8d520783044e14602f7a8394a64fb54eb279e6743452e482b964d279bd5bdd6c8197528f7b6c22503e537f6e0564ce66746c3060c598778bf75e86743c7a7779cb4e1890b174036c4256da914b6cc58d8b533a86c666f28eaf5c489a716e2083:eeeff3f4f5f6f7fafbfcfeff,84:0002050708090a10121314151617191a1b1e1f20212223292a2b2c2d2e2f30323334353637393a3b3e3f404142434445474849#4a4b4c4d4e4f505253545556585d5e5f606264656667686a6e6f70727477797b7c,53d65a369f8b8da353bb570898a76743919b6cc9516875ca62f372ac52:389d,7f3a7094763853749e4a69b7786e96c088d97fa471:36c3,518967d374e458e4651856b78ba9997662707ed560f970ed58ec4e:c1ba,5fcd97e74efb8ba45203598a7eab62544ecd65e5620e833884c98363878d71946eb65bb97ed2519763c967d480898339881551125b7a59828fb14e736c5d516589258f6f962e854a745e95:10f0,6da682e55f3164926d128428816e9cc3585e8d5b4e0953c184:7d7e7f8081838485868a8d8f90919293949596989a9b9d9e9fa0a2a3a4a5a6a7a8a9aaabacadaeb0b1b3b5b6b7bbbcbec0c2c3c5c6c7c8cbcccecfd2d4d5d7#d8d9dadbdcdee1e2e4e7e8e9eaebedeeeff1f2f3f4f5f6f7f8f9fafbfdfe,85:000102,4f1e6563685155d34e2764149a9a626b5ac2745f82726da968ee50e7838e7802674052396c997eb150bb5565715e7b5b665273ca82eb67495c715220717d886b95ea965564c58d6181b355846c5562477f2e58924f2455468d4f664c4e0a5c1a88f368a2634e7a0d70e7828d52fa97f65c1154e890b57ecd59628d4a86c782:0c0d,8d6664445c0461516d89793e8bbe78377533547b4f388eab6df15a207ec5795e6c885ba15a76751a80be614e6e1758f075:1f25,727253477ef385:030405060708090a0b0d0e0f101214151618191b1c1d1e2022232425262728292a2d2e2f303132333435363e3f404142444546474b4c4d4e4f505152535455#57585a5b5c5d5f60616263656667696a6b6c6d6e6f707173757677787c7d7f8081,770176db526980dc57235e08593172ee65bd6e7f8bd75c388671534177f362fe65f64ec098df86805b9e8bc653f277e24f7f5c4e9a7659cb5f0f793a58eb4e1667ff4e8b62ed8a93901d52bf662f55dc566c90024ed54f8d91ca99706c0f5e0260435ba489c68bd56536624b99965b:88ff,6388552e53d77626517d852c67a268b36b8a62928f9353d482126dd1758f4e668d4e5b70719f85af66:91d9,7f7287009ecd9f205c5e672f8ff06811675f620d7ad658855eb665706f3185:82838688898a8b8c8d8e909192939495969798999a9d9e9fa0a1a2a3a5a6a7a9abacadb1b2b3b4b5b6b8babbbcbdbebfc0c2c3c4c5c6c7c8cacbcccdced1d2#d4d6d7d8d9dadbdddedfe0e1e2e3e5e6e7e8eaebecedeeeff0f1f2f3f4f5f6f7f8,60555237800d6454887075295e05681362f4971c53cc723d8c016c3477617a0e542e77ac987a821c8bf47855671470c165af64955636601d79c153f84e1d6b7b80865bfa55e356db4f:3a3c,99725df3677e80386002988290015b8b8b:bcf5,641c825864de55fd82cf91654fd77d20901f7c9f50f358516eaf5bbf8bc980839178849c7b97867d96:8b8f,7ee59ad3788e5c817a57904296a7795f5b59635f7b0b84d168ad55067f2974107d2295016240584c4ed65b835979585485:f9fafcfdfe,86:0001020304060708090a0b0c0d0e0f10121314151718191a1b1c1d1e1f20212223242526282a2b2c2d2e2f3031323334353637393a3b3d3e3f40#4142434445464748494a4b4c525355565758595b5c5d5f6061636465666768696a,736d631e8e:4b0f,80ce82d462ac53f06cf0915e592a60016c70574d644a8d2a762b6ee9575b6a8075f06f6d8c:2d08,57666bef889278b363a253f970ad6c645858642a580268e0819b55107cd650188eba6dcc8d9f70eb638f6d9b6ed47ee68404684390036dd896768ba85957727985e4817e75bc8a8a68af52548e22951163d098988e44557c4f5366ff568f60d56d9552435c4959296dfb586b75:301c,606c82148146631167618fe2773a8d:f334,94c15e165385542c70c386:6d6f7072737475767778838485868788898e8f90919294969798999a9b9e9fa0a1a2a5a6abadaeb2b3b7b8b9bbbcbdbebfc1c2c3c5c8cccdd2d3d5d6d7dadc#dde0e1e2e3e5e6e7e8eaebeceff5f6f7fafbfcfdff,87:010405060b0c0e0f10111416,6c405ef7505c4ead5ead633a8247901a6850916e77b3540c94dc5f647ae5687663457b527edf75db507762955934900f51f879c37a8156fe5f9290146d825c60571f541051546e4d56e263a89893817f8715892a9000541e5c6f81c062:d658,81319e3596409a:6e7c,692d59a562d3553e631654c786d96d3c5a0374e6889c6b6a59168c4c5f2f6e7e73a9987d4e3870f75b8c7897633d665a769660cb5b9b5a494e0781556c6a738b4ea167897f515f8065fa671b5fd859845a0187:191b1d1f20242627282a2b2c2d2f303233353638393a3c3d404142434445464a4b4d4f505152545556585a5b5c5d5e5f6162666768696a6b6c6d6f71727375#7778797a7f8081848687898a8c8e8f90919294959698999a9b9c9d9ea0a1a2a3a4,5dcd5fae537197e68fdd684556f4552f60df4e3a6f4d7ef482c7840e59d44f:1f2a,5c3e7eac672a851a5473754f80c355829b4f4f4d6e2d8c135c096170536b761f6e29868a658795fb7eb9543b7a337d0a95ee55e17fc174ee631d87176da17a9d621165a1536763e16c835deb545c94a84e4c6c618bec5c4b65e0829c68a754:3e34,6b:cb66,4e9463425348821e4f:0dae,575e620a96fe6664726952:ffa1,609f8bef661471996790897f785277fd6670563b54389521727a87:a5a6a7a9aaaeb0b1b2b4b6b7b8b9bbbcbebfc1c2c3c4c5c7c8c9cccdcecfd0d4d5d6d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedeff0f1f2f3f4f5f6f7f8#fafbfcfdff,88:0001020405060708090b0c0d0e0f101112141718191a1c1d1e1f2023,7a00606f5e0c6089819d591560dc718470ef6eaa6c5072806a8488ad5e2d4e605ab3559c94e36d177cfb9699620f7ec6778e867e5323971e8f9666875ce14fa072ed4e0b53a6590f54136380952851484ed99c9c7ea454b88d248854823795f26d8e5f265acc663e966973:b02e,53bf817a99857fa15baa96:7750,7ebf76f853a2957699997bb189446e584e617fd479658be660f354cd4eab98795df76a6150cf54118c618427785d9704524a54ee56a395006d885bb56dc6665388:2425262728292a2b2c2d2e2f30313334353637383a3b3d3e3f414243464748494a4b4e4f505152535556585a5b5c5d5e5f6066676a6d6f717374757678797a#7b7c80838687898a8c8e8f90919394959798999a9b9d9e9fa0a1a3a5a6a7a8a9aa,5c0f5b5d6821809655787b11654869544e9b6b47874e978b534f631f643a90aa659c80c18c10519968b0537887f961c86c:c4fb,8c225c5185aa82af950c6b238f9b65b05f:fbc3,4fe18845661f8165732960fa51745211578b5f6290a2884c91925e78674f602759d351:44f6,80f853086c7996c4718a4f:11ee,7f9e673d55c5950879c088967ee3589f620c9700865a5618987b5f908bb884c4915753d965ed5e8f755c60647d6e5a7f7e:eaed,8f6955a75ba360ac65cb738488:acaeafb0b2b3b4b5b6b8b9babbbdbebfc0c3c4c7c8cacbcccdcfd0d1d3d6d7dadbdcdddee0e1e6e7e9eaebecedeeeff2f5f6f7fafbfdff,89:0001030405060708#090b0c0d0e0f1114151617181c1d1e1f20222324262728292c2d2e2f3132333537,9009766377297eda9774859b5b667a7496ea884052cb718f5faa65ec8be25bfb9a6f5de16b896c5b8b:adaf,900a8fc5538b62bc9e:262d,54404e2b82bd7259869c5d1688596daf96c554d14e9a8bb6710954bd960970df6df976d04e25781487125ca95ef68a00989c960e708e6cbf594463a9773c884d6f148273583071d5538c781a96c155015f6671305bb48c1a9a8c6b83592e9e2f79e76768626c4f6f75a17f8a6d0b96336c274ef075d2517b68376f3e908081705996747689:38393a3b3c3d3e3f40424345464748494a4b4c4d4e4f505152535455565758595a5b5c5d6061626364656768696a6b6c6d6e6f707172737475767778797a7c#7d7e808284858788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1,64475c2790657a918c2359da54ac8200836f898180006930564e8036723791ce51b64e5f987563964e1a53f666f3814b591c6db24e0058f9533b63d694f14f:9d0a,886398905937905779fb4eea80f075916c825b9c59e85f5d69058681501a5df24e5977e34ee5827a6291661390915c794ebf5f7981c69038808475ab4ea688d4610f6bc55fc64e4976ca6ea28b:e3ae,8c0a8bd15f027f:fccc,7ece83:356b,56e06bb797f3963459fb541f94f66deb5bc5996e5c395f15969089:a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c3cdd3d4d5d7d8d9dbdddfe0e1e2e4e7e8e9eaecedeef0f1f2f4f5f6f7f8f9fa#fbfcfdfeff,8a:01020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d,537082f16a315a749e705e947f2883b984:2425,836787478fce8d6276c85f719896786c662054df62e54f6381c375c85eb896cd8e0a86f9548f6cf36d8c6c38607f52c775285e7d4f1860a05fe75c24753190ae94c072b96cb96e389149670953:cbf3,4f5191c98bf153c85e7c8fc26de44e8e76c26986865e611a82064f:59de,903e9c7c61096e:1d14,96854e885a3196e84e0e5c7f79b95b878bed7fbd738957df828b90c15401904755bb5cea5fa161086b3272f180b28a:891e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f4041424344454647494a4b4c4d4e4f505152535455565758595a5b5c5d5e#5f606162636465666768696a6b6c6d6e6f7071727374757677787a7b7c7d7e7f80,6d745bd388d598848c6b9a6d9e336e0a51:a443,57a38881539f63f48f9556ed54585706733f6e907f188fdc82d1613f6028966266f07ea68d:8ac3,94a55cb37ca4670860a6960580184e9190e75300966851418fd08574915d665597f55b55531d78386742683d54c9707e5bb08f7d518d572854b1651266828d:5e43,810f846c906d7cdf51ff85fb67a365e96fa186a48e81566a90207682707671e58d2362e952196cfd8d3c600e589e618e66fe8d60624e55b36e23672d8f678a:81828384858687888b8c8d8e8f9091929495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3,94e195f87728680569a8548b4e4d70b88bc86458658b5b857a84503a5be877bb6be18a797c986cbe76cf65a98f975d2d5c5586386808536062187ad96e5b7efd6a1f7ae05f706f335f20638c6da867564e085e108d264ed780c07634969c62db662d627e6cbc8d7571677f695146808753ec906e629854f286f08f998005951785178fd96d5973cd659f771f7504782781fb8d1e94884fa6679575b98bca9707632f9547963584b8632377415f8172f04e896014657462ef6b63653f8a:e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8b:0001020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#24252728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,5e2775c790d18bc1829d679d652f5431871877e580a281026c414e4b7ec7804c76f4690d6b966267503c4f84574063076b628dbe53ea65e87eb85fd763:1ab7,81:f3f4,7f6e5e1c5cd95236667a79e97a1a8d28709975d46ede6cbb7a924e2d76c55fe0949f88777ec879cd80bf91cd4ef24f17821f54685dde6d328bcc7ca58f7480985e1a549276b15b99663c9aa473e0682a86db6731732a8b:f8db,90107af970db716e62c477a956314e3b845767f152a986c08d2e94f87b518b:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656768696a6b6d6e6f707172737475767778797a7b7c7d7e7f80818283848586#8788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9facb1bbc7d0ea,8c:091e,4f4f6ce8795d9a7b6293722a62fd4e1378168f6c64b08d5a7bc668695e8488c55986649e58ee72b6690e95258ffd8d5857607f008c0651c6634962d95353684c74228301914c55447740707c6d4a517954a88d4459ff6ecb6dc45b5c7d2b4ed47c7d6ed35b5081ea6e0d5b579b0368d58e2a5b977efc603b7eb590b98d70594f63cd79df8db3535265cf79568bc5963b7ec494bb7e825634918967007f6a5c0a907566285de64f5067de505a4f5c57505e:a7#3$,8c:38393a3b3c3d3e3f4042434445484a4b4d4e4f5051525354565758595b5c5d5e5f60636465666768696c6d6e6f707172747576777b7c7d7e7f808183848687#888b8d8e8f90919293959697999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad,4e:8d0c,51404e105eff53454e:15981e,9b325b6c56694e2879ba4e3f53154e47592d723b536e6c1056df80e499976bd3777e9f174e:369f,9f104e:5c6993,82885b5b556c560f4ec453:8d9da3a5ae,97658d5d53:1af5262e3e,8d5c53:6663,52:02080e2d333f404c5e615c,84af52:7d82819093,51827f544e:bbc3c9c2e8e1ebde,4f1b4ef34f:2264,4ef54f:2527092b5e67,65384f:5a5d,8c:aeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec#edeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8d:000102030405060708090a0b0c0d,4f:5f57323d76749189838f7e7baa7cac94e6e8eac5dae3dcd1dff8,50:294c,4ff350:2c0f2e2d,4ffe50:1c0c25287e4355484e6c7ba5a7a9bad6,510650:edece6ee,51:070b,4edd6c3d4f:5865ce,9fa06c467c74516e5dfd9ec999985181591452f9530d8a07531051eb591951554ea051564eb388:6ea4,4eb5811488d279805b3488037fb851:abb1bdbc,8d:0e0f101112131415161718191a1b1c205152575f6568696a6c6e6f717278797a7b7c7d7e7f808283868788898c8d8e8f90929395969798999a9b9c9d9ea0a1#a2a4a5a6a7a8a9aaabacadaeafb0b2b6b7b9bbbdc0c1c2c5c7c8c9cacdd0d2d3d4,51:c796a2a5,8b:a0a6a7aab4b5b7c2c3cbcfced2d3d4d6d8d9dcdfe0e4e8e9eef0f3f6f9fcff,8c:000204070c0f1112141516191b181d1f202125272a2b2e2f32333536,53:697a,96:1d2221312a3d3c4249545f676c7274888d97b0,90:979b9d99aca1b4b3b6ba,8d:d5d8d9dce0e1e2e5e6e7e9edeef0f1f2f4f6fcfeff,8e:00010203040607080b0d0e1011121315161718191a1b1c202124252627282b2d303233343637383b3c3e#3f4345464c4d4e4f505354555657585a5b5c5d5e5f60616263646567686a6b6e71,90:b8b0cfc5bed0c4c7d3e6e2dcd7dbebeffe,91:04221e23312f394346,520d594252:a2acadbe,54ff52:d0d6f0,53df71ee77cd5ef451:f5fc,9b2f53b65f01755a5def57:4ca9a1,58:7ebcc5d1,57:292c2a33392e2f5c3b4269856b867c7b686d7673ada48cb2cfa7b493a0d5d8dad9d2b8f4eff8e4dd,8e:73757778797a7b7d7e808283848688898a8b8c8d8e91929395969798999a9b9d9fa0a1a2a3a4a5a6a7a8a9aaadaeb0b1b3b4b5b6b7b8b9bbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4,58:0b0d,57:fded,58:001e194420656c81899a80,99a89f1961ff82:797d7f8f8aa8848e919799abb8beb0c8cae398b7aecbccc1a9b4a1aa9fc4cea4e1,830982:f7e4,83:0f07,82:dcf4d2d8,830c82:fbd3,83:111a061415,82:e0d5,83:1c515b5c08923c34319b5e2f4f47435f4017602d3a336665,8e:e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8f:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#2425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344,83:681b696c6a6d6eb078b3b4a0aa939c857cb6a97db87b989ea8babcc1,840183:e5d8,580784:180b,83:ddfdd6,84:1c381106,83:d4df,84:0f03,83:f8f9eac5c0,842683:f0e1,84:5c515a597387887a89783c4669768c8e316dc1cdd0e6bdd3cabfbae0a1b9b497e5e3,850c750d853884f085:391f3a,8f:45464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656a808c929da0a1a2a4a5a6a7aaacadaeafb2b3b4b5b7b8babbbcbfc0c3c6#c9cacbcccdcfd2d6d7dae0e1e3e7eceff1f2f4f5f6fafbfcfeff,90:07080c0e131518,85:563b,84:fffc,85:594868645e7a,77a285:43727ba4a8878f79ae9c85b9b7b0d3c1dcff,86:270529163c,5efe5f0859:3c41,803759:555a58,530f5c:22252c34,62:4c6a9fbbcadad7ee,632262f663:394b43adf6717a8eb46dac8a69aebcf2f8e0ffc4dece,645263:c6be,64:45410b1b200c26215e846d96,90:191c2324252728292a2b2c303132333437393a3d3f4043454648494a4b4c4e545556595a5c5d5e5f6061646667696a6b6c6f70717273767778797a7b7c7e81#84858687898a8c8d8e8f90929496989a9c9e9fa0a4a5a7a8a9abadb2b7bcbdbfc0,64:7ab7b899bac0d0d7e4e2,65:09252e,5f:0bd2,75195f1153:5ff1fde9e8fb,54:1216064b5253545643215759233282947771649a9b8476669dd0adc2b4d2a7a6d3d472a3d5bbbfccd9dadca9aaa4ddcfde,551b54e7552054fd551454f355:22230f11272a678fb5496d41553f503c,90:c2c3c6c8c9cbcccdd2d4d5d6d8d9dadedfe0e3e4e5e9eaeceef0f1f2f3f5f6f7f9fafbfcff,91:00010305060708090a0b0c0d0e0f1011121314151617181a1b1c#1d1f20212425262728292a2b2c2d2e30323334353637383a3b3c3d3e3f40414244,55:375675767733305c8bd283b1b988819f7ed6917bdfbdbe9499eaf7c9,561f55:d1ebecd4e6ddc4efe5f2f3cccde8f5e4,8f9456:1e080c012423,55fe56:00272d5839572c4d62595c4c548664716b7b7c8593afd4d7dde1f5ebf9ff,57:040a091c,5e:0f191411313b3c,91:454748515354555658595b5c5f606667686b6d737a7b7c808182838486888a8e8f939495969798999c9d9e9fa0a1a4a5a6a7a8a9abacb0b1b2b3b6b7b8b9bb#bcbdbebfc0c1c2c3c4c5c6c8cbd0d2d3d4d5d6d7d8d9dadbdddedfe0e1e2e3e4e5,5e:3744545b5e61,5c:8c7a8d9096889899919a9cb5a2bdacabb1a3c1b7c4d2e4cbe5,5d:020327262e241e061b583e343d6c5b6f5d6b4b4a697482999d,8c735d:b7c5,5f:73778287898c95999ca8adb5bc,88625f6172:adb0b4b7b8c3c1cecdd2e8efe9f2f4f7,730172f3730372fa91:e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,92:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324#25262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,72fb73:1713210a1e1d152239252c3831504d57606c6f7e,821b592598e759:2402,99:636768696a6b6c74777d8084878a8d9091939495,5e:80918b96a5a0b9b5beb3,8d535e:d2d1dbe8ea,81ba5f:c4c9d6cf,60035fee60045f:e1e4fe,60:0506,5f:eaedf8,60:1935261b0f0d292b0a3f2178797b7a42,92:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727375767778797a7b7c7d7e7f808182838485#868788898a8b8c8d8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7,60:6a7d969aad9d83928c9becbbb1ddd8c6dab4,61:20261523,60f461:000e2b4a75ac94a7b7d4f5,5fdd96b395:e9ebf1f3f5f6fcfe,96:030406080a0b0c0d0f12151617191a,4e2c723f62156c:35545c4aa38590948c6869747686a9d0d4adf7f8f1d7b2e0d6faebeeb1d3effe,92:a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8#e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,93:00010203040506070809,6d:39270c43480704190e2b4d2e351a4f525433916f9ea05e93945c607c63,6e1a6d:c7c5de,6e0e6d:bfe0,6e116d:e6ddd9,6e166dab6e0c6dae6e:2b6e4e6bb25f865354322544dfb198e0,6f2d6e:e2a5a7bdbbb7d7b4cf8fc29f,6f:6246472415,6ef96f:2f364b742a0929898d8c78727c7ad1,93:0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f40414243444546474849#4a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696b,6f:c9a7b9b6c2e1eedee0ef,70:1a231b39354f5e,5b:80849593a5b8,752f9a9e64345b:e4ee,89305bf08e478b078f:b6d3d5e5eee4e9e6f3e8,90:05040b26110d162135362d2f445152506858625b,66b990:747d8288838b,5f:50575658,5c3b54ab5c:5059,5b715c:6366,7fbc5f:2a292d,82745f3c9b3b5c6e59:81838da9aaa3,93:6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab#acadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cbcccd,59:97caab9ea4d2b2afd7be,5a:0506,59dd5a0859:e3d8f9,5a:0c09323411231340674a553c6275,80ec5a:aa9b777abeebb2d2d4b8e0e3f1d6e6d8dc,5b:091716323740,5c:151c,5b:5a6573515362,9a:7577787a7f7d808185888a90929396989b9c9d9fa0a2a3a5a7,7e:9fa1a3a5a8a9,93:cecfd0d1d2d3d4d5d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,94:000102030405060708090a0b0c0d#0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e,7e:adb0bec0c1c2c9cbccd0d4d7dbe0e1e8ebeeeff1f2,7f0d7e:f6fafbfe,7f:01020307080b0c0f111217191c1b1f212223242526272a2b2c2d2f3031323335,5e7a757f5ddb753e909573:8e91aea29fcfc2d1b7b3c0c9c8e5d9,987c740a73:e9e7debaf2,74:0f2a5b262528302e2c,94:2f303132333435363738393a3b3c3d3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6c6d6e6f#707172737475767778797a7b7c7d7e7f8081828384919698c7cfd3d4dae6fb,95:1c20,74:1b1a415c575559776d7e9c8e8081878b9ea8a990a7d2ba,97:eaebec,67:4c535e4869a5876a7398a775a89ead8b777cf0,680967d8680a67:e9b0,680c67:d9b5dab3dd,680067:c3b8e2,680e67:c1fd,68:323360614e624464831d55664167403e4a4929b58f7477936bc2,696e68fc69:1f20,68f995:27333d43484b555a606e74757778797a7b7c7d7e808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa#abacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb,692468f069:0b0157,68e369:10713960425d846b80987834cc8788ce896663799ba7bbabadd4b1c1cadf95e08dff,6a2f69ed6a:171865,69f26a:443ea0505b358e793d28587c9190a997ab,73:3752,6b:8182878492938d9a9ba1aa,8f:6b6d71727375767877797a7c7e818284878b,95:cccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7ecff,96:0713181b1e20232425262728292b2c2d2f303738393a3e41434a4e4f5152535657#58595a5c5d5e606365666b6d6e6f70717378797a7b7c7d7e7f808182838487898a,8f:8d8e8f989a,8ece62:0b171b1f222125242c,81e774:eff4ff,75:0f1113,65:34eeeff0,66:0a19,677266:031500,708566:f71d34313635,800666:5f54414f56615777848ca79dbedbdce6e9,8d:3233363b3d4045464849474d5559,89:c7cacbcccecfd0d1,72:6e9f5d666f7e7f848b8d8f92,63:0832b0,96:8c8e91929395969a9b9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb1b2b4b5b7b8babbbfc2c3c8cacbd0d1d3d4d6d7d8d9dadbdcdddedfe1e2e3e4e5e6e7eb#ecedeef0f1f2f4f5f8fafbfcfdff,97:0203050a0b0c10111214151718191a1b1d1f20,64:3fd8,80046b:eaf3fdf5f9,6c:0507060d1518191a2129242a32,65:35556b,72:4d525630,8662521680:9f9c93bc,670a80:bdb1abadb4b7e7e8e9eadbc2c4d9cdd7,671080:ddebf1f4ed,81:0d0e,80:f2fc,671581128c5a81:361e2c1832484c5374595a7160697c7d6d67,584d5ab581:888291,6ed581:a3aacc,672681:cabb,97:2122232425262728292b2c2e2f3133343536373a3b3c3d3f404142434445464748494a4b4c4d4e4f5051545557585a5c5d5f63646667686a6b6c6d6e6f7071#72757778797a7b7d7e7f8081828384868788898a8c8e8f9093959697999a9b9c9d,81:c1a6,6b:243739434659,98:d1d2d3d5d9da,6bb35f406bc289f365909f5165:93bcc6c4c3ccced2d6,70:809c969dbbc0b7abb1e8ca,71:1013162f31735c6845724a787a98b3b5a8a0e0d4e7f9,72:1d28,706c71:1866b9,62:3e3d434849,79:3b4046495b5c535a6257606f677a858a9aa7b3,5f:d1d0,97:9e9fa1a2a4a5a6a7a8a9aaacaeb0b1b3b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3#e4e5e8eeeff0f1f2f4f7f8f9fafbfcfdfeff,98:000102030405060708090a0b0c0d0e,60:3c5d5a67415963ab,61:060d5da99dcbd1,620680:807f,6c:93f6,6dfc77:f6f8,78:0009171811,65ab78:2d1c1d393a3b1f3c252c23294e6d56572650474c6a9b939a879ca1a3b2b9a5d4d9c9ecf2,790578f479:13241e34,9f9b9e:f9fbfc,76f177:040d,76f977:07081a22192d263538505147435a68,98:0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d#4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e,77:62657f8d7d808c919fa0b0b5bd,75:3a404e4b485b727983,7f:58615f,8a487f:68747179817e,76:cde5,883294:8586878b8a8c8d8f909497959a9b9ca3a4abaaadacafb0b2b4b6b7b8b9babcbdbfc4c8c9cacbcccdced0d1d2d5d6d7d9d8dbdedfe0e2e4e5e7e8ea,98:6f70717273748b8e929599a3a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcfd0d4d6d7dbdcdde0e1e2e3e4#e5e6e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,99:0001020304050607,94:e9ebeeeff3f4f5f7f9fcfdff,95:03020607090a0d0e0f1213141516181b1d1e1f222a2b292c3132343637383c3e3f4235444546494c4e4f525354565758595b5e5f5d61626465666768696a6b6c6f7172733a,77:e7ec,96c979:d5ede3eb,7a065d477a:03021e14,99:08090a0b0c0e0f1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2f303132333435363738393a3b3c3d3e3f40414243444546474849#4a4b4c4d4e4f50515253565758595a5b5c5d5e5f60616264667378797b7e828389,7a:393751,9ecf99a57a7076:888e9399a4,74:dee0,752c9e:202228292a2b2c3231363837393a3e414244464748494b4c4e5155575a5b5c5e63666768696a6b6c716d73,75:929496a09daca3b3b4b8c4b1b0c3c2d6cde3e8e6e4ebe7,760375:f1fcff,76:1000050c170a25181519,99:8c8e9a9b9c9d9e9fa0a1a2a3a4a6a7a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8#d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9,76:1b3c2220402d303f35433e334d5e545c566b6f,7fca7a:e6787980868895a6a0aca8adb3,88:6469727d7f82a2c6b7bcc9e2cee3e5f1,891a88:fce8fef0,89:2119131b0a342b3641667b,758b80e576:b2b4,77dc80:1214161c20222526272928310b3543464d526971,898398:788083,99:fafbfcfdfeff,9a:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738#393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859,98:898c8d8f949a9b9e9fa1a2a5a6,86:4d546c6e7f7a7c7ba88d8bac9da7a3aa93a9b6c4b5ceb0bab1afc9cfb4e9f1f2edf3d0,871386:def4dfd8d1,87:0307,86f887:080a0d09233b1e252e1a3e48343129373f82227d7e7b60704c6e8b53637c64596593afa8d2,9a:5a5b5c5d5e5f606162636465666768696a6b7283898d8e949599a6a9aaabacadaeafb2b3b4b5b9bbbdbebfc3c4c6c7c8c9cacdcecfd0d2d4d5d6d7d9dadbdc#dddee0e2e3e4e5e7e8e9eaeceef0f1f2f3f4f5f6f7f8fafcfdfeff,9b:000102040506,87:c68885ad9783abe5acb5b3cbd3bdd1c0cadbeae0ee,88:1613,87fe88:0a1b21393c,7f:36424445,82107a:fafd,7b:080304150a2b0f47382a192e31202524333e1e585a45754c5d606e7b62727190a6a7b8ac9da885aa9ca2abb4d1c1ccdddae5e6ea,7c0c7b:fefc,7c:0f160b,9b:07090a0b0c0d0e1011121415161718191a1b1c1d1e2021222425262728292a2b2c2d2e3031333435363738393a3d3e3f40464a4b4c4e50525355565758595a#5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b,7c:1f2a26384140,81fe82:010204,81ec884482:2122232d2f282b383b33343e44494b4f5a5f68,88:7e8588d8df,895e7f:9d9fa7afb0b2,7c7c65497c:919d9c9ea2b2bcbdc1c7cccdc8c5d7e8,826e66a87f:bfced5e5e1e6e9eef3,7cf87d:77a6ae,7e:479b,9e:b8b4,8d:73849491b1676d,8c:4749,91:4a504e4f64,9b:7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba#bbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb,91:626170696f7d7e7274798c85908d91a2a3aaadaeafb5b4ba,8c559e7e8d:b8eb,8e:055969,8d:b5bfbcbac4d6d7dadececfdbc6ecf7f8e3f9fbe4,8e098dfd8e:141d1f2c2e232f3a4039353d3149414251524a70767c6f74858f94909c9e,8c:78828a859894,659b89:d6dedadc,9b:dcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9c:000102030405060708090a0b0c0d0e0f101112131415161718191a#1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b,89:e5ebef,8a3e8b26975396:e9f3ef,97:0601080f0e2a2d303e,9f:808385868788898a8c,9efe9f:0b0d,96:b9bcbdced2,77bf96e092:8eaec8,93:3e6aca8f,94:3e6b,9c:7f8285868788,7a239c:8b8e90919294959a9b9e9fa0a1a2a3a5a6a7a8a9abadaeb0b1b2b3b4b5b6b7babbbcbdc4c5c6c7cacb3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a#7b7d7e808384898a8c8f93969798999daaacafb9bebfc0c1c2c8c9d1d2dadbe0e1cccdcecfd0d3d4d5d7d8d9dcdddfe2,97:7c85919294afaba3b2b4,9a:b1b0b7,9e589a:b6babcc1c0c5c2cbccd1,9b:45434749484d51,98e899:0d2e5554,9a:dfe1e6efebfbedf9,9b:080f131f23,9e:bdbe,7e3b9e:8287888b92,93d69e:9d9fdbdcdde0dfe2e9e7e5eaef,9f:222c2f39373d3e44,9c:e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9d:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021#22232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142#92$434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081#82838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2#92$a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1#e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9e:000102#92$030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e24272e30343b3c404d5052535456595d5f606162656e6f727475767778797a7b7c7d80#8183848586898a8c8d8e8f90919495969798999a9b9c9ea0a1a2a3a4a5a7a8a9aa#92$abacadaeafb0b1b2b3b5b6b7b9babcbfc0c1c2c3c5c6c7c8cacbccd0d2d3d5d6d7d9dadee1e3e4e6e8ebecedeef0f1f2f3f4f5f6f7f8fafdff,9f:000102030405#060708090a0c0f1112141516181a1b1c1d1e1f21232425262728292a2b2d2e3031#92$3233343536383a3c3f4041424345464748494a4b4c4d4e4f52535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778#797a7b7c7d7e81828d8e8f9091929394959697989c9d9ea1a2a3a4a5,f9:2c7995e7f1#92$,fa:0c0d0e0f111314181f20212324272829,e8:15161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243#4445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364'),
+ U2Ghash={},
+ G2Uhash={};
+ !function(data){
+ var k=0;
+ data=data.match(/..../g);
+ for(var i=0x81;i<=0xfe;i++){
+ for(var j=0x40;j<=0xFE;j++){
+ U2Ghash[data[k++]]=('%'+i.toString(16)+'%'+j.toString(16))
+ .toUpperCase();
+ }
+ }
+ for(var key in U2Ghash){
+ G2Uhash[U2Ghash[key]]=key;
+ }
+ }(data);
+ function isAscii(unicode) {
+ return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000));
+ }
+ return{
+ encode:function(str){
+ return str.replace(/./g,function(a){
+ var code=a.charCodeAt(0);
+ if(isAscii(code)){
+ return encodeURIComponent(a);
+ }else{
+ var key=code.toString(16);
+ if(key.length!=4)key=('000'+key).match(/....$/)[0];
+ return U2Ghash[key]||a;
+ }
+ });
+ },
+ decode:function(str){
+ return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g,function(a){
+ if(a in G2Uhash){
+ return String.fromCharCode('0x'+G2Uhash[a]);
+ }else{
+ return a;
+ }
+ }).replace(/%[\w]{2}/g,function(a){
+ return decodeURIComponent(a);
+
+ });
+ }
+ };
+}
\ No newline at end of file
diff --git a/天天开心/api/jinja.js b/天天开心/api/jinja.js
new file mode 100644
index 0000000..cc02357
--- /dev/null
+++ b/天天开心/api/jinja.js
@@ -0,0 +1,577 @@
+/*!
+ * Jinja Templating for JavaScript v0.1.8
+ * https://github.com/sstur/jinja-js
+ *
+ * This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/]
+ *
+ * In the interest of simplicity, it deviates from Jinja2 as follows:
+ * - Line statements, cycle, super, macro tags and block nesting are not implemented
+ * - auto escapes html by default (the filter is "html" not "e")
+ * - Only "html" and "safe" filters are built in
+ * - Filters are not valid in expressions; `foo|length > 1` is not valid
+ * - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`)
+ *
+ * Notes:
+ * - if property is not found, but method '_get' exists, it will be called with the property name (and cached)
+ * - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}`
+ * - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]`
+ * - `.2` is not a valid number literal; use `0.2`
+ *
+ */
+/*global require, exports, module, define */
+
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {}));
+})(this, (function (jinja) {
+ "use strict";
+ var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g;
+ var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g;
+ var NUMBER = /^[+-]?\d+(\.\d+)?$/;
+ //non-primitive literals (array and object literals)
+ var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g;
+ //bare identifiers such as variables and in object literals: {foo: 'value'}
+ var IDENTIFIERS = /[$_a-z][$\w]*/ig;
+ var VARIABLES = /i(\.i|\[[@#i]\])*/g;
+ var ACCESSOR = /(\.i|\[[@#i]\])/g;
+ var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g;
+ //extended (english) operators
+ var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g;
+ var LEADING_SPACE = /^\s+/;
+ var TRAILING_SPACE = /\s+$/;
+
+ var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/;
+ var TAGS = {
+ '{{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/,
+ '{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/,
+ '{%': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/,
+ '{#': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/
+ };
+
+ var delimeters = {
+ '{%': 'directive',
+ '{{': 'output',
+ '{#': 'comment'
+ };
+
+ var operators = {
+ and: '&&',
+ or: '||',
+ not: '!',
+ is: '==',
+ isnot: '!='
+ };
+
+ var constants = {
+ 'true': true,
+ 'false': false,
+ 'null': null
+ };
+
+ function Parser() {
+ this.nest = [];
+ this.compiled = [];
+ this.childBlocks = 0;
+ this.parentBlocks = 0;
+ this.isSilent = false;
+ }
+
+ Parser.prototype.push = function (line) {
+ if (!this.isSilent) {
+ this.compiled.push(line);
+ }
+ };
+
+ Parser.prototype.parse = function (src) {
+ this.tokenize(src);
+ return this.compiled;
+ };
+
+ Parser.prototype.tokenize = function (src) {
+ var lastEnd = 0, parser = this, trimLeading = false;
+ matchAll(src, START_TOKEN, function (open, index, src) {
+ //here we match the rest of the src against a regex for this tag
+ var match = src.slice(index + open.length).match(TAGS[open]);
+ match = (match ? match[0] : '');
+ //here we sub out strings so we don't get false matches
+ var simplified = match.replace(STRINGS, '@');
+ //if we don't have a close tag or there is a nested open tag
+ if (!match || ~simplified.indexOf(open)) {
+ return index + 1;
+ }
+ var inner = match.slice(0, 0 - open.length);
+ //check for white-space collapse syntax
+ if (inner.charAt(0) === '-') var wsCollapseLeft = true;
+ if (inner.slice(-1) === '-') var wsCollapseRight = true;
+ inner = inner.replace(/^-|-$/g, '').trim();
+ //if we're in raw mode and we are not looking at an "endraw" tag, move along
+ if (parser.rawMode && (open + inner) !== '{%endraw') {
+ return index + 1;
+ }
+ var text = src.slice(lastEnd, index);
+ lastEnd = index + open.length + match.length;
+ if (trimLeading) text = trimLeft(text);
+ if (wsCollapseLeft) text = trimRight(text);
+ if (wsCollapseRight) trimLeading = true;
+ if (open === '{{{') {
+ //liquid-style: make {{{x}}} => {{x|safe}}
+ open = '{{';
+ inner += '|safe';
+ }
+ parser.textHandler(text);
+ parser.tokenHandler(open, inner);
+ });
+ var text = src.slice(lastEnd);
+ if (trimLeading) text = trimLeft(text);
+ this.textHandler(text);
+ };
+
+ Parser.prototype.textHandler = function (text) {
+ this.push('write(' + JSON.stringify(text) + ');');
+ };
+
+ Parser.prototype.tokenHandler = function (open, inner) {
+ var type = delimeters[open];
+ if (type === 'directive') {
+ this.compileTag(inner);
+ } else if (type === 'output') {
+ var extracted = this.extractEnt(inner, STRINGS, '@');
+ //replace || operators with ~
+ extracted.src = extracted.src.replace(/\|\|/g, '~').split('|');
+ //put back || operators
+ extracted.src = extracted.src.map(function (part) {
+ return part.split('~').join('||');
+ });
+ var parts = this.injectEnt(extracted, '@');
+ if (parts.length > 1) {
+ var filters = parts.slice(1).map(this.parseFilter.bind(this));
+ this.push('filter(' + this.parseExpr(parts[0]) + ',' + filters.join(',') + ');');
+ } else {
+ this.push('filter(' + this.parseExpr(parts[0]) + ');');
+ }
+ }
+ };
+
+ Parser.prototype.compileTag = function (str) {
+ var directive = str.split(' ')[0];
+ var handler = tagHandlers[directive];
+ if (!handler) {
+ throw new Error('Invalid tag: ' + str);
+ }
+ handler.call(this, str.slice(directive.length).trim());
+ };
+
+ Parser.prototype.parseFilter = function (src) {
+ src = src.trim();
+ var match = src.match(/[:(]/);
+ var i = match ? match.index : -1;
+ if (i < 0) return JSON.stringify([src]);
+ var name = src.slice(0, i);
+ var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1);
+ args = this.parseExpr(args, {terms: true});
+ return '[' + JSON.stringify(name) + ',' + args + ']';
+ };
+
+ Parser.prototype.extractEnt = function (src, regex, placeholder) {
+ var subs = [], isFunc = typeof placeholder == 'function';
+ src = src.replace(regex, function (str) {
+ var replacement = isFunc ? placeholder(str) : placeholder;
+ if (replacement) {
+ subs.push(str);
+ return replacement;
+ }
+ return str;
+ });
+ return {src: src, subs: subs};
+ };
+
+ Parser.prototype.injectEnt = function (extracted, placeholder) {
+ var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src);
+ var arr = (isArr) ? src : [src];
+ var re = new RegExp('[' + placeholder + ']', 'g'), i = 0;
+ arr.forEach(function (src, index) {
+ arr[index] = src.replace(re, function () {
+ return subs[i++];
+ });
+ });
+ return isArr ? arr : arr[0];
+ };
+
+ //replace complex literals without mistaking subscript notation with array literals
+ Parser.prototype.replaceComplex = function (s) {
+ var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v');
+ parsed.src = parsed.src.replace(NON_PRIMITIVES, '~');
+ return this.injectEnt(parsed, 'v');
+ };
+
+ //parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation)
+ //valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]`
+ Parser.prototype.parseExpr = function (src, opts) {
+ opts = opts || {};
+ //extract string literals -> @
+ var parsed1 = this.extractEnt(src, STRINGS, '@');
+ //note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars?
+ parsed1.src = parsed1.src.replace(EOPS, function (s, before, op, after) {
+ return (op in operators) ? before + operators[op] + after : s;
+ });
+ //sub out non-string literals (numbers/true/false/null) -> #
+ // the distinction is necessary because @ can be object identifiers, # cannot
+ var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function (s) {
+ return (s in constants || NUMBER.test(s)) ? '#' : null;
+ });
+ //sub out object/variable identifiers -> i
+ var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i');
+ //remove white-space
+ parsed3.src = parsed3.src.replace(/\s+/g, '');
+
+ //the rest of this is simply to boil the expression down and check validity
+ var simplified = parsed3.src;
+ //sub out complex literals (objects/arrays) -> ~
+ // the distinction is necessary because @ and # can be subscripts but ~ cannot
+ while (simplified !== (simplified = this.replaceComplex(simplified))) ;
+ //now @ represents strings, # represents other primitives and ~ represents non-primitives
+ //replace complex variables (those with dot/subscript accessors) -> v
+ while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))) ;
+ //empty subscript or complex variables in subscript, are not permitted
+ simplified = simplified.replace(/[iv]\[v?\]/g, 'x');
+ //sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers)
+ simplified = simplified.replace(/[@#~v]/g, 'i');
+ //sub out operators
+ simplified = simplified.replace(OPERATORS, '%');
+ //allow 'not' unary operator
+ simplified = simplified.replace(/!+[i]/g, 'i');
+ var terms = opts.terms ? simplified.split(',') : [simplified];
+ terms.forEach(function (term) {
+ //simplify logical grouping
+ while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i'))) ;
+ if (!term.match(/^i(%i)*/)) {
+ throw new Error('Invalid expression: ' + src + " " + term);
+ }
+ });
+ parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this));
+ parsed2.src = this.injectEnt(parsed3, 'i');
+ parsed1.src = this.injectEnt(parsed2, '#');
+ return this.injectEnt(parsed1, '@');
+ };
+
+ Parser.prototype.parseVar = function (src) {
+ var args = Array.prototype.slice.call(arguments);
+ var str = args.pop(), index = args.pop();
+ //quote bare object identifiers (might be a reserved word like {while: 1})
+ if (src === 'i' && str.charAt(index + 1) === ':') {
+ return '"i"';
+ }
+ var parts = ['"i"'];
+ src.replace(ACCESSOR, function (part) {
+ if (part === '.i') {
+ parts.push('"i"');
+ } else if (part === '[i]') {
+ parts.push('get("i")');
+ } else {
+ parts.push(part.slice(1, -1));
+ }
+ });
+ return 'get(' + parts.join(',') + ')';
+ };
+
+ //escapes a name to be used as a javascript identifier
+ Parser.prototype.escName = function (str) {
+ return str.replace(/\W/g, function (s) {
+ return '$' + s.charCodeAt(0).toString(16);
+ });
+ };
+
+ Parser.prototype.parseQuoted = function (str) {
+ if (str.charAt(0) === "'") {
+ str = str.slice(1, -1).replace(/\\.|"/, function (s) {
+ if (s === "\\'") return "'";
+ return s.charAt(0) === '\\' ? s : ('\\' + s);
+ });
+ str = '"' + str + '"';
+ }
+ //todo: try/catch or deal with invalid characters (linebreaks, control characters)
+ return JSON.parse(str);
+ };
+
+
+ //the context 'this' inside tagHandlers is the parser instance
+ var tagHandlers = {
+ 'if': function (expr) {
+ this.push('if (' + this.parseExpr(expr) + ') {');
+ this.nest.unshift('if');
+ },
+ 'else': function () {
+ if (this.nest[0] === 'for') {
+ this.push('}, function() {');
+ } else {
+ this.push('} else {');
+ }
+ },
+ 'elseif': function (expr) {
+ this.push('} else if (' + this.parseExpr(expr) + ') {');
+ },
+ 'endif': function () {
+ this.nest.shift();
+ this.push('}');
+ },
+ 'for': function (str) {
+ var i = str.indexOf(' in ');
+ var name = str.slice(0, i).trim();
+ var expr = str.slice(i + 4).trim();
+ this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {');
+ this.nest.unshift('for');
+ },
+ 'endfor': function () {
+ this.nest.shift();
+ this.push('});');
+ },
+ 'raw': function () {
+ this.rawMode = true;
+ },
+ 'endraw': function () {
+ this.rawMode = false;
+ },
+ 'set': function (stmt) {
+ var i = stmt.indexOf('=');
+ var name = stmt.slice(0, i).trim();
+ var expr = stmt.slice(i + 1).trim();
+ this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');');
+ },
+ 'block': function (name) {
+ if (this.isParent) {
+ ++this.parentBlocks;
+ var blockName = 'block_' + (this.escName(name) || this.parentBlocks);
+ this.push('block(typeof ' + blockName + ' == "function" ? ' + blockName + ' : function() {');
+ } else if (this.hasParent) {
+ this.isSilent = false;
+ ++this.childBlocks;
+ blockName = 'block_' + (this.escName(name) || this.childBlocks);
+ this.push('function ' + blockName + '() {');
+ }
+ this.nest.unshift('block');
+ },
+ 'endblock': function () {
+ this.nest.shift();
+ if (this.isParent) {
+ this.push('});');
+ } else if (this.hasParent) {
+ this.push('}');
+ this.isSilent = true;
+ }
+ },
+ 'extends': function (name) {
+ name = this.parseQuoted(name);
+ var parentSrc = this.readTemplateFile(name);
+ this.isParent = true;
+ this.tokenize(parentSrc);
+ this.isParent = false;
+ this.hasParent = true;
+ //silence output until we enter a child block
+ this.isSilent = true;
+ },
+ 'include': function (name) {
+ name = this.parseQuoted(name);
+ var incSrc = this.readTemplateFile(name);
+ this.isInclude = true;
+ this.tokenize(incSrc);
+ this.isInclude = false;
+ }
+ };
+
+ //liquid style
+ tagHandlers.assign = tagHandlers.set;
+ //python/django style
+ tagHandlers.elif = tagHandlers.elseif;
+
+ var getRuntime = function runtime(data, opts) {
+ var defaults = {autoEscape: 'toJson'};
+ var _toString = Object.prototype.toString;
+ var _hasOwnProperty = Object.prototype.hasOwnProperty;
+ var getKeys = Object.keys || function (obj) {
+ var keys = [];
+ for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n);
+ return keys;
+ };
+ var isArray = Array.isArray || function (obj) {
+ return _toString.call(obj) === '[object Array]';
+ };
+ var create = Object.create || function (obj) {
+ function F() {
+ }
+
+ F.prototype = obj;
+ return new F();
+ };
+ var toString = function (val) {
+ if (val == null) return '';
+ return (typeof val.toString == 'function') ? val.toString() : _toString.call(val);
+ };
+ var extend = function (dest, src) {
+ var keys = getKeys(src);
+ for (var i = 0, len = keys.length; i < len; i++) {
+ var key = keys[i];
+ dest[key] = src[key];
+ }
+ return dest;
+ };
+ //get a value, lexically, starting in current context; a.b -> get("a","b")
+ var get = function () {
+ var val, n = arguments[0], c = stack.length;
+ while (c--) {
+ val = stack[c][n];
+ if (typeof val != 'undefined') break;
+ }
+ for (var i = 1, len = arguments.length; i < len; i++) {
+ if (val == null) continue;
+ n = arguments[i];
+ val = (_hasOwnProperty.call(val, n)) ? val[n] : (typeof val._get == 'function' ? (val[n] = val._get(n)) : null);
+ }
+ return (val == null) ? '' : val;
+ };
+ var set = function (n, val) {
+ stack[stack.length - 1][n] = val;
+ };
+ var push = function (ctx) {
+ stack.push(ctx || {});
+ };
+ var pop = function () {
+ stack.pop();
+ };
+ var write = function (str) {
+ output.push(str);
+ };
+ var filter = function (val) {
+ for (var i = 1, len = arguments.length; i < len; i++) {
+ var arr = arguments[i], name = arr[0], filter = filters[name];
+ if (filter) {
+ arr[0] = val;
+ //now arr looks like [val, arg1, arg2]
+ val = filter.apply(data, arr);
+ } else {
+ throw new Error('Invalid filter: ' + name);
+ }
+ }
+ if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') {
+ //auto escape if not explicitly safe or already escaped
+ val = filters[opts.autoEscape].call(data, val);
+ }
+ output.push(val);
+ };
+ var each = function (obj, loopvar, fn1, fn2) {
+ if (obj == null) return;
+ var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length;
+ var ctx = {loop: {length: len, first: arr[0], last: arr[len - 1]}};
+ push(ctx);
+ for (var i = 0; i < len; i++) {
+ extend(ctx.loop, {index: i + 1, index0: i});
+ fn1(ctx[loopvar] = arr[i]);
+ }
+ if (len === 0 && fn2) fn2();
+ pop();
+ };
+ var block = function (fn) {
+ push();
+ fn();
+ pop();
+ };
+ var render = function () {
+ return output.join('');
+ };
+ data = data || {};
+ opts = extend(defaults, opts || {});
+ var filters = extend({
+ html: function (val) {
+ return toString(val)
+ .split('&').join('&')
+ .split('<').join('<')
+ .split('>').join('>')
+ .split('"').join('"');
+ },
+ safe: function (val) {
+ return val;
+ },
+ toJson: function (val) {
+ if (typeof val === 'object') {
+ return JSON.stringify(val);
+ }
+ return toString(val);
+ }
+ }, opts.filters || {});
+ var stack = [create(data || {})], output = [];
+ return {
+ get: get,
+ set: set,
+ push: push,
+ pop: pop,
+ write: write,
+ filter: filter,
+ each: each,
+ block: block,
+ render: render
+ };
+ };
+
+ var runtime;
+
+ jinja.compile = function (markup, opts) {
+ opts = opts || {};
+ var parser = new Parser();
+ parser.readTemplateFile = this.readTemplateFile;
+ var code = [];
+ code.push('function render($) {');
+ code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;');
+ code.push.apply(code, parser.parse(markup));
+ code.push('return $.render();');
+ code.push('}');
+ code = code.join('\n');
+ if (opts.runtime === false) {
+ var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))');
+ } else {
+ runtime = runtime || (runtime = getRuntime.toString());
+ fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))');
+ }
+ return {render: fn};
+ };
+
+ jinja.render = function (markup, data, opts) {
+ var tmpl = jinja.compile(markup);
+ return tmpl.render(data, opts);
+ };
+
+ jinja.templateFiles = [];
+
+ jinja.readTemplateFile = function (name) {
+ var templateFiles = this.templateFiles || [];
+ var templateFile = templateFiles[name];
+ if (templateFile == null) {
+ throw new Error('Template file not found: ' + name);
+ }
+ return templateFile;
+ };
+
+
+ /*!
+ * Helpers
+ */
+
+ function trimLeft(str) {
+ return str.replace(LEADING_SPACE, '');
+ }
+
+ function trimRight(str) {
+ return str.replace(TRAILING_SPACE, '');
+ }
+
+ function matchAll(str, reg, fn) {
+ //copy as global
+ reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : ''));
+ var match;
+ while ((match = reg.exec(str))) {
+ var result = fn(match[0], match.index, str);
+ if (typeof result == 'number') {
+ reg.lastIndex = result;
+ }
+ }
+ }
+}));
\ No newline at end of file
diff --git a/天天开心/api/jsencrypt.js b/天天开心/api/jsencrypt.js
new file mode 100644
index 0000000..fa3006c
--- /dev/null
+++ b/天天开心/api/jsencrypt.js
@@ -0,0 +1,265 @@
+/*
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
+ * This devtool is neither made for production nor for readable output files.
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
+ * or disable the default devtool with "devtool: false".
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
+ */
+(function webpackUniversalModuleDefinition(root, factory) {
+ if (typeof exports === 'object' && typeof module === 'object') {
+ // CommonJS
+ module.exports = exports = factory();
+ } else if (typeof define === 'function' && define.amd) {
+ // AMD
+ define([], factory);
+ } else {
+ // Global (browser)
+ globalThis.JSEncrypt = factory();
+ }
+})(this, () => {
+return /******/ (() => { // webpackBootstrap
+/******/ var __webpack_modules__ = ({
+
+/***/ "./lib/JSEncrypt.js":
+/*!**************************!*\
+ !*** ./lib/JSEncrypt.js ***!
+ \**************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* binding */ JSEncrypt)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JSEncryptRSAKey */ \"./lib/JSEncryptRSAKey.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\nvar _a;\n\n\nvar version = typeof process !== 'undefined'\n ? (_a = process.env) === null || _a === void 0 ? void 0 : \"3.3.2\"\n : undefined;\n/**\n *\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\n * possible parameters are:\n * - default_key_size {number} default: 1024 the key size in bit\n * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent\n * - log {boolean} default: false whether log warn/error or not\n * @constructor\n */\nvar JSEncrypt = /** @class */ (function () {\n function JSEncrypt(options) {\n if (options === void 0) { options = {}; }\n options = options || {};\n this.default_key_size = options.default_key_size\n ? parseInt(options.default_key_size, 10)\n : 1024;\n this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\n this.log = options.log || false;\n // The private and public key.\n this.key = null;\n }\n /**\n * Method to set the rsa key parameter (one method is enough to set both the public\n * and the private key, since the private key contains the public key paramenters)\n * Log a warning if logs are enabled\n * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\n * @public\n */\n JSEncrypt.prototype.setKey = function (key) {\n if (this.log && this.key) {\n console.warn(\"A key was already set, overriding existing.\");\n }\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey(key);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPrivateKey = function (privkey) {\n // Create the key.\n this.setKey(privkey);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPublicKey = function (pubkey) {\n // Sets the public key.\n this.setKey(pubkey);\n };\n /**\n * Proxy method for RSAKey object's decrypt, decrypt the string using the private\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str base64 encoded crypted string to decrypt\n * @return {string} the decrypted string\n * @public\n */\n JSEncrypt.prototype.decrypt = function (str) {\n // Return the decrypted string.\n try {\n return this.getKey().decrypt((0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's encrypt, encrypt the string using the public\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str the string to encrypt\n * @return {string} the encrypted string encoded in base64\n * @public\n */\n JSEncrypt.prototype.encrypt = function (str) {\n // Return the encrypted string.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().encrypt(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's sign.\n * @param {string} str the string to sign\n * @param {function} digestMethod hash method\n * @param {string} digestName the name of the hash algorithm\n * @return {string} the signature encoded in base64\n * @public\n */\n JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\n // return the RSA signature of 'str' in 'hex' format.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().sign(str, digestMethod, digestName));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's verify.\n * @param {string} str the string to verify\n * @param {string} signature the signature encoded in base64 to compare the string to\n * @param {function} digestMethod hash method\n * @return {boolean} whether the data and signature match\n * @public\n */\n JSEncrypt.prototype.verify = function (str, signature, digestMethod) {\n // Return the decrypted 'digest' of the signature.\n try {\n return this.getKey().verify(str, (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(signature), digestMethod);\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Getter for the current JSEncryptRSAKey object. If it doesn't exists a new object\n * will be created and returned\n * @param {callback} [cb] the callback to be called if we want the key to be generated\n * in an async fashion\n * @returns {JSEncryptRSAKey} the JSEncryptRSAKey object\n * @public\n */\n JSEncrypt.prototype.getKey = function (cb) {\n // Only create new if it does not exist.\n if (!this.key) {\n // Get a new private key.\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey();\n if (cb && {}.toString.call(cb) === \"[object Function]\") {\n this.key.generateAsync(this.default_key_size, this.default_public_exponent, cb);\n return;\n }\n // Generate the key.\n this.key.generate(this.default_key_size, this.default_public_exponent);\n }\n return this.key;\n };\n /**\n * Returns the pem encoded representation of the private key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the private key WITH header and footer\n * @public\n */\n JSEncrypt.prototype.getPrivateKey = function () {\n // Return the private representation of this key.\n return this.getKey().getPrivateKey();\n };\n /**\n * Returns the pem encoded representation of the private key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the private key WITHOUT header and footer\n * @public\n */\n JSEncrypt.prototype.getPrivateKeyB64 = function () {\n // Return the private representation of this key.\n return this.getKey().getPrivateBaseKeyB64();\n };\n /**\n * Returns the pem encoded representation of the public key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the public key WITH header and footer\n * @public\n */\n JSEncrypt.prototype.getPublicKey = function () {\n // Return the private representation of this key.\n return this.getKey().getPublicKey();\n };\n /**\n * Returns the pem encoded representation of the public key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the public key WITHOUT header and footer\n * @public\n */\n JSEncrypt.prototype.getPublicKeyB64 = function () {\n // Return the private representation of this key.\n return this.getKey().getPublicBaseKeyB64();\n };\nvar b64map=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";var b64pad=\"=\";var base64DecodeChars=new Array(-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,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out=\"\";while(i>2);out+=b64map.charAt((c1&3)<<4);out+=\"==\";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+=\"=\";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out=\"\";while(i>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(i>6)+b64map.charAt(c&63)}if(i+1==h.length){c=parseInt(h.substring(i,i+1),16);ret+=b64map.charAt(c<<2)}else if(i+2==h.length){c=parseInt(h.substring(i,i+2),16);ret+=b64map.charAt(c>>2)+b64map.charAt((c&3)<<4)}while((ret.length&3)>0)ret+=b64pad;return ret}function hexToBytes(hex){for(var bytes=[],c=0;c>>4).toString(16));hex.push((bytes[i]&15).toString(16))}return hex.join(\"\")}function b64tohex(str){for(var i=0,bin=atob(str.replace(/[ \\r\\n]+$/,\"\")),hex=[];i>3};JSEncrypt.prototype.decryptUnicodeLong=function(string){var k=this.getKey();var maxLength=(k.n.bitLength()+7>>3)*2;try{var hexString=b64tohex(string);var decryptedString=\"\";var rexStr=\".{1,\"+maxLength+\"}\";var rex=new RegExp(rexStr,\"g\");var subStrArray=hexString.match(rex);if(subStrArray){subStrArray.forEach(function(entry){decryptedString+=k.decrypt(entry)});return decryptedString}}catch(ex){console.log(\"加密错误:\"+ex.message);return false}};JSEncrypt.prototype.encryptUnicodeLong=function(string){var k=this.getKey();var maxLength=(k.n.bitLength()+7>>3)-11;try{var subStr=\"\",encryptedString=\"\";var subStart=0,subEnd=0;var bitLen=0,tmpPoint=0;for(var i=0,len=string.length;imaxLength){subStr=string.substring(subStart,subEnd);encryptedString+=k.encrypt(subStr);subStart=subEnd;bitLen=bitLen-tmpPoint}else{subEnd=i;tmpPoint=bitLen}}subStr=string.substring(subStart,len);encryptedString+=k.encrypt(subStr);return hex2b64(encryptedString)}catch(ex){console.log(\"解密错误:\"+ex.message);return false}}; JSEncrypt.version = version;\n return JSEncrypt;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/JSEncrypt.js?");
+
+/***/ }),
+
+/***/ "./lib/JSEncryptRSAKey.js":
+/*!********************************!*\
+ !*** ./lib/JSEncryptRSAKey.js ***!
+ \********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncryptRSAKey\": () => (/* binding */ JSEncryptRSAKey)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/asn1js/hex */ \"./lib/lib/asn1js/hex.js\");\n/* harmony import */ var _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/asn1js/base64 */ \"./lib/lib/asn1js/base64.js\");\n/* harmony import */ var _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/asn1js/asn1 */ \"./lib/lib/asn1js/asn1.js\");\n/* harmony import */ var _lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/jsbn/rsa */ \"./lib/lib/jsbn/rsa.js\");\n/* harmony import */ var _lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/jsrsasign/asn1-1.0 */ \"./lib/lib/jsrsasign/asn1-1.0.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\n * This object is just a decorator for parsing the key parameter\n * @param {string|Object} key - The key in string format, or an object containing\n * the parameters needed to build a RSAKey object.\n * @constructor\n */\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\n __extends(JSEncryptRSAKey, _super);\n function JSEncryptRSAKey(key) {\n var _this = _super.call(this) || this;\n // Call the super constructor.\n // RSAKey.call(this);\n // If a key key was provided.\n if (key) {\n // If this is a string...\n if (typeof key === \"string\") {\n _this.parseKey(key);\n }\n else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\n JSEncryptRSAKey.hasPublicKeyProperty(key)) {\n // Set the values for the key.\n _this.parsePropertiesFrom(key);\n }\n }\n return _this;\n }\n /**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\n JSEncryptRSAKey.prototype.parseKey = function (pem) {\n try {\n var modulus = 0;\n var public_exponent = 0;\n var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n var der = reHex.test(pem) ? _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__.Hex.decode(pem) : _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.unarmor(pem);\n var asn1 = _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__.ASN1.decode(der);\n // Fixes a bug with OpenSSL 1.0+ private keys\n if (asn1.sub.length === 3) {\n asn1 = asn1.sub[2].sub[0];\n }\n if (asn1.sub.length === 9) {\n // Parse the private key.\n modulus = asn1.sub[1].getHexStringValue(); // bigint\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = asn1.sub[2].getHexStringValue(); // int\n this.e = parseInt(public_exponent, 16);\n var private_exponent = asn1.sub[3].getHexStringValue(); // bigint\n this.d = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(private_exponent, 16);\n var prime1 = asn1.sub[4].getHexStringValue(); // bigint\n this.p = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(prime1, 16);\n var prime2 = asn1.sub[5].getHexStringValue(); // bigint\n this.q = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(prime2, 16);\n var exponent1 = asn1.sub[6].getHexStringValue(); // bigint\n this.dmp1 = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(exponent1, 16);\n var exponent2 = asn1.sub[7].getHexStringValue(); // bigint\n this.dmq1 = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(exponent2, 16);\n var coefficient = asn1.sub[8].getHexStringValue(); // bigint\n this.coeff = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(coefficient, 16);\n }\n else if (asn1.sub.length === 2) {\n if (asn1.sub[0].sub) {\n // Parse ASN.1 SubjectPublicKeyInfo type as defined by X.509\n var bit_string = asn1.sub[1];\n var sequence = bit_string.sub[0];\n modulus = sequence.sub[0].getHexStringValue();\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = sequence.sub[1].getHexStringValue();\n this.e = parseInt(public_exponent, 16);\n }\n else {\n // Parse ASN.1 RSAPublicKey type as defined by PKCS #1\n modulus = asn1.sub[0].getHexStringValue();\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = asn1.sub[1].getHexStringValue();\n this.e = parseInt(public_exponent, 16);\n }\n }\n else {\n return false;\n }\n return true;\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Translate rsa parameters in a hex encoded string representing the rsa key.\n *\n * The translation follow the ASN.1 notation :\n * RSAPrivateKey ::= SEQUENCE {\n * version Version,\n * modulus INTEGER, -- n\n * publicExponent INTEGER, -- e\n * privateExponent INTEGER, -- d\n * prime1 INTEGER, -- p\n * prime2 INTEGER, -- q\n * exponent1 INTEGER, -- d mod (p1)\n * exponent2 INTEGER, -- d mod (q-1)\n * coefficient INTEGER, -- (inverse of q) mod p\n * }\n * @returns {string} DER Encoded String representing the rsa private key\n * @private\n */\n JSEncryptRSAKey.prototype.getPrivateBaseKey = function () {\n var options = {\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: 0 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.n }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: this.e }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.d }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.p }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.q }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.dmp1 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.dmq1 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.coeff }),\n ],\n };\n var seq = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence(options);\n return seq.getEncodedHex();\n };\n /**\n * base64 (pem) encoded version of the DER encoded representation\n * @returns {string} pem encoded representation without header and footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPrivateBaseKeyB64 = function () {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getPrivateBaseKey());\n };\n /**\n * Translate rsa parameters in a hex encoded string representing the rsa public key.\n * The representation follow the ASN.1 notation :\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * @returns {string} DER Encoded String representing the rsa public key\n * @private\n */\n JSEncryptRSAKey.prototype.getPublicBaseKey = function () {\n var first_sequence = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERObjectIdentifier({ oid: \"1.2.840.113549.1.1.1\" }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERNull(),\n ],\n });\n var second_sequence = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.n }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: this.e }),\n ],\n });\n var bit_string = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERBitString({\n hex: \"00\" + second_sequence.getEncodedHex(),\n });\n var seq = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [first_sequence, bit_string],\n });\n return seq.getEncodedHex();\n };\n /**\n * base64 (pem) encoded version of the DER encoded representation\n * @returns {string} pem encoded representation without header and footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPublicBaseKeyB64 = function () {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getPublicBaseKey());\n };\n /**\n * wrap the string in block of width chars. The default value for rsa keys is 64\n * characters.\n * @param {string} str the pem encoded string without header and footer\n * @param {Number} [width=64] - the length the string has to be wrapped at\n * @returns {string}\n * @private\n */\n JSEncryptRSAKey.wordwrap = function (str, width) {\n width = width || 64;\n if (!str) {\n return str;\n }\n var regex = \"(.{1,\" + width + \"})( +|$\\n?)|(.{1,\" + width + \"})\";\n return str.match(RegExp(regex, \"g\")).join(\"\\n\");\n };\n /**\n * Retrieve the pem encoded private key\n * @returns {string} the pem encoded private key with header/footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPrivateKey = function () {\n var key = \"-----BEGIN RSA PRIVATE KEY-----\\n\";\n key += JSEncryptRSAKey.wordwrap(this.getPrivateBaseKeyB64()) + \"\\n\";\n key += \"-----END RSA PRIVATE KEY-----\";\n return key;\n };\n /**\n * Retrieve the pem encoded public key\n * @returns {string} the pem encoded public key with header/footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPublicKey = function () {\n var key = \"-----BEGIN PUBLIC KEY-----\\n\";\n key += JSEncryptRSAKey.wordwrap(this.getPublicBaseKeyB64()) + \"\\n\";\n key += \"-----END PUBLIC KEY-----\";\n return key;\n };\n /**\n * Check if the object contains the necessary parameters to populate the rsa modulus\n * and public exponent parameters.\n * @param {Object} [obj={}] - An object that may contain the two public key\n * parameters\n * @returns {boolean} true if the object contains both the modulus and the public exponent\n * properties (n and e)\n * @todo check for types of n and e. N should be a parseable bigInt object, E should\n * be a parseable integer number\n * @private\n */\n JSEncryptRSAKey.hasPublicKeyProperty = function (obj) {\n obj = obj || {};\n return obj.hasOwnProperty(\"n\") && obj.hasOwnProperty(\"e\");\n };\n /**\n * Check if the object contains ALL the parameters of an RSA key.\n * @param {Object} [obj={}] - An object that may contain nine rsa key\n * parameters\n * @returns {boolean} true if the object contains all the parameters needed\n * @todo check for types of the parameters all the parameters but the public exponent\n * should be parseable bigint objects, the public exponent should be a parseable integer number\n * @private\n */\n JSEncryptRSAKey.hasPrivateKeyProperty = function (obj) {\n obj = obj || {};\n return (obj.hasOwnProperty(\"n\") &&\n obj.hasOwnProperty(\"e\") &&\n obj.hasOwnProperty(\"d\") &&\n obj.hasOwnProperty(\"p\") &&\n obj.hasOwnProperty(\"q\") &&\n obj.hasOwnProperty(\"dmp1\") &&\n obj.hasOwnProperty(\"dmq1\") &&\n obj.hasOwnProperty(\"coeff\"));\n };\n /**\n * Parse the properties of obj in the current rsa object. Obj should AT LEAST\n * include the modulus and public exponent (n, e) parameters.\n * @param {Object} obj - the object containing rsa parameters\n * @private\n */\n JSEncryptRSAKey.prototype.parsePropertiesFrom = function (obj) {\n this.n = obj.n;\n this.e = obj.e;\n if (obj.hasOwnProperty(\"d\")) {\n this.d = obj.d;\n this.p = obj.p;\n this.q = obj.q;\n this.dmp1 = obj.dmp1;\n this.dmq1 = obj.dmq1;\n this.coeff = obj.coeff;\n }\n };\n return JSEncryptRSAKey;\n}(_lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__.RSAKey));\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/JSEncryptRSAKey.js?");
+
+/***/ }),
+
+/***/ "./lib/index.js":
+/*!**********************!*\
+ !*** ./lib/index.js ***!
+ \**********************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* reexport safe */ _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEncrypt */ \"./lib/JSEncrypt.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/index.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/asn1js/asn1.js":
+/*!********************************!*\
+ !*** ./lib/lib/asn1js/asn1.js ***!
+ \********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ASN1\": () => (/* binding */ ASN1),\n/* harmony export */ \"ASN1Tag\": () => (/* binding */ ASN1Tag),\n/* harmony export */ \"Stream\": () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _int10__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int10 */ \"./lib/lib/asn1js/int10.js\");\n// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\n\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n if (str.length > len) {\n str = str.substring(0, len) + ellipsis;\n }\n return str;\n}\nvar Stream = /** @class */ (function () {\n function Stream(enc, pos) {\n this.hexDigits = \"0123456789ABCDEF\";\n if (enc instanceof Stream) {\n this.enc = enc.enc;\n this.pos = enc.pos;\n }\n else {\n // enc should be an array or a binary string\n this.enc = enc;\n this.pos = pos;\n }\n }\n Stream.prototype.get = function (pos) {\n if (pos === undefined) {\n pos = this.pos++;\n }\n if (pos >= this.enc.length) {\n throw new Error(\"Requesting byte offset \".concat(pos, \" on a stream of length \").concat(this.enc.length));\n }\n return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n };\n Stream.prototype.hexByte = function (b) {\n return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n };\n Stream.prototype.hexDump = function (start, end, raw) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n if (raw !== true) {\n switch (i & 0xF) {\n case 0x7:\n s += \" \";\n break;\n case 0xF:\n s += \"\\n\";\n break;\n default:\n s += \" \";\n }\n }\n }\n return s;\n };\n Stream.prototype.isASCII = function (start, end) {\n for (var i = start; i < end; ++i) {\n var c = this.get(i);\n if (c < 32 || c > 176) {\n return false;\n }\n }\n return true;\n };\n Stream.prototype.parseStringISO = function (start, end) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += String.fromCharCode(this.get(i));\n }\n return s;\n };\n Stream.prototype.parseStringUTF = function (start, end) {\n var s = \"\";\n for (var i = start; i < end;) {\n var c = this.get(i++);\n if (c < 128) {\n s += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n }\n else {\n s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n }\n }\n return s;\n };\n Stream.prototype.parseStringBMP = function (start, end) {\n var str = \"\";\n var hi;\n var lo;\n for (var i = start; i < end;) {\n hi = this.get(i++);\n lo = this.get(i++);\n str += String.fromCharCode((hi << 8) | lo);\n }\n return str;\n };\n Stream.prototype.parseTime = function (start, end, shortYear) {\n var s = this.parseStringISO(start, end);\n var m = (shortYear ? reTimeS : reTimeL).exec(s);\n if (!m) {\n return \"Unrecognized time: \" + s;\n }\n if (shortYear) {\n // to avoid querying the timer, use the fixed range [1970, 2069]\n // it will conform with ITU X.400 [-10, +40] sliding window until 2030\n m[1] = +m[1];\n m[1] += (+m[1] < 70) ? 2000 : 1900;\n }\n s = m[1] + \"-\" + m[2] + \"-\" + m[3] + \" \" + m[4];\n if (m[5]) {\n s += \":\" + m[5];\n if (m[6]) {\n s += \":\" + m[6];\n if (m[7]) {\n s += \".\" + m[7];\n }\n }\n }\n if (m[8]) {\n s += \" UTC\";\n if (m[8] != \"Z\") {\n s += m[8];\n if (m[9]) {\n s += \":\" + m[9];\n }\n }\n }\n return s;\n };\n Stream.prototype.parseInteger = function (start, end) {\n var v = this.get(start);\n var neg = (v > 127);\n var pad = neg ? 255 : 0;\n var len;\n var s = \"\";\n // skip unuseful bits (not allowed in DER)\n while (v == pad && ++start < end) {\n v = this.get(start);\n }\n len = end - start;\n if (len === 0) {\n return neg ? -1 : 0;\n }\n // show bit length of huge integers\n if (len > 4) {\n s = v;\n len <<= 3;\n while (((+s ^ pad) & 0x80) == 0) {\n s = +s << 1;\n --len;\n }\n s = \"(\" + len + \" bit)\\n\";\n }\n // decode the integer\n if (neg) {\n v = v - 256;\n }\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10(v);\n for (var i = start + 1; i < end; ++i) {\n n.mulAdd(256, this.get(i));\n }\n return s + n.toString();\n };\n Stream.prototype.parseBitString = function (start, end, maxLength) {\n var unusedBit = this.get(start);\n var lenBit = ((end - start - 1) << 3) - unusedBit;\n var intro = \"(\" + lenBit + \" bit)\\n\";\n var s = \"\";\n for (var i = start + 1; i < end; ++i) {\n var b = this.get(i);\n var skip = (i == end - 1) ? unusedBit : 0;\n for (var j = 7; j >= skip; --j) {\n s += (b >> j) & 1 ? \"1\" : \"0\";\n }\n if (s.length > maxLength) {\n return intro + stringCut(s, maxLength);\n }\n }\n return intro + s;\n };\n Stream.prototype.parseOctetString = function (start, end, maxLength) {\n if (this.isASCII(start, end)) {\n return stringCut(this.parseStringISO(start, end), maxLength);\n }\n var len = end - start;\n var s = \"(\" + len + \" byte)\\n\";\n maxLength /= 2; // we work in bytes\n if (len > maxLength) {\n end = start + maxLength;\n }\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n }\n if (len > maxLength) {\n s += ellipsis;\n }\n return s;\n };\n Stream.prototype.parseOID = function (start, end, maxLength) {\n var s = \"\";\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n var bits = 0;\n for (var i = start; i < end; ++i) {\n var v = this.get(i);\n n.mulAdd(128, v & 0x7F);\n bits += 7;\n if (!(v & 0x80)) { // finished\n if (s === \"\") {\n n = n.simplify();\n if (n instanceof _int10__WEBPACK_IMPORTED_MODULE_0__.Int10) {\n n.sub(80);\n s = \"2.\" + n.toString();\n }\n else {\n var m = n < 80 ? n < 40 ? 0 : 1 : 2;\n s = m + \".\" + (n - m * 40);\n }\n }\n else {\n s += \".\" + n.toString();\n }\n if (s.length > maxLength) {\n return stringCut(s, maxLength);\n }\n n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n bits = 0;\n }\n }\n if (bits > 0) {\n s += \".incomplete\";\n }\n return s;\n };\n return Stream;\n}());\n\nvar ASN1 = /** @class */ (function () {\n function ASN1(stream, header, length, tag, sub) {\n if (!(tag instanceof ASN1Tag)) {\n throw new Error(\"Invalid tag value.\");\n }\n this.stream = stream;\n this.header = header;\n this.length = length;\n this.tag = tag;\n this.sub = sub;\n }\n ASN1.prototype.typeName = function () {\n switch (this.tag.tagClass) {\n case 0: // universal\n switch (this.tag.tagNumber) {\n case 0x00:\n return \"EOC\";\n case 0x01:\n return \"BOOLEAN\";\n case 0x02:\n return \"INTEGER\";\n case 0x03:\n return \"BIT_STRING\";\n case 0x04:\n return \"OCTET_STRING\";\n case 0x05:\n return \"NULL\";\n case 0x06:\n return \"OBJECT_IDENTIFIER\";\n case 0x07:\n return \"ObjectDescriptor\";\n case 0x08:\n return \"EXTERNAL\";\n case 0x09:\n return \"REAL\";\n case 0x0A:\n return \"ENUMERATED\";\n case 0x0B:\n return \"EMBEDDED_PDV\";\n case 0x0C:\n return \"UTF8String\";\n case 0x10:\n return \"SEQUENCE\";\n case 0x11:\n return \"SET\";\n case 0x12:\n return \"NumericString\";\n case 0x13:\n return \"PrintableString\"; // ASCII subset\n case 0x14:\n return \"TeletexString\"; // aka T61String\n case 0x15:\n return \"VideotexString\";\n case 0x16:\n return \"IA5String\"; // ASCII\n case 0x17:\n return \"UTCTime\";\n case 0x18:\n return \"GeneralizedTime\";\n case 0x19:\n return \"GraphicString\";\n case 0x1A:\n return \"VisibleString\"; // ASCII subset\n case 0x1B:\n return \"GeneralString\";\n case 0x1C:\n return \"UniversalString\";\n case 0x1E:\n return \"BMPString\";\n }\n return \"Universal_\" + this.tag.tagNumber.toString();\n case 1:\n return \"Application_\" + this.tag.tagNumber.toString();\n case 2:\n return \"[\" + this.tag.tagNumber.toString() + \"]\"; // Context\n case 3:\n return \"Private_\" + this.tag.tagNumber.toString();\n }\n };\n ASN1.prototype.content = function (maxLength) {\n if (this.tag === undefined) {\n return null;\n }\n if (maxLength === undefined) {\n maxLength = Infinity;\n }\n var content = this.posContent();\n var len = Math.abs(this.length);\n if (!this.tag.isUniversal()) {\n if (this.sub !== null) {\n return \"(\" + this.sub.length + \" elem)\";\n }\n return this.stream.parseOctetString(content, content + len, maxLength);\n }\n switch (this.tag.tagNumber) {\n case 0x01: // BOOLEAN\n return (this.stream.get(content) === 0) ? \"false\" : \"true\";\n case 0x02: // INTEGER\n return this.stream.parseInteger(content, content + len);\n case 0x03: // BIT_STRING\n return this.sub ? \"(\" + this.sub.length + \" elem)\" :\n this.stream.parseBitString(content, content + len, maxLength);\n case 0x04: // OCTET_STRING\n return this.sub ? \"(\" + this.sub.length + \" elem)\" :\n this.stream.parseOctetString(content, content + len, maxLength);\n // case 0x05: // NULL\n case 0x06: // OBJECT_IDENTIFIER\n return this.stream.parseOID(content, content + len, maxLength);\n // case 0x07: // ObjectDescriptor\n // case 0x08: // EXTERNAL\n // case 0x09: // REAL\n // case 0x0A: // ENUMERATED\n // case 0x0B: // EMBEDDED_PDV\n case 0x10: // SEQUENCE\n case 0x11: // SET\n if (this.sub !== null) {\n return \"(\" + this.sub.length + \" elem)\";\n }\n else {\n return \"(no elem)\";\n }\n case 0x0C: // UTF8String\n return stringCut(this.stream.parseStringUTF(content, content + len), maxLength);\n case 0x12: // NumericString\n case 0x13: // PrintableString\n case 0x14: // TeletexString\n case 0x15: // VideotexString\n case 0x16: // IA5String\n // case 0x19: // GraphicString\n case 0x1A: // VisibleString\n // case 0x1B: // GeneralString\n // case 0x1C: // UniversalString\n return stringCut(this.stream.parseStringISO(content, content + len), maxLength);\n case 0x1E: // BMPString\n return stringCut(this.stream.parseStringBMP(content, content + len), maxLength);\n case 0x17: // UTCTime\n case 0x18: // GeneralizedTime\n return this.stream.parseTime(content, content + len, (this.tag.tagNumber == 0x17));\n }\n return null;\n };\n ASN1.prototype.toString = function () {\n return this.typeName() + \"@\" + this.stream.pos + \"[header:\" + this.header + \",length:\" + this.length + \",sub:\" + ((this.sub === null) ? \"null\" : this.sub.length) + \"]\";\n };\n ASN1.prototype.toPrettyString = function (indent) {\n if (indent === undefined) {\n indent = \"\";\n }\n var s = indent + this.typeName() + \" @\" + this.stream.pos;\n if (this.length >= 0) {\n s += \"+\";\n }\n s += this.length;\n if (this.tag.tagConstructed) {\n s += \" (constructed)\";\n }\n else if ((this.tag.isUniversal() && ((this.tag.tagNumber == 0x03) || (this.tag.tagNumber == 0x04))) && (this.sub !== null)) {\n s += \" (encapsulates)\";\n }\n s += \"\\n\";\n if (this.sub !== null) {\n indent += \" \";\n for (var i = 0, max = this.sub.length; i < max; ++i) {\n s += this.sub[i].toPrettyString(indent);\n }\n }\n return s;\n };\n ASN1.prototype.posStart = function () {\n return this.stream.pos;\n };\n ASN1.prototype.posContent = function () {\n return this.stream.pos + this.header;\n };\n ASN1.prototype.posEnd = function () {\n return this.stream.pos + this.header + Math.abs(this.length);\n };\n ASN1.prototype.toHexString = function () {\n return this.stream.hexDump(this.posStart(), this.posEnd(), true);\n };\n ASN1.decodeLength = function (stream) {\n var buf = stream.get();\n var len = buf & 0x7F;\n if (len == buf) {\n return len;\n }\n // no reason to use Int10, as it would be a huge buffer anyways\n if (len > 6) {\n throw new Error(\"Length over 48 bits not supported at position \" + (stream.pos - 1));\n }\n if (len === 0) {\n return null;\n } // undefined\n buf = 0;\n for (var i = 0; i < len; ++i) {\n buf = (buf * 256) + stream.get();\n }\n return buf;\n };\n /**\n * Retrieve the hexadecimal value (as a string) of the current ASN.1 element\n * @returns {string}\n * @public\n */\n ASN1.prototype.getHexStringValue = function () {\n var hexString = this.toHexString();\n var offset = this.header * 2;\n var length = this.length * 2;\n return hexString.substr(offset, length);\n };\n ASN1.decode = function (str) {\n var stream;\n if (!(str instanceof Stream)) {\n stream = new Stream(str, 0);\n }\n else {\n stream = str;\n }\n var streamStart = new Stream(stream);\n var tag = new ASN1Tag(stream);\n var len = ASN1.decodeLength(stream);\n var start = stream.pos;\n var header = start - streamStart.pos;\n var sub = null;\n var getSub = function () {\n var ret = [];\n if (len !== null) {\n // definite length\n var end = start + len;\n while (stream.pos < end) {\n ret[ret.length] = ASN1.decode(stream);\n }\n if (stream.pos != end) {\n throw new Error(\"Content size is not correct for container starting at offset \" + start);\n }\n }\n else {\n // undefined length\n try {\n for (;;) {\n var s = ASN1.decode(stream);\n if (s.tag.isEOC()) {\n break;\n }\n ret[ret.length] = s;\n }\n len = start - stream.pos; // undefined lengths are represented as negative values\n }\n catch (e) {\n throw new Error(\"Exception while decoding undefined length content: \" + e);\n }\n }\n return ret;\n };\n if (tag.tagConstructed) {\n // must have valid content\n sub = getSub();\n }\n else if (tag.isUniversal() && ((tag.tagNumber == 0x03) || (tag.tagNumber == 0x04))) {\n // sometimes BitString and OctetString are used to encapsulate ASN.1\n try {\n if (tag.tagNumber == 0x03) {\n if (stream.get() != 0) {\n throw new Error(\"BIT STRINGs with unused bits cannot encapsulate.\");\n }\n }\n sub = getSub();\n for (var i = 0; i < sub.length; ++i) {\n if (sub[i].tag.isEOC()) {\n throw new Error(\"EOC is not supposed to be actual content.\");\n }\n }\n }\n catch (e) {\n // but silently ignore when they don't\n sub = null;\n }\n }\n if (sub === null) {\n if (len === null) {\n throw new Error(\"We can't skip over an invalid tag with undefined length at offset \" + start);\n }\n stream.pos = start + Math.abs(len);\n }\n return new ASN1(streamStart, header, len, tag, sub);\n };\n return ASN1;\n}());\n\nvar ASN1Tag = /** @class */ (function () {\n function ASN1Tag(stream) {\n var buf = stream.get();\n this.tagClass = buf >> 6;\n this.tagConstructed = ((buf & 0x20) !== 0);\n this.tagNumber = buf & 0x1F;\n if (this.tagNumber == 0x1F) { // long tag\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n do {\n buf = stream.get();\n n.mulAdd(128, buf & 0x7F);\n } while (buf & 0x80);\n this.tagNumber = n.simplify();\n }\n }\n ASN1Tag.prototype.isUniversal = function () {\n return this.tagClass === 0x00;\n };\n ASN1Tag.prototype.isEOC = function () {\n return this.tagClass === 0x00 && this.tagNumber === 0x00;\n };\n return ASN1Tag;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/asn1.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/asn1js/base64.js":
+/*!**********************************!*\
+ !*** ./lib/lib/asn1js/base64.js ***!
+ \**********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Base64\": () => (/* binding */ Base64)\n/* harmony export */ });\n// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Base64 = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = Object.create(null);\n for (i = 0; i < 64; ++i) {\n decoder[b64.charAt(i)] = i;\n }\n decoder['-'] = 62; //+\n decoder['_'] = 63; //-\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 4) {\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n out[out.length] = bits & 0xFF;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 6;\n }\n }\n switch (char_count) {\n case 1:\n throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\n case 2:\n out[out.length] = (bits >> 10);\n break;\n case 3:\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n break;\n }\n return out;\n },\n re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n unarmor: function (a) {\n var m = Base64.re.exec(a);\n if (m) {\n if (m[1]) {\n a = m[1];\n }\n else if (m[2]) {\n a = m[2];\n }\n else {\n throw new Error(\"RegExp out of sync\");\n }\n }\n return Base64.decode(a);\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/base64.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/asn1js/hex.js":
+/*!*******************************!*\
+ !*** ./lib/lib/asn1js/hex.js ***!
+ \*******************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Hex\": () => (/* binding */ Hex)\n/* harmony export */ });\n// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Hex = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var hex = \"0123456789ABCDEF\";\n var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = {};\n for (i = 0; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n hex = hex.toLowerCase();\n for (i = 10; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 2) {\n out[out.length] = bits;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 4;\n }\n }\n if (char_count) {\n throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n }\n return out;\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/hex.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/asn1js/int10.js":
+/*!*********************************!*\
+ !*** ./lib/lib/asn1js/int10.js ***!
+ \*********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Int10\": () => (/* binding */ Int10)\n/* harmony export */ });\n// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n function Int10(value) {\n this.buf = [+value || 0];\n }\n Int10.prototype.mulAdd = function (m, c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] * m + c;\n if (t < max) {\n c = 0;\n }\n else {\n c = 0 | (t / max);\n t -= c * max;\n }\n b[i] = t;\n }\n if (c > 0) {\n b[i] = c;\n }\n };\n Int10.prototype.sub = function (c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] - c;\n if (t < 0) {\n t += max;\n c = 1;\n }\n else {\n c = 0;\n }\n b[i] = t;\n }\n while (b[b.length - 1] === 0) {\n b.pop();\n }\n };\n Int10.prototype.toString = function (base) {\n if ((base || 10) != 10) {\n throw new Error(\"only base 10 is supported\");\n }\n var b = this.buf;\n var s = b[b.length - 1].toString();\n for (var i = b.length - 2; i >= 0; --i) {\n s += (max + b[i]).toString().substring(1);\n }\n return s;\n };\n Int10.prototype.valueOf = function () {\n var b = this.buf;\n var v = 0;\n for (var i = b.length - 1; i >= 0; --i) {\n v = v * max + b[i];\n }\n return v;\n };\n Int10.prototype.simplify = function () {\n var b = this.buf;\n return (b.length == 1) ? b[0] : this;\n };\n return Int10;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/int10.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/jsbn/base64.js":
+/*!********************************!*\
+ !*** ./lib/lib/jsbn/base64.js ***!
+ \********************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"b64toBA\": () => (/* binding */ b64toBA),\n/* harmony export */ \"b64tohex\": () => (/* binding */ b64tohex),\n/* harmony export */ \"hex2b64\": () => (/* binding */ hex2b64)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nfunction hex2b64(h) {\n var i;\n var c;\n var ret = \"\";\n for (i = 0; i + 3 <= h.length; i += 3) {\n c = parseInt(h.substring(i, i + 3), 16);\n ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n }\n if (i + 1 == h.length) {\n c = parseInt(h.substring(i, i + 1), 16);\n ret += b64map.charAt(c << 2);\n }\n else if (i + 2 == h.length) {\n c = parseInt(h.substring(i, i + 2), 16);\n ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n }\n while ((ret.length & 3) > 0) {\n ret += b64pad;\n }\n return ret;\n}\n// convert a base64 string to hex\nfunction b64tohex(s) {\n var ret = \"\";\n var i;\n var k = 0; // b64 state, 0-3\n var slop = 0;\n for (i = 0; i < s.length; ++i) {\n if (s.charAt(i) == b64pad) {\n break;\n }\n var v = b64map.indexOf(s.charAt(i));\n if (v < 0) {\n continue;\n }\n if (k == 0) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 1;\n }\n else if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n slop = v & 0xf;\n k = 2;\n }\n else if (k == 2) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop);\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 3;\n }\n else {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v & 0xf);\n k = 0;\n }\n }\n if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop << 2);\n }\n return ret;\n}\n// convert a base64 string to a byte/number array\nfunction b64toBA(s) {\n // piggyback on b64tohex for now, optimize later\n var h = b64tohex(s);\n var i;\n var a = [];\n for (i = 0; 2 * i < h.length; ++i) {\n a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n }\n return a;\n}\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/base64.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/jsbn/jsbn.js":
+/*!******************************!*\
+ !*** ./lib/lib/jsbn/jsbn.js ***!
+ \******************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BigInteger\": () => (/* binding */ BigInteger),\n/* harmony export */ \"intAt\": () => (/* binding */ intAt),\n/* harmony export */ \"nbi\": () => (/* binding */ nbi),\n/* harmony export */ \"nbits\": () => (/* binding */ nbits),\n/* harmony export */ \"nbv\": () => (/* binding */ nbv),\n/* harmony export */ \"parseBigInt\": () => (/* binding */ parseBigInt)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n// Copyright (c) 2005 Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\n\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [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];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n function BigInteger(a, b, c) {\n if (a != null) {\n if (\"number\" == typeof a) {\n this.fromNumber(a, b, c);\n }\n else if (b == null && \"string\" != typeof a) {\n this.fromString(a, 256);\n }\n else {\n this.fromString(a, b);\n }\n }\n }\n //#region PUBLIC\n // BigInteger.prototype.toString = bnToString;\n // (public) return string representation in given radix\n BigInteger.prototype.toString = function (b) {\n if (this.s < 0) {\n return \"-\" + this.negate().toString(b);\n }\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n return this.toRadix(b);\n }\n var km = (1 << k) - 1;\n var d;\n var m = false;\n var r = \"\";\n var i = this.t;\n var p = this.DB - (i * this.DB) % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) {\n m = true;\n }\n if (m) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n }\n }\n return m ? r : \"0\";\n };\n // BigInteger.prototype.negate = bnNegate;\n // (public) -this\n BigInteger.prototype.negate = function () {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n };\n // BigInteger.prototype.abs = bnAbs;\n // (public) |this|\n BigInteger.prototype.abs = function () {\n return (this.s < 0) ? this.negate() : this;\n };\n // BigInteger.prototype.compareTo = bnCompareTo;\n // (public) return + if this > a, - if this < a, 0 if equal\n BigInteger.prototype.compareTo = function (a) {\n var r = this.s - a.s;\n if (r != 0) {\n return r;\n }\n var i = this.t;\n r = i - a.t;\n if (r != 0) {\n return (this.s < 0) ? -r : r;\n }\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) {\n return r;\n }\n }\n return 0;\n };\n // BigInteger.prototype.bitLength = bnBitLength;\n // (public) return the number of bits in \"this\"\n BigInteger.prototype.bitLength = function () {\n if (this.t <= 0) {\n return 0;\n }\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));\n };\n // BigInteger.prototype.mod = bnMod;\n // (public) this mod a\n BigInteger.prototype.mod = function (a) {\n var r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\n a.subTo(r, r);\n }\n return r;\n };\n // BigInteger.prototype.modPowInt = bnModPowInt;\n // (public) this^e % m, 0 <= e < 2^32\n BigInteger.prototype.modPowInt = function (e, m) {\n var z;\n if (e < 256 || m.isEven()) {\n z = new Classic(m);\n }\n else {\n z = new Montgomery(m);\n }\n return this.exp(e, z);\n };\n // BigInteger.prototype.clone = bnClone;\n // (public)\n BigInteger.prototype.clone = function () {\n var r = nbi();\n this.copyTo(r);\n return r;\n };\n // BigInteger.prototype.intValue = bnIntValue;\n // (public) return value as integer\n BigInteger.prototype.intValue = function () {\n if (this.s < 0) {\n if (this.t == 1) {\n return this[0] - this.DV;\n }\n else if (this.t == 0) {\n return -1;\n }\n }\n else if (this.t == 1) {\n return this[0];\n }\n else if (this.t == 0) {\n return 0;\n }\n // assumes 16 < DB < 32\n return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];\n };\n // BigInteger.prototype.byteValue = bnByteValue;\n // (public) return value as byte\n BigInteger.prototype.byteValue = function () {\n return (this.t == 0) ? this.s : (this[0] << 24) >> 24;\n };\n // BigInteger.prototype.shortValue = bnShortValue;\n // (public) return value as short (assumes DB>=16)\n BigInteger.prototype.shortValue = function () {\n return (this.t == 0) ? this.s : (this[0] << 16) >> 16;\n };\n // BigInteger.prototype.signum = bnSigNum;\n // (public) 0 if this == 0, 1 if this > 0\n BigInteger.prototype.signum = function () {\n if (this.s < 0) {\n return -1;\n }\n else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) {\n return 0;\n }\n else {\n return 1;\n }\n };\n // BigInteger.prototype.toByteArray = bnToByteArray;\n // (public) convert to bigendian byte array\n BigInteger.prototype.toByteArray = function () {\n var i = this.t;\n var r = [];\n r[0] = this.s;\n var p = this.DB - (i * this.DB) % 8;\n var d;\n var k = 0;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) {\n r[k++] = d | (this.s << (this.DB - p));\n }\n while (i >= 0) {\n if (p < 8) {\n d = (this[i] & ((1 << p) - 1)) << (8 - p);\n d |= this[--i] >> (p += this.DB - 8);\n }\n else {\n d = (this[i] >> (p -= 8)) & 0xff;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if ((d & 0x80) != 0) {\n d |= -256;\n }\n if (k == 0 && (this.s & 0x80) != (d & 0x80)) {\n ++k;\n }\n if (k > 0 || d != this.s) {\n r[k++] = d;\n }\n }\n }\n return r;\n };\n // BigInteger.prototype.equals = bnEquals;\n BigInteger.prototype.equals = function (a) {\n return (this.compareTo(a) == 0);\n };\n // BigInteger.prototype.min = bnMin;\n BigInteger.prototype.min = function (a) {\n return (this.compareTo(a) < 0) ? this : a;\n };\n // BigInteger.prototype.max = bnMax;\n BigInteger.prototype.max = function (a) {\n return (this.compareTo(a) > 0) ? this : a;\n };\n // BigInteger.prototype.and = bnAnd;\n BigInteger.prototype.and = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_and, r);\n return r;\n };\n // BigInteger.prototype.or = bnOr;\n BigInteger.prototype.or = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_or, r);\n return r;\n };\n // BigInteger.prototype.xor = bnXor;\n BigInteger.prototype.xor = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_xor, r);\n return r;\n };\n // BigInteger.prototype.andNot = bnAndNot;\n BigInteger.prototype.andNot = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_andnot, r);\n return r;\n };\n // BigInteger.prototype.not = bnNot;\n // (public) ~this\n BigInteger.prototype.not = function () {\n var r = nbi();\n for (var i = 0; i < this.t; ++i) {\n r[i] = this.DM & ~this[i];\n }\n r.t = this.t;\n r.s = ~this.s;\n return r;\n };\n // BigInteger.prototype.shiftLeft = bnShiftLeft;\n // (public) this << n\n BigInteger.prototype.shiftLeft = function (n) {\n var r = nbi();\n if (n < 0) {\n this.rShiftTo(-n, r);\n }\n else {\n this.lShiftTo(n, r);\n }\n return r;\n };\n // BigInteger.prototype.shiftRight = bnShiftRight;\n // (public) this >> n\n BigInteger.prototype.shiftRight = function (n) {\n var r = nbi();\n if (n < 0) {\n this.lShiftTo(-n, r);\n }\n else {\n this.rShiftTo(n, r);\n }\n return r;\n };\n // BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;\n // (public) returns index of lowest 1-bit (or -1 if none)\n BigInteger.prototype.getLowestSetBit = function () {\n for (var i = 0; i < this.t; ++i) {\n if (this[i] != 0) {\n return i * this.DB + (0,_util__WEBPACK_IMPORTED_MODULE_0__.lbit)(this[i]);\n }\n }\n if (this.s < 0) {\n return this.t * this.DB;\n }\n return -1;\n };\n // BigInteger.prototype.bitCount = bnBitCount;\n // (public) return number of set bits\n BigInteger.prototype.bitCount = function () {\n var r = 0;\n var x = this.s & this.DM;\n for (var i = 0; i < this.t; ++i) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.cbit)(this[i] ^ x);\n }\n return r;\n };\n // BigInteger.prototype.testBit = bnTestBit;\n // (public) true iff nth bit is set\n BigInteger.prototype.testBit = function (n) {\n var j = Math.floor(n / this.DB);\n if (j >= this.t) {\n return (this.s != 0);\n }\n return ((this[j] & (1 << (n % this.DB))) != 0);\n };\n // BigInteger.prototype.setBit = bnSetBit;\n // (public) this | (1< 1) {\n var g2 = nbi();\n z.sqrTo(g[1], g2);\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n var j = e.t - 1;\n var w;\n var is1 = true;\n var r2 = nbi();\n var t;\n i = nbits(e[j]) - 1;\n while (j >= 0) {\n if (i >= k1) {\n w = (e[j] >> (i - k1)) & km;\n }\n else {\n w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i);\n if (j > 0) {\n w |= e[j - 1] >> (this.DB + i - k1);\n }\n }\n n = k;\n while ((w & 1) == 0) {\n w >>= 1;\n --n;\n }\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n if (is1) { // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n }\n else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n if (n > 0) {\n z.sqrTo(r, r2);\n }\n else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n while (j >= 0 && (e[j] & (1 << i)) == 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n return z.revert(r);\n };\n // BigInteger.prototype.modInverse = bnModInverse;\n // (public) 1/this % m (HAC 14.61)\n BigInteger.prototype.modInverse = function (m) {\n var ac = m.isEven();\n if ((this.isEven() && ac) || m.signum() == 0) {\n return BigInteger.ZERO;\n }\n var u = m.clone();\n var v = this.clone();\n var a = nbv(1);\n var b = nbv(0);\n var c = nbv(0);\n var d = nbv(1);\n while (u.signum() != 0) {\n while (u.isEven()) {\n u.rShiftTo(1, u);\n if (ac) {\n if (!a.isEven() || !b.isEven()) {\n a.addTo(this, a);\n b.subTo(m, b);\n }\n a.rShiftTo(1, a);\n }\n else if (!b.isEven()) {\n b.subTo(m, b);\n }\n b.rShiftTo(1, b);\n }\n while (v.isEven()) {\n v.rShiftTo(1, v);\n if (ac) {\n if (!c.isEven() || !d.isEven()) {\n c.addTo(this, c);\n d.subTo(m, d);\n }\n c.rShiftTo(1, c);\n }\n else if (!d.isEven()) {\n d.subTo(m, d);\n }\n d.rShiftTo(1, d);\n }\n if (u.compareTo(v) >= 0) {\n u.subTo(v, u);\n if (ac) {\n a.subTo(c, a);\n }\n b.subTo(d, b);\n }\n else {\n v.subTo(u, v);\n if (ac) {\n c.subTo(a, c);\n }\n d.subTo(b, d);\n }\n }\n if (v.compareTo(BigInteger.ONE) != 0) {\n return BigInteger.ZERO;\n }\n if (d.compareTo(m) >= 0) {\n return d.subtract(m);\n }\n if (d.signum() < 0) {\n d.addTo(m, d);\n }\n else {\n return d;\n }\n if (d.signum() < 0) {\n return d.add(m);\n }\n else {\n return d;\n }\n };\n // BigInteger.prototype.pow = bnPow;\n // (public) this^e\n BigInteger.prototype.pow = function (e) {\n return this.exp(e, new NullExp());\n };\n // BigInteger.prototype.gcd = bnGCD;\n // (public) gcd(this,a) (HAC 14.54)\n BigInteger.prototype.gcd = function (a) {\n var x = (this.s < 0) ? this.negate() : this.clone();\n var y = (a.s < 0) ? a.negate() : a.clone();\n if (x.compareTo(y) < 0) {\n var t = x;\n x = y;\n y = t;\n }\n var i = x.getLowestSetBit();\n var g = y.getLowestSetBit();\n if (g < 0) {\n return x;\n }\n if (i < g) {\n g = i;\n }\n if (g > 0) {\n x.rShiftTo(g, x);\n y.rShiftTo(g, y);\n }\n while (x.signum() > 0) {\n if ((i = x.getLowestSetBit()) > 0) {\n x.rShiftTo(i, x);\n }\n if ((i = y.getLowestSetBit()) > 0) {\n y.rShiftTo(i, y);\n }\n if (x.compareTo(y) >= 0) {\n x.subTo(y, x);\n x.rShiftTo(1, x);\n }\n else {\n y.subTo(x, y);\n y.rShiftTo(1, y);\n }\n }\n if (g > 0) {\n y.lShiftTo(g, y);\n }\n return y;\n };\n // BigInteger.prototype.isProbablePrime = bnIsProbablePrime;\n // (public) test primality with certainty >= 1-.5^t\n BigInteger.prototype.isProbablePrime = function (t) {\n var i;\n var x = this.abs();\n if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {\n for (i = 0; i < lowprimes.length; ++i) {\n if (x[0] == lowprimes[i]) {\n return true;\n }\n }\n return false;\n }\n if (x.isEven()) {\n return false;\n }\n i = 1;\n while (i < lowprimes.length) {\n var m = lowprimes[i];\n var j = i + 1;\n while (j < lowprimes.length && m < lplim) {\n m *= lowprimes[j++];\n }\n m = x.modInt(m);\n while (i < j) {\n if (m % lowprimes[i++] == 0) {\n return false;\n }\n }\n }\n return x.millerRabin(t);\n };\n //#endregion PUBLIC\n //#region PROTECTED\n // BigInteger.prototype.copyTo = bnpCopyTo;\n // (protected) copy this to r\n BigInteger.prototype.copyTo = function (r) {\n for (var i = this.t - 1; i >= 0; --i) {\n r[i] = this[i];\n }\n r.t = this.t;\n r.s = this.s;\n };\n // BigInteger.prototype.fromInt = bnpFromInt;\n // (protected) set from integer value x, -DV <= x < DV\n BigInteger.prototype.fromInt = function (x) {\n this.t = 1;\n this.s = (x < 0) ? -1 : 0;\n if (x > 0) {\n this[0] = x;\n }\n else if (x < -1) {\n this[0] = x + this.DV;\n }\n else {\n this.t = 0;\n }\n };\n // BigInteger.prototype.fromString = bnpFromString;\n // (protected) set from string and radix\n BigInteger.prototype.fromString = function (s, b) {\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 256) {\n k = 8;\n /* byte array */\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n this.fromRadix(s, b);\n return;\n }\n this.t = 0;\n this.s = 0;\n var i = s.length;\n var mi = false;\n var sh = 0;\n while (--i >= 0) {\n var x = (k == 8) ? (+s[i]) & 0xff : intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == \"-\") {\n mi = true;\n }\n continue;\n }\n mi = false;\n if (sh == 0) {\n this[this.t++] = x;\n }\n else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;\n this[this.t++] = (x >> (this.DB - sh));\n }\n else {\n this[this.t - 1] |= x << sh;\n }\n sh += k;\n if (sh >= this.DB) {\n sh -= this.DB;\n }\n }\n if (k == 8 && ((+s[0]) & 0x80) != 0) {\n this.s = -1;\n if (sh > 0) {\n this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh;\n }\n }\n this.clamp();\n if (mi) {\n BigInteger.ZERO.subTo(this, this);\n }\n };\n // BigInteger.prototype.clamp = bnpClamp;\n // (protected) clamp off excess high words\n BigInteger.prototype.clamp = function () {\n var c = this.s & this.DM;\n while (this.t > 0 && this[this.t - 1] == c) {\n --this.t;\n }\n };\n // BigInteger.prototype.dlShiftTo = bnpDLShiftTo;\n // (protected) r = this << n*DB\n BigInteger.prototype.dlShiftTo = function (n, r) {\n var i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + n] = this[i];\n }\n for (i = n - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r.t = this.t + n;\n r.s = this.s;\n };\n // BigInteger.prototype.drShiftTo = bnpDRShiftTo;\n // (protected) r = this >> n*DB\n BigInteger.prototype.drShiftTo = function (n, r) {\n for (var i = n; i < this.t; ++i) {\n r[i - n] = this[i];\n }\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n };\n // BigInteger.prototype.lShiftTo = bnpLShiftTo;\n // (protected) r = this << n\n BigInteger.prototype.lShiftTo = function (n, r) {\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << cbs) - 1;\n var ds = Math.floor(n / this.DB);\n var c = (this.s << bs) & this.DM;\n for (var i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = (this[i] >> cbs) | c;\n c = (this[i] & bm) << bs;\n }\n for (var i = ds - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n };\n // BigInteger.prototype.rShiftTo = bnpRShiftTo;\n // (protected) r = this >> n\n BigInteger.prototype.rShiftTo = function (n, r) {\n r.s = this.s;\n var ds = Math.floor(n / this.DB);\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n for (var i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n if (bs > 0) {\n r[this.t - ds - 1] |= (this.s & bm) << cbs;\n }\n r.t = this.t - ds;\n r.clamp();\n };\n // BigInteger.prototype.subTo = bnpSubTo;\n // (protected) r = this - a\n BigInteger.prototype.subTo = function (a, r) {\n var i = 0;\n var c = 0;\n var m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c -= a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = (c < 0) ? -1 : 0;\n if (c < -1) {\n r[i++] = this.DV + c;\n }\n else if (c > 0) {\n r[i++] = c;\n }\n r.t = i;\n r.clamp();\n };\n // BigInteger.prototype.multiplyTo = bnpMultiplyTo;\n // (protected) r = this * a, r != this,a (HAC 14.12)\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyTo = function (a, r) {\n var x = this.abs();\n var y = a.abs();\n var i = x.t;\n r.t = i + y.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < y.t; ++i) {\n r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n }\n r.s = 0;\n r.clamp();\n if (this.s != a.s) {\n BigInteger.ZERO.subTo(r, r);\n }\n };\n // BigInteger.prototype.squareTo = bnpSquareTo;\n // (protected) r = this^2, r != this (HAC 14.16)\n BigInteger.prototype.squareTo = function (r) {\n var x = this.abs();\n var i = r.t = 2 * x.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n if (r.t > 0) {\n r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n }\n r.s = 0;\n r.clamp();\n };\n // BigInteger.prototype.divRemTo = bnpDivRemTo;\n // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n // r != q, this != m. q or r may be null.\n BigInteger.prototype.divRemTo = function (m, q, r) {\n var pm = m.abs();\n if (pm.t <= 0) {\n return;\n }\n var pt = this.abs();\n if (pt.t < pm.t) {\n if (q != null) {\n q.fromInt(0);\n }\n if (r != null) {\n this.copyTo(r);\n }\n return;\n }\n if (r == null) {\n r = nbi();\n }\n var y = nbi();\n var ts = this.s;\n var ms = m.s;\n var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n }\n else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n var ys = y.t;\n var y0 = y[ys - 1];\n if (y0 == 0) {\n return;\n }\n var yt = y0 * (1 << this.F1) + ((ys > 1) ? y[ys - 2] >> this.F2 : 0);\n var d1 = this.FV / yt;\n var d2 = (1 << this.F1) / yt;\n var e = 1 << this.F2;\n var i = r.t;\n var j = i - ys;\n var t = (q == null) ? nbi() : q;\n y.dlShiftTo(j, t);\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y); // \"negative\" y so we can replace sub with am later\n while (y.t < ys) {\n y[y.t++] = 0;\n }\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = (r[--i] == y0) ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n while (r[i] < --qd) {\n r.subTo(t, r);\n }\n }\n }\n if (q != null) {\n r.drShiftTo(ys, q);\n if (ts != ms) {\n BigInteger.ZERO.subTo(q, q);\n }\n }\n r.t = ys;\n r.clamp();\n if (nsh > 0) {\n r.rShiftTo(nsh, r);\n } // Denormalize remainder\n if (ts < 0) {\n BigInteger.ZERO.subTo(r, r);\n }\n };\n // BigInteger.prototype.invDigit = bnpInvDigit;\n // (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n // justification:\n // xy == 1 (mod m)\n // xy = 1+km\n // xy(2-xy) = (1+km)(1-km)\n // x[y(2-xy)] = 1-k^2m^2\n // x[y(2-xy)] == 1 (mod m^2)\n // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n // JS multiply \"overflows\" differently from C/C++, so care is needed here.\n BigInteger.prototype.invDigit = function () {\n if (this.t < 1) {\n return 0;\n }\n var x = this[0];\n if ((x & 1) == 0) {\n return 0;\n }\n var y = x & 3; // y == 1/x mod 2^2\n y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4\n y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8\n y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return (y > 0) ? this.DV - y : -y;\n };\n // BigInteger.prototype.isEven = bnpIsEven;\n // (protected) true iff this is even\n BigInteger.prototype.isEven = function () {\n return ((this.t > 0) ? (this[0] & 1) : this.s) == 0;\n };\n // BigInteger.prototype.exp = bnpExp;\n // (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\n BigInteger.prototype.exp = function (e, z) {\n if (e > 0xffffffff || e < 1) {\n return BigInteger.ONE;\n }\n var r = nbi();\n var r2 = nbi();\n var g = z.convert(this);\n var i = nbits(e) - 1;\n g.copyTo(r);\n while (--i >= 0) {\n z.sqrTo(r, r2);\n if ((e & (1 << i)) > 0) {\n z.mulTo(r2, g, r);\n }\n else {\n var t = r;\n r = r2;\n r2 = t;\n }\n }\n return z.revert(r);\n };\n // BigInteger.prototype.chunkSize = bnpChunkSize;\n // (protected) return x s.t. r^x < DV\n BigInteger.prototype.chunkSize = function (r) {\n return Math.floor(Math.LN2 * this.DB / Math.log(r));\n };\n // BigInteger.prototype.toRadix = bnpToRadix;\n // (protected) convert to radix string\n BigInteger.prototype.toRadix = function (b) {\n if (b == null) {\n b = 10;\n }\n if (this.signum() == 0 || b < 2 || b > 36) {\n return \"0\";\n }\n var cs = this.chunkSize(b);\n var a = Math.pow(b, cs);\n var d = nbv(a);\n var y = nbi();\n var z = nbi();\n var r = \"\";\n this.divRemTo(d, y, z);\n while (y.signum() > 0) {\n r = (a + z.intValue()).toString(b).substr(1) + r;\n y.divRemTo(d, y, z);\n }\n return z.intValue().toString(b) + r;\n };\n // BigInteger.prototype.fromRadix = bnpFromRadix;\n // (protected) convert from radix string\n BigInteger.prototype.fromRadix = function (s, b) {\n this.fromInt(0);\n if (b == null) {\n b = 10;\n }\n var cs = this.chunkSize(b);\n var d = Math.pow(b, cs);\n var mi = false;\n var j = 0;\n var w = 0;\n for (var i = 0; i < s.length; ++i) {\n var x = intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == \"-\" && this.signum() == 0) {\n mi = true;\n }\n continue;\n }\n w = b * w + x;\n if (++j >= cs) {\n this.dMultiply(d);\n this.dAddOffset(w, 0);\n j = 0;\n w = 0;\n }\n }\n if (j > 0) {\n this.dMultiply(Math.pow(b, j));\n this.dAddOffset(w, 0);\n }\n if (mi) {\n BigInteger.ZERO.subTo(this, this);\n }\n };\n // BigInteger.prototype.fromNumber = bnpFromNumber;\n // (protected) alternate constructor\n BigInteger.prototype.fromNumber = function (a, b, c) {\n if (\"number\" == typeof b) {\n // new BigInteger(int,int,RNG)\n if (a < 2) {\n this.fromInt(1);\n }\n else {\n this.fromNumber(a, c);\n if (!this.testBit(a - 1)) {\n // force MSB set\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), _util__WEBPACK_IMPORTED_MODULE_0__.op_or, this);\n }\n if (this.isEven()) {\n this.dAddOffset(1, 0);\n } // force odd\n while (!this.isProbablePrime(b)) {\n this.dAddOffset(2, 0);\n if (this.bitLength() > a) {\n this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);\n }\n }\n }\n }\n else {\n // new BigInteger(int,RNG)\n var x = [];\n var t = a & 7;\n x.length = (a >> 3) + 1;\n b.nextBytes(x);\n if (t > 0) {\n x[0] &= ((1 << t) - 1);\n }\n else {\n x[0] = 0;\n }\n this.fromString(x, 256);\n }\n };\n // BigInteger.prototype.bitwiseTo = bnpBitwiseTo;\n // (protected) r = this op a (bitwise)\n BigInteger.prototype.bitwiseTo = function (a, op, r) {\n var i;\n var f;\n var m = Math.min(a.t, this.t);\n for (i = 0; i < m; ++i) {\n r[i] = op(this[i], a[i]);\n }\n if (a.t < this.t) {\n f = a.s & this.DM;\n for (i = m; i < this.t; ++i) {\n r[i] = op(this[i], f);\n }\n r.t = this.t;\n }\n else {\n f = this.s & this.DM;\n for (i = m; i < a.t; ++i) {\n r[i] = op(f, a[i]);\n }\n r.t = a.t;\n }\n r.s = op(this.s, a.s);\n r.clamp();\n };\n // BigInteger.prototype.changeBit = bnpChangeBit;\n // (protected) this op (1<>= this.DB;\n }\n if (a.t < this.t) {\n c += a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = (c < 0) ? -1 : 0;\n if (c > 0) {\n r[i++] = c;\n }\n else if (c < -1) {\n r[i++] = this.DV + c;\n }\n r.t = i;\n r.clamp();\n };\n // BigInteger.prototype.dMultiply = bnpDMultiply;\n // (protected) this *= n, this >= 0, 1 < n < DV\n BigInteger.prototype.dMultiply = function (n) {\n this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);\n ++this.t;\n this.clamp();\n };\n // BigInteger.prototype.dAddOffset = bnpDAddOffset;\n // (protected) this += n << w words, this >= 0\n BigInteger.prototype.dAddOffset = function (n, w) {\n if (n == 0) {\n return;\n }\n while (this.t <= w) {\n this[this.t++] = 0;\n }\n this[w] += n;\n while (this[w] >= this.DV) {\n this[w] -= this.DV;\n if (++w >= this.t) {\n this[this.t++] = 0;\n }\n ++this[w];\n }\n };\n // BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;\n // (protected) r = lower n words of \"this * a\", a.t <= n\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyLowerTo = function (a, n, r) {\n var i = Math.min(this.t + a.t, n);\n r.s = 0; // assumes a,this >= 0\n r.t = i;\n while (i > 0) {\n r[--i] = 0;\n }\n for (var j = r.t - this.t; i < j; ++i) {\n r[i + this.t] = this.am(0, a[i], r, i, 0, this.t);\n }\n for (var j = Math.min(a.t, n); i < j; ++i) {\n this.am(0, a[i], r, i, 0, n - i);\n }\n r.clamp();\n };\n // BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;\n // (protected) r = \"this * a\" without lower n words, n > 0\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyUpperTo = function (a, n, r) {\n --n;\n var i = r.t = this.t + a.t - n;\n r.s = 0; // assumes a,this >= 0\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = Math.max(n - this.t, 0); i < a.t; ++i) {\n r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n);\n }\n r.clamp();\n r.drShiftTo(1, r);\n };\n // BigInteger.prototype.modInt = bnpModInt;\n // (protected) this % n, n < 2^26\n BigInteger.prototype.modInt = function (n) {\n if (n <= 0) {\n return 0;\n }\n var d = this.DV % n;\n var r = (this.s < 0) ? n - 1 : 0;\n if (this.t > 0) {\n if (d == 0) {\n r = this[0] % n;\n }\n else {\n for (var i = this.t - 1; i >= 0; --i) {\n r = (d * r + this[i]) % n;\n }\n }\n }\n return r;\n };\n // BigInteger.prototype.millerRabin = bnpMillerRabin;\n // (protected) true if probably prime (HAC 4.24, Miller-Rabin)\n BigInteger.prototype.millerRabin = function (t) {\n var n1 = this.subtract(BigInteger.ONE);\n var k = n1.getLowestSetBit();\n if (k <= 0) {\n return false;\n }\n var r = n1.shiftRight(k);\n t = (t + 1) >> 1;\n if (t > lowprimes.length) {\n t = lowprimes.length;\n }\n var a = nbi();\n for (var i = 0; i < t; ++i) {\n // Pick bases at random, instead of starting at 2\n a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);\n var y = a.modPow(r, this);\n if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\n var j = 1;\n while (j++ < k && y.compareTo(n1) != 0) {\n y = y.modPowInt(2, this);\n if (y.compareTo(BigInteger.ONE) == 0) {\n return false;\n }\n }\n if (y.compareTo(n1) != 0) {\n return false;\n }\n }\n }\n return true;\n };\n // BigInteger.prototype.square = bnSquare;\n // (public) this^2\n BigInteger.prototype.square = function () {\n var r = nbi();\n this.squareTo(r);\n return r;\n };\n //#region ASYNC\n // Public API method\n BigInteger.prototype.gcda = function (a, callback) {\n var x = (this.s < 0) ? this.negate() : this.clone();\n var y = (a.s < 0) ? a.negate() : a.clone();\n if (x.compareTo(y) < 0) {\n var t = x;\n x = y;\n y = t;\n }\n var i = x.getLowestSetBit();\n var g = y.getLowestSetBit();\n if (g < 0) {\n callback(x);\n return;\n }\n if (i < g) {\n g = i;\n }\n if (g > 0) {\n x.rShiftTo(g, x);\n y.rShiftTo(g, y);\n }\n // Workhorse of the algorithm, gets called 200 - 800 times per 512 bit keygen.\n var gcda1 = function () {\n if ((i = x.getLowestSetBit()) > 0) {\n x.rShiftTo(i, x);\n }\n if ((i = y.getLowestSetBit()) > 0) {\n y.rShiftTo(i, y);\n }\n if (x.compareTo(y) >= 0) {\n x.subTo(y, x);\n x.rShiftTo(1, x);\n }\n else {\n y.subTo(x, y);\n y.rShiftTo(1, y);\n }\n if (!(x.signum() > 0)) {\n if (g > 0) {\n y.lShiftTo(g, y);\n }\n setTimeout(function () { callback(y); }, 0); // escape\n }\n else {\n setTimeout(gcda1, 0);\n }\n };\n setTimeout(gcda1, 10);\n };\n // (protected) alternate constructor\n BigInteger.prototype.fromNumberAsync = function (a, b, c, callback) {\n if (\"number\" == typeof b) {\n if (a < 2) {\n this.fromInt(1);\n }\n else {\n this.fromNumber(a, c);\n if (!this.testBit(a - 1)) {\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), _util__WEBPACK_IMPORTED_MODULE_0__.op_or, this);\n }\n if (this.isEven()) {\n this.dAddOffset(1, 0);\n }\n var bnp_1 = this;\n var bnpfn1_1 = function () {\n bnp_1.dAddOffset(2, 0);\n if (bnp_1.bitLength() > a) {\n bnp_1.subTo(BigInteger.ONE.shiftLeft(a - 1), bnp_1);\n }\n if (bnp_1.isProbablePrime(b)) {\n setTimeout(function () { callback(); }, 0); // escape\n }\n else {\n setTimeout(bnpfn1_1, 0);\n }\n };\n setTimeout(bnpfn1_1, 0);\n }\n }\n else {\n var x = [];\n var t = a & 7;\n x.length = (a >> 3) + 1;\n b.nextBytes(x);\n if (t > 0) {\n x[0] &= ((1 << t) - 1);\n }\n else {\n x[0] = 0;\n }\n this.fromString(x, 256);\n }\n };\n return BigInteger;\n}());\n\n//#region REDUCERS\n//#region NullExp\nvar NullExp = /** @class */ (function () {\n function NullExp() {\n }\n // NullExp.prototype.convert = nNop;\n NullExp.prototype.convert = function (x) {\n return x;\n };\n // NullExp.prototype.revert = nNop;\n NullExp.prototype.revert = function (x) {\n return x;\n };\n // NullExp.prototype.mulTo = nMulTo;\n NullExp.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n };\n // NullExp.prototype.sqrTo = nSqrTo;\n NullExp.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n };\n return NullExp;\n}());\n// Modular reduction using \"classic\" algorithm\nvar Classic = /** @class */ (function () {\n function Classic(m) {\n this.m = m;\n }\n // Classic.prototype.convert = cConvert;\n Classic.prototype.convert = function (x) {\n if (x.s < 0 || x.compareTo(this.m) >= 0) {\n return x.mod(this.m);\n }\n else {\n return x;\n }\n };\n // Classic.prototype.revert = cRevert;\n Classic.prototype.revert = function (x) {\n return x;\n };\n // Classic.prototype.reduce = cReduce;\n Classic.prototype.reduce = function (x) {\n x.divRemTo(this.m, null, x);\n };\n // Classic.prototype.mulTo = cMulTo;\n Classic.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Classic.prototype.sqrTo = cSqrTo;\n Classic.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Classic;\n}());\n//#endregion\n//#region Montgomery\n// Montgomery reduction\nvar Montgomery = /** @class */ (function () {\n function Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << (m.DB - 15)) - 1;\n this.mt2 = 2 * m.t;\n }\n // Montgomery.prototype.convert = montConvert;\n // xR mod m\n Montgomery.prototype.convert = function (x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\n this.m.subTo(r, r);\n }\n return r;\n };\n // Montgomery.prototype.revert = montRevert;\n // x/R mod m\n Montgomery.prototype.revert = function (x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n };\n // Montgomery.prototype.reduce = montReduce;\n // x = x/R mod m (HAC 14.32)\n Montgomery.prototype.reduce = function (x) {\n while (x.t <= this.mt2) {\n // pad x so am has enough room later\n x[x.t++] = 0;\n }\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff;\n var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n // propagate carry\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0) {\n x.subTo(this.m, x);\n }\n };\n // Montgomery.prototype.mulTo = montMulTo;\n // r = \"xy/R mod m\"; x,y != r\n Montgomery.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Montgomery.prototype.sqrTo = montSqrTo;\n // r = \"x^2/R mod m\"; x != r\n Montgomery.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Montgomery;\n}());\n//#endregion Montgomery\n//#region Barrett\n// Barrett modular reduction\nvar Barrett = /** @class */ (function () {\n function Barrett(m) {\n this.m = m;\n // setup Barrett\n this.r2 = nbi();\n this.q3 = nbi();\n BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);\n this.mu = this.r2.divide(m);\n }\n // Barrett.prototype.convert = barrettConvert;\n Barrett.prototype.convert = function (x) {\n if (x.s < 0 || x.t > 2 * this.m.t) {\n return x.mod(this.m);\n }\n else if (x.compareTo(this.m) < 0) {\n return x;\n }\n else {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n }\n };\n // Barrett.prototype.revert = barrettRevert;\n Barrett.prototype.revert = function (x) {\n return x;\n };\n // Barrett.prototype.reduce = barrettReduce;\n // x = x mod m (HAC 14.42)\n Barrett.prototype.reduce = function (x) {\n x.drShiftTo(this.m.t - 1, this.r2);\n if (x.t > this.m.t + 1) {\n x.t = this.m.t + 1;\n x.clamp();\n }\n this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);\n this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);\n while (x.compareTo(this.r2) < 0) {\n x.dAddOffset(1, this.m.t + 1);\n }\n x.subTo(this.r2, x);\n while (x.compareTo(this.m) >= 0) {\n x.subTo(this.m, x);\n }\n };\n // Barrett.prototype.mulTo = barrettMulTo;\n // r = x*y mod m; x,y != r\n Barrett.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Barrett.prototype.sqrTo = barrettSqrTo;\n // r = x^2 mod m; x != r\n Barrett.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Barrett;\n}());\n//#endregion\n//#endregion REDUCERS\n// return new, unset BigInteger\nfunction nbi() { return new BigInteger(null); }\nfunction parseBigInt(str, r) {\n return new BigInteger(str, r);\n}\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\nvar inBrowser = typeof navigator !== \"undefined\";\nif (inBrowser && j_lm && (navigator.appName == \"Microsoft Internet Explorer\")) {\n // am2 avoids a big mult-and-extract completely.\n // Max digit bits should be <= 30 because we do bitwise ops\n // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\n BigInteger.prototype.am = function am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff;\n var xh = x >> 15;\n while (--n >= 0) {\n var l = this[i] & 0x7fff;\n var h = this[i++] >> 15;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n return c;\n };\n dbits = 30;\n}\nelse if (inBrowser && j_lm && (navigator.appName != \"Netscape\")) {\n // am1: use a single mult and divide to get the high bits,\n // max digit bits should be 26 because\n // max internal value = 2*dvalue^2-2*dvalue (< 2^53)\n BigInteger.prototype.am = function am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n return c;\n };\n dbits = 26;\n}\nelse { // Mozilla/Netscape seems to prefer am3\n // Alternately, set max digit bits to 28 since some\n // browsers slow down when dealing with 32-bit numbers.\n BigInteger.prototype.am = function am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff;\n var xh = x >> 14;\n while (--n >= 0) {\n var l = this[i] & 0x3fff;\n var h = this[i++] >> 14;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n return c;\n };\n dbits = 28;\n}\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = ((1 << dbits) - 1);\nBigInteger.prototype.DV = (1 << dbits);\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n// Digit conversions\nvar BI_RC = [];\nvar rr;\nvar vv;\nrr = \"0\".charCodeAt(0);\nfor (vv = 0; vv <= 9; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = \"a\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = \"A\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)];\n return (c == null) ? -1 : c;\n}\n// return bigint initialized to value\nfunction nbv(i) {\n var r = nbi();\n r.fromInt(i);\n return r;\n}\n// returns bit length of the integer x\nfunction nbits(x) {\n var r = 1;\n var t;\n if ((t = x >>> 16) != 0) {\n x = t;\n r += 16;\n }\n if ((t = x >> 8) != 0) {\n x = t;\n r += 8;\n }\n if ((t = x >> 4) != 0) {\n x = t;\n r += 4;\n }\n if ((t = x >> 2) != 0) {\n x = t;\n r += 2;\n }\n if ((t = x >> 1) != 0) {\n x = t;\n r += 1;\n }\n return r;\n}\n// \"constants\"\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/jsbn.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/jsbn/prng4.js":
+/*!*******************************!*\
+ !*** ./lib/lib/jsbn/prng4.js ***!
+ \*******************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Arcfour\": () => (/* binding */ Arcfour),\n/* harmony export */ \"prng_newstate\": () => (/* binding */ prng_newstate),\n/* harmony export */ \"rng_psize\": () => (/* binding */ rng_psize)\n/* harmony export */ });\n// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n function Arcfour() {\n this.i = 0;\n this.j = 0;\n this.S = [];\n }\n // Arcfour.prototype.init = ARC4init;\n // Initialize arcfour context from key, an array of ints, each from [0..255]\n Arcfour.prototype.init = function (key) {\n var i;\n var j;\n var t;\n for (i = 0; i < 256; ++i) {\n this.S[i] = i;\n }\n j = 0;\n for (i = 0; i < 256; ++i) {\n j = (j + this.S[i] + key[i % key.length]) & 255;\n t = this.S[i];\n this.S[i] = this.S[j];\n this.S[j] = t;\n }\n this.i = 0;\n this.j = 0;\n };\n // Arcfour.prototype.next = ARC4next;\n Arcfour.prototype.next = function () {\n var t;\n this.i = (this.i + 1) & 255;\n this.j = (this.j + this.S[this.i]) & 255;\n t = this.S[this.i];\n this.S[this.i] = this.S[this.j];\n this.S[this.j] = t;\n return this.S[(t + this.S[this.i]) & 255];\n };\n return Arcfour;\n}());\n\n// Plug in your RNG constructor here\nfunction prng_newstate() {\n return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nvar rng_psize = 256;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/prng4.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/jsbn/rng.js":
+/*!*****************************!*\
+ !*** ./lib/lib/jsbn/rng.js ***!
+ \*****************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SecureRandom\": () => (/* binding */ SecureRandom)\n/* harmony export */ });\n/* harmony import */ var _prng4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prng4 */ \"./lib/lib/jsbn/prng4.js\");\n// Random number generator - requires a PRNG backend, e.g. prng4.js\n\nvar rng_state;\nvar rng_pool = null;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n rng_pool = [];\n rng_pptr = 0;\n var t = void 0;\n if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {\n // Extract entropy (2048 bits) from RNG if available\n var z = new Uint32Array(256);\n window.crypto.getRandomValues(z);\n for (t = 0; t < z.length; ++t) {\n rng_pool[rng_pptr++] = z[t] & 255;\n }\n }\n // Use mouse events for entropy, if we do not have enough entropy by the time\n // we need it, entropy will be generated by Math.random.\n var count = 0;\n var onMouseMoveListener_1 = function (ev) {\n count = count || 0;\n if (count >= 256 || rng_pptr >= _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n if (window.removeEventListener) {\n window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.detachEvent) {\n window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n return;\n }\n try {\n var mouseCoordinates = ev.x + ev.y;\n rng_pool[rng_pptr++] = mouseCoordinates & 255;\n count += 1;\n }\n catch (e) {\n // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n }\n };\n if (typeof window !== 'undefined') {\n if (window.addEventListener) {\n window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.attachEvent) {\n window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n }\n}\nfunction rng_get_byte() {\n if (rng_state == null) {\n rng_state = (0,_prng4__WEBPACK_IMPORTED_MODULE_0__.prng_newstate)();\n // At this point, we may not have collected enough entropy. If not, fall back to Math.random\n while (rng_pptr < _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n var random = Math.floor(65536 * Math.random());\n rng_pool[rng_pptr++] = random & 255;\n }\n rng_state.init(rng_pool);\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n rng_pool[rng_pptr] = 0;\n }\n rng_pptr = 0;\n }\n // TODO: allow reseeding after first request\n return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n function SecureRandom() {\n }\n SecureRandom.prototype.nextBytes = function (ba) {\n for (var i = 0; i < ba.length; ++i) {\n ba[i] = rng_get_byte();\n }\n };\n return SecureRandom;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rng.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/jsbn/rsa.js":
+/*!*****************************!*\
+ !*** ./lib/lib/jsbn/rsa.js ***!
+ \*****************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RSAKey\": () => (/* binding */ RSAKey)\n/* harmony export */ });\n/* harmony import */ var _jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _rng__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng */ \"./lib/lib/jsbn/rng.js\");\n// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\n\n\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text) {\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E, D) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n this.d = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(D, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.setPrivateEx = RSASetPrivateEx;\n // Set the private key fields N, e, d and CRT params from hex strings\n RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n this.d = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(D, 16);\n this.p = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(P, 16);\n this.q = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(Q, 16);\n this.dmp1 = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(DP, 16);\n this.dmq1 = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(DQ, 16);\n this.coeff = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(C, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.generate = RSAGenerate;\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generate = function (B, E) {\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(E, 16);\n for (;;) {\n for (;;) {\n this.p = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(B - qs, 1, rng);\n if (this.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {\n break;\n }\n }\n for (;;) {\n this.q = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(qs, 1, rng);\n if (this.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {\n break;\n }\n }\n if (this.p.compareTo(this.q) <= 0) {\n var t = this.p;\n this.p = this.q;\n this.q = t;\n }\n var p1 = this.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var q1 = this.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0) {\n this.n = this.p.multiply(this.q);\n this.d = ee.modInverse(phi);\n this.dmp1 = this.d.mod(p1);\n this.dmq1 = this.d.mod(q1);\n this.coeff = this.q.modInverse(this.p);\n break;\n }\n }\n };\n // RSAKey.prototype.decrypt = RSADecrypt;\n // Return the PKCS#1 RSA decryption of \"ctext\".\n // \"ctext\" is an even-length hex string and the output is a plain string.\n RSAKey.prototype.decrypt = function (ctext) {\n var c = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(ctext, 16);\n var m = this.doPrivate(c);\n if (m == null) {\n return null;\n }\n return pkcs1unpad2(m, (this.n.bitLength() + 7) >> 3);\n };\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generateAsync = function (B, E, callback) {\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(E, 16);\n var rsa = this;\n // These functions have non-descript names because they were originally for(;;) loops.\n // I don't know about cryptography to give them better names than loop1-4.\n var loop1 = function () {\n var loop4 = function () {\n if (rsa.p.compareTo(rsa.q) <= 0) {\n var t = rsa.p;\n rsa.p = rsa.q;\n rsa.q = t;\n }\n var p1 = rsa.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var q1 = rsa.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0) {\n rsa.n = rsa.p.multiply(rsa.q);\n rsa.d = ee.modInverse(phi);\n rsa.dmp1 = rsa.d.mod(p1);\n rsa.dmq1 = rsa.d.mod(q1);\n rsa.coeff = rsa.q.modInverse(rsa.p);\n setTimeout(function () { callback(); }, 0); // escape\n }\n else {\n setTimeout(loop1, 0);\n }\n };\n var loop3 = function () {\n rsa.q = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.nbi)();\n rsa.q.fromNumberAsync(qs, 1, rng, function () {\n rsa.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {\n setTimeout(loop4, 0);\n }\n else {\n setTimeout(loop3, 0);\n }\n });\n });\n };\n var loop2 = function () {\n rsa.p = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.nbi)();\n rsa.p.fromNumberAsync(B - qs, 1, rng, function () {\n rsa.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {\n setTimeout(loop3, 0);\n }\n else {\n setTimeout(loop2, 0);\n }\n });\n });\n };\n setTimeout(loop2, 0);\n };\n setTimeout(loop1, 0);\n };\n RSAKey.prototype.sign = function (text, digestMethod, digestName) {\n var header = getDigestHeader(digestName);\n var digest = header + digestMethod(text).toString();\n var m = pkcs1pad1(digest, this.n.bitLength() / 4);\n if (m == null) {\n return null;\n }\n var c = this.doPrivate(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n if ((h.length & 1) == 0) {\n return h;\n }\n else {\n return \"0\" + h;\n }\n };\n RSAKey.prototype.verify = function (text, signature, digestMethod) {\n var c = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(signature, 16);\n var m = this.doPublic(c);\n if (m == null) {\n return null;\n }\n var unpadded = m.toString(16).replace(/^1f+00/, \"\");\n var digest = removeDigestHeader(unpadded);\n return digest == digestMethod(text).toString();\n };\n return RSAKey;\n}());\n\n// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext\nfunction pkcs1unpad2(d, n) {\n var b = d.toByteArray();\n var i = 0;\n while (i < b.length && b[i] == 0) {\n ++i;\n }\n if (b.length - i != n - 1 || b[i] != 2) {\n return null;\n }\n ++i;\n while (b[i] != 0) {\n if (++i >= b.length) {\n return null;\n }\n }\n var ret = \"\";\n while (++i < b.length) {\n var c = b[i] & 255;\n if (c < 128) { // utf-8 decode\n ret += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63));\n ++i;\n }\n else {\n ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63));\n i += 2;\n }\n }\n return ret;\n}\n// https://tools.ietf.org/html/rfc3447#page-43\nvar DIGEST_HEADERS = {\n md2: \"3020300c06082a864886f70d020205000410\",\n md5: \"3020300c06082a864886f70d020505000410\",\n sha1: \"3021300906052b0e03021a05000414\",\n sha224: \"302d300d06096086480165030402040500041c\",\n sha256: \"3031300d060960864801650304020105000420\",\n sha384: \"3041300d060960864801650304020205000430\",\n sha512: \"3051300d060960864801650304020305000440\",\n ripemd160: \"3021300906052b2403020105000414\"\n};\nfunction getDigestHeader(name) {\n return DIGEST_HEADERS[name] || \"\";\n}\nfunction removeDigestHeader(str) {\n for (var name_1 in DIGEST_HEADERS) {\n if (DIGEST_HEADERS.hasOwnProperty(name_1)) {\n var header = DIGEST_HEADERS[name_1];\n var len = header.length;\n if (str.substr(0, len) == header) {\n return str.substr(len);\n }\n }\n }\n return str;\n}\n// Return the PKCS#1 RSA encryption of \"text\" as a Base64-encoded string\n// function RSAEncryptB64(text) {\n// var h = this.encrypt(text);\n// if(h) return hex2b64(h); else return null;\n// }\n// public\n// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rsa.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/jsbn/util.js":
+/*!******************************!*\
+ !*** ./lib/lib/jsbn/util.js ***!
+ \******************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cbit\": () => (/* binding */ cbit),\n/* harmony export */ \"int2char\": () => (/* binding */ int2char),\n/* harmony export */ \"lbit\": () => (/* binding */ lbit),\n/* harmony export */ \"op_and\": () => (/* binding */ op_and),\n/* harmony export */ \"op_andnot\": () => (/* binding */ op_andnot),\n/* harmony export */ \"op_or\": () => (/* binding */ op_or),\n/* harmony export */ \"op_xor\": () => (/* binding */ op_xor)\n/* harmony export */ });\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nfunction op_and(x, y) {\n return x & y;\n}\n// (public) this | a\nfunction op_or(x, y) {\n return x | y;\n}\n// (public) this ^ a\nfunction op_xor(x, y) {\n return x ^ y;\n}\n// (public) this & ~a\nfunction op_andnot(x, y) {\n return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n if (x == 0) {\n return -1;\n }\n var r = 0;\n if ((x & 0xffff) == 0) {\n x >>= 16;\n r += 16;\n }\n if ((x & 0xff) == 0) {\n x >>= 8;\n r += 8;\n }\n if ((x & 0xf) == 0) {\n x >>= 4;\n r += 4;\n }\n if ((x & 3) == 0) {\n x >>= 2;\n r += 2;\n }\n if ((x & 1) == 0) {\n ++r;\n }\n return r;\n}\n// return number of 1 bits in x\nfunction cbit(x) {\n var r = 0;\n while (x != 0) {\n x &= x - 1;\n ++r;\n }\n return r;\n}\n//#endregion BIT_OPERATIONS\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/util.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/jsrsasign/asn1-1.0.js":
+/*!***************************************!*\
+ !*** ./lib/lib/jsrsasign/asn1-1.0.js ***!
+ \***************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KJUR\": () => (/* binding */ KJUR)\n/* harmony export */ });\n/* harmony import */ var _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _yahoo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./yahoo */ \"./lib/lib/jsrsasign/yahoo.js\");\n/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n/*\n * asn1.js - ASN.1 DER encoder classes\n *\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\n *\n * This software is licensed under the terms of the MIT License.\n * https://kjur.github.io/jsrsasign/license\n *\n * The above copyright and license notice shall be\n * included in all copies or substantial portions of the Software.\n */\n\n\n/**\n * @fileOverview\n * @name asn1-1.0.js\n * @author Kenji Urushima kenji.urushima@gmail.com\n * @version asn1 1.0.13 (2017-Jun-02)\n * @since jsrsasign 2.1\n * @license MIT License\n */\n/**\n * kjur's class library name space\n * \n * This name space provides following name spaces:\n *
\n * - {@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder
\n * - {@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL
\n * - {@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities
\n *
\n * \n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\n * @name KJUR\n * @namespace kjur's class library name space\n */\nvar KJUR = {};\n/**\n * kjur's ASN.1 class library name space\n * \n * This is ITU-T X.690 ASN.1 DER encoder class library and\n * class structure and methods is very similar to\n * org.bouncycastle.asn1 package of\n * well known BouncyCaslte Cryptography Library.\n *
PROVIDING ASN.1 PRIMITIVES
\n * Here are ASN.1 DER primitive classes.\n * \n * - 0x01 {@link KJUR.asn1.DERBoolean}
\n * - 0x02 {@link KJUR.asn1.DERInteger}
\n * - 0x03 {@link KJUR.asn1.DERBitString}
\n * - 0x04 {@link KJUR.asn1.DEROctetString}
\n * - 0x05 {@link KJUR.asn1.DERNull}
\n * - 0x06 {@link KJUR.asn1.DERObjectIdentifier}
\n * - 0x0a {@link KJUR.asn1.DEREnumerated}
\n * - 0x0c {@link KJUR.asn1.DERUTF8String}
\n * - 0x12 {@link KJUR.asn1.DERNumericString}
\n * - 0x13 {@link KJUR.asn1.DERPrintableString}
\n * - 0x14 {@link KJUR.asn1.DERTeletexString}
\n * - 0x16 {@link KJUR.asn1.DERIA5String}
\n * - 0x17 {@link KJUR.asn1.DERUTCTime}
\n * - 0x18 {@link KJUR.asn1.DERGeneralizedTime}
\n * - 0x30 {@link KJUR.asn1.DERSequence}
\n * - 0x31 {@link KJUR.asn1.DERSet}
\n *
\n * OTHER ASN.1 CLASSES
\n * \n * - {@link KJUR.asn1.ASN1Object}
\n * - {@link KJUR.asn1.DERAbstractString}
\n * - {@link KJUR.asn1.DERAbstractTime}
\n * - {@link KJUR.asn1.DERAbstractStructured}
\n * - {@link KJUR.asn1.DERTaggedObject}
\n *
\n * SUB NAME SPACES
\n * \n * - {@link KJUR.asn1.cades} - CAdES long term signature format
\n * - {@link KJUR.asn1.cms} - Cryptographic Message Syntax
\n * - {@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)
\n * - {@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format
\n * - {@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL
\n *
\n * \n * NOTE: Please ignore method summary and document of this namespace.\n * This caused by a bug of jsdoc2.\n * @name KJUR.asn1\n * @namespace\n */\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\n KJUR.asn1 = {};\n/**\n * ASN1 utilities class\n * @name KJUR.asn1.ASN1Util\n * @class ASN1 utilities class\n * @since asn1 1.0.2\n */\nKJUR.asn1.ASN1Util = new function () {\n this.integerToByteHex = function (i) {\n var h = i.toString(16);\n if ((h.length % 2) == 1)\n h = '0' + h;\n return h;\n };\n this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\n var h = bigIntegerValue.toString(16);\n if (h.substr(0, 1) != '-') {\n if (h.length % 2 == 1) {\n h = '0' + h;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n h = '00' + h;\n }\n }\n }\n else {\n var hPos = h.substr(1);\n var xorLen = hPos.length;\n if (xorLen % 2 == 1) {\n xorLen += 1;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n xorLen += 2;\n }\n }\n var hMask = '';\n for (var i = 0; i < xorLen; i++) {\n hMask += 'f';\n }\n var biMask = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(hMask, 16);\n var biNeg = biMask.xor(bigIntegerValue).add(_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n h = biNeg.toString(16).replace(/^-/, '');\n }\n return h;\n };\n /**\n * get PEM string from hexadecimal data and header string\n * @name getPEMStringFromHex\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} dataHex hexadecimal string of PEM body\n * @param {String} pemHeader PEM header string (ex. 'RSA PRIVATE KEY')\n * @return {String} PEM formatted string of input data\n * @description\n * This method converts a hexadecimal string to a PEM string with\n * a specified header. Its line break will be CRLF(\"\\r\\n\").\n * @example\n * var pem = KJUR.asn1.ASN1Util.getPEMStringFromHex('616161', 'RSA PRIVATE KEY');\n * // value of pem will be:\n * -----BEGIN PRIVATE KEY-----\n * YWFh\n * -----END PRIVATE KEY-----\n */\n this.getPEMStringFromHex = function (dataHex, pemHeader) {\n return hextopem(dataHex, pemHeader);\n };\n /**\n * generate ASN1Object specifed by JSON parameters\n * @name newObject\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {Array} param JSON parameter to generate ASN1Object\n * @return {KJUR.asn1.ASN1Object} generated object\n * @since asn1 1.0.3\n * @description\n * generate any ASN1Object specified by JSON param\n * including ASN.1 primitive or structured.\n * Generally 'param' can be described as follows:\n * \n * {TYPE-OF-ASNOBJ: ASN1OBJ-PARAMETER}\n *
\n * 'TYPE-OF-ASN1OBJ' can be one of following symbols:\n * \n * - 'bool' - DERBoolean
\n * - 'int' - DERInteger
\n * - 'bitstr' - DERBitString
\n * - 'octstr' - DEROctetString
\n * - 'null' - DERNull
\n * - 'oid' - DERObjectIdentifier
\n * - 'enum' - DEREnumerated
\n * - 'utf8str' - DERUTF8String
\n * - 'numstr' - DERNumericString
\n * - 'prnstr' - DERPrintableString
\n * - 'telstr' - DERTeletexString
\n * - 'ia5str' - DERIA5String
\n * - 'utctime' - DERUTCTime
\n * - 'gentime' - DERGeneralizedTime
\n * - 'seq' - DERSequence
\n * - 'set' - DERSet
\n * - 'tag' - DERTaggedObject
\n *
\n * @example\n * newObject({'prnstr': 'aaa'});\n * newObject({'seq': [{'int': 3}, {'prnstr': 'aaa'}]})\n * // ASN.1 Tagged Object\n * newObject({'tag': {'tag': 'a1',\n * 'explicit': true,\n * 'obj': {'seq': [{'int': 3}, {'prnstr': 'aaa'}]}}});\n * // more simple representation of ASN.1 Tagged Object\n * newObject({'tag': ['a1',\n * true,\n * {'seq': [\n * {'int': 3},\n * {'prnstr': 'aaa'}]}\n * ]});\n */\n this.newObject = function (param) {\n var _KJUR = KJUR, _KJUR_asn1 = _KJUR.asn1, _DERBoolean = _KJUR_asn1.DERBoolean, _DERInteger = _KJUR_asn1.DERInteger, _DERBitString = _KJUR_asn1.DERBitString, _DEROctetString = _KJUR_asn1.DEROctetString, _DERNull = _KJUR_asn1.DERNull, _DERObjectIdentifier = _KJUR_asn1.DERObjectIdentifier, _DEREnumerated = _KJUR_asn1.DEREnumerated, _DERUTF8String = _KJUR_asn1.DERUTF8String, _DERNumericString = _KJUR_asn1.DERNumericString, _DERPrintableString = _KJUR_asn1.DERPrintableString, _DERTeletexString = _KJUR_asn1.DERTeletexString, _DERIA5String = _KJUR_asn1.DERIA5String, _DERUTCTime = _KJUR_asn1.DERUTCTime, _DERGeneralizedTime = _KJUR_asn1.DERGeneralizedTime, _DERSequence = _KJUR_asn1.DERSequence, _DERSet = _KJUR_asn1.DERSet, _DERTaggedObject = _KJUR_asn1.DERTaggedObject, _newObject = _KJUR_asn1.ASN1Util.newObject;\n var keys = Object.keys(param);\n if (keys.length != 1)\n throw \"key of param shall be only one.\";\n var key = keys[0];\n if (\":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:\".indexOf(\":\" + key + \":\") == -1)\n throw \"undefined key: \" + key;\n if (key == \"bool\")\n return new _DERBoolean(param[key]);\n if (key == \"int\")\n return new _DERInteger(param[key]);\n if (key == \"bitstr\")\n return new _DERBitString(param[key]);\n if (key == \"octstr\")\n return new _DEROctetString(param[key]);\n if (key == \"null\")\n return new _DERNull(param[key]);\n if (key == \"oid\")\n return new _DERObjectIdentifier(param[key]);\n if (key == \"enum\")\n return new _DEREnumerated(param[key]);\n if (key == \"utf8str\")\n return new _DERUTF8String(param[key]);\n if (key == \"numstr\")\n return new _DERNumericString(param[key]);\n if (key == \"prnstr\")\n return new _DERPrintableString(param[key]);\n if (key == \"telstr\")\n return new _DERTeletexString(param[key]);\n if (key == \"ia5str\")\n return new _DERIA5String(param[key]);\n if (key == \"utctime\")\n return new _DERUTCTime(param[key]);\n if (key == \"gentime\")\n return new _DERGeneralizedTime(param[key]);\n if (key == \"seq\") {\n var paramList = param[key];\n var a = [];\n for (var i = 0; i < paramList.length; i++) {\n var asn1Obj = _newObject(paramList[i]);\n a.push(asn1Obj);\n }\n return new _DERSequence({ 'array': a });\n }\n if (key == \"set\") {\n var paramList = param[key];\n var a = [];\n for (var i = 0; i < paramList.length; i++) {\n var asn1Obj = _newObject(paramList[i]);\n a.push(asn1Obj);\n }\n return new _DERSet({ 'array': a });\n }\n if (key == \"tag\") {\n var tagParam = param[key];\n if (Object.prototype.toString.call(tagParam) === '[object Array]' &&\n tagParam.length == 3) {\n var obj = _newObject(tagParam[2]);\n return new _DERTaggedObject({ tag: tagParam[0],\n explicit: tagParam[1],\n obj: obj });\n }\n else {\n var newParam = {};\n if (tagParam.explicit !== undefined)\n newParam.explicit = tagParam.explicit;\n if (tagParam.tag !== undefined)\n newParam.tag = tagParam.tag;\n if (tagParam.obj === undefined)\n throw \"obj shall be specified for 'tag'.\";\n newParam.obj = _newObject(tagParam.obj);\n return new _DERTaggedObject(newParam);\n }\n }\n };\n /**\n * get encoded hexadecimal string of ASN1Object specifed by JSON parameters\n * @name jsonToASN1HEX\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {Array} param JSON parameter to generate ASN1Object\n * @return hexadecimal string of ASN1Object\n * @since asn1 1.0.4\n * @description\n * As for ASN.1 object representation of JSON object,\n * please see {@link newObject}.\n * @example\n * jsonToASN1HEX({'prnstr': 'aaa'});\n */\n this.jsonToASN1HEX = function (param) {\n var asn1Obj = this.newObject(param);\n return asn1Obj.getEncodedHex();\n };\n};\n/**\n * get dot noted oid number string from hexadecimal value of OID\n * @name oidHexToInt\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} hex hexadecimal value of object identifier\n * @return {String} dot noted string of object identifier\n * @since jsrsasign 4.8.3 asn1 1.0.7\n * @description\n * This static method converts from hexadecimal string representation of\n * ASN.1 value of object identifier to oid number string.\n * @example\n * KJUR.asn1.ASN1Util.oidHexToInt('550406') → \"2.5.4.6\"\n */\nKJUR.asn1.ASN1Util.oidHexToInt = function (hex) {\n var s = \"\";\n var i01 = parseInt(hex.substr(0, 2), 16);\n var i0 = Math.floor(i01 / 40);\n var i1 = i01 % 40;\n var s = i0 + \".\" + i1;\n var binbuf = \"\";\n for (var i = 2; i < hex.length; i += 2) {\n var value = parseInt(hex.substr(i, 2), 16);\n var bin = (\"00000000\" + value.toString(2)).slice(-8);\n binbuf = binbuf + bin.substr(1, 7);\n if (bin.substr(0, 1) == \"0\") {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(binbuf, 2);\n s = s + \".\" + bi.toString(10);\n binbuf = \"\";\n }\n }\n ;\n return s;\n};\n/**\n * get hexadecimal value of object identifier from dot noted oid value\n * @name oidIntToHex\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} oidString dot noted string of object identifier\n * @return {String} hexadecimal value of object identifier\n * @since jsrsasign 4.8.3 asn1 1.0.7\n * @description\n * This static method converts from object identifier value string.\n * to hexadecimal string representation of it.\n * @example\n * KJUR.asn1.ASN1Util.oidIntToHex(\"2.5.4.6\") → \"550406\"\n */\nKJUR.asn1.ASN1Util.oidIntToHex = function (oidString) {\n var itox = function (i) {\n var h = i.toString(16);\n if (h.length == 1)\n h = '0' + h;\n return h;\n };\n var roidtox = function (roid) {\n var h = '';\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(roid, 10);\n var b = bi.toString(2);\n var padLen = 7 - b.length % 7;\n if (padLen == 7)\n padLen = 0;\n var bPad = '';\n for (var i = 0; i < padLen; i++)\n bPad += '0';\n b = bPad + b;\n for (var i = 0; i < b.length - 1; i += 7) {\n var b8 = b.substr(i, 7);\n if (i != b.length - 7)\n b8 = '1' + b8;\n h += itox(parseInt(b8, 2));\n }\n return h;\n };\n if (!oidString.match(/^[0-9.]+$/)) {\n throw \"malformed oid string: \" + oidString;\n }\n var h = '';\n var a = oidString.split('.');\n var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\n h += itox(i0);\n a.splice(0, 2);\n for (var i = 0; i < a.length; i++) {\n h += roidtox(a[i]);\n }\n return h;\n};\n// ********************************************************************\n// Abstract ASN.1 Classes\n// ********************************************************************\n// ********************************************************************\n/**\n * base class for ASN.1 DER encoder object\n * @name KJUR.asn1.ASN1Object\n * @class base class for ASN.1 DER encoder object\n * @property {Boolean} isModified flag whether internal data was changed\n * @property {String} hTLV hexadecimal string of ASN.1 TLV\n * @property {String} hT hexadecimal string of ASN.1 TLV tag(T)\n * @property {String} hL hexadecimal string of ASN.1 TLV length(L)\n * @property {String} hV hexadecimal string of ASN.1 TLV value(V)\n * @description\n */\nKJUR.asn1.ASN1Object = function () {\n var isModified = true;\n var hTLV = null;\n var hT = '00';\n var hL = '00';\n var hV = '';\n /**\n * get hexadecimal ASN.1 TLV length(L) bytes from TLV value(V)\n * @name getLengthHexFromValue\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV length(L)\n */\n this.getLengthHexFromValue = function () {\n if (typeof this.hV == \"undefined\" || this.hV == null) {\n throw \"this.hV is null or undefined.\";\n }\n if (this.hV.length % 2 == 1) {\n throw \"value hex must be even length: n=\" + hV.length + \",v=\" + this.hV;\n }\n var n = this.hV.length / 2;\n var hN = n.toString(16);\n if (hN.length % 2 == 1) {\n hN = \"0\" + hN;\n }\n if (n < 128) {\n return hN;\n }\n else {\n var hNlen = hN.length / 2;\n if (hNlen > 15) {\n throw \"ASN.1 length too long to represent by 8x: n = \" + n.toString(16);\n }\n var head = 128 + hNlen;\n return head.toString(16) + hN;\n }\n };\n /**\n * get hexadecimal string of ASN.1 TLV bytes\n * @name getEncodedHex\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV\n */\n this.getEncodedHex = function () {\n if (this.hTLV == null || this.isModified) {\n this.hV = this.getFreshValueHex();\n this.hL = this.getLengthHexFromValue();\n this.hTLV = this.hT + this.hL + this.hV;\n this.isModified = false;\n //alert(\"first time: \" + this.hTLV);\n }\n return this.hTLV;\n };\n /**\n * get hexadecimal string of ASN.1 TLV value(V) bytes\n * @name getValueHex\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV value(V) bytes\n */\n this.getValueHex = function () {\n this.getEncodedHex();\n return this.hV;\n };\n this.getFreshValueHex = function () {\n return '';\n };\n};\n// == BEGIN DERAbstractString ================================================\n/**\n * base class for ASN.1 DER string classes\n * @name KJUR.asn1.DERAbstractString\n * @class base class for ASN.1 DER string classes\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @property {String} s internal string of value\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * \n * - str - specify initial ASN.1 value(V) by a string
\n * - hex - specify initial ASN.1 value(V) by a hexadecimal string
\n *
\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERAbstractString = function (params) {\n KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\n var s = null;\n var hV = null;\n /**\n * get string value of this string object\n * @name getString\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @return {String} string value of this string object\n */\n this.getString = function () {\n return this.s;\n };\n /**\n * set value by a string\n * @name setString\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @param {String} newS value by a string to set\n */\n this.setString = function (newS) {\n this.hTLV = null;\n this.isModified = true;\n this.s = newS;\n this.hV = stohex(this.s);\n };\n /**\n * set value by a hexadecimal string\n * @name setStringHex\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @param {String} newHexString value by a hexadecimal string to set\n */\n this.setStringHex = function (newHexString) {\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params == \"string\") {\n this.setString(params);\n }\n else if (typeof params['str'] != \"undefined\") {\n this.setString(params['str']);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setStringHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractString, KJUR.asn1.ASN1Object);\n// == END DERAbstractString ================================================\n// == BEGIN DERAbstractTime ==================================================\n/**\n * base class for ASN.1 DER Generalized/UTCTime class\n * @name KJUR.asn1.DERAbstractTime\n * @class base class for ASN.1 DER Generalized/UTCTime class\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERAbstractTime = function (params) {\n KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);\n var s = null;\n var date = null;\n // --- PRIVATE METHODS --------------------\n this.localDateToUTC = function (d) {\n utc = d.getTime() + (d.getTimezoneOffset() * 60000);\n var utcDate = new Date(utc);\n return utcDate;\n };\n /*\n * format date string by Data object\n * @name formatDate\n * @memberOf KJUR.asn1.AbstractTime;\n * @param {Date} dateObject\n * @param {string} type 'utc' or 'gen'\n * @param {boolean} withMillis flag for with millisections or not\n * @description\n * 'withMillis' flag is supported from asn1 1.0.6.\n */\n this.formatDate = function (dateObject, type, withMillis) {\n var pad = this.zeroPadding;\n var d = this.localDateToUTC(dateObject);\n var year = String(d.getFullYear());\n if (type == 'utc')\n year = year.substr(2, 2);\n var month = pad(String(d.getMonth() + 1), 2);\n var day = pad(String(d.getDate()), 2);\n var hour = pad(String(d.getHours()), 2);\n var min = pad(String(d.getMinutes()), 2);\n var sec = pad(String(d.getSeconds()), 2);\n var s = year + month + day + hour + min + sec;\n if (withMillis === true) {\n var millis = d.getMilliseconds();\n if (millis != 0) {\n var sMillis = pad(String(millis), 3);\n sMillis = sMillis.replace(/[0]+$/, \"\");\n s = s + \".\" + sMillis;\n }\n }\n return s + \"Z\";\n };\n this.zeroPadding = function (s, len) {\n if (s.length >= len)\n return s;\n return new Array(len - s.length + 1).join('0') + s;\n };\n // --- PUBLIC METHODS --------------------\n /**\n * get string value of this string object\n * @name getString\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @return {String} string value of this time object\n */\n this.getString = function () {\n return this.s;\n };\n /**\n * set value by a string\n * @name setString\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @param {String} newS value by a string to set such like \"130430235959Z\"\n */\n this.setString = function (newS) {\n this.hTLV = null;\n this.isModified = true;\n this.s = newS;\n this.hV = stohex(newS);\n };\n /**\n * set value by a Date object\n * @name setByDateValue\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @param {Integer} year year of date (ex. 2013)\n * @param {Integer} month month of date between 1 and 12 (ex. 12)\n * @param {Integer} day day of month\n * @param {Integer} hour hours of date\n * @param {Integer} min minutes of date\n * @param {Integer} sec seconds of date\n */\n this.setByDateValue = function (year, month, day, hour, min, sec) {\n var dateObject = new Date(Date.UTC(year, month - 1, day, hour, min, sec, 0));\n this.setByDate(dateObject);\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractTime, KJUR.asn1.ASN1Object);\n// == END DERAbstractTime ==================================================\n// == BEGIN DERAbstractStructured ============================================\n/**\n * base class for ASN.1 DER structured class\n * @name KJUR.asn1.DERAbstractStructured\n * @class base class for ASN.1 DER structured class\n * @property {Array} asn1Array internal array of ASN1Object\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERAbstractStructured = function (params) {\n KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\n var asn1Array = null;\n /**\n * set value by array of ASN1Object\n * @name setByASN1ObjectArray\n * @memberOf KJUR.asn1.DERAbstractStructured#\n * @function\n * @param {array} asn1ObjectArray array of ASN1Object to set\n */\n this.setByASN1ObjectArray = function (asn1ObjectArray) {\n this.hTLV = null;\n this.isModified = true;\n this.asn1Array = asn1ObjectArray;\n };\n /**\n * append an ASN1Object to internal array\n * @name appendASN1Object\n * @memberOf KJUR.asn1.DERAbstractStructured#\n * @function\n * @param {ASN1Object} asn1Object to add\n */\n this.appendASN1Object = function (asn1Object) {\n this.hTLV = null;\n this.isModified = true;\n this.asn1Array.push(asn1Object);\n };\n this.asn1Array = new Array();\n if (typeof params != \"undefined\") {\n if (typeof params['array'] != \"undefined\") {\n this.asn1Array = params['array'];\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured, KJUR.asn1.ASN1Object);\n// ********************************************************************\n// ASN.1 Object Classes\n// ********************************************************************\n// ********************************************************************\n/**\n * class for ASN.1 DER Boolean\n * @name KJUR.asn1.DERBoolean\n * @class class for ASN.1 DER Boolean\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERBoolean = function () {\n KJUR.asn1.DERBoolean.superclass.constructor.call(this);\n this.hT = \"01\";\n this.hTLV = \"0101ff\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERBoolean, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER Integer\n * @name KJUR.asn1.DERInteger\n * @class class for ASN.1 DER Integer\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * \n * - int - specify initial ASN.1 value(V) by integer value
\n * - bigint - specify initial ASN.1 value(V) by BigInteger object
\n * - hex - specify initial ASN.1 value(V) by a hexadecimal string
\n *
\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERInteger = function (params) {\n KJUR.asn1.DERInteger.superclass.constructor.call(this);\n this.hT = \"02\";\n /**\n * set value by Tom Wu's BigInteger object\n * @name setByBigInteger\n * @memberOf KJUR.asn1.DERInteger#\n * @function\n * @param {BigInteger} bigIntegerValue to set\n */\n this.setByBigInteger = function (bigIntegerValue) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\n };\n /**\n * set value by integer value\n * @name setByInteger\n * @memberOf KJUR.asn1.DERInteger\n * @function\n * @param {Integer} integer value to set\n */\n this.setByInteger = function (intValue) {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(String(intValue), 10);\n this.setByBigInteger(bi);\n };\n /**\n * set value by integer value\n * @name setValueHex\n * @memberOf KJUR.asn1.DERInteger#\n * @function\n * @param {String} hexadecimal string of integer value\n * @description\n *
\n * NOTE: Value shall be represented by minimum octet length of\n * two's complement representation.\n * @example\n * new KJUR.asn1.DERInteger(123);\n * new KJUR.asn1.DERInteger({'int': 123});\n * new KJUR.asn1.DERInteger({'hex': '1fad'});\n */\n this.setValueHex = function (newHexString) {\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['bigint'] != \"undefined\") {\n this.setByBigInteger(params['bigint']);\n }\n else if (typeof params['int'] != \"undefined\") {\n this.setByInteger(params['int']);\n }\n else if (typeof params == \"number\") {\n this.setByInteger(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setValueHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERInteger, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER encoded BitString primitive\n * @name KJUR.asn1.DERBitString\n * @class class for ASN.1 DER encoded BitString primitive\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * \n * - bin - specify binary string (ex. '10111')
\n * - array - specify array of boolean (ex. [true,false,true,true])
\n * - hex - specify hexadecimal string of ASN.1 value(V) including unused bits
\n * - obj - specify {@link KJUR.asn1.ASN1Util.newObject}\n * argument for \"BitString encapsulates\" structure.
\n *
\n * NOTE1: 'params' can be omitted.
\n * NOTE2: 'obj' parameter have been supported since\n * asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).
\n * @example\n * // default constructor\n * o = new KJUR.asn1.DERBitString();\n * // initialize with binary string\n * o = new KJUR.asn1.DERBitString({bin: \"1011\"});\n * // initialize with boolean array\n * o = new KJUR.asn1.DERBitString({array: [true,false,true,true]});\n * // initialize with hexadecimal string (04 is unused bits)\n * o = new KJUR.asn1.DEROctetString({hex: \"04bac0\"});\n * // initialize with ASN1Util.newObject argument for encapsulated\n * o = new KJUR.asn1.DERBitString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\n * // above generates a ASN.1 data like this:\n * // BIT STRING, encapsulates {\n * // SEQUENCE {\n * // INTEGER 3\n * // PrintableString 'aaa'\n * // }\n * // }\n */\nKJUR.asn1.DERBitString = function (params) {\n if (params !== undefined && typeof params.obj !== \"undefined\") {\n var o = KJUR.asn1.ASN1Util.newObject(params.obj);\n params.hex = \"00\" + o.getEncodedHex();\n }\n KJUR.asn1.DERBitString.superclass.constructor.call(this);\n this.hT = \"03\";\n /**\n * set ASN.1 value(V) by a hexadecimal string including unused bits\n * @name setHexValueIncludingUnusedBits\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {String} newHexStringIncludingUnusedBits\n */\n this.setHexValueIncludingUnusedBits = function (newHexStringIncludingUnusedBits) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = newHexStringIncludingUnusedBits;\n };\n /**\n * set ASN.1 value(V) by unused bit and hexadecimal string of value\n * @name setUnusedBitsAndHexValue\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {Integer} unusedBits\n * @param {String} hValue\n */\n this.setUnusedBitsAndHexValue = function (unusedBits, hValue) {\n if (unusedBits < 0 || 7 < unusedBits) {\n throw \"unused bits shall be from 0 to 7: u = \" + unusedBits;\n }\n var hUnusedBits = \"0\" + unusedBits;\n this.hTLV = null;\n this.isModified = true;\n this.hV = hUnusedBits + hValue;\n };\n /**\n * set ASN.1 DER BitString by binary string
\n * @name setByBinaryString\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {String} binaryString binary value string (i.e. '10111')\n * @description\n * Its unused bits will be calculated automatically by length of\n * 'binaryValue'.
\n * NOTE: Trailing zeros '0' will be ignored.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.setByBooleanArray(\"01011\");\n */\n this.setByBinaryString = function (binaryString) {\n binaryString = binaryString.replace(/0+$/, '');\n var unusedBits = 8 - binaryString.length % 8;\n if (unusedBits == 8)\n unusedBits = 0;\n for (var i = 0; i <= unusedBits; i++) {\n binaryString += '0';\n }\n var h = '';\n for (var i = 0; i < binaryString.length - 1; i += 8) {\n var b = binaryString.substr(i, 8);\n var x = parseInt(b, 2).toString(16);\n if (x.length == 1)\n x = '0' + x;\n h += x;\n }\n this.hTLV = null;\n this.isModified = true;\n this.hV = '0' + unusedBits + h;\n };\n /**\n * set ASN.1 TLV value(V) by an array of boolean
\n * @name setByBooleanArray\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {array} booleanArray array of boolean (ex. [true, false, true])\n * @description\n * NOTE: Trailing falses will be ignored in the ASN.1 DER Object.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.setByBooleanArray([false, true, false, true, true]);\n */\n this.setByBooleanArray = function (booleanArray) {\n var s = '';\n for (var i = 0; i < booleanArray.length; i++) {\n if (booleanArray[i] == true) {\n s += '1';\n }\n else {\n s += '0';\n }\n }\n this.setByBinaryString(s);\n };\n /**\n * generate an array of falses with specified length
\n * @name newFalseArray\n * @memberOf KJUR.asn1.DERBitString\n * @function\n * @param {Integer} nLength length of array to generate\n * @return {array} array of boolean falses\n * @description\n * This static method may be useful to initialize boolean array.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.newFalseArray(3) → [false, false, false]\n */\n this.newFalseArray = function (nLength) {\n var a = new Array(nLength);\n for (var i = 0; i < nLength; i++) {\n a[i] = false;\n }\n return a;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params == \"string\" && params.toLowerCase().match(/^[0-9a-f]+$/)) {\n this.setHexValueIncludingUnusedBits(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setHexValueIncludingUnusedBits(params['hex']);\n }\n else if (typeof params['bin'] != \"undefined\") {\n this.setByBinaryString(params['bin']);\n }\n else if (typeof params['array'] != \"undefined\") {\n this.setByBooleanArray(params['array']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERBitString, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER OctetString
\n * @name KJUR.asn1.DEROctetString\n * @class class for ASN.1 DER OctetString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * This class provides ASN.1 OctetString simple type.
\n * Supported \"params\" attributes are:\n * \n * - str - to set a string as a value
\n * - hex - to set a hexadecimal string as a value
\n * - obj - to set a encapsulated ASN.1 value by JSON object\n * which is defined in {@link KJUR.asn1.ASN1Util.newObject}
\n *
\n * NOTE: A parameter 'obj' have been supported\n * for \"OCTET STRING, encapsulates\" structure.\n * since asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).\n * @see KJUR.asn1.DERAbstractString - superclass\n * @example\n * // default constructor\n * o = new KJUR.asn1.DEROctetString();\n * // initialize with string\n * o = new KJUR.asn1.DEROctetString({str: \"aaa\"});\n * // initialize with hexadecimal string\n * o = new KJUR.asn1.DEROctetString({hex: \"616161\"});\n * // initialize with ASN1Util.newObject argument\n * o = new KJUR.asn1.DEROctetString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\n * // above generates a ASN.1 data like this:\n * // OCTET STRING, encapsulates {\n * // SEQUENCE {\n * // INTEGER 3\n * // PrintableString 'aaa'\n * // }\n * // }\n */\nKJUR.asn1.DEROctetString = function (params) {\n if (params !== undefined && typeof params.obj !== \"undefined\") {\n var o = KJUR.asn1.ASN1Util.newObject(params.obj);\n params.hex = o.getEncodedHex();\n }\n KJUR.asn1.DEROctetString.superclass.constructor.call(this, params);\n this.hT = \"04\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DEROctetString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER Null\n * @name KJUR.asn1.DERNull\n * @class class for ASN.1 DER Null\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERNull = function () {\n KJUR.asn1.DERNull.superclass.constructor.call(this);\n this.hT = \"05\";\n this.hTLV = \"0500\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERNull, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER ObjectIdentifier\n * @name KJUR.asn1.DERObjectIdentifier\n * @class class for ASN.1 DER ObjectIdentifier\n * @param {Array} params associative array of parameters (ex. {'oid': '2.5.4.5'})\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * \n * - oid - specify initial ASN.1 value(V) by a oid string (ex. 2.5.4.13)
\n * - hex - specify initial ASN.1 value(V) by a hexadecimal string
\n *
\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERObjectIdentifier = function (params) {\n var itox = function (i) {\n var h = i.toString(16);\n if (h.length == 1)\n h = '0' + h;\n return h;\n };\n var roidtox = function (roid) {\n var h = '';\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(roid, 10);\n var b = bi.toString(2);\n var padLen = 7 - b.length % 7;\n if (padLen == 7)\n padLen = 0;\n var bPad = '';\n for (var i = 0; i < padLen; i++)\n bPad += '0';\n b = bPad + b;\n for (var i = 0; i < b.length - 1; i += 7) {\n var b8 = b.substr(i, 7);\n if (i != b.length - 7)\n b8 = '1' + b8;\n h += itox(parseInt(b8, 2));\n }\n return h;\n };\n KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this);\n this.hT = \"06\";\n /**\n * set value by a hexadecimal string\n * @name setValueHex\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} newHexString hexadecimal value of OID bytes\n */\n this.setValueHex = function (newHexString) {\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = newHexString;\n };\n /**\n * set value by a OID string
\n * @name setValueOidString\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} oidString OID string (ex. 2.5.4.13)\n * @example\n * o = new KJUR.asn1.DERObjectIdentifier();\n * o.setValueOidString(\"2.5.4.13\");\n */\n this.setValueOidString = function (oidString) {\n if (!oidString.match(/^[0-9.]+$/)) {\n throw \"malformed oid string: \" + oidString;\n }\n var h = '';\n var a = oidString.split('.');\n var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\n h += itox(i0);\n a.splice(0, 2);\n for (var i = 0; i < a.length; i++) {\n h += roidtox(a[i]);\n }\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = h;\n };\n /**\n * set value by a OID name\n * @name setValueName\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} oidName OID name (ex. 'serverAuth')\n * @since 1.0.1\n * @description\n * OID name shall be defined in 'KJUR.asn1.x509.OID.name2oidList'.\n * Otherwise raise error.\n * @example\n * o = new KJUR.asn1.DERObjectIdentifier();\n * o.setValueName(\"serverAuth\");\n */\n this.setValueName = function (oidName) {\n var oid = KJUR.asn1.x509.OID.name2oid(oidName);\n if (oid !== '') {\n this.setValueOidString(oid);\n }\n else {\n throw \"DERObjectIdentifier oidName undefined: \" + oidName;\n }\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (params !== undefined) {\n if (typeof params === \"string\") {\n if (params.match(/^[0-2].[0-9.]+$/)) {\n this.setValueOidString(params);\n }\n else {\n this.setValueName(params);\n }\n }\n else if (params.oid !== undefined) {\n this.setValueOidString(params.oid);\n }\n else if (params.hex !== undefined) {\n this.setValueHex(params.hex);\n }\n else if (params.name !== undefined) {\n this.setValueName(params.name);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER Enumerated\n * @name KJUR.asn1.DEREnumerated\n * @class class for ASN.1 DER Enumerated\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * \n * - int - specify initial ASN.1 value(V) by integer value
\n * - hex - specify initial ASN.1 value(V) by a hexadecimal string
\n *
\n * NOTE: 'params' can be omitted.\n * @example\n * new KJUR.asn1.DEREnumerated(123);\n * new KJUR.asn1.DEREnumerated({int: 123});\n * new KJUR.asn1.DEREnumerated({hex: '1fad'});\n */\nKJUR.asn1.DEREnumerated = function (params) {\n KJUR.asn1.DEREnumerated.superclass.constructor.call(this);\n this.hT = \"0a\";\n /**\n * set value by Tom Wu's BigInteger object\n * @name setByBigInteger\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {BigInteger} bigIntegerValue to set\n */\n this.setByBigInteger = function (bigIntegerValue) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\n };\n /**\n * set value by integer value\n * @name setByInteger\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {Integer} integer value to set\n */\n this.setByInteger = function (intValue) {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(String(intValue), 10);\n this.setByBigInteger(bi);\n };\n /**\n * set value by integer value\n * @name setValueHex\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {String} hexadecimal string of integer value\n * @description\n *
\n * NOTE: Value shall be represented by minimum octet length of\n * two's complement representation.\n */\n this.setValueHex = function (newHexString) {\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['int'] != \"undefined\") {\n this.setByInteger(params['int']);\n }\n else if (typeof params == \"number\") {\n this.setByInteger(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setValueHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DEREnumerated, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER UTF8String\n * @name KJUR.asn1.DERUTF8String\n * @class class for ASN.1 DER UTF8String\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERUTF8String = function (params) {\n KJUR.asn1.DERUTF8String.superclass.constructor.call(this, params);\n this.hT = \"0c\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERUTF8String, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER NumericString\n * @name KJUR.asn1.DERNumericString\n * @class class for ASN.1 DER NumericString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERNumericString = function (params) {\n KJUR.asn1.DERNumericString.superclass.constructor.call(this, params);\n this.hT = \"12\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERNumericString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER PrintableString\n * @name KJUR.asn1.DERPrintableString\n * @class class for ASN.1 DER PrintableString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERPrintableString = function (params) {\n KJUR.asn1.DERPrintableString.superclass.constructor.call(this, params);\n this.hT = \"13\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERPrintableString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER TeletexString\n * @name KJUR.asn1.DERTeletexString\n * @class class for ASN.1 DER TeletexString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERTeletexString = function (params) {\n KJUR.asn1.DERTeletexString.superclass.constructor.call(this, params);\n this.hT = \"14\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERTeletexString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER IA5String\n * @name KJUR.asn1.DERIA5String\n * @class class for ASN.1 DER IA5String\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERIA5String = function (params) {\n KJUR.asn1.DERIA5String.superclass.constructor.call(this, params);\n this.hT = \"16\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERIA5String, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER UTCTime\n * @name KJUR.asn1.DERUTCTime\n * @class class for ASN.1 DER UTCTime\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\n * @extends KJUR.asn1.DERAbstractTime\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * \n * - str - specify initial ASN.1 value(V) by a string (ex.'130430235959Z')
\n * - hex - specify initial ASN.1 value(V) by a hexadecimal string
\n * - date - specify Date object.
\n *
\n * NOTE: 'params' can be omitted.\n * EXAMPLES
\n * @example\n * d1 = new KJUR.asn1.DERUTCTime();\n * d1.setString('130430125959Z');\n *\n * d2 = new KJUR.asn1.DERUTCTime({'str': '130430125959Z'});\n * d3 = new KJUR.asn1.DERUTCTime({'date': new Date(Date.UTC(2015, 0, 31, 0, 0, 0, 0))});\n * d4 = new KJUR.asn1.DERUTCTime('130430125959Z');\n */\nKJUR.asn1.DERUTCTime = function (params) {\n KJUR.asn1.DERUTCTime.superclass.constructor.call(this, params);\n this.hT = \"17\";\n /**\n * set value by a Date object
\n * @name setByDate\n * @memberOf KJUR.asn1.DERUTCTime#\n * @function\n * @param {Date} dateObject Date object to set ASN.1 value(V)\n * @example\n * o = new KJUR.asn1.DERUTCTime();\n * o.setByDate(new Date(\"2016/12/31\"));\n */\n this.setByDate = function (dateObject) {\n this.hTLV = null;\n this.isModified = true;\n this.date = dateObject;\n this.s = this.formatDate(this.date, 'utc');\n this.hV = stohex(this.s);\n };\n this.getFreshValueHex = function () {\n if (typeof this.date == \"undefined\" && typeof this.s == \"undefined\") {\n this.date = new Date();\n this.s = this.formatDate(this.date, 'utc');\n this.hV = stohex(this.s);\n }\n return this.hV;\n };\n if (params !== undefined) {\n if (params.str !== undefined) {\n this.setString(params.str);\n }\n else if (typeof params == \"string\" && params.match(/^[0-9]{12}Z$/)) {\n this.setString(params);\n }\n else if (params.hex !== undefined) {\n this.setStringHex(params.hex);\n }\n else if (params.date !== undefined) {\n this.setByDate(params.date);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERUTCTime, KJUR.asn1.DERAbstractTime);\n// ********************************************************************\n/**\n * class for ASN.1 DER GeneralizedTime\n * @name KJUR.asn1.DERGeneralizedTime\n * @class class for ASN.1 DER GeneralizedTime\n * @param {Array} params associative array of parameters (ex. {'str': '20130430235959Z'})\n * @property {Boolean} withMillis flag to show milliseconds or not\n * @extends KJUR.asn1.DERAbstractTime\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * \n * - str - specify initial ASN.1 value(V) by a string (ex.'20130430235959Z')
\n * - hex - specify initial ASN.1 value(V) by a hexadecimal string
\n * - date - specify Date object.
\n * - millis - specify flag to show milliseconds (from 1.0.6)
\n *
\n * NOTE1: 'params' can be omitted.\n * NOTE2: 'withMillis' property is supported from asn1 1.0.6.\n */\nKJUR.asn1.DERGeneralizedTime = function (params) {\n KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this, params);\n this.hT = \"18\";\n this.withMillis = false;\n /**\n * set value by a Date object\n * @name setByDate\n * @memberOf KJUR.asn1.DERGeneralizedTime#\n * @function\n * @param {Date} dateObject Date object to set ASN.1 value(V)\n * @example\n * When you specify UTC time, use 'Date.UTC' method like this:
\n * o1 = new DERUTCTime();\n * o1.setByDate(date);\n *\n * date = new Date(Date.UTC(2015, 0, 31, 23, 59, 59, 0)); #2015JAN31 23:59:59\n */\n this.setByDate = function (dateObject) {\n this.hTLV = null;\n this.isModified = true;\n this.date = dateObject;\n this.s = this.formatDate(this.date, 'gen', this.withMillis);\n this.hV = stohex(this.s);\n };\n this.getFreshValueHex = function () {\n if (this.date === undefined && this.s === undefined) {\n this.date = new Date();\n this.s = this.formatDate(this.date, 'gen', this.withMillis);\n this.hV = stohex(this.s);\n }\n return this.hV;\n };\n if (params !== undefined) {\n if (params.str !== undefined) {\n this.setString(params.str);\n }\n else if (typeof params == \"string\" && params.match(/^[0-9]{14}Z$/)) {\n this.setString(params);\n }\n else if (params.hex !== undefined) {\n this.setStringHex(params.hex);\n }\n else if (params.date !== undefined) {\n this.setByDate(params.date);\n }\n if (params.millis === true) {\n this.withMillis = true;\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERGeneralizedTime, KJUR.asn1.DERAbstractTime);\n// ********************************************************************\n/**\n * class for ASN.1 DER Sequence\n * @name KJUR.asn1.DERSequence\n * @class class for ASN.1 DER Sequence\n * @extends KJUR.asn1.DERAbstractStructured\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * \n * - array - specify array of ASN1Object to set elements of content
\n *
\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERSequence = function (params) {\n KJUR.asn1.DERSequence.superclass.constructor.call(this, params);\n this.hT = \"30\";\n this.getFreshValueHex = function () {\n var h = '';\n for (var i = 0; i < this.asn1Array.length; i++) {\n var asn1Obj = this.asn1Array[i];\n h += asn1Obj.getEncodedHex();\n }\n this.hV = h;\n return this.hV;\n };\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERSequence, KJUR.asn1.DERAbstractStructured);\n// ********************************************************************\n/**\n * class for ASN.1 DER Set\n * @name KJUR.asn1.DERSet\n * @class class for ASN.1 DER Set\n * @extends KJUR.asn1.DERAbstractStructured\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * \n * - array - specify array of ASN1Object to set elements of content
\n * - sortflag - flag for sort (default: true). ASN.1 BER is not sorted in 'SET OF'.
\n *
\n * NOTE1: 'params' can be omitted.
\n * NOTE2: sortflag is supported since 1.0.5.\n */\nKJUR.asn1.DERSet = function (params) {\n KJUR.asn1.DERSet.superclass.constructor.call(this, params);\n this.hT = \"31\";\n this.sortFlag = true; // item shall be sorted only in ASN.1 DER\n this.getFreshValueHex = function () {\n var a = new Array();\n for (var i = 0; i < this.asn1Array.length; i++) {\n var asn1Obj = this.asn1Array[i];\n a.push(asn1Obj.getEncodedHex());\n }\n if (this.sortFlag == true)\n a.sort();\n this.hV = a.join('');\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params.sortflag != \"undefined\" &&\n params.sortflag == false)\n this.sortFlag = false;\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERSet, KJUR.asn1.DERAbstractStructured);\n// ********************************************************************\n/**\n * class for ASN.1 DER TaggedObject\n * @name KJUR.asn1.DERTaggedObject\n * @class class for ASN.1 DER TaggedObject\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * Parameter 'tagNoNex' is ASN.1 tag(T) value for this object.\n * For example, if you find '[1]' tag in a ASN.1 dump,\n * 'tagNoHex' will be 'a1'.\n *
\n * As for optional argument 'params' for constructor, you can specify *ANY* of\n * following properties:\n * \n * - explicit - specify true if this is explicit tag otherwise false\n * (default is 'true').
\n * - tag - specify tag (default is 'a0' which means [0])
\n * - obj - specify ASN1Object which is tagged
\n *
\n * @example\n * d1 = new KJUR.asn1.DERUTF8String({'str':'a'});\n * d2 = new KJUR.asn1.DERTaggedObject({'obj': d1});\n * hex = d2.getEncodedHex();\n */\nKJUR.asn1.DERTaggedObject = function (params) {\n KJUR.asn1.DERTaggedObject.superclass.constructor.call(this);\n this.hT = \"a0\";\n this.hV = '';\n this.isExplicit = true;\n this.asn1Object = null;\n /**\n * set value by an ASN1Object\n * @name setString\n * @memberOf KJUR.asn1.DERTaggedObject#\n * @function\n * @param {Boolean} isExplicitFlag flag for explicit/implicit tag\n * @param {Integer} tagNoHex hexadecimal string of ASN.1 tag\n * @param {ASN1Object} asn1Object ASN.1 to encapsulate\n */\n this.setASN1Object = function (isExplicitFlag, tagNoHex, asn1Object) {\n this.hT = tagNoHex;\n this.isExplicit = isExplicitFlag;\n this.asn1Object = asn1Object;\n if (this.isExplicit) {\n this.hV = this.asn1Object.getEncodedHex();\n this.hTLV = null;\n this.isModified = true;\n }\n else {\n this.hV = null;\n this.hTLV = asn1Object.getEncodedHex();\n this.hTLV = this.hTLV.replace(/^../, tagNoHex);\n this.isModified = false;\n }\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['tag'] != \"undefined\") {\n this.hT = params['tag'];\n }\n if (typeof params['explicit'] != \"undefined\") {\n this.isExplicit = params['explicit'];\n }\n if (typeof params['obj'] != \"undefined\") {\n this.asn1Object = params['obj'];\n this.setASN1Object(this.isExplicit, this.hT, this.asn1Object);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERTaggedObject, KJUR.asn1.ASN1Object);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/asn1-1.0.js?");
+
+/***/ }),
+
+/***/ "./lib/lib/jsrsasign/yahoo.js":
+/*!************************************!*\
+ !*** ./lib/lib/jsrsasign/yahoo.js ***!
+ \************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"YAHOO\": () => (/* binding */ YAHOO)\n/* harmony export */ });\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nvar YAHOO = {};\nYAHOO.lang = {\n /**\n * Utility to set up the prototype, constructor and superclass properties to\n * support an inheritance strategy that can chain constructors and methods.\n * Static members will not be inherited.\n *\n * @method extend\n * @static\n * @param {Function} subc the object to modify\n * @param {Function} superc the object to inherit\n * @param {Object} overrides additional properties/methods to add to the\n * subclass prototype. These will override the\n * matching items obtained from the superclass\n * if present.\n */\n extend: function (subc, superc, overrides) {\n if (!superc || !subc) {\n throw new Error(\"YAHOO.lang.extend failed, please check that \" +\n \"all dependencies are included.\");\n }\n var F = function () { };\n F.prototype = superc.prototype;\n subc.prototype = new F();\n subc.prototype.constructor = subc;\n subc.superclass = superc.prototype;\n if (superc.prototype.constructor == Object.prototype.constructor) {\n superc.prototype.constructor = superc;\n }\n if (overrides) {\n var i;\n for (i in overrides) {\n subc.prototype[i] = overrides[i];\n }\n /*\n * IE will not enumerate native functions in a derived object even if the\n * function was overridden. This is a workaround for specific functions\n * we care about on the Object prototype.\n * @property _IEEnumFix\n * @param {Function} r the object to receive the augmentation\n * @param {Function} s the object that supplies the properties to augment\n * @static\n * @private\n */\n var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\n try {\n if (/MSIE/.test(navigator.userAgent)) {\n _IEEnumFix = function (r, s) {\n for (i = 0; i < ADD.length; i = i + 1) {\n var fname = ADD[i], f = s[fname];\n if (typeof f === 'function' && f != Object.prototype[fname]) {\n r[fname] = f;\n }\n }\n };\n }\n }\n catch (ex) { }\n ;\n _IEEnumFix(subc.prototype, overrides);\n }\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/yahoo.js?");
+
+/***/ }),
+
+/***/ "./node_modules/process/browser.js":
+/*!*****************************************!*\
+ !*** ./node_modules/process/browser.js ***!
+ \*****************************************/
+/***/ ((module) => {
+
+eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack://JSEncrypt/./node_modules/process/browser.js?");
+
+/***/ })
+
+/******/ });
+/************************************************************************/
+/******/ // The module cache
+/******/ var __webpack_module_cache__ = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/ // Check if module is in cache
+/******/ var cachedModule = __webpack_module_cache__[moduleId];
+/******/ if (cachedModule !== undefined) {
+/******/ return cachedModule.exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = __webpack_module_cache__[moduleId] = {
+/******/ // no module.id needed
+/******/ // no module.loaded needed
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/************************************************************************/
+/******/ /* webpack/runtime/define property getters */
+/******/ (() => {
+/******/ // define getter functions for harmony exports
+/******/ __webpack_require__.d = (exports, definition) => {
+/******/ for(var key in definition) {
+/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
+/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
+/******/ }
+/******/ }
+/******/ };
+/******/ })();
+/******/
+/******/ /* webpack/runtime/hasOwnProperty shorthand */
+/******/ (() => {
+/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
+/******/ })();
+/******/
+/******/ /* webpack/runtime/make namespace object */
+/******/ (() => {
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = (exports) => {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/ })();
+/******/
+/************************************************************************/
+/******/
+/******/ // startup
+/******/ // Load entry module and return exports
+/******/ // This entry module can't be inlined because the eval devtool is used.
+/******/ var __webpack_exports__ = __webpack_require__("./lib/index.js");
+/******/ __webpack_exports__ = __webpack_exports__["default"];
+/******/
+/******/ return __webpack_exports__;
+/******/ })()
+;
+});
\ No newline at end of file
diff --git a/天天开心/api/json5.js b/天天开心/api/json5.js
new file mode 100644
index 0000000..10d7ab0
--- /dev/null
+++ b/天天开心/api/json5.js
@@ -0,0 +1,1737 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.JSON5 = factory());
+}(this, (function () { 'use strict';
+
+ function createCommonjsModule(fn, module) {
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
+ }
+
+ var _global = createCommonjsModule(function (module) {
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
+ var global = module.exports = typeof window != 'undefined' && window.Math == Math
+ ? window : typeof self != 'undefined' && self.Math == Math ? self
+ // eslint-disable-next-line no-new-func
+ : Function('return this')();
+ if (typeof __g == 'number') { __g = global; } // eslint-disable-line no-undef
+ });
+
+ var _core = createCommonjsModule(function (module) {
+ var core = module.exports = { version: '2.6.5' };
+ if (typeof __e == 'number') { __e = core; } // eslint-disable-line no-undef
+ });
+ var _core_1 = _core.version;
+
+ var _isObject = function (it) {
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
+ };
+
+ var _anObject = function (it) {
+ if (!_isObject(it)) { throw TypeError(it + ' is not an object!'); }
+ return it;
+ };
+
+ var _fails = function (exec) {
+ try {
+ return !!exec();
+ } catch (e) {
+ return true;
+ }
+ };
+
+ // Thank's IE8 for his funny defineProperty
+ var _descriptors = !_fails(function () {
+ return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
+ });
+
+ var document = _global.document;
+ // typeof document.createElement is 'object' in old IE
+ var is = _isObject(document) && _isObject(document.createElement);
+ var _domCreate = function (it) {
+ return is ? document.createElement(it) : {};
+ };
+
+ var _ie8DomDefine = !_descriptors && !_fails(function () {
+ return Object.defineProperty(_domCreate('div'), 'a', { get: function () { return 7; } }).a != 7;
+ });
+
+ // 7.1.1 ToPrimitive(input [, PreferredType])
+
+ // instead of the ES6 spec version, we didn't implement @@toPrimitive case
+ // and the second argument - flag - preferred type is a string
+ var _toPrimitive = function (it, S) {
+ if (!_isObject(it)) { return it; }
+ var fn, val;
+ if (S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; }
+ if (typeof (fn = it.valueOf) == 'function' && !_isObject(val = fn.call(it))) { return val; }
+ if (!S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; }
+ throw TypeError("Can't convert object to primitive value");
+ };
+
+ var dP = Object.defineProperty;
+
+ var f = _descriptors ? Object.defineProperty : function defineProperty(O, P, Attributes) {
+ _anObject(O);
+ P = _toPrimitive(P, true);
+ _anObject(Attributes);
+ if (_ie8DomDefine) { try {
+ return dP(O, P, Attributes);
+ } catch (e) { /* empty */ } }
+ if ('get' in Attributes || 'set' in Attributes) { throw TypeError('Accessors not supported!'); }
+ if ('value' in Attributes) { O[P] = Attributes.value; }
+ return O;
+ };
+
+ var _objectDp = {
+ f: f
+ };
+
+ var _propertyDesc = function (bitmap, value) {
+ return {
+ enumerable: !(bitmap & 1),
+ configurable: !(bitmap & 2),
+ writable: !(bitmap & 4),
+ value: value
+ };
+ };
+
+ var _hide = _descriptors ? function (object, key, value) {
+ return _objectDp.f(object, key, _propertyDesc(1, value));
+ } : function (object, key, value) {
+ object[key] = value;
+ return object;
+ };
+
+ var hasOwnProperty = {}.hasOwnProperty;
+ var _has = function (it, key) {
+ return hasOwnProperty.call(it, key);
+ };
+
+ var id = 0;
+ var px = Math.random();
+ var _uid = function (key) {
+ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
+ };
+
+ var _library = false;
+
+ var _shared = createCommonjsModule(function (module) {
+ var SHARED = '__core-js_shared__';
+ var store = _global[SHARED] || (_global[SHARED] = {});
+
+ (module.exports = function (key, value) {
+ return store[key] || (store[key] = value !== undefined ? value : {});
+ })('versions', []).push({
+ version: _core.version,
+ mode: _library ? 'pure' : 'global',
+ copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
+ });
+ });
+
+ var _functionToString = _shared('native-function-to-string', Function.toString);
+
+ var _redefine = createCommonjsModule(function (module) {
+ var SRC = _uid('src');
+
+ var TO_STRING = 'toString';
+ var TPL = ('' + _functionToString).split(TO_STRING);
+
+ _core.inspectSource = function (it) {
+ return _functionToString.call(it);
+ };
+
+ (module.exports = function (O, key, val, safe) {
+ var isFunction = typeof val == 'function';
+ if (isFunction) { _has(val, 'name') || _hide(val, 'name', key); }
+ if (O[key] === val) { return; }
+ if (isFunction) { _has(val, SRC) || _hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); }
+ if (O === _global) {
+ O[key] = val;
+ } else if (!safe) {
+ delete O[key];
+ _hide(O, key, val);
+ } else if (O[key]) {
+ O[key] = val;
+ } else {
+ _hide(O, key, val);
+ }
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
+ })(Function.prototype, TO_STRING, function toString() {
+ return typeof this == 'function' && this[SRC] || _functionToString.call(this);
+ });
+ });
+
+ var _aFunction = function (it) {
+ if (typeof it != 'function') { throw TypeError(it + ' is not a function!'); }
+ return it;
+ };
+
+ // optional / simple context binding
+
+ var _ctx = function (fn, that, length) {
+ _aFunction(fn);
+ if (that === undefined) { return fn; }
+ switch (length) {
+ case 1: return function (a) {
+ return fn.call(that, a);
+ };
+ case 2: return function (a, b) {
+ return fn.call(that, a, b);
+ };
+ case 3: return function (a, b, c) {
+ return fn.call(that, a, b, c);
+ };
+ }
+ return function (/* ...args */) {
+ return fn.apply(that, arguments);
+ };
+ };
+
+ var PROTOTYPE = 'prototype';
+
+ var $export = function (type, name, source) {
+ var IS_FORCED = type & $export.F;
+ var IS_GLOBAL = type & $export.G;
+ var IS_STATIC = type & $export.S;
+ var IS_PROTO = type & $export.P;
+ var IS_BIND = type & $export.B;
+ var target = IS_GLOBAL ? _global : IS_STATIC ? _global[name] || (_global[name] = {}) : (_global[name] || {})[PROTOTYPE];
+ var exports = IS_GLOBAL ? _core : _core[name] || (_core[name] = {});
+ var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
+ var key, own, out, exp;
+ if (IS_GLOBAL) { source = name; }
+ for (key in source) {
+ // contains in native
+ own = !IS_FORCED && target && target[key] !== undefined;
+ // export native or passed
+ out = (own ? target : source)[key];
+ // bind timers to global for call from export context
+ exp = IS_BIND && own ? _ctx(out, _global) : IS_PROTO && typeof out == 'function' ? _ctx(Function.call, out) : out;
+ // extend global
+ if (target) { _redefine(target, key, out, type & $export.U); }
+ // export
+ if (exports[key] != out) { _hide(exports, key, exp); }
+ if (IS_PROTO && expProto[key] != out) { expProto[key] = out; }
+ }
+ };
+ _global.core = _core;
+ // type bitmap
+ $export.F = 1; // forced
+ $export.G = 2; // global
+ $export.S = 4; // static
+ $export.P = 8; // proto
+ $export.B = 16; // bind
+ $export.W = 32; // wrap
+ $export.U = 64; // safe
+ $export.R = 128; // real proto method for `library`
+ var _export = $export;
+
+ // 7.1.4 ToInteger
+ var ceil = Math.ceil;
+ var floor = Math.floor;
+ var _toInteger = function (it) {
+ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
+ };
+
+ // 7.2.1 RequireObjectCoercible(argument)
+ var _defined = function (it) {
+ if (it == undefined) { throw TypeError("Can't call method on " + it); }
+ return it;
+ };
+
+ // true -> String#at
+ // false -> String#codePointAt
+ var _stringAt = function (TO_STRING) {
+ return function (that, pos) {
+ var s = String(_defined(that));
+ var i = _toInteger(pos);
+ var l = s.length;
+ var a, b;
+ if (i < 0 || i >= l) { return TO_STRING ? '' : undefined; }
+ a = s.charCodeAt(i);
+ return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
+ ? TO_STRING ? s.charAt(i) : a
+ : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
+ };
+ };
+
+ var $at = _stringAt(false);
+ _export(_export.P, 'String', {
+ // 21.1.3.3 String.prototype.codePointAt(pos)
+ codePointAt: function codePointAt(pos) {
+ return $at(this, pos);
+ }
+ });
+
+ var codePointAt = _core.String.codePointAt;
+
+ var max = Math.max;
+ var min = Math.min;
+ var _toAbsoluteIndex = function (index, length) {
+ index = _toInteger(index);
+ return index < 0 ? max(index + length, 0) : min(index, length);
+ };
+
+ var fromCharCode = String.fromCharCode;
+ var $fromCodePoint = String.fromCodePoint;
+
+ // length should be 1, old FF problem
+ _export(_export.S + _export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
+ // 21.1.2.2 String.fromCodePoint(...codePoints)
+ fromCodePoint: function fromCodePoint(x) {
+ var arguments$1 = arguments;
+ // eslint-disable-line no-unused-vars
+ var res = [];
+ var aLen = arguments.length;
+ var i = 0;
+ var code;
+ while (aLen > i) {
+ code = +arguments$1[i++];
+ if (_toAbsoluteIndex(code, 0x10ffff) !== code) { throw RangeError(code + ' is not a valid code point'); }
+ res.push(code < 0x10000
+ ? fromCharCode(code)
+ : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
+ );
+ } return res.join('');
+ }
+ });
+
+ var fromCodePoint = _core.String.fromCodePoint;
+
+ // This is a generated file. Do not edit.
+ var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
+ var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
+ var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
+
+ var unicode = {
+ Space_Separator: Space_Separator,
+ ID_Start: ID_Start,
+ ID_Continue: ID_Continue
+ };
+
+ var util = {
+ isSpaceSeparator: function isSpaceSeparator (c) {
+ return typeof c === 'string' && unicode.Space_Separator.test(c)
+ },
+
+ isIdStartChar: function isIdStartChar (c) {
+ return typeof c === 'string' && (
+ (c >= 'a' && c <= 'z') ||
+ (c >= 'A' && c <= 'Z') ||
+ (c === '$') || (c === '_') ||
+ unicode.ID_Start.test(c)
+ )
+ },
+
+ isIdContinueChar: function isIdContinueChar (c) {
+ return typeof c === 'string' && (
+ (c >= 'a' && c <= 'z') ||
+ (c >= 'A' && c <= 'Z') ||
+ (c >= '0' && c <= '9') ||
+ (c === '$') || (c === '_') ||
+ (c === '\u200C') || (c === '\u200D') ||
+ unicode.ID_Continue.test(c)
+ )
+ },
+
+ isDigit: function isDigit (c) {
+ return typeof c === 'string' && /[0-9]/.test(c)
+ },
+
+ isHexDigit: function isHexDigit (c) {
+ return typeof c === 'string' && /[0-9A-Fa-f]/.test(c)
+ },
+ };
+
+ var source;
+ var parseState;
+ var stack;
+ var pos;
+ var line;
+ var column;
+ var token;
+ var key;
+ var root;
+
+ var parse = function parse (text, reviver) {
+ source = String(text);
+ parseState = 'start';
+ stack = [];
+ pos = 0;
+ line = 1;
+ column = 0;
+ token = undefined;
+ key = undefined;
+ root = undefined;
+
+ do {
+ token = lex();
+
+ // This code is unreachable.
+ // if (!parseStates[parseState]) {
+ // throw invalidParseState()
+ // }
+
+ parseStates[parseState]();
+ } while (token.type !== 'eof')
+
+ if (typeof reviver === 'function') {
+ return internalize({'': root}, '', reviver)
+ }
+
+ return root
+ };
+
+ function internalize (holder, name, reviver) {
+ var value = holder[name];
+ if (value != null && typeof value === 'object') {
+ if (Array.isArray(value)) {
+ for (var i = 0; i < value.length; i++) {
+ var key = String(i);
+ var replacement = internalize(value, key, reviver);
+ if (replacement === undefined) {
+ delete value[key];
+ } else {
+ Object.defineProperty(value, key, {
+ value: replacement,
+ writable: true,
+ enumerable: true,
+ configurable: true,
+ });
+ }
+ }
+ } else {
+ for (var key$1 in value) {
+ var replacement$1 = internalize(value, key$1, reviver);
+ if (replacement$1 === undefined) {
+ delete value[key$1];
+ } else {
+ Object.defineProperty(value, key$1, {
+ value: replacement$1,
+ writable: true,
+ enumerable: true,
+ configurable: true,
+ });
+ }
+ }
+ }
+ }
+
+ return reviver.call(holder, name, value)
+ }
+
+ var lexState;
+ var buffer;
+ var doubleQuote;
+ var sign;
+ var c;
+
+ function lex () {
+ lexState = 'default';
+ buffer = '';
+ doubleQuote = false;
+ sign = 1;
+
+ for (;;) {
+ c = peek();
+
+ // This code is unreachable.
+ // if (!lexStates[lexState]) {
+ // throw invalidLexState(lexState)
+ // }
+
+ var token = lexStates[lexState]();
+ if (token) {
+ return token
+ }
+ }
+ }
+
+ function peek () {
+ if (source[pos]) {
+ return String.fromCodePoint(source.codePointAt(pos))
+ }
+ }
+
+ function read () {
+ var c = peek();
+
+ if (c === '\n') {
+ line++;
+ column = 0;
+ } else if (c) {
+ column += c.length;
+ } else {
+ column++;
+ }
+
+ if (c) {
+ pos += c.length;
+ }
+
+ return c
+ }
+
+ var lexStates = {
+ default: function default$1 () {
+ switch (c) {
+ case '\t':
+ case '\v':
+ case '\f':
+ case ' ':
+ case '\u00A0':
+ case '\uFEFF':
+ case '\n':
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ read();
+ return
+
+ case '/':
+ read();
+ lexState = 'comment';
+ return
+
+ case undefined:
+ read();
+ return newToken('eof')
+ }
+
+ if (util.isSpaceSeparator(c)) {
+ read();
+ return
+ }
+
+ // This code is unreachable.
+ // if (!lexStates[parseState]) {
+ // throw invalidLexState(parseState)
+ // }
+
+ return lexStates[parseState]()
+ },
+
+ comment: function comment () {
+ switch (c) {
+ case '*':
+ read();
+ lexState = 'multiLineComment';
+ return
+
+ case '/':
+ read();
+ lexState = 'singleLineComment';
+ return
+ }
+
+ throw invalidChar(read())
+ },
+
+ multiLineComment: function multiLineComment () {
+ switch (c) {
+ case '*':
+ read();
+ lexState = 'multiLineCommentAsterisk';
+ return
+
+ case undefined:
+ throw invalidChar(read())
+ }
+
+ read();
+ },
+
+ multiLineCommentAsterisk: function multiLineCommentAsterisk () {
+ switch (c) {
+ case '*':
+ read();
+ return
+
+ case '/':
+ read();
+ lexState = 'default';
+ return
+
+ case undefined:
+ throw invalidChar(read())
+ }
+
+ read();
+ lexState = 'multiLineComment';
+ },
+
+ singleLineComment: function singleLineComment () {
+ switch (c) {
+ case '\n':
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ read();
+ lexState = 'default';
+ return
+
+ case undefined:
+ read();
+ return newToken('eof')
+ }
+
+ read();
+ },
+
+ value: function value () {
+ switch (c) {
+ case '{':
+ case '[':
+ return newToken('punctuator', read())
+
+ case 'n':
+ read();
+ literal('ull');
+ return newToken('null', null)
+
+ case 't':
+ read();
+ literal('rue');
+ return newToken('boolean', true)
+
+ case 'f':
+ read();
+ literal('alse');
+ return newToken('boolean', false)
+
+ case '-':
+ case '+':
+ if (read() === '-') {
+ sign = -1;
+ }
+
+ lexState = 'sign';
+ return
+
+ case '.':
+ buffer = read();
+ lexState = 'decimalPointLeading';
+ return
+
+ case '0':
+ buffer = read();
+ lexState = 'zero';
+ return
+
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ buffer = read();
+ lexState = 'decimalInteger';
+ return
+
+ case 'I':
+ read();
+ literal('nfinity');
+ return newToken('numeric', Infinity)
+
+ case 'N':
+ read();
+ literal('aN');
+ return newToken('numeric', NaN)
+
+ case '"':
+ case "'":
+ doubleQuote = (read() === '"');
+ buffer = '';
+ lexState = 'string';
+ return
+ }
+
+ throw invalidChar(read())
+ },
+
+ identifierNameStartEscape: function identifierNameStartEscape () {
+ if (c !== 'u') {
+ throw invalidChar(read())
+ }
+
+ read();
+ var u = unicodeEscape();
+ switch (u) {
+ case '$':
+ case '_':
+ break
+
+ default:
+ if (!util.isIdStartChar(u)) {
+ throw invalidIdentifier()
+ }
+
+ break
+ }
+
+ buffer += u;
+ lexState = 'identifierName';
+ },
+
+ identifierName: function identifierName () {
+ switch (c) {
+ case '$':
+ case '_':
+ case '\u200C':
+ case '\u200D':
+ buffer += read();
+ return
+
+ case '\\':
+ read();
+ lexState = 'identifierNameEscape';
+ return
+ }
+
+ if (util.isIdContinueChar(c)) {
+ buffer += read();
+ return
+ }
+
+ return newToken('identifier', buffer)
+ },
+
+ identifierNameEscape: function identifierNameEscape () {
+ if (c !== 'u') {
+ throw invalidChar(read())
+ }
+
+ read();
+ var u = unicodeEscape();
+ switch (u) {
+ case '$':
+ case '_':
+ case '\u200C':
+ case '\u200D':
+ break
+
+ default:
+ if (!util.isIdContinueChar(u)) {
+ throw invalidIdentifier()
+ }
+
+ break
+ }
+
+ buffer += u;
+ lexState = 'identifierName';
+ },
+
+ sign: function sign$1 () {
+ switch (c) {
+ case '.':
+ buffer = read();
+ lexState = 'decimalPointLeading';
+ return
+
+ case '0':
+ buffer = read();
+ lexState = 'zero';
+ return
+
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ buffer = read();
+ lexState = 'decimalInteger';
+ return
+
+ case 'I':
+ read();
+ literal('nfinity');
+ return newToken('numeric', sign * Infinity)
+
+ case 'N':
+ read();
+ literal('aN');
+ return newToken('numeric', NaN)
+ }
+
+ throw invalidChar(read())
+ },
+
+ zero: function zero () {
+ switch (c) {
+ case '.':
+ buffer += read();
+ lexState = 'decimalPoint';
+ return
+
+ case 'e':
+ case 'E':
+ buffer += read();
+ lexState = 'decimalExponent';
+ return
+
+ case 'x':
+ case 'X':
+ buffer += read();
+ lexState = 'hexadecimal';
+ return
+ }
+
+ return newToken('numeric', sign * 0)
+ },
+
+ decimalInteger: function decimalInteger () {
+ switch (c) {
+ case '.':
+ buffer += read();
+ lexState = 'decimalPoint';
+ return
+
+ case 'e':
+ case 'E':
+ buffer += read();
+ lexState = 'decimalExponent';
+ return
+ }
+
+ if (util.isDigit(c)) {
+ buffer += read();
+ return
+ }
+
+ return newToken('numeric', sign * Number(buffer))
+ },
+
+ decimalPointLeading: function decimalPointLeading () {
+ if (util.isDigit(c)) {
+ buffer += read();
+ lexState = 'decimalFraction';
+ return
+ }
+
+ throw invalidChar(read())
+ },
+
+ decimalPoint: function decimalPoint () {
+ switch (c) {
+ case 'e':
+ case 'E':
+ buffer += read();
+ lexState = 'decimalExponent';
+ return
+ }
+
+ if (util.isDigit(c)) {
+ buffer += read();
+ lexState = 'decimalFraction';
+ return
+ }
+
+ return newToken('numeric', sign * Number(buffer))
+ },
+
+ decimalFraction: function decimalFraction () {
+ switch (c) {
+ case 'e':
+ case 'E':
+ buffer += read();
+ lexState = 'decimalExponent';
+ return
+ }
+
+ if (util.isDigit(c)) {
+ buffer += read();
+ return
+ }
+
+ return newToken('numeric', sign * Number(buffer))
+ },
+
+ decimalExponent: function decimalExponent () {
+ switch (c) {
+ case '+':
+ case '-':
+ buffer += read();
+ lexState = 'decimalExponentSign';
+ return
+ }
+
+ if (util.isDigit(c)) {
+ buffer += read();
+ lexState = 'decimalExponentInteger';
+ return
+ }
+
+ throw invalidChar(read())
+ },
+
+ decimalExponentSign: function decimalExponentSign () {
+ if (util.isDigit(c)) {
+ buffer += read();
+ lexState = 'decimalExponentInteger';
+ return
+ }
+
+ throw invalidChar(read())
+ },
+
+ decimalExponentInteger: function decimalExponentInteger () {
+ if (util.isDigit(c)) {
+ buffer += read();
+ return
+ }
+
+ return newToken('numeric', sign * Number(buffer))
+ },
+
+ hexadecimal: function hexadecimal () {
+ if (util.isHexDigit(c)) {
+ buffer += read();
+ lexState = 'hexadecimalInteger';
+ return
+ }
+
+ throw invalidChar(read())
+ },
+
+ hexadecimalInteger: function hexadecimalInteger () {
+ if (util.isHexDigit(c)) {
+ buffer += read();
+ return
+ }
+
+ return newToken('numeric', sign * Number(buffer))
+ },
+
+ string: function string () {
+ switch (c) {
+ case '\\':
+ read();
+ buffer += escape();
+ return
+
+ case '"':
+ if (doubleQuote) {
+ read();
+ return newToken('string', buffer)
+ }
+
+ buffer += read();
+ return
+
+ case "'":
+ if (!doubleQuote) {
+ read();
+ return newToken('string', buffer)
+ }
+
+ buffer += read();
+ return
+
+ case '\n':
+ case '\r':
+ throw invalidChar(read())
+
+ case '\u2028':
+ case '\u2029':
+ separatorChar(c);
+ break
+
+ case undefined:
+ throw invalidChar(read())
+ }
+
+ buffer += read();
+ },
+
+ start: function start () {
+ switch (c) {
+ case '{':
+ case '[':
+ return newToken('punctuator', read())
+
+ // This code is unreachable since the default lexState handles eof.
+ // case undefined:
+ // return newToken('eof')
+ }
+
+ lexState = 'value';
+ },
+
+ beforePropertyName: function beforePropertyName () {
+ switch (c) {
+ case '$':
+ case '_':
+ buffer = read();
+ lexState = 'identifierName';
+ return
+
+ case '\\':
+ read();
+ lexState = 'identifierNameStartEscape';
+ return
+
+ case '}':
+ return newToken('punctuator', read())
+
+ case '"':
+ case "'":
+ doubleQuote = (read() === '"');
+ lexState = 'string';
+ return
+ }
+
+ if (util.isIdStartChar(c)) {
+ buffer += read();
+ lexState = 'identifierName';
+ return
+ }
+
+ throw invalidChar(read())
+ },
+
+ afterPropertyName: function afterPropertyName () {
+ if (c === ':') {
+ return newToken('punctuator', read())
+ }
+
+ throw invalidChar(read())
+ },
+
+ beforePropertyValue: function beforePropertyValue () {
+ lexState = 'value';
+ },
+
+ afterPropertyValue: function afterPropertyValue () {
+ switch (c) {
+ case ',':
+ case '}':
+ return newToken('punctuator', read())
+ }
+
+ throw invalidChar(read())
+ },
+
+ beforeArrayValue: function beforeArrayValue () {
+ if (c === ']') {
+ return newToken('punctuator', read())
+ }
+
+ lexState = 'value';
+ },
+
+ afterArrayValue: function afterArrayValue () {
+ switch (c) {
+ case ',':
+ case ']':
+ return newToken('punctuator', read())
+ }
+
+ throw invalidChar(read())
+ },
+
+ end: function end () {
+ // This code is unreachable since it's handled by the default lexState.
+ // if (c === undefined) {
+ // read()
+ // return newToken('eof')
+ // }
+
+ throw invalidChar(read())
+ },
+ };
+
+ function newToken (type, value) {
+ return {
+ type: type,
+ value: value,
+ line: line,
+ column: column,
+ }
+ }
+
+ function literal (s) {
+ for (var i = 0, list = s; i < list.length; i += 1) {
+ var c = list[i];
+
+ var p = peek();
+
+ if (p !== c) {
+ throw invalidChar(read())
+ }
+
+ read();
+ }
+ }
+
+ function escape () {
+ var c = peek();
+ switch (c) {
+ case 'b':
+ read();
+ return '\b'
+
+ case 'f':
+ read();
+ return '\f'
+
+ case 'n':
+ read();
+ return '\n'
+
+ case 'r':
+ read();
+ return '\r'
+
+ case 't':
+ read();
+ return '\t'
+
+ case 'v':
+ read();
+ return '\v'
+
+ case '0':
+ read();
+ if (util.isDigit(peek())) {
+ throw invalidChar(read())
+ }
+
+ return '\0'
+
+ case 'x':
+ read();
+ return hexEscape()
+
+ case 'u':
+ read();
+ return unicodeEscape()
+
+ case '\n':
+ case '\u2028':
+ case '\u2029':
+ read();
+ return ''
+
+ case '\r':
+ read();
+ if (peek() === '\n') {
+ read();
+ }
+
+ return ''
+
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ throw invalidChar(read())
+
+ case undefined:
+ throw invalidChar(read())
+ }
+
+ return read()
+ }
+
+ function hexEscape () {
+ var buffer = '';
+ var c = peek();
+
+ if (!util.isHexDigit(c)) {
+ throw invalidChar(read())
+ }
+
+ buffer += read();
+
+ c = peek();
+ if (!util.isHexDigit(c)) {
+ throw invalidChar(read())
+ }
+
+ buffer += read();
+
+ return String.fromCodePoint(parseInt(buffer, 16))
+ }
+
+ function unicodeEscape () {
+ var buffer = '';
+ var count = 4;
+
+ while (count-- > 0) {
+ var c = peek();
+ if (!util.isHexDigit(c)) {
+ throw invalidChar(read())
+ }
+
+ buffer += read();
+ }
+
+ return String.fromCodePoint(parseInt(buffer, 16))
+ }
+
+ var parseStates = {
+ start: function start () {
+ if (token.type === 'eof') {
+ throw invalidEOF()
+ }
+
+ push();
+ },
+
+ beforePropertyName: function beforePropertyName () {
+ switch (token.type) {
+ case 'identifier':
+ case 'string':
+ key = token.value;
+ parseState = 'afterPropertyName';
+ return
+
+ case 'punctuator':
+ // This code is unreachable since it's handled by the lexState.
+ // if (token.value !== '}') {
+ // throw invalidToken()
+ // }
+
+ pop();
+ return
+
+ case 'eof':
+ throw invalidEOF()
+ }
+
+ // This code is unreachable since it's handled by the lexState.
+ // throw invalidToken()
+ },
+
+ afterPropertyName: function afterPropertyName () {
+ // This code is unreachable since it's handled by the lexState.
+ // if (token.type !== 'punctuator' || token.value !== ':') {
+ // throw invalidToken()
+ // }
+
+ if (token.type === 'eof') {
+ throw invalidEOF()
+ }
+
+ parseState = 'beforePropertyValue';
+ },
+
+ beforePropertyValue: function beforePropertyValue () {
+ if (token.type === 'eof') {
+ throw invalidEOF()
+ }
+
+ push();
+ },
+
+ beforeArrayValue: function beforeArrayValue () {
+ if (token.type === 'eof') {
+ throw invalidEOF()
+ }
+
+ if (token.type === 'punctuator' && token.value === ']') {
+ pop();
+ return
+ }
+
+ push();
+ },
+
+ afterPropertyValue: function afterPropertyValue () {
+ // This code is unreachable since it's handled by the lexState.
+ // if (token.type !== 'punctuator') {
+ // throw invalidToken()
+ // }
+
+ if (token.type === 'eof') {
+ throw invalidEOF()
+ }
+
+ switch (token.value) {
+ case ',':
+ parseState = 'beforePropertyName';
+ return
+
+ case '}':
+ pop();
+ }
+
+ // This code is unreachable since it's handled by the lexState.
+ // throw invalidToken()
+ },
+
+ afterArrayValue: function afterArrayValue () {
+ // This code is unreachable since it's handled by the lexState.
+ // if (token.type !== 'punctuator') {
+ // throw invalidToken()
+ // }
+
+ if (token.type === 'eof') {
+ throw invalidEOF()
+ }
+
+ switch (token.value) {
+ case ',':
+ parseState = 'beforeArrayValue';
+ return
+
+ case ']':
+ pop();
+ }
+
+ // This code is unreachable since it's handled by the lexState.
+ // throw invalidToken()
+ },
+
+ end: function end () {
+ // This code is unreachable since it's handled by the lexState.
+ // if (token.type !== 'eof') {
+ // throw invalidToken()
+ // }
+ },
+ };
+
+ function push () {
+ var value;
+
+ switch (token.type) {
+ case 'punctuator':
+ switch (token.value) {
+ case '{':
+ value = {};
+ break
+
+ case '[':
+ value = [];
+ break
+ }
+
+ break
+
+ case 'null':
+ case 'boolean':
+ case 'numeric':
+ case 'string':
+ value = token.value;
+ break
+
+ // This code is unreachable.
+ // default:
+ // throw invalidToken()
+ }
+
+ if (root === undefined) {
+ root = value;
+ } else {
+ var parent = stack[stack.length - 1];
+ if (Array.isArray(parent)) {
+ parent.push(value);
+ } else {
+ Object.defineProperty(parent, key, {
+ value: value,
+ writable: true,
+ enumerable: true,
+ configurable: true,
+ });
+ }
+ }
+
+ if (value !== null && typeof value === 'object') {
+ stack.push(value);
+
+ if (Array.isArray(value)) {
+ parseState = 'beforeArrayValue';
+ } else {
+ parseState = 'beforePropertyName';
+ }
+ } else {
+ var current = stack[stack.length - 1];
+ if (current == null) {
+ parseState = 'end';
+ } else if (Array.isArray(current)) {
+ parseState = 'afterArrayValue';
+ } else {
+ parseState = 'afterPropertyValue';
+ }
+ }
+ }
+
+ function pop () {
+ stack.pop();
+
+ var current = stack[stack.length - 1];
+ if (current == null) {
+ parseState = 'end';
+ } else if (Array.isArray(current)) {
+ parseState = 'afterArrayValue';
+ } else {
+ parseState = 'afterPropertyValue';
+ }
+ }
+
+ // This code is unreachable.
+ // function invalidParseState () {
+ // return new Error(`JSON5: invalid parse state '${parseState}'`)
+ // }
+
+ // This code is unreachable.
+ // function invalidLexState (state) {
+ // return new Error(`JSON5: invalid lex state '${state}'`)
+ // }
+
+ function invalidChar (c) {
+ if (c === undefined) {
+ return syntaxError(("JSON5: invalid end of input at " + line + ":" + column))
+ }
+
+ return syntaxError(("JSON5: invalid character '" + (formatChar(c)) + "' at " + line + ":" + column))
+ }
+
+ function invalidEOF () {
+ return syntaxError(("JSON5: invalid end of input at " + line + ":" + column))
+ }
+
+ // This code is unreachable.
+ // function invalidToken () {
+ // if (token.type === 'eof') {
+ // return syntaxError(`JSON5: invalid end of input at ${line}:${column}`)
+ // }
+
+ // const c = String.fromCodePoint(token.value.codePointAt(0))
+ // return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`)
+ // }
+
+ function invalidIdentifier () {
+ column -= 5;
+ return syntaxError(("JSON5: invalid identifier character at " + line + ":" + column))
+ }
+
+ function separatorChar (c) {
+ console.warn(("JSON5: '" + (formatChar(c)) + "' in strings is not valid ECMAScript; consider escaping"));
+ }
+
+ function formatChar (c) {
+ var replacements = {
+ "'": "\\'",
+ '"': '\\"',
+ '\\': '\\\\',
+ '\b': '\\b',
+ '\f': '\\f',
+ '\n': '\\n',
+ '\r': '\\r',
+ '\t': '\\t',
+ '\v': '\\v',
+ '\0': '\\0',
+ '\u2028': '\\u2028',
+ '\u2029': '\\u2029',
+ };
+
+ if (replacements[c]) {
+ return replacements[c]
+ }
+
+ if (c < ' ') {
+ var hexString = c.charCodeAt(0).toString(16);
+ return '\\x' + ('00' + hexString).substring(hexString.length)
+ }
+
+ return c
+ }
+
+ function syntaxError (message) {
+ var err = new SyntaxError(message);
+ err.lineNumber = line;
+ err.columnNumber = column;
+ return err
+ }
+
+ var stringify = function stringify (value, replacer, space) {
+ var stack = [];
+ var indent = '';
+ var propertyList;
+ var replacerFunc;
+ var gap = '';
+ var quote;
+
+ if (
+ replacer != null &&
+ typeof replacer === 'object' &&
+ !Array.isArray(replacer)
+ ) {
+ space = replacer.space;
+ quote = replacer.quote;
+ replacer = replacer.replacer;
+ }
+
+ if (typeof replacer === 'function') {
+ replacerFunc = replacer;
+ } else if (Array.isArray(replacer)) {
+ propertyList = [];
+ for (var i = 0, list = replacer; i < list.length; i += 1) {
+ var v = list[i];
+
+ var item = (void 0);
+
+ if (typeof v === 'string') {
+ item = v;
+ } else if (
+ typeof v === 'number' ||
+ v instanceof String ||
+ v instanceof Number
+ ) {
+ item = String(v);
+ }
+
+ if (item !== undefined && propertyList.indexOf(item) < 0) {
+ propertyList.push(item);
+ }
+ }
+ }
+
+ if (space instanceof Number) {
+ space = Number(space);
+ } else if (space instanceof String) {
+ space = String(space);
+ }
+
+ if (typeof space === 'number') {
+ if (space > 0) {
+ space = Math.min(10, Math.floor(space));
+ gap = ' '.substr(0, space);
+ }
+ } else if (typeof space === 'string') {
+ gap = space.substr(0, 10);
+ }
+
+ return serializeProperty('', {'': value})
+
+ function serializeProperty (key, holder) {
+ var value = holder[key];
+ if (value != null) {
+ if (typeof value.toJSON5 === 'function') {
+ value = value.toJSON5(key);
+ } else if (typeof value.toJSON === 'function') {
+ value = value.toJSON(key);
+ }
+ }
+
+ if (replacerFunc) {
+ value = replacerFunc.call(holder, key, value);
+ }
+
+ if (value instanceof Number) {
+ value = Number(value);
+ } else if (value instanceof String) {
+ value = String(value);
+ } else if (value instanceof Boolean) {
+ value = value.valueOf();
+ }
+
+ switch (value) {
+ case null: return 'null'
+ case true: return 'true'
+ case false: return 'false'
+ }
+
+ if (typeof value === 'string') {
+ return quoteString(value, false)
+ }
+
+ if (typeof value === 'number') {
+ return String(value)
+ }
+
+ if (typeof value === 'object') {
+ return Array.isArray(value) ? serializeArray(value) : serializeObject(value)
+ }
+
+ return undefined
+ }
+
+ function quoteString (value) {
+ var quotes = {
+ "'": 0.1,
+ '"': 0.2,
+ };
+
+ var replacements = {
+ "'": "\\'",
+ '"': '\\"',
+ '\\': '\\\\',
+ '\b': '\\b',
+ '\f': '\\f',
+ '\n': '\\n',
+ '\r': '\\r',
+ '\t': '\\t',
+ '\v': '\\v',
+ '\0': '\\0',
+ '\u2028': '\\u2028',
+ '\u2029': '\\u2029',
+ };
+
+ var product = '';
+
+ for (var i = 0; i < value.length; i++) {
+ var c = value[i];
+ switch (c) {
+ case "'":
+ case '"':
+ quotes[c]++;
+ product += c;
+ continue
+
+ case '\0':
+ if (util.isDigit(value[i + 1])) {
+ product += '\\x00';
+ continue
+ }
+ }
+
+ if (replacements[c]) {
+ product += replacements[c];
+ continue
+ }
+
+ if (c < ' ') {
+ var hexString = c.charCodeAt(0).toString(16);
+ product += '\\x' + ('00' + hexString).substring(hexString.length);
+ continue
+ }
+
+ product += c;
+ }
+
+ var quoteChar = quote || Object.keys(quotes).reduce(function (a, b) { return (quotes[a] < quotes[b]) ? a : b; });
+
+ product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]);
+
+ return quoteChar + product + quoteChar
+ }
+
+ function serializeObject (value) {
+ if (stack.indexOf(value) >= 0) {
+ throw TypeError('Converting circular structure to JSON5')
+ }
+
+ stack.push(value);
+
+ var stepback = indent;
+ indent = indent + gap;
+
+ var keys = propertyList || Object.keys(value);
+ var partial = [];
+ for (var i = 0, list = keys; i < list.length; i += 1) {
+ var key = list[i];
+
+ var propertyString = serializeProperty(key, value);
+ if (propertyString !== undefined) {
+ var member = serializeKey(key) + ':';
+ if (gap !== '') {
+ member += ' ';
+ }
+ member += propertyString;
+ partial.push(member);
+ }
+ }
+
+ var final;
+ if (partial.length === 0) {
+ final = '{}';
+ } else {
+ var properties;
+ if (gap === '') {
+ properties = partial.join(',');
+ final = '{' + properties + '}';
+ } else {
+ var separator = ',\n' + indent;
+ properties = partial.join(separator);
+ final = '{\n' + indent + properties + ',\n' + stepback + '}';
+ }
+ }
+
+ stack.pop();
+ indent = stepback;
+ return final
+ }
+
+ function serializeKey (key) {
+ if (key.length === 0) {
+ return quoteString(key, true)
+ }
+
+ var firstChar = String.fromCodePoint(key.codePointAt(0));
+ if (!util.isIdStartChar(firstChar)) {
+ return quoteString(key, true)
+ }
+
+ for (var i = firstChar.length; i < key.length; i++) {
+ if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {
+ return quoteString(key, true)
+ }
+ }
+
+ return key
+ }
+
+ function serializeArray (value) {
+ if (stack.indexOf(value) >= 0) {
+ throw TypeError('Converting circular structure to JSON5')
+ }
+
+ stack.push(value);
+
+ var stepback = indent;
+ indent = indent + gap;
+
+ var partial = [];
+ for (var i = 0; i < value.length; i++) {
+ var propertyString = serializeProperty(String(i), value);
+ partial.push((propertyString !== undefined) ? propertyString : 'null');
+ }
+
+ var final;
+ if (partial.length === 0) {
+ final = '[]';
+ } else {
+ if (gap === '') {
+ var properties = partial.join(',');
+ final = '[' + properties + ']';
+ } else {
+ var separator = ',\n' + indent;
+ var properties$1 = partial.join(separator);
+ final = '[\n' + indent + properties$1 + ',\n' + stepback + ']';
+ }
+ }
+
+ stack.pop();
+ indent = stepback;
+ return final
+ }
+ };
+
+ var JSON5 = {
+ parse: parse,
+ stringify: stringify,
+ };
+
+ var lib = JSON5;
+
+ var es5 = lib;
+
+ return es5;
+
+})));
diff --git a/天天开心/api/lf_live10_min-output.js b/天天开心/api/lf_live10_min-output.js
new file mode 100644
index 0000000..948d4ef
--- /dev/null
+++ b/天天开心/api/lf_live10_min-output.js
@@ -0,0 +1 @@
+(function(_0x2d0cfd,_0xb5a937){function _0x42cee7(_0xc09573,_0x2a253b,_0x2ef6e2,_0x539b33){return _0x4c7b(_0xc09573-0x38e,_0x539b33);}const _0x55e240=_0x2d0cfd();function _0x2a84b3(_0x22009,_0x2f1ab5,_0x3defab,_0x1e45b5){return _0x4c7b(_0x3defab- -0x205,_0x2f1ab5);}while(!![]){try{const _0x2ee56b=parseInt(_0x2a84b3(-0x265,0x18d,-0x5d,0x10b))/(-0x1*-0xfe9+-0x33*-0x43+-0x1d41)+-parseInt(_0x42cee7(0x755,0x705,0x860,0x930))/(-0x1154+-0xae8+0x1*0x1c3e)+parseInt(_0x2a84b3(0x1e5,0x211,0x81,0x77))/(0x2330+-0x2488*-0x1+-0x47b5)*(parseInt(_0x2a84b3(-0xef,-0x200,-0x54,-0xf6))/(-0x905*-0x1+0x6*-0x107+-0x2d7))+-parseInt(_0x42cee7(0x83d,0x759,0x832,0x96d))/(-0x9f8+0x995+0xd*0x8)+-parseInt(_0x2a84b3(0xc3,0x2f8,0x169,0x370))/(-0x1971+-0xa15*-0x3+-0x4c8)+-parseInt(_0x42cee7(0x70c,0x614,0x521,0x5e7))/(0x337*-0xb+-0x7*0x221+0x324b)+parseInt(_0x42cee7(0x5a3,0x5df,0x670,0x473))/(0x1*-0x24d7+-0x1262+0x3741)*(parseInt(_0x2a84b3(0x472,0x502,0x393,0x1a1))/(0x1d7*-0xa+0x258*-0x7+0x22d7));if(_0x2ee56b===_0xb5a937)break;else _0x55e240['push'](_0x55e240['shift']());}catch(_0x2a1852){_0x55e240['push'](_0x55e240['shift']());}}}(_0x1dc8,0xf8aa*-0x2+-0x6d2c+0x20e*0x1e9));const _0x9c35ab=(function(){const _0x303dda={};_0x303dda[_0x64294a(0x7a6,0x594,0x38b,0x67c)]=_0x39665c(-0xd2,-0x25d,-0x27f,-0x2d9)+_0x39665c(0x3a,0x16,-0x23,-0x12c)+'蜂蜜影视APP最新版'+'!',_0x303dda[_0x64294a(0x5ba,0x776,0x594,0x8c5)]=function(_0xb2bf08,_0xa28cfe){return _0xb2bf08!==_0xa28cfe;};function _0x39665c(_0x434759,_0x3a7f3b,_0x24aebe,_0x35c741){return _0x4c7b(_0x434759- -0x351,_0x35c741);}_0x303dda[_0x39665c(-0x14a,-0x4b,-0x29c,-0x7d)]=_0x64294a(0x627,0x6aa,0x4c6,0x75c),_0x303dda[_0x39665c(-0xc2,-0x1cb,-0x1d3,-0x15)]=function(_0xfdb874,_0x27dd50){return _0xfdb874===_0x27dd50;};function _0x64294a(_0x4cdebf,_0x3b5b01,_0x1a3dd2,_0x2a3744){return _0x4c7b(_0x3b5b01-0x212,_0x2a3744);}_0x303dda[_0x64294a(0x636,0x446,0x3f6,0x240)]=_0x39665c(0x9a,-0xf9,0x269,0x19),_0x303dda[_0x39665c(0x127,0x2e4,-0xb9,0x2d0)]=_0x64294a(0x539,0x703,0x83b,0x915)+_0x39665c(0x21d,0x1bc,0x1f4,0x5b);const _0x5e30d9=_0x303dda;let _0x59f359=!![];return function(_0x1cee48,_0x51876f){function _0x761a68(_0x28ed92,_0x4ed3dc,_0x2fb846,_0x4216ba){return _0x39665c(_0x28ed92-0x5aa,_0x4ed3dc-0x0,_0x2fb846-0x11b,_0x4216ba);}const _0x1acac1={};_0x1acac1[_0x761a68(0x497,0x476,0x599,0x314)]=_0x5e30d9[_0x5f54cf(0x6a3,0x430,0x647,0x717)];const _0x44baad=_0x1acac1;function _0x5f54cf(_0xf876b4,_0x23110a,_0x413bc0,_0x7d2916){return _0x39665c(_0x413bc0-0x520,_0x23110a-0x86,_0x413bc0-0x6e,_0x23110a);}const _0xc1d756=_0x59f359?function(){const _0x1229a8={};function _0x2c9f43(_0x2fe116,_0xd87fb5,_0x27b9b0,_0x38d23d){return _0x761a68(_0x2fe116- -0x286,_0xd87fb5-0x157,_0x27b9b0-0xee,_0x27b9b0);}_0x1229a8[_0x464af5(0x407,0x5cc,0x2c2,0x36a)]=_0x5e30d9[_0x2c9f43(0x355,0x4ca,0x1de,0x3e3)];const _0x3c2e63=_0x1229a8;function _0x464af5(_0x11a2da,_0x59d4ff,_0xe8eecf,_0x3b5cd4){return _0x5f54cf(_0x11a2da-0x8a,_0x3b5cd4,_0x11a2da- -0x1f8,_0x3b5cd4-0xcd);}if(_0x5e30d9[_0x2c9f43(0x537,0x54c,0x443,0x4be)](_0x5e30d9[_0x2c9f43(0x1da,0x3a,0x2b1,0x1f1)],_0x2c9f43(0x46b,0x413,0x68a,0x265)))_0x51b8b7=_0x4c77d0['cacheCateg'+_0x464af5(0x1d2,-0x36,0x3f,0x3e9)][_0x43e376],_0x1c118a[_0x2c9f43(0x2be,0x319,0x154,0x287)](_0x44baad['ONAJY']);else{if(_0x51876f){if(_0x5e30d9[_0x2c9f43(0x262,0x9f,0x37d,0xe5)](_0x5e30d9[_0x464af5(0x20b,0x155,0x18c,0x367)],'EeGmL')){const _0x3c5077=_0x51876f[_0x2c9f43(0x4b7,0x343,0x3f4,0x576)](_0x1cee48,arguments);return _0x51876f=null,_0x3c5077;}else _0xdb6cff[_0x2c9f43(0x2be,0x273,0x233,0x2a8)](_0x3c2e63[_0x2c9f43(0x403,0x214,0x3ca,0x403)]);}}}:function(){};return _0x59f359=![],_0xc1d756;};}()),_0xd3ade4=_0x9c35ab(this,function(){const _0x1a5221={};_0x1a5221[_0x3d12de(0x2a3,0x43d,0x426,0x4bd)]='(((.+)+)+)'+'+$';function _0x15df9f(_0x21101a,_0x3f8e84,_0x1dd038,_0x24240f){return _0x4c7b(_0x1dd038- -0x1c5,_0x21101a);}function _0x3d12de(_0x37e2d7,_0x396349,_0x110959,_0x5901dd){return _0x4c7b(_0x5901dd-0x157,_0x110959);}const _0x348cb3=_0x1a5221;return _0xd3ade4[_0x15df9f(0x3d2,0x1ec,0x2ac,0x2e8)]()[_0x3d12de(0x650,0x519,0x7ee,0x6e5)](_0x348cb3[_0x3d12de(0x391,0x2c4,0x45f,0x4bd)])[_0x3d12de(0x765,0x743,0x6ea,0x5c8)]()[_0x3d12de(0x4e2,0x46c,0x4f7,0x34d)+'r'](_0xd3ade4)[_0x15df9f(0x2a1,0x478,0x3c9,0x3ab)](_0x348cb3[_0x3d12de(0x527,0x5e4,0x4f0,0x4bd)]);});_0xd3ade4();const _0x11e1f3=(function(){function _0x54fae7(_0x682612,_0x48363c,_0x2d74e8,_0x3d05e9){return _0x4c7b(_0x3d05e9- -0x35d,_0x2d74e8);}const _0x2da70f={'aockt':function(_0xe24b5b,_0x5f3be8,_0x5526de){return _0xe24b5b(_0x5f3be8,_0x5526de);},'PKMPt':'HEADER','CRWTd':_0x54fae7(-0xc6,-0x16a,0x164,0x34),'kufjj':function(_0x20d7aa){return _0x20d7aa();},'vrGsO':_0x54fae7(0xfd,0x167,-0x9c,0x126)+_0x513212(0x292,0x498,0x414,0x37e),'YgKhy':function(_0xf4cef5,_0x122b74){return _0xf4cef5!==_0x122b74;},'TmImG':_0x513212(0x2cc,0x326,0x3f3,0x496),'lrqiX':'azVaz','ReTPX':'UCHfy'};let _0x191597=!![];function _0x513212(_0x35cccd,_0x11374c,_0x1909d8,_0x2aa067){return _0x4c7b(_0x35cccd-0x4c,_0x11374c);}return function(_0x2abba9,_0x35b74d){function _0x2966d3(_0x2bc2f9,_0x44e15c,_0x57cdf4,_0x1f9f86){return _0x54fae7(_0x2bc2f9-0xfd,_0x44e15c-0x1d4,_0x44e15c,_0x57cdf4-0x194);}function _0x3173d7(_0x28257e,_0x4552fd,_0x1c75a9,_0x258e95){return _0x513212(_0x28257e-0x36,_0x4552fd,_0x1c75a9-0x1b7,_0x258e95-0x8e);}const _0x2dab4e={'skKcy':function(_0x4a1323,_0x1df872,_0x2461aa){return _0x2da70f['aockt'](_0x4a1323,_0x1df872,_0x2461aa);},'pVGXy':_0x2da70f[_0x2966d3(-0xe4,-0xc2,-0x10,-0xe2)],'yNGoH':_0x2da70f[_0x2966d3(0x247,0x1ad,0x250,0x3bf)],'jyAbL':function(_0x489253){return _0x2da70f['kufjj'](_0x489253);},'yzZIq':_0x2da70f[_0x3173d7(0x546,0x75a,0x36a,0x59d)],'ULScP':function(_0x3aca14,_0x517f50){function _0x126a84(_0x93fbcc,_0x1ce969,_0x499e01,_0x41c450){return _0x3173d7(_0x499e01-0x183,_0x93fbcc,_0x499e01-0x83,_0x41c450-0x144);}return _0x2da70f[_0x126a84(0x849,0x5ef,0x738,0x683)](_0x3aca14,_0x517f50);},'qiKvM':_0x2da70f[_0x3173d7(0x2aa,0x332,0x23e,0x167)],'xNQPV':_0x2da70f[_0x3173d7(0x49d,0x4ec,0x527,0x452)]};if(_0x2da70f[_0x2966d3(0x258,0x38b,0x28b,0x3ac)]!==_0x2da70f[_0x2966d3(0x2f4,0x3a0,0x28b,0xc5)])return _0x5695f4=_0xe2ccfa[_0x3173d7(0x625,0x67a,0x408,0x5ce)](_0x42609f)[0x265*0xb+0xa4*-0x32+0x5b3],_0x5c5353=_0x2dab4e[_0x3173d7(0x517,0x4be,0x383,0x627)](_0x3e59e3,_0x334241,{'method':_0x2dab4e[_0x3173d7(0x23d,0x394,0x239,0x12c)],'headers':_0x1fea0c['headers'],'redirect':0x0}),_0x487a90=_0x57c746['headers']['location']['replace'](_0x2dab4e[_0x3173d7(0x2d8,0x4ce,0x1fd,0x343)],''),_0x5ca5ad;else{const _0x5a124d=_0x191597?function(){function _0x159cc2(_0x52e958,_0x11ca04,_0x2f802f,_0x51c607){return _0x2966d3(_0x52e958-0xac,_0x52e958,_0x2f802f-0x328,_0x51c607-0x91);}function _0x179cc4(_0x5a756b,_0x324128,_0x34f74d,_0x20fb38){return _0x2966d3(_0x5a756b-0x164,_0x20fb38,_0x5a756b-0x35c,_0x20fb38-0xb5);}if(_0x35b74d){if(_0x2dab4e[_0x159cc2(0x5db,0x63f,0x621,0x506)](_0x2dab4e[_0x179cc4(0x665,0x7d8,0x87d,0x46c)],_0x2dab4e[_0x159cc2(0x3f1,0x2f0,0x4eb,0x55c)])){const _0x4ef8b4=_0x35b74d['apply'](_0x2abba9,arguments);return _0x35b74d=null,_0x4ef8b4;}else _0x2dab4e['jyAbL'](_0x2e55fb),_0xb8b6c[_0x159cc2(0x32b,0x3e0,0x44a,0x2e8)](_0x2dab4e['yzZIq']);}}:function(){};return _0x191597=![],_0x5a124d;}};}()),_0x593288=_0x11e1f3(this,function(){function _0x4c9b4a(_0x59d97f,_0x4b8551,_0x7bbc2c,_0x122d24){return _0x4c7b(_0x7bbc2c- -0x141,_0x122d24);}function _0x35c655(_0x2c686a,_0x2a419b,_0x48403e,_0x30f7f5){return _0x4c7b(_0x48403e- -0x143,_0x2c686a);}const _0x215931={'JhroA':function(_0x3b38c9,_0x4f718d){return _0x3b38c9==_0x4f718d;},'EJrxg':function(_0x37dc42,_0x50cef8){return _0x37dc42===_0x50cef8;},'UqKwe':'eeEuE','zLQDS':'UsusX','LTshk':function(_0x56a502,_0x13fa29){return _0x56a502(_0x13fa29);},'HXnvh':function(_0x50ba9b,_0x5d7f6b){return _0x50ba9b+_0x5d7f6b;},'JxPNo':function(_0x4e58d1,_0x14d9a0){return _0x4e58d1+_0x14d9a0;},'bWgDO':_0x35c655(0x392,0x29a,0x34d,0x213)+_0x35c655(0x3a6,0x4c7,0x3a4,0x38e),'vIDDP':'{}.constru'+_0x35c655(0x2f2,0x3ab,0x1ee,0x344)+_0x4c9b4a(-0x4d,-0xc,0x164,0x1a8)+'\x20)','ZkbaA':function(_0xb62b83,_0x2f23c0){return _0xb62b83===_0x2f23c0;},'OkYEz':_0x4c9b4a(0x42c,0x566,0x45e,0x2d4),'GVzQg':function(_0x278b8b){return _0x278b8b();},'ZIemO':_0x35c655(0x328,0x2aa,0x1a8,0x1de),'dUzqc':_0x4c9b4a(0x54e,0x532,0x3c0,0x434),'nzOWd':'info','XczqC':_0x4c9b4a(-0xde,0xb3,0x138,0x8f),'USyNJ':_0x4c9b4a(0x37d,0x296,0x2e3,0x1d4),'OAgxw':'table','CHJgl':_0x4c9b4a(-0x7c,-0xa4,0x102,0x281),'Lxukp':function(_0x23dccb,_0x5a2906){return _0x23dccb<_0x5a2906;}},_0x5c5e9c=function(){function _0x1adfc0(_0x3e3698,_0x156474,_0x47ef93,_0x4ada43){return _0x4c9b4a(_0x3e3698-0x110,_0x156474-0x1c1,_0x4ada43- -0x253,_0x3e3698);}function _0x271c43(_0x3f8ba7,_0x5addfc,_0x34e929,_0x81b06){return _0x4c9b4a(_0x3f8ba7-0x11c,_0x5addfc-0x15,_0x34e929- -0x262,_0x5addfc);}const _0x1f5718={'ZZndU':function(_0x19520f,_0x383f1f){function _0x221c2a(_0x563390,_0x10da17,_0x4f45f8,_0x1eb1d8){return _0x4c7b(_0x4f45f8- -0x2d7,_0x10da17);}return _0x215931[_0x221c2a(-0x25b,-0xc,-0xdd,0x1c)](_0x19520f,_0x383f1f);}};if(_0x215931['EJrxg'](_0x215931[_0x1adfc0(-0x235,-0x352,-0x2b9,-0x140)],_0x215931['zLQDS']))_0x161b73[_0x9ebef5++]=_0x3d7ade['fromCharCo'+'de'](_0x2c175d);else{let _0x19e8b7;try{_0x19e8b7=_0x215931[_0x1adfc0(-0x114,0x47,-0x336,-0x16f)](Function,_0x215931['HXnvh'](_0x215931[_0x271c43(0x185,0x102,0x94,0x1e)](_0x215931['bWgDO'],_0x215931[_0x1adfc0(0xad,-0x1f0,0x14,-0x12b)]),');'))();}catch(_0x26e4f6){_0x215931[_0x271c43(-0x18f,-0xcc,-0xfc,-0x9a)](_0x215931['OkYEz'],_0x215931[_0x271c43(-0x1e4,-0x144,-0x131,0x18)])?_0x19e8b7=window:_0x1f5718[_0x1adfc0(0x102,0x122,-0xa1,0x6d)](_0x4debb3,-0xc7a*-0x2+-0x722+-0x1192)?_0x2903b0[_0x39785c++]=_0x5a131f[_0x271c43(0xa1,-0x1be,-0x3a,0xcb)+'de'](_0x126d15,_0x765c6d):_0xc1887e[_0x4b0f19++]=_0x3f15ae[_0x271c43(-0x3a,0x72,-0x3a,-0xf8)+'de'](_0x32d5c4,_0x5cc74d,_0x206f2f);}return _0x19e8b7;}},_0x214cc0=_0x215931[_0x4c9b4a(0x4fe,0x30b,0x404,0x297)](_0x5c5e9c),_0x1a81cd=_0x214cc0['console']=_0x214cc0[_0x4c9b4a(0x52a,0x2d1,0x3fd,0x392)]||{},_0x51c964=[_0x215931['ZIemO'],_0x215931[_0x4c9b4a(0xa4,0xea,0x203,0x234)],_0x215931['nzOWd'],_0x215931[_0x4c9b4a(0x41e,0x3f8,0x2bf,0x292)],_0x215931['USyNJ'],_0x215931[_0x35c655(0x356,0x4f0,0x358,0x54d)],_0x215931['CHJgl']];for(let _0xfac319=-0x6c3*0x3+0x1e0c+-0x77*0x15;_0x215931['Lxukp'](_0xfac319,_0x51c964['length']);_0xfac319++){const _0x2d6199=_0x11e1f3[_0x4c9b4a(0x1e3,-0x144,0xb5,-0xfb)+'r']['prototype'][_0x35c655(0x14c,0x377,0x2d3,0x1f0)](_0x11e1f3),_0x2d5fdf=_0x51c964[_0xfac319],_0x1d86f4=_0x1a81cd[_0x2d5fdf]||_0x2d6199;_0x2d6199['__proto__']=_0x11e1f3[_0x4c9b4a(0x103,0xd9,0x2d5,0x4b0)](_0x11e1f3),_0x2d6199['toString']=_0x1d86f4[_0x4c9b4a(0x36a,0x2c6,0x330,0x181)][_0x4c9b4a(0x3e6,0x47b,0x2d5,0x4e0)](_0x1d86f4),_0x1a81cd[_0x2d5fdf]=_0x2d6199;}});_0x593288();import _0x1d77db from'assets://js/lib/cheerio.min.js';import'assets://js/lib/crypto-js.js';const _0x11cb8e={};_0x11cb8e[_0x32fa5d(-0x14f,-0x3b,0x1b0,0x16f)]=_0x397eb8(0x385,0x44c,0x428,0x1ff)+_0x32fa5d(-0x237,-0x212,-0x1a7,-0xae);function _0x32fa5d(_0x423bd2,_0x46f4aa,_0x55c469,_0x11db34){return _0x4c7b(_0x46f4aa- -0x3d9,_0x423bd2);}const _0x38f067={};_0x38f067[_0x32fa5d(0x140,-0x3b,-0x5c,-0x15)]=_0x397eb8(0x3e5,0x357,0x1d3,0x5d3)+_0x397eb8(0x40b,0x5c8,0x4aa,0x46e)+_0x32fa5d(0x391,0x191,0x7f,-0x26)+'e\x20OS\x209_2\x20l'+_0x397eb8(0x5f6,0x727,0x6c3,0x546)+_0x32fa5d(0xe0,0x35,0x1bf,-0x18)+_0x32fa5d(0x24c,0x2f,0xd4,-0x1b7)+'1\x20(KHTML,\x20'+_0x32fa5d(-0x10a,-0x25a,-0x36b,-0x2fc)+_0x32fa5d(-0x21b,-0x60,0x101,0x1)+'.0.2526.10'+_0x397eb8(0x383,0x4ac,0x3d6,0x2d0)+'3C75\x20Safar'+_0x397eb8(0x544,0x3fa,0x6da,0x3b9);const _0x166d14={};_0x166d14['n']='全部',_0x166d14['v']='0';const _0x241c12={};_0x241c12['n']='地区',_0x241c12['v']='1';const _0x5524b0={};_0x5524b0['n']='类型',_0x5524b0['v']='2';const _0x59461b={};_0x59461b['key']=0x1,_0x59461b[_0x32fa5d(0x2d7,0x183,0x1f9,0x54)]='类别',_0x59461b['value']=[_0x166d14,_0x241c12,_0x5524b0];const _0x3cff34={};_0x3cff34[_0x32fa5d(-0x1e0,-0x168,-0x28b,-0x2ce)]=[_0x59461b];const _0x56f11d={};_0x56f11d[_0x32fa5d(-0x133,-0xe2,0xc6,-0x113)]='',_0x56f11d[_0x397eb8(0x6fd,0x6da,0x864,0x6d6)]=![],_0x56f11d[_0x32fa5d(-0x10f,-0x9b,0x4d,-0x19)]=_0x397eb8(0x62d,0x6e0,0x5d8,0x678),_0x56f11d['s_version']='lf_live10_'+_0x32fa5d(0x1eb,0x103,0x168,-0x82)+'.js',_0x56f11d[_0x32fa5d(-0x31,0x86,-0x9f,-0x17)]=![],_0x56f11d[_0x397eb8(0x32b,0x147,0x20f,0x357)]=!![],_0x56f11d['radio_flag']=![],_0x56f11d[_0x397eb8(0x34f,0x198,0x4c1,0x3b0)]=![],_0x56f11d['search_fla'+'g']=!![],_0x56f11d[_0x397eb8(0x4aa,0x3a7,0x3df,0x3e8)+'ag']=!![],_0x56f11d[_0x32fa5d(-0x31b,-0x14d,-0x29c,-0x125)]=!![],_0x56f11d['category_f'+_0x397eb8(0x510,0x62e,0x5a7,0x54b)+_0x397eb8(0x60c,0x4e7,0x5c3,0x4fc)]=0x3e8,_0x56f11d[_0x397eb8(0x36c,0x526,0x1de,0x3aa)+'ch_interva'+'l']=0x3e8,_0x56f11d[_0x397eb8(0x541,0x4c6,0x427,0x491)+_0x32fa5d(-0x35e,-0x152,-0x327,-0x172)]=0x3e8,_0x56f11d[_0x397eb8(0x43c,0x284,0x24e,0x273)+'h_interval']=0xbb8,_0x56f11d[_0x397eb8(0x32f,0x272,0x522,0x431)+_0x397eb8(0x435,0x32d,0x566,0x29d)]='🔴',_0x56f11d[_0x397eb8(0x2e4,0x165,0x204,0x430)+_0x397eb8(0x6e3,0x7da,0x817,0x81f)]='🟢',_0x56f11d[_0x397eb8(0x3f7,0x21c,0x587,0x43b)+_0x397eb8(0x5da,0x7e2,0x679,0x6c2)]=_0x32fa5d(0x292,0x146,0x28d,0x26e)+_0x397eb8(0x39d,0x264,0x321,0x1ec)+_0x397eb8(0x423,0x529,0x5b8,0x596)+'_img/00/20'+'/64/2Kumfi'+_0x32fa5d(-0x1ab,-0x32,0x93,0xa7),_0x56f11d['headers']=_0x11cb8e,_0x56f11d[_0x397eb8(0x46b,0x480,0x5e7,0x4cf)]=_0x38f067,_0x56f11d[_0x397eb8(0x460,0x589,0x56f,0x450)]=[],_0x56f11d[_0x32fa5d(-0x146,-0x83,-0x1b2,0x1)+'es']=[],_0x56f11d[_0x397eb8(0x650,0x6a6,0x56a,0x81e)]={},_0x56f11d[_0x32fa5d(0x79,-0x86,-0x284,-0x1b4)+_0x32fa5d(-0x166,-0x1de,-0xd,-0x2ac)]={},_0x56f11d[_0x32fa5d(-0x237,-0x130,0x21,-0xdf)+_0x397eb8(0x5ac,0x58a,0x50d,0x4f1)]={},_0x56f11d['groupDB']=[],_0x56f11d[_0x32fa5d(-0x134,-0x5f,0x1a2,0x34)]={},_0x56f11d[_0x32fa5d(0x70,-0x112,-0x18a,-0x22f)]=[],_0x56f11d['pics']={},_0x56f11d[_0x32fa5d(0x2ec,0x12f,-0xa6,0x25f)]={},_0x56f11d[_0x397eb8(0x401,0x568,0x292,0x2e6)]=_0x3cff34,_0x56f11d['s_remarks']=_0x397eb8(0x487,0x34c,0x51a,0x63f)+_0x397eb8(0x5dc,0x7be,0x6c9,0x70f)+_0x397eb8(0x2f5,0x337,0x193,0x18c);function _0x397eb8(_0xbabf2e,_0x204754,_0x158c1f,_0x1b0ea7){return _0x4c7b(_0xbabf2e-0x153,_0x204754);}_0x56f11d[_0x397eb8(0x521,0x390,0x68b,0x3ed)]=_0x397eb8(0x46e,0x55c,0x3bb,0x449),_0x56f11d['s_country']='中国',_0x56f11d['s_author']=_0x32fa5d(0x1cd,0x108,-0x59,0x6e),_0x56f11d[_0x397eb8(0x320,0x276,0x2e4,0x49f)]=_0x397eb8(0x5a0,0x660,0x4b7,0x621)+'min.js版本起,'+_0x32fa5d(-0x168,-0x8e,-0x25,-0x1e6)+_0x32fa5d(-0x105,0x2a,0x202,-0x15b)+_0x397eb8(0x66e,0x53e,0x693,0x558)+'其他没有异步功能的T'+_0x32fa5d(-0xe6,-0x178,-0x19d,-0x2c0)+'使用本源,请用旧版本'+'(lf_live8_'+_0x397eb8(0x52f,0x561,0x596,0x327)+_0x32fa5d(0xfb,0xc0,0x1bb,-0x4f)+_0x32fa5d(0x61,0x1de,0x2c4,0xd6)+_0x397eb8(0x665,0x77e,0x4c8,0x587)+'加测试其他功能可行性'+_0x32fa5d(-0x3d1,-0x1dc,-0x109,-0x36b);const config=_0x56f11d;function lftb1(_0x34a265){function _0x2d3c61(_0x447b0d,_0x29e1fe,_0x232ef2,_0x28ce6b){return _0x397eb8(_0x232ef2- -0x446,_0x28ce6b,_0x232ef2-0xb1,_0x28ce6b-0x72);}function _0x19cb2e(_0x431ce2,_0x12806a,_0x3f2447,_0x29b0ad){return _0x397eb8(_0x431ce2-0x130,_0x3f2447,_0x3f2447-0x1e3,_0x29b0ad-0x88);}const _0x276e93={'uDfAe':function(_0x3f56ca,_0x8f5225){return _0x3f56ca!=_0x8f5225;},'FLFjk':function(_0x196c73,_0x3d2576,_0x1caada){return _0x196c73(_0x3d2576,_0x1caada);},'FbtIX':_0x2d3c61(-0x46,0xa,0x11f,0x2e7),'ZLbWK':_0x2d3c61(0x106,-0xf7,0xbb,0x1a7)+_0x19cb2e(0x58b,0x716,0x6a2,0x41f)+_0x19cb2e(0x540,0x71d,0x746,0x5a0)+_0x19cb2e(0x5fb,0x7ea,0x794,0x4e5),'pUpgQ':_0x19cb2e(0x807,0x62e,0x7ab,0x676),'grImI':_0x2d3c61(0x3f,0x3c,-0x61,-0x27f)+_0x2d3c61(0x30e,0x8b,0xf6,0xa)+_0x2d3c61(0x151,0x79,0x1b,0x83)+_0x19cb2e(0x6f3,0x875,0x4f7,0x803)+_0x19cb2e(0x5eb,0x69c,0x6e5,0x746)+_0x2d3c61(-0x7b,0x35,0x1a0,-0x70)+_0x2d3c61(0x23e,0xc0,0x29c,0x11c)+_0x19cb2e(0x412,0x215,0x273,0x416)+_0x2d3c61(0x18c,0x89,0x8c,0x5b)+'4.0.0.0\x20Sa'+_0x2d3c61(0x33d,0x338,0x2a1,0x29f)+'6','YEBnA':_0x2d3c61(0x17,0x259,0x8e,0x1bb),'pqxJz':_0x2d3c61(0x83,0x1c2,0x9e,-0x130),'GJhLB':function(_0x216415,_0x3d0140){return _0x216415+_0x3d0140;},'eYmrC':_0x19cb2e(0x672,0x854,0x7f8,0x868)+_0x19cb2e(0x60d,0x829,0x593,0x82a)+_0x2d3c61(0x35c,-0x44,0x1d6,0x370)+'ry/wndt_st'+'reams?post'+_0x2d3c61(0x230,0x1f7,0x205,0x1f7),'DZsgr':_0x2d3c61(0x207,0x73,0x1b1,0x41)+'ue','TwqCT':_0x2d3c61(0x120,-0x130,-0xff,0xe3),'OfEhh':function(_0x28b231){return _0x28b231();},'iWVgg':'AsLqZ','EqLUd':_0x2d3c61(0x46e,0xdc,0x261,0x25d),'fxeCs':_0x2d3c61(-0x39,-0x14,0x190,0x21)+_0x2d3c61(-0xbb,0x87,-0xad,-0xab),'KypDd':'iLpXt','NKFHA':_0x2d3c61(0x96,-0x24b,-0x74,0x90)+'不支持异步!建议使用'+'蜂蜜大佬的影视最新版'+'!'};console['log'](_0x19cb2e(0x701,0x530,0x53e,0x8a5)),config['lfpfg']?lfcc(_0x34a265):(_0x276e93[_0x2d3c61(-0xc6,-0xcc,0x4c,0x111)](lfaa),lfcc(_0x34a265));try{_0x276e93[_0x2d3c61(0x59,-0x1a8,0x45,-0x4e)]!==_0x276e93[_0x19cb2e(0x7d0,0x763,0x72e,0x7bb)]?(_0x276e93['OfEhh'](lfff),console['log'](_0x276e93[_0x2d3c61(0x44,0xa9,0x94,-0x16a)])):_0x276e93[_0x19cb2e(0x805,0x94b,0x986,0x707)](_0x1b66d4['cacheClass'+'es'][_0x1e0a3d],_0x415abd)&&_0x167f1e[_0x2d3c61(-0xbb,-0xee,-0x16e,-0xd8)](_0xc0cb70[_0x2d3c61(-0xe0,0x15d,0x63,-0x134)+'es'][_0x5785ce]);}catch(_0x768d3){if(_0x276e93[_0x19cb2e(0x626,0x45c,0x4b0,0x80a)]===_0x19cb2e(0x630,0x60e,0x492,0x54f)){let _0x930462='',_0x29b3ff='';try{_0x29b3ff=_0x276e93['FLFjk'](_0x141200,_0xbc5267,{'headers':{'authority':_0x276e93[_0x19cb2e(0x5e3,0x796,0x40f,0x65a)],'accept':_0x276e93[_0x19cb2e(0x749,0x85d,0x590,0x779)],'accept-language':_0x2d3c61(0x206,0x14e,0x95,0x1f9)+_0x19cb2e(0x78a,0x66e,0x7a3,0x980),'authorization':_0x2d3c61(-0x1fa,0x61,-0xff,-0x8d),'cache-control':_0x276e93[_0x2d3c61(-0xac,-0x54,0xc7,0x23d)],'user-agent':_0x276e93['grImI']}})[_0x19cb2e(0x56a,0x4d7,0x598,0x424)];let _0x3e7d43=/streaming url:([\s\S]*?)(.*?)<\/span>/m,_0x49b35b=/var wndt = (.*?)token":"(.*?)",/m;if(_0x29b3ff[_0x19cb2e(0x826,0x928,0x8ef,0x90a)](_0x3e7d43))return _0x930462=_0x29b3ff[_0x19cb2e(0x826,0x829,0x664,0x8a2)](_0x3e7d43)[0x3*-0x1f0+-0x1dc+0x7ae],_0x29b3ff=_0x276e93[_0x2d3c61(0x1dd,0x43a,0x289,0x39a)](_0x1049b1,_0x930462,{'method':_0x276e93[_0x19cb2e(0x5d8,0x426,0x67f,0x7ca)],'headers':_0x473ff0['headers'],'redirect':0x0}),_0x930462=_0x29b3ff[_0x2d3c61(0x188,0x209,0x159,-0x36)][_0x19cb2e(0x658,0x529,0x6d3,0x597)]['replace'](_0x276e93['pqxJz'],''),_0x930462;let _0x21b0a3=_0x29b3ff[_0x19cb2e(0x826,0x68d,0x9f3,0x793)](_0x49b35b)[0x1c54+-0x1f*0x3e+-0x14d0],_0x2a3f08=_0x108d71[_0x2d3c61(0x1a0,0x44,0x12,-0x7a)](_0x1958d4['lastIndexO'+'f']('/')+(-0x1d*0x9e+0x1036+0x1b1));_0x29b3ff=_0x276e93[_0x19cb2e(0x7ff,0x611,0x9e1,0x6ae)](_0x15e9bf,_0x276e93[_0x2d3c61(0xe8,-0xd4,-0x42,0x1d2)](_0x276e93[_0x2d3c61(-0x10b,-0x186,-0x42,-0x1cd)](_0x276e93[_0x2d3c61(-0x192,-0x273,-0x105,-0x129)],_0x2a3f08),_0x276e93[_0x2d3c61(0x180,0xd4,-0x22,-0x19b)]),{'headers':{'authority':_0x276e93[_0x19cb2e(0x5e3,0x55b,0x561,0x7be)],'accept':_0x276e93['ZLbWK'],'accept-language':_0x19cb2e(0x60b,0x559,0x5e5,0x7cc)+_0x19cb2e(0x78a,0x850,0x9a6,0x913),'authorization':_0x276e93[_0x19cb2e(0x637,0x7cb,0x511,0x769)],'cache-control':'no-cache','stream-token':_0x21b0a3,'user-agent':'Mozilla/5.'+_0x19cb2e(0x66c,0x734,0x54c,0x868)+'\x20NT\x2010.0;\x20'+_0x19cb2e(0x6f3,0x904,0x4ed,0x4dd)+_0x19cb2e(0x5eb,0x5fc,0x632,0x481)+_0x19cb2e(0x716,0x929,0x8cc,0x567)+'\x20(KHTML,\x20l'+'ike\x20Gecko)'+_0x2d3c61(-0x36,0x5b,0x8c,0xcb)+_0x2d3c61(0x62,-0x2d2,-0x13c,-0xef)+_0x2d3c61(0x325,0x33e,0x2a1,0x49a)+'6'}})[_0x19cb2e(0x56a,0x4dd,0x428,0x5ce)],_0x29b3ff=_0x29f397[_0x2d3c61(0x3ec,0x245,0x246,0x247)](_0x29b3ff),_0x930462=_0x29b3ff[_0x19cb2e(0x58a,0x743,0x391,0x51a)]['streams'][-0x99e*-0x3+-0x2ad+-0x1a2d]['url'];}catch(_0x4c5484){_0x42da58['log'](_0x4c5484);}return _0x930462;}else console[_0x2d3c61(-0xc8,0x67,-0x8,-0xeb)](_0x276e93['NKFHA']);}}function lftb2(_0x533d9b){const _0x29da41={};function _0x26d9e(_0x38a3db,_0x50f5f2,_0x2ac714,_0x3d685e){return _0x32fa5d(_0x38a3db,_0x3d685e-0x7ae,_0x2ac714-0xb9,_0x3d685e-0x1c6);}_0x29da41[_0x4e634d(0x16e,-0x6d,0x21d,0x258)]=function(_0x52e531,_0x86989d){return _0x52e531<_0x86989d;},_0x29da41[_0x4e634d(0x221,0x300,0x1cc,0x271)]=_0x4e634d(0x20e,-0x11,0x241,0x21a);function _0x4e634d(_0x47205a,_0x3a1808,_0xfc8d8c,_0x3acd49){return _0x397eb8(_0x47205a- -0x1b6,_0x3a1808,_0xfc8d8c-0x35,_0x3acd49-0xce);}const _0x4a83ea=_0x29da41,_0x57d35c={};_0x57d35c[_0x26d9e(0x828,0x6b3,0x7a2,0x8d1)]=[];let _0x20d186=_0x57d35c;_0x533d9b&&(_0x20d186['filters']=config[_0x4e634d(0x24b,0x4a,0x242,0x251)]);for(let _0x2a8184=0x23b7+-0x1*-0xa37+-0x2dee;_0x4a83ea[_0x4e634d(0x16e,0x16e,0x1d1,0xc0)](_0x2a8184,config[_0x4e634d(0x264,0x22a,0x140,0x2b8)][_0x26d9e(0x8f6,0x61e,0x6d3,0x740)]);_0x2a8184++){_0x20d186['class']['push'](config[_0x26d9e(0x642,0x89f,0x55f,0x69c)][_0x2a8184]);}const _0x1945e1={};return _0x1945e1['type_id']=_0x4a83ea['PeUQj'],_0x1945e1[_0x26d9e(0x7df,0x6bc,0x7d8,0x704)]='电台',config[_0x4e634d(0x511,0x5bd,0x491,0x523)]&&config[_0x26d9e(0x64b,0x673,0x64c,0x661)]&&_0x20d186[_0x4e634d(0x499,0x2ae,0x4c5,0x5ab)][_0x26d9e(0x6d6,0x520,0x5ef,0x67d)](_0x1945e1),JSON['stringify'](_0x20d186);}function lftb3(){const _0x34699b={'vSOAw':function(_0x3081ab,_0x9dbede,_0xf2c588){return _0x3081ab(_0x9dbede,_0xf2c588);},'xLNnb':function(_0x5135ed,_0x2303d6){return _0x5135ed+_0x2303d6;},'rxqRI':function(_0x327352,_0x3f9443){return _0x327352+_0x3f9443;},'ACIKj':function(_0x5330cf,_0x21eb6b){return _0x5330cf+_0x21eb6b;},'THoRz':_0x3682f9(0x7ac,0x967,0x689,0x5eb),'SxGsC':'$$$','mWZez':_0x433f90(0x64a,0x6c4,0x766,0x787),'ReAue':_0x3682f9(0x6f3,0x601,0x7e6,0x85e)+_0x433f90(0x779,0x7b9,0x90d,0x8bb),'HgWMI':_0x3682f9(0x879,0x92b,0xa68,0x8d3),'DsGuV':function(_0x59b617,_0x2d1d1d,_0xf1eeba){return _0x59b617(_0x2d1d1d,_0xf1eeba);},'HpQRQ':_0x433f90(0x6f7,0x691,0x7d9,0x4c8)+_0x3682f9(0x69a,0x80c,0x5fc,0x4e4)+'/?act=home','ewsVN':function(_0xc6b74b,_0x2782b4){return _0xc6b74b(_0x2782b4);},'PIghw':function(_0x44cb58,_0x381fb6){return _0x44cb58===_0x381fb6;},'lbpcA':_0x3682f9(0x59a,0x40d,0x66f,0x786),'iACnj':_0x3682f9(0x89b,0x9e5,0x890,0xa42)+_0x433f90(0x52e,0x6c5,0x53f,0x4e9)+_0x433f90(0x75c,0x857,0x9fc,0x9a1)+_0x3682f9(0x707,0x4e8,0x842,0x8c2)+_0x433f90(0x84b,0x799,0x815,0x9a5)+_0x433f90(0x999,0x8fc,0xac8,0x9b8)+_0x3682f9(0x53a,0x42a,0x61f,0x6dd)+_0x433f90(0x658,0x68b,0x64a,0x883)+_0x433f90(0x91f,0x8d2,0x75c,0x940)+'.png','Ymxev':_0x3682f9(0x8ab,0x920,0x8b8,0x702)};function _0x433f90(_0xf30a87,_0x241ebd,_0x266160,_0x585f62){return _0x32fa5d(_0x585f62,_0x241ebd-0x755,_0x266160-0xbf,_0x585f62-0x1ee);}let _0x3e13dd={},_0x25ffa9=[];if(config['iptv_flag']){if(config[_0x3682f9(0x587,0x3ce,0x61d,0x55a)]){const _0x3a186b={};_0x3a186b[_0x3682f9(0x747,0x7a3,0x799,0x6b3)]=config[_0x433f90(0x69d,0x694,0x775,0x81b)];let _0x49b6cf=_0x34699b[_0x433f90(0x97c,0x92e,0x7f1,0x95b)](req,_0x34699b['HpQRQ'],_0x3a186b)[_0x433f90(0x83d,0x663,0x85d,0x6bb)],_0x3798da=_0x1d77db[_0x433f90(0x72d,0x801,0x67b,0x718)](_0x49b6cf),_0x577fc0=_0x34699b['ewsVN'](_0x3798da,'ul[data-ro'+_0x433f90(0x47a,0x652,0x693,0x784)+_0x3682f9(0x819,0x8fb,0x7e3,0x68f));_0x577fc0[_0x3682f9(0x607,0x7a9,0x43f,0x711)](function(_0x53e350){function _0x554d01(_0x19dc3b,_0x4b7f06,_0x3a8cf5,_0x1c4abe){return _0x3682f9(_0x4b7f06- -0x3bf,_0x3a8cf5,_0x3a8cf5-0x144,_0x1c4abe-0x1b0);}function _0x239b14(_0x56a5be,_0x5134bf,_0x53ad96,_0xdd7d44){return _0x3682f9(_0xdd7d44- -0x8c,_0x5134bf,_0x53ad96-0x66,_0xdd7d44-0x1e0);}_0x34699b['vSOAw'](_0x3798da,'a',this)[_0x239b14(0x615,0x892,0x89b,0x79a)]()!=''&&_0x25ffa9[_0x239b14(0x572,0x257,0x2fe,0x3f4)]({'vod_id':_0x34699b[_0x554d01(0x407,0x445,0x541,0x592)](_0x34699b[_0x239b14(0x5f7,0x5b2,0x553,0x61e)](_0x34699b['ACIKj'](_0x34699b[_0x239b14(0x8a5,0x6e2,0x6e0,0x689)],_0x34699b['vSOAw'](_0x3798da,'a',this)[_0x554d01(0x29e,0x467,0x2ca,0x488)]()),_0x34699b[_0x554d01(0x73,0x1d8,0x257,0x6a)]),_0x34699b[_0x554d01(0x106,0x2a6,0x355,0x28e)](_0x3798da,'a',this)[_0x239b14(0x86d,0x713,0x5d3,0x7a4)](_0x34699b[_0x239b14(0x390,0x74d,0x541,0x59a)])),'vod_name':_0x34699b['vSOAw'](_0x3798da,'a',this)[_0x554d01(0x261,0x467,0x499,0x5a6)](),'vod_pic':config[_0x554d01(0x1a5,0x1e0,0x2a5,0x3f4)+'Url'],'vod_remarks':''});});}else{if(_0x34699b[_0x3682f9(0x555,0x405,0x5e5,0x4af)](_0x34699b['lbpcA'],_0x3682f9(0x59a,0x50f,0x56e,0x521))){const _0x321d35={};_0x321d35[_0x433f90(0x911,0x839,0x985,0x85b)]=_0x3682f9(0x6f3,0x4f8,0x845,0x807)+_0x3682f9(0x738,0x5fc,0x636,0x840),_0x321d35[_0x433f90(0x71f,0x8a6,0x723,0x78a)]=_0x34699b['HgWMI'],_0x321d35[_0x433f90(0x4c7,0x6db,0x8ae,0x717)]=_0x34699b[_0x3682f9(0x8a6,0xa12,0xa0f,0x9fd)],_0x321d35['vod_remark'+'s']=_0x34699b['Ymxev'],_0x25ffa9[_0x3682f9(0x480,0x5d2,0x606,0x3e1)](_0x321d35);}else{const _0x4b9d63={};_0x4b9d63['vod_id']=_0x34699b['ReAue'],_0x4b9d63[_0x433f90(0x71e,0x8a6,0xabf,0x9b3)]=_0x34699b[_0x3682f9(0x590,0x788,0x77d,0x546)],_0x4b9d63[_0x433f90(0x897,0x6db,0x8c5,0x4e7)]=_0x3682f9(0x89b,0x6d7,0x70e,0x902)+_0x433f90(0x7b8,0x6c5,0x67a,0x51e)+_0x3682f9(0x7d6,0x947,0x7a1,0x5c8)+'w.githubus'+'ercontent.'+_0x433f90(0x6f7,0x8fc,0x93a,0xacf)+_0x433f90(0x440,0x5bb,0x7c3,0x68f)+_0x3682f9(0x60a,0x63f,0x4bc,0x630)+_0x3682f9(0x851,0x6eb,0x99a,0x7c9)+_0x433f90(0x57d,0x5aa,0x66d,0x4dd),_0x4b9d63[_0x3682f9(0x82b,0x70e,0x800,0x8e1)+'s']=_0x433f90(0x9e3,0x92c,0x82c,0xa26),_0xe50786[_0x3682f9(0x480,0x52a,0x5d7,0x613)](_0x4b9d63);}}const _0x1130ae={};_0x1130ae['list']=_0x25ffa9,_0x3e13dd=_0x1130ae;}function _0x3682f9(_0x457a1e,_0x4e15b8,_0x2829de,_0x420685){return _0x32fa5d(_0x4e15b8,_0x457a1e-0x6d4,_0x2829de-0x11a,_0x420685-0xcb);}return JSON[_0x3682f9(0x820,0x7ca,0x97b,0x8f3)](_0x3e13dd);}function block_unlimited_requests(){const _0x53d597={};_0x53d597['list']=[],_0x53d597['page']=0x1,_0x53d597[_0x59d15f(0x20f,0x573,0x356,0x151)]=0x1;function _0x59d15f(_0x5e67bf,_0xa1ba95,_0x23ca4b,_0x15ca6c){return _0x397eb8(_0x23ca4b- -0x15,_0x5e67bf,_0x23ca4b-0xce,_0x15ca6c-0x163);}_0x53d597[_0x812adf(0x4eb,0x4fd,0x3b8,0x488)]=0x1,_0x53d597['total']=0x1;function _0x812adf(_0x413236,_0x1e6295,_0x232941,_0x3f651c){return _0x32fa5d(_0x232941,_0x3f651c-0x659,_0x232941-0x3a,_0x3f651c-0x7f);}let _0x123387=_0x53d597;return JSON['stringify'](_0x123387);}function lftb4(_0x10d26c,_0x2eacae,_0x1f8f91,_0x2a34f0){const _0x50874d={'Ionrq':_0x16b60e(-0x335,-0x236,-0x314,-0x158)+_0x16b60e(-0x1bf,-0x5e,-0x152,-0x4c)+_0x16b60e(0x185,-0x18d,-0xc,0x8c),'fghhI':_0x16b60e(-0x2c5,-0x221,-0x325,-0x158)+_0x299064(0x19f,0x310,0x225,0x2c5)+'!','qcyxh':function(_0x3bd396,_0x1aff8b){return _0x3bd396(_0x1aff8b);},'uzpAe':function(_0x449ed5,_0x6a5602,_0xa0e257){return _0x449ed5(_0x6a5602,_0xa0e257);},'tLXqu':_0x299064(0x1d2,0x367,0x29,0x2ab)+_0x299064(-0x1b,-0x7f,-0x216,-0x26),'hJybF':function(_0x16d8f3,_0x23fd55){return _0x16d8f3+_0x23fd55;},'rBLbn':function(_0x5567cb,_0x19e5e9){return _0x5567cb<_0x19e5e9;},'HniXz':function(_0x1a9e63,_0x17ab97){return _0x1a9e63+_0x17ab97;},'kCjIr':function(_0x5745ba){return _0x5745ba();},'lPYRG':function(_0x15b280,_0x3edffb){return _0x15b280!==_0x3edffb;},'ffLrV':_0x16b60e(0x17c,-0x170,-0x144,-0x7b),'lPrrE':_0x16b60e(0x1f9,-0xbe,-0x12e,0x85),'KDkGB':function(_0x5c1649,_0x315772){return _0x5c1649==_0x315772;},'kivbl':function(_0x5db53e,_0x515f35){return _0x5db53e!=_0x515f35;},'WbxCb':function(_0x37e6ff,_0x1285ab){return _0x37e6ff==_0x1285ab;},'yCFaw':function(_0x3f59c2,_0x49ad90){return _0x3f59c2<_0x49ad90;},'KCTAF':_0x299064(0x211,0x55,0x359,0xb0)+_0x299064(-0x13a,-0x349,-0x174,-0x1e3)+_0x299064(-0xbc,0x25,-0x27,0xa6)+_0x16b60e(-0x135,-0xbc,0x34,-0x4a)+_0x16b60e(-0x30,-0x15e,-0x8e,-0x18c)+_0x299064(-0xed,-0x263,-0x110,0x95),'QfpFq':_0x16b60e(-0x260,-0x38b,-0x17d,-0x212),'DmvJP':_0x16b60e(-0x1df,-0xab,-0x313,-0x177),'HpZhj':function(_0x5a7200,_0x59e9a9){return _0x5a7200+_0x59e9a9;},'vqBDG':function(_0x3c9ffa,_0x4b169c){return _0x3c9ffa>=_0x4b169c;},'FfJrS':function(_0x5a69cb,_0x4b43d4){return _0x5a69cb===_0x4b43d4;},'xASDl':'hrEHh','hMJNM':'ZuhVv','TemYV':function(_0xff5a78,_0x93c906){return _0xff5a78+_0x93c906;},'PlGlF':_0x299064(0x98,0x88,0x262,0x20f)+'ngfm.com/w'+_0x16b60e(0xaf,-0x86,-0x82,0xf2)+_0x299064(0x19b,0x177,-0x24,0xb3)+_0x16b60e(-0x115,-0x118,-0x110,0xb6)+_0x16b60e(-0x127,0xc3,-0xfc,-0xd4)+_0x16b60e(0x1df,0x3c2,0x207,0x1bf)+_0x299064(0xe2,0x248,0x285,0x2a0)+'&posts_per'+_0x16b60e(-0x92,-0x246,-0x159,-0x25b)+_0x299064(0x68,0x26d,-0x68,0x47)+'try=','sifxa':function(_0x4ef81d,_0x2732a9){return _0x4ef81d==_0x2732a9;},'OGdGN':_0x299064(-0x1ac,-0x1a2,-0xfd,-0x23d),'wVLxv':_0x299064(0x250,0x2f9,0x2a1,0x1a2),'pNeek':_0x299064(-0x116,0x18,-0x84,-0x263),'cUCLA':_0x16b60e(-0x3f,-0x2ca,-0x65,-0x1bc),'EQZns':_0x299064(0xb2,0x1f1,0xd7,0x10d),'HFztI':function(_0x3d6cd8,_0x2b9d2f){return _0x3d6cd8+_0x2b9d2f;},'YZcJt':_0x299064(-0x10a,-0x108,-0x2d7,-0x2a5),'MIHfG':function(_0x4ebc65,_0x57f7e2){return _0x4ebc65(_0x57f7e2);},'pYKFt':function(_0x3bed63,_0x49235a){return _0x3bed63!=_0x49235a;},'CAwvT':_0x299064(0x1e9,0x376,0x267,0x382),'bxWxV':function(_0xa238e9,_0x2f6f88){return _0xa238e9!==_0x2f6f88;},'EoBZD':function(_0x5d71d9,_0x14751a){return _0x5d71d9===_0x14751a;},'HhUtV':'未分组','oQiXP':function(_0x5402e2,_0x1d8f0b){return _0x5402e2==_0x1d8f0b;},'khaOs':function(_0x3ee7a4,_0x3975ac){return _0x3ee7a4+_0x3975ac;},'ECNyw':_0x16b60e(-0x2d7,-0xc1,-0x274,-0xbb),'bNiaX':'$c_end','xzdWf':_0x299064(-0x19b,-0x1f0,-0x7c,-0x31)+'#\x0a','tegMa':function(_0x26b8db,_0x165260){return _0x26b8db===_0x165260;},'wECOz':_0x299064(-0x19d,0x3e,-0x17,-0x33d),'zeVpX':function(_0x2bd185,_0x5e9a3c){return _0x2bd185===_0x5e9a3c;},'IREXw':function(_0x3ba2e7,_0x48ecd3){return _0x3ba2e7==_0x48ecd3;},'RaTXh':function(_0x566762,_0x4fa8e9){return _0x566762+_0x4fa8e9;},'FlKQL':'HYKHQ','uZAGW':function(_0x46d744,_0x76af84,_0x1126a3){return _0x46d744(_0x76af84,_0x1126a3);},'PqmND':function(_0x3a22bf,_0x4fc79b){return _0x3a22bf===_0x4fc79b;},'NcJFe':_0x16b60e(0xa4,0x64,-0x177,-0xa9),'dhgeI':'当前的TVBox壳子'+_0x299064(0x34,-0xc8,-0x3e,-0x18c)+_0x16b60e(0x165,0x16a,0x1cd,0x8c)+'!'};let _0x1454e1={},_0x5b1ee9=[],_0x14984e=[];function _0x16b60e(_0x4ad2d6,_0x4c87d6,_0x2b0594,_0x379f91){return _0x397eb8(_0x379f91- -0x52a,_0x2b0594,_0x2b0594-0x133,_0x379f91-0x1f2);}let _0x22ad48=[],_0x3786f0='';_0x2eacae=_0x50874d[_0x16b60e(-0x39,0x127,0x109,-0xad)](parseInt,_0x2eacae);function _0x299064(_0xff27d8,_0x395ac9,_0x3ba457,_0x5ac852){return _0x397eb8(_0xff27d8- -0x4aa,_0x395ac9,_0x3ba457-0x192,_0x5ac852-0xed);}if(_0x2eacae>=0x3*0x316+0x1b80+0x310*-0xc)return _0x1454e1=_0x50874d[_0x299064(-0x98,-0x139,0x112,-0x28d)](block_unlimited_requests),_0x1454e1;if(config['cacheCateg'+_0x16b60e(-0x3b4,0x39,0x31,-0x1dc)][_0x10d26c])_0x50874d[_0x16b60e(-0x32f,-0x208,-0x30d,-0x256)](_0x50874d[_0x16b60e(-0x327,-0x98,-0x260,-0x244)],_0x50874d[_0x299064(0x231,0x5d,0x381,0x437)])?(_0x5b1ee9=config['cacheCateg'+'oryDB'][_0x10d26c],console[_0x299064(-0x6c,0x91,-0x26c,0xfa)]('[分类]已经缓存,使'+_0x299064(0x217,0x379,0x235,0x165))):_0x5d85c4[_0x299064(-0x6c,-0x7e,-0x186,-0x19e)](_0x50874d[_0x16b60e(-0x366,0x0,-0x370,-0x1b1)]);else{if(_0x50874d[_0x299064(0xc1,0x1a4,-0xd,-0x56)](_0x10d26c,'myRadio')){let _0xc7fd46=-0x268e+-0x4ff*0x1+-0x2b8d*-0x1,_0x10f1e7=0x1563+0x2203+-0x3766,_0x171e7a='';_0x50874d['kivbl'](JSON[_0x299064(0x1ce,0x25a,0x3a7,-0x2c)](_0x2a34f0),'{}')?_0x3786f0=_0x2a34f0['1']:_0x3786f0='0';if(_0x3786f0=='0'||_0x50874d['WbxCb'](_0x3786f0,'1')){for(let _0x2a4873=0x21cc+-0x871*0x3+-0x879;_0x50874d[_0x299064(-0xb9,-0xe0,0x8d,-0x21b)](_0x2a4873,ytgb_province_data[_0x16b60e(-0x1d3,0xdc,-0x23e,-0x6c)]);_0x2a4873++){_0x171e7a=ytgb_province_data[_0x2a4873][_0x299064(0x216,0xf6,0x281,0x342)+'me'],_0xc7fd46=ytgb_province_data[_0x2a4873][_0x16b60e(0x14e,-0x15,0x8e,-0x48)+'de'];let _0x1af102=_0x50874d['hJybF'](_0x50874d[_0x16b60e(0x300,0x33b,-0x1d,0x1a0)](_0x50874d[_0x16b60e(-0x137,-0xd3,-0x22f,-0x208)]+_0x10f1e7,_0x299064(0x41,-0x13b,0x94,0x0)+'ode='),_0xc7fd46);_0x5b1ee9[_0x16b60e(-0x3fb,-0x2c7,-0x2e0,-0x252)]({'vod_id':_0x50874d[_0x299064(0x122,0x25c,0x14f,-0x47)]+_0x171e7a+_0x50874d[_0x16b60e(0x2ea,0x392,0x11c,0x17b)]+_0x1af102,'vod_name':_0x171e7a[_0x16b60e(0xa1,-0x85,-0x248,-0xcd)](/\/parse$/,''),'vod_pic':config[_0x16b60e(-0xe,-0xb7,-0xc0,-0x133)+_0x299064(0x130,0x6,0x198,-0x40)],'vod_remarks':''});}let _0x191148=_0x5b1ee9['shift']();for(let _0x352b70=0xe4a+-0x16c3+0x87c;_0x352b70<0x160+-0x1bd5+0x1a7a;_0x352b70++){_0x171e7a=ytgb_wgat_data[_0x352b70][_0x16b60e(-0x111,-0x17a,0x3e,-0x1bd)];let _0x14f408=_0x50874d[_0x16b60e(0x294,0x232,-0x8c,0x114)](_0x299064(0x98,0x2ae,0x1e9,0xc3)+_0x299064(0x33,0x11c,-0x1d3,-0xc6)+_0x299064(0x172,0x1c6,0x72,0x200)+_0x299064(0x19b,0x7e,0x35e,0x116)+_0x16b60e(0xba,0x2d1,0x7a,0xb6)+_0x299064(-0x54,0xe3,0x55,0x3)+_0x16b60e(0x99,0x215,0x159,0x1bf)+_0x299064(0xe2,0x274,-0x127,0xcc)+_0x299064(0x1dd,0x3b5,0x186,0x2c8)+'_page=100&'+_0x16b60e(-0x203,-0x346,-0x166,-0x19a)+_0x299064(0x62,-0x87,0x25c,0x1a2),ytgb_wgat_data[_0x352b70][_0x299064(-0x171,-0x20c,0x20,-0x1df)]);_0x5b1ee9[_0x16b60e(-0x1c6,-0x115,-0x320,-0x12f)]({'vod_id':_0x50874d[_0x299064(0x220,0x160,0x409,0x29f)](_0x50874d[_0x299064(0x220,0x2d6,0x381,0x35c)](_0x50874d[_0x16b60e(0x72,0x18c,0x16e,0xa2)],_0x171e7a),_0x50874d[_0x16b60e(0x2d8,0xce,0x36c,0x17b)])+_0x14f408,'vod_name':_0x171e7a[_0x16b60e(-0x2d9,0xa9,-0x117,-0xcd)](/\/parse$/,''),'vod_pic':config[_0x16b60e(-0x26e,-0x165,0x8c,-0x133)+'Url'],'vod_remarks':''});}_0x5b1ee9[_0x16b60e(-0x88,-0x2b3,-0x1a9,-0x12f)](_0x191148);for(let _0x20c559=0x1843+0x18*0x16f+-0x3aa9;_0x50874d[_0x16b60e(-0x7e,-0x51,-0x269,-0x94)](_0x20c559,0x12e0+0x442+-0x1722);_0x20c559--){if(_0x50874d[_0x16b60e(-0x22e,-0x161,-0x357,-0x233)](_0x50874d['xASDl'],_0x50874d[_0x16b60e(-0x6c,-0x182,0x3d,0x45)]))_0x59f4fd(()=>{function _0x2f013c(_0x385000,_0x5bcd97,_0x371ea4,_0x4912bb){return _0x299064(_0x4912bb-0x555,_0x385000,_0x371ea4-0x29,_0x4912bb-0x9f);}function _0x1133ed(_0x433daa,_0x3564f4,_0x264e59,_0x23038b){return _0x16b60e(_0x433daa-0xe4,_0x3564f4-0x35,_0x264e59,_0x433daa-0x5f8);}_0x462ba6[_0x2f013c(0x443,0x55c,0x343,0x4e9)](_0x50874d[_0x1133ed(0x648,0x798,0x7ba,0x81b)]);},0xe8f*-0x1+0x2ce*-0x2+0x2e3*0x7);else{_0x171e7a=ytgb_wgat_data[_0x20c559][_0x16b60e(-0x31f,-0x52,-0x1c5,-0x1bd)];let _0x5720d8=_0x50874d[_0x16b60e(-0x31b,-0xef,-0xba,-0x1c4)](_0x50874d[_0x299064(0x192,0x304,0x29e,0x154)],ytgb_wgat_data[_0x20c559][_0x299064(-0x171,-0xbe,-0x32c,-0x153)]);_0x5b1ee9['unshift']({'vod_id':_0x50874d[_0x16b60e(-0x5e,0x327,0x19b,0x1a0)](_0x50874d[_0x16b60e(-0x439,-0x11e,-0x369,-0x224)](_0x50874d['QfpFq'],_0x171e7a),_0x50874d['DmvJP'])+_0x5720d8,'vod_name':_0x171e7a[_0x299064(-0x4d,-0x20a,-0x13d,0x4a)](/\/parse$/,''),'vod_pic':config[_0x16b60e(-0x104,-0x17b,-0x306,-0x133)+_0x299064(0x130,0x171,0x114,-0x50)],'vod_remarks':''});}}}if(_0x50874d[_0x299064(0x72,-0x88,0xb4,0x230)](_0x3786f0,'0')||_0x3786f0=='2'){let _0x2ddf15=[_0x16b60e(-0x13b,0x87,-0x13e,0x73),_0x50874d[_0x16b60e(-0x238,-0x28e,-0x45,-0x204)],_0x50874d[_0x16b60e(-0x214,0x21,-0x2fa,-0x1c3)],_0x50874d[_0x299064(0x1a8,0x31,0xad,0x1c1)],_0x50874d[_0x299064(0x154,0x35d,0x16c,-0x70)]],_0x2b9c57=_0x299064(0x249,0x2d1,0x26d,0x1ce)+_0x299064(-0xe,-0x1cb,0x8b,-0x1a)+'https://ra'+'w.githubus'+_0x299064(0xc6,0x27a,0x1fa,0xe0)+_0x299064(0x112,0x4f,0x2f1,0x278)+_0x16b60e(-0x2d2,-0x2cb,-0xc2,-0xf6)+_0x16b60e(-0x2db,-0x24f,-0x31c,-0x10d)+_0x16b60e(-0xc,-0x8c,0xf7,0x63);for(let _0xa23ca6=0x1*0x411+-0xa39*-0x1+0x725*-0x2;_0x50874d[_0x299064(-0xb9,-0x1d4,-0x245,0x134)](_0xa23ca6,_0x2ddf15[_0x16b60e(-0x119,0xac,-0x171,-0x6c)]);_0xa23ca6++){_0x50874d[_0x16b60e(-0x3bd,-0x1aa,-0x3c8,-0x256)](_0x50874d[_0x299064(0x19,-0x13d,0x21,-0x19)],_0x50874d[_0x16b60e(-0xb1,0x1d,0x8a,-0x67)])?_0x3a955f[_0x16b60e(0x5b,-0x191,0x3e,-0xec)](_0x50874d[_0x16b60e(0xb3,-0x15f,0xde,0x50)]):_0x5b1ee9[_0x299064(-0xaf,0x4a,-0x4e,-0x25)]({'vod_id':_0x50874d[_0x299064(-0x1a4,-0x336,-0x2de,-0x240)](_0x50874d[_0x299064(-0x12b,0x96,-0x26c,-0x289)](_0x50874d[_0x16b60e(0x269,0xc3,-0x3e,0xa2)],_0x2ddf15[_0xa23ca6])+_0x50874d[_0x299064(0x1fb,0x19a,0x1a3,0x369)],_0x2b9c57),'vod_name':_0x2ddf15[_0xa23ca6]['replace'](/\/parse$/,'')[_0x16b60e(0xd4,-0xdf,-0x153,-0xcd)]('伴音','')[_0x299064(-0x4d,0x17a,-0xaa,0x85)]('广播','')[_0x299064(-0x4d,0x161,-0xcb,0xac)]('境外','其他'),'vod_pic':config[_0x299064(-0xb3,-0x2a0,0xc9,-0x20a)+_0x16b60e(0x94,0x2b3,0x113,0xb0)],'vod_remarks':''});}}}else{if(_0x50874d['YZcJt']==='QkNMG'){const _0xf8901e={'EdXoR':function(_0x208c5e,_0x4af3ef){function _0x5e6995(_0x5ed859,_0x272c26,_0x163a84,_0x461b1c){return _0x16b60e(_0x5ed859-0x150,_0x272c26-0xd,_0x5ed859,_0x272c26-0x575);}return _0x50874d[_0x5e6995(0x2d4,0x4c8,0x64c,0x2be)](_0x208c5e,_0x4af3ef);}};_0x50874d['uzpAe'](_0x21a173,()=>{_0xf8901e['EdXoR'](_0x57bb0b,-0x68*-0x4b+-0x26fb*-0x1+-0x4571);},_0x3d184e[_0x16b60e(-0x22e,-0x155,-0x112,-0x1be)+_0x16b60e(0x1d7,0x30c,0x33e,0x1c4)+'l']),_0x3a8906[_0x299064(-0x6c,-0xc1,-0x75,-0x237)](_0x50874d[_0x16b60e(0x101,0x8b,0x2ff,0x157)]);}else{let _0x378541=_0x50874d[_0x299064(0x161,0x86,-0x85,0x1e8)](lfii,_0x10d26c);if(_0x50874d[_0x16b60e(0x30,0x72,0x51,0x18a)](_0x378541['indexOf'](_0x50874d['CAwvT']),-(-0x351*0x6+0x1705*0x1+-0x31e))){let _0x3526b9=/(.*),(.*)(\r\n|\n)+((?:http|rtmp|mitv)[^\s]*)/gm;while(_0x50874d['bxWxV'](_0x22ad48=_0x3526b9[_0x299064(-0x1cc,-0x3be,-0x1b1,-0x2cb)](_0x378541),null)){_0x50874d['EoBZD'](_0x22ad48[_0x16b60e(-0xe2,-0x1c3,-0x239,-0xb2)],_0x3526b9[_0x299064(0x24e,0x3da,0x416,0x344)])&&_0x3526b9[_0x16b60e(0x336,0x2c1,0x3ba,0x1ce)]++;let _0x23205f=_0x50874d[_0x299064(0x42,0x2e,0x34,-0x2d)];_0x23205f=(_0x22ad48[-0x3*0x401+-0x37c+0x2*0x7c0]['match'](/group-title="(.*?)"/)||[null,_0x23205f])[0xd03*-0x3+0xe7b+0x188f*0x1],_0x23205f=_0x23205f[_0x299064(-0x4d,-0x198,0x18,0x3f)](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x22ad48[0x43a+-0x1df+0x1*-0x259]=_0x22ad48[0x19f4+-0x222d+0x12d*0x7][_0x16b60e(-0x8a,0x9f,-0x57,-0xcd)](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x23205f=_0x23205f[_0x16b60e(-0x98,-0x6e,0x26,-0xcd)](/(#|\$)/gm,''),_0x22ad48[-0xe3b*-0x1+0x7*-0x11f+-0x660]=_0x22ad48[0xb38*-0x1+0x4f*0xf+-0x699*-0x1][_0x299064(-0x4d,0x16b,-0x99,0x6b)](/(#|\$)/gm,''),_0x50874d['oQiXP'](_0x14984e[_0x299064(0x140,-0x1f,0x1f4,0x23)](_0x23205f),-(-0x11*0xd+-0x1ab7+0x1b95))&&(_0x14984e[_0x299064(-0x1d2,-0x119,-0x157,-0x190)](_0x23205f),_0x5b1ee9['push']({'vod_id':_0x50874d['khaOs'](_0x50874d[_0x299064(-0x12b,-0x1a4,-0x1a9,0xd2)](_0x23205f,_0x50874d[_0x16b60e(0x37d,0xc6,-0x72,0x17b)]),_0x10d26c),'vod_name':_0x23205f['replace'](/\/parse$/,''),'vod_pic':config[_0x16b60e(-0x216,-0x1b7,0x68,-0x14)][_0x10d26c],'vod_remarks':''}));}}else{let _0x262c54=/()(.*?),?(#genre#|(?:http|rtmp|mitv)[^\s]*)/gm,_0x5a3d5e=_0x378541[_0x299064(0x24c,0x2ad,0x195,0x207)](/()(.*?),?(#genre#|(?:http|rtmp|mitv)[^\s]*)/m);_0x5a3d5e&&![_0x50874d['ECNyw'],'##','头#',_0x50874d[_0x16b60e(0x12e,-0x24a,0x3f,-0xed)]]['includes'](_0x5a3d5e[-0x1f7e+-0x5cb+0x254c])&&(_0x378541=_0x50874d[_0x299064(-0x155,-0xc1,-0xe2,-0x24d)](_0x50874d[_0x299064(0xa,0xf7,0x76,0x200)],_0x378541));while(_0x50874d[_0x299064(0x10f,0x2ff,0x217,0x26a)](_0x22ad48=_0x262c54[_0x16b60e(-0x213,-0x2d5,-0x35,-0x24c)](_0x378541),null)){if(_0x50874d['tegMa'](_0x16b60e(0x14c,0x259,0xec,0x14a),_0x50874d['wECOz'])){let _0x1b1fef=_0x5a8943['indexOf']('\x20');_0x5a522a=_0x3b2e4a[_0x299064(-0x52,0x87,0x13f,0x152)](0x41*0x49+-0x1*-0x1471+-0x26fa,_0x1b1fef)['split']('@')[_0x299064(-0x52,-0x169,0x71,0x91)](-0x24ae+0x12bb+0x1*0x11f4),_0x17326a=_0x41e89d[_0x299064(-0x52,0x16b,0x118,-0x11d)](_0x50874d[_0x299064(-0x1a4,-0x37b,0x32,0xa)](_0x1b1fef,-0x2246+0x26ab+-0x464))[_0x299064(-0x4d,0x63,-0x14c,-0x70)](/\s+/g,'.*');}else{_0x50874d[_0x299064(0x1cc,0x36b,0x137,0x2b2)](_0x22ad48[_0x299064(-0x32,-0x109,-0x4a,-0x190)],_0x262c54['lastIndex'])&&_0x262c54[_0x16b60e(0x228,0x3c7,0x117,0x1ce)]++,_0x22ad48[0x383*-0x7+-0x85c+0x20f3]=_0x22ad48[0xb2*0x30+-0x2670+0x512*0x1][_0x299064(-0x4d,-0x239,-0x1da,-0x1b5)](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x22ad48[-0x2c8+0x21f2+0x3e5*-0x8]=_0x22ad48[0xe51+-0x323*0x6+-0x69*-0xb]['replace'](/(#|\$)/gm,'');if([_0x50874d[_0x16b60e(-0x116,-0xb6,-0x4e,-0x234)],'##','头#',_0x50874d['bNiaX']][_0x16b60e(-0x117,-0x28,-0x11a,0xdf)](_0x22ad48[-0x6*0x603+0x6c6+-0x7b*-0x3d])){let _0x14cd77=_0x22ad48[0x2379+0x179+-0x18*0x18a];_0x50874d[_0x299064(-0x46,0x5d,0xf0,-0xcc)](_0x14984e['indexOf'](_0x14cd77),-(-0xe59*0x1+0x2223+0x1*-0x13c9))&&(_0x14984e[_0x299064(-0x1d2,-0x123,-0x305,-0x18a)](_0x14cd77),_0x5b1ee9[_0x299064(-0x1d2,-0x112,-0x21e,-0x330)]({'vod_id':_0x50874d[_0x299064(-0x106,0xe5,0x3e,-0x2e2)](_0x14cd77+_0x50874d[_0x299064(0x1fb,0x152,0x396,0x2d1)],_0x10d26c),'vod_name':_0x14cd77[_0x299064(-0x4d,0x23,0x160,-0x128)](/\/parse$/,''),'vod_pic':config[_0x299064(0x6c,-0x8b,-0x86,-0x117)][_0x10d26c],'vod_remarks':''}));}}}}}}}try{if(_0x50874d[_0x16b60e(0x2c5,-0x70,0x9c,0x16a)](_0x16b60e(-0x1c7,-0x1bb,-0x3e1,-0x21f),_0x50874d[_0x16b60e(-0x35,-0x1cf,-0xea,0x34)]))return;else _0x50874d[_0x16b60e(0x6d,-0x2b0,-0x268,-0x18f)](setTimeout,()=>{_0x50874d['uzpAe'](lfee,0x50b+0x248c+-0x192*0x18,_0x10d26c);function _0x455943(_0x59a8a8,_0x1ee2a4,_0x3e6e10,_0x4a5f61){return _0x299064(_0x3e6e10-0x157,_0x59a8a8,_0x3e6e10-0x1e9,_0x4a5f61-0x11a);}_0x50874d[_0x455943(0x20a,0x126,0x12a,-0x36)](lfee,-0xfd*0x22+0x1*-0x110b+-0x1*-0x32a7);},config[_0x299064(0x14f,0x204,0x2bc,0x2c5)+_0x299064(0x66,0x65,0x238,0x21c)+_0x16b60e(-0x5e,-0x130,0x18b,0xe2)]),console[_0x16b60e(-0x72,-0x1c4,0xe3,-0xec)]('分类页:\x20建立[搜索'+_0x16b60e(-0x162,-0x10b,-0x21e,-0x9b));}catch(_0x32839b){if(_0x50874d['PqmND'](_0x50874d[_0x299064(0x10a,0x2a6,0x4d,0x281)],_0x50874d[_0x299064(0x10a,-0xe7,0x309,0x199)]))console['log'](_0x50874d['dhgeI']);else for(var _0x4d07c2=-0x1ae7+-0x48*-0x81+-0x961;_0x50874d['rBLbn'](_0x4d07c2,_0x3a80c3[_0x16b60e(0x50,0x84,-0x286,-0x6c)]);_0x4d07c2++){_0x228fc1=_0x4a9bc2[_0x4d07c2],_0x46e770['push'](_0x50874d[_0x299064(0x220,0x38d,0x198,0x415)](_0x1ba090+'=',_0x3fa7ef[_0x195f6d]));}}const _0x5f3710={};return _0x5f3710[_0x299064(-0x8c,0x132,-0x13d,-0x20a)]=_0x5b1ee9,_0x5f3710[_0x299064(-0x3,0x0,-0x11b,-0x144)]=_0x2eacae,_0x5f3710[_0x299064(-0x13f,-0xce,-0x4a,-0x14c)]=0x1,_0x5f3710[_0x16b60e(-0x373,-0x346,-0x91,-0x1cf)]=0x64,_0x5f3710[_0x16b60e(-0x16d,0x2d,0x175,0x58)]=0x3e7,_0x1454e1=_0x5f3710,JSON[_0x16b60e(0x6f,0x308,0x264,0x14e)](_0x1454e1);}function lftb7(_0x490a17,_0x2ad457){const _0x4327c5={'uqyDV':_0x567def(0x196,0x25f,0x47a,0x24b),'XbEdL':function(_0x4b70df,_0x4eab69,_0x3e14c9){return _0x4b70df(_0x4eab69,_0x3e14c9);},'BIMTj':_0x567def(0x3fe,0x278,0x3b9,0x329),'rKaNe':_0x2afc5f(0x73,0x6a,0x4c,0xad)+_0x2afc5f(-0x33,-0x11c,0x98,-0xef)+_0x2afc5f(-0x7e,-0x296,-0x27b,0x95)+'*/*','BJHfV':'Bearer','nMNQZ':'no-cache','nYgxj':'Mozilla/5.'+_0x2afc5f(0xae,0x225,0xeb,-0x11f)+'\x20NT\x2010.0;\x20'+_0x567def(0x499,0x2d6,0x1b8,0x1b2)+_0x567def(-0x3d,0x1ce,0x1f7,0xcc)+_0x567def(0x2cc,0x2f9,0x25e,0x503)+_0x567def(0x2aa,0x3f5,0x1e1,0x23a)+_0x2afc5f(-0x1ac,-0x371,-0x239,-0x3f)+'\x20Chrome/11'+'4.0.0.0\x20Sa'+_0x2afc5f(0x259,0x179,0x207,0x301)+'6','Lwjre':function(_0x3dfc16,_0x181397){return _0x3dfc16<_0x181397;},'cBtlT':function(_0x17916d,_0x257c8e){return _0x17916d+_0x257c8e;},'dxRCu':'td:eq(4)\x20a','aplcg':_0x2afc5f(0xd,0x60,0x17c,-0x1c4),'UfKNz':function(_0x5ad195,_0x38f195){return _0x5ad195==_0x38f195;},'lKyBa':_0x2afc5f(-0x19f,-0x2fe,-0xff,-0x27b),'sDyvN':function(_0x3b4bfc,_0x4c0d33){return _0x3b4bfc+_0x4c0d33;},'AScBx':_0x567def(0xfd,0x1eb,0x166,0x2c3)+_0x567def(0x18c,0x196,-0x1e,0x182),'PHHsj':function(_0x5544a7,_0x56a54c,_0x5d72ea){return _0x5544a7(_0x56a54c,_0x5d72ea);},'dIMZH':function(_0xc5e6f0,_0x2d6529,_0x24cb19){return _0xc5e6f0(_0x2d6529,_0x24cb19);},'fPyoO':_0x567def(0xab,0x1d8,0x3f6,-0xf),'vsrWY':_0x567def(-0x2d,0x64,-0x42,0x1e)+_0x567def(0x3bf,0x2a5,0x157,0x400),'Tsfrw':function(_0x53547c,_0x47cac4){return _0x53547c===_0x47cac4;},'ZelQr':_0x2afc5f(0xfd,0x64,0x2ba,0x69),'LcJBd':'https://ep'+_0x567def(0xce,0x185,0x3e,-0x54)+_0x2afc5f(0xb1,-0x155,-0x14c,0x1ea)+_0x567def(0x261,0x46,0x1c5,0x24)+_0x567def(0x58f,0x3be,0x22c,0x558),'MOQzq':_0x567def(0x1e7,0x214,0x1af,0x15e)+'n/x-www-fo'+_0x2afc5f(-0x63,0x95,-0x256,0xf9)+_0x567def(0x5c,0x71,0x2a,0x116),'wjenn':_0x2afc5f(-0x109,-0x39,-0xcf,0x60)+_0x2afc5f(-0x174,-0x2f7,-0x16c,-0x1d4),'phfJf':_0x2afc5f(-0xcc,-0x103,0xff,-0x25c),'StdVH':function(_0x1d6ddc,_0x4a181e){return _0x1d6ddc===_0x4a181e;},'twOoK':function(_0x44b39e,_0x58ac8c,_0x48c0d6){return _0x44b39e(_0x58ac8c,_0x48c0d6);},'AGUcY':function(_0x455b00,_0x31dde2){return _0x455b00+_0x31dde2;},'hlpsj':_0x567def(0x3f7,0x1e1,0x39d,0x322)+'waretoke=p'+_0x567def(0x11e,0xcd,0x225,-0x23)+_0x2afc5f(0x1f,0x173,-0xa4,-0x1f1)+_0x2afc5f(0x1b9,0x2f5,0xf1,0x1a2)+_0x567def(-0xd9,0xda,0x26e,0x279)+_0x567def(0x200,0x45,-0x9e,-0x14a),'Llcwj':_0x567def(0x22e,0x23c,0x274,0x439)+'pe=s','tTiih':_0x2afc5f(0x25a,0x3c1,0x13f,0x311)+_0x2afc5f(-0x12f,-0x283,-0x330,-0x282)+_0x2afc5f(-0xce,-0x101,-0xe8,-0x2be),'oOKap':function(_0x1ceadf,_0x10a586){return _0x1ceadf!==_0x10a586;},'jBQLd':function(_0x35852d,_0x3029d9){return _0x35852d+_0x3029d9;},'fJQZv':function(_0x2c7a02,_0x182527){return _0x2c7a02+_0x182527;},'gwxqo':_0x567def(0x477,0x286,0x3b7,0x30f),'yyBHt':function(_0x52c6b2,_0x45c04b){return _0x52c6b2===_0x45c04b;},'JWvsx':_0x567def(-0x3f,0x1a8,-0x1d,0xda),'BHGjp':'mpilg','wjSpr':function(_0x17f245,_0x390795){return _0x17f245(_0x390795);}};let _0x445529={},_0x5e6c82=[];lfaa(),console[_0x2afc5f(-0x50,-0xbf,0x35,-0x42)](_0x4327c5[_0x567def(0x21f,0x2ae,0x1d7,0x1ed)]),lfee(-0xfae+0x10d*0x3+0x2bd*0x6);function _0x567def(_0x36a35d,_0x13d2b5,_0xa8674e,_0x242dad){return _0x32fa5d(_0x36a35d,_0x13d2b5-0x23f,_0xa8674e-0x1c9,_0x242dad-0x12f);}config[_0x567def(0xb3,0x109,0x17b,0x265)+'g']=![],config[_0x567def(0x186,0x1bd,0x2ce,0x27d)+'ag']=![];if(config[_0x567def(0x5e3,0x410,0x5c7,0x2a7)]&&config['epgtw_flag'])try{if(_0x4327c5[_0x2afc5f(-0x1a7,-0x22a,-0x1db,-0x34e)](_0x2afc5f(0x267,0x414,0x64,0x429),_0x4327c5[_0x2afc5f(-0x1c0,-0x12e,-0x36c,-0x10a)])){let _0x4dce24='',_0x5bddda=_0x4327c5[_0x567def(-0xe0,0xf4,-0x100,0x291)],_0x133484='',_0x33617e='';try{_0x4dce24=_0x4327c5[_0x567def(0x55d,0x3f1,0x340,0x544)](_0x2c7f4d,_0x140dcb,{'headers':{'authority':_0x4327c5[_0x567def(0x14d,0x30,0x22e,-0x1cb)],'accept':_0x4327c5['rKaNe'],'accept-language':'zh-CN,zh;q'+_0x567def(0x281,0x36d,0x4c5,0x485),'authorization':_0x4327c5[_0x567def(0x127,0x1f8,0x6,0x8e)],'cache-control':_0x4327c5[_0x567def(0x1e4,0x3b2,0x538,0x37f)],'user-agent':_0x4327c5[_0x567def(0x369,0x2a8,0x2f1,0x4a6)]}})[_0x2afc5f(-0x54,0x1af,-0x190,-0x225)],_0x33617e=_0x1911eb[_0x2afc5f(0x1fe,0x258,0x2e,-0x22)](_0x4dce24)[_0x2afc5f(-0x34,-0x230,-0xb,-0x248)][_0x2afc5f(0x184,0x273,0x1d5,0xad)];}catch{}for(let _0x3aed67=0x1e*-0xcb+0x11*0x3+0x1797;_0x4327c5[_0x567def(0x3a4,0x349,0x4b8,0x1c2)](_0x3aed67,_0x33617e[_0x2afc5f(0x30,0x129,-0x197,-0xc0)]);_0x3aed67++){_0x133484=_0x4327c5['cBtlT'](_0x4327c5['cBtlT'](_0x133484,'#')+_0x33617e[_0x3aed67][_0x567def(-0x2a,0x1e9,0xbf,0xbe)],'$')+_0x33617e[_0x3aed67][_0x2afc5f(0x23,0xa3,-0x73,0x6a)];}_0x79a650['vod_play_f'+_0x2afc5f(-0xf9,-0x3e,0xc8,-0x92)]=_0x5bddda,_0x4bdbc7[_0x2afc5f(-0x18,0x74,-0x10a,-0x9b)+'rl']=_0x133484['replace'](/^#/gm,'');}else{let _0x38483d=_0x4327c5['dIMZH'](req,_0x4327c5[_0x2afc5f(-0xd8,0xaf,-0x1f4,0x64)],{'headers':{'Content-Type':_0x4327c5[_0x2afc5f(0x1d2,0x2f9,-0x1d,0x43)],'user-agent':_0x4327c5[_0x567def(0x8c,0x41,-0x6,-0x2a)]},'method':_0x4327c5[_0x567def(0x58d,0x376,0x518,0x356)],'body':_0x4327c5['sDyvN'](_0x567def(0xca,0x1e1,0x22d,0xcc)+'waretoke=p'+_0x567def(-0x12e,0xcd,-0x6c,-0x12a)+_0x2afc5f(0x1f,-0x10,0x1bb,-0x4f)+_0x2afc5f(0x1b9,-0x5c,0x27,0x209)+_0x2afc5f(-0xc7,-0x2ad,-0x112,0xa3)+_0x567def(-0xc6,0x45,0x130,-0x92)+_0x490a17,_0x2afc5f(0x9b,0x296,-0x31,0xcf)+_0x2afc5f(-0x1b2,-0x19f,-0xdc,-0x78))})[_0x2afc5f(-0x54,-0x24,-0xc7,-0x228)],_0x4fb41f=_0x1d77db[_0x567def(0x4c3,0x2eb,0x2a1,0x236)](_0x38483d),_0x45665b=_0x4fb41f(_0x2afc5f(0x3c,-0x12b,-0x34,-0xcc)+_0x567def(0x2ef,0x24d,0x1a3,0x342));if(_0x4327c5[_0x567def(0x3ea,0x37d,0x3b6,0x58f)](_0x45665b[_0x2afc5f(0x30,0x1b2,0x15c,-0x1eb)],-0x1*0x2ed+0x1158+-0xe6b)){let _0x1f379c=_0x4327c5[_0x567def(0x382,0x1db,0x33b,0x47)](req,_0x4327c5[_0x567def(-0x48,0xc9,0x49,0x23c)],{'headers':{'Content-Type':'applicatio'+'n/x-www-fo'+_0x2afc5f(-0x63,0x93,-0xe2,0xac)+'ded','user-agent':_0x4327c5[_0x567def(-0x116,0x41,0x251,-0x1c3)]},'method':_0x4327c5[_0x567def(0x482,0x376,0x307,0x30c)],'body':_0x4327c5[_0x2afc5f(0x83,0x267,0x22f,0x62)](_0x4327c5[_0x567def(0x3d7,0x1ca,-0x1,0x33)],_0x490a17)+_0x4327c5[_0x567def(0x1f3,0x203,0x91,0x188)]})['content'],_0x4ed209=_0x1d77db[_0x2afc5f(0x14a,-0xb2,0x23e,0x283)](_0x1f379c),_0x3bf1a4=_0x4ed209(_0x4327c5[_0x567def(0x15a,0x6a,0x14e,0x138)]),_0x12395d={};_0x3bf1a4[_0x2afc5f(-0x2f,-0x15,-0x159,-0x18a)](function(_0x258aa6){function _0x326ac3(_0x2832f0,_0x57fd0d,_0x18c56a,_0x3a5a78){return _0x567def(_0x2832f0,_0x3a5a78-0x234,_0x18c56a-0xbf,_0x3a5a78-0x192);}function _0xa64090(_0x3f48de,_0x2eacf2,_0x12b886,_0x920283){return _0x567def(_0x920283,_0x2eacf2-0x347,_0x12b886-0x4e,_0x920283-0x37);}let _0x50fe2b=_0x4ed209('td',this)['eq'](0x251c+-0x133d*-0x1+0x19*-0x241)[_0x326ac3(0x55b,0x6bf,0x40f,0x5c5)]()[_0x326ac3(0x1f9,0x4f5,0x293,0x3a4)](/@@\d+$/,'')[_0x326ac3(0x1cb,0x5b5,0x4a6,0x3a4)]('台','')[_0x326ac3(0x403,0x38d,0x2c6,0x3a4)]('衛視','卫视');_0x12395d[_0x50fe2b]?_0x12395d[_0x50fe2b][_0x326ac3(0x2a8,0x10d,0x214,0x21f)](_0x4327c5['XbEdL'](_0x4ed209,_0x4327c5['dxRCu'],this)[_0xa64090(0x718,0x6e2,0x573,0x8ec)](_0x4327c5[_0x326ac3(0x3df,0x37d,0x6e6,0x587)])):_0x12395d[_0x50fe2b]=[_0x4ed209(_0x4327c5['dxRCu'],this)[_0x326ac3(0x6ca,0x3c1,0x70d,0x5cf)](_0x4327c5['aplcg'])];});for(let _0x2db937 in _0x12395d){_0x4327c5[_0x2afc5f(0x272,0x1c6,0x40f,0x473)](_0x2afc5f(0xa6,-0x10,-0xf,0x1e2),_0x2afc5f(0xa6,0x19b,0x1ce,-0x21))?_0x551ade='1':_0x5e6c82[_0x567def(0x10,-0x15,-0x230,0x155)]({'vod_id':_0x4327c5[_0x2afc5f(-0xe9,-0x22a,-0x1fb,0xa2)](_0x4327c5[_0x567def(-0xc1,0x12e,0x309,-0xd7)](_0x2db937,_0x4327c5[_0x2afc5f(-0x152,-0x30d,-0x183,-0x56)]),_0x12395d[_0x2db937][_0x2afc5f(0x105,-0xd2,0x7d,0x28)](_0x2afc5f(0xcb,0x128,-0x119,-0xf0))),'vod_name':_0x2db937,'vod_pic':config[_0x2afc5f(-0x97,0x116,-0x1e3,0x101)+_0x567def(0x37b,0x2ed,0x13e,0x48b)],'vod_remarks':_0x2afc5f(0x37,-0x159,-0x37,-0x112)});}}else _0x4327c5[_0x567def(0x1dc,0x49,0x20e,0x2)](_0x4327c5[_0x567def(0x4c,0x118,0x1b,-0xae)],_0x4327c5[_0x2afc5f(-0x7a,-0x201,-0x19,-0x16e)])?_0x4327c5[_0x2afc5f(0xe6,0x134,-0x120,0x1b)](_0x42a53b[_0x2afc5f(-0x74,-0x168,-0x1f1,0x47)][_0x573a60][_0x567def(0x1be,0x15e,0x17d,0x2de)],_0x50e3d1)&&!_0x1fafec[_0x2afc5f(0x6e,0x21a,0x121,-0x182)](_0x4327c5['lKyBa'])&&(_0x4a504a=_0x15bfc3[_0x567def(0x281,0x12d,0x4d,0x1bf)][_0x39f81f][_0x567def(0x26d,0x195,0x48,-0x8a)],_0x2db3fa=_0x146783[_0x567def(0x22,0x170,0xfd,0x62)](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x5ce8f5=_0x328717[_0x2afc5f(-0x31,0x22,0x178,0x37)](/(#|\$)/gm,''),_0x5d7b7e=_0x4327c5['sDyvN'](_0x4bc524,'_')):_0x45665b[_0x2afc5f(-0x2f,-0x1a,-0xd0,-0x22e)](function(_0x29d791){function _0x12f749(_0x37de1a,_0x11a870,_0x4a5cf4,_0x3206ff){return _0x567def(_0x3206ff,_0x37de1a-0x3ee,_0x4a5cf4-0x5c,_0x3206ff-0x0);}function _0xea5c5a(_0x3bf3fa,_0x4e0456,_0xfc27ec,_0x56da64){return _0x2afc5f(_0x4e0456-0x6b1,_0x4e0456-0xd7,_0xfc27ec-0x174,_0x3bf3fa);}_0x5e6c82[_0xea5c5a(0x65c,0x4fb,0x498,0x655)]({'vod_id':_0x4327c5[_0x12f749(0x540,0x57b,0x3eb,0x443)](_0x4327c5[_0x12f749(0x7df,0x9b2,0x721,0x987)](_0x4fb41f,this,this)['text'](),_0x4327c5[_0x12f749(0x459,0x2a8,0x3b3,0x50f)])+_0x4327c5[_0x12f749(0x7ae,0x938,0x7f0,0x661)](_0x4fb41f,this,this)[_0x12f749(0x789,0x7e6,0x620,0x951)](_0x4327c5[_0xea5c5a(0x7c9,0x863,0xa72,0x932)]),'vod_name':_0x4327c5[_0xea5c5a(0x752,0x68a,0x79b,0x4a1)](_0x4fb41f,this,this)[_0xea5c5a(0x6ac,0x8a1,0xa43,0x682)](),'vod_pic':config[_0x12f749(0x4f8,0x4e0,0x2e0,0x327)+_0xea5c5a(0x95b,0x7fd,0x809,0x6eb)],'vod_remarks':_0x4327c5['fPyoO']});});}}catch{}_0x5e6c82=_0x5e6c82[_0x567def(0x55e,0x3a2,0x30b,0x515)](_0x4327c5[_0x567def(0x435,0x2c0,0x10f,0x249)](lfgg,_0x490a17)),_0x5e6c82=_0x5e6c82[_0x567def(0x1d6,0x3a2,0x27b,0x357)](_0x4327c5['wjSpr'](lfhh,_0x490a17));function _0x2afc5f(_0x570faa,_0x38369c,_0x4f627a,_0x23d08a){return _0x397eb8(_0x570faa- -0x48e,_0x23d08a,_0x4f627a-0x1e5,_0x23d08a-0x181);}const _0x558d81={};return _0x558d81[_0x2afc5f(-0x70,0x104,0x53,-0x7e)]=_0x5e6c82,_0x445529=_0x558d81,JSON[_0x567def(0x180,0x38b,0x41a,0x483)](_0x445529);}function lftb5(_0x58d9e7){const _0x32d413={'WckuU':_0xc015b9(0x494,0x52d,0x63f,0x448)+'KLMNOPQRST'+_0x373afe(0x523,0x5bc,0x59d,0x5c0)+_0xc015b9(0x1d4,0x2c1,0x281,0x167)+_0x373afe(0x78c,0x794,0x873,0x864)+_0x373afe(0x668,0x5c6,0x4d1,0x7dd)+_0x373afe(0x564,0x679,0x6cb,0x527),'ieAEw':_0xc015b9(0x2b6,0x159,0x2e2,0x31d)+_0x373afe(0x554,0x494,0x587,0x390),'wwAwl':function(_0x25244d,_0x3a4bcc){return _0x25244d|_0x3a4bcc;},'YwXdY':function(_0x1256f6,_0x1f7698){return _0x1256f6<<_0x1f7698;},'lCjyR':function(_0x4c2e2e,_0x1edf44){return _0x4c2e2e<<_0x1edf44;},'XlUnV':function(_0x166f51,_0x3fce05){return _0x166f51&_0x3fce05;},'aNMfD':function(_0x5354b4,_0x82da2c){return _0x5354b4>>_0x82da2c;},'Tfujf':function(_0x44b523,_0x31f87b){return _0x44b523<_0x31f87b;},'yYxaV':function(_0x422dbe,_0x337d42){return _0x422dbe(_0x337d42);},'dWVHF':function(_0x131495,_0x2fe018){return _0x131495+_0x2fe018;},'hFpEY':function(_0x4f41ee,_0x676c1a,_0x3b6aa9){return _0x4f41ee(_0x676c1a,_0x3b6aa9);},'pLyBl':_0xc015b9(0x83d,0x59d,0x69b,0x4be),'YYaiI':function(_0x405a4e,_0x2c1d12){return _0x405a4e+_0x2c1d12;},'qFnKS':function(_0x27ff6e,_0x40271f){return _0x27ff6e+_0x40271f;},'PUHcv':function(_0x49bb0f,_0x45cba3){return _0x49bb0f+_0x45cba3;},'GeGYr':_0xc015b9(0x4a0,0x160,0x34f,0x17c),'EVWoe':function(_0x13145b,_0xee692c,_0x1734ba){return _0x13145b(_0xee692c,_0x1734ba);},'ljUTb':_0xc015b9(0x64e,0x5f8,0x437,0x4f3),'kYHGl':function(_0x54377e,_0x4ef651){return _0x54377e===_0x4ef651;},'rWXVS':function(_0x2d5d02,_0x566e0e){return _0x2d5d02==_0x566e0e;},'xgPvz':_0xc015b9(0x305,0x59f,0x4f5,0x48f),'oKvSB':function(_0x5d2eac,_0x36de20){return _0x5d2eac<_0x36de20;},'PrKhX':function(_0x3f8286,_0x595e03){return _0x3f8286+_0x595e03;},'JMoJG':function(_0x5a429d,_0x16c39e){return _0x5a429d+_0x16c39e;},'nepdZ':function(_0x439c94,_0x54cd82){return _0x439c94+_0x54cd82;},'SNmgA':'Web_EPG','xAUiP':function(_0x2ca3e8,_0x417377){return _0x2ca3e8!=_0x417377;},'qXXpG':function(_0x5600d7,_0x58d019){return _0x5600d7+_0x58d019;},'vkCdD':function(_0x5a0491,_0x57718f){return _0x5a0491+_0x57718f;},'lXxhE':_0x373afe(0x722,0x6af,0x86e,0x563),'ESbMp':function(_0x10555c,_0x151ee6){return _0x10555c-_0x151ee6;},'KaapA':function(_0x36112c,_0x3bbb5d){return _0x36112c!=_0x3bbb5d;},'QmbbJ':function(_0x5a72ec,_0x3b0c8b){return _0x5a72ec+_0x3b0c8b;},'kHmmg':function(_0x591a74,_0x3bee32,_0x5ba610){return _0x591a74(_0x3bee32,_0x5ba610);},'aKHXS':'https://ti'+'ngfm.com/w'+_0x373afe(0x6e6,0x68e,0x8a5,0x721)+_0xc015b9(0x3d3,0x724,0x5e1,0x3fd)+'ts?is_main'+_0xc015b9(0x288,0x52e,0x3f2,0x60e)+_0x373afe(0x7b3,0x595,0x971,0x7d7)+'io&paged=1'+_0xc015b9(0x7e5,0x4e5,0x623,0x6e6)+'_page=100&'+_0x373afe(0x5dc,0x450,0x753,0x4f8)+_0x373afe(0x3fb,0x28d,0x4bd,0x48d),'EFDsJ':function(_0x4346cf,_0x42ef78){return _0x4346cf+_0x42ef78;},'xkDJR':function(_0x48ef53,_0xe8fee){return _0x48ef53+_0xe8fee;},'gHGSs':function(_0x6845f,_0x4672e2){return _0x6845f+_0x4672e2;},'mNFdI':_0x373afe(0x5a5,0x460,0x6f0,0x388)+_0x373afe(0x724,0x938,0x8f0,0x8db),'rvgwB':'no-cache','TzwlI':_0xc015b9(0x6c7,0x3f0,0x5e9,0x548),'XiOJj':_0xc015b9(0x4a1,0x2cf,0x49d,0x534)+_0x373afe(0x666,0x4d5,0x487,0x777),'HEPjc':_0xc015b9(0x38d,0x4d0,0x327,0x4d5)+_0x373afe(0x6f5,0x5bf,0x69d,0x772),'NFWEL':_0xc015b9(0x365,0x23f,0x381,0x3ac)+_0x373afe(0x606,0x3f9,0x796,0x4b4)+'\x20NT\x2010.0;\x20'+_0xc015b9(0x3ae,0x685,0x55f,0x3b9)+_0xc015b9(0x4ee,0x24a,0x457,0x62e)+'Kit/537.36'+_0x373afe(0x7ac,0x821,0x688,0x5ff)+_0xc015b9(0x3e0,0x376,0x27e,0x1b7)+'\x20Chrome/11'+_0xc015b9(0x248,0x10b,0x2a6,0xc2)+'fari/537.3'+'6','EWNGw':_0xc015b9(0x2a5,0x18e,0x26d,0x25e),'YdoVi':function(_0x21cd94,_0x91df71){return _0x21cd94+_0x91df71;},'ERVNo':function(_0x363e91,_0x50afe5){return _0x363e91+_0x50afe5;},'uidEh':function(_0x64dd39,_0xee4e90,_0x223db4){return _0x64dd39(_0xee4e90,_0x223db4);},'JcCwt':_0xc015b9(0x3da,0x29a,0x404,0x441)+_0x373afe(0x5bc,0x744,0x44d,0x507)+'/','EiFSf':function(_0x3d6bc5,_0x2b4e5e,_0x5a43eb){return _0x3d6bc5(_0x2b4e5e,_0x5a43eb);},'VXaIf':function(_0x4c73e8,_0x2ad325,_0x411938){return _0x4c73e8(_0x2ad325,_0x411938);},'bogBA':_0xc015b9(0x6c5,0x660,0x501,0x349),'MoqKT':_0xc015b9(0x334,0x28e,0x49d,0x5c6)+_0xc015b9(0x20c,0x468,0x3f7,0x594)+_0xc015b9(0x428,0x57e,0x3ac,0x486)+_0xc015b9(0x630,0x46a,0x467,0x46e),'LWJNE':_0xc015b9(0x57b,0x2dd,0x470,0x475),'fSeDB':_0xc015b9(0x547,0x5d3,0x480,0x451),'DNnnb':function(_0x5b1266,_0x7242eb,_0x186258){return _0x5b1266(_0x7242eb,_0x186258);},'oMKpK':_0xc015b9(0x60d,0x43c,0x4de,0x3ef)+_0x373afe(0x5a7,0x3dc,0x678,0x58a)+'p-json/que'+_0x373afe(0x51a,0x5fb,0x4a8,0x394)+_0x373afe(0x3da,0x495,0x562,0x339)+_0xc015b9(0x573,0x6d3,0x5e7,0x50f),'ggMiv':_0xc015b9(0x6e1,0x719,0x593,0x720)+'ue','LkZiW':_0x373afe(0x411,0x47c,0x61c,0x243),'yqwIV':_0x373afe(0x746,0x91f,0x630,0x93a)+_0xc015b9(0x29e,0x515,0x42b,0x41f),'XYCPy':function(_0x57c46e,_0x1b0263){return _0x57c46e<=_0x1b0263;},'uTTQy':function(_0x6f04a0,_0x47c148){return _0x6f04a0+_0x47c148;},'jMxWh':function(_0x33e8d3,_0x32fa52,_0x24bf34){return _0x33e8d3(_0x32fa52,_0x24bf34);},'VCvYy':_0x373afe(0x6ab,0x6da,0x4c9,0x5fe)+_0x373afe(0x78b,0x710,0x5c6,0x574),'onvEf':function(_0x4f2139,_0x3254e0,_0xe1186e){return _0x4f2139(_0x3254e0,_0xe1186e);},'ghYyx':'td:eq(4)\x20a','yEVXl':'https://ep'+_0xc015b9(0x448,0x549,0x40e,0x4a1)+_0x373afe(0x609,0x7ad,0x447,0x4c6)+_0xc015b9(0x1a1,0x115,0x2cf,0x374)+_0xc015b9(0x64d,0x4fc,0x647,0x815),'AACLL':_0x373afe(0x48c,0x640,0x29d,0x4dd),'qnjPg':function(_0x15dab5,_0x48f2dc){return _0x15dab5+_0x48f2dc;},'aZewK':'csrfmiddle'+_0x373afe(0x674,0x4ff,0x4c9,0x66d)+_0xc015b9(0x338,0x491,0x356,0x222)+'EpSuU0w1Fi'+'f4q8bo0RnP'+_0x373afe(0x491,0x4a2,0x60f,0x39c)+_0x373afe(0x3fc,0x39b,0x55f,0x22d),'XFTxm':'&search_ty'+_0x373afe(0x6f1,0x588,0x4d4,0x719),'IakQG':function(_0xd10199,_0x3e0b3c){return _0xd10199(_0x3e0b3c);},'zgYmk':_0xc015b9(0x5a0,0x53d,0x684,0x713)+_0xc015b9(0x3c7,0x305,0x2fb,0x13a)+_0xc015b9(0x27f,0x163,0x35c,0x44b),'HrNPX':function(_0x139c8c,_0x22f8b6){return _0x139c8c+_0x22f8b6;},'NHxTP':'$$$[epwdr]','nATwE':function(_0x393706,_0x5c6306){return _0x393706+_0x5c6306;},'xWXlY':function(_0x32c377,_0x3f1ebf){return _0x32c377+_0x3f1ebf;},'XrtqM':'IPTV_','CxdVn':'http://m.i'+_0xc015b9(0x3f9,0x540,0x48e,0x567)+'/?act=home','OxwKc':function(_0x3dffa8,_0x552eef){return _0x3dffa8(_0x552eef);},'UIMWE':_0x373afe(0x6be,0x6f4,0x4e8,0x769)+'le=\x22listvi'+_0xc015b9(0x4c9,0x7fd,0x60d,0x67b),'hJctw':'NotSupport'+_0x373afe(0x65a,0x558,0x4e0,0x6a9),'qzmCa':_0xc015b9(0x6f5,0x5df,0x66d,0x531),'gPqrP':_0xc015b9(0x5e1,0x4af,0x68f,0x7d4)+_0xc015b9(0x4d7,0x62b,0x438,0x451)+'https://ra'+_0xc015b9(0x3f3,0x6d0,0x4fb,0x342)+_0x373afe(0x63a,0x46d,0x529,0x7d5)+_0x373afe(0x79d,0x828,0x651,0x683)+'/TV/releas'+_0x373afe(0x52c,0x55f,0x5b3,0x659)+_0x373afe(0x773,0x6ff,0x985,0x7c6)+_0xc015b9(0x4e0,0x50e,0x31d,0x144),'BDprU':_0xc015b9(0x541,0x851,0x69f,0x6ee),'gyvWH':_0x373afe(0x440,0x431,0x5c8,0x63a),'WuQcH':'lUYQQ','RVkfb':function(_0x19f242,_0x37f36){return _0x19f242(_0x37f36);},'aNjpM':_0xc015b9(0x31f,0x3ba,0x4e8,0x5c0),'maPWR':'温馨提示','CFBBg':_0xc015b9(0x440,0x553,0x4b3,0x491),'IvNqr':_0x373afe(0x3b9,0x3fa,0x231,0x1de),'mdZRN':function(_0xb1e67,_0xf14536){return _0xb1e67+_0xf14536;},'FTifL':function(_0x46172f,_0x25e8da){return _0x46172f+_0x25e8da;},'ovhAn':_0xc015b9(0x1cf,0x28f,0x2ee,0x3dc)+'//www.cuns'+'hao.com/66'+_0xc015b9(0x56e,0x34f,0x434,0x2fa)+'eb.php','wcJzX':function(_0x50cbf3,_0x546d91){return _0x50cbf3!==_0x546d91;},'GXyHN':'HSBIx','AuNbK':_0x373afe(0x3ad,0x242,0x452,0x252),'KVDEI':function(_0x3dd030,_0x4c778c){return _0x3dd030===_0x4c778c;},'qYHXp':_0xc015b9(0x43b,0x1b6,0x29c,0x263),'MdunH':function(_0x11b114,_0x206dc8){return _0x11b114+_0x206dc8;},'QnQeT':function(_0x25d7a3,_0x2d71ef){return _0x25d7a3+_0x2d71ef;},'eXdBI':_0x373afe(0x51c,0x6ae,0x326,0x659),'YPMoG':_0xc015b9(0x3bb,0x46d,0x2a4,0x334),'vfkRo':function(_0x18789e,_0x22e3fd){return _0x18789e===_0x22e3fd;},'DMAVm':_0x373afe(0x5fb,0x539,0x4a6,0x447),'QTRIz':_0x373afe(0x3bb,0x561,0x35f,0x360),'ytFvW':function(_0x51f8bd,_0x27cdf0){return _0x51f8bd===_0x27cdf0;},'WiQES':_0x373afe(0x3f3,0x3f4,0x255,0x325),'HCWEu':'\x5c[localdb\x5c'+']','oEmun':function(_0x30d02d,_0x364c4b){return _0x30d02d!==_0x364c4b;},'ovceu':'pSFCv','ebutv':_0xc015b9(0x236,0x1cd,0x37f,0x501),'HTapb':function(_0x4a43c8,_0x1ea9c4){return _0x4a43c8(_0x1ea9c4);},'exXDz':'section\x20tb'+_0xc015b9(0x6a4,0x69c,0x56e,0x70e),'WZafW':_0xc015b9(0x556,0x5ad,0x3b3,0x1c7),'CcuSR':'jcmFT','oLMVj':function(_0x4fd689,_0x4a15ee){return _0x4fd689===_0x4a15ee;},'sxLzu':_0x373afe(0x698,0x604,0x851,0x70b),'AXPcq':'[localdb]','tUFNu':function(_0x2137dd,_0x554e1f){return _0x2137dd+_0x554e1f;},'YkqRZ':function(_0x1dac28,_0x38232c){return _0x1dac28+_0x38232c;},'LVfNX':function(_0x2b721f,_0x472dde){return _0x2b721f+_0x472dde;},'Drizy':function(_0xa587dc,_0x41448a){return _0xa587dc!==_0x41448a;},'spEVO':'QXFio','kwKfD':_0x373afe(0x718,0x59a,0x679,0x4f9),'HSRFc':function(_0x5aecdf,_0x21ff68){return _0x5aecdf<_0x21ff68;},'YTrXz':'WlBIZ','TDvZd':function(_0x52bbdc,_0x47b9dc){return _0x52bbdc+_0x47b9dc;},'iqvnA':function(_0x1d08cb,_0x2c4f43){return _0x1d08cb+_0x2c4f43;},'fpWPT':function(_0x44ef3e,_0x4e650f){return _0x44ef3e+_0x4e650f;},'BRxlJ':function(_0x2f4959,_0x52d3b0){return _0x2f4959===_0x52d3b0;},'BRePA':_0xc015b9(0x787,0x4f5,0x652,0x4e5),'XkNJw':'线路1$$$线路2$'+_0xc015b9(0x276,0x3ce,0x454,0x4c3)+'4','WPozT':_0xc015b9(0x3a5,0x66a,0x579,0x449)+_0xc015b9(0x3d8,0x6a8,0x59f,0x640),'evALS':_0xc015b9(0x4dd,0x789,0x579,0x5a4)+_0xc015b9(0x573,0x6a0,0x676,0x70a),'zCvzj':_0x373afe(0x46d,0x66d,0x529,0x61e)+'ti','dzwGQ':_0x373afe(0x595,0x73e,0x770,0x4d6),'fcHlg':_0xc015b9(0x150,0x342,0x327,0x246)+'w.radio.cn'+'/','fcsrn':function(_0xa04d73,_0x479907){return _0xa04d73+_0x479907;},'bxjaD':function(_0x212396,_0x442de9){return _0x212396+_0x442de9;},'HwHfs':function(_0x550298,_0x12d9df){return _0x550298+_0x12d9df;},'NbTZw':function(_0x5729ab,_0x19d5c7){return _0x5729ab+_0x19d5c7;},'XoDXI':_0x373afe(0x6d2,0x7d1,0x5fb,0x6ce),'vWagB':function(_0x5eaa29,_0x39f5e9){return _0x5eaa29(_0x39f5e9);},'KtqWN':function(_0xaed350,_0x516f15){return _0xaed350!==_0x516f15;},'adoqj':'PFtJG','mNWpn':function(_0x1cfcd5,_0x1ba6b8){return _0x1cfcd5+_0x1ba6b8;},'ocLNE':function(_0x285fed,_0x57b704){return _0x285fed+_0x57b704;},'ViIUS':_0xc015b9(0x7d7,0x7c3,0x62f,0x73d),'cHQXt':_0xc015b9(0x71e,0x64c,0x626,0x6a5),'LuzVo':_0x373afe(0x716,0x796,0x687,0x639),'airIW':_0x373afe(0x48d,0x27a,0x461,0x654),'IOsNF':_0x373afe(0x3e2,0x546,0x387,0x34a),'DpUwR':function(_0x10e508,_0x1f0d67){return _0x10e508===_0x1f0d67;},'WcFYu':function(_0x17edf0,_0x4d35bc){return _0x17edf0+_0x4d35bc;},'nzkEK':_0xc015b9(0x547,0x3b4,0x58b,0x5d7),'DaPoz':'#genre#','KMTHU':_0x373afe(0x3dd,0x3e8,0x4ff,0x58e),'BlAyG':'未分组,#genre'+'#\x0a','KYgnS':_0x373afe(0x453,0x435,0x58e,0x26f),'WEUHb':_0x373afe(0x563,0x54b,0x431,0x69d),'cdtLb':function(_0x2c6ef4,_0x59e076){return _0x2c6ef4==_0x59e076;},'AQKUm':_0xc015b9(0x665,0x47a,0x56c,0x4ee),'gFFHF':_0x373afe(0x4d9,0x491,0x66f,0x41e),'eLmwz':function(_0x5bf9f7,_0x4d1ab0){return _0x5bf9f7===_0x4d1ab0;},'CXfhx':_0xc015b9(0x4e5,0x154,0x2fc,0x367),'WqraI':function(_0x25af95,_0xdae741){return _0x25af95+_0xdae741;},'SbdiW':function(_0x9a5eba,_0x487089){return _0x9a5eba+_0x487089;},'QtsHn':_0xc015b9(0x5bc,0x2fe,0x4ca,0x4b4),'rQIvk':_0x373afe(0x6fd,0x8c8,0x760,0x4ee),'tlwNU':'DWjVR','CfZvj':function(_0x154bca,_0x528f4d){return _0x154bca<=_0x528f4d;},'mHwFK':_0x373afe(0x793,0x7c1,0x882,0x6d4),'nIqxV':function(_0x770304,_0x4c7627){return _0x770304+_0x4c7627;},'aFfJW':_0x373afe(0x4aa,0x5eb,0x496,0x42b),'VXMbF':function(_0x488ccf,_0x5ab397){return _0x488ccf-_0x5ab397;},'dMXUt':function(_0x3d7a2e,_0x5e17ca){return _0x3d7a2e+_0x5e17ca;},'lYoDq':function(_0xa014ab,_0x297337,_0x30b429,_0x424079){return _0xa014ab(_0x297337,_0x30b429,_0x424079);},'VRFUr':function(_0x5ed261,_0x5ab2eb){return _0x5ed261==_0x5ab2eb;},'erNfQ':'999','LMTvF':function(_0x381e3a,_0x2b7ae6){return _0x381e3a(_0x2b7ae6);},'HpklQ':_0x373afe(0x630,0x592,0x782,0x7ca),'orJta':_0xc015b9(0x2aa,0x188,0x36e,0x349)+_0x373afe(0x5a8,0x4da,0x693,0x736)+_0xc015b9(0x558,0x34e,0x552,0x511)};let _0x287113=config['cacheClass'+'es']['length']==-0xe1e+0x10d9+-0x1*0x2bb?config[_0x373afe(0x3ae,0x578,0x3cb,0x554)+_0xc015b9(0x75a,0x494,0x67f,0x527)]:config['search_pen'+_0x373afe(0x4ff,0x586,0x6b5,0x344)],_0x2968ba={},_0x3e7589={},_0x5a74c9=[],_0x5db789=_0x58d9e7;function _0xc015b9(_0x3cab0f,_0x4ba011,_0x33b6ad,_0x182864){return _0x397eb8(_0x33b6ad- -0x64,_0x182864,_0x33b6ad-0x1b8,_0x182864-0xad);}let _0x185216=_0x58d9e7[_0x373afe(0x631,0x7c4,0x771,0x7aa)](_0x32d413[_0xc015b9(0x218,0x34e,0x2c9,0x4dc)])[-0x9f+0x1*-0x118d+0x122d];_0x58d9e7=_0x58d9e7['split'](_0x32d413[_0xc015b9(0x4a4,0x11c,0x2c9,0x24a)])[0x1a91+-0x1f3*-0xe+-0x35db],_0x58d9e7[_0x373afe(0x5c6,0x742,0x631,0x57a)](_0x32d413[_0x373afe(0x685,0x55b,0x64a,0x878)])&&(_0x185216=_0x32d413['qFnKS'](_0x32d413[_0xc015b9(0x60f,0x38c,0x4be,0x2d2)],_0x185216));let _0x1283f3='';function _0x373afe(_0x37543c,_0x3c7ab5,_0x57aa11,_0xdf46b0){return _0x32fa5d(_0x57aa11,_0x37543c-0x5f6,_0x57aa11-0xe3,_0xdf46b0-0xf6);}for(let _0x4a1703=0x181e+0x184*-0xb+-0x772;_0x32d413['oKvSB'](_0x4a1703,config[_0x373afe(0x4e4,0x353,0x6f9,0x3b9)]['length']);_0x4a1703++){config[_0x373afe(0x4e4,0x44e,0x47e,0x6d7)][_0x4a1703][_0xc015b9(0x4ff,0x350,0x3e7,0x3cb)]==_0x185216&&!_0x58d9e7['startsWith'](_0x32d413[_0x373afe(0x55a,0x44d,0x438,0x607)])&&(_0x1283f3=config[_0x373afe(0x4e4,0x42e,0x4c7,0x357)][_0x4a1703][_0xc015b9(0x428,0x603,0x41e,0x220)],_0x1283f3=_0x1283f3[_0xc015b9(0x539,0x524,0x3f9,0x58d)](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x1283f3=_0x1283f3[_0x373afe(0x527,0x318,0x55f,0x55f)](/(#|\$)/gm,''),_0x1283f3=_0x32d413['mdZRN'](_0x1283f3,'_'));}let _0x4e6720={'vod_id':_0x58d9e7,'vod_name':_0x1283f3+_0x58d9e7[_0xc015b9(0x272,0x4cc,0x3f9,0x1fb)](/\/parse$/,''),'vod_pic':config[_0x373afe(0x4c1,0x58d,0x698,0x2e7)+_0x373afe(0x6a4,0x4a8,0x79a,0x694)],'type_name':config[_0xc015b9(0x530,0x2ed,0x4bd,0x4bd)],'vod_year':config[_0xc015b9(0x3e3,0x33a,0x42d,0x345)],'vod_area':config['s_country'],'vod_remarks':_0x32d413['FTifL'](_0x287113+'\x20',config[_0x373afe(0x528,0x3b9,0x4e1,0x3c6)]),'vod_director':config[_0x373afe(0x483,0x645,0x476,0x3b8)],'vod_actor':config['s_version'],'vod_content':config[_0x373afe(0x3ea,0x557,0x4ee,0x523)],'vod_play_from':'','vod_play_url':''};if(_0x32d413[_0x373afe(0x7aa,0x58f,0x7f9,0x8a3)](_0x5db789,_0x32d413[_0x373afe(0x682,0x747,0x705,0x707)])){let _0x5a682e=_0x32d413[_0xc015b9(0x3e8,0x4f1,0x598,0x73a)],_0x4be114=_0x32d413[_0xc015b9(0x131,0x16e,0x310,0x17d)];_0x4e6720[_0x373afe(0x5d0,0x5c6,0x71b,0x651)+_0xc015b9(0x4e4,0x226,0x331,0x4b5)]=_0x5a682e,_0x4e6720[_0xc015b9(0x268,0x206,0x412,0x294)+'rl']=_0x4be114['replace'](/#$/,''),_0x4e6720[_0x373afe(0x747,0x548,0x62f,0x74e)]=_0x32d413[_0xc015b9(0x6f7,0x3fb,0x4f9,0x3b0)],_0x4e6720[_0xc015b9(0x54f,0x464,0x4a4,0x2c0)+'t']=config[_0x373afe(0x3ea,0x4d0,0x4d8,0x267)];}else{if(_0x32d413[_0xc015b9(0x74a,0x715,0x5de,0x3f7)](_0x32d413[_0xc015b9(0x435,0x614,0x4b5,0x5f8)],_0x32d413[_0xc015b9(0x4e6,0x539,0x4b5,0x41b)])){var _0x45eb5d=_0x32d413[_0x373afe(0x461,0x3b0,0x656,0x4da)],_0x548bcd,_0x14d4a6,_0x117f0f,_0x2bc2f,_0x715ef8,_0x9b33e1,_0x205748,_0x9f812d,_0x2995e6=-0x1701+-0xd96+-0x1*-0x2497,_0x3e8541=-0x18f5*-0x1+-0x2b*-0x7c+0x3*-0xf43,_0x52577c='',_0x3764f9=[];if(!_0x57a59e)return _0x1b31c8;_0x566080+='';do{const _0x9e3137=_0x32d413[_0x373afe(0x6bb,0x617,0x6d3,0x61d)][_0xc015b9(0x5ac,0x49a,0x503,0x4a8)]('|');let _0x2eb092=0x15*0x3+0x1*0x229f+0x1*-0x22de;while(!![]){switch(_0x9e3137[_0x2eb092++]){case'0':_0x9f812d=_0x32d413[_0x373afe(0x5c2,0x41f,0x781,0x3d8)](_0x32d413[_0x373afe(0x409,0x5e0,0x292,0x4f3)](_0x2bc2f,0x2177+0x1853+0x1*-0x39b8)|_0x32d413[_0xc015b9(0x372,0x1e1,0x2db,0x22b)](_0x715ef8,0x2*-0x1233+-0x93d*0x1+-0x1*-0x2daf),_0x32d413[_0x373afe(0x62d,0x7d9,0x41e,0x82e)](_0x9b33e1,0x2*-0x926+-0x1d7b+0x2fcd))|_0x205748;continue;case'1':_0x14d4a6=_0x32d413[_0xc015b9(0x312,0x530,0x36b,0x2a6)](_0x9f812d>>-0xc6f*-0x3+0xf22+-0x3467,0x1b63*-0x1+-0x25d8+0x2*0x211d);continue;case'2':_0x715ef8=_0x45eb5d[_0x373afe(0x6b4,0x53c,0x6ef,0x53c)](_0x2c4477['charAt'](_0x2995e6++));continue;case'3':_0x205748=_0x45eb5d['indexOf'](_0x16e88e[_0xc015b9(0x74e,0x7a9,0x636,0x74a)](_0x2995e6++));continue;case'4':_0x9b33e1=_0x45eb5d[_0xc015b9(0x684,0x71a,0x586,0x60e)](_0x452b9c[_0xc015b9(0x59f,0x68a,0x636,0x4fe)](_0x2995e6++));continue;case'5':_0x2bc2f=_0x45eb5d[_0x373afe(0x6b4,0x75b,0x4cb,0x7aa)](_0x3a04b[_0xc015b9(0x847,0x82b,0x636,0x58e)](_0x2995e6++));continue;case'6':_0x117f0f=_0x32d413[_0x373afe(0x499,0x5ba,0x45a,0x3dd)](_0x9f812d,-0xb8*-0x2+-0x5ff+0x58e);continue;case'7':_0x9b33e1==0xe56*0x2+-0x1bb3+-0xb9?_0x3764f9[_0x3e8541++]=_0x25c3c8['fromCharCo'+'de'](_0x548bcd):_0x205748==-0x1*0x1a45+-0xc*0x107+0x26d9?_0x3764f9[_0x3e8541++]=_0xbd8ae0[_0x373afe(0x586,0x58c,0x5f8,0x57c)+'de'](_0x548bcd,_0x14d4a6):_0x3764f9[_0x3e8541++]=_0x24c82a['fromCharCo'+'de'](_0x548bcd,_0x14d4a6,_0x117f0f);continue;case'8':_0x548bcd=_0x32d413[_0x373afe(0x49f,0x3d8,0x524,0x4a7)](_0x9f812d,-0x425*-0x2+0x18*0x194+0x15*-0x232)&0x1a1*-0x11+-0x2506+-0x41b6*-0x1;continue;}break;}}while(_0x32d413[_0xc015b9(0x6c1,0x5e6,0x5a2,0x587)](_0x2995e6,_0x38abd9[_0x373afe(0x588,0x6fe,0x450,0x776)]));return _0x52577c=_0x3764f9['join'](''),_0x52577c;}else{if(_0x58d9e7['startsWith'](_0x32d413[_0xc015b9(0x470,0x3b4,0x5c2,0x43a)])){let _0x111e62=_0x32d413[_0xc015b9(0x50b,0x73d,0x598,0x666)],_0x46b6f7='';for(let _0x452369=0x65d+0x1*-0x19b0+0x1354;_0x452369<-0x1bab*-0x1+0x1f8d+-0x3ad3;_0x452369++){_0x32d413[_0x373afe(0x497,0x54c,0x625,0x283)](_0x32d413['qYHXp'],_0xc015b9(0xf4,0x1b8,0x29c,0x11b))?_0x46b6f7=_0x32d413[_0x373afe(0x7af,0x8db,0x654,0x94d)](_0x32d413[_0x373afe(0x65e,0x6df,0x722,0x7a4)](_0x32d413[_0x373afe(0x469,0x2f2,0x3ab,0x2a6)](_0x46b6f7,'小姐姐')+_0x452369+'$',_0x185216)+'?t=',_0x452369)+'#':_0x1692c7=NScgWZ[_0x373afe(0x6ca,0x5f6,0x762,0x591)](_0x43dd11,NScgWZ['dWVHF'](_0x373afe(0x6ad,0x725,0x7a6,0x496)+_0xc015b9(0x529,0x3c4,0x5d6,0x54f)+(_0xc015b9(0x59b,0x877,0x65f,0x64b)+_0x373afe(0x54e,0x625,0x5b2,0x421)+_0xc015b9(0x29b,0x3b3,0x394,0x510)+'\x20)'),');'))();}_0x4e6720[_0x373afe(0x5d0,0x646,0x40e,0x667)+_0x373afe(0x45f,0x37a,0x542,0x3f1)]=_0x111e62,_0x4e6720['vod_play_u'+'rl']=_0x46b6f7['replace'](/#$/,'');}else{if(_0x32d413[_0xc015b9(0x6d6,0x3cb,0x5de,0x64b)]('akbUo',_0xc015b9(0x285,0x424,0x29f,0x93))){const _0x5f082c={};_0x5f082c[_0x373afe(0x669,0x556,0x509,0x589)]=_0x71713e,_0x5f082c[_0xc015b9(0x5a5,0x7c2,0x688,0x5a5)]=0x1388,_0x3ba7ee=_0x32d413['hFpEY'](_0x58f4a4,_0x4d3152,_0x5f082c)[_0xc015b9(0x47a,0x4a6,0x3d6,0x499)];}else{if(_0x185216[_0xc015b9(0x661,0x82b,0x692,0x6ee)](_0x32d413['eXdBI'])&&config['lfpfg']){let _0x4bb2b8='',_0x5afca8='';_0x185216=_0x185216[_0xc015b9(0x28d,0x3b0,0x3f9,0x44f)](_0x32d413[_0xc015b9(0xbe,0x221,0x2ae,0x488)],''),_0x185216=_0x185216['split'](_0x32d413[_0x373afe(0x6ba,0x5fd,0x7c9,0x8a0)]);for(let _0x1b1abf=0xfee*-0x1+-0x1*0x1099+0x2087;_0x32d413['oKvSB'](_0x1b1abf,_0x185216['length']);_0x1b1abf++){_0x32d413['vfkRo'](_0x32d413[_0x373afe(0x50d,0x34c,0x426,0x38f)],_0x32d413[_0xc015b9(0x4fc,0x6b3,0x4ee,0x5c6)])?_0x552505[_0x373afe(0x719,0x796,0x56d,0x62e)][_0xc015b9(0x2c8,0x356,0x274,0x1c5)](_0x277d54[_0xc015b9(0x421,0x3f2,0x3b6,0x3b9)][_0x5d77f0]):(_0x4bb2b8=_0x32d413['QmbbJ'](_0x4bb2b8+_0x32d413['pLyBl'],_0x1b1abf+(-0x1e41+-0x317+0x2159*0x1)),_0x5afca8=_0x32d413[_0x373afe(0x5ed,0x4bb,0x7ad,0x7bc)](_0x32d413[_0xc015b9(0x6e1,0x49f,0x613,0x584)](_0x32d413[_0x373afe(0x7af,0x8e7,0x98c,0x939)](_0x5afca8,_0x32d413[_0xc015b9(0x1aa,0x115,0x2c9,0x444)]),_0x58d9e7),'$')+_0x185216[_0x1b1abf]);}_0x4e6720[_0xc015b9(0x2ac,0x4e8,0x4a2,0x2a4)+_0x373afe(0x45f,0x2e2,0x504,0x37b)]=_0x4bb2b8[_0x373afe(0x527,0x673,0x5cd,0x6cd)](/^\$\$\$/,''),_0x4e6720[_0xc015b9(0x43c,0x418,0x412,0x583)+'rl']=_0x5afca8['replace'](/^\$\$\$/,'');}else{if(_0x32d413['ytFvW'](_0x32d413['WiQES'],_0x32d413['WiQES'])){if(!_0x185216[_0x373afe(0x7c0,0x9c7,0x917,0x5b7)](_0x32d413[_0xc015b9(0x211,0xf3,0x2de,0xde)])&&_0x185216[_0xc015b9(0x5e2,0x6ff,0x692,0x6b6)]('epg.pw')&&config[_0xc015b9(0x5b6,0x84f,0x699,0x6cf)]){if(_0x32d413[_0xc015b9(0x3aa,0x2ca,0x354,0x3aa)](_0x32d413[_0xc015b9(0x573,0x7bb,0x635,0x540)],_0x32d413['ebutv'])){let _0x2c8893='',_0x43db44='',_0x546545=-0xe3a+-0x15*0x194+0x2f5e;const _0x5ed975={};_0x5ed975[_0x373afe(0x669,0x7cc,0x522,0x81d)]=config[_0xc015b9(0x481,0x4c0,0x53b,0x393)];let _0x44d07e=_0x32d413[_0xc015b9(0x560,0x77f,0x693,0x81d)](req,_0x185216,_0x5ed975)['content'],_0x54bb4b=_0x1d77db[_0x373afe(0x6a2,0x86d,0x62e,0x5a5)](_0x44d07e),_0x48bf99=_0x32d413[_0xc015b9(0x416,0x71a,0x556,0x56c)](_0x54bb4b,_0x32d413[_0xc015b9(0x714,0x5b9,0x56f,0x778)]);_0x48bf99[_0xc015b9(0x2b6,0x581,0x3fb,0x4d1)](function(_0x4e55bd){_0x2c8893=_0x32d413[_0x297a9f(0x318,0x581,0x50b,0x3ca)](_0x2c8893,_0x32d413['pLyBl'])+(_0x546545+(0x37e*-0x3+-0x17*-0xe5+-0x13*0x88));function _0x297a9f(_0x3a74fb,_0x58ce71,_0x304c55,_0x3fa8c6){return _0x373afe(_0x3fa8c6- -0x3e4,_0x58ce71-0x194,_0x304c55,_0x3fa8c6-0x11a);}function _0x5abca4(_0x1e82be,_0x53a116,_0x3824da,_0xe944e3){return _0xc015b9(_0x1e82be-0x129,_0x53a116-0xc,_0x3824da- -0x1ec,_0x53a116);}_0x43db44=_0x32d413[_0x297a9f(0x3f2,0x293,0x350,0x28a)](_0x32d413['qFnKS'](_0x32d413[_0x297a9f(-0xb3,0x94,0x212,0xc3)](_0x43db44+_0x32d413[_0x5abca4(0x18f,0x1d,0xdd,-0xc2)],_0x58d9e7),'$'),_0x32d413[_0x5abca4(0x2a0,0x3f5,0x2c8,0x27a)](_0x54bb4b,_0x5abca4(0x2d3,0xec,0x305,0x10d),this)['eq'](0x1*0x17b+0x2*-0xf9e+0x1dc1)[_0x297a9f(0x466,0x24c,0x557,0x36e)](_0x32d413[_0x297a9f(0x30f,0x35b,0x369,0x352)])),_0x546545++;}),_0x4e6720['vod_play_f'+'rom']=_0x2c8893[_0xc015b9(0x4c5,0x41e,0x3f9,0x45b)](/^\$\$\$/,''),_0x4e6720[_0xc015b9(0x57d,0x2dd,0x412,0x2f5)+'rl']=_0x43db44[_0x373afe(0x527,0x41f,0x3a2,0x582)](/^\$\$\$/,'');}else{if(_0xcb6d36){const _0x6167b3=_0x268a66['apply'](_0xb14865,arguments);return _0xd052c=null,_0x6167b3;}}}else{if(_0x32d413[_0x373afe(0x3b3,0x254,0x532,0x4fc)]===_0x32d413[_0x373afe(0x3b3,0x30b,0x4f1,0x541)]){if(config[_0x373afe(0x4c6,0x4b3,0x543,0x66e)+_0xc015b9(0x594,0x5ea,0x548,0x586)][_0x5db789])_0x4e6720['vod_play_f'+_0xc015b9(0x38b,0x31a,0x331,0x428)]=config['cacheDetai'+'lDB'][_0x5db789]['vpf'],_0x4e6720['vod_play_u'+'rl']=config[_0xc015b9(0x476,0x252,0x398,0x3f1)+_0x373afe(0x676,0x57f,0x4b5,0x55d)][_0x5db789][_0x373afe(0x456,0x2c0,0x288,0x488)],console[_0x373afe(0x508,0x37b,0x6c6,0x4cd)](_0x373afe(0x66b,0x7a2,0x781,0x88a)+'用缓存。');else{if(_0x32d413[_0xc015b9(0x4c8,0x403,0x441,0x3d4)](_0xc015b9(0x851,0x769,0x689,0x6a3),_0x32d413['CcuSR'])){if(_0x185216[_0xc015b9(0x7dd,0x51e,0x692,0x642)](_0x32d413[_0xc015b9(0x27f,0x2f2,0x2de,0x36e)])){if(_0x32d413[_0xc015b9(0x1ed,0x261,0x2d0,0x2d0)](_0x32d413[_0x373afe(0x660,0x756,0x7ae,0x844)],_0x32d413[_0xc015b9(0x409,0x6aa,0x532,0x35d)])){let _0x20cd50='',_0x1c786a='';_0x185216=_0x185216[_0x373afe(0x527,0x509,0x65c,0x454)](_0x32d413[_0x373afe(0x407,0x316,0x4e1,0x25b)],''),_0x185216=_0x185216[_0x373afe(0x631,0x41f,0x84f,0x43d)](_0x373afe(0x623,0x493,0x739,0x458));for(let _0x15a35a=0x217*-0xd+0xfe*0x14+-0x1*-0x753;_0x32d413[_0x373afe(0x4e9,0x54d,0x4c5,0x6cc)](_0x15a35a,_0x185216[_0xc015b9(0x398,0x382,0x45a,0x319)]);_0x15a35a++){_0x20cd50=_0x32d413[_0x373afe(0x4ae,0x53d,0x696,0x2df)](_0x20cd50+_0x32d413[_0x373afe(0x47b,0x424,0x302,0x5dd)],_0x15a35a+(-0x4*-0x788+-0x24c2+0x6a3)),_0x1c786a=_0x32d413['qFnKS'](_0x32d413['YkqRZ'](_0x32d413[_0x373afe(0x599,0x3ee,0x3aa,0x68b)](_0x1c786a,_0x32d413[_0x373afe(0x3f7,0x347,0x353,0x4bc)]),_0x58d9e7),'$')+_0x185216[_0x15a35a];}_0x4e6720[_0x373afe(0x5d0,0x450,0x3e4,0x686)+_0x373afe(0x45f,0x635,0x5a8,0x511)]=_0x20cd50[_0xc015b9(0x1ea,0x539,0x3f9,0x4aa)](/^\$\$\$/,''),_0x4e6720['vod_play_u'+'rl']=_0x1c786a[_0x373afe(0x527,0x6a7,0x6fd,0x640)](/^\$\$\$/,'');}else{_0x32d413[_0x373afe(0x530,0x364,0x436,0x53a)](_0x50f4b2[_0xc015b9(0x4af,0x385,0x414,0x3e2)],_0x40a857[_0xc015b9(0x620,0x819,0x694,0x733)])&&_0x312237['lastIndex']++,_0x5b78b9[0x1b9e+0x565+-0x2101]=_0x2f26c3[0xc86+-0x1261+0x5dd][_0x373afe(0x527,0x632,0x59d,0x5e0)](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x5830d7[0x455*0x1+0x24c9+-0x291c]=_0x53a3c6[-0x3ed+-0x16d7+-0x2*-0xd63][_0xc015b9(0x3f5,0x208,0x3f9,0x2ef)](/(#|\$)/gm,'');if([_0x373afe(0x539,0x597,0x409,0x723),'##','头#',_0x373afe(0x3dd,0x3cd,0x31f,0x521)][_0xc015b9(0x57a,0x74c,0x5a5,0x4ee)](_0x1f3062[-0x198e+0x1023+0x96e])){let _0x1e1021=_0x5d002d[0x137*0xd+-0x784+-0x845*0x1];_0x32d413['rWXVS'](_0x180ebd[_0xc015b9(0x4cc,0x444,0x586,0x549)](_0x1e1021),-(0x21*0x8a+0x1c8a+-0x2e53))&&(_0x15853e['push'](_0x1e1021),_0x4b6f47[_0x373afe(0x3a2,0x287,0x3d4,0x426)]({'vod_id':_0x1e1021+_0x32d413[_0xc015b9(0x3a4,0x2f3,0x2c9,0x11f)]+_0x55ec48,'vod_name':_0x1e1021[_0xc015b9(0x2fb,0x337,0x3f9,0x20d)](/\/parse$/,''),'vod_pic':_0x13d7ca[_0xc015b9(0x50d,0x312,0x4b2,0x490)][_0x3be91d],'vod_remarks':''}));}}}else{if(_0x32d413['Drizy'](_0x32d413['spEVO'],_0x32d413[_0x373afe(0x40a,0x3b9,0x3d2,0x2c4)])){if(_0x58d9e7[_0x373afe(0x5c6,0x745,0x54f,0x722)](_0x32d413['IvNqr'])&&!_0x185216[_0xc015b9(0x6c5,0x53d,0x692,0x77e)](/goolguy007/m)){if(_0x185216[_0xc015b9(0x6dc,0x838,0x692,0x6a9)](/tingfm\.com/m)){let _0x4af34f='',_0xa495d6=_0x32d413[_0xc015b9(0x429,0x773,0x598,0x6a6)],_0x5df45f='',_0x24b98d='';try{const _0x3eda97={};_0x3eda97['authority']=_0x32d413[_0xc015b9(0x6a8,0x3ce,0x5db,0x4af)],_0x3eda97[_0x373afe(0x510,0x499,0x659,0x6c6)]=_0x32d413[_0x373afe(0x6b1,0x654,0x75b,0x85f)],_0x3eda97[_0x373afe(0x3b6,0x573,0x3c6,0x4c4)+_0xc015b9(0x1e1,0x289,0x2f5,0x283)]=_0x32d413['mNFdI'],_0x3eda97[_0xc015b9(0x1c2,0x2e9,0x3e0,0x26f)+_0x373afe(0x412,0x31f,0x3c2,0x5f3)]=_0x32d413[_0x373afe(0x475,0x373,0x512,0x3af)],_0x3eda97[_0x373afe(0x4c8,0x2b1,0x563,0x36d)+_0x373afe(0x6e0,0x838,0x7fe,0x85f)]=_0x373afe(0x7a1,0x927,0x5e8,0x80a),_0x3eda97[_0xc015b9(0x59c,0x2a0,0x48d,0x605)]=_0xc015b9(0x256,0x405,0x381,0x1af)+_0xc015b9(0x6d9,0x466,0x4d8,0x611)+'\x20NT\x2010.0;\x20'+'Win64;\x20x64'+')\x20AppleWeb'+_0xc015b9(0x3fd,0x45a,0x582,0x683)+_0xc015b9(0x685,0x49e,0x67e,0x7b0)+_0xc015b9(0x37b,0xee,0x27e,0x132)+_0xc015b9(0x62f,0x448,0x46e,0x53e)+_0x373afe(0x3d4,0x5ee,0x28c,0x5ba)+_0xc015b9(0x7ab,0x781,0x683,0x6fe)+'6';const _0x11a010={};_0x11a010[_0xc015b9(0x44d,0x6a3,0x53b,0x401)]=_0x3eda97,_0x4af34f=req(_0x185216,_0x11a010)[_0x373afe(0x504,0x5e8,0x3ee,0x48e)],_0x24b98d=JSON[_0x373afe(0x756,0x661,0x5eb,0x64e)](_0x4af34f)['data'][_0xc015b9(0x4fd,0x464,0x5ae,0x7b2)];}catch{}for(let _0x4151e6=-0x216d+-0x78a+-0x28f7*-0x1;_0x32d413[_0x373afe(0x408,0x204,0x360,0x3d1)](_0x4151e6,_0x24b98d[_0xc015b9(0x669,0x268,0x45a,0x37e)]);_0x4151e6++){if('WNvty'!==_0x32d413['YTrXz'])_0x5df45f=_0x32d413[_0xc015b9(0x319,0x494,0x2a3,0x440)](_0x32d413['iqvnA'](_0x32d413[_0x373afe(0x5f0,0x74b,0x598,0x7ba)](_0x32d413[_0xc015b9(0x3dd,0x5bd,0x3f0,0x4f5)](_0x5df45f,'#'),_0x24b98d[_0x4151e6][_0xc015b9(0x62d,0x38d,0x472,0x3f1)]),'$'),_0x24b98d[_0x4151e6][_0x373afe(0x57b,0x474,0x4e5,0x426)]);else{let _0x99263a='',_0x34c188='';_0x42e19e=_0x34f649[_0x373afe(0x527,0x4a5,0x6c7,0x6cb)](_0xc015b9(0x3e9,0x1c0,0x2a4,0x40a),''),_0x553e40=_0x2c969a[_0xc015b9(0x4b4,0x3bf,0x503,0x527)](_0x32d413[_0xc015b9(0x794,0x449,0x58c,0x38e)]);for(let _0x24d5a8=-0x13cd*0x1+-0x2134+0x3501;_0x32d413[_0xc015b9(0x1bc,0x1b9,0x3bb,0x3d1)](_0x24d5a8,_0x4ae7f1['length']);_0x24d5a8++){_0x99263a=_0x32d413[_0x373afe(0x52d,0x50c,0x4ae,0x389)](_0x99263a,_0x32d413[_0xc015b9(0x4ff,0x55c,0x34d,0x147)])+_0x32d413[_0x373afe(0x66e,0x5c0,0x707,0x82a)](_0x24d5a8,-0xb7b+-0x21d3+0x2d4f),_0x34c188=_0x32d413[_0xc015b9(0x51a,0x4c4,0x540,0x4f9)](_0x32d413[_0xc015b9(0x26d,0x3f1,0x2bb,0x151)](_0x32d413[_0xc015b9(0x457,0x5f3,0x563,0x608)](_0x34c188,_0x32d413[_0x373afe(0x3f7,0x428,0x4e3,0x56e)]),_0x3aeacd)+'$',_0x4be72e[_0x24d5a8]);}_0x1edca4['vod_play_f'+_0x373afe(0x45f,0x3cd,0x270,0x279)]=_0x99263a[_0xc015b9(0x24b,0x493,0x3f9,0x3ec)](/^\$\$\$/,''),_0x3d1b71[_0xc015b9(0x3a6,0x205,0x412,0x602)+'rl']=_0x34c188[_0xc015b9(0x469,0x47f,0x3f9,0x5e0)](/^\$\$\$/,'');}}_0x4e6720[_0xc015b9(0x59a,0x5be,0x4a2,0x592)+_0xc015b9(0x3fa,0x1e0,0x331,0x3d7)]=_0xa495d6,_0x4e6720[_0xc015b9(0x587,0x212,0x412,0x524)+'rl']=_0x5df45f['replace'](/^#/gm,'');}else{if(_0x32d413[_0x373afe(0x75f,0x54c,0x89d,0x749)](_0x373afe(0x795,0x91f,0x6e6,0x657),_0x32d413[_0x373afe(0x744,0x6e6,0x946,0x8c2)]))return;else{let _0x4a8526=_0x32d413[_0x373afe(0x43b,0x2bb,0x480,0x3e6)],_0x3de762='',_0x315a36='',_0xed6442='',_0x44f5d9=[_0x32d413[_0x373afe(0x678,0x538,0x555,0x87a)],_0x32d413[_0xc015b9(0x72d,0x608,0x5f2,0x4af)],'playUrlLow',_0x32d413[_0xc015b9(0x3ad,0x21f,0x295,0x24e)]],_0x13c70d=/(?:\?|\&)provinceCode=([\w+,.-]+)/m,_0x5592f6=/(?:\?|\&)categoryId=([\w+,.-]+)/m,_0x14f662=_0x185216[_0xc015b9(0x4ff,0x75b,0x692,0x7c7)](_0x13c70d)[-0x81*-0x29+0x16a6+-0x2b4e],_0x3c40a6=_0x185216[_0xc015b9(0x7b8,0x54f,0x692,0x893)](_0x5592f6)[-0x610*0x2+0xa5d+0x1c4];const _0x107ef4={};_0x107ef4[_0xc015b9(0x3d2,0x4e5,0x5cd,0x436)]=_0x3c40a6,_0x107ef4[_0x373afe(0x5ac,0x3c3,0x4a7,0x3af)+'de']=_0x14f662;let _0x5e3d94=_0x107ef4,_0x88835b=_0x32d413['HTapb'](lfnn,_0x5e3d94);try{const _0x4bbf18={};_0x4bbf18[_0x373afe(0x757,0x968,0x87b,0x707)]=_0x32d413[_0xc015b9(0x6e2,0x752,0x591,0x3dc)],_0x4bbf18[_0x373afe(0x459,0x2d1,0x618,0x2e8)+_0xc015b9(0xe8,0x2b1,0x2f5,0x2c3)]=_0x32d413[_0x373afe(0x589,0x455,0x715,0x37d)],_0x4bbf18[_0xc015b9(0x359,0x2fa,0x34a,0x46e)+'rol']=_0x32d413[_0x373afe(0x62e,0x69b,0x5ff,0x57f)],_0x4bbf18[_0xc015b9(0x464,0x19e,0x2d6,0x2b3)]=_0xc015b9(0x6aa,0x6d1,0x5e9,0x705),_0x4bbf18[_0xc015b9(0x63e,0x4fb,0x5b7,0x56e)+'pe']=_0x32d413['XiOJj'],_0x4bbf18['Origin']=_0x373afe(0x455,0x312,0x37a,0x44b)+'w.radio.cn',_0x4bbf18[_0xc015b9(0x2a0,0x4d3,0x48b,0x302)]=_0x32d413[_0xc015b9(0x399,0x484,0x500,0x34e)],_0x4bbf18[_0xc015b9(0x4ca,0x48b,0x346,0x41c)]=_0x32d413[_0x373afe(0x7b9,0x8ab,0x675,0x7dc)],_0x4bbf18[_0xc015b9(0x452,0x70a,0x5ab,0x778)]=_0x32d413[_0xc015b9(0x6c4,0x4e3,0x5bd,0x621)],_0x4bbf18[_0xc015b9(0x269,0x2b9,0x3b2,0x4a0)+'d']=_0x32d413[_0x373afe(0x697,0x859,0x6ae,0x4df)],_0x4bbf18[_0xc015b9(0x243,0x1c3,0x272,0x243)]=_0x88835b[_0x373afe(0x3a0,0x4f4,0x3d3,0x5b7)],_0x4bbf18[_0x373afe(0x6cf,0x88a,0x785,0x79d)]=_0x88835b['Timestamp'];const _0x18fbb2={};_0x18fbb2[_0x373afe(0x669,0x503,0x57b,0x494)]=_0x4bbf18,_0x315a36=req(_0x185216,_0x18fbb2)[_0x373afe(0x504,0x326,0x3c0,0x555)],_0xed6442=JSON['parse'](_0x315a36)[_0x373afe(0x524,0x629,0x3f9,0x393)];}catch{}for(let _0x470001=0x15a4+0xeda+-0x615*0x6;_0x470001<-0xe*0xcc+-0x1*-0x1cd5+-0x11a9;_0x470001++){_0x3de762=_0x32d413[_0x373afe(0x69f,0x542,0x555,0x4ba)](_0x3de762,_0x32d413[_0x373afe(0x3f7,0x509,0x368,0x4bc)]);for(let _0x109bfd=0x39*0x55+0x9*0x2a1+-0x2a96;_0x109bfd<_0xed6442['length'];_0x109bfd++){_0x3de762=_0x32d413['bxjaD'](_0x32d413[_0xc015b9(0x517,0x3dc,0x3aa,0x18a)](_0x32d413[_0x373afe(0x56a,0x76a,0x50c,0x74c)](_0x32d413[_0x373afe(0x7ae,0x805,0x95c,0x78e)](_0x3de762,_0xed6442[_0x109bfd][_0x373afe(0x71b,0x79a,0x573,0x58b)]),'$'),_0xed6442[_0x109bfd][_0x44f5d9[_0x470001]]?_0xed6442[_0x109bfd][_0x44f5d9[_0x470001]]:_0xed6442[_0x109bfd][_0x44f5d9[0x1f8b+-0x5*0x29e+-0x1b*0xaf]]),'#');}}_0x4e6720[_0x373afe(0x5d0,0x69c,0x491,0x43b)+_0xc015b9(0x3ad,0x206,0x331,0x44d)]=_0x4a8526,_0x4e6720['vod_play_u'+'rl']=_0x3de762['replace'](/^\$\$\$/gm,'')[_0x373afe(0x527,0x69c,0x5cc,0x67f)](/#$/gm,'')[_0xc015b9(0x531,0x2ad,0x3f9,0x562)](/#\$\$\$/gm,_0x32d413[_0x373afe(0x3e6,0x323,0x27d,0x3ca)]);}}}else{if(_0x58d9e7['startsWith'](_0x32d413['CFBBg'])){let _0x2e8a85='',_0x554754='',_0x4a188a=_0x32d413[_0x373afe(0x71f,0x815,0x8ec,0x548)](lfii,_0x185216),_0x289fbb=_0x1d77db['load'](_0x4a188a),_0x24369c=_0x289fbb(_0x32d413['UIMWE']);for(let _0x4441cb=-0x373*0xa+-0x29f*-0x5+0x1564;_0x32d413['HSRFc'](_0x4441cb,-0x1*-0x80b+-0x1*0x2429+0x1c29);_0x4441cb++){_0x32d413['KtqWN'](_0x32d413[_0x373afe(0x42e,0x36c,0x299,0x2fb)],_0x32d413[_0xc015b9(0x4c7,0x410,0x300,0x412)])?_0x29912d[_0x373afe(0x3a2,0x48c,0x4f0,0x598)]({'vod_id':_0x32d413[_0x373afe(0x5f0,0x41a,0x4cf,0x6a2)](_0x32d413['EVWoe'](_0x487e40,this,this)[_0xc015b9(0x7b3,0x57f,0x61a,0x630)](),'$$$https:/'+_0xc015b9(0x218,0x469,0x41f,0x504))+_0x32d413[_0xc015b9(0x2d8,0x67c,0x4b4,0x476)](_0x4cc5b9,this,this)[_0x373afe(0x752,0x796,0x86f,0x90e)](_0x32d413['ljUTb']),'vod_name':_0x425aec(this,this)[_0x373afe(0x748,0x95c,0x551,0x644)](),'vod_pic':_0x493514[_0x373afe(0x4c1,0x493,0x4ef,0x621)+_0xc015b9(0x6f0,0x6e5,0x576,0x37a)],'vod_remarks':_0x32d413[_0x373afe(0x4b5,0x474,0x35c,0x3f0)]}):(_0x2e8a85=_0x32d413[_0x373afe(0x707,0x62e,0x77e,0x8c5)](_0x32d413[_0x373afe(0x5b1,0x419,0x4b9,0x7ce)](_0x32d413[_0xc015b9(0x578,0x5b4,0x562,0x636)](_0x2e8a85,_0x32d413[_0x373afe(0x3f7,0x508,0x5e7,0x4e5)]),'线路'),_0x4441cb),_0x24369c['each'](function(_0x2d7c1d){function _0x375238(_0x989b4b,_0x548810,_0x244b2c,_0x5a961b){return _0xc015b9(_0x989b4b-0x197,_0x548810-0x90,_0x5a961b- -0xe6,_0x548810);}function _0xa4cec2(_0x3ed683,_0x4c603d,_0xf25f5b,_0x18f409){return _0xc015b9(_0x3ed683-0x1bc,_0x4c603d-0xa8,_0x4c603d-0xf3,_0x3ed683);}_0x32d413['xAUiP'](_0x289fbb('a',this)[_0xa4cec2(0x4f9,0x70d,0x88f,0x6cb)](),'')&&(_0x554754=_0x32d413[_0xa4cec2(0x535,0x38e,0x40c,0x4bd)](_0x32d413[_0x375238(0x1e0,0x18d,0x350,0x293)](_0x32d413[_0x375238(0x300,0x180,0x334,0x38d)](_0x554754+'#',_0x32d413['EVWoe'](_0x289fbb,'a',this)[_0x375238(0x35f,0x6c5,0x474,0x534)]()),'$')+('http://m.i'+_0x375238(0x59a,0x4d4,0x55e,0x3a8)+'/'),_0x289fbb('a',this)[_0xa4cec2(0x77a,0x717,0x640,0x8b7)](_0x375238(0x404,0x264,0x4f2,0x351)))+_0x32d413['lXxhE']+_0x32d413[_0xa4cec2(0x5c7,0x699,0x666,0x5e6)](_0x4441cb,-0x12f5+0x1*-0x7e6+0x47a*0x6));}),_0x554754=_0x554754['replace'](/^#/,''),_0x554754=_0x32d413['HrNPX'](_0x554754,_0x373afe(0x47d,0x67b,0x4c7,0x529)));}_0x4e6720[_0x373afe(0x5d0,0x605,0x529,0x59f)+_0x373afe(0x45f,0x45d,0x505,0x2c7)]=_0x2e8a85[_0x373afe(0x527,0x6bc,0x62e,0x3a7)](/^\$\$\$/,''),_0x4e6720[_0xc015b9(0x3f5,0x21b,0x412,0x576)+'rl']=_0x554754['replace'](/\$\$\$#/g,_0xc015b9(0x4b5,0x5a8,0x5a4,0x3c4));}else{let _0x2206df=lfii(_0x185216);if(_0x2206df[_0x373afe(0x6b4,0x7a9,0x5aa,0x4b8)](_0x32d413[_0x373afe(0x5e7,0x721,0x7a6,0x3ca)])!=-(-0x57*-0xa+0x91*0xf+-0x4*0x2f9)){if(_0x32d413[_0x373afe(0x3fe,0x5fb,0x4f7,0x5f6)](_0x32d413[_0xc015b9(0x217,0x279,0x2fe,0x47b)],_0x32d413[_0xc015b9(0x4b0,0x220,0x39c,0x313)])){let _0x49f992=_0x52a613[_0x373afe(0x527,0x5d1,0x690,0x329)](/[ \-_]+/gm,'');_0x49f992['match'](_0x1ed2d6)&&_0x2ec532[_0xc015b9(0x452,0x172,0x274,0x3c8)]({'vod_id':_0x32d413['qXXpG'](_0x38a639,_0x373afe(0x4a0,0x573,0x5bf,0x2a2)+'b]')+_0x55661a[_0xc015b9(0x37d,0x523,0x469,0x2aa)][_0x4fc9d2][_0x5299bc][_0xc015b9(0x6c3,0x4a8,0x52f,0x680)]('###'),'vod_name':_0x554327,'vod_pic':_0x332465[_0x373afe(0x5e0,0x4f3,0x3ff,0x467)][_0x407192[_0x373afe(0x631,0x561,0x4aa,0x814)]('-')[0x177a+-0x255c+0xde2]],'vod_remarks':_0x4f1a6d[_0x373afe(0x527,0x53b,0x647,0x456)](/\/parse$/,'')});}else{let _0xc19b39=/(.*),(.*)(\r\n|\n)+((?:http|rtmp|mitv)[^\s]*)/gm;while(_0x32d413[_0x373afe(0x482,0x4e5,0x5b4,0x3f3)](_0x5a74c9=_0xc19b39[_0x373afe(0x3a8,0x4be,0x279,0x284)](_0x2206df),null)){if(_0x32d413[_0x373afe(0x3b8,0x458,0x22a,0x545)]===_0x32d413[_0xc015b9(0x337,0x377,0x28a,0x25e)]){_0x32d413[_0x373afe(0x497,0x3ac,0x552,0x57e)](_0x5a74c9[_0x373afe(0x542,0x3b0,0x3ca,0x608)],_0xc19b39[_0x373afe(0x7c2,0x5f0,0x958,0x7bd)])&&_0xc19b39[_0xc015b9(0x730,0x6cb,0x694,0x815)]++;let _0x1770fa=_0xc015b9(0x7bb,0x7b7,0x607,0x792);_0x1770fa=(_0x5a74c9[-0x2f*-0xb0+0xe*0x35+-0x2335*0x1][_0x373afe(0x7c0,0x786,0x834,0x674)](/group-title="(.*?)"/)||[null,_0x1770fa])[0x1*-0xd17+-0xe50+-0x6da*-0x4],_0x1770fa=_0x1770fa[_0xc015b9(0x560,0x31b,0x3f9,0x4e9)](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x5a74c9[-0x5c1+-0x2135+0x26f8]=_0x5a74c9[0xa2c+-0x21c3+0x35f*0x7][_0x373afe(0x527,0x51b,0x45f,0x5df)](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x1770fa=_0x1770fa[_0xc015b9(0x532,0x4ae,0x3f9,0x45b)](/(#|\$)/gm,''),_0x5a74c9[-0x1ffc+-0x1384+-0x13*-0x2b6]=_0x5a74c9[-0x92*0x12+-0x71*-0x1e+-0x2f8]['replace'](/(#|\$)/gm,''),_0x185216[_0x373afe(0x7c0,0x685,0x9ab,0x91a)](/goolguy007/m)&&(_0x58d9e7=_0x58d9e7[_0xc015b9(0x2ff,0x550,0x3f9,0x445)](_0x32d413['IOsNF'],''));if(_0x32d413[_0xc015b9(0x5c2,0x637,0x67c,0x5f0)](_0x1770fa,_0x58d9e7)){if(_0x32d413[_0xc015b9(0x46a,0x549,0x418,0x2bf)]('tFZIt',_0xc015b9(0x279,0x45c,0x451,0x289)))_0x32d413[_0x373afe(0x6d7,0x4da,0x4d0,0x70a)](_0x5580d7('a',this)[_0x373afe(0x748,0x54e,0x782,0x584)](),'')&&_0x3f22c9['push']({'vod_id':_0x32d413['qFnKS'](_0x32d413[_0xc015b9(0x358,0x695,0x50d,0x382)](_0xc015b9(0x5dd,0x783,0x5a0,0x418),_0x2d74e4('a',this)[_0xc015b9(0x774,0x82a,0x61a,0x546)]()),_0x32d413[_0xc015b9(0x162,0x19c,0x2c9,0x381)])+_0x49d81a('a',this)[_0x373afe(0x752,0x53d,0x8f9,0x835)]('href'),'vod_name':_0x32d413[_0xc015b9(0x7d6,0x47e,0x627,0x7f9)](_0x2bd727,'a',this)[_0x373afe(0x748,0x647,0x91b,0x5c9)](),'vod_pic':_0x10aad4[_0x373afe(0x4c1,0x35f,0x43f,0x323)+'Url'],'vod_remarks':''});else{_0x58d9e7['match'](/\/parse$/)&&(_0x5a74c9[-0x258d*-0x1+-0x241a+-0x16f]=_0x5a74c9[0x1*-0xfc1+-0x11c9+0x218e][_0xc015b9(0x318,0x5f3,0x3f9,0x3c0)](/\/$/,''),!_0x5a74c9[-0x174a+-0x7a*-0x1+0x16d4][_0xc015b9(0x70c,0x74f,0x692,0x5da)](/\/parse$/)&&(_0x5a74c9[-0x1*-0x16f3+0x7*-0x2b1+0x1*-0x418]=_0x32d413['WcFYu'](_0x5a74c9[0x1eb0+0x1017*-0x2+0x182],_0x32d413[_0x373afe(0x7a3,0x9a9,0x84e,0x9b0)])));if(_0x3e7589[_0x5a74c9[0x56e+-0xa08+0x49c]]){let _0x2fd6bd='线路'+_0x32d413['QmbbJ'](_0x3e7589[_0x5a74c9[0x761*-0x4+0x15ed*0x1+0x1*0x799]][_0xc015b9(0x461,0x40f,0x45a,0x2f7)],-0x163*0xd+-0xb*0x36e+0x37c2);_0x3e7589[_0x5a74c9[-0x1ee*-0x1+-0xc3*-0x31+-0x273f]][_0x373afe(0x3a2,0x2fb,0x2b5,0x4b4)]({'name':_0x2fd6bd,'url':_0x5a74c9[-0x2*-0x318+-0x1d1d+0x16f1]});}else{_0x3e7589[_0x5a74c9[0x18c0+0x1c9+-0x1a87]]=[];let _0x1b5599=_0x32d413[_0xc015b9(0x45a,0x3ce,0x598,0x581)];_0x3e7589[_0x5a74c9[-0xede+-0x1d1*0x9+0x1f39]][_0x373afe(0x3a2,0x489,0x542,0x5b1)]({'name':_0x1b5599,'url':_0x5a74c9[-0x4*0x2cc+-0x88d+0x13c1]});}}}}else{_0x376369=_0x283843[_0x593891][_0xc015b9(0x470,0x4e4,0x309,0x138)];let _0x101d02=_0x32d413[_0xc015b9(0x1e5,0xe7,0x2c4,0x140)]+_0x504f2d[_0x231b97]['rid'];_0x3c3070[_0xc015b9(0x482,0x491,0x397,0x25e)]({'vod_id':_0x32d413[_0xc015b9(0x575,0x783,0x613,0x7ea)](_0x32d413[_0xc015b9(0x2c4,0x423,0x33b,0x26f)](_0x32d413['gHGSs']('RADIO_',_0x58af9a),_0xc015b9(0x46c,0x54e,0x34f,0x4d9)),_0x101d02),'vod_name':_0x1563c5[_0xc015b9(0x250,0x401,0x3f9,0x45d)](/\/parse$/,''),'vod_pic':_0x5c20a7[_0x373afe(0x4c1,0x384,0x385,0x546)+_0xc015b9(0x6bc,0x514,0x576,0x5cf)],'vod_remarks':''});}}}}else{let _0x365320=/()(.*?),?(#genre#|(?:http|rtmp|mitv)[^\s]*)/gm,_0x2d5049=!![],_0x56ea95=_0x2206df[_0xc015b9(0x7dc,0x5bd,0x692,0x4c2)](/()(.*?),?(#genre#|(?:http|rtmp|mitv)[^\s]*)/m);_0x56ea95&&![_0x32d413[_0xc015b9(0x46a,0x6d4,0x534,0x600)],'##','头#',_0x32d413['KMTHU']][_0x373afe(0x6d3,0x51c,0x5df,0x8bf)](_0x56ea95[-0x1*0x649+0x31*-0x83+0x1f5f])&&(_0x2206df=_0x32d413[_0xc015b9(0x566,0x543,0x613,0x74a)](_0x32d413[_0x373afe(0x4fa,0x4e6,0x338,0x524)],_0x2206df));while(_0x32d413[_0x373afe(0x414,0x39e,0x60c,0x4cf)](_0x5a74c9=_0x365320[_0x373afe(0x3a8,0x2d8,0x368,0x1b9)](_0x2206df),null)){if(_0x32d413[_0x373afe(0x546,0x3c7,0x47a,0x742)](_0x32d413[_0x373afe(0x776,0x5a0,0x8d5,0x5fe)],_0x32d413[_0x373afe(0x6e7,0x5a9,0x57c,0x653)]))_0x179bdf=_0x32d413[_0x373afe(0x512,0x4b2,0x3f6,0x6a9)](_0xff3ad5,_0x3e0066,{'headers':{'Accept':_0xc015b9(0x352,0x4d3,0x467,0x4f2),'Accept-Language':_0x32d413[_0x373afe(0x589,0x557,0x51e,0x53e)],'Cache-Control':_0x32d413[_0xc015b9(0x3e9,0x59f,0x500,0x3f8)],'Connection':_0x32d413['TzwlI'],'Content-Type':_0x32d413[_0x373afe(0x5d3,0x53d,0x7d1,0x468)],'Origin':_0x32d413[_0xc015b9(0x343,0x4ce,0x422,0x3d8)],'Pragma':_0x32d413[_0x373afe(0x62e,0x478,0x731,0x5f4)],'Referer':_0xc015b9(0x469,0x40a,0x327,0x334)+_0xc015b9(0x618,0x7b7,0x5c7,0x681)+'/','User-Agent':_0x32d413['NFWEL'],'EquipmentId':_0x32d413[_0x373afe(0x697,0x522,0x535,0x7c4)],'Sign':_0x2746ac[_0xc015b9(0x3ae,0x350,0x272,0x3e3)],'Timestamp':_0x53935b[_0xc015b9(0x4ab,0x557,0x5a1,0x424)]}})['content'],_0xf6555a=_0xe402d8['parse'](_0x172e15)['data'];else{_0x5a74c9[_0xc015b9(0x1fa,0x5de,0x414,0x538)]===_0x365320['lastIndex']&&_0x365320['lastIndex']++,_0x5a74c9[-0x10a3+0x4*0x736+-0x9*0x15b]=_0x5a74c9[0x2020+0x1bc3+-0x3be1]['replace'](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x5a74c9[-0x2015+-0x2*-0x1061+0x3*-0x39]=_0x5a74c9[0x8c1*0x3+-0x342*0x4+-0x2a5*0x5][_0x373afe(0x527,0x60e,0x50e,0x606)](/(#|\$)/gm,'');if([_0x32d413[_0x373afe(0x662,0x840,0x56d,0x61c)],'##','头#',_0x32d413['KMTHU']][_0x373afe(0x6d3,0x54e,0x535,0x7df)](_0x5a74c9[0x512*-0x7+0x55*0x25+0x2*0xb9c])){if(_0x32d413['cdtLb'](_0x5a74c9[-0x1376+0x1a8c+-0x714],_0x58d9e7)){if(_0x32d413[_0x373afe(0x4d4,0x685,0x2f8,0x698)]!==_0x32d413[_0xc015b9(0x243,0x3b8,0x3a6,0x192)])_0x32d413[_0xc015b9(0x665,0x435,0x5a9,0x4c4)](_0x32d413['hFpEY'](_0x5b9bfb,'a',this)[_0xc015b9(0x807,0x6ff,0x61a,0x485)](),'')&&(_0x544c6a=_0x32d413[_0xc015b9(0x220,0x25c,0x379,0x431)](_0x32d413[_0x373afe(0x71d,0x643,0x887,0x590)](_0x32d413[_0x373afe(0x521,0x686,0x6a6,0x4e2)](_0x32d413[_0x373afe(0x63b,0x668,0x43c,0x53a)](_0x32d413[_0xc015b9(0x170,0x3b0,0x2bb,0x36c)](_0x2cf71c+'#',_0x32d413[_0xc015b9(0x593,0x558,0x44a,0x4f8)](_0x419cd5,'a',this)['text']()),'$'),_0x32d413[_0x373afe(0x5ec,0x41a,0x443,0x66a)])+_0x32d413['EiFSf'](_0x253d4f,'a',this)[_0x373afe(0x752,0x7f6,0x69e,0x7e8)](_0x32d413[_0x373afe(0x736,0x955,0x696,0x518)]),_0x373afe(0x722,0x69c,0x82c,0x5ac)),_0x2e6091-(-0x1257+0x1*-0xc90+0x1ee8)));else{_0x2d5049=![];continue;}}else{if(_0x32d413[_0x373afe(0x6c4,0x596,0x56d,0x7de)]!==_0xc015b9(0x4dc,0x703,0x524,0x4cd)){if(!_0x2d5049)break;}else{_0x127b66=_0x32d413['VXaIf'](_0x190114,_0x878c90,{'headers':{'authority':_0x32d413[_0x373afe(0x709,0x6c8,0x509,0x7ac)],'accept':_0x32d413[_0x373afe(0x6b1,0x533,0x530,0x4c6)],'accept-language':'zh-CN,zh;q'+_0xc015b9(0x71b,0x42f,0x5f6,0x44a),'authorization':_0x373afe(0x411,0x4b0,0x3cb,0x35e),'cache-control':_0x373afe(0x7a1,0x7d6,0x66e,0x676),'user-agent':_0x32d413['NFWEL']}})[_0xc015b9(0x488,0x2e9,0x3d6,0x20c)];let _0x4b239e=/streaming url:([\s\S]*?)(.*?)<\/span>/m,_0x4a4901=/var wndt = (.*?)token":"(.*?)",/m;if(_0x56a826[_0xc015b9(0x7f9,0x7aa,0x692,0x8a1)](_0x4b239e))return _0x3589ef=_0x3929d1[_0xc015b9(0x6f2,0x6a6,0x692,0x817)](_0x4b239e)[0x1cc7+-0x1*0x184d+0x68*-0xb],_0x1ff54e=_0x32d413[_0x373afe(0x578,0x710,0x728,0x656)](_0x20764d,_0x2a2d35,{'method':_0x32d413['LWJNE'],'headers':_0xcf6d47['headers'],'redirect':0x0}),_0x5dfaa7=_0x2dd0bc['headers']['location'][_0xc015b9(0x412,0x5ce,0x3f9,0x4f7)](_0x32d413[_0xc015b9(0x49b,0x3f2,0x3e3,0x4d3)],''),_0x596c19;let _0x18b562=_0x417e91[_0x373afe(0x7c0,0x687,0x63c,0x5be)](_0x4a4901)[0x19d+-0x1667+0x1*0x14cc],_0x210264=_0x55c9f7[_0x373afe(0x522,0x5fa,0x60b,0x4e3)](_0x32d413[_0xc015b9(0x37b,0x49e,0x4c2,0x5f4)](_0x125298[_0xc015b9(0x32d,0x295,0x428,0x3ff)+'f']('/'),0xc1f+-0x9a1*-0x1+-0x15bf));_0x1f6f03=_0x32d413[_0x373afe(0x4f0,0x4bc,0x517,0x524)](_0x4e4535,_0x32d413['qFnKS'](_0x32d413[_0x373afe(0x664,0x822,0x76c,0x755)]+_0x210264,_0x32d413['ggMiv']),{'headers':{'authority':_0x32d413[_0xc015b9(0x5d6,0x700,0x5db,0x77d)],'accept':_0x32d413[_0x373afe(0x6b1,0x7a7,0x66f,0x571)],'accept-language':_0x32d413['mNFdI'],'authorization':_0x32d413[_0xc015b9(0x355,0x140,0x347,0x195)],'cache-control':_0x32d413['rvgwB'],'stream-token':_0x18b562,'user-agent':_0x32d413[_0xc015b9(0x71f,0x5ec,0x5bd,0x67c)]}})['content'],_0x5c5ce5=_0xbab9ba['parse'](_0x148d3b),_0x30007f=_0x463a2b[_0x373afe(0x524,0x5fc,0x610,0x42d)][_0xc015b9(0x411,0x5b7,0x545,0x347)][0x26ee+0xee+-0x27dc][_0x373afe(0x479,0x67d,0x4b8,0x490)];}}}if(_0x2d5049){if(_0x32d413[_0x373afe(0x767,0x775,0x931,0x7ba)](_0x32d413[_0xc015b9(0x46b,0x480,0x2fd,0x39c)],_0x373afe(0x488,0x34c,0x69a,0x2fd)))_0x4e58f5=_0x3b9598['replace'](/\s+/g,'.*');else continue;}_0x58d9e7[_0xc015b9(0x79d,0x51e,0x692,0x60d)](/\/parse$/)&&(_0x5a74c9[0x242a+-0x4e7+-0x1f40*0x1]=_0x5a74c9[0x1*0x21f1+-0x688+-0x1b66][_0x373afe(0x527,0x3e1,0x38b,0x47b)](/\/$/,''),!_0x5a74c9[-0x14c9+-0x618+0xd72*0x2][_0x373afe(0x7c0,0x6b7,0x66f,0x936)](/\/parse$/)&&(_0x5a74c9[0x182*-0x1+0x700+-0x57b]=_0x32d413['WqraI'](_0x5a74c9[0x156d*0x1+0x758+-0x6*0x4cb],_0x32d413[_0x373afe(0x7a3,0x634,0x765,0x638)])));if(_0x3e7589[_0x5a74c9[0x4*0x7a3+0x223+-0x689*0x5]]){let _0x385552=_0x32d413['SbdiW']('线路',_0x32d413['nATwE'](_0x3e7589[_0x5a74c9[-0xe86+-0x1d8c+0x2c14]][_0x373afe(0x588,0x52b,0x585,0x587)],0x937+-0x1694+0x1d*0x76));_0x3e7589[_0x5a74c9[-0x3*0x5d6+0x105*0x2+0xf7a]][_0x373afe(0x3a2,0x327,0x4b4,0x524)]({'name':_0x385552,'url':_0x5a74c9[0x1*0x10fc+-0x54e*-0x7+-0x361b]});}else{if(_0xc015b9(0x3fb,0x64d,0x4ca,0x601)!==_0x32d413[_0x373afe(0x643,0x5f5,0x615,0x727)])_0x32d413[_0xc015b9(0x488,0x498,0x627,0x5b6)](_0xeffbb8,()=>{_0x4ca82f(0x3d*0x1d+-0x1f21+-0x9*-0x2b1);},_0x931fb5[_0x373afe(0x60b,0x481,0x63b,0x79e)+'_interval']),_0x3a4a3f['log'](_0x32d413[_0xc015b9(0x416,0x283,0x3ca,0x4fb)]);else{_0x3e7589[_0x5a74c9[0xdbe*-0x1+-0x4*0x277+0x179c]]=[];let _0x183ea2=_0x32d413[_0x373afe(0x6c6,0x8a8,0x738,0x88e)];_0x3e7589[_0x5a74c9[-0x7*-0x20e+0x3af+0x3*-0x605]][_0x373afe(0x3a2,0x416,0x52b,0x2c0)]({'name':_0x183ea2,'url':_0x5a74c9[0x230a+-0x2*0xf32+0x1*-0x4a3]});}}}}}let _0x52fc8f=-0xedf+0xc3e+-0x1*-0x2a1;for(let _0x4b2f97 in _0x3e7589){if(_0x32d413[_0xc015b9(0x722,0x6f1,0x5de,0x520)](_0x32d413[_0x373afe(0x733,0x8fb,0x817,0x735)],_0x32d413[_0x373afe(0x5d8,0x70a,0x43f,0x71a)]))_0x3e7589[_0x4b2f97][_0x373afe(0x588,0x52c,0x3dd,0x784)]>_0x52fc8f&&(_0x52fc8f=_0x3e7589[_0x4b2f97][_0x373afe(0x588,0x485,0x51f,0x65d)]);else{_0x5d2b45[_0x32d413[_0xc015b9(0x4a8,0x49f,0x50d,0x675)]('线路',_0x23a491)]=[];for(let _0x52b759 in _0x44e9e6){let _0x1769ec='';_0x32d413[_0x373afe(0x575,0x359,0x66f,0x702)](_0x386747,_0x5b2dd7[_0x52b759][_0xc015b9(0x2ad,0x398,0x45a,0x5ed)])?_0x1769ec=_0x113fb4[_0x52b759][_0x32d413[_0x373afe(0x6d4,0x6c8,0x8b2,0x7d9)](_0x50d3f5,0x261a+0x24b*-0x11+-0x71*-0x2)][_0x373afe(0x479,0x4cd,0x442,0x287)]:_0x1769ec=_0x4af5d2[_0x52b759][_0x11a389[_0x52b759][_0x373afe(0x588,0x76c,0x51e,0x660)]-(-0x18ee+-0x6a2*-0x1+0x124d)][_0xc015b9(0x253,0x339,0x34b,0x2b3)];const _0x306e20={};_0x306e20[_0x373afe(0x779,0x5a1,0x751,0x814)]=_0x52b759,_0x306e20[_0x373afe(0x479,0x44c,0x620,0x612)]=_0x1769ec,_0x532c47[_0x32d413[_0x373afe(0x6d1,0x8e1,0x575,0x8c9)]('线路',_0x3b6c28)][_0x373afe(0x3a2,0x3c5,0x592,0x49e)](_0x306e20);}}}let _0x51a8bd={};for(let _0x157448=0x48*0x12+0x72*0x25+-0x1589;_0x32d413[_0x373afe(0x3b7,0x34c,0x3e4,0x4d5)](_0x157448,_0x52fc8f);_0x157448++){if(_0x32d413[_0xc015b9(0x119,0x351,0x2d0,0x445)](_0x32d413[_0xc015b9(0x4cf,0x32f,0x385,0x522)],_0x32d413['mHwFK'])){_0x51a8bd[_0x32d413['nIqxV']('线路',_0x157448)]=[];for(let _0x35f10d in _0x3e7589){if(_0x32d413[_0xc015b9(0x3f2,0x545,0x354,0x43e)](_0x32d413['aFfJW'],_0x32d413[_0xc015b9(0x205,0xc9,0x2bd,0x4bb)]))_0x44168f[_0x554b15][_0x373afe(0x588,0x723,0x434,0x386)]>_0x25d05d&&(_0x429e7c=_0x19846b[_0x421ce1][_0xc015b9(0x616,0x23e,0x45a,0x3b6)]);else{let _0x583aa4='';_0x157448<=_0x3e7589[_0x35f10d][_0x373afe(0x588,0x608,0x67b,0x5c6)]?_0x583aa4=_0x3e7589[_0x35f10d][_0x32d413[_0xc015b9(0x3d3,0x3e7,0x4c8,0x2be)](_0x157448,0x732+0x2*0x1206+-0x2b3d)]['url']:_0x583aa4=_0x3e7589[_0x35f10d][_0x3e7589[_0x35f10d][_0xc015b9(0x281,0x24e,0x45a,0x41c)]-(-0x13c1+0x7fd*0x4+0x7*-0x1be)][_0x373afe(0x479,0x401,0x365,0x3d7)];const _0x38e112={};_0x38e112['name']=_0x35f10d,_0x38e112[_0xc015b9(0x516,0x183,0x34b,0x183)]=_0x583aa4,_0x51a8bd[_0x32d413['dMXUt']('线路',_0x157448)][_0xc015b9(0x453,0x207,0x274,0x190)](_0x38e112);}}}else _0x39df2c=_0x32d413[_0x373afe(0x521,0x5d6,0x3d5,0x5a5)](_0x438963+_0x32d413['GeGYr'],_0x1fc6df);}let _0x303db8=lfdd(_0x51a8bd);_0x4e6720[_0x373afe(0x5d0,0x643,0x4ab,0x725)+_0x373afe(0x45f,0x33f,0x320,0x489)]=_0x303db8[_0x373afe(0x5d0,0x6c3,0x530,0x4eb)+_0x373afe(0x45f,0x5ed,0x2a6,0x2ca)],_0x4e6720[_0xc015b9(0x47c,0x430,0x412,0x550)+'rl']=_0x303db8['vod_play_u'+'rl'];}}}else{const _0x124864={};_0x124864[_0x373afe(0x669,0x7bc,0x639,0x5e8)]=_0x366c49[_0x373afe(0x669,0x5ba,0x79c,0x796)];let _0x38300e=_0x32d413[_0x373afe(0x3a1,0x223,0x2fc,0x40a)](_0x1996d3,_0x373afe(0x58c,0x744,0x404,0x484)+_0x373afe(0x6ea,0x74d,0x757,0x822)+_0xc015b9(0x6a1,0x69e,0x69d,0x4d0)+_0x373afe(0x503,0x306,0x585,0x6ae),_0x124864)[_0xc015b9(0x5cb,0x4f2,0x3d6,0x520)];return _0x5de306[_0xc015b9(0x52d,0x7f9,0x628,0x631)](_0x38300e)[_0xc015b9(0x38c,0x375,0x3f6,0x547)][_0xc015b9(0x535,0x570,0x54f,0x735)+'e'];}}_0x32d413['lYoDq'](lfjj,_0x5db789,_0x4e6720[_0x373afe(0x5d0,0x5fe,0x3f7,0x6f3)+_0xc015b9(0x2ec,0x49b,0x331,0x28d)],_0x4e6720[_0xc015b9(0x33f,0x3b7,0x412,0x62e)+'rl']);}else return _0x3a461e['log'](_0x32d413[_0x373afe(0x4fc,0x5c7,0x321,0x5a3)]),_0x318064[_0x373afe(0x71a,0x79a,0x7ab,0x6fb)][_0x597bcb];}}else{const _0x5f26fa={'ZiBET':function(_0x676709,_0x1e1a5b,_0x3db216){function _0x4fbfbd(_0x48fad2,_0x23ffe0,_0x1f0fa4,_0x31f5ab){return _0xc015b9(_0x48fad2-0x19a,_0x23ffe0-0x134,_0x48fad2- -0x40b,_0x31f5ab);}return _0x32d413[_0x4fbfbd(0x3f,0x215,-0x6e,0x14c)](_0x676709,_0x1e1a5b,_0x3db216);},'KKRVC':function(_0x47dee6,_0x48990b,_0x27352f){return _0x32d413['onvEf'](_0x47dee6,_0x48990b,_0x27352f);},'grjkQ':_0x32d413[_0x373afe(0x736,0x778,0x589,0x580)],'aVCbS':function(_0x26594c,_0x1e1eea,_0x1ac731){function _0x4f49a0(_0x71d509,_0x268f37,_0x3c9784,_0x7b7db7){return _0x373afe(_0x268f37- -0x80,_0x268f37-0xd8,_0x3c9784,_0x7b7db7-0x15d);}return _0x32d413[_0x4f49a0(0x50e,0x43e,0x28f,0x353)](_0x26594c,_0x1e1eea,_0x1ac731);},'qKpHF':_0x32d413['ghYyx']},_0x30df8a={};_0x30df8a[_0xc015b9(0x6af,0x618,0x5b7,0x6fb)+'pe']=_0xc015b9(0x2ef,0x386,0x49d,0x3dc)+'n/x-www-fo'+_0xc015b9(0x54a,0x5b8,0x3c7,0x581)+'ded',_0x30df8a[_0x373afe(0x5bb,0x6f1,0x704,0x657)]=_0x373afe(0x44f,0x46c,0x416,0x557)+_0x373afe(0x3e4,0x439,0x373,0x295);let _0x45daf0=_0x32d413[_0xc015b9(0x472,0x1e9,0x273,0x473)](_0xbe437c,_0x32d413[_0xc015b9(0x3fc,0x3b8,0x577,0x5ac)],{'headers':_0x30df8a,'method':_0x32d413[_0xc015b9(0x1e8,0x526,0x36d,0x332)],'body':_0x32d413[_0xc015b9(0x601,0x63e,0x642,0x61e)](_0x32d413[_0xc015b9(0x392,0x40b,0x366,0x302)](_0x32d413['aZewK'],_0x1170c),_0x32d413[_0xc015b9(0x53d,0x1cc,0x3de,0x1ff)])})[_0xc015b9(0x503,0x582,0x3d6,0x48f)],_0x584e51=_0x53a220['load'](_0x45daf0),_0x17f844=_0x32d413[_0xc015b9(0x531,0x360,0x46f,0x65f)](_0x584e51,_0x32d413[_0xc015b9(0x2e0,0xde,0x29e,0x3b0)]),_0x5d53b3={};_0x17f844['each'](function(_0x52fec7){let _0xea0fdf=_0x5f26fa[_0x3eac7a(0x7d9,0x7d0,0x810,0x708)](_0x584e51,'td',this)['eq'](-0xef7*-0x1+0x11b*-0x16+0x95b)[_0x3eac7a(0x75c,0x6f5,0x5b9,0x6b8)]()[_0x3eac7a(0x363,0x4bf,0x37f,0x497)](/@@\d+$/,'')['replace']('台','')[_0x3eac7a(0x354,0x4b8,0x4ff,0x497)]('衛視','卫视');function _0x3eac7a(_0x570e7e,_0x53141e,_0x2d38ab,_0x5df043){return _0x373afe(_0x5df043- -0x90,_0x53141e-0x18a,_0x2d38ab,_0x5df043-0x1ae);}function _0x21c12b(_0x2537cb,_0x3dc633,_0x54a868,_0x245dee){return _0xc015b9(_0x2537cb-0x37,_0x3dc633-0x1b9,_0x3dc633- -0x35a,_0x54a868);}_0x5d53b3[_0xea0fdf]?_0x5d53b3[_0xea0fdf][_0x21c12b(-0x1f7,-0xe6,-0x62,-0x40)](_0x5f26fa[_0x3eac7a(0x8aa,0x5ca,0x6a4,0x6bf)](_0x584e51,_0x21c12b(-0xa9,0x16d,0x2b2,0x8e),this)[_0x21c12b(0x3ff,0x2ca,0x147,0x10c)](_0x5f26fa['grjkQ'])):_0x5d53b3[_0xea0fdf]=[_0x5f26fa[_0x21c12b(0x303,0x146,-0xc5,0x189)](_0x584e51,_0x5f26fa['qKpHF'],this)['attr'](_0x5f26fa[_0x3eac7a(0x4bd,0x684,0x66c,0x466)])];});for(let _0x886458 in _0x5d53b3){_0x31b3e7[_0xc015b9(0x158,0x243,0x274,0x169)]({'vod_id':_0x32d413['HrNPX'](_0x886458+_0x32d413['NHxTP'],_0x5d53b3[_0x886458][_0xc015b9(0x6f4,0x368,0x52f,0x577)](_0xc015b9(0x43b,0x6c4,0x4f5,0x688))),'vod_name':_0x886458,'vod_pic':_0x558a53[_0xc015b9(0x517,0x557,0x393,0x4e8)+_0xc015b9(0x4fb,0x4f0,0x576,0x481)],'vod_remarks':_0x32d413['SNmgA']});}}}}else _0x2b970f['push']({'vod_id':_0x32d413[_0x373afe(0x5ed,0x62b,0x4e7,0x4a1)](_0x32d413[_0xc015b9(0x407,0x443,0x483,0x470)](_0xa04a13['groupDB'][_0x52add8]['gname'],_0x32d413[_0x373afe(0x3f7,0x5af,0x35f,0x267)]),_0x3ebe1a[_0xc015b9(0x747,0x6bb,0x669,0x889)][_0x1d3818]['surl']),'vod_name':_0x47aaac[_0xc015b9(0x464,0x85a,0x669,0x628)][_0x508396][_0x373afe(0x72e,0x738,0x69b,0x55e)]['replace'](/\/parse$/,''),'vod_pic':_0x1688dc[_0x373afe(0x5e0,0x76a,0x776,0x783)][_0x561e31[_0xc015b9(0x4c2,0x7c5,0x669,0x73f)][_0x4c2bd6][_0x373afe(0x402,0x270,0x290,0x371)]],'vod_remarks':_0x2b0e1c['groupDB'][_0x186799][_0x373afe(0x402,0x232,0x4b2,0x23b)]});}}}}}_0x32d413[_0x373afe(0x4fd,0x63a,0x4f6,0x610)](config[_0x373afe(0x514,0x46d,0x38c,0x57d)],_0x32d413[_0x373afe(0x54f,0x60c,0x671,0x59a)])&&(_0x32d413[_0x373afe(0x77c,0x6cb,0x846,0x988)](lfee,0x892+0x20a7+-0x2937),config[_0x373afe(0x4c0,0x342,0x5e1,0x5bc)+'g']=![],config[_0x373afe(0x574,0x4ab,0x370,0x6ed)+'ag']=![]);try{_0x32d413[_0x373afe(0x3a1,0x4bc,0x598,0x341)](setTimeout,()=>{const _0x129365={'FCiDW':function(_0xa11d0f,_0x59ee51){return _0x32d413['KaapA'](_0xa11d0f,_0x59ee51);},'RLEBg':function(_0x26e557,_0x33235c,_0x3bd9d8){return _0x32d413['VXaIf'](_0x26e557,_0x33235c,_0x3bd9d8);},'rewKN':function(_0x5726c0,_0x55ac48){function _0x356953(_0x8a9583,_0x22dd7c,_0x42432e,_0x14d42f){return _0x4c7b(_0x8a9583- -0x11,_0x42432e);}return _0x32d413[_0x356953(0x4ef,0x552,0x3a5,0x5e9)](_0x5726c0,_0x55ac48);},'URdSU':function(_0x491ae1,_0x5ccf15){function _0x394da2(_0x4b40e9,_0x29479b,_0x33db8a,_0x2a72fa){return _0x4c7b(_0x4b40e9-0x222,_0x2a72fa);}return _0x32d413[_0x394da2(0x61c,0x577,0x799,0x779)](_0x491ae1,_0x5ccf15);},'OgYkB':function(_0xc7639,_0x2ba46f){return _0xc7639+_0x2ba46f;},'TFlNu':_0x32d413[_0x4fa22c(0x2b3,0x1e0,0x22e,0x127)],'IQfuN':'$$$','Vvvxm':function(_0x512795,_0x543dd2,_0x5aba11){return _0x32d413['EVWoe'](_0x512795,_0x543dd2,_0x5aba11);},'AWVNb':_0x3824a3(0x2d3,-0xb7,0x109,0x115),'WQowG':function(_0x16119,_0x5c6b01,_0x57b23a){return _0x16119(_0x5c6b01,_0x57b23a);},'MEdHk':function(_0x4fa521,_0x214e9b,_0x2b877d){function _0x4bb67(_0xd09e99,_0xa03ef0,_0x1c9b7e,_0x2929dd){return _0x3824a3(_0xd09e99-0x168,_0xa03ef0,_0x1c9b7e-0x42f,_0x2929dd-0x1c4);}return _0x32d413[_0x4bb67(0x813,0x838,0x728,0x55b)](_0x4fa521,_0x214e9b,_0x2b877d);},'aKmxs':_0x32d413[_0x4fa22c(0x327,0x334,0x24e,0x317)],'yGmtE':function(_0xd91f08,_0x1f78d8){function _0x3ed88a(_0x21f103,_0x24a5bd,_0x163926,_0x183644){return _0x3824a3(_0x21f103-0x166,_0x163926,_0x21f103- -0x173,_0x183644-0x7e);}return _0x32d413[_0x3ed88a(0x5b,-0x14,-0x165,-0x15e)](_0xd91f08,_0x1f78d8);},'PwJzc':_0x32d413[_0x4fa22c(0x2fe,0x5d7,0x439,0x401)],'mvwXQ':_0x32d413['hJctw'],'TsowZ':_0x32d413['qzmCa'],'eUEHI':_0x32d413[_0x3824a3(0x29a,0x534,0x340,0x161)],'ipbiu':_0x32d413[_0x3824a3(0x158,-0x20e,-0xb8,-0x253)]};function _0x4fa22c(_0x2ee39b,_0x4a6fbb,_0x59432b,_0x4c4f11){return _0xc015b9(_0x2ee39b-0x10,_0x4a6fbb-0x14e,_0x4c4f11- -0x29f,_0x4a6fbb);}function _0x3824a3(_0x3c7db7,_0x3195aa,_0x27e561,_0x5e9ab6){return _0xc015b9(_0x3c7db7-0xbf,_0x3195aa-0x162,_0x27e561- -0x32e,_0x3195aa);}if(_0x32d413[_0x3824a3(0x97,0x320,0x214,0x5d)]!==_0x32d413[_0x4fa22c(0x3ed,0x4b7,0x2c9,0x343)])_0x32d413[_0x4fa22c(0x69,0x5d,0x19e,0x1e5)](lfee,-0x6c5*-0x1+-0x1720+0x105d);else{if(_0x4f9b16[_0x3824a3(0x9c,-0x1c6,0x4d,0x14c)]){const _0xe5fcb={};_0xe5fcb[_0x4fa22c(0x3e9,0x468,0x121,0x29c)]=_0x58f199[_0x4fa22c(0x185,0x367,0x151,0x168)];let _0x47b19f=_0x129365['MEdHk'](_0x384eed,_0x129365['aKmxs'],_0xe5fcb)[_0x3824a3(0x290,0x27,0xa8,-0x6b)],_0x22be01=_0x25e15c['load'](_0x47b19f),_0x1bdefe=_0x129365[_0x4fa22c(0x349,0xdd,0x104,0x1d9)](_0x22be01,_0x129365[_0x3824a3(0x156,0x2b,0x219,0x21f)]);_0x1bdefe[_0x4fa22c(0xb0,-0x73,-0x42,0x15c)](function(_0x50a158){function _0xe59e9e(_0x44167f,_0x43214a,_0x15b27c,_0x170451){return _0x3824a3(_0x44167f-0x7c,_0x170451,_0x15b27c-0xed,_0x170451-0x2c);}function _0x47fbcd(_0x3f8699,_0x43c511,_0x579fe9,_0x47eb7f){return _0x3824a3(_0x3f8699-0xd8,_0x579fe9,_0x47eb7f-0xd2,_0x47eb7f-0x1f);}_0x129365['FCiDW'](_0x129365[_0x47fbcd(0x27a,0x80,0x1f8,0x10b)](_0x22be01,'a',this)['text'](),'')&&_0x395a84[_0x47fbcd(0x199,-0x6b,-0x99,0x18)]({'vod_id':_0x129365[_0x47fbcd(0x53b,0x5f3,0x409,0x3ff)](_0x129365['URdSU'](_0x129365[_0x47fbcd(0x57,-0xe9,-0xe4,0x10e)](_0x129365[_0xe59e9e(0x614,0x4ee,0x413,0x515)],_0x22be01('a',this)[_0x47fbcd(0x396,0x40a,0x339,0x3be)]()),_0x129365[_0x47fbcd(0x510,0x4b2,0x541,0x372)]),_0x129365[_0xe59e9e(0x54,-0x130,0x6c,0x1c1)](_0x22be01,'a',this)[_0x47fbcd(0x4e8,0x464,0x2d3,0x3c8)](_0x129365[_0x47fbcd(0x2a9,0x297,0x289,0x408)])),'vod_name':_0x129365[_0x47fbcd(0x2f6,0x39c,0x113,0x2c1)](_0x22be01,'a',this)[_0xe59e9e(0x56d,0x285,0x3d9,0x50a)](),'vod_pic':_0x45b16f[_0x47fbcd(0xbf,0x281,0x223,0x137)+'Url'],'vod_remarks':''});});}else{const _0x58ef4b={};_0x58ef4b[_0x3824a3(0x6b,0x3ab,0x27e,0x294)]=_0x129365[_0x3824a3(-0xe4,0x1a8,0x6,-0x1de)],_0x58ef4b[_0x3824a3(0x18e,0x211,0x2eb,0x4ed)]=_0x129365[_0x4fa22c(0x280,0x11d,0x135,0x238)],_0x58ef4b[_0x4fa22c(0x91,0x38e,0x15e,0x1af)]=_0x129365[_0x4fa22c(0x3b,-0x1c,0x118,0x1c6)],_0x58ef4b[_0x4fa22c(0x485,0x3d2,0x3b9,0x380)+'s']=_0x129365[_0x4fa22c(0x31c,0x13d,0x1a5,0x134)],_0x2f38c3[_0x4fa22c(-0x137,-0xec,-0x205,-0x2b)](_0x58ef4b);}const _0xdb1de3={};_0xdb1de3[_0x4fa22c(-0x8c,0x2f3,0x86,0x11b)]=_0x2c9ebc,_0x1caa59=_0xdb1de3;}},config['detail_fet'+_0x373afe(0x7b8,0x9b3,0x876,0x679)+'l']),console[_0xc015b9(0x220,0x22b,0x3da,0x24d)](_0x32d413['yqwIV']);}catch(_0x56670b){if(_0x32d413['KVDEI'](_0xc015b9(0x4b6,0x5dc,0x5ba,0x472),_0x32d413[_0x373afe(0x53d,0x3c6,0x607,0x3fa)])){let _0x559b88=_0x32d413[_0x373afe(0x6c6,0x4b8,0x692,0x5e4)],_0x45423f='小姐姐$https:'+_0xc015b9(0x632,0x514,0x5be,0x520)+_0x373afe(0x6ae,0x757,0x5b8,0x746)+'6666/api/w'+_0x373afe(0x6ff,0x781,0x8b3,0x870);_0x38dd3a[_0x373afe(0x5d0,0x4f4,0x7b3,0x6e0)+'rom']=_0x559b88,_0x1e51c4[_0x373afe(0x540,0x717,0x56c,0x6aa)+'rl']=_0x45423f[_0x373afe(0x527,0x38c,0x5db,0x403)](/#$/,''),_0x159a17[_0xc015b9(0x6f1,0x82e,0x619,0x4c1)]=_0x32d413['maPWR'],_0x2cba64[_0xc015b9(0x33e,0x5a4,0x4a4,0x58a)+'t']=_0x31d550[_0xc015b9(0x4cd,0x280,0x2bc,0x4b1)];}else console[_0xc015b9(0x560,0x462,0x3da,0x403)](_0x32d413['orJta']);}const _0x1101f3={};return _0x1101f3[_0x373afe(0x4e8,0x6ab,0x51a,0x4ad)]=[_0x4e6720],_0x2968ba=_0x1101f3,JSON[_0xc015b9(0x54e,0x676,0x614,0x75e)](_0x2968ba);}function _0x4c7b(_0x5a8624,_0x591e2e){const _0x34fc66=_0x1dc8();return _0x4c7b=function(_0x3bd66e,_0x45d77a){_0x3bd66e=_0x3bd66e-(-0x14b2+-0x18a*0x13+-0x141*-0x29);let _0x1f7aa7=_0x34fc66[_0x3bd66e];if(_0x4c7b['DROgbC']===undefined){var _0x421116=function(_0x3c2f07){const _0x2e55fb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb8b6c='',_0x4dc278='',_0x42da6d=_0xb8b6c+_0x421116;for(let _0x4c6476=-0x1c3c+-0x1*0x1f13+0x3b4f,_0x1df670,_0x29a949,_0x4acd26=0x394*0x2+0x1795+0x1*-0x1ebd;_0x29a949=_0x3c2f07['charAt'](_0x4acd26++);~_0x29a949&&(_0x1df670=_0x4c6476%(0x1*0xe7b+-0x1a6a+0xbf3)?_0x1df670*(0x5*0x53+-0xb0d+0x9ae)+_0x29a949:_0x29a949,_0x4c6476++%(0x1d77+0xcf7*-0x3+0x972))?_0xb8b6c+=_0x42da6d['charCodeAt'](_0x4acd26+(-0x121b+0x1d57+-0xb32))-(0x1*-0x14d+-0xe7*-0x16+-0x7*0x2a5)!==-0xb*0x1b7+-0x17*0x143+0x2fe2?String['fromCharCode'](-0x15b*-0x7+-0x4e*0x1f+0xf4&_0x1df670>>(-(0xc35*-0x1+-0x1546+-0x1*-0x217d)*_0x4c6476&-0xd15+-0x3*0x638+0x1fc3)):_0x4c6476:0x1a04+0xd98+-0x3*0xd34){_0x29a949=_0x2e55fb['indexOf'](_0x29a949);}for(let _0x5d1a82=0x20d+-0x1088+-0xb*-0x151,_0x5e52b9=_0xb8b6c['length'];_0x5d1a82<_0x5e52b9;_0x5d1a82++){_0x4dc278+='%'+('00'+_0xb8b6c['charCodeAt'](_0x5d1a82)['toString'](-0x77f+-0x1dfe+0x258d*0x1))['slice'](-(-0x4*-0x239+-0x1ccd*-0x1+-0x25af));}return decodeURIComponent(_0x4dc278);};_0x4c7b['nxRPoo']=_0x421116,_0x5a8624=arguments,_0x4c7b['DROgbC']=!![];}const _0x27351c=_0x34fc66[-0x2*0x157+0x55*-0xd+0x6ff],_0x28c7f8=_0x3bd66e+_0x27351c,_0x218208=_0x5a8624[_0x28c7f8];if(!_0x218208){const _0x4112ed=function(_0x39d3b5){this['MTcSpq']=_0x39d3b5,this['fcMfAs']=[0x267f+-0x1f*0x32+-0x1038*0x2,-0xc29*-0x1+-0x8*0x1b1+0x1*0x15f,0x2299+0x1051+-0x32ea],this['Wkokgw']=function(){return'newState';},this['qucYsa']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['dXSwah']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x4112ed['prototype']['xTREJR']=function(){const _0x4988ef=new RegExp(this['qucYsa']+this['dXSwah']),_0xfe73ba=_0x4988ef['test'](this['Wkokgw']['toString']())?--this['fcMfAs'][-0x1165+-0x8*-0x31a+-0x76a]:--this['fcMfAs'][-0x1cdb*-0x1+-0xea6+-0xe35];return this['HZfgRf'](_0xfe73ba);},_0x4112ed['prototype']['HZfgRf']=function(_0x57cbb3){if(!Boolean(~_0x57cbb3))return _0x57cbb3;return this['kfonpW'](this['MTcSpq']);},_0x4112ed['prototype']['kfonpW']=function(_0x285eda){for(let _0x5ea164=0x174d+0x1350+0x2a9d*-0x1,_0x31e960=this['fcMfAs']['length'];_0x5ea164<_0x31e960;_0x5ea164++){this['fcMfAs']['push'](Math['round'](Math['random']())),_0x31e960=this['fcMfAs']['length'];}return _0x285eda(this['fcMfAs'][0x137c+-0xd+-0x136f]);},new _0x4112ed(_0x4c7b)['xTREJR'](),_0x1f7aa7=_0x4c7b['nxRPoo'](_0x1f7aa7),_0x5a8624[_0x28c7f8]=_0x1f7aa7;}else _0x1f7aa7=_0x218208;return _0x1f7aa7;},_0x4c7b(_0x5a8624,_0x591e2e);}function lftb6(_0x2133e2,_0x3d2d9a,_0x318e8d){const _0x16f399={'MSuJS':function(_0x2a1e19,_0x4b4ab0){return _0x2a1e19+_0x4b4ab0;},'Tiiaw':function(_0x43bdc2,_0x3a2e0b){return _0x43bdc2+_0x3a2e0b;},'hTpAN':function(_0x32d5ce,_0x44f21e){return _0x32d5ce<_0x44f21e;},'vMzsJ':function(_0x36f8ad,_0x5bcca5){return _0x36f8ad+_0x5bcca5;},'aXMzD':function(_0x46255c,_0x502e4d){return _0x46255c+_0x502e4d;},'ckJDk':function(_0x12e1ae,_0x5a3dbb){return _0x12e1ae+_0x5a3dbb;},'gPkUY':'https://yt'+_0x1661fa(0x21e,0x327,0x38c,0x1bf)+'o.cn/web/a'+'ppBroadcas'+_0x2401bb(0x48b,0x51c,0x66b,0x356)+'egoryId=','auwaB':function(_0x2aabab,_0x466725){return _0x2aabab<_0x466725;},'CJyfC':_0x1661fa(0x6a8,0x4f9,0x354,0x465)+'ngfm.com/w'+_0x1661fa(0x719,0x5d3,0x5a8,0x759)+'ry/wnd_pos'+_0x2401bb(0x6cd,0x81a,0x701,0x73c)+_0x1661fa(0x309,0x40d,0x39a,0x5a9)+'e&type=rad'+_0x1661fa(0x729,0x543,0x5f5,0x37b)+_0x2401bb(0x774,0x7c6,0x6de,0x749)+_0x2401bb(0x3bc,0x33c,0x49e,0x2b1)+'_term_regi'+'on=','RdLmm':function(_0x4de766,_0x2a9380){return _0x4de766+_0x2a9380;},'kbOjb':function(_0x214470,_0x179ad2){return _0x214470+_0x179ad2;},'ftFkE':_0x2401bb(0x405,0x51c,0x535,0x348),'ZDzYg':_0x2401bb(0x4a0,0x616,0x671,0x5c4),'nYGgi':function(_0x1d22d8,_0x21d225){return _0x1d22d8>=_0x21d225;},'LfESR':function(_0x4b3df,_0x496ae3){return _0x4b3df+_0x496ae3;},'zQrSM':_0x1661fa(0x554,0x4f9,0x6f1,0x457)+_0x1661fa(0x38a,0x494,0x4d3,0x456)+_0x2401bb(0x709,0x879,0x54c,0x6e4)+_0x2401bb(0x732,0x88f,0x82e,0x723)+_0x2401bb(0x6cd,0x72b,0x51d,0x844)+_0x1661fa(0x44e,0x40d,0x436,0x537)+'e&type=rad'+'io&paged=1'+_0x2401bb(0x774,0x8dc,0x930,0x8f6)+_0x1661fa(0x1d1,0x286,0x192,0xef)+_0x2401bb(0x5ff,0x5ec,0x483,0x675)+_0x2401bb(0x41e,0x513,0x290,0x4e6),'URPge':function(_0x234b42,_0x405aa5){return _0x234b42+_0x405aa5;},'QQYmF':function(_0x43edec,_0x30003b){return _0x43edec+_0x30003b;},'VgpIO':function(_0x442cb6,_0x89238c){return _0x442cb6==_0x89238c;},'YlRUJ':function(_0x19587e,_0x48c8ae){return _0x19587e+_0x48c8ae;},'vssrR':_0x1661fa(0x401,0x5a6,0x476,0x52d),'hFgzK':function(_0x2c53b1,_0x43ebfb){return _0x2c53b1+_0x43ebfb;},'oNKBt':function(_0x5bb11f,_0x1c93f9){return _0x5bb11f+_0x1c93f9;},'vQelP':function(_0x28caf6,_0xf2f213){return _0x28caf6+_0xf2f213;},'MuZKI':function(_0x1613ef,_0x43e971){return _0x1613ef==_0x43e971;},'tqYuL':function(_0x5b20ec,_0x3565f6){return _0x5b20ec>_0x3565f6;},'IRGzO':function(_0x1ebf19,_0x14c789){return _0x1ebf19+_0x14c789;},'JyswP':function(_0xb220fc,_0x135d69){return _0xb220fc+_0x135d69;},'kXlDe':function(_0x124109,_0x1d1410){return _0x124109(_0x1d1410);},'COxWh':function(_0x4fe969,_0x236d30){return _0x4fe969+_0x236d30;},'AvMot':function(_0x1dfe11,_0x17a1d2,_0x24a469){return _0x1dfe11(_0x17a1d2,_0x24a469);},'ggapu':function(_0x7c49bb,_0x856f7e,_0x3e3d54){return _0x7c49bb(_0x856f7e,_0x3e3d54);},'Nvvfz':_0x2401bb(0x588,0x73e,0x41a,0x53a),'khTQY':_0x2401bb(0x5b2,0x71d,0x528,0x5d9),'QuAwY':_0x2401bb(0x55c,0x771,0x435,0x6df),'inejP':_0x2401bb(0x400,0x418,0x455,0x37c),'jIhlO':_0x1661fa(0x47a,0x2c6,0x3b5,0x2b8)+'#\x0a','wyUCk':function(_0x42f63c,_0x3cdb64){return _0x42f63c!==_0x3cdb64;},'fTtuk':function(_0x36beef,_0x126eb4){return _0x36beef===_0x126eb4;},'eJxbg':function(_0x1afeba,_0x2333c7){return _0x1afeba+_0x2333c7;},'wYgCy':function(_0x49cb55,_0x311344){return _0x49cb55!=_0x311344;},'fENdh':_0x2401bb(0x46f,0x466,0x2b0,0x342),'GyoOC':'YLmcK','fbdNY':_0x1661fa(0x330,0x334,0x1f7,0x38c),'cPupc':_0x1661fa(0x419,0x51c,0x612,0x625),'KUMTt':_0x1661fa(0x34b,0x4d6,0x60b,0x344),'cDybo':function(_0x5ba798,_0x7fceeb){return _0x5ba798(_0x7fceeb);},'hAoIB':function(_0x48f6fc,_0x2acb39){return _0x48f6fc===_0x2acb39;},'sKPzT':_0x2401bb(0x620,0x6a2,0x51a,0x55f),'xhhOb':_0x2401bb(0x66c,0x5e9,0x547,0x615),'euWzp':_0x1661fa(0x703,0x537,0x3d4,0x5ed),'gIpRI':'UHMNe','jXTDM':_0x2401bb(0x478,0x5d5,0x2d7,0x62b)+_0x1661fa(0x694,0x580,0x563,0x5d3)+'v','ahEXh':function(_0x40dddc,_0x5cc8e5){return _0x40dddc!==_0x5cc8e5;},'VQkEN':_0x1661fa(0x13f,0x2ab,0x483,0x321),'BUxNT':_0x2401bb(0x692,0x688,0x492,0x674),'ofRIA':function(_0x237a13,_0xb1366e,_0x161fc5){return _0x237a13(_0xb1366e,_0x161fc5);},'zlBBX':'详情页:\x20建立[搜索'+_0x1661fa(0x2f7,0x446,0x4c4,0x482),'rsBbz':_0x1661fa(0x5a5,0x595,0x5e0,0x6dd)};function _0x2401bb(_0x53e926,_0xcada3a,_0x4bbee9,_0xe768e8){return _0x32fa5d(_0xe768e8,_0x53e926-0x619,_0x4bbee9-0xa2,_0xe768e8-0x47);}let _0x3a6ff0={},_0x211a70='0',_0x34bee9='0',_0xf75e5d='';if(_0x16f399[_0x1661fa(0x500,0x4c2,0x451,0x580)](_0x3d2d9a[_0x2401bb(0x6d7,0x5e6,0x676,0x8f6)](_0x16f399[_0x1661fa(0x338,0x444,0x34b,0x57e)]),-(0x1*0x98f+0x8c7*0x3+0x1*-0x23e3))){if(_0x16f399[_0x2401bb(0x4da,0x694,0x53a,0x35b)](_0x16f399[_0x1661fa(0x850,0x68b,0x53e,0x833)],_0x16f399[_0x1661fa(0x56b,0x68b,0x886,0x68c)]))_0x3d2d9a=_0x16f399['kXlDe'](lfrr,_0x3d2d9a);else{let _0x4ff8c3=_0x16f399[_0x1661fa(0x16e,0x2b1,0x198,0x162)]('线路',_0x16f399[_0x1661fa(0x42a,0x392,0x3b2,0x2af)](_0x53e0cb[_0x93b2d[0x20e3*0x1+-0x3d*0x23+-0x188a]][_0x2401bb(0x5ab,0x560,0x52a,0x56e)],-0x19*-0x85+0x200c+-0x2d08));const _0x4a8f65={};_0x4a8f65[_0x2401bb(0x79c,0x98d,0x8c9,0x833)]=_0x4ff8c3,_0x4a8f65['url']=_0x1d3cbf[0x2c*0x1f+-0x1*0x1365+0xe14],_0x43ef77[_0xbd9e32[-0x26c+0x1205*-0x1+-0x417*-0x5]][_0x2401bb(0x3c5,0x439,0x41e,0x456)](_0x4a8f65);}}else{if(_0x2401bb(0x502,0x5fc,0x40b,0x457)===_0x16f399[_0x2401bb(0x797,0x5c2,0x671,0x6dd)]){for(let _0x198ab5=0x23d3+-0x3*0x283+0x96e*-0x3;_0x16f399[_0x2401bb(0x7f3,0x968,0x6a6,0x8b0)](_0x198ab5,_0x1738b5[_0x1661fa(0x4fb,0x475,0x493,0x5f1)]);_0x198ab5++){_0x1a4b2d=_0x42be89[_0x198ab5][_0x1661fa(0x508,0x677,0x778,0x54f)+'me'],_0x5c39ca=_0x4a2c03[_0x198ab5][_0x1661fa(0x3c6,0x499,0x2ad,0x303)+'de'];let _0x38522a=_0x16f399[_0x2401bb(0x766,0x880,0x898,0x5b7)](_0x16f399[_0x2401bb(0x3dd,0x348,0x230,0x313)](_0x16f399[_0x2401bb(0x568,0x348,0x5eb,0x56e)](_0x16f399['gPkUY'],_0x4bf85f),_0x2401bb(0x5d8,0x790,0x456,0x444)+_0x2401bb(0x6df,0x53f,0x56d,0x8a7)),_0x38635b);_0x2f7213[_0x2401bb(0x3c5,0x37c,0x426,0x256)]({'vod_id':_0x16f399['Tiiaw'](_0x16f399[_0x1661fa(0x258,0x2a7,0x263,0x1dc)](_0x16f399['MSuJS'](_0x1661fa(0x4b5,0x2cf,0x411,0x472),_0x309893),_0x2401bb(0x4a0,0x442,0x48c,0x582)),_0x38522a),'vod_name':_0x2f04fe[_0x2401bb(0x54a,0x741,0x74a,0x36c)](/\/parse$/,''),'vod_pic':_0x37635d['defaultPic'+_0x2401bb(0x6c7,0x8b6,0x4e5,0x89d)],'vod_remarks':''});}let _0x46445c=_0x1e414d['shift']();for(let _0x35c4bf=0x2ad*-0x7+0x38*-0xa6+0x370e;_0x16f399[_0x1661fa(0x325,0x406,0x53f,0x33e)](_0x35c4bf,-0x1*-0x141b+0x21d2+-0x35e8);_0x35c4bf++){_0x12a8a0=_0x265fb4[_0x35c4bf][_0x1661fa(0x366,0x324,0x29c,0x3c5)];let _0x30e650=_0x16f399['Tiiaw'](_0x16f399[_0x1661fa(0x5d2,0x50f,0x62d,0x427)],_0x15682c[_0x35c4bf][_0x1661fa(0x156,0x2f0,0x494,0x430)]);_0x4f0b5f['unshift']({'vod_id':_0x16f399[_0x1661fa(0x5a7,0x6a7,0x5f6,0x65b)](_0x16f399[_0x2401bb(0x4e6,0x505,0x5fc,0x68d)](_0x16f399[_0x1661fa(0x44d,0x630,0x485,0x680)](_0x16f399['ftFkE'],_0x2d1397),_0x16f399['ZDzYg']),_0x30e650),'vod_name':_0x4d8c9e[_0x1661fa(0x603,0x414,0x5c2,0x56b)](/\/parse$/,''),'vod_pic':_0x419ec9['defaultPic'+_0x2401bb(0x6c7,0x675,0x843,0x6b6)],'vod_remarks':''});}_0x23c436[_0x2401bb(0x4e8,0x3cb,0x3eb,0x31b)](_0x46445c);for(let _0x440c04=-0x1c4+-0xdc8+-0x7c7*-0x2;_0x16f399[_0x2401bb(0x523,0x57d,0x568,0x3dd)](_0x440c04,-0x1942+0x1d4c+-0x40a);_0x440c04--){_0x153f2f=_0x435918[_0x440c04][_0x1661fa(0x188,0x324,0x39e,0x453)];let _0x258875=_0x16f399[_0x1661fa(0x655,0x601,0x7b3,0x7ee)](_0x16f399[_0x1661fa(0x548,0x55a,0x424,0x568)],_0x179d15[_0x440c04][_0x1661fa(0x386,0x2f0,0x241,0x1d5)]);_0x394b69[_0x2401bb(0x4e8,0x5aa,0x6f9,0x417)]({'vod_id':_0x16f399[_0x1661fa(0x40f,0x5b4,0x3ab,0x413)](_0x16f399[_0x2401bb(0x5ce,0x6e9,0x4fa,0x4e2)](_0x16f399[_0x1661fa(0x638,0x41c,0x30a,0x3e9)],_0x52fa40)+_0x1661fa(0x2ef,0x36a,0x16e,0x18c),_0x258875),'vod_name':_0x3e07f3['replace'](/\/parse$/,''),'vod_pic':_0x3e71c6[_0x1661fa(0x261,0x3ae,0x4a0,0x204)+_0x1661fa(0x40e,0x591,0x4bb,0x3c4)],'vod_remarks':''});}}else{if(_0x16f399[_0x1661fa(0x543,0x4c2,0x4df,0x561)](_0x3d2d9a[_0x1661fa(0x5ea,0x5a1,0x49c,0x626)](_0x16f399['cPupc']),-(0x89f*-0x4+-0x3fd+0x18a*0x19))){if('tpDgg'!==_0x16f399['KUMTt']){let _0x44ffa8=/(.*),(.*)(\r\n|\n)+((?:http|rtmp|mitv)[^\s]*)/gm,_0x113be2=[];while((_0x2f2b51=_0x44ffa8[_0x2401bb(0x3cb,0x1eb,0x3b9,0x1d0)](_0x4683e4))!==null){_0xfdfbca[_0x1661fa(0x447,0x42f,0x470,0x60d)]===_0x44ffa8[_0x1661fa(0x867,0x6af,0x876,0x6fa)]&&_0x44ffa8['lastIndex']++;let _0x2dc8b2=_0x2401bb(0x758,0x89f,0x8b1,0x6d5);_0x2dc8b2=(_0x5f4869[-0xad7+0x1e9a*0x1+0x12*-0x119]['match'](/group-title="(.*?)"/)||[null,_0x2dc8b2])[-0x214f+0x1*-0x10b1+0x3201],_0x2dc8b2=_0x2dc8b2[_0x1661fa(0x470,0x414,0x5e7,0x5bf)](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x5c1cae[0xac9+-0x16ee+0xc27]=_0x2da47b[0xcd7+0x1*0x245+-0xf1a][_0x2401bb(0x54a,0x53a,0x646,0x753)](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x2dc8b2=_0x2dc8b2[_0x1661fa(0x59c,0x414,0x3d4,0x4fe)](/(#|\$)/gm,''),_0x62f085[0xa1f+-0x7ab*-0x5+-0x3074]=_0x4e7438[0x1*0x6c4+0x24e7+-0x2ba9*0x1]['replace'](/(#|\$)/gm,''),_0x16f399[_0x1661fa(0x552,0x5af,0x6fe,0x4a5)](_0x113be2[_0x1661fa(0x452,0x5a1,0x493,0x54d)](_0x2dc8b2),-(-0x56*0x52+-0x1c1+0x1d4e))&&(_0x113be2[_0x2401bb(0x3c5,0x1ba,0x42e,0x212)](_0x2dc8b2),!_0x3cc1bd[_0x2401bb(0x593,0x6a6,0x61d,0x5e8)+_0x2401bb(0x43b,0x323,0x484,0x24e)][_0x409cc4]&&(_0x5a5d0f['cacheCateg'+_0x2401bb(0x43b,0x43a,0x3da,0x2a9)][_0x2a2967]=[]),_0xbbc766[_0x1661fa(0x308,0x45d,0x60b,0x368)+_0x1661fa(0x4d5,0x305,0x484,0x46e)][_0x5ec26f][_0x2401bb(0x3c5,0x59b,0x5b7,0x291)]({'vod_id':_0x16f399['YlRUJ'](_0x2dc8b2+_0x16f399[_0x1661fa(0x6c5,0x508,0x38d,0x5a8)],_0x571aa7),'vod_name':_0x2dc8b2[_0x2401bb(0x54a,0x6d2,0x682,0x54a)](/\/parse$/,''),'vod_pic':_0x98aa3a['pics'][_0x5dde92],'vod_remarks':''}),_0x20ca13[_0x1661fa(0x6ee,0x684,0x522,0x5d8)][_0x1661fa(0x1e3,0x28f,0x2d3,0x2e9)]({'sname':_0x16ca55,'surl':_0x3fdc2a,'gname':_0x2dc8b2})),!_0x2d54fe[_0x1661fa(0x27e,0x484,0x3af,0x31e)][_0x18a5b4+'-'+_0x2dc8b2]&&(_0x931ea2[_0x1661fa(0x3eb,0x484,0x3cf,0x363)][_0x16f399[_0x2401bb(0x4e6,0x3c6,0x675,0x476)](_0x16f399[_0x1661fa(0x647,0x67c,0x745,0x488)](_0x175530,'-'),_0x2dc8b2)]={}),_0x2dc8b2[_0x1661fa(0x794,0x6ad,0x6a7,0x865)](/\/parse$/)&&(_0x31481c[-0xb13+0xcb7+-0x1a0]=_0x4c3060[-0xc*0x192+0x21*-0x10f+0x125*0x2f][_0x2401bb(0x54a,0x4fb,0x5d9,0x756)](/\/$/,''),!_0x5d766c[0x585*-0x3+0x1f2a+0x3*-0x4dd][_0x2401bb(0x7e3,0x99e,0x634,0x812)](/\/parse$/)&&(_0x110a2d[0x404+-0x5*-0x32d+-0x13e1]=_0x16f399[_0x2401bb(0x4e6,0x40c,0x6e0,0x4c9)](_0x54ae57[-0xe01*0x1+-0x2bf*-0x1+0xb46],_0x16f399[_0x2401bb(0x673,0x4d5,0x4bb,0x681)]))),_0x9944a8[_0x2401bb(0x5ba,0x5e7,0x673,0x733)][_0x1d4d44+'-'+_0x2dc8b2][_0x4748d6[-0x1948+0x4df*-0x3+-0x5*-0x7fb]]?_0x398144[_0x1661fa(0x285,0x484,0x406,0x516)][_0x16f399['hFgzK'](_0x25df7b,'-')+_0x2dc8b2][_0x2d8ea5[0x1*-0x271+-0x744*-0x1+-0x4d1]][_0x1661fa(0xa4,0x28f,0x374,0x1d1)](_0x5b36f5[-0x1e49*-0x1+-0x1*-0x10da+0x2f1f*-0x1]):(_0x1aec28[_0x2401bb(0x5ba,0x3e4,0x484,0x631)][_0x16f399['URPge'](_0x16f399[_0x2401bb(0x3bd,0x281,0x5c0,0x569)](_0x41a9c7,'-'),_0x2dc8b2)][_0x358dc9[0x2ed+-0x1*0x145c+0x13*0xeb]]=[],_0x52b7e3['channelDB'][_0x16f399[_0x1661fa(0x438,0x586,0x4d4,0x627)](_0x3f9b23,'-')+_0x2dc8b2][_0x4ea24c[-0x1f0f+0x1*-0xd6f+0x2c80]]['push'](_0xeb3f57[0x1f7*0x11+-0x221f+0x1*0xbc]));}}else _0x3d2d9a=_0x16f399[_0x2401bb(0x6cc,0x86d,0x5ae,0x4f7)](lfoo,_0x3d2d9a);}else{if(_0x16f399[_0x2401bb(0x580,0x716,0x4f9,0x712)]('oKoXW',_0x16f399[_0x2401bb(0x3c2,0x55a,0x331,0x42d)]))_0x468056[_0x2401bb(0x52b,0x4ad,0x502,0x41d)](_0x2401bb(0x4bf,0x405,0x628,0x328)+'不支持异步!建议使用'+_0x2401bb(0x6a3,0x6e7,0x76d,0x767));else{if(_0x3d2d9a[_0x2401bb(0x7e3,0x67a,0x666,0x86d)](/youtube\.com/m)||_0x3d2d9a[_0x1661fa(0x56d,0x6ad,0x497,0x53f)](/piped\.video/m)){if(_0x16f399['xhhOb']===_0x16f399['xhhOb'])return _0x3d2d9a;else!_0x16f399['MuZKI'](_0x2286cd[_0x19e230],'')&&(_0x5dc392=_0x16f399['vMzsJ'](_0x5d0107+_0x54747e[_0x4a3a9d],'/'));}else{if(_0x3d2d9a['match'](/\/parse$/))_0x3d2d9a=_0x3d2d9a[_0x2401bb(0x54a,0x729,0x6ca,0x5f8)](/\/parse$/,''),_0x211a70='1';else{if(_0x3d2d9a[_0x2401bb(0x7e3,0x919,0x970,0x92b)](/cunshao\.com\/666666\/api\/web.php/)){if(_0x16f399['wyUCk'](_0x16f399[_0x2401bb(0x695,0x783,0x5f0,0x6eb)],_0x16f399['gIpRI']))_0x211a70='1';else{if(_0x16f399[_0x2401bb(0x45c,0x4ae,0x3b2,0x538)](_0x3a7410['length'],0xad5*0x1+-0x389*0x5+0x6d8)){for(let _0x1680a1=0x4*0x245+0x2228+-0x2b3c;_0x1680a1<_0x589d6c[_0x1661fa(0x2b3,0x475,0x327,0x338)];_0x1680a1++){let _0x23a828=new _0x311751(_0x248821[_0x1680a1],'i');_0x24b847[_0x1661fa(0x59d,0x6ad,0x88f,0x60b)](_0x23a828)&&(_0x508729=!![]);}_0x2d5949&&_0x2e3702[_0x2401bb(0x3c5,0x57b,0x338,0x56e)]({'vod_id':_0x16f399['LfESR'](_0x16f399[_0x1661fa(0x489,0x37f,0x178,0x183)](_0xadea7a[_0x1661fa(0x4f4,0x684,0x569,0x7b1)][_0x2a3093][_0x1661fa(0x505,0x61b,0x68a,0x414)],_0x16f399[_0x2401bb(0x63e,0x7df,0x7fe,0x734)]),_0xa7c15e['groupDB'][_0x5b93cd]['surl']),'vod_name':_0x39b4cf[_0x2401bb(0x7ba,0x5dc,0x649,0x640)][_0x1d3a62][_0x1661fa(0x7f1,0x61b,0x82c,0x74a)]['replace'](/\/parse$/,''),'vod_pic':_0x132d69['pics'][_0x5a7405[_0x1661fa(0x881,0x684,0x5a9,0x564)][_0x137632][_0x2401bb(0x425,0x5e4,0x4db,0x48c)]],'vod_remarks':_0x4e0e51[_0x2401bb(0x7ba,0x8db,0x6f9,0x5b7)][_0x13bb35]['sname']});}else _0x20bec8[_0x1661fa(0x2f3,0x28f,0x2ef,0x45a)]({'vod_id':_0x16f399[_0x2401bb(0x602,0x745,0x7b4,0x6b0)](_0x16f399[_0x2401bb(0x7dd,0x5ce,0x913,0x804)](_0x552fda[_0x1661fa(0x820,0x684,0x744,0x527)][_0x1e058a]['gname'],_0x1661fa(0x379,0x36a,0x4cb,0x475)),_0x4a33cc['groupDB'][_0x3b33b2][_0x2401bb(0x6a2,0x726,0x493,0x5cc)]),'vod_name':_0x270c08[_0x2401bb(0x7ba,0x5ae,0x7b0,0x62e)][_0x4cf9f1][_0x1661fa(0x7a1,0x61b,0x6c0,0x7f2)][_0x1661fa(0x409,0x414,0x202,0x263)](/\/parse$/,''),'vod_pic':_0xdf44fa[_0x1661fa(0x5ab,0x4cd,0x314,0x451)][_0x146eea[_0x1661fa(0x557,0x684,0x63e,0x6a9)][_0xb165cd][_0x2401bb(0x425,0x622,0x21d,0x60c)]],'vod_remarks':_0x5d5312[_0x1661fa(0x758,0x684,0x81e,0x67b)][_0xd53702][_0x2401bb(0x425,0x384,0x456,0x20e)]});}}else{const _0x19c493={};_0x19c493['Referer']=_0x16f399['jXTDM'],_0x3d2d9a[_0x1661fa(0x807,0x6ad,0x77b,0x8c0)](/ulivetv\.net/)&&(_0xf75e5d=JSON['stringify'](_0x19c493));}}}}}}}const _0x2bd37b={};_0x2bd37b[_0x2401bb(0x779,0x820,0x57a,0x5ac)]=_0x211a70,_0x2bd37b['jx']=_0x34bee9,_0x2bd37b[_0x1661fa(0x602,0x423,0x396,0x483)]=_0xf75e5d,_0x2bd37b[_0x2401bb(0x7b3,0x813,0x794,0x83f)]='';function _0x1661fa(_0x37fee3,_0x1674b7,_0x18e7f6,_0x121793){return _0x397eb8(_0x1674b7- -0x49,_0x37fee3,_0x18e7f6-0x1ca,_0x121793-0x115);}_0x2bd37b[_0x1661fa(0x359,0x366,0x4b3,0x282)]=_0x3d2d9a,_0x3a6ff0=_0x2bd37b;try{_0x16f399[_0x1661fa(0x3f7,0x40c,0x582,0x42c)](_0x16f399[_0x2401bb(0x730,0x6e0,0x5f2,0x713)],_0x16f399[_0x1661fa(0x3eb,0x403,0x339,0x5df)])?(_0x16f399[_0x2401bb(0x419,0x3b8,0x230,0x4ed)](setTimeout,()=>{function _0x574430(_0x2c05c0,_0x2177e9,_0x4784d5,_0x18528c){return _0x2401bb(_0x2177e9-0x77,_0x2177e9-0x119,_0x4784d5-0xfc,_0x2c05c0);}_0x16f399[_0x574430(0x66b,0x4e4,0x4fb,0x5a8)](lfee,0x83b+0x1*0x1ea5+-0x26df);},config['play_fetch'+_0x1661fa(0x42c,0x391,0x1c7,0x26a)]),console[_0x2401bb(0x52b,0x559,0x48c,0x35b)](_0x16f399[_0x1661fa(0x4f2,0x51f,0x68c,0x723)])):_0x1bed38[_0x1661fa(0x491,0x416,0x3b1,0x25b)](function(_0x40e3fb){function _0x5e281b(_0x591753,_0xa779d8,_0x760d40,_0x176318){return _0x1661fa(_0x591753,_0xa779d8-0x206,_0x760d40-0x179,_0x176318-0xe2);}function _0x54692a(_0x36faa2,_0x569ec8,_0x1535c3,_0x4f9030){return _0x2401bb(_0x1535c3- -0x18e,_0x569ec8-0x14e,_0x1535c3-0x1cf,_0x569ec8);}_0x2d835c[_0x5e281b(0x29a,0x495,0x60d,0x646)]({'vod_id':_0x16f399['COxWh'](_0x16f399['AvMot'](_0x1a384c,this,this)['text']()+(_0x54692a(0x42b,0x39e,0x437,0x62e)+_0x5e281b(0x72d,0x640,0x835,0x816)),_0x16f399[_0x5e281b(0x959,0x84d,0x8df,0x871)](_0xacc826,this,this)['attr'](_0x16f399[_0x54692a(0x3fd,0x429,0x4dc,0x382)])),'vod_name':_0x1a1a83(this,this)['text'](),'vod_pic':_0x4924a6[_0x5e281b(0x56b,0x5b4,0x7b3,0x70d)+_0x5e281b(0x630,0x797,0x6d4,0x5a0)],'vod_remarks':_0x16f399[_0x5e281b(0x5af,0x696,0x6ff,0x57c)]});});}catch(_0x21eae9){if('kfUeZ'!==_0x16f399[_0x2401bb(0x6e0,0x4c2,0x648,0x889)])console[_0x1661fa(0x558,0x3f5,0x475,0x3a8)]('当前的TVBox壳子'+_0x1661fa(0x409,0x495,0x573,0x4c2)+_0x2401bb(0x6a3,0x4e3,0x751,0x49d));else{let _0x233460=/()(.*?),?(#genre#|(?:http|rtmp|mitv)[^\s]*)/gm,_0x5bdc25=_0x2a39e8[_0x1661fa(0x886,0x6ad,0x8a0,0x832)](/()(.*?),?(#genre#|(?:http|rtmp|mitv)[^\s]*)/m);_0x5bdc25&&![_0x16f399[_0x1661fa(0x1da,0x353,0x267,0x31d)],'##','头#',_0x16f399[_0x2401bb(0x438,0x61c,0x52d,0x42f)]][_0x1661fa(0x602,0x5c0,0x734,0x7a8)](_0x5bdc25[0x191d*-0x1+-0x19a1+0x32c1])&&(_0xd7c46f=_0x16f399[_0x1661fa(0x206,0x2e1,0x4c5,0x1fe)]+_0x1bd2c0);while(_0x16f399[_0x1661fa(0x71b,0x5c8,0x3d4,0x4a5)](_0x40b0e9=_0x233460[_0x1661fa(0x1a0,0x295,0x263,0x1c8)](_0x1e51a9),null)){_0x16f399[_0x1661fa(0x57c,0x3a4,0x216,0x222)](_0x258fbe[_0x1661fa(0x4f4,0x42f,0x2d2,0x421)],_0x233460[_0x1661fa(0x6d9,0x6af,0x4ec,0x778)])&&_0x233460[_0x2401bb(0x7e5,0x726,0x7b0,0x95e)]++,_0x217145[-0x169d*-0x1+0x19a2+0x35*-0xe9]=_0x2fcbd8[0x90*-0x22+-0x1*-0x2175+-0xe53]['replace'](/(^[ ]{1,})|([ ]{1,}$)/gm,''),_0x3c0661[0xdd*-0x4+0x6b9+-0x343]=_0x1ba7c6[0x24ef+-0x260d+0x120]['replace'](/(#|\$)/gm,'');const _0x38d0db={};_0x38d0db['sname']=_0x9f57ee,_0x38d0db[_0x1661fa(0x5cc,0x56c,0x473,0x4c4)]=_0x534a77,_0x38d0db[_0x2401bb(0x751,0x5d8,0x717,0x87f)]=_0x395f04,[_0x16f399[_0x1661fa(0x353,0x353,0x344,0x426)],'##','头#',_0x16f399['inejP']][_0x1661fa(0x599,0x5c0,0x74d,0x7c5)](_0x251f67[-0x1cf3+-0x1972+0x3668*0x1])?(_0x1c8b75=_0x53a959[0x12ab+0x18be*-0x1+0x615*0x1],_0x33383c[_0x2401bb(0x5ba,0x7b6,0x4df,0x580)][_0x16f399[_0x2401bb(0x737,0x69d,0x947,0x517)](_0x16f399[_0x2401bb(0x3dd,0x5e7,0x4b1,0x5e9)](_0x1ec5d7,'-'),_0x5d86e6)]={},!_0x56c80d&&(!_0x13ad90['cacheCateg'+'oryDB'][_0x40c2eb]&&(_0x14edf5['cacheCateg'+_0x2401bb(0x43b,0x4de,0x535,0x3a8)][_0x50e087]=[]),_0x5255df[_0x1661fa(0x2c3,0x45d,0x452,0x33e)+_0x2401bb(0x43b,0x2ce,0x47b,0x493)][_0x152c8c][_0x1661fa(0x31f,0x28f,0x288,0xbf)]({'vod_id':_0x16f399[_0x1661fa(0x67b,0x67c,0x547,0x53b)](_0x16f399[_0x1661fa(0x504,0x432,0x2cd,0x341)](_0x2503d0,_0x16f399[_0x1661fa(0x516,0x508,0x344,0x64f)]),_0x122215),'vod_name':_0x560406[_0x2401bb(0x54a,0x35c,0x3ca,0x72d)](/\/parse$/,''),'vod_pic':_0x2da05c['pics'][_0x248dcf],'vod_remarks':''})),_0xf544bc[_0x1661fa(0x77a,0x684,0x6ce,0x5df)]['push'](_0x38d0db)):(_0x2f8a15['match'](/\/parse$/)&&(_0x1bf8cf[0x3*0x575+0x36*0x11+-0x13f2*0x1]=_0xe10aaf[0x4c7+-0x16a0+0x3*0x5f4][_0x1661fa(0x27b,0x414,0x390,0x555)](/\/$/,''),!_0x25485b[0x828+-0x1*-0xbdb+-0x1400]['match'](/\/parse$/)&&(_0x4cdbc3[0x2535+0x3b6*0x7+-0x3f2c]=_0x1571ae[-0x1cd2+0x25b8+-0x8e3]+_0x16f399[_0x2401bb(0x673,0x53c,0x762,0x5dc)])),_0x111ecb[_0x2401bb(0x5ba,0x6a8,0x6bb,0x790)][_0x16f399[_0x2401bb(0x4b5,0x54a,0x60f,0x401)](_0x2d2506+'-',_0x3ec864)][_0x490573[0x988*0x2+-0xcb*0x1+-0x113*0x11]]?_0x339cca['channelDB'][_0x16f399[_0x1661fa(0x33c,0x432,0x4a3,0x47b)](_0x1a8a2c+'-',_0x2b6f2b)][_0x5a02b7[-0x382+-0x71d*0x1+0x3*0x38b]][_0x1661fa(0x3b9,0x28f,0x38b,0xb0)](_0x4fdc77[0x634+0xd*0x103+0x1*-0x1358]):(_0x33a4d8['channelDB'][_0x16f399['COxWh'](_0x40d03d+'-',_0x42f99f)][_0x4f65a0[0xe3e*0x1+0x198b+0x11*-0x257]]=[],_0x3510c1[_0x2401bb(0x5ba,0x6c6,0x632,0x3fe)][_0x16f399[_0x2401bb(0x568,0x393,0x721,0x599)](_0x16f399[_0x2401bb(0x566,0x444,0x763,0x5ed)](_0x5cbcfb,'-'),_0x20a778)][_0x25b135[0x925+0x1*-0x2233+0x4*0x644]][_0x2401bb(0x3c5,0x1dd,0x34a,0x46d)](_0x58e13d[-0x7*0x57a+-0x1a78+0x40d1])));}}}return JSON[_0x1661fa(0x6c8,0x62f,0x514,0x799)](_0x3a6ff0);}function lfaa(){const _0x6f885f={'KPHlc':function(_0x24dc80,_0x445e33){return _0x24dc80+_0x445e33;},'KOyAb':_0x5a4a7f(0x33c,0x263,0x459,0x371),'NvAww':'timestamp=','GnwPV':function(_0x1fe27e,_0x1ac43c){return _0x1fe27e(_0x1ac43c);},'XRGsL':_0x50c8b8(0x36,0x1c8,-0x12,0xc2)+_0x5a4a7f(0x667,0x49b,0x5a7,0x46a)+'!','tTrwl':_0x50c8b8(0x1fa,0x15e,0x413,0x24a),'NseZt':function(_0x12c2d1,_0x17887e){return _0x12c2d1!==_0x17887e;},'MHLPh':_0x50c8b8(0x24a,0x3bf,0x382,0x3cc),'MaZzS':function(_0x54a79c,_0x30fbbf,_0x4b3cd6){return _0x54a79c(_0x30fbbf,_0x4b3cd6);},'TuoDG':_0x50c8b8(0x9,0xb,-0x189,-0xb),'LJBwI':_0x5a4a7f(0x3f0,0x32b,0x540,0x35b)+_0x50c8b8(0x299,0x2a5,0x6d,0x1ce)+'蜂蜜大佬的影视最新版'+'!'};try{if(_0x6f885f[_0x5a4a7f(0x607,0x4b4,0x7c0,0x659)](_0x6f885f[_0x5a4a7f(0x3d5,0x505,0x1db,0x48d)],_0x6f885f[_0x5a4a7f(0x3d5,0x413,0x492,0x46e)])){var _0x3b8a2e=new _0x3982fd()[_0x5a4a7f(0x488,0x52a,0x359,0x54e)](),_0x43cd2b=_0x6f885f[_0x5a4a7f(0x63d,0x4ac,0x731,0x5ac)](_0x6f885f[_0x50c8b8(0x28e,0x19c,0x35a,0x30f)](_0x6f885f[_0x5a4a7f(0x63d,0x698,0x587,0x73a)](_0x6f885f[_0x5a4a7f(0x63d,0x434,0x43a,0x704)](_0x148d4b?_0x4b1cf(_0x1569c8,_0x6f885f[_0x50c8b8(0x128,-0x90,0x1b8,0x63)])+'&':'',_0x6f885f[_0x50c8b8(0x353,0x320,0x47a,0x328)]),_0x3b8a2e),'&key='),_0xbcaa5a),_0x59fe4d={'Timestamp':_0x3b8a2e[_0x5a4a7f(0x5e2,0x4ee,0x73f,0x72f)](),'Sign':_0x6f885f[_0x5a4a7f(0x646,0x76f,0x6c5,0x6aa)](_0x4d3755,_0x43cd2b)};return _0x59fe4d;}else _0x6f885f['MaZzS'](setTimeout,()=>{console['log'](_0x6f885f['XRGsL']);},0xec*-0x1+-0x21ab+0x22a1);}catch{_0x6f885f['TuoDG']!==_0x5a4a7f(0x323,0x1ae,0x1c4,0x14d)?_0x4d3523='':(!config['lfpfg']&&(config['lfsasas']=![]),console[_0x5a4a7f(0x45c,0x313,0x24c,0x3c2)](_0x6f885f['LJBwI']));}function _0x50c8b8(_0x51f422,_0x13179f,_0x756d05,_0x55e093){return _0x397eb8(_0x55e093- -0x310,_0x51f422,_0x756d05-0x100,_0x55e093-0x19c);}function _0x5a4a7f(_0x3588cf,_0x496a67,_0x144710,_0x2fde3e){return _0x397eb8(_0x3588cf-0x1e,_0x144710,_0x144710-0xa1,_0x2fde3e-0xcf);}!config[_0x5a4a7f(0x71b,0x901,0x88d,0x57e)]&&setTimeout(()=>{function _0x245cda(_0x3c1a29,_0x2b885b,_0x49b39d,_0x197744){return _0x50c8b8(_0x49b39d,_0x2b885b-0x116,_0x49b39d-0x1e7,_0x2b885b-0x47);}function _0x445d3a(_0x71a07,_0xcf73d4,_0x3e2aa8,_0x5ac6f3){return _0x50c8b8(_0x3e2aa8,_0xcf73d4-0x13,_0x3e2aa8-0x43,_0xcf73d4- -0x1a0);}console[_0x245cda(0x2da,0x175,0x2e,-0x2c)](_0x6f885f[_0x245cda(0x25,0x144,0x1af,0x1c7)]);},0x3*0x71f+0xd*-0x166+-0x325);}function lfbb(_0x5db34a,_0x4a2bff){function _0x23858a(_0x6ba3a4,_0x42b046,_0x19e8a0,_0x4ba7ee){return _0x397eb8(_0x4ba7ee- -0x3f6,_0x19e8a0,_0x19e8a0-0x17d,_0x4ba7ee-0x4e);}function _0x2235de(_0x178c28,_0x3ebbcd,_0x24b4cd,_0x401558){return _0x32fa5d(_0x178c28,_0x3ebbcd-0x756,_0x24b4cd-0x1cc,_0x401558-0x1b3);}const _0x11abf7={'jwdiJ':_0x23858a(0x262,0x36c,0x460,0x262),'SbMqz':function(_0xc1bb24,_0x22c36c,_0xe3ab65){return _0xc1bb24(_0x22c36c,_0xe3ab65);},'OtebF':function(_0x30db27,_0xb64ac2){return _0x30db27(_0xb64ac2);},'sGjFg':'select\x20opt'+'ion','BtmIH':_0x2235de(0x591,0x614,0x436,0x793),'FsNGQ':function(_0x479645,_0x2c7486){return _0x479645<_0x2c7486;},'jjZAN':function(_0x38fc08,_0x351d0b){return _0x38fc08(_0x351d0b);},'iiyOn':_0x23858a(-0xf,-0x25,0x2c9,0x14f)+_0x23858a(-0x56,-0x115,-0x10b,0x93)+_0x2235de(0x3dd,0x5b2,0x3d0,0x436)+_0x23858a(0x236,-0x48,0xd,0xf0)+_0x23858a(-0x249,0x15c,-0x33,-0x8c),'LVbDE':_0x2235de(0x71f,0x6da,0x565,0x86d)+'+$','JryUe':'http://127'+_0x23858a(0x20d,-0x18e,-0xc6,0x11)+_0x2235de(0x7ba,0x61d,0x768,0x499),'HkqYV':function(_0x32ffcc,_0x51cc3b){return _0x32ffcc+_0x51cc3b;},'Oqvdj':function(_0xa50d58,_0x64dafc){return _0xa50d58!=_0x64dafc;},'kQqnS':function(_0x2c036a,_0x1a66e2){return _0x2c036a!==_0x1a66e2;},'hTxwe':_0x2235de(0x729,0x606,0x4f1,0x663),'qSqMs':_0x23858a(0xc3,-0x6a,-0x230,-0xa0),'nTNcB':function(_0x4b98a8,_0x4a303f){return _0x4b98a8==_0x4a303f;},'fjrJF':function(_0x7b2f83,_0x2e1c6a){return _0x7b2f83+_0x2e1c6a;}};let _0x2da711=_0x11abf7[_0x23858a(0x70,-0xfb,0xa6,0x108)],_0x24e0a7=_0x4a2bff[_0x23858a(-0x16b,0x61,0x61,0x62)](-0x1727+0x1ac4+-0x39d,_0x11abf7[_0x2235de(0x398,0x4fd,0x5eb,0x3e4)](_0x4a2bff[_0x23858a(0xda,0x42,-0x9b,0x96)+'f']('/'),-0x8f*-0x41+-0x210d+-0x11*0x31));_0x5db34a[_0x2235de(0x871,0x920,0x915,0xa9f)](/^(\/)/)&&(_0x24e0a7=_0x2da711);let _0x5dada4=_0x5db34a[_0x2235de(0x8ae,0x791,0x72d,0x93c)]('/')['slice'](0xf8c+0xb14+-0x8*0x354,-(-0x3*-0xc25+-0x635*0x1+-0x1e39)),_0x28d2b7=_0x5db34a[_0x23858a(0x2a9,0xa3,0x372,0x171)]('/')[_0x23858a(0x20b,0xc2,0x58,0x11d)]();for(let _0x38a5f0=0x2537+0x439+-0x2970;_0x11abf7[_0x23858a(0x153,0x160,0x168,0x279)](_0x38a5f0,_0x5dada4['length']);_0x38a5f0++){if(!(_0x5dada4[_0x38a5f0]=='.')){if(_0x5dada4[_0x38a5f0]=='..')_0x11abf7[_0x2235de(0x794,0x84e,0x9e2,0x742)](_0x24e0a7,_0x2da711)&&(_0x24e0a7=_0x24e0a7[_0x23858a(0x196,0x1bc,0x253,0x67)](/[^\/]*\/$/,''));else{if(_0x11abf7[_0x2235de(0x6b7,0x54f,0x6db,0x61a)](_0x11abf7[_0x23858a(0x27d,0x262,0x275,0xad)],_0x11abf7[_0x23858a(0xb6,-0x13e,0xe8,0x22)])){if(!_0x11abf7[_0x23858a(0x165,0x1f4,0x196,0x2c6)](_0x5dada4[_0x38a5f0],'')){if(_0x2235de(0x6d9,0x56e,0x394,0x4a3)!=='YWPPI'){let _0x399924=_0x2365fb['split'](_0x11abf7['jwdiJ'])[-0x235*-0x11+-0x1817+0x23d*-0x6],_0x5a3c4c=_0x3aa841['split'](_0x11abf7[_0x23858a(0x148,-0x20,0x122,-0xd3)])[-0xf5d+-0x20a*0xa+-0x11e1*-0x2];const _0x1212eb={};_0x1212eb['headers']=_0x16f465[_0x23858a(0x25d,0x294,-0xa4,0x75)];let _0x497db8=_0x11abf7[_0x2235de(0x869,0x803,0x630,0xa03)](_0xbd9fda,_0x399924,_0x1212eb)[_0x2235de(0x685,0x664,0x61a,0x795)],_0x4f385f=_0x2756ce[_0x2235de(0x8e7,0x802,0x79e,0x643)](_0x497db8);if(_0x5a3c4c>=_0x11abf7[_0x2235de(0x66b,0x55a,0x6b2,0x4e8)](_0x4f385f,_0x11abf7[_0x23858a(0x4a8,0x3f2,0x209,0x2ba)])[_0x2235de(0x741,0x6e8,0x7a7,0x5a2)])return'';let _0x302576=_0x11abf7[_0x2235de(0x604,0x55a,0x5b3,0x4d9)](_0x4f385f,_0x11abf7[_0x2235de(0x7e4,0x8da,0x93b,0x859)])['eq'](_0x5a3c4c)['val'](),_0x3fa4e8=_0x497db8[_0x2235de(0x9ef,0x920,0x852,0x87b)](/