🏤ARCHIVE💓✈️
https://archive.org
xiaohan231 (515)05/05 08:54
V1.9版,激活码:555666
{ "bookSourceComment": "", "bookSourceGroup": "🍿 日常,🏤 档案,🎊 常用", "bookSourceName": "🏤ARCHIVE💓✈️", "bookSourceType": 2, "bookSourceUrl": "https:\/\/archive.org", "bookUrlPattern": "", "concurrentRate": "", "customOrder": 129, "enabled": true, "enabledCookieJar": true, "enabledExplore": true, "exploreUrl": "<js>\neval(String(source.loginUrl));\nfunction explore(title, url, num, num_1, bool) {\n style = '{\\n title: \"' + title + '\",\\n url: \"' + url + '\",\\n style: {\\n layout_flexGrow: ' + num + ',\\n layout_flexBasisPercent: ' + num_1 + ',\\n layout_wrapBefore: ' + bool + '\\n }\\n }';\n return style;\n}\nvar exploreUrl = [];\nlet ck = cookie.getCookie(baseUrl);\nif (!ck.includes('user=deleted') && ck.includes('user=')) {\n Result = java.ajax(baseUrl + '\/services\/user.php?op=whoami');\n var list = JSON.parse(Result).value;\n var user = list.screenname;\n var fav = String(list.itemname);\n cache.put(Get('url') + \"Fav_1\", fav.replace(\/@\/, 'fav-'));\n cache.put(Get('url') + \"Fav_2\", fav.replace(\/@\/, '%40'));\n cache.put(Get('url') + \"Account_1\", user);\n} else {\n cache.put(Get('url') + \"Account_1\",'');\n}\nAccount = (cache.get(Get('url') + \"Account_1\") && String(cache.get(Get('url') + \"Account_1\")).length > 0) ? cache.get(Get('url') + \"Account_1\") : '';\nUrl1 = `{{get('url1','0')}}`;\nUrl2 = `{{get('url2','0')}}`;\nUrl3 = `{{get('url3','0')}}`;\nUrl4 = `{{get('url4','0')}}`;\nUrl5 = `{{get('url5','0')}}`;\nCs = `{{get('cs','0')}}`;\nSort = `{{java.encodeURI(get('sort',Get('p')))}}`;\nSort_1 = `{{get('sort_1',Get('p'))}}`;\nif(String(Account).length > 0) {\n let ck = cookie.getCookie(baseUrl);\n if (!ck.includes('user=deleted') && Account) {\n login(Put(JSON.stringify('【登录提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋' + '\\n账号:' + Account + '\\n┋┋' + '\\n❤️登录成功❤️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n } else {\n Login();\n }\n Fav1 = cache.get(Get('url') + \"Fav_1\");\n Fav2 = cache.get(Get('url') + \"Fav_2\");\n exploreUrl.push(explore('✣【' + Account + '】✣', '', 1, 1, false));\n exploreUrl.push(explore('我的收藏', `{{Get('url')}}${Url1}${Url2}${Fav1}${Url3}{{page}}&filter_map={{filter_map('M')}}${Sort_1}${Url4}${Fav1}?sort=${Sort}`, 1, 0.45, false));\n exploreUrl.push(explore('我的合集', `{{Get('url')}}${Url1}account_details&page_target=${Fav2}&page_elements=${Cs}${Url3}{{page}}&filter_map={{filter_map('MH')}}${Sort_1}${Url4}${Fav2}%2Fcollections?sort=${Sort}`, 1, 0.45, false));\n}\nMY = Get('my');\nfor (i in MY) {\n let title = MY[i].split(\"::\")[0];\n let link = MY[i].split(\"::\")[1];\n let target = String(link).replace(\/.*\\\/\/, '');\n exploreUrl.push(explore(title, `{{Get('url')}}${Url1}${Url2}${target}${Url3}{{page}}&filter_map={{filter_map('M')}}${Sort_1}${Url5}${link}?sort=${Sort}`, 1, 1, false));\n}\nexploreUrl.push(explore(' ༺ˇ»`ʚ ✨书籍✨ ɞ´«ˇ༻', '', 1, 1, false));\nexploreUrl.push(explore('全部文本', `{{Get('url')}}${Url1}${Url2}texts${Url3}{{page}}&filter_map={{filter_map('b')}}${Sort_1}${Url4}texts?sort=${Sort}`, 1, 0.45, false));\nexploreUrl.push(explore('全部书籍', `{{Get('url')}}${Url1}${Url2}books${Url3}{{page}}&filter_map={{filter_map('b')}}${Sort_1}${Url4}books?sort=${Sort}`, 1, 0.45, false));\nTEXT = Get('text');\nfor (i in TEXT) {\n let title = TEXT[i].split(\"::\")[0];\n let link = TEXT[i].split(\"::\")[1];\n let target = String(link).replace(\/.*\\\/\/, '');\n exploreUrl.push(explore(title, `{{Get('url')}}${Url1}${Url2}${target}${Url3}{{page}}&filter_map={{filter_map('b')}}${Sort_1}${Url5}${link}?sort=${Sort}`, 1, 1, false));\n}\nexploreUrl.push(explore(' ༺ˇ»`ʚ ✨视频✨ ɞ´«ˇ༻', '', 1, 1, false));\n exploreUrl.push(explore('全部视频', `{{Get('url')}}${Url1}${Url2}movies${Url3}{{page}}&filter_map={{filter_map('v')}}${Sort_1}${Url4}movies?sort=${Sort}`, 1, 0.45, false));\nVIDEO = Get('video');\nfor (i in VIDEO) {\n let title = VIDEO[i].split(\"::\")[0];\n let link = VIDEO[i].split(\"::\")[1];\n let target = String(link).replace(\/.*\\\/\/, '');\n exploreUrl.push(explore(title, `{{Get('url')}}${Url1}${Url2}${target}${Url3}{{page}}&filter_map={{filter_map('v')}}${Sort_1}${Url5}${link}?sort=${Sort}`, 1, 1, false));\n}\nexploreUrl.push(explore(' ༺ˇ»`ʚ ✨音频✨ ɞ´«ˇ༻', '', 1, 1, false));\n exploreUrl.push(explore('全部音频', `{{Get('url')}}${Url1}${Url2}audio${Url3}{{page}}&filter_map={{filter_map('a')}}${Sort_1}${Url4}audio?sort=${Sort}`, 1, 0.45, false));\n exploreUrl.push(explore('全部音乐', `{{Get('url')}}${Url1}${Url2}etree${Url3}{{page}}&filter_map={{filter_map('a')}}${Sort_1}${Url4}etree?sort=${Sort}`, 1, 0.45, false));\nAUDIO = Get('audio');\nfor (i in AUDIO) {\n let title = AUDIO[i].split(\"::\")[0];\n let link = AUDIO[i].split(\"::\")[1];\n let target = String(link).replace(\/.*\\\/\/, '');\n exploreUrl.push(explore(title, `{{Get('url')}}${Url1}${Url2}${target}${Url3}{{page}}&filter_map={{filter_map('a')}}${Sort_1}${Url5}${link}?sort=${Sort}`, 1, 1, false));\n}\nexploreUrl.push(explore(' ༺ˇ»`ʚ ✨图像✨ ɞ´«ˇ༻', '', 1, 1, false));\n exploreUrl.push(explore('全部图像', `{{Get('url')}}${Url1}${Url2}image${Url3}{{page}}&filter_map={{filter_map('i')}}${Sort_1}${Url4}image?sort=${Sort}`, 1, 0.45, false));\nIMAGE = Get('image');\nfor (i in IMAGE) {\n let title = IMAGE[i].split(\"::\")[0];\n let link = IMAGE[i].split(\"::\")[1];\n let target = String(link).replace(\/.*\\\/\/, '');\n exploreUrl.push(explore(title, `{{Get('url')}}${Url1}${Url2}${target}${Url3}{{page}}&filter_map={{filter_map('i')}}${Sort_1}${Url5}${link}?sort=${Sort}`, 1, 1, false));\n}\nvar exploreUrlStr = '[' + exploreUrl.join(\",\") + ']';\nexploreUrlStr;\n<\/js>", "header": "<js>\nvar Proxy = Map('代理:').split(\",\");\nheaders={\n \"User-Agent\": \"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/123.0.0.0 Mobile Safari\/537.36\",\n \"proxy\": Proxy.some(value => parseInt(value, 10) == parseInt(Get('ci0'), 10)) ? '' : Proxy[0],\n}\ncache.put(Get('url') + \"headers\",JSON.stringify(headers));\nJSON.stringify(headers);\n<\/js>", "jsLib": "function get(tag,num) {\n cs = [\n '%5B%22collections%22%5D'\n ];\n url1 = [\n '\/services\/search\/beta\/page_production\/?user_query=&page_type='\n ];\n url2 = [\n 'collection_details&page_target='\n ];\n url3 = [\n '&hits_per_page=100&page='\n ];\n url4 = [\n '&aggregations=false&client_url=https%3A%2F%2Farchive.org%2Fdetails%2F'\n ];\n url5 = [\n '&aggregations=false&client_url='\n ];\n sort_1 = [\n '&sort=downloads%3Adesc',\n '&sort=week%3Adesc',\n '&sort=date%3Adesc',\n '&sort=publicdate%3Adesc',\n '&sort=reviewdate%3Adesc',\n '&sort=addeddate%3Adesc',\n '&sort=titleSorter%3Aasc',\n '&sort=creatorSorter%3Aasc',\n ];\n sort = [\n '-downloads',\n '-week',\n '-date',\n '-publicdate',\n '-reviewdate',\n '-addeddate',\n 'title',\n 'creator',\n ];\n var e = eval(tag + '[' + num + ']');\n return e;\n}\nfunction Get(e) {\n const { java, source, cookie } = this;\n var get = JSON.parse(source.getVariable());\n return get[e];\n}\nfunction Put(data) {\n const { java, source, cookie } = this;\n var get = JSON.parse(source.getVariable());\n data = get['TC_to_SC'] == true ? java.t2s(data) : data;\n return JSON.parse(data);\n}\nfunction Map(e) {\n const { java, source, cookie } = this;\n var infomap = source.getLoginInfoMap();\n var map = (infomap !== null && infomap.get(e)) ? infomap.get(e) : '';\n return map;\n}\nfunction shortenNumber(number, digits) {\n digits = digits !== undefined ? digits : 2;\n const suffixes = ['', 'K', 'M', 'B', 'T'];\n let suffixIndex = 0;\n while (number >= 1000) {\n number \/= 1000;\n suffixIndex++;\n }\n const formattedNumber = number % 1 === 0 ? number.toFixed(0) : number.toFixed(digits);\n return formattedNumber + suffixes[suffixIndex];\n}\nfunction formatBytes(bytes, decimals) {\n decimals = decimals === undefined ? 2 : decimals;\n if (bytes === 0) return '0 Bytes';\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const i = Math.floor(Math.log(bytes) \/ Math.log(1024));\n return `${(bytes \/ Math.pow(1024, i)).toFixed(decimals)} ${sizes[i]}`;\n}\nfunction filter_map(e) {\n const { java, source, cookie } = this;\n var get = JSON.parse(source.getVariable());\n var filter = {\"lending___status\":{},\"mediatype\":{},\"year\":{},\"subject\":{},\"collection\":{},\"creator\":{},\"language\":{},\"firstTitle\":{},\"firstCreator\":{}};\n var mediatype = [\n 'collection',\n 'texts',\n 'movies',\n 'audio',\n 'etree',\n 'image'\n ];\n var infomap = source.getLoginInfoMap();\n infomap = infomap ? infomap : {};\n var result = typeof result !== 'undefined' ? result : {};\n var Mediatype = infomap.get(\"类型:\") || '';\n if (e.includes('MH')) {\n Mediatype = '0';\n }\n if (e.includes('s')) {\n let Mediatype1 = infomap.get(\"类型[s]:\") || '';\n Mediatype = String(Mediatype1).length > 0 ? Mediatype1 : Mediatype;\n }\n if (e.includes('b')) {\n let Mediatype1 = infomap.get(\"类型[b]:\") || '';\n Mediatype = String(Mediatype1).length > 0 ? Mediatype1 : Mediatype;\n }\n if (e.includes('v')) {\n let Mediatype1 = infomap.get(\"类型[v]:\") || '';\n Mediatype = String(Mediatype1).length > 0 ? Mediatype1 : Mediatype;\n }\n if (e.includes('a')) {\n let Mediatype1 = infomap.get(\"类型[a]:\") || '';\n Mediatype = String(Mediatype1).length > 0 ? Mediatype1 : Mediatype;\n }\n if (e.includes('i')) {\n let Mediatype1 = infomap.get(\"类型[i]:\") || '';\n Mediatype = String(Mediatype1).length > 0 ? Mediatype1 : Mediatype;\n }\n var Mediatypes = String(Mediatype).length > 0 ? Mediatype.split(\",\") : [0,1,2,3,4,5];\n var MEDIATYPE = Mediatypes.map(index => mediatype[index]);\n MEDIATYPE.forEach(key => {\n filter.mediatype[key] = \"inc\";\n });\n var availability = [\n 'is_readable',\n 'is_lendable',\n 'available_to_borrow'\n ];\n var Availability = infomap.get(\"可用:\") || '';\n var Availabilitys = String(Availability).length > 0 ? Availability.split(\",\") : [];\n var AVAILABILITY = Availabilitys.map(index => availability[index]);\n AVAILABILITY.forEach(key => {\n filter.lending___status[key] = \"inc\";\n });\n var Year = infomap.get(\"年代:\") || '';\n var Years = String(Year).length > 0 ? Year.split(\",\") : [];\n function addYearEntry(year, value) {\n if (filter.year[year]) {\n if (!Array.isArray(filter.year[year])) {\n filter.year[year] = [filter.year[year]];\n }\n if (!filter.year[year].includes(value)) {\n filter.year[year].push(value);\n }\n } else {\n filter.year[year] = value;\n }\n }\n Years.forEach(item => {\n if (typeof item === 'number') {\n addYearEntry(item, \"inc\");\n } else {\n const range = item.split('-');\n const startYear = parseInt(range[0]);\n const endYear = parseInt(range[1]);\n if (!isNaN(startYear) && !isNaN(endYear)) {\n for (let i = startYear; i <= endYear; i++) {\n addYearEntry(i, \"inc\");\n }\n } else if (!isNaN(startYear)) {\n addYearEntry(startYear, \"inc\");\n } else {\n java.longToast('【年代参数】' + n(2) + '范例:1995,2007,2018或者2001-2015');\n }\n }\n });\n var Subject = infomap.get(\"主题:\") || '';\n var SUBJECT = String(Subject).length > 0 ? Subject.split(\",\") : [];\n SUBJECT.forEach(key => {\n filter.subject[key] = \"inc\";\n });\n var Collection = infomap.get(\"合集:\") || '';\n var COLLECTION = String(Collection).length > 0 ? Collection.split(\",\") : [];\n COLLECTION.forEach(key => {\n filter.collection[key] = \"inc\";\n });\n var Creator = infomap.get(\"作者:\") || '';\n var CREATOR = String(Creator).length > 0 ? Creator.split(\",\") : [];\n CREATOR.forEach(key => {\n filter.creator[key] = \"inc\";\n });\n var Language = infomap.get(\"语言:\") || '';\n var LANGUAGE = String(Language).length > 0 ? Language.split(\",\") : [];\n LANGUAGE.forEach(key => {\n filter.language[key] = \"inc\";\n });\n if (String(get.p).includes('6')) {\n var Firsttitle = infomap.get(\"字母:\") || '';\n var FIRSTTITLE = String(Firsttitle).length > 0 ? Firsttitle.split(\",\") : [];\n FIRSTTITLE.forEach(key => {\n filter.firstTitle[key] = \"inc\";\n });\n }\n if (String(get.p).includes('7')) {\n var Firstcreator = infomap.get(\"字母:\") || '';\n var FIRSTTITLE = String(Firstcreator).length > 0 ? Firstcreator.split(\",\") : [];\n FIRSTCREATOR.forEach(key => {\n filter.firstCreator[key] = \"inc\";\n });\n }\n for (let key in filter) {\n if (Object.keys(filter[key]).length === 0) {\n delete filter[key];\n }\n }\n return java.encodeURI(JSON.stringify(filter));\n}\nfunction removeFromArrayByKey(original, key, element) {\n if (original[key] && Array.isArray(original[key])) {\n let index = original[key].indexOf(element);\n if (index !== -1) {\n original[key].splice(index, 1);\n }\n }\n}\nfunction Imgurl(imgurl) {\n if (\/.jp2\/.test(imgurl)) {\n match = imgurl.match(\/(.*)(\\&file=.*)(\\&id=.*)\/);\n imgurl = match[1] + match[3] + match[2];\n }\n return decodeURIComponent(imgurl);\n}", "lastUpdateTime": 1714858290619, "loginCheckJs": "", "loginUi": "[\n { name: \"激活码:\", type: \"text\" },\n { name: \"代理:\", type: \"text\" },\n {\n name: \" 💡登录账号💡 \",\n type: \"button\",\n action: \"Login()\"\n },\n {\n name: \" 💡源站测试💡 \",\n type: \"button\",\n action: \"test(1)\"\n },\n { name: \" 查看当前 \", type: \"button\", action: \"look(0)\" },\n { name: \" 查看历史 \", type: \"button\", action: \"look(1)\" },\n { name: \" 恢复默认 \", type: \"button\", action: \"test(-1)\" },\n { name: \" 繁体搜索 \", type: \"button\", action: \"search_TC()\" },\n { name: \" 简繁转换 \", type: \"button\", action: \"TC_to_SC()\" },\n { name: \" 目录整理 \", type: \"button\", action: \"settle()\" },\n\n { name: \" ༺ˇ»`ʚ 全局设置 ɞ´«ˇ༻ \", type: \"button\" },\n { name: \" 类型参数 \", type: \"button\", action: \"login('【类型参数】' + n(2) + '[0]合集 [1]文本 [2]视频 [3]音频 [4]音乐 [5]图像')\" },\n { name: \" 可用参数 \", type: \"button\", action: \"login('【可用参数】' + n(2) + '[0]随时可用 [1]图书馆借阅 [2]14天借阅')\" },\n { name: \" 年代参数 \", type: \"button\", action: \"login('【年代参数】' + n(2) + '范例:1995,2007,2018或者2001-2015')\" },\n { name: \"类型:\", type: \"text\" },\n { name: \"可用:\", type: \"text\" },\n { name: \"年代:\", type: \"text\" },\n { name: \"主题:\", type: \"text\" },\n { name: \"合集:\", type: \"text\" },\n { name: \"作者:\", type: \"text\" },\n { name: \"语言:\", type: \"text\" },\n { name: \" ✣ 排序方式 ✣ \", type: \"button\" },\n { name: \" 总浏览量 \", type: \"button\", action: \"p(0)\" },\n { name: \" 月浏览量 \", type: \"button\", action: \"p(1)\" },\n { name: \" 发布日期 \", type: \"button\", action: \"p(2)\" },\n { name: \" 存档日期 \", type: \"button\", action: \"p(3)\" },\n { name: \" 审查日期 \", type: \"button\", action: \"p(4)\" },\n { name: \" 添加日期 \", type: \"button\", action: \"p(5)\" },\n { name: \" 标题字母筛选 \", type: \"button\", action: \"p(6)\" },\n { name: \" 作者字母筛选 \", type: \"button\", action: \"p(7)\" },\n { name: \"字母:\", type: \"text\" },\n\n { name: \" ✣ 播放设置 ✣ \", type: \"button\" },\n { name: \" 刷新播放 \", type: \"button\", action: \"q(0)\" },\n { name: \" 自动播放 \", type: \"button\", action: \"q(1)\" },\n { name: \" ✣ 码率设置 ✣ \", type: \"button\" },\n { name: \" 动态 \", type: \"button\", action: \"o(0)\" },\n { name: \" 64Kbps \", type: \"button\", action: \"o(1)\" },\n { name: \" 128Kbps \", type: \"button\", action: \"o(2)\" },\n\n { name: \" ༺ˇ»`ʚ 搜索设置 ɞ´«ˇ༻ \", type: \"button\" },\n { name: \" ✣ 排序方式 ✣ \", type: \"button\" },\n { name: \" 相关排序 \", type: \"button\", action: \"r(0)\" },\n { name: \" 全局设置 \", type: \"button\", action: \"r(1)\" },\n { name: \" ✣ 搜索方式 ✣ \", type: \"button\" },\n { name: \" 标题简介 \", type: \"button\", action: \"s(0)\" },\n { name: \" 文本内容 \", type: \"button\", action: \"s(1)\" },\n { name: \"类型[s]:\", type: \"text\" },\n\n { name: \" ༺ˇ»`ʚ 书籍设置 ɞ´«ˇ༻ \", type: \"button\" },\n { name: \"类型[b]:\", type: \"text\" },\n\n { name: \" ༺ˇ»`ʚ 视频设置 ɞ´«ˇ༻ \", type: \"button\" },\n { name: \"类型[v]:\", type: \"text\" },\n\n { name: \" ༺ˇ»`ʚ 音频设置 ɞ´«ˇ༻ \", type: \"button\" },\n { name: \"类型[a]:\", type: \"text\" },\n\n { name: \" ༺ˇ»`ʚ 图像设置 ɞ´«ˇ༻ \", type: \"button\" },\n { name: \"类型[i]:\", type: \"text\" },\n\n {\n name: \" 💡 源 站 打 印 💡 \",\n type: \"button\",\n action: \"test()\"\n }\n]", "loginUrl": "var fburl = '';\noriginal = {\n 'ci0': 0,\n 'ci1': 0,\n 'ci2': 0,\n 'ci3': 0,\n 'o': 0,\n 'p': 0,\n 'q': 0,\n 'r': 0,\n 's': 0,\n 'search_TC': false,\n 'TC_to_SC': true,\n 'settle': false,\n 'url': 'https:\/\/archive.org',\n 'urls': [\n 'https:\/\/archive.org'\n ],\n 'my': [\n ],\n 'text': [\n ],\n 'video': [\n ],\n 'audio': [\n ],\n 'image': [\n ]\n};\ntry {\n $$$ = JSON.parse(source.getVariable());\n if ($$$ == null) {\n error;\n } else {\n '';\n };\n} catch (e) {\n $$$ = original;\n put($$$);\n}\nx = '⓪①②③④⑤⑥⑦⑧⑨⑩';\nvar Headers = JSON.parse(cache.get(Get('url') + \"headers\"));\nvar Option = {\n \"method\": \"GET\",\n \"headers\": Headers\n};\nfunction test(e) {\n if (e == undefined) {\n return java.log('\\n' + JSON.stringify($$$['urls'], null, '\\t')) + login('【源站输出提示】' + n(2) + k(3) + '源站已打印完毕,请到日志查看 ');\n }\n if (e == -1) {\n login('【初始化提示】' + n(2) + k(17) + '已恢复默认设置 ');\n return put(original);\n }\n if (e == 0) {\n date1 = new Date().getTime();\n html = java.ajax($$$.urls[0]);\n date2 = new Date().getTime();\n t = date2 - date1;\n time = t \/ 1000 + 's';\n c = String(html).indexOf('Internet Archive');\n logTime = '【' + name(e) + '】\\n┋┋\\n' + '解析时间:' + time;\n if (c == -1 || t > 5000) {\n return login('【源站更新提示】' + n(2) + '源站更新完毕,请到日志查看' + '\\n \\n' + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♣️源站已失效(可能被墙)♣️\\n┋┋\\n请更新网址\/切换源站\/切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t < 1000) {\n return login('【源站更新提示】' + n(2) + '源站更新完毕,请到日志查看' + '\\n \\n' + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n❤️延迟低,推荐使用此站❤️\\n┋┋\\n网络环境优良,请继续保持状态\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t >= 1000 && t < 2000) {\n return login('【源站更新提示】' + n(2) + '源站更新完毕,请到日志查看' + '\\n \\n' + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♦️延迟一般,勉强可使用♦️\\n┋┋\\n请切换其他源站或切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t >= 2000 && t < 5000) {\n return login('【源站更新提示】' + n(2) + '源站更新完毕,请到日志查看' + '\\n \\n' + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♠延迟过高,不建议使用♠\\n┋┋\\n请切换其他源站或切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n }\n }\n date1 = new Date().getTime();\n html = java.ajax($$$.urls[0]);\n date2 = new Date().getTime();\n t = date2 - date1;\n time = t \/ 1000 + 's';\n c = String(html).indexOf('Internet Archive');\n logTime = '【' + name(0) + '】\\n┋┋\\n' + '解析时间:' + time;\n if (c == -1 || t > 5000) {\n return login('【访问失败提示】' + n(2) + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♣️源站已失效(可能被墙)♣️\\n┋┋\\n请更新网址\/切换源站\/切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t < 1000) {\n return login('【网络环境优良】' + n(2) + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n❤️延迟低,推荐使用此站❤️\\n┋┋\\n网络环境优良,请继续保持状态\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t >= 1000 && t < 2000) {\n return login('【网络环境一般】' + n(2) + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♦️延迟一般,勉强可使用♦️\\n┋┋\\n请切换其他源站或切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t >= 2000 && t < 5000) {\n return login('【网络环境堪忧】' + n(2) + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♠延迟过高,不建议使用♠\\n┋┋\\n请切换其他源站或切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n }\n}\nfunction put(data) {\n return source.setVariable(JSON.stringify(data, null, '\\t'));\n}\nfunction update() {\n html = java.ajax(fburl);\n J = org.jsoup.Jsoup.parse(html);\n u = J.select('.website_href');\n for (i = 0; i < 1; i++) {\n host = String(u.attr('href').split(' ')[i]).replace(\/http:\/g, 'https:').replace(\/\\\/+$\/, '');\n if (String($$$['urls']).indexOf(host) === -1) {\n java.log('\\n✅已添加源站:\\n' + host);\n $$$['urls'].unshift(host);\n put($$$);\n $(0);\n } else {\n return test(1);\n }\n }\n}\nfunction name(e) {\n if (n == undefined) {\n e = 0;\n }\n return x[e] + ' ' + $$$.urls[e];\n}\nfunction login(e) {\n if (e == undefined) {\n return;\n }\n java.longToast(e);\n}\nfunction n(e) {\n n = '\\n';\n for (m = 1; m < e; m++) {\n n = n + '\\n';\n }\n return n;\n}\nfunction k(e) {\n k = ' ';\n for (q = 1; q < e; q++) {\n k = k + ' ';\n }\n return k;\n}\nfunction l(e) {\n l = '';\n for (o = 1; o < e; o++) {\n l = l + '';\n }\n return l;\n}\nfunction look(e) {\n if (e == 0) {\n return login('【查看当前源站】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋' + ('\\n ' + '📌' + name($$$.ci0)) + '\\n┋┋' + ('\\n' + '📺播放方式:' + typeQ($$$.q)) + '\\n┋┋' + ('\\n' + '🎼码率设置:' + typeO($$$.o)) + '\\n┋┋' + ('\\n' + '📚全局排序:' + typeP($$$.p)) + '\\n┋┋' + ('\\n' + '📚搜索排序:' + typeR($$$.r)) + '\\n┋┋' + ('\\n' + '🔎搜索方式:' + typeS($$$.s)) + '\\n┋┋' + ('\\n🔍繁体搜索:' + ($$$.search_TC == true ? '开启' : '关闭')) + '\\n┋┋' + ('\\n📑简繁转换:' + ($$$.TC_to_SC == false ? '关闭' : '开启')) + '\\n┋┋' + ('\\n🗃目录整理:' + ($$$.settle == false ? '关闭' : '开启')) + '\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else {\n return login('【查看历史接口】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋' + ('\\n ci1:' + name($$$.ci1)) + '\\n┋┋' + ('\\n ci2:' + name($$$.ci2)) + '\\n┋┋' + ('\\n ci3:' + name($$$.ci3)) + '\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n }\n}\nfunction $(e) {\n if (e == undefined) {\n e = result['序号:'];\n e = e > 0 ? e : '0';\n }\n if (\/^ci[123]$\/.test(e)) {\n eval('i=$$$.' + e);\n }\n if (\/\\D|^$\/.test(e) || e < 0 || e >= $$$['urls'].length) {\n return login('【源站错误提示】' + n(2) + '已选择的源站无效,请重新选择');\n }\n $$$['url'] = $$$['urls'][e];\n $$$['ci3'] = $$$['ci2'];\n $$$['ci2'] = $$$['ci1'];\n $$$['ci1'] = $$$['ci0'];\n $$$['ci0'] = e;\n put($$$);\n test(e);\n}\nQ = ['刷新播放','自动播放'];\nfunction typeQ(e) {\n if (e == undefined) {\n e = 0;\n }\n return Q[e];\n}\nfunction q(e) {\n if (q == undefined) {\n q = result.q;\n }\n if (e == $$$.q) {\n return login('【播放切换提示】' + n(2) + '已经选择此播放方式,无需更换');\n }\n login('【播放切换提示】' + n(2) + '已经切换到[' + typeQ(e) + ']方式');\n $$$.q = e;\n return put($$$);\n}\nO = ['动态','64Kbps','128Kbps'];\nfunction typeO(e) {\n if (e == undefined) {\n e = 0;\n }\n return O[e];\n}\nfunction o(e) {\n if (o == undefined) {\n o = result.o;\n }\n if (e == $$$.o) {\n return login('【码率切换提示】' + n(2) + '已经选择此码率,无需更换');\n }\n login('【码率切换提示】' + n(2) + '已经切换到[' + typeO(e) + ']码率');\n $$$.o = e;\n return put($$$);\n}\nP = ['总浏览量','月浏览量','发布日期','存档日期','审查日期','添加日期','标题字母筛选','作者字母筛选'];\nfunction typeP(e) {\n if (e == undefined) {\n e = 1;\n }\n return P[e];\n}\nfunction p(e) {\n if (p == undefined) {\n p = result.p;\n }\n if (e == $$$.p) {\n return login('【全局排序提示】' + n(2) + '已经选择此排序,无需更换');\n }\n login('【全局排序提示】' + n(2) + '已经切换到[' + typeP(e) + ']排序');\n $$$.p = e;\n return put($$$);\n}\nR = ['相关排序','全局设置'];\nfunction typeR(e) {\n if (e == undefined) {\n e = 1;\n }\n return R[e];\n}\nfunction r(e) {\n if (r == undefined) {\n r = result.r;\n }\n if (e == $$$.r) {\n return login('【搜索排序提示】' + n(2) + '已经选择此排序,无需更换');\n }\n login('【搜索排序提示】' + n(2) + '已经切换到[' + typeR(e) + ']排序');\n $$$.r = e;\n return put($$$);\n}\nS = ['标题简介','文本内容'];\nfunction typeS(e) {\n if (e == undefined) {\n e = 1;\n }\n return S[e];\n}\nfunction s(e) {\n if (s == undefined) {\n s = result.s;\n }\n if (e == $$$.s) {\n return login('【搜索方式提示】' + n(2) + '已经选择此搜索方式,无需更换');\n }\n login('【搜索方式提示】' + n(2) + '已经切换到[' + typeS(e) + ']搜索');\n $$$.s = e;\n return put($$$);\n}\nfunction search_TC() {\n if (search_TC == undefined) {\n search_TC = true;\n }\n if ($$$.search_TC == true) {\n login('【繁体搜索提示】' + n(2) + '已关闭繁体搜索,请重新搜索');\n $$$.search_TC = false;\n put($$$);\n } else {\n login('【繁体搜索提示】' + n(2) + '已开启繁体搜索,请重新搜索');\n $$$.search_TC = true;\n put($$$);\n }\n}\nfunction TC_to_SC() {\n if (TC_to_SC == undefined) {\n TC_to_SC = true;\n }\n if ($$$.TC_to_SC == true) {\n login('【简繁转换提示】' + n(2) + '已关闭繁体转换,请刷新书籍');\n $$$.TC_to_SC = false;\n put($$$);\n } else {\n login('【简繁转换提示】' + n(2) + '已开启繁体转换,请刷新书籍');\n $$$.TC_to_SC = true;\n put($$$);\n }\n}\nfunction settle() {\n if (settle == undefined) {\n settle = true;\n }\n if ($$$.settle == true) {\n login('【目录整理提示】' + n(2) + '已关闭目录整理,请刷新目录');\n $$$.settle = false;\n put($$$);\n } else {\n login('【目录整理提示】' + n(2) + '已开启目录整理,请刷新目录');\n $$$.settle = true;\n put($$$);\n }\n}\nfunction Login() {\n java.startBrowser(baseUrl + '\/account\/login', '登录');\n}", "respondTime": 3802, "ruleBookInfo": { "author": "author", "canReName": "reName", "coverUrl": "cover", "downloadUrls": "durl", "init": "<js>\neval(String(source.loginUrl));\nvar Headers = JSON.parse(cache.get(Get('url') + \"headers\").replace(Get('url'), baseUrl));\nvar Option = {\n \"method\": \"GET\",\n \"headers\": Headers\n};\nif (String(book['author']) !== \"xiaohan231\") {\n Account = (cache.get(Get('url') + \"Account_1\") && String(cache.get(Get('url') + \"Account_1\")).length > 0) ? cache.get(Get('url') + \"Account_1\") : '';\n let ck = cookie.getCookie(baseUrl);\n if (ck.includes('user=deleted') && String(Account).length > 0) {\n Login();\n }\n var J = org.jsoup.Jsoup.parse(result);\n var $2 = element => String(java.getElements(element).text());\n var $3 = element => String(J.select(element).attr('src'));\n url = baseUrl;\n s = '';\n k = '';\n t = '';\n l = '';\n l = String(l);\n l = Get('settle') == true ? l.replace(\/\\s-\\s|-\/g, ' ').replace(\/\\s+\/, ' ').replace(\/.*第(\\d+)[话話章回期](|\\s)第.*?[话話章回期]\/, '$1').replace(\/.*第(\\d+)[话話章回期][^\\s]\/, '$1 ').replace(\/.*第(\\d+)[话話章回期]\\s\\d+\/, '$1').replace(\/.*第.*(\\d+).*?[话話章回期]\/, '$1').replace(\/(\\d+)\/, l.match(\/\\d+\/) ? l.match(\/(\\d+)\/)[1].padStart(3, '0') : '$1') : l;\n num = \"⓪①②③④⑤⑥⑦⑧⑨⑩\";\n O = ['动态','64Kbps','128Kbps'];\n P = ['总浏览量','月浏览量','发布日期','存档日期','审查日期','添加日期','标题字母筛选','作者字母筛选'];\n R = ['相关排序','全局设置'];\n Setting = '\\n🎲书源类型:' + (source.bookSourceType == 2 ? '〖默认〗' : '〖自选〗') + (source.bookSourceType == 0 ? '📄文本' : (source.bookSourceType == 1 ? '🎧音频' : (source.bookSourceType == 2 ? '💻图片\/视频' : '🗳资源'))) + ('\\n📌当前源站:' + (Get('ci0') == 0 ? '〖默认〗' : '〖自选〗') + num[Get('ci0')] + (Get('url').length > 25 ? Get('url').substring(0, 25) + \"<br>\" + Get('url').substring(25) : Get('url'))) + ('\\n📺播放方式:' + (Get('q') == 0 ? '〖默认〗刷新播放' : '〖自选〗自动播放')) + ('\\n🎼码率设置:〖' + (Get('o') == 0 ? '默认' : '自选') + '〗' + O[Get('o')]) + ('\\n📚全局排序:〖' + (Get('p') == 0 ? '默认' : '自选') + '〗' + P[Get('p')]) + ('\\n📚搜索排序:〖' + (Get('r') == 0 ? '默认' : '自选') + '〗' + R[Get('r')]) + ('\\n🔎搜索方式:〖' + (Get('r') == 0 ? '默认' : '自选') + '〗' + S[Get('s')]) + ('\\n🔍繁体搜索:' + (Get('search_TC') == true ? '〖自选〗开启' : '〖默认〗关闭')) + ('\\n📑简繁转换:' + (Get('TC_to_SC') == true ? '〖默认〗开启' : '〖自选〗关闭')) + ('\\n🗃目录整理:' + (Get('settle') == true ? '〖自选〗开启' : '〖默认〗关闭'));\n changeLog = '\\nㅤ\\n' + Setting + '\\nㅤ\\n';\n name = cache.get('Name' + baseUrl);\n author = cache.get('Author' + baseUrl);\n kind1 = cache.get('Kind' + baseUrl);\n kind = String(kind1).replace(\/^(.{60}).*\/, '$1');\n latest = $2('.metadata-definition.4');\n intro = cache.get('Intro' + baseUrl);\n cover = cache.get('Cover' + baseUrl);\n if (cache.get('Type' + baseUrl) && cache.get('Type' + baseUrl).includes('collection')) {\n latest = '';\n if (book.readConfig && book.group > 0) {\n if (author .includes('我的合集') && String($$$.my).indexOf(name + '::' + baseUrl) == -1) {\n $$$['my'].push(name + '::' + baseUrl);\n put($$$);\n login(Put(JSON.stringify('【发现提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + name + '\\n┋┋' + '\\n❤️合集已添加到:发现>书籍❤️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n }\n if (kind1.includes('texts') && String($$$.text).indexOf(name + '::' + baseUrl) == -1) {\n $$$['text'].push(name + '::' + baseUrl);\n put($$$);\n login(Put(JSON.stringify('【发现提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + name + '\\n┋┋' + '\\n❤️合集已添加到:发现>书籍❤️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n }\n if (kind1.includes('movies') && String($$$.video).indexOf(name + '::' + baseUrl) == -1) {\n $$$['video'].push(name + '::' + baseUrl);\n put($$$);\n login(Put(JSON.stringify('【发现提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + name + '\\n┋┋' + '\\n❤️合集已添加到:发现>视频❤️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n }\n if ((kind1.includes('audio') || kind1.includes('etree')) && String($$$.audio).indexOf(name + '::' + baseUrl) == -1) {\n $$$['audio'].push(name + '::' + baseUrl);\n put($$$);\n login(Put(JSON.stringify('【发现提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + name + '\\n┋┋' + '\\n❤️合集已添加到:发现>音频❤️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n }\n if (kind1.includes('image') && String($$$.image).indexOf(name + '::' + baseUrl) == -1) {\n $$$['image'].push(name + '::' + baseUrl);\n put($$$);\n login(Put(JSON.stringify('【发现提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + name + '\\n┋┋' + '\\n❤️合集已添加到:发现>图像❤️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n }\n }\n if (book.readConfig && book.group < 1 && (String($$$.my).indexOf(book.name + '::' + baseUrl) !== -1 || String($$$.text).indexOf(book.name + '::' + baseUrl) !== -1 || String($$$.video).indexOf(book.name + '::' + baseUrl) !== -1 || String($$$.audio).indexOf(book.name + '::' + baseUrl) !== -1 || String($$$.image).indexOf(book.name + '::' + baseUrl) !== -1)) {\n removeFromArrayByKey($$$, 'my', book.name + '::' + baseUrl);\n removeFromArrayByKey($$$, 'text', book.name + '::' + baseUrl);\n removeFromArrayByKey($$$, 'video', book.name + '::' + baseUrl);\n removeFromArrayByKey($$$, 'audio', book.name + '::' + baseUrl);\n removeFromArrayByKey($$$, 'image', book.name + '::' + baseUrl);\n put($$$);\n login(Put(JSON.stringify('【发现提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + name + '\\n┋┋' + '\\n♣️合集已从发现移除♣️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n }\n }\n if (cache.get('Type' + baseUrl) && cache.get('Type' + baseUrl).includes('texts')) {\n if (result.includes('js-bookreader')) {\n var LIST = JSON.parse(java.getElements('.js-bookreader').attr('value'));\n var list = Object.values(LIST.multipleBooksList.by_subprefix);\n var readurl = LIST.url;\n var read = java.ajax(decodeURIComponent('https:' + readurl));\n var klist = Object.keys(JSON.parse(read).data.metadata);\n var vlist = Object.values(JSON.parse(read).data.metadata);\n author = String($2('.metadata-definition.0 dd')).replace(\/\\,\\s\/g, '\/').replace(\/\\,\/g, '\/').replace(\/undefined\/g, '');\n latest = list[list.length - 1].title;\n var Durls = java.getElements('.format-group');\n var durls1 = [];\n var durls2 = [];\n for (j in Durls) {\n let num = parseInt(j) + 1;\n durls1.push('[' + num + ']' + String(Durls[j].select('.format-summary').text()).replace(\/download\/g, '') + '〔' + String(Durls[j].select('.hover-badge-stealth').text()).replace(\/download\/g, '') + '〕');\n durls2.push(Durls[j].select('.format-summary').attr('href'));\n }\n var dintro = '📥下载链接:\\n' + durls1.join('\\n');\n if (book.readConfig && book.getVariable(\"custom\") > 0) {\n dt = book.getVariable(\"custom\");\n DURL = Get('url') + durls2[dt-1];\n java.startBrowser(DURL, '下载链接:' + durls1[dt-1]);\n book.setVariable(JSON.stringify('', null, '\\t'));\n }\n var intros = [];\n for (j in klist) {\n intros.push('◈ ' + klist[j] + ' : ' + vlist[j]);\n }\n intro = dintro + '\\nㅤ\\n' + intros.join('\\n').replace(\/\\,\/g, ', ').replace(\/\\[\\\/.*?\\]\/g, ' ').replace(\/\\[.*?\\]\/g, '');\n var li = JSON.parse(read).data.brOptions;\n cover = li.data[0][0].uri ? String(li.data[0][0].uri).replace(\/\\&$\/, '') + ',' + JSON.stringify(Option) : cover;\n }\n if (result.includes('js-iaux-pdfs')) {\n var LIST = JSON.parse(java.getElements('.js-ia-metadata').attr('value'));\n var list = JSON.parse(java.getElements('.js-iaux-pdfs').attr('value'));\n var klist = Object.keys(LIST.metadata);\n var vlist = Object.values(LIST.metadata);\n author = String($2('.metadata-definition.0 dd')).replace(\/\\,\\s\/g, '\/').replace(\/\\,\/g, '\/').replace(\/undefined\/g, '');\n latest = list[list.length - 1].title;\n var Durls = java.getElements('.format-group');\n var durls1 = [];\n var durls2 = [];\n for (j in Durls) {\n let num = parseInt(j) + 1;\n durls1.push('[' + num + ']' + String(Durls[j].select('.format-summary').text()).replace(\/download\/g, '') + '〔' + String(Durls[j].select('.hover-badge-stealth').text()).replace(\/download\/g, '') + '〕');\n durls2.push(Durls[j].select('.format-summary').attr('href'));\n }\n var dintro = '📥下载链接:\\n' + durls1.join('\\n');\n if (book.readConfig && book.getVariable(\"custom\") > 0) {\n dt = book.getVariable(\"custom\");\n DURL = Get('url') + durls2[dt-1];\n java.startBrowser(DURL, '下载链接:' + durls1[dt-1]);\n book.setVariable(JSON.stringify('', null, '\\t'));\n }\n var intros = [];\n for (j in klist) {\n intros.push('◈ ' + klist[j] + ' : ' + vlist[j]);\n }\n intro = dintro + '\\nㅤ\\n' + intros.join('\\n').replace(\/\\,\/g, ', ').replace(\/\\[\\\/.*?\\]\/g, ' ').replace(\/\\[.*?\\]\/g, '');\n cover = cover;\n }\n }\n if (cache.get('Type' + baseUrl) && \/movies\/.test(cache.get('Type' + baseUrl))) {\n if (result.includes('js-play8-playlist')) {\n var list = JSON.parse(java.getElements('.js-play8-playlist').attr('value'));\n author = String($2('.metadata-definition.0 dd')).replace(\/\\,\\s\/g, '\/').replace(\/\\,\/g, '\/').replace(\/undefined\/g, '');\n latest = list[list.length - 1].title;\n var Durls = java.getElements('.format-group');\n var durls1 = [];\n var durls2 = [];\n for (j in Durls) {\n let num = parseInt(j) + 1;\n durls1.push('[' + num + ']' + String(Durls[j].select('.format-summary').text()).replace(\/download\/g, '') + '〔' + String(Durls[j].select('.hover-badge-stealth').text()).replace(\/download\/g, '') + '〕');\n durls2.push(Durls[j].select('.format-summary').attr('href'));\n }\n var dintro = '📥下载链接:\\n' + durls1.join('\\n');\n if (book.readConfig && book.getVariable(\"custom\") > 0) {\n dt = book.getVariable(\"custom\");\n DURL = Get('url') + durls2[dt-1];\n java.startBrowser(DURL, '下载链接:' + durls1[dt-1]);\n book.setVariable(JSON.stringify('', null, '\\t'));\n }\n intro = dintro + '\\nㅤ\\n' + $2('.metadata-definition').replace(\/^by\/, '\\n◈ by :').replace(\/Publication\\sdate\/, '\\n◈ Publication date :').replace(\/Usage\/, '\\n◈ Usage :').replace(\/Topics\/, '\\n◈ Topics :').replace(\/Language\/, '\\n◈ Language :').replace(\/Addeddate\/, '\\n◈ Addeddate :').replace(\/Collection_added\/, '\\n◈ Collection_added :').replace(\/Color\/, '\\n◈ Color :').replace(\/Identifier\/, '\\n◈ Identifier :').replace(\/Reviews allowed\/, '\\n◈ Reviews allowed :').replace(\/Scanner\/, '\\n◈ Scanner :').replace(\/Sound\/, '\\n◈ Sound :').replace(\/Source\/, '\\n◈ Source :');\n cover = list[0].image ? Get('url') + list[0].image + ',' + JSON.stringify(Option) : cover;\n }\n if (result.includes('js-tv3-init')) {\n var $2 = element => String(java.getElements(element).text());\n var $3 = element => java.getElements(element);\n var list = JSON.parse(java.getElements('.js-tv3-init').attr('value'));\n latest = '';\n intro = $2('.col-sm-8.thats-left.item-details-metadata').replace(\/^tv\\s\/, '◈ ').replace(\/CEST\\s\/, 'CEST\\n◈ ').replace(\/Captioning\/, '\\n◈ Captioning').replace(\/TOPIC\\sFREQUENCY\/, '\\n◈ TOPIC FREQUENCY :').replace(\/Network\/, '\\n◈ Network :').replace(\/Duration\/, '\\n◈ Duration :').replace(\/Scanned\\sin\/, '\\n◈ Scanned in :').replace(\/Language\/, '\\n◈ Language :').replace(\/Source\/, '\\n◈ Source :').replace(\/Tuner\/, '\\n◈ Tuner :').replace(\/Video\\sCodec\/, '\\n◈ Video Codec :').replace(\/Audio\\sCocec\/, '\\n◈ Audio Cocec :').replace(\/Pixel\\swidth\/, '\\n◈ Pixel width :').replace(\/Pixel\\sheight\/, '\\n◈ Pixel height :').replace(\/Audio\\\/Visual\/, '\\n◈ Audio\/Visual :').replace(\/Notes\/, '\\n◈ Notes :').replace(\/◈\\s\\n◈\/, '\\n◈');\n }\n if (result.includes('js-carousel2')) {\n var Durls = java.getElements('.format-group');\n var durls1 = [];\n var durls2 = [];\n for (j in Durls) {\n let num = parseInt(j) + 1;\n durls1.push('[' + num + ']' + String(Durls[j].select('.format-summary').text()).replace(\/download\/g, '') + '〔' + String(Durls[j].select('.hover-badge-stealth').text()).replace(\/download\/g, '') + '〕');\n durls2.push(Durls[j].select('.format-summary').attr('href'));\n }\n var dintro = '📥下载链接:\\n' + durls1.join('\\n');\n if (book.readConfig && book.getVariable(\"custom\") > 0) {\n dt = book.getVariable(\"custom\");\n DURL = Get('url') + durls2[dt-1];\n java.startBrowser(DURL, '下载链接:' + durls1[dt-1]);\n book.setVariable(JSON.stringify('', null, '\\t'));\n }\n intro = dintro + '\\nㅤ\\n' + $2('.metadata-definition').replace(\/^by\/, '\\n◈ by :').replace(\/Topics\/, '\\n◈ Topics :').replace(\/Addeddate\/, '\\n◈ Addeddate :').replace(\/Identifier\/, '\\n◈ Identifier :').replace(\/Reviews allowed\/, '\\n◈ Reviews allowed :').replace(\/Scanner\/, '\\n◈ Scanner :');\n }\n }\n if (cache.get('Type' + baseUrl) && \/audio|etree\/.test(cache.get('Type' + baseUrl))) {\n if (result.includes('js-ia-metadata')) {\n var LIST = JSON.parse(java.getElements('.js-ia-metadata').attr('value'));\n var IMGLIST = JSON.parse(java.getElements('.js-iaux-loose-images').attr('value'));\n var list = LIST.files;\n var klist = Object.keys(LIST.metadata);\n var vlist = Object.values(LIST.metadata);\n author = String($2('.metadata-definition.0 dd')).replace(\/\\,\\s\/g, '\/').replace(\/\\,\/g, '\/').replace(\/undefined\/g, '');\n latest = list[list.length - 1].title;\n var Durls = java.getElements('.format-group');\n var durls1 = [];\n var durls2 = [];\n for (j in Durls) {\n let num = parseInt(j) + 1;\n durls1.push('[' + num + ']' + String(Durls[j].select('.format-summary').text()).replace(\/download\/g, '') + '〔' + String(Durls[j].select('.hover-badge-stealth').text()).replace(\/download\/g, '') + '〕');\n durls2.push(Durls[j].select('.format-summary').attr('href'));\n }\n var dintro = '📥下载链接:\\n' + durls1.join('\\n');\n if (book.readConfig && book.getVariable(\"custom\") > 0) {\n dt = book.getVariable(\"custom\");\n DURL = Get('url') + durls2[dt-1];\n java.startBrowser(DURL, '下载链接:' + durls1[dt-1]);\n book.setVariable(JSON.stringify('', null, '\\t'));\n }\n var intros = [];\n for (j in klist) {\n intros.push('◈ ' + klist[j] + ' : ' + vlist[j]);\n }\n intro = dintro + '\\nㅤ\\n' + intros.join('\\n').replace(\/\\,\/g, ', ').replace(\/\\[\\\/.*?\\]\/g, ' ').replace(\/\\[.*?\\]\/g, '');\n cover = IMGLIST.image_url ? IMGLIST.image_url + ',' + JSON.stringify(Option) : cover;\n }\n }\n if (cache.get('Type' + baseUrl) && \/image\/.test(cache.get('Type' + baseUrl))) {\n var Durls = java.getElements('.format-group');\n var durls1 = [];\n var durls2 = [];\n for (j in Durls) {\n let num = parseInt(j) + 1;\n durls1.push('[' + num + ']' + String(Durls[j].select('.format-summary').text()).replace(\/download\/g, '') + '〔' + String(Durls[j].select('.hover-badge-stealth').text()).replace(\/download\/g, '') + '〕');\n durls2.push(Durls[j].select('.format-summary').attr('href'));\n }\n var dintro = '📥下载链接:\\n' + durls1.join('\\n');\n if (book.readConfig && book.getVariable(\"custom\") > 0) {\n dt = book.getVariable(\"custom\");\n DURL = Get('url') + durls2[dt-1];\n java.startBrowser(DURL, '下载链接:' + durls1[dt-1]);\n book.setVariable(JSON.stringify('', null, '\\t'));\n }\n intro = dintro + '\\nㅤ\\n' + $2('.metadata-definition').replace(\/^by\/, '\\n◈ by :').replace(\/Topics\/, '\\n◈ Topics :').replace(\/Addeddate\/, '\\n◈ Addeddate :').replace(\/Identifier\/, '\\n◈ Identifier :').replace(\/Reviews allowed\/, '\\n◈ Reviews allowed :').replace(\/Scanner\/, '\\n◈ Scanner :');\n }\n if(String(Account).length > 0) {\n let scurl = Get('url') + '\/bookmarks.php?add_bookmark=1&mediatype=' + cache.get('Type' + baseUrl) + '&identifier=' + cache.get('Identifier' + baseUrl) + '&title=' + java.encodeURI(String(cache.get('Name' + baseUrl)).replace(\/\\s\/g, '+'));\n let qxurl = Get('url') + '\/details\/' + cache.get(Get('url') + \"Fav_1\") + '?remove_item=' + cache.get('Identifier' + baseUrl) + '&kind=favorite';\n let dataId = cache.get('Identifier' + baseUrl)\n var SC = cache.get(book.originName + Account + dataId) ? cache.get(book.originName + Account + dataId) : '';\n if (book.readConfig && book.group > 0 && !SC.includes('y') && !cache.get('Type' + baseUrl).includes('collection')) {\n java.ajax(scurl);\n cache.put(book.originName + Account + dataId,'y');\n login(Put(JSON.stringify('【收藏提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + name + '\\n┋┋' + '\\n❤️已添加收藏❤️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n }\n if (book.readConfig && book.group < 1 && SC.includes('y') && !cache.get('Type' + baseUrl).includes('collection')) {\n java.ajax(qxurl);\n cache.put(book.originName + Account + dataId,'n');\n login(Put(JSON.stringify('【收藏提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + name + '\\n┋┋' + '\\n♣️已取消收藏♣️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n }\n }\n book = JSON.stringify({\n 'name': name,\n 'author': author,\n 'kind': kind,\n 'word': '',\n 'latest': latest,\n 'intro': changeLog + intro,\n 'cover': cover,\n 'url': url,\n 'durl': '',\n 'reName': true\n });\n} else {\n book = JSON.stringify({\n 'kind': book['kind']\n });\n}\nPut(book);\n<\/js>", "intro": "intro", "kind": "kind", "lastChapter": "latest", "name": "name", "tocUrl": "url", "wordCount": "word" }, "ruleContent": { "content": "<js>\nif (String(book['author']) !== \"xiaohan231\") {\n if (cache.get('Type' + book.bookUrl) && \/collection\/.test(cache.get('Type' + book.bookUrl))) {\n result ='<img src=\"' + Imgurl(String(book.coverUrl).replace(\/\\,\\{.*\/, '')) + '\">';\n }\n if (cache.get('Type' + book.bookUrl) && cache.get('Type' + book.bookUrl).includes('texts')) {\n if (!result.includes('js-iaux-pdfs') && java.get('FDF' + baseUrl) == 'n') {\n if (String(chapter).includes('isVip=true')) {\n java.startBrowser(baseUrl, book.durChapterTitle);\n }\n var readurl = decodeURIComponent('https:' + JSON.parse(java.getElements('.js-bookreader').attr('value')).url);\n var read = java.ajax(readurl);\n var list = JSON.parse(read).data.brOptions.data;\n var allURIs = [];\n list.forEach(pageGroup => {\n pageGroup.forEach(page => {\n allURIs.push(page.uri);\n });\n });\n var result = '';\n for(i in allURIs){\n result +='<img src=\"' + Imgurl(allURIs[i]) + '\">\\n';\n }\n } else {\n var start = cache.get(book.name + baseUrl);\n if (start == 'y') {\n cache.put(book.name + baseUrl, 'n');\n java.startBrowser(baseUrl, book.durChapterTitle);\n } else {\n cache.put(book.name + baseUrl, 'y');\n java.toast('【PDF下载提示】\\nㅤ\\n❤️网页下载PDF❤️');\n }\n result ='<img src=\"' + Imgurl(String(book.coverUrl).replace(\/\\,\\{.*\/, '')) + '\">\\n';\n }\n }\n if (cache.get('Type' + book.bookUrl) && \/movies\/.test(cache.get('Type' + book.bookUrl))) {\n if (source.bookSourceType !== 1) {\n if (baseUrl.includes('movies') || baseUrl.includes('TV3')) {\n var start = Get('q') == 0 ? cache.get(book.name + baseUrl) : 'y';\n if (java.get('Video' + baseUrl) && start == 'y') {\n cache.put(book.name + baseUrl, 'n');\n java.startBrowser(java.get('Video' + baseUrl), book.durChapterTitle);\n } else {\n cache.put(book.name + baseUrl, 'y');\n java.toast('【播放提示】\\nㅤ\\n❤️刷新开始播放❤️');\n }\n result ='<img src=\"' + java.get('Image' + baseUrl) + '\">\\n' + (java.get('Intro' + baseUrl) ? java.get('Intro' + baseUrl) : '');\n } else {\n java.toast('【播放提示】\\nㅤ\\n♣️视频没有播放链接♣️');\n result ='<img src=\"' + Imgurl(String(book.coverUrl).replace(\/\\,\\{.*\/, '')) + '\">\\n';\n }\n } else {\n result;\n }\n }\n if (cache.get('Type' + book.bookUrl) && \/audio|etree\/.test(cache.get('Type' + book.bookUrl))) {\n if (source.bookSourceType !== 1) {\n var start = Get('q') == 0 ? cache.get(book.name + baseUrl) : 'y';\n if (java.get('Audio' + baseUrl) && start == 'y') {\n cache.put(book.name + baseUrl, 'n');\n java.startBrowser(java.get('Audio' + baseUrl), book.durChapterTitle);\n } else {\n cache.put(book.name + baseUrl, 'y');\n java.toast('【播放提示】\\nㅤ\\n❤️刷新开始播放❤️');\n }\n result ='<img src=\"' + Imgurl(String(book.coverUrl).replace(\/\\,\\{.*\/, '')) + '\">';\n } else {\n result;\n }\n }\n if (cache.get('Type' + book.bookUrl) && \/image\/.test(cache.get('Type' + book.bookUrl))) {\n var list = java.getElements('.carousel-image-wrapper');\n var result = '';\n for(i in list){\n result +='<img src=\"' + Imgurl(Get('url') + list[i].attr('href')) + '\">\\n';\n }\n }\n} else {\n '<br><img src=\"https:\/\/qyyuapi.com\/img\/' + String(title).replace(\/〔.*$\/, \"\") + '.jpg\">';\n}\n<\/js>", "imageDecode": "", "imageStyle": "FULL", "nextContentUrl": "", "payAction": "baseUrl", "sourceRegex": ".*\\.(mp3|mp4).*", "webJs": "" }, "ruleExplore": { "author": "author", "bookList": "<js>\nvar _0x8ad9=['\\x59\\x57\\x56\\x7a\\x51\\x6d\\x46\\x7a\\x5a\\x54\\x59\\x30\\x52\\x47\\x56\\x6a\\x62\\x32\\x52\\x6c\\x56\\x47\\x39\\x54\\x64\\x48\\x4a\\x70\\x62\\x6d\\x63\\x3d','\\x64\\x6d\\x46\\x79\\x61\\x57\\x46\\x69\\x62\\x47\\x56\\x44\\x62\\x32\\x31\\x74\\x5a\\x57\\x35\\x30','\\x49\\x79\\x4d\\x6a\\x49\\x33\\x68\\x70\\x59\\x57\\x38\\x74\\x61\\x47\\x46\\x75\\x4a\\x69\\x59\\x6d\\x4a\\x67\\x3d\\x3d','\\x51\\x55\\x56\\x54\\x4c\\x30\\x56\\x44\\x51\\x69\\x39\\x51\\x53\\x30\\x4e\\x54\\x4e\\x31\\x42\\x68\\x5a\\x47\\x52\\x70\\x62\\x6d\\x63\\x3d'];var _0x1154=function(_0x8ad98a,_0x1154df){_0x8ad98a=_0x8ad98a-0x0;var _0x8973f3=_0x8ad9[_0x8ad98a];if(_0x1154['BCFhgp']===undefined){(function(){var _0x4208c7;try{var _0x17de06=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');');_0x4208c7=_0x17de06();}catch(_0x3256bc){_0x4208c7=window;}var _0x2b1624='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x4208c7['atob']||(_0x4208c7['atob']=function(_0x33ee73){var _0x3a9ab3=String(_0x33ee73)['replace'](\/=+$\/,'');var _0xd039c1='';for(var _0xb2196b=0x0,_0x1c6da0,_0x585e25,_0x43c3a8=0x0;_0x585e25=_0x3a9ab3['charAt'](_0x43c3a8++);~_0x585e25&&(_0x1c6da0=_0xb2196b%0x4?_0x1c6da0*0x40+_0x585e25:_0x585e25,_0xb2196b++%0x4)?_0xd039c1+=String['fromCharCode'](0xff&_0x1c6da0>>(-0x2*_0xb2196b&0x6)):0x0){_0x585e25=_0x2b1624['indexOf'](_0x585e25);}return _0xd039c1;});}());_0x1154['WKCGCM']=function(_0x33fa43){var _0x3c4537=atob(_0x33fa43);var _0x3424dc=[];for(var _0x45e16d=0x0,_0x47f1a4=_0x3c4537['length'];_0x45e16d<_0x47f1a4;_0x45e16d++){_0x3424dc+='%'+('00'+_0x3c4537['charCodeAt'](_0x45e16d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3424dc);};_0x1154['NnFUah']={};_0x1154['BCFhgp']=!![];}var _0x226207=_0x1154['NnFUah'][_0x8ad98a];if(_0x226207===undefined){_0x8973f3=_0x1154['WKCGCM'](_0x8973f3);_0x1154['NnFUah'][_0x8ad98a]=_0x8973f3;}else{_0x8973f3=_0x226207;}return _0x8973f3;};eval(String(java[_0x1154('\\x30\\x78\\x30')](source[_0x1154('\\x30\\x78\\x31')],_0x1154('\\x30\\x78\\x32'),_0x1154('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\nuser_Check();\nvar data = [];\nvar Headers = JSON.parse(cache.get(Get('url') + \"headers\").replace(Get('url'), baseUrl));\nvar Option = {\n \"method\": \"GET\",\n \"headers\": Headers\n};\nif (User == true) {\n var list = JSON.parse(result).response.body ? (JSON.parse(result).response.body.hits ? JSON.parse(result).response.body.hits.hits : JSON.parse(result).response.body.page_elements.collections.hits.hits) : [];\n for (i in list) {\n name = list[i].fields.title;\n var collections = [];\n var collectionElements = list[i].fields.collection;\n for (var j in collectionElements) {\n collections.push(String(collectionElements[j]));\n }\n collection = collections.join(',');\n if (list[i].fields.mediatype.includes('collection')) {\n author = '【默认合集】';\n if (collection.includes('texts')) {\n author = '【书籍合集】';\n } else if (collection.includes('movies')) {\n author = '【视频合集】';\n } else if (collection.includes('audio') || collection.includes('etree')) {\n author = '【音频合集】';\n } else if (collection.includes('image')) {\n author = '【图像合集】';\n } else {\n author = '【我的合集】';\n }\n kind = shortenNumber(list[i].fields.item_count || 0) + ' items' + ',' + formatBytes(list[i].fields.collection_size || 0) + ',collection' + ',' + collection;\n latest = '';\n } else {\n author = String(list[i].fields.creator).replace(\/\\,\\s\/g, '\/').replace(\/\\,\/g, '\/').replace(\/undefined\/g, '');\n kind = String('✦ ' + shortenNumber(list[i].fields.downloads || 0) + ',' + '♥ ' + shortenNumber(list[i].fields.num_favorites || 0) + ',' + String(list[i].fields.mediatype).replace(\/etree\/, 'music') + ',' + list[i].fields.language + ',' + list[i].fields.year).replace(\/undefined\/g, '').replace(\/✦\\s\\,\/, '✦ 0,').replace(\/♥\\s\\,\/, '♥ 0,');\n latest = 'Addeddate: ' + String(list[i].fields.addeddate).replace(\/T\/, ' ').replace(\/Z\/, '');\n }\n intro = String(list[i].fields.description).replace(\/undefined\/g, '');\n cover = decodeURIComponent(Get('url') + '\/services\/img\/' + list[i].fields.identifier) + ',' + JSON.stringify(Option);\n url = decodeURIComponent(Get('url') + '\/details\/' + list[i].fields.identifier);\n cache.put('Type' + url, list[i].fields.mediatype);\n cache.put('Identifier' + url, list[i].fields.identifier);\n cache.put('Name' + url, name);\n cache.put('Author' + url, author);\n cache.put('Kind' + url, kind);\n cache.put('Cover' + url, cover);\n cache.put('Intro' + url, intro);\n data.push({\n 'name': name,\n 'author': author,\n 'kind': kind,\n 'word': '',\n 'latest': latest,\n 'intro': intro,\n 'cover': cover,\n 'url': url\n });\n }\n var next = java.ajax(baseUrl.replace(\/&page=(\\d+)\/, function(match, p1) {return '&page=' + (parseInt(p1) + 1);}) + ',' + JSON.stringify(Option));\n var nextlist = JSON.parse(next).response.body ? (JSON.parse(next).response.body.hits ? JSON.parse(next).response.body.hits.hits : JSON.parse(next).response.body.page_elements.collections.hits.hits) : [];\n if (!list[0] || !nextlist[0]) {\n Data();\n }\n data = JSON.stringify(data);\n} else {\n data = Data();\n}\nPut(data);\n<\/js>", "bookUrl": "url", "coverUrl": "cover", "intro": "intro", "kind": "kind", "lastChapter": "latest", "name": "name", "wordCount": "word" }, "ruleReview": {}, "ruleSearch": { "author": "author", "bookList": "<js>\nvar _0x8ad9=['\\x59\\x57\\x56\\x7a\\x51\\x6d\\x46\\x7a\\x5a\\x54\\x59\\x30\\x52\\x47\\x56\\x6a\\x62\\x32\\x52\\x6c\\x56\\x47\\x39\\x54\\x64\\x48\\x4a\\x70\\x62\\x6d\\x63\\x3d','\\x64\\x6d\\x46\\x79\\x61\\x57\\x46\\x69\\x62\\x47\\x56\\x44\\x62\\x32\\x31\\x74\\x5a\\x57\\x35\\x30','\\x49\\x79\\x4d\\x6a\\x49\\x33\\x68\\x70\\x59\\x57\\x38\\x74\\x61\\x47\\x46\\x75\\x4a\\x69\\x59\\x6d\\x4a\\x67\\x3d\\x3d','\\x51\\x55\\x56\\x54\\x4c\\x30\\x56\\x44\\x51\\x69\\x39\\x51\\x53\\x30\\x4e\\x54\\x4e\\x31\\x42\\x68\\x5a\\x47\\x52\\x70\\x62\\x6d\\x63\\x3d'];var _0x1154=function(_0x8ad98a,_0x1154df){_0x8ad98a=_0x8ad98a-0x0;var _0x8973f3=_0x8ad9[_0x8ad98a];if(_0x1154['BCFhgp']===undefined){(function(){var _0x4208c7;try{var _0x17de06=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');');_0x4208c7=_0x17de06();}catch(_0x3256bc){_0x4208c7=window;}var _0x2b1624='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x4208c7['atob']||(_0x4208c7['atob']=function(_0x33ee73){var _0x3a9ab3=String(_0x33ee73)['replace'](\/=+$\/,'');var _0xd039c1='';for(var _0xb2196b=0x0,_0x1c6da0,_0x585e25,_0x43c3a8=0x0;_0x585e25=_0x3a9ab3['charAt'](_0x43c3a8++);~_0x585e25&&(_0x1c6da0=_0xb2196b%0x4?_0x1c6da0*0x40+_0x585e25:_0x585e25,_0xb2196b++%0x4)?_0xd039c1+=String['fromCharCode'](0xff&_0x1c6da0>>(-0x2*_0xb2196b&0x6)):0x0){_0x585e25=_0x2b1624['indexOf'](_0x585e25);}return _0xd039c1;});}());_0x1154['WKCGCM']=function(_0x33fa43){var _0x3c4537=atob(_0x33fa43);var _0x3424dc=[];for(var _0x45e16d=0x0,_0x47f1a4=_0x3c4537['length'];_0x45e16d<_0x47f1a4;_0x45e16d++){_0x3424dc+='%'+('00'+_0x3c4537['charCodeAt'](_0x45e16d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3424dc);};_0x1154['NnFUah']={};_0x1154['BCFhgp']=!![];}var _0x226207=_0x1154['NnFUah'][_0x8ad98a];if(_0x226207===undefined){_0x8973f3=_0x1154['WKCGCM'](_0x8973f3);_0x1154['NnFUah'][_0x8ad98a]=_0x8973f3;}else{_0x8973f3=_0x226207;}return _0x8973f3;};eval(String(java[_0x1154('\\x30\\x78\\x30')](source[_0x1154('\\x30\\x78\\x31')],_0x1154('\\x30\\x78\\x32'),_0x1154('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\nuser_Check();\nvar data = [];\nvar Headers = JSON.parse(cache.get(Get('url') + \"headers\").replace(Get('url'), baseUrl));\nvar Option = {\n \"method\": \"GET\",\n \"headers\": Headers\n};\nif (User == true) {\n var list = JSON.parse(result).response.body.hits.hits;\n for (i in list) {\n name = list[i].fields.title;\n var collections = [];\n var collectionElements = list[i].fields.collection;\n for (var j in collectionElements) {\n collections.push(String(collectionElements[j]));\n }\n collection = collections.join(',');\n if (list[i].fields.mediatype.includes('collection')) {\n author = '【默认合集】';\n if (collection.includes('texts')) {\n author = '【书籍合集】';\n }\n if (collection.includes('movies')) {\n author = '【视频合集】';\n }\n if (collection.includes('audio') || collection.includes('etree')) {\n author = '【音频合集】';\n }\n if (collection.includes('image')) {\n author = '【图像合集】';\n }\n kind = shortenNumber(list[i].fields.item_count) + ' items' + ',' + formatBytes(list[i].fields.collection_size) + ',collection' + ',' + collection;\n latest = '';\n } else {\n author = String(list[i].fields.creator).replace(\/\\,\\s\/g, '\/').replace(\/\\,\/g, '\/').replace(\/undefined\/g, '');\n kind = String('✦ ' + shortenNumber(list[i].fields.downloads || 0) + ',' + '♥ ' + shortenNumber(list[i].fields.num_favorites || 0) + ',' + String(list[i].fields.mediatype).replace(\/etree\/, 'music') + ',' + list[i].fields.language + ',' + list[i].fields.year).replace(\/undefined\/g, '').replace(\/✦\\s\\,\/, '✦ 0,').replace(\/♥\\s\\,\/, '♥ 0,');\n latest = 'Addeddate: ' + String(list[i].fields.addeddate).replace(\/T\/, ' ').replace(\/Z\/, '');\n }\n intro = String(list[i].fields.description).replace(\/undefined\/g, '');\n cover = decodeURIComponent(Get('url') + '\/services\/img\/' + list[i].fields.identifier) + ',' + JSON.stringify(Option);\n url = decodeURIComponent(Get('url') + '\/details\/' + list[i].fields.identifier);\n cache.put('Type' + url, list[i].fields.mediatype);\n cache.put('Identifier' + url, list[i].fields.identifier);\n cache.put('Name' + url, name);\n cache.put('Author' + url, author);\n cache.put('Kind' + url, kind);\n cache.put('Cover' + url, cover);\n cache.put('Intro' + url, intro);\n if (!(\/data|web|account|software|other\/.test(collection)) && !(\/data|web|account|software|other\/.test(list[i].fields.mediatype))) {\n data.push({\n 'name': name,\n 'author': author,\n 'kind': kind,\n 'word': '',\n 'latest': latest,\n 'intro': intro,\n 'cover': cover,\n 'url': url\n });\n }\n }\n var next = java.ajax(baseUrl.replace(\/&page=(\\d+)\/, function(match, p1) {return '&page=' + (parseInt(p1) + 1);}) + ',' + JSON.stringify(Option));\n var nextlist = JSON.parse(next).response.body.hits ? JSON.parse(next).response.body.hits.hits : JSON.parse(next).response.body.page_elements.collections.hits.hits;\n if (!list[0] || !nextlist[0]) {\n Data();\n }\n data = JSON.stringify(data);\n} else {\n data = Data();\n}\nPut(data);\n<\/js>", "bookUrl": "url", "checkKeyWord": "我的", "coverUrl": "cover", "intro": "intro", "kind": "kind", "lastChapter": "latest", "name": "name", "wordCount": "word" }, "ruleToc": { "chapterList": "<js>\nvar _0x8ad9=['\\x59\\x57\\x56\\x7a\\x51\\x6d\\x46\\x7a\\x5a\\x54\\x59\\x30\\x52\\x47\\x56\\x6a\\x62\\x32\\x52\\x6c\\x56\\x47\\x39\\x54\\x64\\x48\\x4a\\x70\\x62\\x6d\\x63\\x3d','\\x64\\x6d\\x46\\x79\\x61\\x57\\x46\\x69\\x62\\x47\\x56\\x44\\x62\\x32\\x31\\x74\\x5a\\x57\\x35\\x30','\\x49\\x79\\x4d\\x6a\\x49\\x33\\x68\\x70\\x59\\x57\\x38\\x74\\x61\\x47\\x46\\x75\\x4a\\x69\\x59\\x6d\\x4a\\x67\\x3d\\x3d','\\x51\\x55\\x56\\x54\\x4c\\x30\\x56\\x44\\x51\\x69\\x39\\x51\\x53\\x30\\x4e\\x54\\x4e\\x31\\x42\\x68\\x5a\\x47\\x52\\x70\\x62\\x6d\\x63\\x3d'];var _0x1154=function(_0x8ad98a,_0x1154df){_0x8ad98a=_0x8ad98a-0x0;var _0x8973f3=_0x8ad9[_0x8ad98a];if(_0x1154['BCFhgp']===undefined){(function(){var _0x4208c7;try{var _0x17de06=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');');_0x4208c7=_0x17de06();}catch(_0x3256bc){_0x4208c7=window;}var _0x2b1624='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x4208c7['atob']||(_0x4208c7['atob']=function(_0x33ee73){var _0x3a9ab3=String(_0x33ee73)['replace'](\/=+$\/,'');var _0xd039c1='';for(var _0xb2196b=0x0,_0x1c6da0,_0x585e25,_0x43c3a8=0x0;_0x585e25=_0x3a9ab3['charAt'](_0x43c3a8++);~_0x585e25&&(_0x1c6da0=_0xb2196b%0x4?_0x1c6da0*0x40+_0x585e25:_0x585e25,_0xb2196b++%0x4)?_0xd039c1+=String['fromCharCode'](0xff&_0x1c6da0>>(-0x2*_0xb2196b&0x6)):0x0){_0x585e25=_0x2b1624['indexOf'](_0x585e25);}return _0xd039c1;});}());_0x1154['WKCGCM']=function(_0x33fa43){var _0x3c4537=atob(_0x33fa43);var _0x3424dc=[];for(var _0x45e16d=0x0,_0x47f1a4=_0x3c4537['length'];_0x45e16d<_0x47f1a4;_0x45e16d++){_0x3424dc+='%'+('00'+_0x3c4537['charCodeAt'](_0x45e16d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3424dc);};_0x1154['NnFUah']={};_0x1154['BCFhgp']=!![];}var _0x226207=_0x1154['NnFUah'][_0x8ad98a];if(_0x226207===undefined){_0x8973f3=_0x1154['WKCGCM'](_0x8973f3);_0x1154['NnFUah'][_0x8ad98a]=_0x8973f3;}else{_0x8973f3=_0x226207;}return _0x8973f3;};eval(String(java[_0x1154('\\x30\\x78\\x30')](source[_0x1154('\\x30\\x78\\x31')],_0x1154('\\x30\\x78\\x32'),_0x1154('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\nuser_Check();\nvar data = [];\nvar Headers = JSON.parse(cache.get(Get('url') + \"headers\").replace(Get('url'), baseUrl));\nvar Option = {\n \"method\": \"GET\",\n \"headers\": Headers\n};\nif (String(book['author']) !== \"xiaohan231\") {\n if (cache.get('Type' + baseUrl) && cache.get('Type' + baseUrl).includes('collection')) {\n Title = ['取消分组后刷新,从发现中移除合集','设置分组后刷新,可添加合集到发现'];\n Link = ['https:\/\/www.baidu.com\/collection\/1','https:\/\/www.baidu.com\/collection\/2'];\n for (i in Title) {\n data.push({\n 'title': Title[i],\n 'link': Link[i],\n 'vol': '',\n 'vip': false,\n });\n }\n }\n if (cache.get('Type' + baseUrl) && cache.get('Type' + baseUrl).includes('texts')) {\n if (result.includes('js-bookreader')) {\n var list = Object.values(JSON.parse(java.getElements('.js-bookreader').attr('value')).multipleBooksList.by_subprefix);\n for (i in list) {\n link = decodeURIComponent(Get('url') + list[i].url_path) + '?view=theater,' + JSON.stringify(Option);\n title = list[i].title;\n vol = list[i].file_format.includes('PDF') ? shortenNumber(list[i].raw.size) : '';\n vip = list[i].raw.private;\n PDF = list[i].file_format.includes('PDF') ? 'y' : 'n';\n java.put('FDF' + link, PDF);\n order = title.match(\/(\\d+)\/);\n title = Get('settle') == true ? String(title).replace(\/\\s共.*?图\/, '').replace(\/(-|_|\\s-\\s)\/g, ' ').replace(\/\\s-\\s|-\/g, ' ').replace(\/\\s+\/, ' ').replace(\/.*第(\\d+)[话話章回期](|\\s)第.*?[话話章回期]\/, '$1').replace(\/.*第(\\d+)[话話章回期][^\\s]\/, '$1 ').replace(\/.*第(\\d+)[话話章回期]\\s\\d+\/, '$1').replace(\/.*第.*(\\d+).*?[话話章回期]\/, '$1').replace(\/(\\d+)\/, title.match(\/\\d+\/) ? order[1].padStart(3, '0') : '$1') : title;\n data.push({\n 'title': title,\n 'link': link,\n 'vol': vol,\n 'vip': vip\n });\n }\n }\n if (result.includes('js-iaux-pdfs')) {\n var list = JSON.parse(java.getElements('.js-iaux-pdfs').attr('value'));\n for (i in list) {\n link = decodeURIComponent(Get('url') + list[i].url_path) + '?view=theater,' + JSON.stringify(Option);\n title = list[i].title;\n vol = shortenNumber(list[i].raw.size);\n vip = list[i].raw.private;\n order = title.match(\/(\\d+)\/);\n title = Get('settle') == true ? String(title).replace(\/\\s共.*?图\/, '').replace(\/(-|_|\\s-\\s)\/g, ' ').replace(\/\\s-\\s|-\/g, ' ').replace(\/\\s+\/, ' ').replace(\/.*第(\\d+)[话話章回期](|\\s)第.*?[话話章回期]\/, '$1').replace(\/.*第(\\d+)[话話章回期][^\\s]\/, '$1 ').replace(\/.*第(\\d+)[话話章回期]\\s\\d+\/, '$1').replace(\/.*第.*(\\d+).*?[话話章回期]\/, '$1').replace(\/(\\d+)\/, title.match(\/\\d+\/) ? order[1].padStart(3, '0') : '$1') : title;\n data.push({\n 'title': title,\n 'link': link,\n 'vol': vol,\n 'vip': vip\n });\n }\n }\n }\n if (cache.get('Type' + baseUrl) && \/movies\/.test(cache.get('Type' + baseUrl))) {\n if (result.includes('js-play8-playlist')) {\n var list = JSON.parse(java.getElements('.js-play8-playlist').attr('value'));\n for (i in list) {\n title = list[i].title;\n link = 'https:\/\/www.baidu.com\/movies\/' + i;\n image = list[i].image ? (Get('url') + list[i].image) : book.coverUrl;\n video = decodeURIComponent(Get('url') + list[i].sources[0].file);\n java.put('Image' + link, image);\n java.put('Video' + link, video);\n if (source.bookSourceType == 1) {\n link = `${video},{\"webView\":true}`;\n }\n vol = list[i].sources[0].type + ' ' + list[i].sources[0].height + 'x' + list[i].sources[0].width + ' ' + list[i].sources[0].label;\n order = title.match(\/(\\d+)\/);\n title = Get('settle') == true ? String(title).replace(\/\\s共.*?图\/, '').replace(\/(-|_|\\s-\\s)\/g, ' ').replace(\/\\s-\\s|-\/g, ' ').replace(\/\\s+\/, ' ').replace(\/.*第(\\d+)[话話章回期](|\\s)第.*?[话話章回期]\/, '$1').replace(\/.*第(\\d+)[话話章回期][^\\s]\/, '$1 ').replace(\/.*第(\\d+)[话話章回期]\\s\\d+\/, '$1').replace(\/.*第.*(\\d+).*?[话話章回期]\/, '$1').replace(\/(\\d+)\/, title.match(\/\\d+\/) ? order[1].padStart(3, '0') : '$1') : title;\n data.push({\n 'title': title,\n 'link': link,\n 'vol': vol,\n 'vip': false\n });\n }\n } else if (result.includes('js-tv3-init')) {\n var $2 = element => String(java.getElements(element).text());\n var $3 = element => java.getElements(element);\n var list = JSON.parse(java.getElements('.js-tv3-init').attr('value'))[\"TV3.clipstream_clips\"];\n for (i in list) {\n title = '【' + $3('.sniptitle')[i].text() + '】';\n link = 'https:\/\/www.baidu.com\/TV3\/' + i;\n image = decodeURIComponent($3('.js-tv2-col_clicked img')[i].attr('src'));\n intro = $3('.snippet')[i].text();\n video = decodeURIComponent(list[i]);\n java.put('Image' + link, image);\n java.put('Intro' + link, intro);\n java.put('Video' + link, video);\n if (source.bookSourceType == 1) {\n link = `${video},{\"webView\":true}`;\n }\n vol = '';\n data.push({\n 'title': title,\n 'link': link,\n 'vol': vol,\n 'vip': false\n });\n }\n } else if (result.includes('js-carousel2')) {\n var $2 = element => String(java.getElements(element).text());\n link = 'https:\/\/www.baidu.com\/n\/';\n data.push({\n 'title': $2('.breaker-breaker.0'),\n 'link': link,\n 'vol': '',\n 'vip': false\n });\n } else {\n var $2 = element => String(java.getElements(element).text());\n link = decodeURIComponent($2('.breaker-breaker a.0'));\n link = `${link},{\"webView\":true}`;\n data.push({\n 'title': $2('.breaker-breaker.0'),\n 'link': link,\n 'vol': '',\n 'vip': false\n });\n }\n }\n if (cache.get('Type' + baseUrl) && \/audio|etree\/.test(cache.get('Type' + baseUrl))) {\n if (result.includes('js-ia-metadata')) {\n O_1 = ['VBR','64','128'];\n var LIST = JSON.parse(java.getElements('.js-ia-metadata').attr('value'));\n var list = JSON.parse(java.getElements('.js-ia-metadata').attr('value')).files;\n for (j in list) {\n if (list[j].format.includes(O_1[Get('o')])) {\n bt = true;\n break;\n }\n bt = false;\n }\n for (i in list) {\n BT = bt ? list[i].format.includes(O_1[Get('o')]) : list[i].format.includes('VBR');\n if (list[i].length && BT) {\n title = list[i].title ? list[i].title : list[i].name;\n D = LIST.d1;\n Dir = LIST.dir;\n Name = decodeURIComponent(list[i].name);\n link = 'https:\/\/www.baidu.com\/audio\/' + i;\n audio = `https:\/\/${D}${Dir}\/${Name}`;\n java.put('Audio' + link, audio);\n if (source.bookSourceType == 1) {\n link = `https:\/\/${D}${Dir}\/${Name},{\"webView\":true}`;\n }\n vol = list[i].format + ' ' + list[i].length;\n order = title.match(\/(\\d+)\/);\n title = Get('settle') == true ? String(title).replace(\/\\s共.*?图\/, '').replace(\/(-|_|\\s-\\s)\/g, ' ').replace(\/\\s-\\s|-\/g, ' ').replace(\/\\s+\/, ' ').replace(\/.*第(\\d+)[话話章回期](|\\s)第.*?[话話章回期]\/, '$1').replace(\/.*第(\\d+)[话話章回期][^\\s]\/, '$1 ').replace(\/.*第(\\d+)[话話章回期]\\s\\d+\/, '$1').replace(\/.*第.*(\\d+).*?[话話章回期]\/, '$1').replace(\/(\\d+)\/, title.match(\/\\d+\/) ? order[1].padStart(3, '0') : '$1') : title;\n data.push({\n 'title': title,\n 'link': link,\n 'vol': vol,\n 'vip': false\n });\n }\n }\n } else {\n var $2 = element => String(java.getElements(element).text());\n var $3 = element => String(java.getElements(element).attr('href'));\n link = decodeURIComponent($3('.breaker-breaker a.0'));\n link = `${link},{\"webView\":true}`;\n data.push({\n 'title': $2('.breaker-breaker.0'),\n 'link': link,\n 'vol': '',\n 'vip': false\n });\n }\n }\n if (cache.get('Type' + baseUrl) && \/image\/.test(cache.get('Type' + baseUrl))) {\n if (result.includes('js-play8-playlist')) {\n cache.put('Type' + baseUrl, 'movies');\n var list = JSON.parse(java.getElements('.js-play8-playlist').attr('value'));\n for (i in list) {\n title = list[i].title;\n link = 'https:\/\/www.baidu.com\/movies\/' + i;\n image = list[i].image ? decodeURIComponent(Get('url') + list[i].image) : book.coverUrl;\n video = decodeURIComponent(Get('url') + list[i].sources[0].file);\n java.put('Image' + link, image);\n java.put('Video' + link, video);\n if (source.bookSourceType == 1) {\n link = `${video},{\"webView\":true}`;\n }\n vol = list[i].sources[0].type + ' ' + list[i].sources[0].height + 'x' + list[i].sources[0].width + ' ' + list[i].sources[0].label;\n order = title.match(\/(\\d+)\/);\n title = Get('settle') == true ? String(title).replace(\/\\s共.*?图\/, '').replace(\/(-|_|\\s-\\s)\/g, ' ').replace(\/\\s-\\s|-\/g, ' ').replace(\/\\s+\/, ' ').replace(\/.*第(\\d+)[话話章回期](|\\s)第.*?[话話章回期]\/, '$1').replace(\/.*第(\\d+)[话話章回期][^\\s]\/, '$1 ').replace(\/.*第(\\d+)[话話章回期]\\s\\d+\/, '$1').replace(\/.*第.*(\\d+).*?[话話章回期]\/, '$1').replace(\/(\\d+)\/, title.match(\/\\d+\/) ? order[1].padStart(3, '0') : '$1') : title;\n data.push({\n 'title': title,\n 'link': link,\n 'vol': vol,\n 'vip': false\n });\n }\n } else {\n var $2 = element => String(java.getElements(element).text());\n data.push({\n 'title': $2('.breaker-breaker.0'),\n 'link': baseUrl,\n 'vol': '',\n 'vip': false\n });\n }\n }\n data = JSON.stringify(data);\n} else {\n data = Data1();\n}\nPut(data);\n<\/js>", "chapterName": "title", "chapterUrl": "link", "isVip": "vip", "preUpdateJs": "java.refreshTocUrl()", "updateTime": "vol" }, "searchUrl": "<js>\neval(String(source.loginUrl));\n(function (e) {\n if (Get('search_TC') == true || e.indexOf('TC') > -1) {\n e = String(java.s2t(e)).replace(\/TC\/, '');\n }\n var search = Get('s') == 0 ? '?' : '?service_backend=fts&';\n var sort = Get('r') == 0 ? '' : java.encodeURI(get('sort',Get('p')));\n var sort_1 = Get('r') == 0 ? '' : get('sort_1',Get('p'));\n var client_url = 'https:\/\/archive.org\/search?query=' + e + sort;\n return Get('url') + '\/services\/search\/beta\/page_production\/' + search + 'user_query=' + java.encodeURI(e) + '&hits_per_page=100&page={{page}}&filter_map=' + filter_map('s') + sort_1 + '&aggregations=false&client_url=' + java.encodeURI(client_url);\n}(key));\n<\/js>", "variableComment": "JspHXCgzmq549cSvxZRk3a70Rt1WZqLFHO1UZTsNfv\/uQPm6gkVOfbKqM5kCCPowDXJkiSRSa3npJPxd9vxKh1k5eRDge31a+pqDovBaUaDxKtZPiDN2QsTjeKC8jHCAZrqMWV2ozpjtQ2SVLCIcQ6De3ulSu88adSDOowBqZOYELPMel+sqQmoMgVfLhuic\/dOiGyUxc2j3gvUrlHfdw1IBhjq9SpnaNlAl7\/GNJasSh4w7M2Lz3J\/5vuuTS825mjd5gmJHE8NMDYhmZvRRTfDosu0Hok\/blVRot\/4v6EgCAvLMIHgEcanlbi\/z1n6RIyhqXHTTg\/v7L78z0sowV27\/7qIxSWrqQA3d0PJDPXfJT2+PXW7p7j5oKpauY0f99w2GBDf8b3PaIDPBihU7wMmQrwpdwcLJjr7agzgKs2PEhEMiS3mDeREECM4GQvz5U8NgN1UNvfUH2J5w\/Zr2h8+eb3cK64ru9rgoSt3KEBPTn1T50QxLhWJ8fLDgEYRAa5DVXcrp68AgX2serYPEojM7udXSWDedUHJ8FL1jiGecmJvbrpFm7eNhk3aipfWV2lQV7kdNINfeB+ehcusrUNnCJOZhO8Szxg37SErJmfLH7zaa+3PX73maWIVEtvVjbpQUHU6wY+99BcuykGfOB5lfL29p1AJyEG1VqGOulrEW47BeNk9Y1DnkgvMsf6LW+88ii8wMGYXO8TLEfPwQjNZy2nLCl3GLg5+0IeKZVnMjYty\/8AOtCxMkOxdA7jwxi09PdgcHv6STqg4464bx6n3QNGiATxaAftpCR\/qEaNNv+lcT5h3LpboLxHMziq4SEi4zVg12Je7ElMUR3AimGvdXX09UeuG4YXtBV6C1KeIZgfoaW7jVDM0rRG2R0mI57pEzxfmsHcB+fKrJvCaTpCK34eyjeWQSXvWkn3R2GxaoE+gNVNm4Sjlltaex7noZijALdSkUkYjEhNGHp1zaxM\/t5k0t7VFiVNkj0OwNG3kf9Lka6K6+AuzhbpEvPyLDOMzwYR6dIhoQBtsqynekBu4KnxkwkOSoLtVwJKP0OLVPbq\/PGLCEqjfiCqCFXNZFf3lKmgxVSTiBiwFOjXy5EZhXe\/2alhaH9oHAeYNuDcm19UVD3xyBcTf8rFaEqE9ck1iJOtunB72h64tmBJBXyI1u3qBj3WBhYKUceB1qdwtKsUZIZc2vtpS+kbSf\/DkojW7eoGPdYGFgpRx4HWp3Cyv6ZhC+vCsh0sAHk\/7WIBHnOiZwDktiLUppgoIQsnUfFp3xA0zuA26swvTkj3JHyEj82FLCEpw6uq915M1jjSSNbt6gY91gYWClHHgdancLK\/pmEL68KyHSwAeT\/tYgEcGkXtrq1GY90qM8oqLnutGfznb4rxl\/aNRsDzL64Nco0U9DG9KlUZccILoTjDy3eBUSJqX1AnO1fnPlnII\/tFbK7gQGyYqG+\/AxmR8QVupegu8pFxSGqmMyfK6OlS5qyejW\/m3FKIPsYqNnUTGkD+frXyW\/4LiH4Zdkgwa4lRxNaRuvCXz1HlBXj1sjpQUHlERZmw4v+gT\/ayOlMjNSgqT4uzfD9Nun329AO+R4WSp9mf8\/ny94bdb7OiWvazNVciZEUEALGfFxoiJO59d0\/SPOaRsBwIMV\/\/5Btl5Yv3MV3Fgf28fUFEPzBT\/ridiC5Es0tDo0lq\/jeZBv6MgCTGWm6Oow\/oUQ9T4r1E1EeyCpHhfax5xG7RPn8qjnnpf7fJ3TeQy9DzFYD5v9GFURDRoNMVxcPL\/Fap1GF6Qz8yIajK1WLwPtkZOiIzQE43ndYltKC\/dt7\/Uidbh3rGAMJm4zGWCseNYqNq1kJn5Gst123KaVryOKN8zw+rKWGQqAf28hZGZJRmpVUPKgMUqRjs+nGANEt3daYW+3dRg1ge0kNd+ewmqbItOvO1XyKB9tiMzoyKG2hKLXSYFzZgpMIHXx\/HTli\/UP5nKFcx4zVRki0i76U6n1b1\/EaOajKdmIoXqQG\/W6a+f9MjLleCBTtncEckQs\/YZv\/\/KJ80+bwUX2AercMWBDdjn3\/IIfSYU8J9kHurGafKACSkHxGfEW23f\/Pjp4P+8+3Ejx2g1qabTs9kzd4AULA8JF0m63bCwEDlPYI+11SF+nXsn0Bq3jS\/6YQuuFl1kKbjX+bone0N87NqafQ1IAGvEji+eTOnWyg5JiYebkZtJ7G4v4Xvy0dd\/VAOoWgs+iSS2UTm4b+sqwKQt+OstotWr9lRZ8xrg5qEJK3kNvh\/2z8ApuQZnAauwlUnIpqIslroZvgrIy8IQcfm2Ex6lrIi8iCSixkHx9ZEm6Y1OaBTVgm28zKddWjl09FZqFeC4TFQA1w34ISNcc1duSaBCn5F9yGw3yo4JLuT9U6H\/3ruILqxvbsmLmWcTzdgdnOO1k7Ew3WxpjlSfX06Vtbt1Uy1vxkYo\/wURlI6QG+YlVOA7QeHZQnvp5kyNKfsuxSIWX2wXtzPdxSlNSiB3CpmAoGLdAzvFOHJ2eGJhZ+bo3zfme3Ld2I3ioxOBqIc9FM+H5JnHdjJbnO\/rLsQP+OmaSSJNUM10sLBwU\/OjGZSvtQleg44R40pny2WXxSJBm\/cot0BVnrUnJQyPTAzPB8bMDgaeXSduZ2PkbSfW2puV2moSCO5LTBgwtCq3DeML77m9XU2H4pMImJd2fXeGgegCOoNj9F+D5\/TfleHNqGwOm1kMoBK8O9bpHD0eD\/bHbn+a\/yjfTTQBTF0am664275d41QbfIkqw6aZpXo17GwDmsYTTiet6+GAmzzKbCN1PIEKTHN4yp4Qz\/xBm0VL1ECVUmQK2BpIhmUitqeJMgCy+N1RgrBmD\/l8\/mcLYBbJmKrqvW\/A99o9he7ZcET15Db2BEzx0wPsZSPCWEWNXMmwu9wlDT0zlykuqxv0\/bFfUigkXC27tmD3DkxYd+kpcXXC26SLQP6ltV\/PfDTA6sSz0F1NxLkwcVq1ElqsiN3lMzxTy15ZGzrMsp+vLyUH3jI54x9p0aExzu+6LTyG0oHJGZnM3aOiQtkVOB0c=", "weight": 0 }