🏤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
}
站长推荐
广告