search engine jump for academic

方便的在各个引擎之间跳转(学术版)

  1. (function () {
  2. // ==UserScript==
  3. // @name search engine jump for academic
  4. // @author NLF && ywzhaiqi
  5. // @contributor ted423 黑猫 文科 hanchy
  6. // @description 方便的在各个引擎之间跳转(学术版)
  7. // @version 4.2.6.2
  8. // @namespace http://userscripts.org/users/snailwork
  9. // @homepage https://greasyfork.org/zh-CN/scripts/2765
  10. // @license MIT
  11. // @noframes
  12. // @grant GM_getValue
  13. // @grant GM_setValue
  14. // @grant GM_addStyle
  15. // @grant GM_xmlhttpRequest
  16. // @grant GM_getResourceText
  17. // @grant GM_openInTab
  18. // @run-at document-end
  19. // @resource iconData.json https://greasyfork.org/scripts/12430-search-engine-icon-base64-json/code/search%20%20engine%20icon%20base64%20json.js
  20. // @include http*
  21. // @exclude http://www.gdtgw.cn:8080/*
  22. // ==/UserScript==
  23.  
  24.  
  25. 'use strict';
  26.  
  27. var prefs = {
  28. openInNewTab: true, // 是否在新页面打开.
  29. hidePrefsBtn: false, // 隐藏设置按钮
  30. hideEnglineLabel: 0, // 是否隐藏前几个搜索的文字部分。0:不隐藏,1:根据高度自行判断,2:隐藏
  31. engineListDataType: 'academicFork', // 搜索列表的默认类型: my, simple, wenke, ted423,见设置
  32. iconType: '',
  33. // position: '', // 全局搜索条插入的位置:default, left, top
  34. // siteInfo: {}, // 每个站点的额外信息
  35.  
  36. debug: false,
  37. };
  38.  
  39. GM_addStyle("#sej-container{border-top: 1px solid #ccc;border-bottom: 1px solid #ccc;}");
  40.  
  41.  
  42. //GM_addStyle("body.vasq #hdtbMenus.hdtb-td-o {top: 120px !important;}");
  43.  
  44. var engineListData = {
  45. academicFork: '网页\n 百度, http://www.baidu.com/s?wd=%s&ie=utf-8\n 必应, https://cn.bing.com/search?q=%s\n 360, http://www.haosou.com/s?ie=utf-8&q=%s, www.360.com\n 搜狗微信, https://weixin.sogou.com/weixin?type=2&query=%s\n // 搜搜, http://www.soso.com/q?query=%s&utf-8=ie\n DuckDuckGo, https://duckduckgo.com/?q=%s&kl=cn-zh\n yandex, https://yandex.com/search/?text=%s, yandex.ico\n SimilarSite, http://www.similarsitesearch.com/q.php?URL=%s\n Wolfram, http://www.wolframalpha.com/input/?i=%s\n 谷歌--百度\n google, https://www.google.com/search?q=%s&safe=off, www.google.com.hk\n \n\n图片-pixiv\n Google, https://www.google.com.hk/search?q=%s&tbm=isch\n 百度, http://image.baidu.cn/i?ie=utf-8&word=%s\n iconify, https://icon-sets.iconify.design/?query=%s, https://icon-sets.iconify.design/favicon@32.png\n iconfont, https://www.iconfont.cn/search/index?searchType=icon&q=%s, cn.iconfont\n // 360, http://image.so.com/i?ie=utf-8&q=%s&src=tab_web\n // 必应, http://cn.bing.com/images/search?q=%s\n 花瓣, http://huaban.com/search/?q=%s\n pinterest, https://www.pinterest.com/search/pins/?q=%s\n 有道, http://image.youdao.com/search?q=%s\n pixiv, http://www.pixiv.net/search.php?word=%s\n flickr, http://www.flickr.com/search/?q=%s\n picsearch, http://cn.picsearch.com/index.cgi?q=%s\n deviantART, http://www.deviantart.com/?q=%s, ASCII\n jpg4, http://img.jpg4.info/index.php?feed=%s\n\n音乐-网易云音乐\n 网易云音乐, http://music.163.com/#/search/m/?s=%s\n 虾米音乐, http://www.xiami.com/search?key=%s\n 酷我音乐, http://sou.kuwo.cn/ws/NSearch?key=%s\n 雷电音乐, http://www.leidian.com/s?q=%s&ie=utf-8&t=music\n Songtaste, http://www.songtaste.com/search.php?keyword=%s, gbk\n 百度音乐, http://music.baidu.com/search?ie=utf-8&oe=utf-8&key=%s\n 360音乐, http://s.music.so.com/s?ie=utf-8&q=%s, http://www.so.com/favicon.ico\n // 搜狗音乐, http://mp3.sogou.com/music.so?query=%s, gbk\n 天天动听, http://www.dongting.com/#a=searchlist&q=%s\n 一听, http://so.1ting.com/all.do?q=%s\n 音悦Tai, http://so.yinyuetai.com/mv?keyword=%s\n 百度歌词, http://music.baidu.com/search/lrc?key=%s\n QQ音乐, http://y.qq.com/#type=soso&p=%3Fmid%3D1%26p%3D1%26catZhida%3D1%26lossless%3D0%26t%3D100%26searchid%3D26496370543503501%26remoteplace%3Dtxt.yqqlist.top%26utf8%3D1%26w%3D%s, QQMusic\n\n视频-bilibili\n B站, https://www.bilibili.com/search?keyword=%s, bilicom\n A站, https://www.acfun.cn/search/#query=%s\n 豆瓣电影, http://movie.douban.com/subject_search?search_text=%s&cat=1002, www.douban.com\n 搜库, http://www.soku.com/v?keyword=%s\n // google视频, https://www.google.com/search?q=%s&safe=off&hl=zh-CN&tbm=vid\n 百度视频, http://v.baidu.com/v?word=%s&ie=utf-8\n 人人影视, http://www.yyets.com/search/index?keyword=%s\n vimeo, http://vimeo.com/search?q=%s\n 时光网, http://search.mtime.com/search/?q=%s\n 网易公开课, http://c.open.163.com/search/search.htm?query=%s#/search/all\n 超星学术视频, http://ssvideo.chaoxing.com/searchlist.asp?Condition=%s, gbk, chaoxing\n视频站--豆瓣电影\n 优酷, http://www.soku.com/search_video/q_%s, www.youku.com\n 奇艺, http://so.iqiyi.com/so/q_%s\n 乐视, http://so.letv.com/s?wd=%s\n 腾讯, http://v.qq.com/search.html?ms_key=%s\n 搜狐, http://so.tv.sohu.com/mts?wd=%s\n youtube, http://www.youtube.com/results?search_query=%s\n 网易, http://so.v.163.com/search/000-0-0000-1-1-0-%s/\n 新浪, http://video.sina.com.cn/search/noresult.php?k=%s\n 56 视频, http://so.56.com/video/%s/?\n ku6 视频, http://so.ku6.com/search?q=%s&ie=utf-8&oe=utf-8\n 迅雷看看, http://search.kankan.com/search.php?keyword=%s\n niconico, http://www.nicovideo.jp/search/%s\n\n学术-cnki\n cnki, https://kns.cnki.net/kns8/DefaultResult/Index?dbcode=CFLS&kw=%s&korder=SU, redirect, www.cnki.net\n sci-hub.tf, https://sci-hub.tf/%s, scihub.ico\n sci-hub.se, https://sci-hub.se/%s, scihub.ico\n sci-hub.org.cn, https://x.sci-hub.org.cn//scholar?hl=zh-TW&as_sdt=0%2C5&q=%s, scihub.ico\n 读秀中文, http://qw.duxiu.com/getPage?sw=%s, gbk, www.duxiu.com\n 百链外文, http://fjour.blyun.com/searchFJour?sw=%s&channel=searchFJour, www.duxiu.com\n NCBI, https://www.ncbi.nlm.nih.gov/search/all/?term=%s\n 万方数据, https://s.wanfangdata.com.cn/paper?q=%s, wanfang\n springer, http://rd.springer.com/search?query=%s, springer\n wiley, http://onlinelibrary.wiley.com/advanced/search/results?query=%s&resultsPerPage=20&scope=allContent&searchSiteSubmit.x=12&searchSiteSubmit.y=12&start=1, wiley\n sciencedirect, http://www.sciencedirect.com/science?_ob=QuickSearchURL&_method=submitForm&_acct=C000050221&md5=0c4b6db32507e4a332b2aa6dd47a65f4&qs_all=%s&qs_author=&qs_title=&qs_vol=&qs_issue=&qs_pages=&x=34&y=15, sciencedirect\n WebofKnowledge, http://apps.webofknowledge.com/UA_GeneralSearch.do?fieldCount=3&action=search&product=UA&search_mode=GeneralSearch&max_field_count=25&max_field_notice=Notice%3A+You+cannot+add+another+field.&input_invalid_notice=Search+Error%3A+Please+enter+a+search+term.&input_invalid_notice_limits=+%3Cbr%2F%3ENote%3A+Fields+displayed+in+scrolling+boxes+must+be+combined+with+at+least+one+other+search+field.&sa_img_alt=Select+terms+from+the+index&value(input1)=%s&value%28select1%29=TI&value%28hidInput1%29=initVoid&value%28hidShowIcon1%29=0&value%28bool_1_2%29=AND&value%28input2%29=&value%28select2%29=AU&value%28hidInput2%29=initAuthor&value%28hidShowIcon2%29=1&value%28bool_2_3%29=AND&value%28input3%29=&value%28select3%29=SO&value%28hidInput3%29=initSource&value%28hidShowIcon3%29=1&limitStatus=collapsed&expand_alt=Expand+these+settings&expand_title=Expand+these+settings&collapse_alt=Collapse+these+settings&collapse_title=Collapse+these+settings&SinceLastVisit_UTC=&SinceLastVisit_DATE=&timespanStatus=display%3A+block&timeSpanCollapsedListStatus=display%3A+none&period=Range+Selection&range=ALL&ssStatus=display%3Anone&ss_lemmatization=On&ss_query_language=&rsStatus=display%3Anone&rs_rec_per_page=10&rs_sort_by=PY.D%3BLD.D%3BVL.D%3BSO.A%3BPG.A%3BAU.A&rs_refinePanel=visibility%3Ashow, com.sci\n JSTOR, http://www.jstor.org/action/doAdvancedSearch?q0=%s, JSTOR\n 百度学术, http://xueshu.baidu.com/s?wd=%s, www.baidu.com\nEI, http://www.engineeringvillage.com/search/submit.url?CID=searchSubmit&_sourcePage=M3-qPERuXaDVWMYCskH10-_VEpYoCxgP2pgp04XxfpKJ_HzzHH4DTysqUMa2uZ1HSlCBRZjZPjI%3D&boolean1=AND&boolean2=AND&category=quicksearch&database=1&doctype=NO-LIMIT&endYear=2016&language=NO-LIMIT&origin=searchform&resetDataBase=1&resetvar=1&searchWord1=%s&searchWord2=&searchWord3=&searchtype=Quick&section1=NO-LIMIT&section2=NO-LIMIT&section3=NO-LIMIT&sort=relevance&startYear=1969&stringYear=CSY1884CST1969&treatmentType=NO-LIMIT&updatesNo=1&yearselect=yearrange, com.engineeringvillage\n谷歌学术--cnki\n google学术, http://scholar.google.com/scholar?&q=%s, googlescholar\n yovisun镜像导航, http://tool.yovisun.com/gs/, scholar.google.com\n hedasudi镜像导航, http://scholar.scqylaw.com/, scholar.google.com\n 科研通镜像导航, https://www.ablesci.com/so, googlescholar\n scmor镜像导航, https://ac.scmor.com/, https://ac.scmor.com/res/favicon.ico\n glgoo学术, https://xues.glgoo.com/scholar?hl=zh-CN&q=%s&btnG=&lr=, redirect, googlescholar\n其他--学术\n ciki学术搜索, http://scholar.cnki.net/result.aspx?q=%s, www.cnki.net\n ebscohost, http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&scope=site&type=0&custid=s5802652&groupid=main&profid=eds&mode=and&lang=en&authtype=ip,guest&bquery=%s, ebscohost\n calis外文, http://ccc.calis.edu.cn/result.php?from=0&at=%s&x=0&y=0, calis\n PubMed, http://www.ncbi.nlm.nih.gov/pubmed/?term=%s, PubMed\n图书\n 豆瓣读书, http://book.douban.com/subject_search?search_text=%s, www.douban.com\n 超星发现, http://ss.zhizhen.com/s?strchannel=11&adv=Z%3D%s&aorp=a&size=15&isort=0&x=0_17#searchbody, chaoxing\n 超星读书, http://book.chaoxing.com/search/name/%s/bookList1_.html, chaoxing\n 谷歌--图书\n wewell, https://google-hk.wewell.net/#newwindow=1&safe=off&q=%s&tbm=bks&gws_rd=cr,ssl, www.google.com.hk\n google, https://www.google.com/search?q=%s&safe=off&tbm=bks&gws_rd=cr,ssl, www.google.com.hk\n hispig, http://hisbig.com/#newwindow=1&q=%s&safe=off&tbm=bks&gws_rd=cr,ssl, www.google.com.hk\n ppx, https://www.ppx.pw/#q=MJO&safe=off&tbm=bks&gws_rd=cr,ssl, www.google.com.hk\n xface, https://google.xface.me/search?newwindow=1&safe=off&q=%s&tbm=bks&gws_rd=cr,ssl, www.google.com.hk\n图书馆--图书\n 中大图书馆, http://202.116.64.108:8991/F/?func=find-b&find_code=WRD&request=%s, sysu\n 华南理工, http://202.38.232.10/opac/servlet/opac.go?CLANLINK=&CODE=&FIELD1=TITLE&MARCTYPE=&MODE=FRONT&ORGLIB=SCUT&PAGE=&RDID=ANONYMOUS&SCODE=&TABLE=&VAL1=%s&cmdACT=simple.list&libcode=, scut\n 广外图书, http://opac.gdufs.edu.cn:8991/F/?find_code=WRD&request=%s&func=find-b, www.duxiu.com\n 华师图书, http://202.116.41.246:8080/opac/openlink.php?sort=M_TITLE&orderby=ASC&title=%s, www.duxiu.com\n \n知识\n 维基(zh), http://zh.wikipedia.org/wiki/%s\n 维基(en), http://en.wikipedia.org/wiki/%s\n 知乎, http://www.zhihu.com/search?q=%s\n 百度百科, http://baike.baidu.com/search/word?pic=1&sug=1&word=%s\n 果壳, http://www.guokr.com/search/all/?wd=%s, com.guokr\n 互动百科, http://so.baike.com/s/doc/%s\n // 萌娘百科, http://zh.moegirl.org/index.php?search=%s\n 文库-豆丁文档-百度百科\n 百度文库, http://wenku.baidu.com/search?word=%s&ie=utf-8\n 豆丁文档, http://www.docin.com/search.do?searchcat=2&searchType_banner=p&nkey=%s\n 百度知道, http://zhidao.baidu.com/search?word=%s\n 维普,http://lib.cqvip.com/zk/search.aspx\n - E: (Keyword_C=%s+Title_C=%s), H: 题名或关键词=%s 与 范围=全部期刊\n 开发--知乎\n stackoverflow, http://stackoverflow.com/search?q=%s\n MDN, https://developer.mozilla.org/en-US/search?q=%s\n MDN(Google), https://www.google.com/search?num=30&hl=zh-CN&newwindow=1&q=%s&sitesearch=developer.mozilla.org, developer.mozilla.org\n github, https://github.com/search?q=%s\n krugle, http://opensearch.krugle.org/document/search/#query=%s\n npm, https://www.npmjs.org/search?q=%s\n动植物--互动百科\n PPBC, https://ppbc.iplant.cn/list21?keyword=%s&sel=like, https://ppbc.iplant.cn/favicon.ico\n 中国植物标本馆, https://www.cvh.ac.cn/spms/list.php?taxonName=%s, https://www.cvh.ac.cn/public/images/icons/favicon.ico\n lynxeds, http://ibc.lynxeds.com/search/ibc_features/%s, https://www.macaulaylibrary.org/wp-content/themes/sage/assets/images/lab-favicons/favicon-16x16.png\n 中国野鸟图库, http://www.cnbird.org.cn/resust.asp?txtsearchstr=%s&Submit4=Go, gbk, www.duxiu.com\n\n翻译\n google翻译, https://translate.google.com.hk/?q=%s\n 百度翻译, http://fanyi.baidu.com/#auto/zh/%s\n 有道翻译, http://fanyi.youdao.com/translate?i=%s\n bing 翻译, http://www.bing.com/translator/?&text=%s&from=&to=zh-chs\n 抓鸟翻译, http://dict.zhuaniao.com/collab/translate.php?translation_query=%s\n 词典--google翻译\n cnki翻译助手, https://dict.cnki.net/index?words=%s, www.cnki.net\n 词源词根词典, http://www.etymonline.com/index.php?term=%s, etymonline\n 有道词典, http://dict.youdao.com/search?q=%s\n 爱词霸, http://www.iciba.com/%s\n 海词, http://dict.cn/%s\n 沪江EN, http://dict.hjenglish.com/w/%s\n 必应词典, http://www.bing.com/dict/search?q=%s&go=&qs=bs&form=CM\n 大耳朵, http://dict.bigear.cn/w/%s/\n 汉典, http://www.zdic.net/sousuo/?q=%s\n nciku, http://www.nciku.com/search/all/%s\n\n社交\n 新浪微博, http://s.weibo.com/weibo/%s\n 豆瓣, http://www.douban.com/search?source=suggest&q=%s\n 百度贴吧, http://tieba.baidu.com/f?kw=%s&ie=utf-8\n 腾讯微博, http://search.t.qq.com/index.php?k=%s\n Twitter, https://twitter.com/search/%s\n Facebook, https://www.facebook.com/search/results.php?q=%s\n Google+, https://plus.google.com/s/%s\n\n购物\n 淘宝, http://s.taobao.com/search?q=%s\n 惠惠, http://www.huihui.cn/search?q=%s\n 易迅, http://searchex.yixun.com/html?charset=utf-8&as=1&key=%s\n 360购物, http://s.mall.360.cn/search.html?query=%s\n 天猫, http://list.tmall.com/search_product.htm?q=%s&type=p, gbk\n 京东, http://search.jd.com/Search?keyword=%s&enc=utf-8\n 苏宁, http://search.suning.com/%s/\n 国美, http://www.gome.com.cn/search?question=%s\n 当当, http://search.dangdang.com/search.php?key=%s, gbk\n 亚马逊, http://www.amazon.cn/s/ref=nb_sb_noss?field-keywords=%s\n 一号店, http://search.yhd.com/c0-0/k%s, yhd.com\n其它--购物\n ebay, http://www.ebay.com/sch/i.html?_nkw=%s\n QQ网购, http://se.wanggou.com/comm_search?KeyWord=%s, gbk\n\n下载-种子快搜\n 下载搜索, https://www.google.com/cse?q=%s&newwindow=1&cx=006100883259189159113%3Atwgohm0sz8q\n 网盘搜索, http://so.baiduyun.me/search.php?wd=%s\n 我乐盘, http://www.56pan.com/s.php?q=%s&wp=0\n 种子快搜, http://www.searchbt.net/btsearch.php?query=%s\n bt 天堂, http://www.bttiantang.com/s.php?q=%s\n 我爱P2P, http://www.byhh.org/?topic_title=%s\n VeryCD, http://www.verycd.com/search/folders/%s\n 射手字幕, http://sub.makedie.me/sub/?searchword=%s, sheshou.com\n 影视--下载搜索\n 丫丫下载站, http://www.yayaxz.com/search/%s\n 天天美剧, http://www.ttmeiju.com/search.php?keyword=%s&range=0&mozcharset=gbk\n 极影动漫, http://bt.ktxp.com/search.php?keyword=%s\n 动漫花园, http://share.dmhy.org/topics/list?keyword=%s\n BT-ed2000-下载搜索\n simpledCD, http://simplecd.me/search/entry/?query=%s\n ed2000, http://www.ed2000.com/FileList.asp?SearchWord=%s\n 海盗湾, https://thepiratebay.se/search/%s, www.duxiu.com\n kickass, https://kickass.to/usearch/%s/\n btspread, http://www.btspread.com/search/%s\n torrentkitty, http://www.torrentkitty.org/search/%s\n BTDigg, https://btdigg.org/search?q=%s\n\n软件\n 下载吧, http://so.xiazaiba.com/route.php?ct=search_new&i=1&q=%s&stype=1, xiazaiba\n Firefox 附加组件, https://addons.mozilla.org/zh-cn/firefox/search/?q=%s\n Chrome 应用商店, https://chrome.google.com/webstore/search-extensions/%s?hl=zh-CN\n greasyfork, https://greasyfork.org/scripts/search?q=%s\n userscripts, http://webextender.net/scripts/search?q=%s, userscripts.org\n 华彩软件, http://www.huacolor.com/search.asp?word=%s, gbk\n 绿软联盟, http://www.xdowns.com/i.asp?q=%s, gbk\n 绿软家园, http://www.downg.com/search.asp?action=s&sType=ResName&catalog=&keyword=%s, gbk\n 创e下载园, http://www.7edown.com/query.asp?q=%s, gbk\n 西西软件, http://so.cr173.com/?keyword=%s, gbk\n pc6下载站, http://so.pc6.com/?keyword=%s, gbk\n 卡饭论坛, http://bds.kafan.cn/cse/search?q=%s&s=15563968344970452529\n\n// 小说\n// booklink, http://booklink.me/after_search.php\n// - name: %s, search_type: book\n// 起点中文, http://sosu.qidian.com/searchresult.aspx?keyword=%s\n// 创世中文, http://chuangshi.qq.com/search/searchindex?type=all&value=%s\n// 纵横中文, http://search.zongheng.com/search/all/%s/1.html',
  46. custom: '',
  47. my: '',
  48. ted423: '网页\n Google, https://www.google.com.hk/search?q=%s&ie=utf-8&oe=utf-8\n 百度, http://www.baidu.com/s?wd=%s&ie=utf-8\n 360, http://www.so.com/s?ie=utf-8&q=%s\n bing, https://cn.bing.com/search?q=%s&pc=OPER\n 搜狗, http://www.sogou.com/web?query=%s\n\n资料\n ZWIKI, http://zh.wikipedia.org/w/index.php?search=%s&button=&title=Special%3ASearch\n EWIKI, http://en.wikipedia.org/w/index.php?search=%s&button=&title=Special%3ASearch\n JWIKI, http://ja.wikipedia.org/w/index.php?search=%s&button=&title=Special%3ASearch\n 百科, http://baike.baidu.com/searchword/?word=%s&pic=1&sug=1&ie=utf-8\n Scholar, http://scholar.google.com/scholar?hl=zh-CN&q=%s&btnG=&lr=\n 知乎, http://www.zhihu.com/search?q=%s\n 萌娘百科, http://zh.moegirl.org/index.php?search=%s\n\n视频\n soku, http://www.soku.com/v?keyword=%s\n bilibili, http://www.bilibili.com/search?keyword=%s\n acfun, http://www.acfun.tv/search.aspx#query=%s\n 乐视, http://so.letv.com/s?wd=%s\n 搜狐, http://so.tv.sohu.com/mts?wd=%s\n youtube, https://www.youtube.com/results?search_query=%s\n niconico, http://www.nicovideo.jp/search/%s\n 56, http://so.56.com/video/%s/?\n ku6, http://so.ku6.com/search?q=%s&ie=utf-8&oe=utf-8\n 爱奇艺, http://so.iqiyi.com/so/q_%s\n 腾讯, http://v.qq.com/search.html?&ms_key=%s\n\n音乐\n 天天动听, http://www.dongting.com/#a=searchlist&q=%s\n Music, http://music.baidu.com/search?key=%s&ie=utf-8&oe=utf-8\n 搜狗, http://mp3.sogou.com/music.so?query=%s\n 一听, http://so.1ting.com/all.do?q=%s\n 虾米, http://www.xiami.com/search?key=%s\n piapro, http://piapro.jp/search/?view=audio&keyword=%s\n Lyric, http://music.baidu.com/search/lrc?key=%s\nQQ音乐, http://y.qq.com/#type=soso&p=%3Fmid%3D1%26p%3D1%26catZhida%3D1%26lossless%3D0%26t%3D100%26searchid%3D26496370543503501%26remoteplace%3Dtxt.yqqlist.top%26utf8%3D1%26w%3D%s, QQMusic\n\n图片-Flickr\n 百度, http://image.baidu.com/i?ie=utf-8&word=%s\n Google, https://www.google.com.hk/search?tbm=isch&q=%s\n 花瓣, http://huaban.com/search/?q=%s\n Picsearch, http://cn.picsearch.com/index.cgi?q=%s\n Flickr, http://www.flickr.com/search/?w=all&q=%s\n Pixiv, http://www.pixiv.net/search.php?s_mode=s_tag&word=%s\n dA, http://www.deviantart.com/?q=%s, ASCII\n , http://img.jpg4.info/index.php?feed=%s\n\n下载\n ktxp, http://bt.ktxp.com/search.php?keyword=%s\n dmhy, http://share.dmhy.org/topics/list?keyword=%s\n nyaa, http://www.nyaa.se/?page=search&term=%s\n kickass, https://kickass.to/usearch/%s/\n bs, http://www.btspread.com/search/%s\n BTDigg, https://btdigg.org/search?q=%s\n ed2000, http://www.baidu.com/s?wd=%s+site:ed2000.com&ie=utf-8\n\n网购\n 一淘, http://s.etao.com/search?q=%s\n 京东, http://search.jd.com/Search?keyword=%s&enc=utf-8\n 淘宝, http://s.taobao.com/search?q=%s\n 亚马逊, http://www.amazon.cn/s/ref=nb_ss?keywords=%s\n\n译&词典-3\n 翻译, http://translate.google.com/translate_t?q=%s&oe=utf-8&ie=UTF-8\n 百度译, http://fanyi.baidu.com/#auto2auto|%s\n 翻译, http://fanyi.youdao.com/translate?i=%s\n 词典, http://dict.youdao.com/search?q=%s&ue=utf8\n 词典, http://www.bing.com/dict/search?q=%s&go=&qs=bs&form=CM\n ICIBA, http://www.iciba.com/%s/\n 海词, http://dict.cn/%s\n 沪江EN, http://dict.hjenglish.com/w/%s\n 中日, http://dict.hjenglish.com/jp/cj/%s\n 汉典, http://www.zdic.net/sousuo/?q=%s&tp=tp3\n\netc\n AMO, https://addons.mozilla.org/zh-CN/firefox/search/?q=%s\n 射手字幕, http://shooter.cn/search/%s',
  49. };
  50.  
  51. var MAIN_CSS = '#sej-container {\n display: block;\n position: relative;\n z-index: auto;\n padding: 1px 0 1px 10px;\n line-height: 1.5;\n font-size: 13px;\n}\n\n\n#sej-expanded-category {\n font-weight: bold;\n cursor: pointer;\n}\n#sej-expanded-category::after {\n content:":";\n}\n\n\n.sej-engine {\n line-height: 2;\n display: inline-block;\n margin: 0;\n border: none;\n padding: 0 4px;\n text-decoration: none;\n color: #120886;\n transition: background-color 0.15s ease-in-out;\n}\na.sej-engine.only-icon {\n margin-left: 3px;\n margin-right: 3px;\n}\na.sej-engine.only-icon > span {\n display: none;\n}\na.sej-engine:link, a.sej-engine:visited{\n text-decoration: none;\n}\na.sej-engine:visited, a.sej-engine:visited *, a.sej-engine:active, a.sej-engine:active *{\n color: #120886;\n}\n.sej-drop-list-trigger {\n\n}\n.sej-drop-list-trigger-shown {\n background-color: #DEEDFF !important;\n}\n.sej-drop-list-trigger::after {\n content: \'\';\n display: inline-block;\n margin: 0 0 0 3px;\n padding: 0;\n width: 0;\n height: 0;\n border-top: 6px solid #BCBCBC;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n border-bottom: 0px solid transparent;\n vertical-align: middle;\n transition: -webkit-transform 0.3s ease-in-out;\n transition: transform 0.3s ease-in-out;\n}\n.sej-drop-list-trigger-shown::after {\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n.sej-engine:hover {\n background-color: #EAEAEA;\n}\n.sej-drop-list > .sej-engine {\n display: block;\n padding-top: 4px;\n padding-bottom: 4px;\n}\n.sej-drop-list > .sej-engine:hover {\n background-color: #DEEDFF;\n}\n\n.sej-engine-icon {\n display: inline-block;\n width: 16px;\n height: 16px;\n border: none;\n padding: 0;\n margin: 0 3px 0 0;\n vertical-align: text-bottom;\n}\n\n\n.sej-drop-list {\n position: absolute;\n display: none;\n opacity: 0.3;\n top: -10000px;\n left: 0;\n min-width: 120px;\n border: 1px solid #FAFAFA;\n padding: 5px 0;\n text-align: left;\n font-size: 13px;\n -moz-box-shadow: 2px 2px 5px #ccc;\n -webkit-box-shadow: 2px 2px 5px #ccc;\n box-shadow: 2px 2px 5px #ccc;\n background-color: white;\n transition: opacity 0.2s ease-in-out,\n top 0.2s ease-in-out;\n}';
  52. var ICON_DATA_CUSTOM = {
  53. "scihub.ico":"data:image/png;base64,AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAABILAAASCwAAAAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////29vn/9PX3//T19//09ff/9PX3//X1+P/8/P3/////////////////+vv8//X19//09ff/9PX3//T19//09ff/9/j6/////////////////////////////////////////////Pz9/97e6P+9vtL/rK3H/62ux/++v9P/4ODq//39/v///////////////////////////////////////v7+//X1+P/09ff/9PX3//T19//09ff/9PX3//T19//09ff/9PX3//T19//09ff/9fX4//n5/P////////////////////////////////////////////7+/v+bnb7/Ji+P/xkljP8ZJYz/GSWM/xkljP8bJo3/UVWb/9vc5v//////2Njk/0dMl/8aJY3/GSWM/xkljP8ZJYz/GiWN/y82kf+ipML//v7+///////////////////////+/v7/y8zc/19ioP8dJ43/HiiN/x4ojf8eKI3/HiiN/x0njf9maaP/0dHg//7+////////////////////////9/j6/3t9rP8gKo7/GSWM/xkljP8ZJYz/GSWM/xkljP8ZJYz/GSWM/xkljP8ZJYz/GSWM/xwnjf83PZP/dHap/7u80f/19fj////////////////////////////r6/H/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf+TlLn//////4qMtP8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HCaN//Dw9f/////////////////8/P3/nZ+//x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf+mqMX//f3+/////////////////9DR3/8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/U1eb/9/f6f//////////////////////+fn7/1lcnf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/vr/T//////+1ts3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/2Roov/7/P3/////////////////q6zH/x4ojf8eKI3/HiiN/x4ojf8dJ43/NDuS/zI5kv8dJ43/HiiN/x4ojf8eKI3/HiiN/7W2zv/////////////////o6e//MjmR/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf9ESZb/7e7z///////////////////////w8PX/ycrZ/2hro/8eKI3/HiiN/zU7kf/Hx9f/1dbj//7+/v///////f3+/9TU4f/BwtT/Jy+P/x4ojf8eKI3/cnWo/8rL2v/y8vb/////////////////4+Ts/yQtjv8eKI3/HiiN/yIrjv+foMD/5eXt//n5+//4+Pv/4+Ps/5mavP8fKY3/HiiN/x4ojf8sM5D/6erw/////////////////+Xl7f/DxNb/dXiq/x4ojf8eKI3/HymO/7e5z/+/wNP/v8DT/7/A0/+/wNP/vr/T/7m60P+kpsP/VFic/x4ojf8eKI3/HiiN/6anxP////////////////////////////////+GiLP/HiiN/x4ojf9BRpT/////////////////////////////////+Pn7/yw1kf8eKI3/HiiN/5OVuv///////////////////////////6Okwv8eKI3/HiiN/x4ojf+7vNL/////////////////////////////////s7TM/x4ojf8eKI3/HiiN/66vyf///////////////////////////5yev/8eKI3/HiiN/yAqjv/19vn///////////////////////////////////////X2+f9WWpz/HiiN/x4ojf9laKP//v7/////////////////////////////hoiz/x4ojf8eKI3/QUaU//////////////////////////////////j5+/8sNZH/HiiN/x4ojf+Tlbr///////////////////////////9eYaD/HiiN/x4ojf9eYqD//f3+//////////////////////////////////v7/P9QVJr/HiiN/x4ojf9zdqn///////////////////////////+cnr//HiiN/x4ojf8gKo7/9fb5////////////////////////////////////////////cHKn/x4ojf8eKI3/TlKa//39/v///////////////////////////4aIs/8eKI3/HiiN/0FGlP/////////////////////////////////4+fv/LDWR/x4ojf8eKI3/k5W6///////////////////////8/f7/OkCT/x4ojf8eKI3/kpS4////////////////////////////////////////////f4Gv/x4ojf8eKI3/RUqY////////////////////////////nJ6//x4ojf8eKI3/ICqO//X2+f//////////////////////////////////////ysvb/yAqjf8eKI3/HiiN/3x+rf////////////////////////////////+GiLP/HiiN/x4ojf88QZP/5+fu/+fn7f/n5+3/5+ft/+fn7f/n5+3/4eHq/yoykP8eKI3/HiiN/5OVuv//////////////////////+vv9/zY8kv8eKI3/HiiN/5WXuf///////////////////////////////////////////4GDsf8eKI3/HiiN/z9Flv///////////////////////////5yev/8eKI3/HiiN/yAqjv/r6/L/9PT4//T0+P/09Pj/8/P4/+zs8//X1+P/m52+/yMsjv8eKI3/HiiN/x4ojf/Gx9n/////////////////////////////////hoiz/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf+Tlbr///////////////////////r7/f82PJL/HiiN/x4ojf+Vl7n///////////////////////////////////////////+Bg7H/HiiN/x4ojf8/RZb///////////////////////////+cnr//HiiN/x4ojf8eKI3/HCeN/xwmjf8cJo3/HCaN/xwnjf8dJ43/HiiN/x4ojf8eKI3/HiiN/x4ojf+SlLn//f3+/////////////////////////////////4aIs/8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/k5W6///////////////////////6+/3/NjyS/x4ojf8eKI3/lZe5////////////////////////////////////////////gYOx/x4ojf8eKI3/P0WW////////////////////////////nJ6//x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/zE4kf+ys8z//Pz9//////////////////////////////////////+GiLP/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/5OVuv//////////////////////+vv9/zY8kv8eKI3/HiiN/5WXuf///////////////////////////////////////////4GDsf8eKI3/HiiN/z9Flv///////////////////////////5yev/8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf9xc6j/9PT3////////////////////////////////////////////hoiz/x4ojf8eKI3/Nz2S/8/Q3//P0N7/z9De/8/Q3v/P0N7/z9De/8rL2/8oMJD/HiiN/x4ojf+Tlbr///////////////////////r7/f82PJL/HiiN/x4ojf+Vl7n///////////////////////////////////////////+Bg7H/HiiN/x4ojf8/RZb///////////////////////////+cnr//HiiN/x4ojf8fKY7/uLnO/7/A0v+/wNL/vr/S/7O0zP+SlLj/NjyS/x4ojf8eKI3/HiiN/4SGsf/+/v7//////////////////////////////////////4aIs/8eKI3/HiiN/0FGlP/////////////////////////////////4+fv/LDWR/x4ojf8eKI3/k5W6///////////////////////6+/3/NjyS/x4ojf8eKI3/lZe5////////////////////////////////////////////gYOx/x4ojf8eKI3/P0WW////////////////////////////nJ6//x4ojf8eKI3/ICqO//X2+f///////////////////////////+/v9P90dqn/HiiN/x4ojf8eKI3/3d7o//////////////////////////////////////+GiLP/HiiN/x4ojf9BRpT/////////////////////////////////+Pn7/yw1kf8eKI3/HiiN/5OVuv//////////////////////+vv9/zY8kv8eKI3/HiiN/5WXuf///////////////////////////////////////////4GDsf8eKI3/HiiN/z9Flv///////////////////////////5yev/8eKI3/HiiN/yAqjv/19vn/////////////////////////////////19jk/x4ojf8eKI3/HiiN/8DB1f//////////////////////////////////////hoiz/x4ojf8eKI3/QUaU//////////////////////////////////j5+/8sNZH/HiiN/x4ojf+Tlbr///////////////////////r7/f82PJL/HiiN/x4ojf+Vl7n///////////////////////////////////////////+Bg7H/HiiN/x4ojf8/RZb///////////////////////////+cnr//HiiN/x4ojf8gKo7/9fb5/////////////////////////////////8rL2/8eKI3/HiiN/x4ojf/Fxtj/////////////////////////////////9/f5/3h7rP8eKI3/HiiN/zpAk//h4ev/8PD1/////////////////+/v9P/a2+f/KTKQ/x4ojf8eKI3/hIey//j4+v////////////7+///n6PD/MTiR/x4ojf8eKI3/hIaw/+Hi7P/n6O///f3+/////////////Pz9/+fo7//h4uz/cnWp/x4ojf8eKI3/OT+U/+zs8v////////////z8/f/u7vP/kpO5/x4ojf8eKI3/ICqO/+Xl7P/t7vL/7e7y/+3u8v/s7PH/3+Dp/7e4z/88QpT/HiiN/x4ojf8eKI3/5+fv////////////////////////////5ubu/0VKl/8eKI3/HiiN/x4ojf8eKI3/HiiN/y00kP/V1uL//////8rL2/8lLo7/HiiN/x4ojf8eKI3/HiiN/x4ojf9PU5r/6+zy//////+Xmbz/ICqN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/4uNtf/+/v7//Pz9/32Arv8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8hKo7/oKHB//X2+f9tcKb/HymN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/kpO4/////////////////////////////////7u80f8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/kpS5//////+JirP/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/8TF1//19fn/KDGQ/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8fKY3/7e70/+jp7/8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/zU7kv/Jytv/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/eHur//X1+P/////////////////////////////////j4+z/MzqS/x4ojf8eKI3/HiiN/x4ojf8eKI3/ICqN/8nK2///////wMHV/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/zk/k//o6O///v7//4aIsv8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/dHep//39/v/6+vz/am2k/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf+Rk7j/6urx/zg+k/8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf9RVZv/uLnQ//r6/P///////////////////////////////////////////+vs8v/S0+D/0dHf/9HR3//R0d//0dLg/+Tk7f/////////////////h4ev/0dLg/9HR3//R0d//0dHf/9LT4f/t7fP////////////6+vz/1tfk/9DR3//Q0d//0NHf/9DR3//Q0d//1NXi//j4+v////////////b2+f/T1OH/0NHf/9DR3//Q0d//0NHf/9DR3//Y2eX/+/v9///////q6vH/y8vb/8bH2P/Gx9j/xsfY/8bH2P/Gx9j/xsfY/8bH2P/Gx9j/x8jZ/8/Q3v/i4+z//Pz9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6Oju/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+Pj6//j4+v/4+Pr/+fn7v///////////3Fzpv8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf9sb6T////////////R0d7/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/xsfX/8bH1//Gx9f/0NDd///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////u7vP/8fH1///////8/f3/4ODq/76+0/+ipML/m529/52evv+usMn/zM3d//Ly9//////////////////////////////////////////////////////////////////9/f7/4eHq/7/A1P+kpsT/m529/5ydvf+nqMX/wcLV/+Hi6//9/f7////////////////////////////////////////////y8vb/6urw/+rq7//q6u//6urv/+rq7//q6u//6urv/+rq7//q6u//6urv/+rq8P/w8PX////////////////////////////////////////////BwtX/ICqO/y82kf+lpsP/WVyd/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8tNZD/nqDA//Hx9v////////////////////////////////////////////r7/P/AwdT/XWGf/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/W16e/76/0//7+/z///////////////////////////+qrMf/IiuO/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/ICqN/5qcvv/+/v//////////////////////////////////dXip/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf9VWZz/5+jv/////////////////////////////////+nq8P9ucab/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/eHur//Hy9v/////////////////7+/3/Nj2U/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8cJ43/9vb5/////////////////////////////////2lro/8eKI3/HiiN/x4ojf8eKI3/HiiN/x8pjf8vN5L/RUqZ/y42kf8fKI3/HiiN/x4ojf8eKI3/HiiN/2Zpo//6+vz//////////////////////+jo7/9NUZn/HiiN/x4ojf8eKI3/HiiN/x4ojf8wN5L/Vlqe/1NYnf8wOJL/HyiN/x4ojf8eKI3/HiiN/x4ojf99gK7//v7+/////////////////5CSuP8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/fH6t//7+/v////////////////////////////////9pa6P/HiiN/x4ojf8eKI3/QkeV/7W2zf/n5+///Pz9//7+/v/8/P3/5eXu/6iqxv8oMI//HiiN/x4ojf8eKI3/zM3d//////////////////n5+/9pbKT/HiiN/x4ojf8eKI3/PUOU/7Cxyv/k5e3//Pz9//7+///+/v///Pz9/+Xm7v+vsMr/LzaQ/x4ojf8eKI3/ICqO//Hx9v/////////////////6+vz/1NXh/8vM3P/LzNz/y8zc/6qrx/8eKI3/HiiN/x4ojf+jpML/y8zc/8vM3P/LzNz/09Th//j4+v//////////////////////////////////////bG6k/x4ojf8eKI3/OkCT/+jp8P//////////////////////////////////////wMHU/x4ojf8eKI3/HiiN/6Slw/////////////////++v9P/HiiN/x4ojf8eKI3/Zmmi/+vr8f///////////////////////////////////////////9fX4/86QJP/HiiN/4WHsv/+/v7////////////////////////////////////////////W1uP/HiiN/x4ojf8eKI3/zM3c/////////////////////////////////////////////////////////////////5KUuf8eKI3/HiiN/52fv////////////////////////////////////////////+Li7P8dJ43/HiiN/x4ojf+Ymr3////////////+/v//Ymah/x4ojf8eKI3/LzaQ/+fo7///////////////////////////////////////////////////////7+/0/9vc5//7+/3/////////////////////////////////////////////////1tbj/x4ojf8eKI3/HiiN/8zN3P/////////////////////////////////////////////////////////////////09Pj/s7TM/7Kzy//z9Pf///////////////////////////////////////X1+P+LjbX/HiiN/x4ojf8eKI3/tLXM////////////7e7z/yApjv8eKI3/HiiN/5WXuv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9bW4/8eKI3/HiiN/x4ojf/Mzdz///////////////////////////////////////////////////////////////////////////////////////////////////////Ly9//c3ef/wMHU/5aYu/8+RJX/HiiN/x4ojf8eKI3/IyyO/+Xl7f///////////97f6P8eKI3/HiiN/x4ojf++v9P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////W1uP/HiiN/x4ojf8eKI3/zM3c//////////////////////////////////////////////////////////////////////////////////7+///b3Of/oKLB/1xfn/8lLo//HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/6qrx//////////////////c3Ob/HiiN/x4ojf8eKI3/x8jZ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1tbj/x4ojf8eKI3/HiiN/8zN3P////////////////////////////////////////////////////////////////////////////Dw9f+Fh7H/HymN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/KzOQ/7Gyy//9/f7/////////////////3Nzm/x4ojf8eKI3/HiiN/8fI2f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9bW4/8eKI3/HiiN/x4ojf/Mzdz///////////////////////////////////////////////////////////////////////T0+P9iZaH/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/ycvj/9wc6f/sbLL/+rr8f///////////////////////////93d5v8eKI3/HiiN/x4ojf/Fxtj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////W1uP/HiiN/x4ojf8eKI3/zM3c//////////////////////////////////////////////////////////////////////+kpcP/HiiN/x4ojf8eKI3/HSiN/19ioP+gocD/w8PW/97e6f/19fn////////////////////////////////////////////i4+z/HiiN/x4ojf8eKI3/tbbN////////////////////////////////////////////////////////////9fb4//v7/f//////////////////////////////////////////////////////1tbj/x4ojf8eKI3/HiiN/8zN3P/////////////////////////////////////////////////////////////////6+vz/O0GU/x4ojf8eKI3/JS6O/8fH2f/9/f7////////////////////////////y8vb/m52+/4yOtf/j5Oz/////////////////9vb5/y00kP8eKI3/HiiN/31/rv//////////////////////////////////////////////////////s7TM/yIrjv9ZXZ7/5+fv/////////////////////////////////////////////////9bW4/8eKI3/HiiN/x4ojf/Mzdz/////////////////////////////////////////////////////////////////6urx/x4ojf8eKI3/HiiN/4mMtP//////////////////////////////////////ra/J/x4ojf8eKI3/am2l//////////////////////9+gK7/HiiN/x4ojf8fKY3/3N3o////////////////////////////////////////////+/v9/z5Dlf8eKI3/HiiN/6ytyP/////////////////////////////////////////////////W1uP/HiiN/x4ojf8eKI3/zM3c/////////////////////////////////////////////////////////////////+3t8/8eKI3/HiiN/x4ojf90d6r//f3+////////////////////////////+/v9/2dqo/8eKI3/HiiN/0RJl//8/P3/////////////////zM3d/x4ojf8eKI3/HiiN/11hn//t7fP//////////////////////////////////////83O3f8eKI3/HiiN/x4ojf+mp8P/////////////////////////////////////////////////1tbj/x4ojf8eKI3/HiiN/8zN3P/////////////////////////////////////////////////////////////////9/f7/W1+f/x4ojf8eKI3/HiiN/56fv//w8PX////////////+/v//6+vx/4+Qt/8eKI3/HiiN/x4ojf9DSJf//Pz9//////////////////z8/f92eKr/HiiN/x4ojf8eKI3/TlKZ/8bH2f/39/r////////////+/v//7O3z/6ytyP8uNZD/HiiN/x4ojf8eKI3/pqfD///////////////////////+/v7/6erw/+Tk6//k5Ov/5OTr/7/A0/8eKI3/HiiN/x4ojf+2t83/5OTr/+Tk6//k5Ov/5+jv//39/v///////////////////////////////////////////8PE1v8eKI3/HiiN/x4ojf8eKI3/KTGP/2drpP96fK3/YGOh/yAqjv8eKI3/HiiN/x4ojf8eKI3/Q0iX//z8/f//////////////////////6urw/0lOmP8eKI3/HiiN/x4ojf8eKI3/Nz2S/21wp/95e6z/XWCf/yAqjv8eKI3/HiiN/x4ojf8eKI3/HiiN/6anw///////////////////////pKbD/x0njf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x0njf+WmLv//v7////////////////////////////////////////9/f7/m5y+/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/0RJl//8/P3////////////////////////////k5Oz/Vlqc/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf+oqcT/////////////////+/v9/zg+lP8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HSeN//f3+v////////////////////////////////////////////39/v++v9P/Q0iW/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf9MUZn/HiiN/x4ojf9kZ6L//v7///////////////////////////////////Pz9/+gosH/LDSQ/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf9fY6D/fH6t/x4ojf8rM5D/19jk//////////////////////+Ymrz/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/x4ojf8eKI3/HiiN/4SHsv/+/v7///////////////////////////////////////////////////////b2+f/LzNz/oaPB/4SGsf+Agq7/ioy1/62uyP/Y2OT/+fn7/6WmxP+LjbT/39/p/////////////////////////////////////////////////+/v9P/DxNb/nJ6+/4KEsP+Agq3/iIq0/66vyP/a2+b//Pz9//z8/f/d3uf/6+zy/////////////////////////////Pz9/9zc5//T1OH/09Th/9PU4f/T1OH/09Th/9PU4f/T1OH/09Th/9PU4f/T1OH/09Th/9vb5v/6+vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
  54. "cn.iconfont": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODMiIGhlaWdodD0iODIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxwYXRoIGQ9Ik0xLjgxMSA0LjI5Yy0uNDk5LjQzNi0uOTY2Ljg5NS0xLjQgMS4zNzRhLjI4My4yODMgMCAwIDAgLjA2LjQyN2wyNy40NTMgMTcuNDYyYy4xNi4xMDIuMzc4LjA0LjQ1NS0uMTMzYTE2LjQ3OCAxNi40NzggMCAwIDAtMy40NDQtMTguMzU3QzIxLjY3NSAxLjc5NiAxNy4zMTkuMTQ1IDEyLjk1NC4xNDVjLTMuOTgxIDAtNy45NyAxLjM3My0xMS4xNDMgNC4xNDQiIGlkPSJhIi8+PHBhdGggZD0iTTUuMjYgNS4wMzRBMTYuNDggMTYuNDggMCAwIDAgMS44MTQgMjMuMzlhLjMxNS4zMTUgMCAwIDAgLjQ1NS4xMzRMMjkuNzIzIDYuMDYyYS4yODIuMjgyIDAgMCAwIC4wNi0uNDI4IDE2LjY1IDE2LjY1IDAgMCAwLTEuNC0xLjM3NEMyNS4yMSAxLjQ4OCAyMS4yMi4xMTUgMTcuMjQuMTE1Yy00LjM2NSAwLTguNzIxIDEuNjUxLTExLjk4IDQuOTE5IiBpZD0iZCIvPjxwYXRoIGlkPSJnIiBkPSJNMCAuNDI0aDgxLjA3MVY4MC40MUguMDAxeiIvPjxsaW5lYXJHcmFkaWVudCB4MT0iMjEuODM4JSIgeTE9IjE3LjEzNCUiIHgyPSI5OS45NDglIiB5Mj0iNzguNTg5JSIgaWQ9ImIiPjxzdG9wIHN0b3AtY29sb3I9IiMwMEY5RTQiIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjNDk1NEZGIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCB4MT0iNzguMTYzJSIgeTE9IjE3LjEzMyUiIHgyPSIuMDUyJSIgeTI9Ijc4LjU4OSUiIGlkPSJlIj48c3RvcCBzdG9wLWNvbG9yPSIjMDBGOUU0IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ5NTRGRiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNNzQuNDQ3IDQ0LjE5Yy41MzIuNzEuNzkzIDEuNTc4Ljc1NSAyLjQ2LS43NDggMTcuOTczLTE1LjczOCAzMi4zMTctMzQuMTE3IDMyLjMxNy0xOC4zNzQgMC0zMy4zNTktMTQuMzM0LTM0LjExOC0zMi4zYTMuODI5IDMuODI5IDAgMCAxIC43NzYtMi40ODVMMzguMjg5IDQuMTUzYzEuNTUtMi4wMzIgNC42NDQtMi4wMTkgNi4xNzcuMDI2TDc0LjQ0NyA0NC4xOVoiIGZpbGw9IiMwMEY5RTUiLz48cGF0aCBkPSJNMzAuMTU2IDU3LjQ1MmMtNi44ODYgNi4xNjgtMTcuNTMgNS42NTMtMjMuNzc0LTEuMTVDLjE0IDQ5LjUwMi42NiAzOC45ODcgNy41NDYgMzIuODJjNi44ODYtNi4xNjggMTcuNTMtNS42NTMgMjMuNzc0IDEuMTQ5IDYuMjQzIDYuODAyIDUuNzIyIDE3LjMxNy0xLjE2NCAyMy40ODQiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTIuNzY3IDM4LjQ1OGE4LjcyMiA4LjcyMiAwIDAgMC0uNjE2IDEyLjQyN2MzLjMwNCAzLjYgOC45MzYgMy44NyAxMi41OC42MDhhOC43NDcgOC43NDcgMCAwIDAgMi41MDEtMy44MzNsLTE0LjQ2NS05LjIwMloiIGZpbGw9IiMxRTFFMUUiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1Ljg5MiAyOC4zOSkiPjxtYXNrIGlkPSJjIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNhIi8+PC9tYXNrPjxwYXRoIGQ9Ik0xLjgxMSA0LjI5Yy0uNDk5LjQzNi0uOTY2Ljg5NS0xLjQgMS4zNzRhLjI4My4yODMgMCAwIDAgLjA2LjQyN2wyNy40NTMgMTcuNDYyYy4xNi4xMDIuMzc4LjA0LjQ1NS0uMTMzYTE2LjQ3OCAxNi40NzggMCAwIDAtMy40NDQtMTguMzU3QzIxLjY3NSAxLjc5NiAxNy4zMTkuMTQ1IDEyLjk1NC4xNDVjLTMuOTgxIDAtNy45NyAxLjM3My0xMS4xNDMgNC4xNDQiIGZpbGw9InVybCgjYikiIG1hc2s9InVybCgjYykiLz48L2c+PHBhdGggZD0iTTUxLjg0NiA1Ny40MjJjNi44ODYgNi4xNjcgMTcuNTMgNS42NTQgMjMuNzczLTEuMTQ5IDYuMjQ0LTYuODAyIDUuNzIyLTE3LjMxNi0xLjE2My0yMy40ODQtNi44ODYtNi4xNjgtMTcuNTMtNS42NTMtMjMuNzc0IDEuMTUtNi4yNDQgNi44MDEtNS43MjMgMTcuMzE1IDEuMTY0IDIzLjQ4MyIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik02OS4yMzUgMzguNDI4YTguNzIzIDguNzIzIDAgMCAxIC42MTYgMTIuNDI3Yy0zLjMwNSAzLjYtOC45MzcgMy44NzItMTIuNTguNjA4YTguNzM4IDguNzM4IDAgMCAxLTIuNTAxLTMuODMzbDE0LjQ2NS05LjIwMloiIGZpbGw9IiMxRTFFMUUiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NS45MTYgMjguMzkpIj48bWFzayBpZD0iZiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjZCIvPjwvbWFzaz48cGF0aCBkPSJNNS4yNiA1LjAzNEExNi40OCAxNi40OCAwIDAgMCAxLjgxNCAyMy4zOWEuMzE1LjMxNSAwIDAgMCAuNDU1LjEzNEwyOS43MjMgNi4wNjJhLjI4Mi4yODIgMCAwIDAgLjA2LS40MjggMTYuNjUgMTYuNjUgMCAwIDAtMS40LTEuMzc0QzI1LjIxIDEuNDg4IDIxLjIyLjExNSAxNy4yNC4xMTVjLTQuMzY1IDAtOC43MjEgMS42NTEtMTEuOTggNC45MTkiIGZpbGw9InVybCgjZSkiIG1hc2s9InVybCgjZikiLz48L2c+PHBhdGggZD0ibTUuMTI0IDMzLjAxLjAwMy0uMDAzdi0uMDAxbC0uMDAzLjAwNVoiIGZpbGw9IiMwQzYwNjYiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSguNDY1IC4yNDYpIj48bWFzayBpZD0iaCIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjZyIvPjwvbWFzaz48cGF0aCBkPSJNNzMuOTk0IDU0Ljk4OGMtMi43MzkgMi45ODQtNi40OSA0LjczNS0xMC41NjMgNC45MzJhMTUuMjc0IDE1LjI3NCAwIDAgMS0xMS0zLjg5IDE1LjA1MyAxNS4wNTMgMCAwIDEtMi45NTUtMy42MmwyNS42My0xNi4zMDRjNC4wNzggNS42NDUgMy43OTIgMTMuNTQtMS4xMTIgMTguODgybS0xMS4xOCAxMy40NDFjLTYuMDMzIDUuNzMxLTEzLjk2NiA4Ljg4OC0yMi4zMzggOC44ODgtOC4zNyAwLTE2LjMwMS0zLjE1NS0yMi4zMzMtOC44ODNhMzIuMDkyIDMyLjA5MiAwIDAgMS01LjA0NS02LjE0OGMxLjcyMy41MDcgMy41MDguNzY3IDUuMjk3Ljc2NyA0LjQwOSAwIDguODMyLTEuNTUyIDEyLjM0OC00LjdhMTguMDggMTguMDggMCAwIDAgNC4zNjctNS44OTcgMS44NCAxLjg0IDAgMCAwIC4xNDItLjI1OGwuMDA0LS4wMDlhMTguMDUzIDE4LjA1MyAwIDAgMCAxLjU0My03LjMwNWMuMDAyLTQuNTkxLTEuNzU3LTkuMjE1LTUuMzEtMTIuNzc0YTE4LjE2NyAxOC4xNjcgMCAwIDAtNS4xNzYtMy42MjhsLS4wNjgtLjAzNGMtLjA5NC0uMDQzLS4xODktLjA4Mi0uMjg0LS4xMjQtMS4yLS41MzUtMi40NjMtLjk0LTMuNzY1LTEuMjFMMzguOTQ0IDQuNDAyYTIuMjM3IDIuMjM3IDAgMCAxIDEuNzk2LS44ODVoLjAxYTIuMjM5IDIuMjM5IDAgMCAxIDEuNzk4LjlsMTYuNDE2IDIyLjY0N2MtMS4zMzUuMjctMi42MjYuNjgyLTMuODU0IDEuMjI5LS4wOTUuMDQyLS4xOS4wODEtLjI4NC4xMjUtLjAyMy4wMS0uMDQ1LjAyMi0uMDY4LjAzMy0xLjg4My44OC0zLjY0IDIuMDktNS4xNzUgMy42MjhhMTguMDMyIDE4LjAzMiAwIDAgMC0zLjc2NiAyMC4wOHYuMDAzYy4wNC4wOTIuMDkuMTguMTQ1LjI2MmExOC4wODkgMTguMDg5IDAgMCAwIDQuMzY2IDUuODk4YzMuNTE2IDMuMTQ5IDcuOTQgNC43IDEyLjM0OCA0LjcgMS43NDcgMCAzLjQ5LS4yNDkgNS4xNzQtLjczM2EzMi4wNTUgMzIuMDU1IDAgMCAxLTUuMDM3IDYuMTRNNS45NjUgMzYuMTM1bDI1LjYzIDE2LjMwM2ExNS4wNCAxNS4wNCAwIDAgMS0yLjk1NSAzLjYyIDE1LjI3MSAxNS4yNzEgMCAwIDEtMTEgMy44OWMtNC4wNzMtLjE5Ni03LjgyNC0xLjk0Ny0xMC41NjMtNC45MzEtNC45MDQtNS4zNDMtNS4xOS0xMy4yMzctMS4xMTItMTguODgybTIuMzIyLTIuNTMyYzIuODctMi41MDggNi40NzgtMy43NTEgMTAuMDk0LTMuNzUzIDMuNDY3LjAwMiA2LjkxNSAxLjE0NSA5LjY5NyAzLjQxbC4wMTEuMDA4Yy4zODcuMzE1Ljc2LjY1MyAxLjExOSAxLjAxMmwuMDQ1LjA0NGMuMzQ2LjM0OC42NjkuNzA3Ljk3MyAxLjA3N2wuMDc1LjA5Yy4yOTIuMzYxLjU2NC43MzMuODE3IDEuMTExbC4wODMuMTI0Yy4yNC4zNjkuNDYzLjc0NS42NjggMS4xMjlsLjA5Mi4xNzNjLjE5Mi4zNy4zNjcuNzQ4LjUyNiAxLjEzbC4wOTEuMjIyYy4xNDcuMzcyLjI3OC43NDguMzk0IDEuMTI2bC4wNzkuMjYyYTE0Ljc5NCAxNC43OTQgMCAwIDEgLjQ5MyAyLjUzN2wuMDMuMzA0YTE1LjY2NyAxNS42NjcgMCAwIDEgLjAxNiAyLjM3Yy0uMDA3LjEwNi0uMDIuMjEtLjAzLjMxNWExNC45OTkgMTQuOTk5IDAgMCAxLS42NjIgMy4yMThsLS4wMS4wMzFMOC4xMDEgMzMuNzc3Yy4wNjMtLjA1Ny4xMjEtLjExNy4xODYtLjE3M201NC40MDQtMy43ODJjMy42MTUgMCA3LjIyMiAxLjI0NCAxMC4wOTMgMy43NTIuMDY1LjA1Ny4xMjQuMTE2LjE4Ny4xNzNMNDguMTgzIDQ5LjUxNGExNC45NCAxNC45NCAwIDAgMS0uNjY5LTMuMjMxYy0uMDEyLS4xMTQtLjAyNS0uMjI2LS4wMzQtLjMzOWExNS4wNjggMTUuMDY4IDAgMCAxLS4wMzYtMS4yNTggMTUuNTYgMTUuNTYgMCAwIDEgLjA4NC0xLjQxOCAxNC45ODUgMTQuOTg1IDAgMCAxIDEuNTc4LTUuMjYybC4xLS4xODhjLjIwNC0uMzc4LjQyMi0uNzUuNjYtMS4xMTVsLjA5Mi0uMTM3Yy4yNTEtLjM3NC41Mi0uNzQyLjgxLTEuMS4wMjYtLjAzMy4wNTUtLjA2NS4wODItLjA5OC4zMDItLjM2Ny42MjMtLjcyNS45NjYtMS4wN2wuMDUtLjA1Yy4zNTgtLjM1Ny43My0uNjkzIDEuMTE0LTEuMDA3bC4wMTUtLjAxMmMyLjc4Mi0yLjI2MyA2LjIzLTMuNDA3IDkuNjk2LTMuNDA3bTEzLjg3IDMuMTEzYTEuNTU0IDEuNTU0IDAgMCAwLS4xNS0uMjAyIDE4LjU3NCAxOC41NzQgMCAwIDAtMS41My0xLjVjLS4xNDktLjEzLS4zMDgtLjI0Mi0uNDYtLjM2N2wtLjI2NS0uMjFhMTguMzU3IDE4LjM1NyAwIDAgMC0zLjMxLTIuMDg2Yy0uMDkyLS4wNDUtLjE4Mi0uMDk0LS4yNzctLjEzOGExOC4wODIgMTguMDgyIDAgMCAwLTEuNDItLjU5MmwtLjA1NS0uMDIxYTE4LjUyNiAxOC41MjYgMCAwIDAtNi41NS0xLjEyOEw0NS4wNjMgMi41NzdhNS4zNTUgNS4zNTUgMCAwIDAtNC4zLTIuMTUzaC0uMDI1Yy0xLjcwNSAwLTMuMjcuNzctNC4yOTYgMi4xMTZMMTguNjA5IDI2LjcyM2ExOC41MjggMTguNTI4IDAgMCAwLTguMTA3IDEuNzM5Yy0uMDk0LjA0My0uMTg2LjA5My0uMjguMTM5YTE3LjgzNCAxNy44MzQgMCAwIDAtMS43MDMuOTUxIDE3Ljg5NSAxNy44OTUgMCAwIDAtMS42MDcgMS4xMzZjLS4wODcuMDctLjE3NS4xMzgtLjI2MS4yMDktLjE1My4xMjQtLjMxMi4yMzYtLjQ2MS4zNjZhMTguNTUgMTguNTUgMCAwIDAtMS41MjkgMS40OTljLS4wNTguMDY0LS4xMDUuMTM0LS4xNTMuMjA0LTYuMDMzIDYuODQzLTYuMDcgMTcuMjQ1LjI1IDI0LjEzYTE4LjI5MyAxOC4yOTMgMCAwIDAgMy42MTggMy4wMzkgMzQuOTQyIDM0Ljk0MiAwIDAgMCA3LjU5NiAxMC41M2M2LjYxOSA2LjI4NCAxNS4zMiA5Ljc0NSAyNC41MDQgOS43NDUgOS4xODYgMCAxNy44OS0zLjQ2MyAyNC41MDgtOS43NTFhMzQuOTQ2IDM0Ljk0NiAwIDAgMCA3LjU1NC0xMC40NSAxOC4zNDMgMTguMzQzIDAgMCAwIDMuNzc2LTMuMTQzYzYuMzItNi44ODUgNi4yODMtMTcuMjg4LjI0OC0yNC4xMyIgZmlsbD0iIzBDNjA2NiIgbWFzaz0idXJsKCNoKSIvPjwvZz48cGF0aCBkPSJtNzYuODc1IDMyLjk3OC4wMDMuMDAzLS4wMDMtLjAwM1oiIGZpbGw9IiMwQzYwNjYiLz48L2c+PHN0eWxlIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBpZD0ibGEwcGlzcnAucmtrIj4jc2VqLWNvbnRhaW5lcntib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzt9PC9zdHlsZT48L3N2Zz4=",
  55. "yandex.ico": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAGyElEQVR4XtVbTWhdRRQ+Z+57jzQtJbpykSav4qKoYHSlIulLEIkgmEX92TX1Z1foC266EJqICzfap7isNNn5B21BsII0r1XUXVNQcCH0mVZwZUJpTUhyZzxzX9/jvZu5d37u3Jt4ISnNnTlz5jvfOXPmzFyEnB8xdaQabt6rCS7GEHCUgagKYENCiGrv0IjYQuBrHLAlAG+UArYMZVjGy61WnipiHsK3nq/WYHt7mgF7OT5R2/EkMNSnyUtssfx9q2nbX9feGwBiujoE//BTnEGdJj2kG9jlvQSD2DMXDMBVX8zIDEARE4+DRUCsMQ4NGGSLWYHIBIAYr5LF+VxeFtexpMOIUrO1qGub9N4JgPWparW8EZ4HATXXgX32k0CwATbhwgZrAHbb6omWJLcIQzZf+aHVsAHXCoBwfOSsQFG3GaDotoHAOby2Mm86rjEAYW3kPPn6jKng3WxHLrEQNFdOmOhgBACvDV/nAsdMBO6ZNgjNUvPWhE4fLQD/J8srlkstE1IBEOPDZ0LEOR2Ke/k9CmwE11ZmrZdBGe1DDK0i6l4FgvNgNml1UDJArvOVDX5dl+Dg2NPAGl8mzpvXXwWx/IsXXILPfwJ4aFgpi3/wDojLXyWOE2WOA+xJVZ6gBID8/qbpJoY1vgAce0Y5uFj+GXj9tcwA4NQxYKc/Usv5+zaErz+rHyMhKO4AYHvy0AyEcF4vsd1Cx4JIOVIyy5PF+r3jqlyhD4D71F8ytX5HODv3LeAjj6np+fVnID41zkt2yiB2BcQy5SOt/9YUwN07RvhGrjDEDuPF1lqnQx8ArpleKkVJuYgFhkrGZ5LqYuT30v9tHoHBfLnZ6q5sXQDa1hcU+Lj9Xv7AQYhoSv+qHr5wFgT9WD8U9CK5CY+Le8VZ0AXA1vfjOuHMLDD6UT6OLGCnPwScekUpUkZ9W+t3BPWyoAuATeRXauSbBRrrZ1liJQtor/BAFMTlL1nDw61wyZqisQ6pLDBdru7LTI0rf/xGwe/FTOqKcjAha4wRAJvjIwsMxfFMEmVnyYJvfk0UY2M1X0tfkjK0rf+43LxdjwDITP+eUVL91jAx8pL4aKwpq0jkBocxKm+thzczW79DXQ/pMTt3mfKKR5Uq6dJem3kEuP8wilp1OhThBZuOuraZ0uO0xEey1UNm2dWfwwncqo3MoRBndJOyea9Lj9NiQV5Ln0p/GQdwu3boAlV3p20maNLWKYPLIfFJ1VXgJeS1USp3ce/lLh0Lwpce35EeF2l9CQytfMvocwWIo526lMXTY2l9WVtI2vN7rC109IwOZLePHhImlHZpg8feBHYyIbzE0uMilj7VHHIFIEqMDDdJeSc+SQbMFwAaVbtJoliAz70AeHJOrSMxhcs9f05P7gBoWaCp5+U0767YXINgN9ikbJV91Q1dgIqCYF7LYJ9CHjdJLhNN9H+5DOaVCMUH9bFJ8jn5SJZMhLZqww06PTnlXXhMoC4xstkq+9JVIM5j1lKYjTJp6THPWj22UeR+24DDNG2Hj9B2+J637XCaHqkscKwbOsy72yXYR9th+b880+EdsSDlJKlIN+gWRKSCRcUBOZZMetj755SGK9INOpcovBZFTelIpShlU/Hjd8DffdtUTKZ2fUXRthuMrjodijiokQSAPEM0Ouh0GLO3C13ZvRlcXXk4YmTnRR6VoSQ9EwGQgVDWCfJ+MJjp3C3sAiCmx4b42iodizscjVkqnAhAOyBbSrNr3r4rMEh3BX5v9TGgHQz91wdV6u0mACKgw9ErisNRqWhRLNgtAKTvs32Dkx3r72CA/MPmZLXOwtDhKNecirsFAPT4fkdb5RUZ2iAt5XkPeDcA6I38/SuCwnAyPa5srLvdFTAgQtEA0ORXifpP9VI/lQF5u0LRAPCAz1au/KW88pd6UTKvFLlIAOJRP05Q7VXZzQk6Oucejs57Ri4KAE6XpiuaS9NaAKTehZTNDGKHXROxVLp6e1LXxwiAKCbkwASdcq7vTSyvDYKqwbcmKVMM/Z4ku05S1Y+sKTgC3fy4lXg52joGxDvIRCng4kwRewYbcORSFwbhe0nRPkmWsQv0CmjnCf9a3yi1mZBpW2l1AaIZ7Dvwhmqd18lxAqAjVBZUkSOxof8zWN2gvt67Wl2bCdooKNlQ2rhbp89kj+uu19vITWsrJ84D+KR08MEGXlzu3vt1kZ+JAXG3KNNH0nkxQlKd6jdrvibutAqYIiwvXopNPhMwOOrqHu0JywdbXIhLUAku7emPp5PAkS4ysLUxth1y+nxePJH6+bzgq9Hn8wL+xBLcCCr7my6BzdRQst1/8zuH0wVW5UQAAAAASUVORK5CYII=",
  56. "bilicom": "data:image/ico;base64,AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAABMLAAATCwAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A1qEAANahAADWoQAG1qEAb9ahAMvWoQD01qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD01qEAy9ahAG/WoQAG1qEAANahAADWoQAA1qEAG9ahAM/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahANDWoQAb1qEAANahAAfWoQDQ1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahANHWoQAH1qEAbtahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAG7WoQDH1qEA/9ahAP/WoQD/1qEAtdahABjWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahABvWoQC11qEA/9ahAP/WoQD/1qEAx9ahAPnWoQD/1qEA/9ahAP/WoQAZ1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahABjWoQD/1qEA/9ahAP/WoQDz1qEA/9ahAP/WoQD/1qEA/9ahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEAANahAADWoQAA1qEAANahAErWoQDn1qEA5NahAErWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAErWoQDn1qEA5NahAErWoQAA1qEAANahAADWoQAA1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQAA1qEAANahAADWoQAA1qEA5tahAP/WoQD/1qEA59ahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEA5tahAP/WoQD/1qEA59ahAADWoQAA1qEAANahAADWoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAADWoQAA1qEAANahAADWoQD/1qEA/9ahAP/WoQD/1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQD/1qEA/9ahAP/WoQD/1qEAANahAADWoQAA1qEAANahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEAANahAADWoQAA1qEAANahAP/WoQD/1qEA/9ahAP/WoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAP/WoQD/1qEA/9ahAP/WoQAA1qEAANahAADWoQAA1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQAA1qEAANahAADWoQAA1qEA5tahAP/WoQD/1qEA5tahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEA5tahAP/WoQD/1qEA5tahAADWoQAA1qEAANahAADWoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAADWoQAA1qEAANahAADWoQBJ1qEA5tahAObWoQBJ1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQBJ1qEA5tahAObWoQBJ1qEAANahAADWoQAA1qEAANahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQD/1qEA/9ahAP/WoQD/1qEA+dahAP/WoQD/1qEA/9ahABnWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAGdahAP/WoQD/1qEA/9ahAPjWoQDH1qEA/9ahAP/WoQD/1qEAttahABnWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahABnWoQC21qEA/9ahAP/WoQD/1qEAx9ahAG3WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQBt1qEABtahAM/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA0NahAAfWoQAA1qEAG9ahAM/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAM/WoQAb1qEAANahAADWoQAA1qEABtahAG7WoQDH1qEA89ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA/9ahAP/WoQD/1qEA89ahAMfWoQBu1qEABtahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEADtahAMXWoQD/1qEA/9ahAP/WoQD/1qEAxdahAA/WoQAA1qEAANahAADWoQAA1qEADtahAMXWoQD/1qEA/9ahAP/WoQD/1qEAxdahAA/WoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAAbWoQDF1qEA/9ahAP/WoQD/1qEA/9ahAMXWoQAP1qEAANahAADWoQAA1qEAANahAADWoQAA1qEADtahAMXWoQD/1qEA/9ahAP/WoQD/1qEAxdahAAbWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAYtahAP/WoQD/1qEA/9ahAP/WoQDF1qEADtahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEADtahAMXWoQD/1qEA/9ahAP/WoQD/1qEAY9ahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQBf1qEA/9ahAP/WoQD/1qEAxdahAA7WoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEADtahAMXWoQD/1qEA/9ahAP/WoQBf1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAATWoQCg1qEA6tahAKjWoQAO1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEAANahAADWoQAA1qEADtahAKjWoQDr1qEAoNahAATWoQAA1qEAANahAADWoQAA1qEAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A///////////AAAADgAAAAQAAAAAAAAAAA///wAf//+AP///wD///8A////AP///wDw/w8A8P8PAPD/DwDw/w8A8P8PAPD/DwD///8A////AH///gA///wAAAAAAAAAAAgAAAAcAAAAP8A8A/+AfgH/gP8B/4H/gf+D/8H/////8=",
  57. "com.sci": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABbklEQVQ4jZ2T0Y3jMAxEXwkuwSWoBJfgElRCOggvXscb53IuwSWkBJeQUraEdx+R42yyuI8TIEAAOcMRh4SX40jyTOPEzTPNt/dIes3fgAO1I8tK8BYvBI4sDtTfg0FtT/bIBOBEcmLywuSJcGD2o8SOTPZk44nEjrDjq4CzF6IQVwaVPckD2QOW/C+7ew4G2QNXg9qR5G9aJyovZE+EPbMdN4PWILvnapAKJmMw+wsNKk9ci4r2+Z8G6QHcsxikgpkx2Bm09iR7kgO1J9q3Jga5KJgNoijaYaCBdjR2tB7Z2b/bZUfjRykWNCtuU3BnnUul3Q82Zwdqg1TuQ8Hag+1/e27GpqLMSAbwk6tB9dyDzYU7QZQKNzuuDsQDfFfRGFQPF97mIFg8kAtJZVCVSQwvheh5DgCKA9kjk0HlB7NHJgfCE5NnwrEQrpP42mgHaj9ZVpk/NLFxIJec+jW+Ja7b+IflsY3r+1/b+L/nL7IaT8k13EbiAAAAAElFTkSuQmCC"
  58. , "com.engineeringvillage": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABQ0lEQVQ4jY2Tu5HEIBBEJw5SWJMElMCabAg4JDFJYEwKnEkCCgBXKWBcEu8MtPrcSldH1ZRGJXVDdw/CxYql4pMhQXGT4V969RsAcnyxXJGgyDTAEuL6VKw0bGnUpV0T+GQDOBkSjGdStFS0NDRXOiCqiEb6bwKb27aThPvjuqy4fP4uAPKIo6Z4Cz6BNCI6iMRKG1on+xd4I8hGXCriU0WC4V9GW/pa7dD3D4LnlyHFcFkRl3btMsW1jv2nNF0aooYrhvjXgeChux/HPpzl2VKRrLhsyPM9MOuwdPoppk8BuwSf7W2iIY//JQAgWYeJc11jnOKaxP0MvJfLhqjtMQLY3Idxj79JXNY1QiXOdScAtssz0lB8UjTXrdp3H+Ay9G9yjjvY3Ib7YZUUbOutNHQZdfLj6qhWGj4ZLhk+VbzeT+kPNToQOcW8RWEAAAAASUVORK5CYII="
  59. };
  60. var ICON_DATA = {};
  61. try {
  62. ICON_DATA = JSON.parse(GM_getResourceText('iconData.json'));
  63. ICON_DATA = Object.assign({}, ICON_DATA, ICON_DATA_CUSTOM);
  64. } catch (err) {
  65. ICON_DATA = ICON_DATA_CUSTOM;
  66. }
  67. // rules 和 engineList 的对应
  68. var categoryMap = {
  69. 'web': '网页',
  70. 'video': '视频',
  71. 'music': '音乐',
  72. 'image': '图片',
  73. 'academic': '学术',
  74. 'book': '图书',
  75. 'knowledge': '知识',
  76. 'sociality': '社交',
  77. 'shopping': '购物',
  78. 'download': '下载',
  79. 'translate': '翻译',
  80. '译&词典': '翻译',
  81. 'software': '软件'
  82. };
  83.  
  84. var engineListIntroduce = getMStr(function () {/*
  85. <div>
  86. <h2>分类规则:</h2>
  87. <i>【名称最好不要更改,类别跟站点规则有个对应关系】</i>
  88. <p>1、"音乐-5" 或 "音乐-音悦Tai",代表类别是 "音乐",图标使用下面的第5个,即音悦台的图标,否则使用默认的第1个。</p>
  89. <p>2、"dev--百度百科",代表插入到 "百度百科" 搜索的前面</p>
  90. <p>3、"其它--购物",代表插入到 "购物" 类别的最后一个</p>
  91. </div>
  92. <div>
  93. <h2>搜索引擎规则:</h2>
  94. <code>名称,地址(%s 关键字), 编码(特殊的填gbk),站点图标</code>
  95. <p>1、"//" 开头会被忽略</p>
  96. <p>2、中间分隔符:中文逗号(,) 或 英文逗号 + 空格(, )</p>
  97. <p>3、编码可省略,可直接填站点图标,站点图标也可省略</p>
  98. <p>4、POST 方式</p>
  99. </div>
  100. */});
  101.  
  102. function introduceToHtml() {
  103. return engineListIntroduce.replace(/((.*?))/g, '<span>$1</span>')
  104. .replace(/"(.*?)"/g, '<span>$1</span>')
  105. }
  106.  
  107. function isTheSameCategory(c1, c2) {
  108. return (categoryMap[c1] || c1) == (categoryMap[c2] || c2);
  109. }
  110.  
  111. // 合并规则
  112. function loadIconData() {
  113. // Object.keys(ICON_DATA_CUSTOM).forEach(function(key) {
  114. // ICON_DATA[key] = ICON_DATA_CUSTOM[key];
  115. // });
  116. ICON_DATA = Object.assign({}, ICON_DATA, ICON_DATA_CUSTOM);
  117. }
  118.  
  119. // 根据规则把搜索引擎列表插入到指定网站
  120. // 以下数据来自原版和 ted423 的版本
  121. var rules = [
  122. // 网页
  123. // /////////////第一个可以当模板看
  124. {
  125. name: "google网页搜索",// 你要加载的网站的名字(方便自己查找)
  126. // 是否启用.
  127. enabled: true,
  128. // 在哪个网站上加载,正则.
  129. // url: /^https?:\/\/www\.google(?:\.[A-z]{2,3}){1,2}\/[^?]+\?(?:&?q=|(?:[^#](?!&tbm=))+?&q=)(?:.(?!&tbm=))*$/,
  130. url: /^https?:\/\/(www|encrypted)\.google(stable)?\..{2,9}\/(webhp|search|#|$|\?)(?:.(?!&tbm=))*$/,
  131. // 是否要监视标题的变化
  132. mutationTitle: true,
  133. // mutationDom: '#cnt',
  134. // 加载哪个类型的列表:
  135. // ['web'|'music'|'video'|'image'|'download'|'shopping'|'translate'|'knowledge'|'sociality']
  136. engineList: 'web',
  137. // 给引擎列表的样式
  138. style: '',
  139.  
  140. // 插入文档,相关
  141. // target 将引擎跳转工具栏插入到文档的某个元素
  142. // (请使用xpath匹配,比如: '//*[@id="subform_ctrl"]' 或者 css匹配(请加上 'css;' 的前缀),比如: 'css;#subform_ctrl' );
  143. // keyword 使用 xpath 或者 css选中一个form input元素 或者 该项是一个函数,使用返回值
  144. // where 四种:
  145. // 'beforeBegin'(插入到给定元素的前面) ;
  146. // 'afterBegin'(作为给定元素的第一个子元素) ;
  147. // 'beforeEnd' (作为给定元素的最后一个子元素) ;
  148. // 'afterEnd'(插入到给定元素的后面);.
  149. insertIntoDoc: {
  150. /*keyword: function () {
  151. var input = document.getElementById('lst-ib');
  152. if (input) return input.value;
  153. }, */
  154. keyword: '//input[@name="q"] | //textarea[@name="q"]',
  155. // target: 'css;#rcnt',
  156. // where: 'beforeBegin',
  157. target: 'id("hdr") | id("top_nav")',
  158. where: 'beforeEnd',
  159. },
  160. // 自定义样式
  161. stylish: `body.vasq #hdtbMenus.hdtb-td-o {top: 120px !important;}
  162. #hdtbMenus{margin-top: 50px;}
  163. a.sej-engine span{color:#6d68af!important;}
  164. a.sej-engine:visited span{color:#6d68af!important;}
  165. #top_nav #sej-container{padding-left: 230px;}
  166. }
  167. `,
  168. },
  169. {
  170. name: "谷歌镜像",
  171. url: /^https?:\/\/www\.glgoo\.com\/search\?q/i,
  172. engineList: "web",
  173. enabled: true,
  174. style: "padding-left: 135px;",
  175. insertIntoDoc: {
  176. keyword: 'css;input[name=q]',
  177. target: 'css;.search-submenus',
  178. where: 'afterEnd',
  179. },
  180. },
  181. {
  182. name: "谷歌镜像2",
  183. enabled: true,
  184. url: /^https?:\/\/gg2\.firstguo\.com\//i,
  185. engineList: 'web',
  186. style: '\
  187. border-bottom: 1px solid #E5E5E5;\
  188. border-top: 1px solid #E5E5E5;\
  189. padding-left: 135px;\
  190. ',
  191. insertIntoDoc: {
  192. keyword: '//input[@name="q"]',
  193. target: 'css;#rcnt',
  194. where: 'beforeBegin',
  195. },
  196. },
  197. {
  198. name: "baidu 网页搜索",
  199. // 新增了百度简洁搜索:http://www.baidu.com/s?wd=firefox&ie=utf-8&tn=baidulocal
  200. url: /^https?:\/\/www\.baidu\.com\/(?:s|baidu|)/,
  201. mutationTitle: true,
  202. mutationDom: '#wrapper_wrapper',
  203. enabled: true,
  204. engineList: 'web',
  205. style: `
  206. border-top: 1px solid #ccc;
  207. border-bottom: 1px solid #ccc;
  208. display: block;
  209. position: relative;
  210. z-index: auto;
  211. padding: 1px 0 1px 130px;
  212. line-height: 1.5;
  213. font-size: 13px;
  214. `,
  215. insertIntoDoc: {
  216. keyword: function () {
  217. var input = document.querySelector('input#kw') || document.querySelector('input[name="wd"]');
  218. if (input) return input.value;
  219. },
  220. /*target: 'id("container") | html/body/table[2]',
  221. where: 'beforeBegin',*/
  222. target: 'id("s_tab") | html/body/table[2]',
  223. where: 'afterEnd',
  224. },
  225. },
  226. {
  227. name: "必应网页搜索",
  228. url: /^https?:\/\/[^.]*\.bing\.com\/search/,
  229. enabled: true,
  230. engineList: 'web',
  231. style: '\
  232. border-top: 1px solid #E6E6E6;\
  233. border-bottom: 1px solid #E6E6E6;\
  234. margin-left: 100px;\
  235. ',
  236. stylish: '#b_header{margin-bottom: 0px !important;}',
  237. insertIntoDoc: {
  238. keyword: 'css;#sb_form_q',
  239. target: 'css;#b_header',
  240. where: 'AfterEnd',
  241. },
  242. },
  243. {
  244. name: "360搜索",
  245. url: /^https?:\/\/www\.so\.com\/s\?/,
  246. engineList: 'web',
  247. enabled: true,
  248. style: '\
  249. border-bottom: 1px solid #E0E0E0;\
  250. border-top: 1px solid #E0E0E0;\
  251. margin-bottom: 10px;\
  252. padding-left: 40px;\
  253. ',
  254. insertIntoDoc: {
  255. keyword: 'css;#keyword',
  256. target: 'css;#header',
  257. where: 'AfterEnd',
  258. },
  259. stylish: '#head{ margin-bottom: 0; }',
  260. left: false
  261. },
  262. {
  263. name: "搜狗网页搜索",
  264. url: /^https?:\/\/www\.sogou\.com\/(?:web|sogou)/,
  265. enabled: true,
  266. engineList: 'web',
  267. style: "\
  268. border-top: 1px solid #ccc;\
  269. border-bottom: 1px solid #ccc;\
  270. margin-bottom: 40px;\
  271. padding-left: 35px;\
  272. ",
  273. insertIntoDoc: {
  274. keyword: 'css;#upquery',
  275. target: 'css;#wrapper',
  276. where: 'afterBegin',
  277. },
  278. stylish: '.wrapper{padding:100px;}'
  279. },
  280. {
  281. name: "duckduckgo",
  282. url: /^https?:\/\/duckduckgo\.com\/\?q/i,
  283. enabled: true,
  284. engineList: 'web',
  285. style: "\
  286. border-top: 1px solid #ccc;\
  287. border-bottom: 1px solid #ccc;\
  288. padding-left: 170px;\
  289. ",
  290. insertIntoDoc: {
  291. keyword: 'css;#search_form_input',
  292. target: 'css;#header_wrapper',
  293. where: 'afterEnd',
  294. },
  295. stylish: `.dark-bg a.sej-engine span{color:rgb(238, 238, 238)!important;}
  296. .dark-bg a.sej-engine:visited span,.dark-bg #sej-expanded-category{color:rgb(238, 238, 238)!important;}
  297. .dark-bg .sej-drop-list{background-color: #1c1c1c;}
  298. .dark-bg .sej-drop-list > .sej-engine:hover,.dark-bg .sej-engine:hover{background-color: #5094E5;}`
  299. }, {
  300. name: "yandex",
  301. url: /^https?:\/\/yandex\.com\/search/i,
  302. enabled: true,
  303. engineList: 'web',
  304. style: "\
  305. border-top: 1px solid #ccc;\
  306. border-bottom: 1px solid #ccc;\
  307. padding-left: 135px;\
  308. ",
  309. insertIntoDoc: {
  310. keyword: 'css;.input__control',
  311. target: 'css;.serp-navigation',
  312. where: 'afterEnd',
  313. },
  314. stylish: `.dark-bg a.sej-engine span{color:rgb(238, 238, 238)!important;}
  315. .dark-bg a.sej-engine:visited span,.dark-bg #sej-expanded-category{color:rgb(238, 238, 238)!important;}
  316. .dark-bg .sej-drop-list{background-color: #1c1c1c;}
  317. .dark-bg .sej-drop-list > .sej-engine:hover,.dark-bg .sej-engine:hover{background-color: #5094E5;}`
  318. },
  319. {
  320. name: "有道网页搜索",
  321. url: /^https?:\/\/www\.youdao\.com\/search/i,
  322. engineList: "web",
  323. enabled: true,
  324. style: '\
  325. position:relative;\
  326. z-index:100;\
  327. padding-left:190px;\
  328. border-bottom:1px solid #D4E9F7;\
  329. ',
  330. insertIntoDoc: {
  331. keyword: 'css;#query',
  332. target: 'css;#ctn',
  333. where: 'beforeBegin',
  334. },
  335. },
  336. {
  337. name: "雅虎网页搜索",
  338. url: /^https?:\/\/www\.yahoo\.cn\/s/i,
  339. engineList: "web",
  340. enabled: true,
  341. style: "\
  342. border-top:1px solid #D4E9F7;\
  343. ",
  344. insertIntoDoc: {
  345. keyword: 'css;#qtop',
  346. target: 'css;.head',
  347. where: 'afterEnd',
  348. },
  349. },
  350. {
  351. name: "SimilarSiteSearch",
  352. url: /^https?:\/\/www\.similarsitesearch\.com\/q.php\?URL\=/i,
  353. engineList: "web",
  354. enabled: true,
  355. insertIntoDoc: {
  356. keyword: 'css;#main_URL',
  357. target: 'css;body > nav:nth-child(1)',
  358. where: 'afterEnd',
  359. },
  360. },
  361. // 知识
  362. {
  363. name: "谷歌学术",
  364. enabled: true,
  365. url: /^https?:\/\/scholar\.google(?:\.\D{1,3}){1,2}\/scholar\?/,
  366. engineList: "academic",
  367. style: '\
  368. border-bottom:1px solid #E5E5E5;\
  369. border-top:1px solid #E5E5E5;\
  370. z-index:999;\
  371. position:relative;\
  372. ',
  373. insertIntoDoc: {
  374. target: 'css;#gs_ab',
  375. keyword: '//input[@name="q"]',
  376. where: 'beforeBegin'
  377. }
  378. },
  379. {
  380. name: "百度百科",
  381. url: /^https?:\/\/baike\.baidu\.com\/(?:sub)?view\//,
  382. engineList: "知识",
  383. enabled: true,
  384. style: "\
  385. border-top: 1px solid #2B6DAE;\
  386. text-align: center;\
  387. z-index: 999999;\
  388. ",
  389. insertIntoDoc: {
  390. keyword: 'css;input#word',
  391. target: 'css;#nav',
  392. // where: 'beforeBegin',
  393. where: 'afterEnd',
  394. },
  395. },
  396. {
  397. name: "互知识",
  398. url: /^https?:\/\/[a-z]{2,3}\.baike\.com\/[a-z]/,
  399. enabled: true,
  400. engineList: "知识",
  401. style: '\
  402. z-index:99;\
  403. margin:0 auto;\
  404. ',
  405. insertIntoDoc: {
  406. keyword: function () {
  407. var input;
  408. if (document.getElementsByClassName('ac_input')[0] != undefined) {
  409. if (document.getElementsByClassName('ac_input')[0].value != "")
  410. input = document.getElementsByClassName('ac_input')[0].value;
  411. else if (document.getElementsByClassName('blue')[0].innerHTML != "") input = document.getElementsByClassName('blue')[0].innerHTML;
  412. else input = document.evaluate("//h1", document, null, 9, null).singleNodeValue.innerHTML;
  413. } else if (document.getElementsByClassName('blue')[0].innerHTML != "") input = document.getElementsByClassName('blue')[0].innerHTML;
  414. else input = document.evaluate("//h1", document, null, 9, null).singleNodeValue.innerHTML;
  415. return input;
  416. },
  417. target: 'css;.wraper',
  418. where: 'beforeBegin'
  419. }
  420. },
  421. {
  422. name: "wiki",
  423. url: /^https?:\/\/..\.wikipedia\.org\/w\/index\.php(?!.*\?search=%s)/,
  424. enabled: true,
  425. engineList: "知识",
  426. style: '\
  427. border-top:1px solid #D9E1F7;\
  428. border-bottom:1px solid #D9E1F7;\
  429. margin-top:5px;\
  430. ',
  431. insertIntoDoc: {
  432. keyword: 'css;#searchInput',
  433. target: 'css;#siteNotice',
  434. where: 'beforeBegin'
  435. }
  436. },
  437. {
  438. name: "wiki",
  439. url: /^https?:\/\/(?:en|zh|ja)\.wikipedia\.org\/(?:zh-|wiki\/|w\/index.php\?search=)/,
  440. enabled: true,
  441. engineList: "知识",
  442. style: '\
  443. border-top:1px solid #D9E1F7;\
  444. border-bottom:1px solid #D9E1F7;\
  445. padding-left: 0;\
  446. ',
  447. insertIntoDoc: {
  448. keyword: function () {
  449. return document.evaluate("//span[@dir='auto']", document, null, 9, null).singleNodeValue.innerHTML;
  450. },
  451. target: 'css;#siteNotice',
  452. where: 'beforeBegin'
  453. }
  454. },
  455. {
  456. name: "百度知道(search)",
  457. url: /^https?:\/\/zhidao\.baidu\.com\/search/,
  458. enabled: true,
  459. engineList: "知识",
  460. style: '\
  461. margin-bottom: 8px;\
  462. ',
  463. insertIntoDoc: {
  464. keyword: 'css;input#kw',
  465. target: 'css;#body',
  466. where: 'beforeBegin'
  467. },
  468. },
  469. {
  470. name: "百度知道(question)",
  471. url: /^https?:\/\/zhidao\.baidu\.com\/question/,
  472. enabled: true,
  473. engineList: "知识",
  474. style: '\
  475. width: 980px;\
  476. margin: 0 auto;\
  477. ',
  478. insertIntoDoc: {
  479. keyword: function () {
  480. return document.querySelector('#kw').value;
  481. },
  482. target: 'css;#body',
  483. where: 'beforeBegin'
  484. },
  485. endFix: function () { // 插入搜索条后修正绿色背景错位的问题
  486. var container = document.getElementById('sej-container');
  487. if (container && document.body.classList.contains('has-menu')) {
  488. document.body.style.backgroundPosition = '0px ' + (95 + container.clientHeight) + 'px';
  489. }
  490. },
  491. },
  492. {
  493. name: "知乎",
  494. url: /^https?:\/\/www\.zhihu\.com\/search\?/,
  495. enabled: true,
  496. engineList: "知识",
  497. style: '\
  498. text-align;center;\
  499. border-bottom:1px solid #D9E1F7;\
  500. text-align: center;\
  501. ',
  502. insertIntoDoc: {
  503. keyword: 'css;input#q',
  504. target: 'css;.zu-top',
  505. where: 'afterEnd'
  506. },
  507. // stylish: '.sej-engine > img {padding-bottom: 3px;}'
  508. },
  509. {
  510. name: 'MDN',
  511. url: /^https?:\/\/developer\.mozilla\.org\/.*\/search/i,
  512. engineList: '知识',
  513. enabled: true,
  514. insertIntoDoc: {
  515. keyword: 'css;#search-q',
  516. target: 'css;.results-search-form',
  517. where: 'afterEnd',
  518. },
  519. },
  520. {
  521. name: "百度文库",
  522. url: /^https?:\/\/wenku\.baidu\.com\/search\?/,
  523. enabled: true,
  524. engineList: "知识",
  525. style: '\
  526. border-top:1px solid #D9E1F7;\
  527. border-bottom:1px solid #D9E1F7;\
  528. ',
  529. insertIntoDoc: {
  530. keyword: 'css;input#kw',
  531. target: 'css;#hd',
  532. where: 'afterEnd'
  533. }
  534. },
  535. {
  536. name: "豆丁",
  537. url: /^https?:\/\/www\.docin\.com\/search\.do/,
  538. enabled: true,
  539. engineList: "知识",
  540. style: '\
  541. margin:0 auto;\
  542. padding-top:65px;\
  543. border-top:1px solid #00000;\
  544. border-bottom:1px solid #D9E1F7;\
  545. ',
  546. insertIntoDoc: {
  547. keyword: 'css;input#topsearch',
  548. target: 'css;.nav',
  549. where: 'beforeBegin'
  550. }
  551. },
  552.  
  553. // 视频
  554. {
  555. name: "soku",
  556. url: /^https?:\/\/www\.soku\.com\/[a-z]/,
  557. engineList: "视频",
  558. enabled: true,
  559. style: "\
  560. width: 970px;\
  561. margin: 0 auto;\
  562. ",
  563. insertIntoDoc: {
  564. keyword: 'css;#headq',
  565. target: 'css;.sk_header',
  566. where: 'afterEnd'
  567. },
  568. },
  569. {
  570. name: "bilibili",
  571. url: /^https?:\/\/www\.bilibili\.com\/search\?/,
  572. enabled: true,
  573. engineList: "视频",
  574. style: "\
  575. border-top: 1px solid #E7E7E7;\
  576. border-bottom: 1px solid #E7E7E7;\
  577. width: 980px;\
  578. margin: 0 auto;\
  579. ",
  580. insertIntoDoc: {
  581. keyword: 'css;#search_keyword',
  582. target: 'css;.search-main-inner',
  583. where: 'beforeBegin',
  584. },
  585. },
  586. {
  587. name: "acfan",
  588. url: /^https?:\/\/www\.acfun\.tv\/search/,
  589. enabled: true,
  590. engineList: "视频",
  591. style: "\
  592. border-top: 1px solid #FFFFFF;\
  593. border-bottom: 1px solid #FFFFFF;\
  594. margin-bottom: 5px;\
  595. ",
  596. insertIntoDoc: {
  597. keyword: 'css;#input-search-mainer',
  598. target: 'css;#mainer',
  599. where: 'beforeBegin',
  600. },
  601. },
  602. {
  603. name: "youtube",
  604. url: /^https?:\/\/www\.youtube\.com\/results/,
  605. enabled: true,
  606. engineList: "视频",
  607. style: "\
  608. border-top: 1px solid #E8E8E8;\
  609. border-bottom: 1px solid #E8E8E8;\
  610. ",
  611. insertIntoDoc: {
  612. keyword: 'css;#masthead-search-term',
  613. target: 'css;#page-container',
  614. where: 'beforeBegin',
  615. },
  616. },
  617. {
  618. name: "niconico",
  619. url: /^https?:\/\/www\.nicovideo\.jp\/search\//,
  620. enabled: true,
  621. engineList: "视频",
  622. style: "\
  623. border-top: 1px solid #E8E8E8;\
  624. border-bottom: 1px solid #E8E8E8;\
  625. text-align: center;\
  626. ",
  627. insertIntoDoc: {
  628. keyword: 'css;#search_united',
  629. target: 'css;.tagListBox',
  630. where: 'beforeBegin',
  631. },
  632. },
  633. {
  634. name: "百度视频",
  635. url: /^https?:\/\/v\.baidu\.com\/(v|#)/,
  636. enabled: true,
  637. engineList: "video",
  638. style: "\
  639. margin:0 auto;\
  640. width: 984px;\
  641. ",
  642. insertIntoDoc: {
  643. keyword: 'css;#kw',
  644. target: 'css;#navbar',
  645. where: 'beforeBegin'
  646. }
  647. },
  648. {
  649. name: "360视频",
  650. url: /^https?:\/\/video\.so\.com\//,
  651. engineList: "video",
  652. enabled: true,
  653. style: "\
  654. text-align:left;\
  655. top:-20px;\
  656. margin-left:5px;\
  657. ",
  658. insertIntoDoc: {
  659. keyword: 'css;#kw',
  660. target: 'css;#head',
  661. where: 'afterEnd'
  662. }
  663. },
  664. {
  665. name: "腾讯视频",
  666. url: /^https?:\/\/v\.qq\.com\/search\.html\?/,
  667. engineList: "video",
  668. enabled: true,
  669. style: "",
  670. insertIntoDoc: {
  671. keyword: 'css;#iWordMid',
  672. target: 'css;.mod_big_search',
  673. where: 'afterEnd'
  674. }
  675. },
  676.  
  677. {
  678. name: "bing视频",
  679. url: /^https?:\/\/.*\.bing\.com\/video/,
  680. enabled: true,
  681. engineList: "video",
  682. style: '\
  683. left: 5px;\
  684. border-collapse:separate;\
  685. ',
  686. insertIntoDoc: {
  687. keyword: 'css;#sb_form_q',
  688. target: 'css;#rfPane',
  689. where: 'afterBegin'
  690. },
  691. stylish: '#vm_res { position: relative; top: 54px; }',
  692. },
  693. {
  694. name: "iqiyi",
  695. url: /^https?:\/\/so\.iqiyi\.com\/so\/q/,
  696. enabled: true,
  697. engineList: "video",
  698. style: '\
  699. margin:0 auto;\
  700. ',
  701. insertIntoDoc: {
  702. keyword: 'css;#data-widget-searchword',
  703. target: 'css;.mod_search_header',
  704. where: 'afterEnd'
  705. },
  706. },
  707. {
  708. name: "Letv",
  709. url: /^https?:\/\/so\.letv\.com\/s\?/,
  710. enabled: true,
  711. engineList: "video",
  712. style: "\
  713. margin:0 auto;\
  714. border-top: 1px solid #FFFFFF;\
  715. border-bottom: 1px solid #FFFFFF;\
  716. ",
  717. insertIntoDoc: {
  718. keyword: function () {
  719. var input = document.getElementsByClassName("i-t")[1].value;
  720. if (input) return input;
  721. },
  722. target: 'css;.So-search',
  723. where: 'afterEnd',
  724. },
  725. },
  726. {
  727. name: "搜狐",
  728. url: /^https?:\/\/so\.tv\.sohu\.com\/mts\?/,
  729. enabled: true,
  730. engineList: "video",
  731. style: "\
  732. margin:0 auto;\
  733. border-top: 1px solid #FFFFFF;\
  734. border-bottom: 1px solid #FFFFFF;\
  735. ",
  736. insertIntoDoc: {
  737. keyword: 'css;#gNewSearch2',
  738. target: 'css;.ss-head',
  739. where: 'beforeEnd',
  740. },
  741. },
  742. {
  743. name: "56视频",
  744. url: /^https?:\/\/so\.56\.com\/video\//,
  745. enabled: true,
  746. engineList: "video",
  747. style: "\
  748. position:relative;\
  749. top:-20px;\
  750. margin:0 auto;\
  751. ",
  752. insertIntoDoc: {
  753. keyword: 'css;.search_keyword',
  754. target: 'css;.header_wrap',
  755. where: 'beforeEnd'
  756. }
  757. },
  758. {
  759. name: "ku6",
  760. url: /^https?:\/\/so\.ku6\.com\/search/,
  761. engineList: "video",
  762. enabled: true,
  763. style: "\
  764. word-break:keep-all;\
  765. white-space:nowrap;\
  766. position:relative;\
  767. left:-70px;\
  768. ",
  769. insertIntoDoc: {
  770. keyword: 'css;#bdvSearvhInput',
  771. target: 'css;.ckl_header',
  772. where: 'beforeEnd'
  773. }
  774. },
  775. {
  776. name: "超星学术视频",
  777. url: /^http?:\/\/ssvideo\.chaoxing\.com\/searchlist.asp/i,
  778. engineList: "video",
  779. enabled: true,
  780. style: "",
  781. insertIntoDoc: {
  782. keyword: 'css;#sw',
  783. target: 'css;.resultInfo',
  784. where: 'beforeBegin',
  785. },
  786. },
  787. {
  788. name: "网易公开课",
  789. url: /^http?:\/\/.*?open\.163\.com\/search\//i,
  790. engineList: "video",
  791. enabled: true,
  792. style: "",
  793. insertIntoDoc: {
  794. keyword: (function () { return decodeURI(location.href.match(/ot0\/(.*?)\//)[1]); }),
  795. target: 'css;.searchArea',
  796. where: 'beforeBegin',
  797. },
  798. },
  799.  
  800. // 音乐
  801. {
  802. name: "天天动听",
  803. url: /^https?:\/\/www\.dongting\.com\/#/,
  804. enabled: true,
  805. engineList: "music",
  806. style: "\
  807. margin-left:23%;\
  808. background-color:#E2E2E2;\
  809. position: fixed;\
  810. right:0;\
  811. ",
  812. insertIntoDoc: {
  813. keyword: 'css;.searchBox',
  814. target: 'css;.head',
  815. where: 'beforeEnd'
  816. }
  817. },
  818. {
  819. name: "百度音乐",
  820. url: /^https?:\/\/music\.baidu\.com\/search/,
  821. enabled: true,
  822. engineList: "music",
  823. style: "\
  824. border-top:1px solid #CDEAF6;\
  825. padding-left: 80px;\
  826. ",
  827. insertIntoDoc: {
  828. keyword: 'css;#ww',
  829. target: 'css;.nav',
  830. where: 'beforeBegin'
  831. }
  832. },
  833. {
  834. name: "qq音乐",
  835. url: /^https?:\/\/cgi\.music\.soso\.com/,
  836. enabled: true,
  837. engineList: "music",
  838. style: "\
  839. margin:2px auto;\
  840. ",
  841. insertIntoDoc: {
  842. keyword: 'css;#search_input',
  843. target: 'css;#search_result',
  844. where: 'beforeBegin'
  845. }
  846. },
  847. {
  848. name: "搜狗音乐",
  849. url: /^https?:\/\/mp3\.sogou\.com\/music\.so/,
  850. enabled: true,
  851. engineList: "music",
  852. style: "\
  853. text-align:left;\
  854. margin-left:30px;\
  855. ",
  856. insertIntoDoc: {
  857. keyword: 'css;#queryinput',
  858. target: 'css;#header_sogou',
  859. where: 'afterEnd'
  860. }
  861. },
  862. {
  863. name: "音悦台",
  864. url: /^https?:\/\/so\.yinyuetai\.com\/mv\?/,
  865. enabled: true,
  866. engineList: "music",
  867. style: "\
  868. margin:0 auto;\
  869. ",
  870. insertIntoDoc: {
  871. keyword: '//input[@name="keyword"]',
  872. target: 'css;.search_title',
  873. where: 'beforeBegin'
  874. },
  875. },
  876. {
  877. name: "一听音乐",
  878. url: /^https?:\/\/so\.1ting\.com\//,
  879. enabled: true,
  880. engineList: "music",
  881. style: "\
  882. margin:0 auto;\
  883. width: 960px;\
  884. ",
  885. insertIntoDoc: {
  886. keyword: 'css;#keyword',
  887. target: 'css;.nav',
  888. where: 'beforeBegin'
  889. }
  890. },
  891. {
  892. name: "songtaste",
  893. url: /^https?:\/\/www\.songtaste\.com\/search/,
  894. enabled: true,
  895. engineList: "music",
  896. style: "\
  897. margin:0 auto;\
  898. word-break:keep-all;\
  899. white-space:nowrap;\
  900. background-color:#E6E6E6;\
  901. ",
  902. insertIntoDoc: {
  903. keyword: 'css;#sb',
  904. target: 'css;head',
  905. where: 'beforeBegin'
  906. }
  907. },
  908. {
  909. name: "xiami",
  910. url: /^https?:\/\/www\.xiami\.com\/search/,
  911. enabled: true,
  912. engineList: "music",
  913. style: "\
  914. word-break:keep-all;\
  915. margin-right: 205px;\
  916. ",
  917. insertIntoDoc: {
  918. keyword: 'css;#search_text',
  919. target: 'css;.more_cols_left_inner',
  920. where: 'beforeBegin'
  921. }
  922. },
  923. {
  924. name: '网易云音乐',
  925. url: /^https?:\/\/music\.163\.com\/.*?#\/search/i,
  926. enabled: true,
  927. engineList: 'music',
  928. style: "\
  929. padding-left:280px;\
  930. margin-bottom:4px;\
  931. ",
  932. insertIntoDoc: {
  933. keyword: (function () { return decodeURI(location.href.match(/s=(.*?$)/)[1]) }),
  934. target: 'css;body',
  935. where: 'beforeBegin',
  936. },
  937. },
  938. {
  939. name: "酷我",
  940. url: /^https?:\/\/sou\.kuwo\.cn\/ws\/NSearch/i,
  941. enabled: true,
  942. style: "padding-left:20px;",
  943. engineList: "music",
  944. insertIntoDoc: {
  945. keyword: 'css;#chKey',
  946. target: 'css;.tabs',
  947. where: 'beforeBegin',
  948. },
  949. },
  950. {
  951. name: "QQ音乐",
  952. url: /^https?:\/\/y.qq.com\/#type=soso/i,
  953. enabled: true,
  954. style: "padding-left:320px",
  955. engineList: "music",
  956. insertIntoDoc: {
  957. keyword: 'css;#keyword',
  958. target: 'css;#divmain',
  959. where: 'beforeBegin',
  960. },
  961. },
  962.  
  963. // 图片
  964. {
  965. name: "谷歌图片",
  966. url: /^https?:\/\/\w{2,10}\.google(?:\.\D{1,3}){1,2}\/search\?(.*tbs=sbi)|(.*tbm=isch)/,
  967. enabled: true,
  968. engineList: "image",
  969. style: '\
  970. border-top:1px solid #ccc;\
  971. border-bottom:1px solid #ccc;\
  972. text-align: center;\
  973. ',
  974. insertIntoDoc: {
  975. keyword: 'css;input[name=q]',
  976. target: 'css;#top_nav',
  977. where: 'beforeBegin'
  978. },
  979. left: false
  980. },
  981. {
  982. name: "百度图片",
  983. url: /^https?:\/\/image\.baidu\.c(om|n)\/i/,
  984. enabled: true,
  985. engineList: "image",
  986. style: '\
  987. margin-left:40px;\
  988. ',
  989. insertIntoDoc: {
  990. keyword: 'css;input#kw',
  991. target: 'css;#search',
  992. where: 'afterEnd'
  993. }
  994. },
  995. {
  996. name: "360图片",
  997. url: /^https?:\/\/\image\.so\.com\/i\?/,
  998. enabled: true,
  999. engineList: "image",
  1000. style: '\
  1001. word-break:keep-all;\
  1002. white-space:nowrap;\
  1003. position:relative;\
  1004. z-index:50;\
  1005. text-align:left;\
  1006. ',
  1007. insertIntoDoc: {
  1008. keyword: 'css;input#search_kw',
  1009. target: 'css;#searchBox',
  1010. where: 'afterBegin'
  1011. },
  1012. etc: function () {
  1013. document.getElementById("searchBox").style.height = '80px';
  1014. }
  1015. },
  1016. {
  1017. name: "bing图片",
  1018. url: /^https?:\/\/.*\.bing\.com\/images\/search/,
  1019. enabled: true,
  1020. engineList: "image",
  1021. style: '\
  1022. top:-5px;\
  1023. margin-left:5px;\
  1024. border-collapse:separate;\
  1025. ',
  1026. insertIntoDoc: {
  1027. keyword: 'css;#sb_form_q',
  1028. target: 'css;#rfPane',
  1029. where: 'beforeEnd'
  1030. },
  1031. etc: function () {
  1032. document.getElementById("rf_hold").style.height = '120px';
  1033. }
  1034. },
  1035. {
  1036. name: "搜狗图片",
  1037. url: /^https?:\/\/pic\.sogou\.com\/pic/,
  1038. engineList: "image",
  1039. enabled: true,
  1040. style: "\
  1041. top:-9px;\
  1042. border-top:1px solid #BFBDEA;\
  1043. border-bottom:1px solid #BFBDEA;\
  1044. ",
  1045. insertIntoDoc: {
  1046. keyword: 'css;#form_querytext',
  1047. target: 'css;.fix_area',
  1048. where: 'beforeEnd'
  1049. },
  1050. etc: function () {
  1051. document.getElementsByClassName("hd_fix")[0].style.height = '130px';
  1052. document.getElementsByClassName("hd_fix")[0].nextElementSibling.style.height = '130px';
  1053. }
  1054. },
  1055. {
  1056. name: "有道图片",
  1057. url: /^https?:\/\/image\.youdao\.com\/search/,
  1058. engineList: "image",
  1059. enabled: true,
  1060. style: "\
  1061. border-top:1px solid #EBF1FF;\
  1062. border-bottom:1px solid #EBF1FF;\
  1063. ",
  1064. insertIntoDoc: {
  1065. keyword: 'css;#query',
  1066. target: 'css;#w',
  1067. where: 'beforeBegin'
  1068. }
  1069. },
  1070. {
  1071. name: "花瓣",
  1072. url: /^https?:\/\/huaban\.com\/search\/\?/,
  1073. engineList: "image",
  1074. enabled: true,
  1075. style: "\
  1076. border-top:1px solid #EBF1FF;\
  1077. ",
  1078. insertIntoDoc: {
  1079. keyword: 'css;#query',
  1080. target: 'css;#search_switch',
  1081. where: 'afterEnd'
  1082. }
  1083. },
  1084. {
  1085. name: "flickr",
  1086. url: /^https?:\/\/www\.flickr\.com\/search/,
  1087. engineList: "image",
  1088. enabled: true,
  1089. style: "\
  1090. position:fixed;\
  1091. top:80px;\
  1092. z-index:1999;\
  1093. background-color:#FFFFFF;\
  1094. width:100%;\
  1095. border-top:1px solid #EBF1FF;\
  1096. border-bottom:1px solid #EBF1FF;\
  1097. ",
  1098. insertIntoDoc: {
  1099. keyword: function () {
  1100. var input = document.getElementById("autosuggest-input");
  1101. if (input) {
  1102. return input.value;
  1103. } else {
  1104. var m = location.search.match(/q=([^&]+)/i);
  1105. if (m) {
  1106. return decodeURIComponent(m[1]);
  1107. }
  1108. }
  1109. },
  1110. target: 'css;body',
  1111. where: 'beforeBegin'
  1112. },
  1113. endFix: function () {
  1114. var container = document.getElementById('sej-container');
  1115. if (container) {
  1116. var height = (container.clientHeight + 3);
  1117. document.getElementsByTagName("section")[0].style.setProperty("top", height + "px", "important");
  1118. }
  1119. }
  1120. },
  1121. {
  1122. name: "picsearch",
  1123. url: /^http:\/\/(..|...)\.picsearch\.com\/index\.cgi/,
  1124. engineList: "image",
  1125. enabled: true,
  1126. style: "\
  1127. margin-top:80px;\
  1128. ",
  1129. insertIntoDoc: {
  1130. keyword: 'css;input[name=q]',
  1131. target: 'css;#header',
  1132. where: 'beforeEnd'
  1133. }
  1134. },
  1135. {
  1136. name: "pixiv",
  1137. url: /^http:\/\/www\.pixiv\.net\/search\.php/,
  1138. engineList: "image",
  1139. enabled: true,
  1140. style: "\
  1141. margin: 0 auto;\
  1142. width: 970px;\
  1143. font-family: 微软雅黑;\
  1144. ",
  1145. insertIntoDoc: {
  1146. keyword: 'css;input[name=word]',
  1147. target: 'css;body',
  1148. where: 'beforeBegin'
  1149. }
  1150. },
  1151. {
  1152. name: "deviantart",
  1153. url: /^http:\/\/www\.deviantart\.com\/\?q/,
  1154. engineList: "image",
  1155. enabled: true,
  1156. style: "\
  1157. margin-bottom:10px;\
  1158. ",
  1159. insertIntoDoc: {
  1160. keyword: 'css;#searchInput',
  1161. target: 'css;.browse-top-bar',
  1162. where: 'afterEnd'
  1163. }
  1164. },
  1165. {
  1166. name: "jpg4",
  1167. url: /^http:\/\/img\.jpger\.info\//,
  1168. engineList: "image",
  1169. enabled: true,
  1170. style: "\
  1171. margin-top:300px;\
  1172. ",
  1173. insertIntoDoc: {
  1174. keyword: 'css;input[name=feed]',
  1175. target: '//div[@align="center"]',
  1176. where: 'beforeEnd'
  1177. }
  1178. },
  1179. {
  1180. name: "easyicon",
  1181. url: /^https?:\/\/www\.easyicon\.net\/iconsearch/i,
  1182. enabled: true,
  1183. engineList: "image",
  1184. style: 'box-sizing: content-box!important;',
  1185. insertIntoDoc: {
  1186. keyword: 'css;input#q',
  1187. target: 'css;#result_right_layout',
  1188. where: 'afterBegin',
  1189. },
  1190. },
  1191. {
  1192. name: "findicons",
  1193. url: /^https?:\/\/findicons\.com\/search/i,
  1194. enabled: true,
  1195. engineList: "image",
  1196. style: 'padding-left:20px;',
  1197. insertIntoDoc: {
  1198. keyword: 'css;input#keyword',
  1199. target: 'css;.logo_search.adaptive',
  1200. where: 'afterEnd',
  1201. },
  1202. },
  1203. // 下载
  1204. {
  1205. name: "人人影视",
  1206. url: /^https?:\/\/www\.yyets\.com\/search\//,
  1207. engineList: "下载",
  1208. enabled: true,
  1209. style: '\
  1210. width: 980px;\
  1211. margin: 0 auto;\
  1212. ',
  1213. insertIntoDoc: {
  1214. keyword: 'css;#keyword',
  1215. target: 'css;.topBox',
  1216. where: 'afterEnd',
  1217. },
  1218. },
  1219. {
  1220. name: "极影",
  1221. url: /^https?:\/\/bt\.ktxp\.com\/search\.php\?/,
  1222. engineList: "下载",
  1223. enabled: true,
  1224. style: "\
  1225. border-bottom: 1px solid #CAD9EA;\
  1226. border-top: 1px solid #CAD9EA;\
  1227. background-color: white;\
  1228. text-align: center;\
  1229. ",
  1230. insertIntoDoc: {
  1231. keyword: 'css;#top-search-wd',
  1232. target: 'css;head',
  1233. where: 'beforeBegin',
  1234. },
  1235. },
  1236. {
  1237. name: "我爱p2p",
  1238. url: /^http:\/\/(?:oabt|www\.byhh)\.org\/\?topic_title=/,
  1239. engineList: "下载",
  1240. enabled: true,
  1241. style: "\
  1242. margin: 0 auto;\
  1243. padding-left: 16px;\
  1244. border-top: 1px solid #E5E5E5;\
  1245. border-bottom: 1px solid #E5E5E5;\
  1246. ",
  1247. insertIntoDoc: {
  1248. keyword: 'css;#username',
  1249. target: 'css;#seamain',
  1250. where: 'beforeEnd',
  1251. },
  1252. },
  1253. {
  1254. name: "dmhy",
  1255. url: /^https?:\/\/share\.dmhy\.org\/topics\/list/,
  1256. engineList: "download",
  1257. enabled: true,
  1258. style: "\
  1259. margin:0 auto;\
  1260. ",
  1261. insertIntoDoc: {
  1262. keyword: 'css;#keyword',
  1263. target: 'css;.quick_search',
  1264. where: 'afterEnd'
  1265. }
  1266. },
  1267. {
  1268. name: "kickass",
  1269. url: /^https?:\/\/kickass\.to\/usearch\//,
  1270. engineList: "download",
  1271. enabled: true,
  1272. style: "\
  1273. margin:0 auto;\
  1274. ",
  1275. insertIntoDoc: {
  1276. keyword: 'css;#search_box',
  1277. target: 'css;.headmainpart',
  1278. where: 'afterEnd'
  1279. }
  1280. },
  1281. {
  1282. name: "nyaa",
  1283. url: /^https?:\/\/www\.nyaa\.se\/\?page/,
  1284. engineList: "download",
  1285. enabled: true,
  1286. style: "\
  1287. margin:0 auto;\
  1288. top:44px;\
  1289. ",
  1290. insertIntoDoc: {
  1291. keyword: 'css;.inputsearchterm',
  1292. target: 'css;#topbar',
  1293. where: 'afterEnd'
  1294. }
  1295. },
  1296. {
  1297. name: "ed2000",
  1298. url: /^https?:\/\/www\.ed2000\.com\/FileList\.asp/,
  1299. engineList: "download",
  1300. enabled: true,
  1301. style: "\
  1302. border: 1px solid #E5E5E5;\
  1303. ",
  1304. insertIntoDoc: {
  1305. keyword: 'css;input[name=SearchWord]',
  1306. target: 'css;.topsearch',
  1307. where: 'afterEnd'
  1308. },
  1309. },
  1310. {
  1311. name: "旋风分享",
  1312. url: /^https?:\/\/search\.t\.qq\.com\/index\.php\?(.*QQ%E6%97)/,
  1313. engineList: "download",
  1314. enabled: true,
  1315. style: "\
  1316. margin:0 auto;\
  1317. border-top:1px solid #D4E9F7;\
  1318. border-bottom:1px solid #D4E9F7;\
  1319. ",
  1320. insertIntoDoc: {
  1321. keyword: function () {
  1322. return getElement('css;#k2').value.substring(9)
  1323. },
  1324. target: 'css;.soso',
  1325. where: 'beforeEnd'
  1326. }
  1327. },
  1328. {
  1329. name: "btspread",
  1330. url: /^https?:\/\/www\.btspread\.com\/search\//,
  1331. enabled: true,
  1332. engineList: "download",
  1333. style: '\
  1334. word-break:keep-all;\
  1335. white-space:nowrap;\
  1336. ',
  1337. insertIntoDoc: {
  1338. keyword: 'css;input#search-keyword',
  1339. target: 'css;.form-search',
  1340. where: 'afterEnd'
  1341. }
  1342. },
  1343. {
  1344. name: "torrentkitty",
  1345. url: /^https?:\/\/(www\.)?torrentkitty\.(com|org)\/search\//,
  1346. enabled: true,
  1347. engineList: "download",
  1348. style: '\
  1349. border-top:1px solid #FFFFFF;\
  1350. border-bottom:1px solid #FFFFFF;\
  1351. margin-top:50px;\
  1352. text-align: center;\
  1353. ',
  1354. insertIntoDoc: {
  1355. keyword: function () {
  1356. return document.getElementsByTagName("h2")[0].innerHTML.slice(19, -1);
  1357. },
  1358. target: 'css;.wrapper',
  1359. where: 'afterEnd'
  1360. }
  1361. },
  1362. {
  1363. name: "BTDigg",
  1364. url: /^https?:\/\/btdigg\.org\/search\?/,
  1365. enabled: true,
  1366. engineList: "download",
  1367. style: '\
  1368. margin:0 auto;\
  1369. border-top:1px solid #D4E9F7;\
  1370. border-bottom:1px solid #D4E9F7;\
  1371. ',
  1372. insertIntoDoc: {
  1373. keyword: 'css;input#searchq',
  1374. target: 'css;.pager',
  1375. where: 'beforeBegin'
  1376. }
  1377. },
  1378.  
  1379. // 购物
  1380. {
  1381. name: "一淘",
  1382. url: /^https?:\/\/s8?\.etao\.com\/search/,
  1383. enabled: true,
  1384. engineList: "shopping",
  1385. style: "\
  1386. border-top:1px solid #D4E9F7;\
  1387. border-bottom:1px solid #D4E9F7;\
  1388. text-align: center;\
  1389. word-break:keep-all;\
  1390. white-space:nowrap;\
  1391. ",
  1392. insertIntoDoc: {
  1393. keyword: 'css;#J_searchIpt',
  1394. target: 'css;#etao-header-bd',
  1395. where: 'beforeBegin'
  1396. }
  1397. },
  1398. {
  1399. name: "京东",
  1400. url: /^https?:\/\/search\.jd\.com\/Search\?/,
  1401. enabled: true,
  1402. engineList: "shopping",
  1403. style: "\
  1404. margin:0 auto;\
  1405. border-bottom:1px solid #E5E5E5;\
  1406. border-top:1px solid #E5E5E5;\
  1407. margin-bottom:3px;\
  1408. ",
  1409. insertIntoDoc: {
  1410. keyword: 'css;#key',
  1411. target: 'css;#nav-2013',
  1412. where: 'beforeBegin'
  1413. }
  1414. },
  1415. {
  1416. name: "淘宝搜索",
  1417. url: /^https?:\/\/s\.taobao\.com\/search/,
  1418. enabled: true,
  1419. engineList: "购物",
  1420. style: "\
  1421. border-bottom: 1px solid #E5E5E5;\
  1422. border-top: 1px solid #E5E5E5;\
  1423. text-align: center;\
  1424. ",
  1425. insertIntoDoc: {
  1426. keyword: function () {
  1427. var input = document.querySelector('#q');
  1428. if (input) {
  1429. return input.value;
  1430. } else {
  1431. var m = location.search.match(/q=([^&]+)/);
  1432. if (m) {
  1433. return decodeURIComponent(m[1]);
  1434. }
  1435. }
  1436. },
  1437. target: 'css;body',
  1438. where: 'beforeBegin',
  1439. },
  1440. },
  1441. {
  1442. name: "易迅",
  1443. url: /^https?:\/\/searchex\.yixun\.com\/html\?/,
  1444. enabled: true,
  1445. engineList: "shopping",
  1446. style: "\
  1447. text-align: center;\
  1448. background-color:#FFFFFF;\
  1449. ",
  1450. insertIntoDoc: {
  1451. keyword: 'css;#q_show',
  1452. target: 'css;.ic_header',
  1453. where: 'beforeEnd'
  1454. }
  1455. },
  1456. {
  1457. name: "苏宁",
  1458. url: /^https?:\/\/(search)\.suning\.com\//,
  1459. enabled: true,
  1460. engineList: "shopping",
  1461. style: "\
  1462. border-top:1px solid #E5E5E5;\
  1463. margin:0 auto;\
  1464. ",
  1465. insertIntoDoc: {
  1466. keyword: 'css;#searchKeywords',
  1467. target: 'css;.g-header',
  1468. where: 'afterEnd'
  1469. }
  1470. },
  1471. {
  1472. name: "天猫",
  1473. url: /^https?:\/\/list\.tmall\.com\/\/?search/,
  1474. enabled: true,
  1475. engineList: "shopping",
  1476. style: "\
  1477. margin:0 auto;\
  1478. border-bottom:1px solid #E5E5E5;\
  1479. border-top:1px solid #E5E5E5;\
  1480. text-align: center;\
  1481. ",
  1482. insertIntoDoc: {
  1483. keyword: 'css;#mq',
  1484. target: 'css;#mallNav',
  1485. where: 'beforeBegin'
  1486. }
  1487. },
  1488. {
  1489. name: "亚马逊",
  1490. url: /^https?:\/\/www\.amazon\.cn\/s\/ref/,
  1491. enabled: true,
  1492. engineList: "shopping",
  1493. style: "\
  1494. border-top:1px solid #E5E5E5;\
  1495. ",
  1496. insertIntoDoc: {
  1497. keyword: 'css;#twotabsearchtextbox',
  1498. target: 'css;#navbar',
  1499. where: 'beforeEnd'
  1500. }
  1501. },
  1502. {
  1503. name: "当当",
  1504. url: /^https?:\/\/search\.dangdang\.com\/\?key/,
  1505. enabled: true,
  1506. engineList: "shopping",
  1507. style: "\
  1508. margin:0 auto;\
  1509. border-bottom:1px solid #E5E5E5;\
  1510. border-top:1px solid #E5E5E5;\
  1511. margin-bottom:3px;\
  1512. ",
  1513. insertIntoDoc: {
  1514. keyword: 'css;#key_S',
  1515. target: 'css;#bd',
  1516. where: 'beforeBegin'
  1517. }
  1518. },
  1519. {
  1520. name: "当当",
  1521. url: /^https?:\/\/search.yhd.com/,
  1522. enabled: true,
  1523. engineList: "shopping",
  1524. style: "\
  1525. padding-left:190px;\
  1526. ",
  1527. insertIntoDoc: {
  1528. keyword: 'css;#keyword',
  1529. target: 'css;#site_header',
  1530. where: 'beforeBegin'
  1531. }
  1532. },
  1533. {
  1534. name: "拍拍",
  1535. url: /^https?:\/\/s\.paipai\.com\/[a-z]/,
  1536. enabled: true,
  1537. engineList: "shopping",
  1538. style: "\
  1539. text-align:left;\
  1540. ",
  1541. insertIntoDoc: {
  1542. keyword: 'css;#KeyWord',
  1543. target: 'css;.mod_s',
  1544. where: 'beforeEnd'
  1545. }
  1546. },
  1547. {
  1548. name: "QQ网购",
  1549. url: /^https?:\/\/se?\.wanggou\.com\/[a-z]/,
  1550. enabled: true,
  1551. engineList: "shopping",
  1552. style: "\
  1553. margin:0 auto;\
  1554. background-color:#C8C8C8;\
  1555. border-bottom:1px solid #E5E5E5;\
  1556. border-top:1px solid #E5E5E5;\
  1557. margin-bottom:3px;\
  1558. ",
  1559. insertIntoDoc: {
  1560. keyword: 'css;#KeyWord',
  1561. target: 'css;.wg_header',
  1562. where: 'afterEnd'
  1563. }
  1564. },
  1565. {
  1566. name: "360购物",
  1567. url: /^https?:\/\/s\.mall\.360\.cn\/search/,
  1568. enabled: true,
  1569. engineList: "shopping",
  1570. style: "\
  1571. margin:0 auto;\
  1572. word-break:keep-all;\
  1573. white-space:nowrap;\
  1574. border-bottom:1px solid #E5E5E5;\
  1575. border-top:1px solid #E5E5E5;\
  1576. ",
  1577. insertIntoDoc: {
  1578. keyword: 'css;#mall_keyword',
  1579. target: 'css;.header',
  1580. where: 'afterEnd'
  1581. }
  1582. },
  1583.  
  1584. // 词典
  1585. {
  1586. name: "有道词典",
  1587. url: /^https?:\/\/dict\.youdao\.com\/search/,
  1588. enabled: true,
  1589. engineList: "translate",
  1590. style: "\
  1591. text-align: center;\
  1592. position:absolut;\
  1593. border-bottom:1px solid #D4E9F7;\
  1594. border-top:1px solid #D4E9F7;\
  1595. margin-top:-28px;\
  1596. ",
  1597. insertIntoDoc: {
  1598. keyword: 'css;#query',
  1599. target: 'css;#scontainer',
  1600. where: 'afterBegin'
  1601. }
  1602. },
  1603. {
  1604. name: "词源词根词典",
  1605. url: /^http:\/\/www\.etymonline\.com\/index\.php\?term=/,
  1606. enabled: true,
  1607. engineList: "translate",
  1608. style: "\
  1609. text-align: center;\
  1610. position:absolut;\
  1611. border-bottom:1px solid #D4E9F7;\
  1612. border-top:1px solid #D4E9F7;\
  1613. ",
  1614. insertIntoDoc: {
  1615. keyword: 'css;.initial_focus',
  1616. target: 'css;#navigation',
  1617. where: 'afterEnd'
  1618. }
  1619. },
  1620. {
  1621. name: "爱词霸",
  1622. url: /^https?:\/\/www\.iciba\.com/,
  1623. enabled: true,
  1624. engineList: "translate",
  1625. style: "\
  1626. margin-top:85px;\
  1627. ",
  1628. insertIntoDoc: {
  1629. keyword: 'css;#s',
  1630. target: 'css;.header',
  1631. where: 'beforeEnd'
  1632. }
  1633. },
  1634. {
  1635. name: "海词",
  1636. url: /^https?:\/\/dict\.cn\/./,
  1637. enabled: true,
  1638. engineList: "translate",
  1639. style: "\
  1640. position:relative;\
  1641. left:-150px;\
  1642. top:-410px;\
  1643. width:90px;\
  1644. border:1px solid #D4E9F7;\
  1645. ",
  1646. insertIntoDoc: {
  1647. keyword: 'css;#q',
  1648. target: 'css;.floatsidenav',
  1649. where: 'beforeEnd'
  1650. }
  1651. },
  1652. {
  1653. name: "沪江英语",
  1654. url: /^https?:\/\/dict\.hjenglish\.com\/(en|w)/,
  1655. enabled: true,
  1656. engineList: "translate",
  1657. style: "\
  1658. margin:0 auto;\
  1659. border-bottom:1px solid #D4E9F7;\
  1660. border-top:1px solid #D4E9F7;\
  1661. ",
  1662. insertIntoDoc: {
  1663. keyword: 'css;#w',
  1664. target: 'css;#xd_search',
  1665. where: 'beforeEnd'
  1666. },
  1667. etc: function () {
  1668. document.getElementById("xd_search").style.height = "130px";
  1669. document.getElementById("wrapper").style.top = "20px";
  1670. }
  1671. },
  1672. {
  1673. name: "沪江日语",
  1674. url: /^https?:\/\/dict\.hjenglish\.com\/(404\/)?jp/,
  1675. enabled: true,
  1676. engineList: "translate",
  1677. style: "\
  1678. margin:0 auto;\
  1679. border-bottom:1px solid #D4E9F7;\
  1680. border-top:1px solid #D4E9F7;\
  1681. ",
  1682. insertIntoDoc: {
  1683. keyword: 'css;#w',
  1684. target: 'css;#xd_search',
  1685. where: 'beforeEnd'
  1686. },
  1687. etc: function () {
  1688. document.getElementById("xd_search").style.height = "120px";
  1689. document.getElementById("wrapper").style.top = "10px";
  1690. }
  1691. },
  1692. {
  1693. name: "汉典",
  1694. url: /^https?:\/\/www\.zdic\.net\/sousuo/,
  1695. enabled: true,
  1696. engineList: "translate",
  1697. style: "\
  1698. word-break:keep-all;\
  1699. white-space:nowrap;\
  1700. margin:0 auto;\
  1701. border-bottom:1px solid #D4E9F7;\
  1702. border-top:1px solid #D4E9F7;\
  1703. ",
  1704. insertIntoDoc: {
  1705. keyword: 'css;#q',
  1706. target: 'css;.secpan',
  1707. where: 'afterEnd'
  1708. }
  1709. },
  1710.  
  1711. // 翻译
  1712. {
  1713. name: "google翻译",
  1714. url: /^https?:\/\/translate\.google\./,
  1715. enabled: true,
  1716. engineList: "translate",
  1717. style: "\
  1718. text-align: center;\
  1719. border-bottom:1px solid #D4E9F7;\
  1720. border-top:1px solid #D4E9F7;\
  1721. ",
  1722. insertIntoDoc: {
  1723. keyword: 'css;#source',
  1724. target: 'css;#gt-c',
  1725. where: 'beforeBegin'
  1726. }
  1727. },
  1728. {
  1729. name: "百度翻译",
  1730. url: /^https?:\/\/fanyi\.baidu\.com/,
  1731. enabled: true,
  1732. engineList: "translate",
  1733. style: "\
  1734. text-align:center;\
  1735. margin-bottom:10px;\
  1736. margin-top:0px;\
  1737. border-bottom:1px solid #D4E9F7;\
  1738. border-top:1px solid #D4E9F7;\
  1739. ",
  1740. insertIntoDoc: {
  1741. keyword: 'css;#baidu_translate_input',
  1742. target: 'css;.header',
  1743. where: 'beforeBegin'
  1744. }
  1745. },
  1746. {
  1747. name: "有道翻译",
  1748. url: /^https?:\/\/fanyi\.youdao\.com/,
  1749. enabled: true,
  1750. engineList: "translate",
  1751. style: "\
  1752. text-align: center;\
  1753. ",
  1754. insertIntoDoc: {
  1755. keyword: 'css;#inputText',
  1756. target: '//body/*[1]',
  1757. where: 'beforeBegin'
  1758. }
  1759. },
  1760. {
  1761. name: "bing词典",
  1762. url: /^https?:\/\/(cn|www)\.bing\.com\/dict\/search\?/,
  1763. enabled: true,
  1764. engineList: "translate",
  1765. style: "\
  1766. margin-top:80px;\
  1767. border-top:1px solid #D4E9F7;\
  1768. border-bottom:1px solid #D4E9F7;\
  1769. word-break:keep-all;\
  1770. white-space:nowrap;\
  1771. ",
  1772. insertIntoDoc: {
  1773. keyword: 'css;#sb_form_q',
  1774. target: 'css;#sb_form',
  1775. where: 'afterEnd'
  1776. }
  1777. },
  1778. {
  1779. name: "bing翻译",
  1780. url: /^https?:\/\/www\.bing\.com\/translator/,
  1781. enabled: true,
  1782. engineList: "translate",
  1783. style: "\
  1784. margin:5px auto;\
  1785. word-break:keep-all;\
  1786. white-space:nowrap;\
  1787. ",
  1788. insertIntoDoc: {
  1789. keyword: 'css;#InputText',
  1790. target: 'css;#Wrapper',
  1791. where: 'afterBegin'
  1792. // target: 'css;body',
  1793. // where: 'beforeBegin'
  1794. }
  1795. },
  1796. {
  1797. name: "爱词霸翻译",
  1798. url: /^https?:\/\/fy\.iciba\.com/,
  1799. enabled: true,
  1800. engineList: "translate",
  1801. style: "\
  1802. position:fixed;\
  1803. width:90px;\
  1804. top:100px;\
  1805. left:40px;\
  1806. border:1px solid #D4E9F7;\
  1807. ",
  1808. insertIntoDoc: {
  1809. keyword: 'css;#inputC',
  1810. target: 'css;body',
  1811. where: 'beforeBegin'
  1812. }
  1813. },
  1814. {
  1815. name: "QQweibo",
  1816. url: /^https?:\/\/search\.t\.qq\.com\/index|user\.php\?(?!.*QQ%E6%97)/,
  1817. engineList: "sociality",
  1818. enabled: true,
  1819. style: "\
  1820. margin:0 auto;\
  1821. border-top:1px solid #D4E9F7;\
  1822. border-bottom:1px solid #D4E9F7;\
  1823. ",
  1824. insertIntoDoc: {
  1825. keyword: 'css;#k2',
  1826. target: 'css;.soso',
  1827. where: 'beforeEnd'
  1828. }
  1829. },
  1830. {
  1831. name: "weibo",
  1832. url: /^https?:\/\/s\.weibo\.com\/weibo|user\//,
  1833. engineList: "sociality",
  1834. enabled: true,
  1835. style: "\
  1836. word-break:keep-all;\
  1837. white-space:nowrap;\
  1838. ",
  1839. insertIntoDoc: {
  1840. keyword: 'css;.searchInp_form',
  1841. target: 'css;#pl_common_searchTop',
  1842. where: 'afterEnd'
  1843. }
  1844. },
  1845. {
  1846. name: "射手字幕",
  1847. url: /^https?:\/\/shooter\.cn\/search/,
  1848. engineList: "web",
  1849. enabled: true,
  1850. style: "\
  1851. margin:0 auto;\
  1852. word-break:keep-all;\
  1853. white-space:nowrap;\
  1854. ",
  1855. insertIntoDoc: {
  1856. keyword: 'css;#key',
  1857. target: 'css;#site_header',
  1858. where: 'afterEnd'
  1859. }
  1860. },
  1861. //学术
  1862. {
  1863. name: "cnki",
  1864. url: /^http:\/\/search\.cnki\.net\/search\.aspx/i,
  1865. enabled: true,
  1866. engineList: "academic",
  1867. style: "",
  1868. insertIntoDoc: {
  1869. keyword: 'css;#txtSearchKey',
  1870. target: 'css;.main',
  1871. where: 'afterBegin',
  1872. },
  1873. },
  1874. {
  1875. name: "cnki",
  1876. url: /^http:\/\/.*?\.cnki\.net\/kns\/brief\/default_result\.aspx/i,
  1877. enabled: true,
  1878. engineList: "academic",
  1879. style: "",
  1880. insertIntoDoc: {
  1881. keyword: 'css;#txt_1_value1',
  1882. target: 'css;#TopSearchBar',
  1883. where: 'afterEnd',
  1884. },
  1885. },
  1886. {
  1887. name: "读秀中文",
  1888. url: /^https?:\/\/qw\.duxiu\.com\/getPage/i,
  1889. enabled: true,
  1890. engineList: "academic",
  1891. style: "padding-left:50px;",
  1892. insertIntoDoc: {
  1893. keyword: 'css;#topsw',
  1894. target: 'css;#searchinfo',
  1895. where: 'beforeBegin',
  1896. },
  1897. },
  1898. {
  1899. name: "百度学术",
  1900. url: /^https?:\/\/xueshu\.baidu\.com\/s\?/i,
  1901. enabled: true,
  1902. engineList: "academic",
  1903. style: "padding-left:22px;",
  1904. insertIntoDoc: {
  1905. keyword: 'css;#kw',
  1906. target: 'css;#content_left',
  1907. where: 'beforeBegin',
  1908. },
  1909. },
  1910. {
  1911. name: "百链外文",
  1912. url: /^https?:\/\/fjour\.blyun\.com\/searchFJour/i,
  1913. enabled: true,
  1914. engineList: "academic",
  1915. style: "",
  1916. insertIntoDoc: {
  1917. keyword: 'css;#topsw',
  1918. target: 'css;#searchinfo',
  1919. where: 'beforeBegin',
  1920. },
  1921. },
  1922. {
  1923. name: "万方数据",
  1924. url: /^https?:\/\/s\.wanfangdata\.com\.cn\/paper/i,
  1925. enabled: true,
  1926. engineList: "academic",
  1927. style: "",
  1928. insertIntoDoc: {
  1929. keyword: 'css;.search-input',
  1930. target: 'css;.top-content',
  1931. where: 'afterend',
  1932. },
  1933. },
  1934. {
  1935. name: "ebscohost",
  1936. url: /^http:\/\/.*?ebscohost\.com\/.*?results/i,
  1937. enabled: true,
  1938. engineList: "academic",
  1939. style: "",
  1940. insertIntoDoc: {
  1941. keyword: 'css;#SearchTerm1',
  1942. target: 'css;#findFieldOuter',
  1943. where: 'afterend',
  1944. },
  1945. },
  1946. {
  1947. name: "springer",
  1948. url: /^http:\/\/rd\.springer\.com\/search\?query=/i,
  1949. enabled: true,
  1950. engineList: "academic",
  1951. style: "padding-left:20px",
  1952. insertIntoDoc: {
  1953. keyword: 'css;#query',
  1954. target: 'css;#content',
  1955. where: 'beforeBegin',
  1956. },
  1957.  
  1958. },
  1959. {
  1960. name: "calis外文",
  1961. url: /^http:\/\/ccc\.calis\.edu\.cn\/result\.php/i,
  1962. enabled: true,
  1963. engineList: "academic",
  1964. style: "padding-left:20px",
  1965. insertIntoDoc: {
  1966. keyword: (function () { return decodeURI(location.href.match(/at=(.*?)&/)[1]) }),//'//font[@color="red"]',
  1967. target: 'css;body > table:nth-child(6) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > table:nth-child(6) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > table:nth-child(2)',
  1968. where: 'afterEnd',
  1969. },
  1970.  
  1971. },
  1972. {
  1973. name: "谷歌学术",
  1974. url: /^https?:\/\/xues\.glgoo/i,
  1975. engineList: "academic",
  1976. enabled: true,
  1977. style: "",
  1978. insertIntoDoc: {
  1979. keyword: 'css;input[name=q]',
  1980. target: 'css;#gs_ccl',
  1981. where: 'afterBegin',
  1982. },
  1983. },
  1984. {
  1985. name: "JSTOR",
  1986. url: /^https?:.*?jstor.org\/action\/doAdvancedSearch/i,
  1987. engineList: "academic",
  1988. enabled: true,
  1989. style: "",
  1990. insertIntoDoc: {
  1991. keyword: 'css;#searchBox',
  1992. target: 'css;.tabs-search-results',
  1993. where: 'beforeBegin',
  1994. },
  1995. },
  1996. {
  1997. name: "PubMed",
  1998. url: /^https?:\/\/www.ncbi.nlm.nih.gov\/pubmed\/\?term/i,
  1999. engineList: "academic",
  2000. enabled: true,
  2001. style: "",
  2002. insertIntoDoc: {
  2003. keyword: 'css;#term',
  2004. target: 'css;.search',
  2005. where: 'afterEnd',
  2006. },
  2007. },
  2008. {
  2009. name: "sciencedirect",
  2010. url: /^http:\/\/www\.sciencedirect\.com\/science\?/i,
  2011. enabled: true,
  2012. engineList: "academic",
  2013. style: "",
  2014. insertIntoDoc: {
  2015. keyword: "css;#qs_all",
  2016. target: 'css;#header',
  2017. where: 'beforeEnd',
  2018. },
  2019. },
  2020. {
  2021. name: "wiley",
  2022. url: /^http:\/\/onlinelibrary.wiley.com.*?results\?/i,
  2023. enabled: true,
  2024. engineList: "academic",
  2025. style: "font-size:10px!important;",
  2026. insertIntoDoc: {
  2027. keyword: (function () { return decodeURI(location.href.match(/query=(.*?)&/)[1]) }),
  2028. target: 'css;.topLeftRoundCorner',
  2029. where: 'afterBegin',
  2030. },
  2031. },
  2032. ////////////////////////////////////////图书搜索
  2033. {
  2034. name: "超星图书",
  2035. url: /^https?:\/\/202\.116\.65\.59:8080\/markbook\/BookSearch\.jsp/i,
  2036. enabled: true,
  2037. engineList: "book",
  2038. style: "",
  2039. insertIntoDoc: {
  2040. keyword: 'css;html body div.wrap div#getpingdao.main.clearfix div.right.rightside div#getbooks div.column.recommend.week.search_list div.columnBd input#KeyWord',
  2041. target: 'css;#getbooks',
  2042. where: 'beforeBegin',
  2043. },
  2044. },
  2045. {
  2046. name: "谷歌图书",
  2047. url: /^https?:\/\/static\.glgoo\.com\/search/i,
  2048. enabled: true,
  2049. engineList: "book",
  2050. style: "padding-left: 135px;",
  2051. insertIntoDoc: {
  2052. keyword: 'css;#lst-ib',
  2053. target: 'css;#top_nav',
  2054. where: 'afterEnd',
  2055. },
  2056. },
  2057. {
  2058. name: "豆瓣读书",
  2059. url: /^http:\/\/book\.douban.com\/subject_search\?search_text/i,
  2060. enabled: true,
  2061. engineList: "book",
  2062. style: "",
  2063. insertIntoDoc: {
  2064. keyword: 'css;#inp-query',
  2065. target: 'css;.nav-primary',
  2066. where: 'beforeEnd',
  2067. },
  2068. },
  2069. {
  2070. name: "豆瓣读书",
  2071. url: /^http:\/\/book\.douban\.com\/subject/i,
  2072. enabled: true,
  2073. engineList: "book",
  2074. style: "padding-left:0px!important",
  2075. insertIntoDoc: {
  2076. keyword: (function () { return document.getElementsByTagName("h1")[0].getElementsByTagName("span")[0].textContent }),
  2077. target: 'css;.nav-secondary',
  2078. where: 'beforeEnd',
  2079. },
  2080. },
  2081. {
  2082. name: "中大图书馆",
  2083. url: /^http:\/\/202\.116\.64\.108:8991\/F\/\?func=find-b&find_code=WRD&request=/i,
  2084. enabled: true,
  2085. engineList: "book",
  2086. style: "padding-left:5px;",
  2087. insertIntoDoc: {
  2088. keyword: 'css;#cclterm',
  2089. target: 'css;#brief',
  2090. where: 'beforeBegin',
  2091. },
  2092. },
  2093. {
  2094. name: "华南理工",
  2095. url: /^http:\/\/202\.38\.232\.10\/opac\/servlet\/opac\.go\?CLANLINK=&CODE=&FIELD1=TITLE&MARCTYPE=&MODE=FRONT&ORGLIB=SCUT&PAGE=&RDID=ANONYMOUS&SCODE=&TABLE=&VAL1=/i,
  2096. enabled: true,
  2097. engineList: "book",
  2098. style: "",
  2099. insertIntoDoc: {
  2100. keyword: 'css;.inp > span:nth-child(1) > input:nth-child(1)',
  2101. target: 'css;.content',
  2102. where: 'beforeBegin',
  2103. },
  2104. },
  2105. {
  2106. name: "广外图书",
  2107. url: /^http:\/\/opac\.gdufs\.edu\.cn:8991\/F\//i,
  2108. enabled: true,
  2109. engineList: "book",
  2110. style: "margin-top:20px;padding-left:200px;",
  2111. insertIntoDoc: {
  2112. keyword: 'css;#cclterm',
  2113. target: 'css;#operate',
  2114. where: 'beforeBegin',
  2115. },
  2116. },
  2117. {
  2118. name: "华师图书",
  2119. url: /^http:\/\/202\.116\.41\.246\:8080\/opac\/openlink\.php/i,
  2120. enabled: true,
  2121. engineList: "book",
  2122. style: "",
  2123. insertIntoDoc: {
  2124. keyword: (function () { return decodeURI(location.href.match(/title=(.*?)($|&)/)[1]) }),
  2125. target: 'css;div.book_article:nth-child(3)',
  2126. where: 'beforeBegin',
  2127. },
  2128. },
  2129. {
  2130. name: "超星读书",
  2131. url: /^http:\/\/book\.chaoxing\.com\/search\//i,
  2132. enabled: true,
  2133. engineList: "book",
  2134. style: "padding-left:320px;",
  2135. insertIntoDoc: {
  2136. keyword: 'css;#searchForm .Tens',
  2137. target: 'css;.book_nav',
  2138. where: 'beforeBegin',
  2139. },
  2140. },
  2141. {
  2142. name: "超星发现",
  2143. url: /^http:\/\/ss\.zhizhen\.com\/s\?/i,
  2144. enabled: true,
  2145. engineList: "book",
  2146. style: "padding-left:300px;",
  2147. insertIntoDoc: {
  2148. keyword: (function () { return document.querySelector(".left > span:nth-child(1)").textContent.replace(/[ | ]*\n/g, '').replace(/\n[\s| | ]*\r/g, '').replace(/amp;/g, "").replace(/\r/g, "").replace(/\t/g, "").replace(/ /g, ""); }),
  2149. target: 'css;.searchmain',
  2150. where: 'beforeBegin',
  2151. },
  2152. },
  2153. //////软件
  2154. {
  2155. name: "下载吧",
  2156. url: /^http:\/\/so\.xiazaiba\.com\/route\.php/i,
  2157. enabled: true,
  2158. engineList: "software",
  2159. style: "padding-left:300px;",
  2160. insertIntoDoc: {
  2161. keyword: 'css;#search_key',
  2162. target: 'css;.mian-menu',
  2163. where: 'beforeBegin',
  2164. },
  2165. },
  2166. {
  2167. name: '快乐无极',
  2168. url: /^https?:\/\/www\.oyksoft\.com\/search/i,
  2169. enabled: true,
  2170. engineList: 'software',
  2171. insertIntoDoc: {
  2172. keyword: 'css;#keyword',
  2173. target: 'css;#pos',
  2174. where: 'afterEnd',
  2175. },
  2176. }, {
  2177. name: '绿软家园',
  2178. url: /^https?:\/\/www\.downg\.com\/search\.asp\?action\=s&sType\=ResName&catalog\=&keyword\=/i,
  2179. enabled: true,
  2180. engineList: 'software',
  2181. insertIntoDoc: {
  2182. keyword: (function () {
  2183. return document.getElementsByClassName('right')[0].getElementsByTagName('font')[0].lastChild.nodeValue;;
  2184. }),
  2185. target: 'css;.nav-breadcrumb',
  2186. where: 'afterEnd',
  2187. },
  2188. }, {
  2189. name: '创e下载园',
  2190. url: /^https?:\/\/www\.7edown\.com\/query\.asp\?q\=/i,
  2191. enabled: true,
  2192. engineList: 'software',
  2193. insertIntoDoc: {
  2194. keyword: 'css;#q',
  2195. target: 'css;.navigation',
  2196. where: 'afterEnd',
  2197. },
  2198. }, {
  2199. name: 'pc6下载站',
  2200. url: /^https?:\/\/so\.pc6\.com\/\?keyword\=/i,
  2201. enabled: true,
  2202. engineList: 'software',
  2203. insertIntoDoc: {
  2204. keyword: 'css;#searchbox',
  2205. target: 'css;#container',
  2206. where: 'beforeBegin',
  2207. },
  2208. }, {
  2209. name: '西西软件园',
  2210. url: /^https?:\/\/so\.cr173\.com\/\?keyword\=/i,
  2211. enabled: true,
  2212. engineList: 'software',
  2213. insertIntoDoc: {
  2214. keyword: 'css;#keyword',
  2215. target: 'css;#wensearch',
  2216. where: 'beforeBegin',
  2217. },
  2218. }, {
  2219. name: '绿茶软件园',
  2220. url: /^https?:\/\/www\.33lc\.com\/index\.php\?m\=search/i,
  2221. enabled: true,
  2222. engineList: 'software',
  2223. insertIntoDoc: {
  2224. keyword: (function () {
  2225. return document.getElementsByTagName('font')[0].lastChild.nodeValue;
  2226. }),
  2227. target: 'css;.s-green.cnss',
  2228. where: 'afterEnd',
  2229. },
  2230. }
  2231. , {
  2232. name: 'AMO搜索结果页',
  2233. url: /^https?:\/\/addons\.mozilla\.org\/.*\/firefox\/search\/\?q\=/i,
  2234. enabled: true,
  2235. engineList: 'software',
  2236. insertIntoDoc: {
  2237. keyword: 'css;#search-q',
  2238. target: 'css;#sorter',
  2239. where: 'afterEnd',
  2240. }
  2241. }
  2242. , {
  2243. name: 'userscripts镜像',
  2244. url: /^https?:\/\/www\.webextender\.net\/scripts\/search\?q\=/i,
  2245. enabled: true,
  2246. engineList: 'software',
  2247. insertIntoDoc: {
  2248. keyword: 'css;.input',
  2249. target: 'css;#section',
  2250. where: 'afterEnd',
  2251. },
  2252. }, {
  2253. name: 'greasyfork',
  2254. url: /^https?:\/\/greasyfork\.org\/.*\/scripts\/search/i,
  2255. enabled: true,
  2256. engineList: 'software',
  2257. insertIntoDoc: {
  2258. keyword: '//*[@type="search"]',
  2259. target: 'css;#main-header',
  2260. where: 'afterEnd',
  2261. },
  2262. }, {
  2263. name: '果壳',
  2264. url: /^https?:\/\/www\.guokr\.com\/search/i,
  2265. enabled: true,
  2266. engineList: 'knowledge',
  2267. style: "padding-left:310px;",
  2268. insertIntoDoc: {
  2269. keyword: 'css;#searchTxt',
  2270. target: 'css;.form-wp',
  2271. where: 'afterEnd',
  2272. },
  2273. }
  2274.  
  2275. ];
  2276.  
  2277. rules.default = {
  2278. name: "通用规则",
  2279. url: /.*/,
  2280. enabled: true,
  2281. style: "\
  2282. margin: 0 auto;\
  2283. max-width: 970px;\
  2284. ",
  2285. insertIntoDoc: {
  2286. keyword: 'css;input[name="q"], input[name=word]',
  2287. target: 'css;body',
  2288. where: 'beforeBegin'
  2289. }
  2290. };
  2291.  
  2292. if (typeof exports !== 'undefined') {
  2293. exports.rules = rules;
  2294. }
  2295.  
  2296. function loadPrefs() {
  2297. prefs.openInNewTab = GM_getValue('openInNewTab', prefs.openInNewTab);
  2298. prefs.debug = GM_getValue('debug', prefs.debug);
  2299. prefs.hidePrefsBtn = GM_getValue('hidePrefsBtn', prefs.hidePrefsBtn);
  2300. prefs.hideEnglineLabel = GM_getValue('hideEnglineLabel', prefs.hideEnglineLabel);
  2301. prefs.engineListDataType = GM_getValue('engineListDataType', prefs.engineListDataType);
  2302. // prefs.position = GM_getValue('position', prefs.position);
  2303. // prefs.siteInfo = JSON.parse(GM_getValue('siteInfo') || '{}');
  2304.  
  2305. engineListData.custom = GM_getValue('engineList') || '';
  2306.  
  2307. reloadDebug();
  2308. }
  2309.  
  2310. function openPrefs() {
  2311. var d = document;
  2312. var on = function (node, e, f) {
  2313. node.addEventListener(e, f, false);
  2314. };
  2315.  
  2316. var $ = function (s) { return d.getElementById('sej-prefs-' + s); };
  2317. if ($('setup')) return;
  2318.  
  2319. var styleNode = GM_addStyle('\
  2320. #sej-prefs-setup { position:fixed;z-index:2147483647;top:38px;right:60px;padding:20px 30px 10px;background:#eee;width:500px;border:1px solid black; }\
  2321. #sej-prefs-setup * { color:black;text-align:left;line-height:normal;font-size:12px; }\
  2322. #sej-prefs-setup i { "Microsoft YaHei UI","微软雅黑",Arial; }\
  2323. #sej-prefs-setup a { color:black;text-decoration:underline; }\
  2324. #sej-prefs-setup div { text-align:center;font-size:14px; }\
  2325. #sej-prefs-title { font-weight:bold; }\
  2326. #sej-prefs-setup ul { margin:15px 0 0 0;padding:0;list-style:none;background:#eee;border:0; }\
  2327. #sej-prefs-setup input, #sej-prefs-setup select { border:1px solid gray;padding:2px;background:white; height: auto; }\
  2328. #sej-prefs-setup li { margin:0;padding:6px 0;vertical-align:middle;background:#eee;border:0 }\
  2329. #sej-prefs-setup textarea { width:98%; height:60px; margin:3px 0; font-family: "Microsoft YaHei UI","微软雅黑",Arial; }\
  2330. #sej-prefs-setup button { padding: 1px 6px; font-size: 12px; margin-right: 3px; }\
  2331. #sej-prefs-setup #top-buttons{background:none repeat scroll 0 0 #fff;display:block;position:absolute;top:-35px;border-right:12px solid #e0e0e0;border-top:12px solid #e0e0e0;border-left:12px solid #e0e0e0;text-align:center}\
  2332. #sej-prefs-setup img { display: initial; }\
  2333. #sej-prefs-minitip { position: absolute; background: #ff9; border: 1px solid #F96; padding: 10px; left: -400px; top: 200px; right: 570px; }\
  2334. #sej-prefs-minitip p { margin: 5px 5px; }\
  2335. #sej-prefs-minitip span { color: green; }\
  2336. #sej-prefs-debug { margin-left: 18px; }\
  2337. ');
  2338.  
  2339. var div = d.createElement('div');
  2340. div.id = 'sej-prefs-setup';
  2341. d.body.appendChild(div);
  2342. div.innerHTML = '\
  2343. <div id="top-buttons">\
  2344. <button id="sej-prefs-ok" title="立即生效">√ 确定</button>\
  2345. <button id="sej-prefs-cancel" title="取消本次设定,所有选项还原">X 取消</button>\
  2346. </div>\
  2347. <div id="sej-prefs-title">SearchEngineJump Academic 设置</div>\
  2348. <ul>\
  2349. <li>\
  2350. <input type="checkbox" id="sej-prefs-openInNewTab" /> 在新页面打开\
  2351. <input type="checkbox" id="sej-prefs-debug" /> 调试模式\
  2352. <span title="点击最前面的类别(如网页)打开设置">\
  2353. <input type="checkbox" id="sej-prefs-hidePrefsBtn" /> 隐藏设置按钮(点击类别打开)\
  2354. </span>\
  2355. </li>\
  2356. <li style="display: none;">\
  2357. 插入的位置:\
  2358. <select id="sej-prefs-position" >\
  2359. <option value="default">默认</option>\
  2360. <option value="left">如果允许,优先左侧</option>\
  2361. </select>\
  2362. </li>\
  2363. <li>\
  2364. 前几个搜索的文字部分:\
  2365. <select id="sej-prefs-hideEnglineLabel" >\
  2366. <option value="0">不隐藏</option>\
  2367. <option value="1">根据高度自行判断</option>\
  2368. <option value="2">隐藏</option>\
  2369. </select>\
  2370. </li>\
  2371. <li>\
  2372. 搜索列表版本:\
  2373. <select id="sej-prefs-engineListDataType" >\
  2374. <option value="academicFork">学术版</option>\
  2375. <option value="custom">用户版本</option>\
  2376. <option value="ted423">ted423版本</option>\
  2377. </select>\
  2378. <a style="margin-left: 20px;" target="_blank" href="https://greasyfork.org/zh-CN/scripts/5316/feedback" title="通过反馈给作者加入你的版本">加入你的版本?</a>\
  2379. </li>\
  2380. <li>自定义搜索列表:\
  2381. <img id="sej-prefs-engineList-tip" class="minitipicon" src="data:image/gif;base64,R0lGODlhDAAMAKIAALGXVv////7+/dPGn+zm1bqjadHDm/r49CH5BAAAAAAALAAAAAAMAAwAQAM1GCFkVYYIRYC9uFm1gzXC0HHAIBQYaRXBIQLkcCguZslBBXu7RaApHgCSsoFevdtk0XhElgkAOw==" />\
  2382. <div>\
  2383. <textarea id="sej-prefs-engineList" style="height: 350px;"></textarea>\
  2384. </div>\
  2385. </li>\
  2386. </ul>\
  2387. <div id="sej-prefs-minitip" style="display: none;">' +
  2388. introduceToHtml() + '\
  2389. </div>\
  2390. ';
  2391. div = null;
  2392.  
  2393. var engineListType_sel = $('engineListDataType'),
  2394. engineList_txt = $('engineList');
  2395.  
  2396. var close = function () {
  2397. if (styleNode) {
  2398. styleNode.parentNode.removeChild(styleNode);
  2399. }
  2400. var div = $('setup');
  2401. div.parentNode.removeChild(div);
  2402. };
  2403.  
  2404. on($('ok'), 'click', function () {
  2405. GM_setValue('openInNewTab', prefs.openInNewTab = !!$('openInNewTab').checked);
  2406. GM_setValue('debug', prefs.debug = !!$('debug').checked);
  2407. GM_setValue('hidePrefsBtn', prefs.hidePrefsBtn = !!$('hidePrefsBtn').checked);
  2408. GM_setValue('hideEnglineLabel', prefs.hideEnglineLabel = $('hideEnglineLabel').value);
  2409. GM_setValue('engineListDataType', prefs.engineListDataType = engineListType_sel.value);
  2410. // GM_setValue('position', prefs.position = $('position').value);
  2411.  
  2412. if (engineListType_sel.value == 'custom') {
  2413. GM_setValue('engineList', engineListData.custom = engineList_txt.value);
  2414. }
  2415.  
  2416. // 刷新工具条
  2417. remove();
  2418. run();
  2419. reloadDebug();
  2420.  
  2421. close();
  2422. });
  2423.  
  2424. on($('cancel'), 'click', close);
  2425.  
  2426. $('engineList-tip').onclick = function () {
  2427. var minitip = $('minitip');
  2428. minitip.style.display = (minitip.style.display == 'block') ? 'none' : 'block';
  2429. };
  2430.  
  2431. engineListType_sel.onchange = function () {
  2432. engineList_txt.value = engineListData[engineListType_sel.value].trim();
  2433. };
  2434.  
  2435. $('openInNewTab').checked = prefs.openInNewTab;
  2436. $('debug').checked = prefs.debug;
  2437. $('hidePrefsBtn').checked = prefs.hidePrefsBtn;
  2438. $('hideEnglineLabel').value = prefs.hideEnglineLabel;
  2439. // $('position').value = prefs.position;
  2440. engineListType_sel.value = prefs.engineListDataType;
  2441.  
  2442. engineList_txt.value = engineListData[prefs.engineListDataType].trim();
  2443. };
  2444.  
  2445.  
  2446. // --------------------可设置项结束------------------------
  2447.  
  2448. var debug;
  2449.  
  2450. function reloadDebug() {
  2451. debug = prefs.debug ? console.debug.bind(console) : function () { };
  2452. }
  2453.  
  2454. if (typeof String.prototype.startsWith != 'function') {
  2455. String.prototype.startsWith = function (str) {
  2456. return this.slice(0, str.length) == str;
  2457. };
  2458. }
  2459.  
  2460. // var iconUrl = 'http://www.google.com/s2/favicons?domain=www.google.com';
  2461. // imageUrlToBase64(iconUrl);
  2462. function imageUrlToBase64(iconUrl, callback) {
  2463. GM_xmlhttpRequest({
  2464. method: "GET",
  2465. url: iconUrl,
  2466. overrideMimeType: "text/plain; charset=x-user-defined",
  2467. onload: function (xhr) {
  2468. var r = xhr.responseText;
  2469. var data = new Uint8Array(r.length);
  2470. var i = 0;
  2471. while (i < r.length) {
  2472. data[i] = r.charCodeAt(i);
  2473. i++;
  2474. }
  2475.  
  2476. var blob = new Blob([data], { type: "image/png" });
  2477.  
  2478. var reader = new FileReader();
  2479. reader.readAsDataURL(blob);
  2480. reader.onloadend = function () {
  2481. var base64data = reader.result;
  2482. callback(base64data);
  2483. }
  2484. }
  2485. });
  2486. }
  2487.  
  2488.  
  2489. // 获取 method 为 POST 的表单的 HTML
  2490. function getPostFormHTML(url, args, newTab) {
  2491. var form = '<form method="post"' +
  2492. ' action="' + url + '"' +
  2493. (newTab ? ' target="_blank"' : '') +
  2494. '>';
  2495. for (var arg in args) {
  2496. var input = '<input type="hidden"' +
  2497. ' name="' + arg + '"' +
  2498. ' value="' + args[arg] + '"' +
  2499. ' />';
  2500. form += input;
  2501. }
  2502. form += '</form>';
  2503. return form;
  2504. }
  2505.  
  2506. // 包装 HTML 元素代码以隐藏该元素
  2507. function wrapToHide(html) {
  2508. return '<span style="display:none;">' + html + '</span>';
  2509. }
  2510.  
  2511. function toRE(obj) {
  2512. if (obj instanceof RegExp) {
  2513. return obj;
  2514. } else if (obj instanceof Array) {
  2515. return new RegExp(obj[0], obj[1]);
  2516. } else {
  2517. return new RegExp(obj);
  2518. }
  2519. }
  2520.  
  2521. function getMStr(func) {
  2522. var lines = func.toString();
  2523. lines = lines.substring(lines.indexOf("/*") + 3, lines.lastIndexOf("*/"));
  2524. return lines;
  2525. }
  2526.  
  2527. //xpath 获取单个元素
  2528. function getElementByXPath(xPath, contextNode, doc) {
  2529. doc = doc || document;
  2530. contextNode = contextNode || doc;
  2531. return doc.evaluate(xPath, contextNode, null, 9, null).singleNodeValue;
  2532. };
  2533.  
  2534.  
  2535. // 事件支持检测.
  2536. // 比如 eventSupported('fullscreenchange', document);
  2537. function eventSupported(eventName, elem) {
  2538. elem = elem || document.createElement('div');
  2539. var prefix = ['o', 'ms', 'moz', 'webkit', ''];
  2540.  
  2541. var l = prefix.length;
  2542. var pEventName;
  2543. var isFunction;
  2544. var setAttr;
  2545.  
  2546. while (l--) {
  2547. pEventName = 'on' + prefix[l] + eventName;
  2548.  
  2549. if (pEventName in elem) {
  2550. return pEventName.slice(2);
  2551. } else if (typeof elem.setAttribute == 'function') { // setAttribute 是元素节点的方法
  2552. setAttr = false;
  2553. if (!elem.hasAttribute(pEventName)) {
  2554. setAttr = true;
  2555. elem.setAttribute(pEventName, 'return;');
  2556. };
  2557.  
  2558. isFunction = typeof elem[pEventName] == 'function';
  2559.  
  2560. if (setAttr) elem.removeAttribute(pEventName);
  2561.  
  2562. if (isFunction) {
  2563. return pEventName.slice(2);
  2564. };
  2565. };
  2566. };
  2567.  
  2568. return false;
  2569. };
  2570.  
  2571. // 保存指定对象相关数据
  2572. var data = (function () {
  2573. 'use strict';
  2574.  
  2575. var cache = {
  2576. objs: [],
  2577. data: {},
  2578. };
  2579.  
  2580.  
  2581. function data(obj, key, value) {
  2582. var id = cache.objs.indexOf(obj);
  2583. if (id == -1) {
  2584. id = cache.objs.push(obj) - 1;
  2585. };
  2586. if (!cache.data[id]) {//初始化
  2587. cache.data[id] = {};
  2588. };
  2589. if (typeof value == 'undefined') {// 取值
  2590. return typeof key == 'undefined' ? cache.data[id] : cache.data[id][key];
  2591. } else {
  2592. return cache.data[id][key] = value;
  2593. };
  2594. };
  2595.  
  2596. return data;
  2597. })();
  2598.  
  2599. // 为mouseleave mouseenter事件做个兼容
  2600. // 需要 eventSupported, data函数支持
  2601. var mouseEventListener = (function () {
  2602.  
  2603. var support = {
  2604. mouseleave: eventSupported('mouseleave'),
  2605. mouseenter: eventSupported('mouseenter'),
  2606. };
  2607.  
  2608. var map = {
  2609. mouseleave: 'mouseout',
  2610. mouseenter: 'mouseover',
  2611. };
  2612.  
  2613. return {
  2614. add: function (type, ele, callback) { //事件类型,元素,监听函数
  2615. if (support[type]) {
  2616. ele.addEventListener(type, callback, false); //mouseleave,enter不冒泡,所以在冒泡阶段监听事件,不要担心子孙元素进出发生的事件冒泡上来。
  2617. } else {
  2618. var listener = data(callback, 'mouseELListener');
  2619. if (!listener) {
  2620. listener = function (e) {
  2621. var relatedTarget = e.relatedTarget; //mouseout,去往的元素;mouseover,来自的元素
  2622. // 当mouseout(离开ele)去往的元素不是自己的子孙元素
  2623. // 当mouseover(进入ele)来自的元素不是自己的子孙元素
  2624. if (!ele.contains(relatedTarget)) { // contains函数,自己.contains(自己) 返回true
  2625. callback.call(ele, e);
  2626. };
  2627. };
  2628. data(callback, 'mouseELListener', listener);
  2629. };
  2630.  
  2631. ele.addEventListener(map[type], listener, true);
  2632. };
  2633. },
  2634. remove: function (type, ele, callback) {
  2635. if (support[type]) {
  2636. ele.removeEventListener(type, callback, false);
  2637. } else {
  2638. ele.removeEventListener(map[type], data(callback, 'mouseELListener'), true);
  2639. };
  2640. },
  2641. };
  2642. })();
  2643.  
  2644. //获取已滚动的距离
  2645. function getScrolled(container) {
  2646. if (container) {
  2647. return {
  2648. x: container.scrollLeft,
  2649. y: container.scrollTop,
  2650. };
  2651. };
  2652. return {
  2653. x: 'scrollX' in window ? window.scrollX : ('pageXOffset' in window ? window.pageXOffset : document.documentElement.scrollLeft || document.body.scrollLeft),
  2654. y: 'scrollY' in window ? window.scrollY : ('pageYOffset' in window ? window.pageYOffset : document.documentElement.scrollTop || document.body.scrollTop),
  2655. };
  2656. };
  2657.  
  2658. function getElement(selector) {
  2659. if (selector.indexOf('css;') == 0) {
  2660. return document.querySelector(selector.slice(4));
  2661. } else {
  2662. return getElementByXPath(selector);
  2663. };
  2664. };
  2665.  
  2666. function toASCII(str) { //说是ASCII,但其实是dA专用的
  2667. var length = str.length;
  2668. var ret = [];
  2669. var character;
  2670. var charCode;
  2671. var gCode;
  2672. var neReg = /[\dA-z]/;
  2673. for (var i = 0; i < length; i++) {
  2674. charCode = str.charCodeAt(i);
  2675. if (charCode <= 128) {
  2676. character = str.charAt(i);
  2677. if (neReg.test(character)) { /*ascii的数字字母不编码*/
  2678. ret.push(character);
  2679. } else {
  2680. ret.push('%' + charCode.toString(16));
  2681. };
  2682. } else {
  2683. gCode = charCode.toString();
  2684. if (gCode) {
  2685. while (gCode.length < 4) {
  2686. gCode = '0' + gCode;
  2687. };
  2688. ret.push('%26%23' + gCode + '%3B');
  2689. } else {
  2690. /*字库里面没有.*/
  2691. };
  2692. };
  2693. };
  2694. return ret.join('');
  2695. };
  2696.  
  2697. // unicode转成gbk编码函数
  2698. function toGBK(str) {
  2699. //编码对照 unicode(10进制) : gb2312(16进制)
  2700. var map = { 12288: "A1A1", 12289: "A1A2", 12290: "A1A3", 183: "A1A4", 713: "A1A5", 711: "A1A6", 168: "A1A7", 12291: "A1A8", 12293: "A1A9", 8212: "A1AA", 65374: "A1AB", 8214: "A1AC", 8230: "A1AD", 8216: "A1AE", 8217: "A1AF", 8220: "A1B0", 8221: "A1B1", 12308: "A1B2", 12309: "A1B3", 12296: "A1B4", 12297: "A1B5", 12298: "A1B6", 12299: "A1B7", 12300: "A1B8", 12301: "A1B9", 12302: "A1BA", 12303: "A1BB", 12310: "A1BC", 12311: "A1BD", 12304: "A1BE", 12305: "A1BF", 177: "A1C0", 215: "A1C1", 247: "A1C2", 8758: "A1C3", 8743: "A1C4", 8744: "A1C5", 8721: "A1C6", 8719: "A1C7", 8746: "A1C8", 8745: "A1C9", 8712: "A1CA", 8759: "A1CB", 8730: "A1CC", 8869: "A1CD", 8741: "A1CE", 8736: "A1CF", 8978: "A1D0", 8857: "A1D1", 8747: "A1D2", 8750: "A1D3", 8801: "A1D4", 8780: "A1D5", 8776: "A1D6", 8765: "A1D7", 8733: "A1D8", 8800: "A1D9", 8814: "A1DA", 8815: "A1DB", 8804: "A1DC", 8805: "A1DD", 8734: "A1DE", 8757: "A1DF", 8756: "A1E0", 9794: "A1E1", 9792: "A1E2", 176: "A1E3", 8242: "A1E4", 8243: "A1E5", 8451: "A1E6", 65284: "A1E7", 164: "A1E8", 65504: "A1E9", 65505: "A1EA", 8240: "A1EB", 167: "A1EC", 8470: "A1ED", 9734: "A1EE", 9733: "A1EF", 9675: "A1F0", 9679: "A1F1", 9678: "A1F2", 9671: "A1F3", 9670: "A1F4", 9633: "A1F5", 9632: "A1F6", 9651: "A1F7", 9650: "A1F8", 8251: "A1F9", 8594: "A1FA", 8592: "A1FB", 8593: "A1FC", 8595: "A1FD", 12307: "A1FE", 8560: "A2A1", 8561: "A2A2", 8562: "A2A3", 8563: "A2A4", 8564: "A2A5", 8565: "A2A6", 8566: "A2A7", 8567: "A2A8", 8568: "A2A9", 8569: "A2AA", 9352: "A2B1", 9353: "A2B2", 9354: "A2B3", 9355: "A2B4", 9356: "A2B5", 9357: "A2B6", 9358: "A2B7", 9359: "A2B8", 9360: "A2B9", 9361: "A2BA", 9362: "A2BB", 9363: "A2BC", 9364: "A2BD", 9365: "A2BE", 9366: "A2BF", 9367: "A2C0", 9368: "A2C1", 9369: "A2C2", 9370: "A2C3", 9371: "A2C4", 9332: "A2C5", 9333: "A2C6", 9334: "A2C7", 9335: "A2C8", 9336: "A2C9", 9337: "A2CA", 9338: "A2CB", 9339: "A2CC", 9340: "A2CD", 9341: "A2CE", 9342: "A2CF", 9343: "A2D0", 9344: "A2D1", 9345: "A2D2", 9346: "A2D3", 9347: "A2D4", 9348: "A2D5", 9349: "A2D6", 9350: "A2D7", 9351: "A2D8", 9312: "A2D9", 9313: "A2DA", 9314: "A2DB", 9315: "A2DC", 9316: "A2DD", 9317: "A2DE", 9318: "A2DF", 9319: "A2E0", 9320: "A2E1", 9321: "A2E2", 12832: "A2E5", 12833: "A2E6", 12834: "A2E7", 12835: "A2E8", 12836: "A2E9", 12837: "A2EA", 12838: "A2EB", 12839: "A2EC", 12840: "A2ED", 12841: "A2EE", 8544: "A2F1", 8545: "A2F2", 8546: "A2F3", 8547: "A2F4", 8548: "A2F5", 8549: "A2F6", 8550: "A2F7", 8551: "A2F8", 8552: "A2F9", 8553: "A2FA", 8554: "A2FB", 8555: "A2FC", 65281: "A3A1", 65282: "A3A2", 65283: "A3A3", 65509: "A3A4", 65285: "A3A5", 65286: "A3A6", 65287: "A3A7", 65288: "A3A8", 65289: "A3A9", 65290: "A3AA", 65291: "A3AB", 65292: "A3AC", 65293: "A3AD", 65294: "A3AE", 65295: "A3AF", 65296: "A3B0", 65297: "A3B1", 65298: "A3B2", 65299: "A3B3", 65300: "A3B4", 65301: "A3B5", 65302: "A3B6", 65303: "A3B7", 65304: "A3B8", 65305: "A3B9", 65306: "A3BA", 65307: "A3BB", 65308: "A3BC", 65309: "A3BD", 65310: "A3BE", 65311: "A3BF", 65312: "A3C0", 65313: "A3C1", 65314: "A3C2", 65315: "A3C3", 65316: "A3C4", 65317: "A3C5", 65318: "A3C6", 65319: "A3C7", 65320: "A3C8", 65321: "A3C9", 65322: "A3CA", 65323: "A3CB", 65324: "A3CC", 65325: "A3CD", 65326: "A3CE", 65327: "A3CF", 65328: "A3D0", 65329: "A3D1", 65330: "A3D2", 65331: "A3D3", 65332: "A3D4", 65333: "A3D5", 65334: "A3D6", 65335: "A3D7", 65336: "A3D8", 65337: "A3D9", 65338: "A3DA", 65339: "A3DB", 65340: "A3DC", 65341: "A3DD", 65342: "A3DE", 65343: "A3DF", 65344: "A3E0", 65345: "A3E1", 65346: "A3E2", 65347: "A3E3", 65348: "A3E4", 65349: "A3E5", 65350: "A3E6", 65351: "A3E7", 65352: "A3E8", 65353: "A3E9", 65354: "A3EA", 65355: "A3EB", 65356: "A3EC", 65357: "A3ED", 65358: "A3EE", 65359: "A3EF", 65360: "A3F0", 65361: "A3F1", 65362: "A3F2", 65363: "A3F3", 65364: "A3F4", 65365: "A3F5", 65366: "A3F6", 65367: "A3F7", 65368: "A3F8", 65369: "A3F9", 65370: "A3FA", 65371: "A3FB", 65372: "A3FC", 65373: "A3FD", 65507: "A3FE", 12353: "A4A1", 12354: "A4A2", 12355: "A4A3", 12356: "A4A4", 12357: "A4A5", 12358: "A4A6", 12359: "A4A7", 12360: "A4A8", 12361: "A4A9", 12362: "A4AA", 12363: "A4AB", 12364: "A4AC", 12365: "A4AD", 12366: "A4AE", 12367: "A4AF", 12368: "A4B0", 12369: "A4B1", 12370: "A4B2", 12371: "A4B3", 12372: "A4B4", 12373: "A4B5", 12374: "A4B6", 12375: "A4B7", 12376: "A4B8", 12377: "A4B9", 12378: "A4BA", 12379: "A4BB", 12380: "A4BC", 12381: "A4BD", 12382: "A4BE", 12383: "A4BF", 12384: "A4C0", 12385: "A4C1", 12386: "A4C2", 12387: "A4C3", 12388: "A4C4", 12389: "A4C5", 12390: "A4C6", 12391: "A4C7", 12392: "A4C8", 12393: "A4C9", 12394: "A4CA", 12395: "A4CB", 12396: "A4CC", 12397: "A4CD", 12398: "A4CE", 12399: "A4CF", 12400: "A4D0", 12401: "A4D1", 12402: "A4D2", 12403: "A4D3", 12404: "A4D4", 12405: "A4D5", 12406: "A4D6", 12407: "A4D7", 12408: "A4D8", 12409: "A4D9", 12410: "A4DA", 12411: "A4DB", 12412: "A4DC", 12413: "A4DD", 12414: "A4DE", 12415: "A4DF", 12416: "A4E0", 12417: "A4E1", 12418: "A4E2", 12419: "A4E3", 12420: "A4E4", 12421: "A4E5", 12422: "A4E6", 12423: "A4E7", 12424: "A4E8", 12425: "A4E9", 12426: "A4EA", 12427: "A4EB", 12428: "A4EC", 12429: "A4ED", 12430: "A4EE", 12431: "A4EF", 12432: "A4F0", 12433: "A4F1", 12434: "A4F2", 12435: "A4F3", 12449: "A5A1", 12450: "A5A2", 12451: "A5A3", 12452: "A5A4", 12453: "A5A5", 12454: "A5A6", 12455: "A5A7", 12456: "A5A8", 12457: "A5A9", 12458: "A5AA", 12459: "A5AB", 12460: "A5AC", 12461: "A5AD", 12462: "A5AE", 12463: "A5AF", 12464: "A5B0", 12465: "A5B1", 12466: "A5B2", 12467: "A5B3", 12468: "A5B4", 12469: "A5B5", 12470: "A5B6", 12471: "A5B7", 12472: "A5B8", 12473: "A5B9", 12474: "A5BA", 12475: "A5BB", 12476: "A5BC", 12477: "A5BD", 12478: "A5BE", 12479: "A5BF", 12480: "A5C0", 12481: "A5C1", 12482: "A5C2", 12483: "A5C3", 12484: "A5C4", 12485: "A5C5", 12486: "A5C6", 12487: "A5C7", 12488: "A5C8", 12489: "A5C9", 12490: "A5CA", 12491: "A5CB", 12492: "A5CC", 12493: "A5CD", 12494: "A5CE", 12495: "A5CF", 12496: "A5D0", 12497: "A5D1", 12498: "A5D2", 12499: "A5D3", 12500: "A5D4", 12501: "A5D5", 12502: "A5D6", 12503: "A5D7", 12504: "A5D8", 12505: "A5D9", 12506: "A5DA", 12507: "A5DB", 12508: "A5DC", 12509: "A5DD", 12510: "A5DE", 12511: "A5DF", 12512: "A5E0", 12513: "A5E1", 12514: "A5E2", 12515: "A5E3", 12516: "A5E4", 12517: "A5E5", 12518: "A5E6", 12519: "A5E7", 12520: "A5E8", 12521: "A5E9", 12522: "A5EA", 12523: "A5EB", 12524: "A5EC", 12525: "A5ED", 12526: "A5EE", 12527: "A5EF", 12528: "A5F0", 12529: "A5F1", 12530: "A5F2", 12531: "A5F3", 12532: "A5F4", 12533: "A5F5", 12534: "A5F6", 913: "A6A1", 914: "A6A2", 915: "A6A3", 916: "A6A4", 917: "A6A5", 918: "A6A6", 919: "A6A7", 920: "A6A8", 921: "A6A9", 922: "A6AA", 923: "A6AB", 924: "A6AC", 925: "A6AD", 926: "A6AE", 927: "A6AF", 928: "A6B0", 929: "A6B1", 931: "A6B2", 932: "A6B3", 933: "A6B4", 934: "A6B5", 935: "A6B6", 936: "A6B7", 937: "A6B8", 945: "A6C1", 946: "A6C2", 947: "A6C3", 948: "A6C4", 949: "A6C5", 950: "A6C6", 951: "A6C7", 952: "A6C8", 953: "A6C9", 954: "A6CA", 955: "A6CB", 956: "A6CC", 957: "A6CD", 958: "A6CE", 959: "A6CF", 960: "A6D0", 961: "A6D1", 963: "A6D2", 964: "A6D3", 965: "A6D4", 966: "A6D5", 967: "A6D6", 968: "A6D7", 969: "A6D8", 65077: "A6E0", 65078: "A6E1", 65081: "A6E2", 65082: "A6E3", 65087: "A6E4", 65088: "A6E5", 65085: "A6E6", 65086: "A6E7", 65089: "A6E8", 65090: "A6E9", 65091: "A6EA", 65092: "A6EB", 65083: "A6EE", 65084: "A6EF", 65079: "A6F0", 65080: "A6F1", 65073: "A6F2", 65075: "A6F4", 65076: "A6F5", 1040: "A7A1", 1041: "A7A2", 1042: "A7A3", 1043: "A7A4", 1044: "A7A5", 1045: "A7A6", 1025: "A7A7", 1046: "A7A8", 1047: "A7A9", 1048: "A7AA", 1049: "A7AB", 1050: "A7AC", 1051: "A7AD", 1052: "A7AE", 1053: "A7AF", 1054: "A7B0", 1055: "A7B1", 1056: "A7B2", 1057: "A7B3", 1058: "A7B4", 1059: "A7B5", 1060: "A7B6", 1061: "A7B7", 1062: "A7B8", 1063: "A7B9", 1064: "A7BA", 1065: "A7BB", 1066: "A7BC", 1067: "A7BD", 1068: "A7BE", 1069: "A7BF", 1070: "A7C0", 1071: "A7C1", 1072: "A7D1", 1073: "A7D2", 1074: "A7D3", 1075: "A7D4", 1076: "A7D5", 1077: "A7D6", 1105: "A7D7", 1078: "A7D8", 1079: "A7D9", 1080: "A7DA", 1081: "A7DB", 1082: "A7DC", 1083: "A7DD", 1084: "A7DE", 1085: "A7DF", 1086: "A7E0", 1087: "A7E1", 1088: "A7E2", 1089: "A7E3", 1090: "A7E4", 1091: "A7E5", 1092: "A7E6", 1093: "A7E7", 1094: "A7E8", 1095: "A7E9", 1096: "A7EA", 1097: "A7EB", 1098: "A7EC", 1099: "A7ED", 1100: "A7EE", 1101: "A7EF", 1102: "A7F0", 1103: "A7F1", 257: "A8A1", 225: "A8A2", 462: "A8A3", 224: "A8A4", 275: "A8A5", 233: "A8A6", 283: "A8A7", 232: "A8A8", 299: "A8A9", 237: "A8AA", 464: "A8AB", 236: "A8AC", 333: "A8AD", 243: "A8AE", 466: "A8AF", 242: "A8B0", 363: "A8B1", 250: "A8B2", 468: "A8B3", 249: "A8B4", 470: "A8B5", 472: "A8B6", 474: "A8B7", 476: "A8B8", 252: "A8B9", 234: "A8BA", 593: "A8BB", 324: "A8BD", 328: "A8BE", 609: "A8C0", 12549: "A8C5", 12550: "A8C6", 12551: "A8C7", 12552: "A8C8", 12553: "A8C9", 12554: "A8CA", 12555: "A8CB", 12556: "A8CC", 12557: "A8CD", 12558: "A8CE", 12559: "A8CF", 12560: "A8D0", 12561: "A8D1", 12562: "A8D2", 12563: "A8D3", 12564: "A8D4", 12565: "A8D5", 12566: "A8D6", 12567: "A8D7", 12568: "A8D8", 12569: "A8D9", 12570: "A8DA", 12571: "A8DB", 12572: "A8DC", 12573: "A8DD", 12574: "A8DE", 12575: "A8DF", 12576: "A8E0", 12577: "A8E1", 12578: "A8E2", 12579: "A8E3", 12580: "A8E4", 12581: "A8E5", 12582: "A8E6", 12583: "A8E7", 12584: "A8E8", 12585: "A8E9", 9472: "A9A4", 9473: "A9A5", 9474: "A9A6", 9475: "A9A7", 9476: "A9A8", 9477: "A9A9", 9478: "A9AA", 9479: "A9AB", 9480: "A9AC", 9481: "A9AD", 9482: "A9AE", 9483: "A9AF", 9484: "A9B0", 9485: "A9B1", 9486: "A9B2", 9487: "A9B3", 9488: "A9B4", 9489: "A9B5", 9490: "A9B6", 9491: "A9B7", 9492: "A9B8", 9493: "A9B9", 9494: "A9BA", 9495: "A9BB", 9496: "A9BC", 9497: "A9BD", 9498: "A9BE", 9499: "A9BF", 9500: "A9C0", 9501: "A9C1", 9502: "A9C2", 9503: "A9C3", 9504: "A9C4", 9505: "A9C5", 9506: "A9C6", 9507: "A9C7", 9508: "A9C8", 9509: "A9C9", 9510: "A9CA", 9511: "A9CB", 9512: "A9CC", 9513: "A9CD", 9514: "A9CE", 9515: "A9CF", 9516: "A9D0", 9517: "A9D1", 9518: "A9D2", 9519: "A9D3", 9520: "A9D4", 9521: "A9D5", 9522: "A9D6", 9523: "A9D7", 9524: "A9D8", 9525: "A9D9", 9526: "A9DA", 9527: "A9DB", 9528: "A9DC", 9529: "A9DD", 9530: "A9DE", 9531: "A9DF", 9532: "A9E0", 9533: "A9E1", 9534: "A9E2", 9535: "A9E3", 9536: "A9E4", 9537: "A9E5", 9538: "A9E6", 9539: "A9E7", 9540: "A9E8", 9541: "A9E9", 9542: "A9EA", 9543: "A9EB", 9544: "A9EC", 9545: "A9ED", 9546: "A9EE", 9547: "A9EF", 30403: "B0A0", 21834: "B0A1", 38463: "B0A2", 22467: "B0A3", 25384: "B0A4", 21710: "B0A5", 21769: "B0A6", 21696: "B0A7", 30353: "B0A8", 30284: "B0A9", 34108: "B0AA", 30702: "B0AB", 33406: "B0AC", 30861: "B0AD", 29233: "B0AE", 38552: "B0AF", 38797: "B0B0", 27688: "B0B1", 23433: "B0B2", 20474: "B0B3", 25353: "B0B4", 26263: "B0B5", 23736: "B0B6", 33018: "B0B7", 26696: "B0B8", 32942: "B0B9", 26114: "B0BA", 30414: "B0BB", 20985: "B0BC", 25942: "B0BD", 29100: "B0BE", 32753: "B0BF", 34948: "B0C0", 20658: "B0C1", 22885: "B0C2", 25034: "B0C3", 28595: "B0C4", 33453: "B0C5", 25420: "B0C6", 25170: "B0C7", 21485: "B0C8", 21543: "B0C9", 31494: "B0CA", 20843: "B0CB", 30116: "B0CC", 24052: "B0CD", 25300: "B0CE", 36299: "B0CF", 38774: "B0D0", 25226: "B0D1", 32793: "B0D2", 22365: "B0D3", 38712: "B0D4", 32610: "B0D5", 29240: "B0D6", 30333: "B0D7", 26575: "B0D8", 30334: "B0D9", 25670: "B0DA", 20336: "B0DB", 36133: "B0DC", 25308: "B0DD", 31255: "B0DE", 26001: "B0DF", 29677: "B0E0", 25644: "B0E1", 25203: "B0E2", 33324: "B0E3", 39041: "B0E4", 26495: "B0E5", 29256: "B0E6", 25198: "B0E7", 25292: "B0E8", 20276: "B0E9", 29923: "B0EA", 21322: "B0EB", 21150: "B0EC", 32458: "B0ED", 37030: "B0EE", 24110: "B0EF", 26758: "B0F0", 27036: "B0F1", 33152: "B0F2", 32465: "B0F3", 26834: "B0F4", 30917: "B0F5", 34444: "B0F6", 38225: "B0F7", 20621: "B0F8", 35876: "B0F9", 33502: "B0FA", 32990: "B0FB", 21253: "B0FC", 35090: "B0FD", 21093: "B0FE", 34180: "B1A1", 38649: "B1A2", 20445: "B1A3", 22561: "B1A4", 39281: "B1A5", 23453: "B1A6", 25265: "B1A7", 25253: "B1A8", 26292: "B1A9", 35961: "B1AA", 40077: "B1AB", 29190: "B1AC", 26479: "B1AD", 30865: "B1AE", 24754: "B1AF", 21329: "B1B0", 21271: "B1B1", 36744: "B1B2", 32972: "B1B3", 36125: "B1B4", 38049: "B1B5", 20493: "B1B6", 29384: "B1B7", 22791: "B1B8", 24811: "B1B9", 28953: "B1BA", 34987: "B1BB", 22868: "B1BC", 33519: "B1BD", 26412: "B1BE", 31528: "B1BF", 23849: "B1C0", 32503: "B1C1", 29997: "B1C2", 27893: "B1C3", 36454: "B1C4", 36856: "B1C5", 36924: "B1C6", 40763: "B1C7", 27604: "B1C8", 37145: "B1C9", 31508: "B1CA", 24444: "B1CB", 30887: "B1CC", 34006: "B1CD", 34109: "B1CE", 27605: "B1CF", 27609: "B1D0", 27606: "B1D1", 24065: "B1D2", 24199: "B1D3", 30201: "B1D4", 38381: "B1D5", 25949: "B1D6", 24330: "B1D7", 24517: "B1D8", 36767: "B1D9", 22721: "B1DA", 33218: "B1DB", 36991: "B1DC", 38491: "B1DD", 38829: "B1DE", 36793: "B1DF", 32534: "B1E0", 36140: "B1E1", 25153: "B1E2", 20415: "B1E3", 21464: "B1E4", 21342: "B1E5", 36776: "B1E6", 36777: "B1E7", 36779: "B1E8", 36941: "B1E9", 26631: "B1EA", 24426: "B1EB", 33176: "B1EC", 34920: "B1ED", 40150: "B1EE", 24971: "B1EF", 21035: "B1F0", 30250: "B1F1", 24428: "B1F2", 25996: "B1F3", 28626: "B1F4", 28392: "B1F5", 23486: "B1F6", 25672: "B1F7", 20853: "B1F8", 20912: "B1F9", 26564: "B1FA", 19993: "B1FB", 31177: "B1FC", 39292: "B1FD", 28851: "B1FE", 30149: "B2A1", 24182: "B2A2", 29627: "B2A3", 33760: "B2A4", 25773: "B2A5", 25320: "B2A6", 38069: "B2A7", 27874: "B2A8", 21338: "B2A9", 21187: "B2AA", 25615: "B2AB", 38082: "B2AC", 31636: "B2AD", 20271: "B2AE", 24091: "B2AF", 33334: "B2B0", 33046: "B2B1", 33162: "B2B2", 28196: "B2B3", 27850: "B2B4", 39539: "B2B5", 25429: "B2B6", 21340: "B2B7", 21754: "B2B8", 34917: "B2B9", 22496: "B2BA", 19981: "B2BB", 24067: "B2BC", 27493: "B2BD", 31807: "B2BE", 37096: "B2BF", 24598: "B2C0", 25830: "B2C1", 29468: "B2C2", 35009: "B2C3", 26448: "B2C4", 25165: "B2C5", 36130: "B2C6", 30572: "B2C7", 36393: "B2C8", 37319: "B2C9", 24425: "B2CA", 33756: "B2CB", 34081: "B2CC", 39184: "B2CD", 21442: "B2CE", 34453: "B2CF", 27531: "B2D0", 24813: "B2D1", 24808: "B2D2", 28799: "B2D3", 33485: "B2D4", 33329: "B2D5", 20179: "B2D6", 27815: "B2D7", 34255: "B2D8", 25805: "B2D9", 31961: "B2DA", 27133: "B2DB", 26361: "B2DC", 33609: "B2DD", 21397: "B2DE", 31574: "B2DF", 20391: "B2E0", 20876: "B2E1", 27979: "B2E2", 23618: "B2E3", 36461: "B2E4", 25554: "B2E5", 21449: "B2E6", 33580: "B2E7", 33590: "B2E8", 26597: "B2E9", 30900: "B2EA", 25661: "B2EB", 23519: "B2EC", 23700: "B2ED", 24046: "B2EE", 35815: "B2EF", 25286: "B2F0", 26612: "B2F1", 35962: "B2F2", 25600: "B2F3", 25530: "B2F4", 34633: "B2F5", 39307: "B2F6", 35863: "B2F7", 32544: "B2F8", 38130: "B2F9", 20135: "B2FA", 38416: "B2FB", 39076: "B2FC", 26124: "B2FD", 29462: "B2FE", 22330: "B3A1", 23581: "B3A2", 24120: "B3A3", 38271: "B3A4", 20607: "B3A5", 32928: "B3A6", 21378: "B3A7", 25950: "B3A8", 30021: "B3A9", 21809: "B3AA", 20513: "B3AB", 36229: "B3AC", 25220: "B3AD", 38046: "B3AE", 26397: "B3AF", 22066: "B3B0", 28526: "B3B1", 24034: "B3B2", 21557: "B3B3", 28818: "B3B4", 36710: "B3B5", 25199: "B3B6", 25764: "B3B7", 25507: "B3B8", 24443: "B3B9", 28552: "B3BA", 37108: "B3BB", 33251: "B3BC", 36784: "B3BD", 23576: "B3BE", 26216: "B3BF", 24561: "B3C0", 27785: "B3C1", 38472: "B3C2", 36225: "B3C3", 34924: "B3C4", 25745: "B3C5", 31216: "B3C6", 22478: "B3C7", 27225: "B3C8", 25104: "B3C9", 21576: "B3CA", 20056: "B3CB", 31243: "B3CC", 24809: "B3CD", 28548: "B3CE", 35802: "B3CF", 25215: "B3D0", 36894: "B3D1", 39563: "B3D2", 31204: "B3D3", 21507: "B3D4", 30196: "B3D5", 25345: "B3D6", 21273: "B3D7", 27744: "B3D8", 36831: "B3D9", 24347: "B3DA", 39536: "B3DB", 32827: "B3DC", 40831: "B3DD", 20360: "B3DE", 23610: "B3DF", 36196: "B3E0", 32709: "B3E1", 26021: "B3E2", 28861: "B3E3", 20805: "B3E4", 20914: "B3E5", 34411: "B3E6", 23815: "B3E7", 23456: "B3E8", 25277: "B3E9", 37228: "B3EA", 30068: "B3EB", 36364: "B3EC", 31264: "B3ED", 24833: "B3EE", 31609: "B3EF", 20167: "B3F0", 32504: "B3F1", 30597: "B3F2", 19985: "B3F3", 33261: "B3F4", 21021: "B3F5", 20986: "B3F6", 27249: "B3F7", 21416: "B3F8", 36487: "B3F9", 38148: "B3FA", 38607: "B3FB", 28353: "B3FC", 38500: "B3FD", 26970: "B3FE", 30784: "B4A1", 20648: "B4A2", 30679: "B4A3", 25616: "B4A4", 35302: "B4A5", 22788: "B4A6", 25571: "B4A7", 24029: "B4A8", 31359: "B4A9", 26941: "B4AA", 20256: "B4AB", 33337: "B4AC", 21912: "B4AD", 20018: "B4AE", 30126: "B4AF", 31383: "B4B0", 24162: "B4B1", 24202: "B4B2", 38383: "B4B3", 21019: "B4B4", 21561: "B4B5", 28810: "B4B6", 25462: "B4B7", 38180: "B4B8", 22402: "B4B9", 26149: "B4BA", 26943: "B4BB", 37255: "B4BC", 21767: "B4BD", 28147: "B4BE", 32431: "B4BF", 34850: "B4C0", 25139: "B4C1", 32496: "B4C2", 30133: "B4C3", 33576: "B4C4", 30913: "B4C5", 38604: "B4C6", 36766: "B4C7", 24904: "B4C8", 29943: "B4C9", 35789: "B4CA", 27492: "B4CB", 21050: "B4CC", 36176: "B4CD", 27425: "B4CE", 32874: "B4CF", 33905: "B4D0", 22257: "B4D1", 21254: "B4D2", 20174: "B4D3", 19995: "B4D4", 20945: "B4D5", 31895: "B4D6", 37259: "B4D7", 31751: "B4D8", 20419: "B4D9", 36479: "B4DA", 31713: "B4DB", 31388: "B4DC", 25703: "B4DD", 23828: "B4DE", 20652: "B4DF", 33030: "B4E0", 30209: "B4E1", 31929: "B4E2", 28140: "B4E3", 32736: "B4E4", 26449: "B4E5", 23384: "B4E6", 23544: "B4E7", 30923: "B4E8", 25774: "B4E9", 25619: "B4EA", 25514: "B4EB", 25387: "B4EC", 38169: "B4ED", 25645: "B4EE", 36798: "B4EF", 31572: "B4F0", 30249: "B4F1", 25171: "B4F2", 22823: "B4F3", 21574: "B4F4", 27513: "B4F5", 20643: "B4F6", 25140: "B4F7", 24102: "B4F8", 27526: "B4F9", 20195: "B4FA", 36151: "B4FB", 34955: "B4FC", 24453: "B4FD", 36910: "B4FE", 24608: "B5A1", 32829: "B5A2", 25285: "B5A3", 20025: "B5A4", 21333: "B5A5", 37112: "B5A6", 25528: "B5A7", 32966: "B5A8", 26086: "B5A9", 27694: "B5AA", 20294: "B5AB", 24814: "B5AC", 28129: "B5AD", 35806: "B5AE", 24377: "B5AF", 34507: "B5B0", 24403: "B5B1", 25377: "B5B2", 20826: "B5B3", 33633: "B5B4", 26723: "B5B5", 20992: "B5B6", 25443: "B5B7", 36424: "B5B8", 20498: "B5B9", 23707: "B5BA", 31095: "B5BB", 23548: "B5BC", 21040: "B5BD", 31291: "B5BE", 24764: "B5BF", 36947: "B5C0", 30423: "B5C1", 24503: "B5C2", 24471: "B5C3", 30340: "B5C4", 36460: "B5C5", 28783: "B5C6", 30331: "B5C7", 31561: "B5C8", 30634: "B5C9", 20979: "B5CA", 37011: "B5CB", 22564: "B5CC", 20302: "B5CD", 28404: "B5CE", 36842: "B5CF", 25932: "B5D0", 31515: "B5D1", 29380: "B5D2", 28068: "B5D3", 32735: "B5D4", 23265: "B5D5", 25269: "B5D6", 24213: "B5D7", 22320: "B5D8", 33922: "B5D9", 31532: "B5DA", 24093: "B5DB", 24351: "B5DC", 36882: "B5DD", 32532: "B5DE", 39072: "B5DF", 25474: "B5E0", 28359: "B5E1", 30872: "B5E2", 28857: "B5E3", 20856: "B5E4", 38747: "B5E5", 22443: "B5E6", 30005: "B5E7", 20291: "B5E8", 30008: "B5E9", 24215: "B5EA", 24806: "B5EB", 22880: "B5EC", 28096: "B5ED", 27583: "B5EE", 30857: "B5EF", 21500: "B5F0", 38613: "B5F1", 20939: "B5F2", 20993: "B5F3", 25481: "B5F4", 21514: "B5F5", 38035: "B5F6", 35843: "B5F7", 36300: "B5F8", 29241: "B5F9", 30879: "B5FA", 34678: "B5FB", 36845: "B5FC", 35853: "B5FD", 21472: "B5FE", 19969: "B6A1", 30447: "B6A2", 21486: "B6A3", 38025: "B6A4", 39030: "B6A5", 40718: "B6A6", 38189: "B6A7", 23450: "B6A8", 35746: "B6A9", 20002: "B6AA", 19996: "B6AB", 20908: "B6AC", 33891: "B6AD", 25026: "B6AE", 21160: "B6AF", 26635: "B6B0", 20375: "B6B1", 24683: "B6B2", 20923: "B6B3", 27934: "B6B4", 20828: "B6B5", 25238: "B6B6", 26007: "B6B7", 38497: "B6B8", 35910: "B6B9", 36887: "B6BA", 30168: "B6BB", 37117: "B6BC", 30563: "B6BD", 27602: "B6BE", 29322: "B6BF", 29420: "B6C0", 35835: "B6C1", 22581: "B6C2", 30585: "B6C3", 36172: "B6C4", 26460: "B6C5", 38208: "B6C6", 32922: "B6C7", 24230: "B6C8", 28193: "B6C9", 22930: "B6CA", 31471: "B6CB", 30701: "B6CC", 38203: "B6CD", 27573: "B6CE", 26029: "B6CF", 32526: "B6D0", 22534: "B6D1", 20817: "B6D2", 38431: "B6D3", 23545: "B6D4", 22697: "B6D5", 21544: "B6D6", 36466: "B6D7", 25958: "B6D8", 39039: "B6D9", 22244: "B6DA", 38045: "B6DB", 30462: "B6DC", 36929: "B6DD", 25479: "B6DE", 21702: "B6DF", 22810: "B6E0", 22842: "B6E1", 22427: "B6E2", 36530: "B6E3", 26421: "B6E4", 36346: "B6E5", 33333: "B6E6", 21057: "B6E7", 24816: "B6E8", 22549: "B6E9", 34558: "B6EA", 23784: "B6EB", 40517: "B6EC", 20420: "B6ED", 39069: "B6EE", 35769: "B6EF", 23077: "B6F0", 24694: "B6F1", 21380: "B6F2", 25212: "B6F3", 36943: "B6F4", 37122: "B6F5", 39295: "B6F6", 24681: "B6F7", 32780: "B6F8", 20799: "B6F9", 32819: "B6FA", 23572: "B6FB", 39285: "B6FC", 27953: "B6FD", 20108: "B6FE", 36144: "B7A1", 21457: "B7A2", 32602: "B7A3", 31567: "B7A4", 20240: "B7A5", 20047: "B7A6", 38400: "B7A7", 27861: "B7A8", 29648: "B7A9", 34281: "B7AA", 24070: "B7AB", 30058: "B7AC", 32763: "B7AD", 27146: "B7AE", 30718: "B7AF", 38034: "B7B0", 32321: "B7B1", 20961: "B7B2", 28902: "B7B3", 21453: "B7B4", 36820: "B7B5", 33539: "B7B6", 36137: "B7B7", 29359: "B7B8", 39277: "B7B9", 27867: "B7BA", 22346: "B7BB", 33459: "B7BC", 26041: "B7BD", 32938: "B7BE", 25151: "B7BF", 38450: "B7C0", 22952: "B7C1", 20223: "B7C2", 35775: "B7C3", 32442: "B7C4", 25918: "B7C5", 33778: "B7C6", 38750: "B7C7", 21857: "B7C8", 39134: "B7C9", 32933: "B7CA", 21290: "B7CB", 35837: "B7CC", 21536: "B7CD", 32954: "B7CE", 24223: "B7CF", 27832: "B7D0", 36153: "B7D1", 33452: "B7D2", 37210: "B7D3", 21545: "B7D4", 27675: "B7D5", 20998: "B7D6", 32439: "B7D7", 22367: "B7D8", 28954: "B7D9", 27774: "B7DA", 31881: "B7DB", 22859: "B7DC", 20221: "B7DD", 24575: "B7DE", 24868: "B7DF", 31914: "B7E0", 20016: "B7E1", 23553: "B7E2", 26539: "B7E3", 34562: "B7E4", 23792: "B7E5", 38155: "B7E6", 39118: "B7E7", 30127: "B7E8", 28925: "B7E9", 36898: "B7EA", 20911: "B7EB", 32541: "B7EC", 35773: "B7ED", 22857: "B7EE", 20964: "B7EF", 20315: "B7F0", 21542: "B7F1", 22827: "B7F2", 25975: "B7F3", 32932: "B7F4", 23413: "B7F5", 25206: "B7F6", 25282: "B7F7", 36752: "B7F8", 24133: "B7F9", 27679: "B7FA", 31526: "B7FB", 20239: "B7FC", 20440: "B7FD", 26381: "B7FE", 28014: "B8A1", 28074: "B8A2", 31119: "B8A3", 34993: "B8A4", 24343: "B8A5", 29995: "B8A6", 25242: "B8A7", 36741: "B8A8", 20463: "B8A9", 37340: "B8AA", 26023: "B8AB", 33071: "B8AC", 33105: "B8AD", 24220: "B8AE", 33104: "B8AF", 36212: "B8B0", 21103: "B8B1", 35206: "B8B2", 36171: "B8B3", 22797: "B8B4", 20613: "B8B5", 20184: "B8B6", 38428: "B8B7", 29238: "B8B8", 33145: "B8B9", 36127: "B8BA", 23500: "B8BB", 35747: "B8BC", 38468: "B8BD", 22919: "B8BE", 32538: "B8BF", 21648: "B8C0", 22134: "B8C1", 22030: "B8C2", 35813: "B8C3", 25913: "B8C4", 27010: "B8C5", 38041: "B8C6", 30422: "B8C7", 28297: "B8C8", 24178: "B8C9", 29976: "B8CA", 26438: "B8CB", 26577: "B8CC", 31487: "B8CD", 32925: "B8CE", 36214: "B8CF", 24863: "B8D0", 31174: "B8D1", 25954: "B8D2", 36195: "B8D3", 20872: "B8D4", 21018: "B8D5", 38050: "B8D6", 32568: "B8D7", 32923: "B8D8", 32434: "B8D9", 23703: "B8DA", 28207: "B8DB", 26464: "B8DC", 31705: "B8DD", 30347: "B8DE", 39640: "B8DF", 33167: "B8E0", 32660: "B8E1", 31957: "B8E2", 25630: "B8E3", 38224: "B8E4", 31295: "B8E5", 21578: "B8E6", 21733: "B8E7", 27468: "B8E8", 25601: "B8E9", 25096: "B8EA", 40509: "B8EB", 33011: "B8EC", 30105: "B8ED", 21106: "B8EE", 38761: "B8EF", 33883: "B8F0", 26684: "B8F1", 34532: "B8F2", 38401: "B8F3", 38548: "B8F4", 38124: "B8F5", 20010: "B8F6", 21508: "B8F7", 32473: "B8F8", 26681: "B8F9", 36319: "B8FA", 32789: "B8FB", 26356: "B8FC", 24218: "B8FD", 32697: "B8FE", 22466: "B9A1", 32831: "B9A2", 26775: "B9A3", 24037: "B9A4", 25915: "B9A5", 21151: "B9A6", 24685: "B9A7", 40858: "B9A8", 20379: "B9A9", 36524: "B9AA", 20844: "B9AB", 23467: "B9AC", 24339: "B9AD", 24041: "B9AE", 27742: "B9AF", 25329: "B9B0", 36129: "B9B1", 20849: "B9B2", 38057: "B9B3", 21246: "B9B4", 27807: "B9B5", 33503: "B9B6", 29399: "B9B7", 22434: "B9B8", 26500: "B9B9", 36141: "B9BA", 22815: "B9BB", 36764: "B9BC", 33735: "B9BD", 21653: "B9BE", 31629: "B9BF", 20272: "B9C0", 27837: "B9C1", 23396: "B9C2", 22993: "B9C3", 40723: "B9C4", 21476: "B9C5", 34506: "B9C6", 39592: "B9C7", 35895: "B9C8", 32929: "B9C9", 25925: "B9CA", 39038: "B9CB", 22266: "B9CC", 38599: "B9CD", 21038: "B9CE", 29916: "B9CF", 21072: "B9D0", 23521: "B9D1", 25346: "B9D2", 35074: "B9D3", 20054: "B9D4", 25296: "B9D5", 24618: "B9D6", 26874: "B9D7", 20851: "B9D8", 23448: "B9D9", 20896: "B9DA", 35266: "B9DB", 31649: "B9DC", 39302: "B9DD", 32592: "B9DE", 24815: "B9DF", 28748: "B9E0", 36143: "B9E1", 20809: "B9E2", 24191: "B9E3", 36891: "B9E4", 29808: "B9E5", 35268: "B9E6", 22317: "B9E7", 30789: "B9E8", 24402: "B9E9", 40863: "B9EA", 38394: "B9EB", 36712: "B9EC", 39740: "B9ED", 35809: "B9EE", 30328: "B9EF", 26690: "B9F0", 26588: "B9F1", 36330: "B9F2", 36149: "B9F3", 21053: "B9F4", 36746: "B9F5", 28378: "B9F6", 26829: "B9F7", 38149: "B9F8", 37101: "B9F9", 22269: "B9FA", 26524: "B9FB", 35065: "B9FC", 36807: "B9FD", 21704: "B9FE", 39608: "BAA1", 23401: "BAA2", 28023: "BAA3", 27686: "BAA4", 20133: "BAA5", 23475: "BAA6", 39559: "BAA7", 37219: "BAA8", 25e3: "BAA9", 37039: "BAAA", 38889: "BAAB", 21547: "BAAC", 28085: "BAAD", 23506: "BAAE", 20989: "BAAF", 21898: "BAB0", 32597: "BAB1", 32752: "BAB2", 25788: "BAB3", 25421: "BAB4", 26097: "BAB5", 25022: "BAB6", 24717: "BAB7", 28938: "BAB8", 27735: "BAB9", 27721: "BABA", 22831: "BABB", 26477: "BABC", 33322: "BABD", 22741: "BABE", 22158: "BABF", 35946: "BAC0", 27627: "BAC1", 37085: "BAC2", 22909: "BAC3", 32791: "BAC4", 21495: "BAC5", 28009: "BAC6", 21621: "BAC7", 21917: "BAC8", 33655: "BAC9", 33743: "BACA", 26680: "BACB", 31166: "BACC", 21644: "BACD", 20309: "BACE", 21512: "BACF", 30418: "BAD0", 35977: "BAD1", 38402: "BAD2", 27827: "BAD3", 28088: "BAD4", 36203: "BAD5", 35088: "BAD6", 40548: "BAD7", 36154: "BAD8", 22079: "BAD9", 40657: "BADA", 30165: "BADB", 24456: "BADC", 29408: "BADD", 24680: "BADE", 21756: "BADF", 20136: "BAE0", 27178: "BAE1", 34913: "BAE2", 24658: "BAE3", 36720: "BAE4", 21700: "BAE5", 28888: "BAE6", 34425: "BAE7", 40511: "BAE8", 27946: "BAE9", 23439: "BAEA", 24344: "BAEB", 32418: "BAEC", 21897: "BAED", 20399: "BAEE", 29492: "BAEF", 21564: "BAF0", 21402: "BAF1", 20505: "BAF2", 21518: "BAF3", 21628: "BAF4", 20046: "BAF5", 24573: "BAF6", 29786: "BAF7", 22774: "BAF8", 33899: "BAF9", 32993: "BAFA", 34676: "BAFB", 29392: "BAFC", 31946: "BAFD", 28246: "BAFE", 24359: "BBA1", 34382: "BBA2", 21804: "BBA3", 25252: "BBA4", 20114: "BBA5", 27818: "BBA6", 25143: "BBA7", 33457: "BBA8", 21719: "BBA9", 21326: "BBAA", 29502: "BBAB", 28369: "BBAC", 30011: "BBAD", 21010: "BBAE", 21270: "BBAF", 35805: "BBB0", 27088: "BBB1", 24458: "BBB2", 24576: "BBB3", 28142: "BBB4", 22351: "BBB5", 27426: "BBB6", 29615: "BBB7", 26707: "BBB8", 36824: "BBB9", 32531: "BBBA", 25442: "BBBB", 24739: "BBBC", 21796: "BBBD", 30186: "BBBE", 35938: "BBBF", 28949: "BBC0", 28067: "BBC1", 23462: "BBC2", 24187: "BBC3", 33618: "BBC4", 24908: "BBC5", 40644: "BBC6", 30970: "BBC7", 34647: "BBC8", 31783: "BBC9", 30343: "BBCA", 20976: "BBCB", 24822: "BBCC", 29004: "BBCD", 26179: "BBCE", 24140: "BBCF", 24653: "BBD0", 35854: "BBD1", 28784: "BBD2", 25381: "BBD3", 36745: "BBD4", 24509: "BBD5", 24674: "BBD6", 34516: "BBD7", 22238: "BBD8", 27585: "BBD9", 24724: "BBDA", 24935: "BBDB", 21321: "BBDC", 24800: "BBDD", 26214: "BBDE", 36159: "BBDF", 31229: "BBE0", 20250: "BBE1", 28905: "BBE2", 27719: "BBE3", 35763: "BBE4", 35826: "BBE5", 32472: "BBE6", 33636: "BBE7", 26127: "BBE8", 23130: "BBE9", 39746: "BBEA", 27985: "BBEB", 28151: "BBEC", 35905: "BBED", 27963: "BBEE", 20249: "BBEF", 28779: "BBF0", 33719: "BBF1", 25110: "BBF2", 24785: "BBF3", 38669: "BBF4", 36135: "BBF5", 31096: "BBF6", 20987: "BBF7", 22334: "BBF8", 22522: "BBF9", 26426: "BBFA", 30072: "BBFB", 31293: "BBFC", 31215: "BBFD", 31637: "BBFE", 32908: "BCA1", 39269: "BCA2", 36857: "BCA3", 28608: "BCA4", 35749: "BCA5", 40481: "BCA6", 23020: "BCA7", 32489: "BCA8", 32521: "BCA9", 21513: "BCAA", 26497: "BCAB", 26840: "BCAC", 36753: "BCAD", 31821: "BCAE", 38598: "BCAF", 21450: "BCB0", 24613: "BCB1", 30142: "BCB2", 27762: "BCB3", 21363: "BCB4", 23241: "BCB5", 32423: "BCB6", 25380: "BCB7", 20960: "BCB8", 33034: "BCB9", 24049: "BCBA", 34015: "BCBB", 25216: "BCBC", 20864: "BCBD", 23395: "BCBE", 20238: "BCBF", 31085: "BCC0", 21058: "BCC1", 24760: "BCC2", 27982: "BCC3", 23492: "BCC4", 23490: "BCC5", 35745: "BCC6", 35760: "BCC7", 26082: "BCC8", 24524: "BCC9", 38469: "BCCA", 22931: "BCCB", 32487: "BCCC", 32426: "BCCD", 22025: "BCCE", 26551: "BCCF", 22841: "BCD0", 20339: "BCD1", 23478: "BCD2", 21152: "BCD3", 33626: "BCD4", 39050: "BCD5", 36158: "BCD6", 30002: "BCD7", 38078: "BCD8", 20551: "BCD9", 31292: "BCDA", 20215: "BCDB", 26550: "BCDC", 39550: "BCDD", 23233: "BCDE", 27516: "BCDF", 30417: "BCE0", 22362: "BCE1", 23574: "BCE2", 31546: "BCE3", 38388: "BCE4", 29006: "BCE5", 20860: "BCE6", 32937: "BCE7", 33392: "BCE8", 22904: "BCE9", 32516: "BCEA", 33575: "BCEB", 26816: "BCEC", 26604: "BCED", 30897: "BCEE", 30839: "BCEF", 25315: "BCF0", 25441: "BCF1", 31616: "BCF2", 20461: "BCF3", 21098: "BCF4", 20943: "BCF5", 33616: "BCF6", 27099: "BCF7", 37492: "BCF8", 36341: "BCF9", 36145: "BCFA", 35265: "BCFB", 38190: "BCFC", 31661: "BCFD", 20214: "BCFE", 20581: "BDA1", 33328: "BDA2", 21073: "BDA3", 39279: "BDA4", 28176: "BDA5", 28293: "BDA6", 28071: "BDA7", 24314: "BDA8", 20725: "BDA9", 23004: "BDAA", 23558: "BDAB", 27974: "BDAC", 27743: "BDAD", 30086: "BDAE", 33931: "BDAF", 26728: "BDB0", 22870: "BDB1", 35762: "BDB2", 21280: "BDB3", 37233: "BDB4", 38477: "BDB5", 34121: "BDB6", 26898: "BDB7", 30977: "BDB8", 28966: "BDB9", 33014: "BDBA", 20132: "BDBB", 37066: "BDBC", 27975: "BDBD", 39556: "BDBE", 23047: "BDBF", 22204: "BDC0", 25605: "BDC1", 38128: "BDC2", 30699: "BDC3", 20389: "BDC4", 33050: "BDC5", 29409: "BDC6", 35282: "BDC7", 39290: "BDC8", 32564: "BDC9", 32478: "BDCA", 21119: "BDCB", 25945: "BDCC", 37237: "BDCD", 36735: "BDCE", 36739: "BDCF", 21483: "BDD0", 31382: "BDD1", 25581: "BDD2", 25509: "BDD3", 30342: "BDD4", 31224: "BDD5", 34903: "BDD6", 38454: "BDD7", 25130: "BDD8", 21163: "BDD9", 33410: "BDDA", 26708: "BDDB", 26480: "BDDC", 25463: "BDDD", 30571: "BDDE", 31469: "BDDF", 27905: "BDE0", 32467: "BDE1", 35299: "BDE2", 22992: "BDE3", 25106: "BDE4", 34249: "BDE5", 33445: "BDE6", 30028: "BDE7", 20511: "BDE8", 20171: "BDE9", 30117: "BDEA", 35819: "BDEB", 23626: "BDEC", 24062: "BDED", 31563: "BDEE", 26020: "BDEF", 37329: "BDF0", 20170: "BDF1", 27941: "BDF2", 35167: "BDF3", 32039: "BDF4", 38182: "BDF5", 20165: "BDF6", 35880: "BDF7", 36827: "BDF8", 38771: "BDF9", 26187: "BDFA", 31105: "BDFB", 36817: "BDFC", 28908: "BDFD", 28024: "BDFE", 23613: "BEA1", 21170: "BEA2", 33606: "BEA3", 20834: "BEA4", 33550: "BEA5", 30555: "BEA6", 26230: "BEA7", 40120: "BEA8", 20140: "BEA9", 24778: "BEAA", 31934: "BEAB", 31923: "BEAC", 32463: "BEAD", 20117: "BEAE", 35686: "BEAF", 26223: "BEB0", 39048: "BEB1", 38745: "BEB2", 22659: "BEB3", 25964: "BEB4", 38236: "BEB5", 24452: "BEB6", 30153: "BEB7", 38742: "BEB8", 31455: "BEB9", 31454: "BEBA", 20928: "BEBB", 28847: "BEBC", 31384: "BEBD", 25578: "BEBE", 31350: "BEBF", 32416: "BEC0", 29590: "BEC1", 38893: "BEC2", 20037: "BEC3", 28792: "BEC4", 20061: "BEC5", 37202: "BEC6", 21417: "BEC7", 25937: "BEC8", 26087: "BEC9", 33276: "BECA", 33285: "BECB", 21646: "BECC", 23601: "BECD", 30106: "BECE", 38816: "BECF", 25304: "BED0", 29401: "BED1", 30141: "BED2", 23621: "BED3", 39545: "BED4", 33738: "BED5", 23616: "BED6", 21632: "BED7", 30697: "BED8", 20030: "BED9", 27822: "BEDA", 32858: "BEDB", 25298: "BEDC", 25454: "BEDD", 24040: "BEDE", 20855: "BEDF", 36317: "BEE0", 36382: "BEE1", 38191: "BEE2", 20465: "BEE3", 21477: "BEE4", 24807: "BEE5", 28844: "BEE6", 21095: "BEE7", 25424: "BEE8", 40515: "BEE9", 23071: "BEEA", 20518: "BEEB", 30519: "BEEC", 21367: "BEED", 32482: "BEEE", 25733: "BEEF", 25899: "BEF0", 25225: "BEF1", 25496: "BEF2", 20500: "BEF3", 29237: "BEF4", 35273: "BEF5", 20915: "BEF6", 35776: "BEF7", 32477: "BEF8", 22343: "BEF9", 33740: "BEFA", 38055: "BEFB", 20891: "BEFC", 21531: "BEFD", 23803: "BEFE", 20426: "BFA1", 31459: "BFA2", 27994: "BFA3", 37089: "BFA4", 39567: "BFA5", 21888: "BFA6", 21654: "BFA7", 21345: "BFA8", 21679: "BFA9", 24320: "BFAA", 25577: "BFAB", 26999: "BFAC", 20975: "BFAD", 24936: "BFAE", 21002: "BFAF", 22570: "BFB0", 21208: "BFB1", 22350: "BFB2", 30733: "BFB3", 30475: "BFB4", 24247: "BFB5", 24951: "BFB6", 31968: "BFB7", 25179: "BFB8", 25239: "BFB9", 20130: "BFBA", 28821: "BFBB", 32771: "BFBC", 25335: "BFBD", 28900: "BFBE", 38752: "BFBF", 22391: "BFC0", 33499: "BFC1", 26607: "BFC2", 26869: "BFC3", 30933: "BFC4", 39063: "BFC5", 31185: "BFC6", 22771: "BFC7", 21683: "BFC8", 21487: "BFC9", 28212: "BFCA", 20811: "BFCB", 21051: "BFCC", 23458: "BFCD", 35838: "BFCE", 32943: "BFCF", 21827: "BFD0", 22438: "BFD1", 24691: "BFD2", 22353: "BFD3", 21549: "BFD4", 31354: "BFD5", 24656: "BFD6", 23380: "BFD7", 25511: "BFD8", 25248: "BFD9", 21475: "BFDA", 25187: "BFDB", 23495: "BFDC", 26543: "BFDD", 21741: "BFDE", 31391: "BFDF", 33510: "BFE0", 37239: "BFE1", 24211: "BFE2", 35044: "BFE3", 22840: "BFE4", 22446: "BFE5", 25358: "BFE6", 36328: "BFE7", 33007: "BFE8", 22359: "BFE9", 31607: "BFEA", 20393: "BFEB", 24555: "BFEC", 23485: "BFED", 27454: "BFEE", 21281: "BFEF", 31568: "BFF0", 29378: "BFF1", 26694: "BFF2", 30719: "BFF3", 30518: "BFF4", 26103: "BFF5", 20917: "BFF6", 20111: "BFF7", 30420: "BFF8", 23743: "BFF9", 31397: "BFFA", 33909: "BFFB", 22862: "BFFC", 39745: "BFFD", 20608: "BFFE", 39304: "C0A1", 24871: "C0A2", 28291: "C0A3", 22372: "C0A4", 26118: "C0A5", 25414: "C0A6", 22256: "C0A7", 25324: "C0A8", 25193: "C0A9", 24275: "C0AA", 38420: "C0AB", 22403: "C0AC", 25289: "C0AD", 21895: "C0AE", 34593: "C0AF", 33098: "C0B0", 36771: "C0B1", 21862: "C0B2", 33713: "C0B3", 26469: "C0B4", 36182: "C0B5", 34013: "C0B6", 23146: "C0B7", 26639: "C0B8", 25318: "C0B9", 31726: "C0BA", 38417: "C0BB", 20848: "C0BC", 28572: "C0BD", 35888: "C0BE", 25597: "C0BF", 35272: "C0C0", 25042: "C0C1", 32518: "C0C2", 28866: "C0C3", 28389: "C0C4", 29701: "C0C5", 27028: "C0C6", 29436: "C0C7", 24266: "C0C8", 37070: "C0C9", 26391: "C0CA", 28010: "C0CB", 25438: "C0CC", 21171: "C0CD", 29282: "C0CE", 32769: "C0CF", 20332: "C0D0", 23013: "C0D1", 37226: "C0D2", 28889: "C0D3", 28061: "C0D4", 21202: "C0D5", 20048: "C0D6", 38647: "C0D7", 38253: "C0D8", 34174: "C0D9", 30922: "C0DA", 32047: "C0DB", 20769: "C0DC", 22418: "C0DD", 25794: "C0DE", 32907: "C0DF", 31867: "C0E0", 27882: "C0E1", 26865: "C0E2", 26974: "C0E3", 20919: "C0E4", 21400: "C0E5", 26792: "C0E6", 29313: "C0E7", 40654: "C0E8", 31729: "C0E9", 29432: "C0EA", 31163: "C0EB", 28435: "C0EC", 29702: "C0ED", 26446: "C0EE", 37324: "C0EF", 40100: "C0F0", 31036: "C0F1", 33673: "C0F2", 33620: "C0F3", 21519: "C0F4", 26647: "C0F5", 20029: "C0F6", 21385: "C0F7", 21169: "C0F8", 30782: "C0F9", 21382: "C0FA", 21033: "C0FB", 20616: "C0FC", 20363: "C0FD", 20432: "C0FE", 30178: "C1A1", 31435: "C1A2", 31890: "C1A3", 27813: "C1A4", 38582: "C1A5", 21147: "C1A6", 29827: "C1A7", 21737: "C1A8", 20457: "C1A9", 32852: "C1AA", 33714: "C1AB", 36830: "C1AC", 38256: "C1AD", 24265: "C1AE", 24604: "C1AF", 28063: "C1B0", 24088: "C1B1", 25947: "C1B2", 33080: "C1B3", 38142: "C1B4", 24651: "C1B5", 28860: "C1B6", 32451: "C1B7", 31918: "C1B8", 20937: "C1B9", 26753: "C1BA", 31921: "C1BB", 33391: "C1BC", 20004: "C1BD", 36742: "C1BE", 37327: "C1BF", 26238: "C1C0", 20142: "C1C1", 35845: "C1C2", 25769: "C1C3", 32842: "C1C4", 20698: "C1C5", 30103: "C1C6", 29134: "C1C7", 23525: "C1C8", 36797: "C1C9", 28518: "C1CA", 20102: "C1CB", 25730: "C1CC", 38243: "C1CD", 24278: "C1CE", 26009: "C1CF", 21015: "C1D0", 35010: "C1D1", 28872: "C1D2", 21155: "C1D3", 29454: "C1D4", 29747: "C1D5", 26519: "C1D6", 30967: "C1D7", 38678: "C1D8", 20020: "C1D9", 37051: "C1DA", 40158: "C1DB", 28107: "C1DC", 20955: "C1DD", 36161: "C1DE", 21533: "C1DF", 25294: "C1E0", 29618: "C1E1", 33777: "C1E2", 38646: "C1E3", 40836: "C1E4", 38083: "C1E5", 20278: "C1E6", 32666: "C1E7", 20940: "C1E8", 28789: "C1E9", 38517: "C1EA", 23725: "C1EB", 39046: "C1EC", 21478: "C1ED", 20196: "C1EE", 28316: "C1EF", 29705: "C1F0", 27060: "C1F1", 30827: "C1F2", 39311: "C1F3", 30041: "C1F4", 21016: "C1F5", 30244: "C1F6", 27969: "C1F7", 26611: "C1F8", 20845: "C1F9", 40857: "C1FA", 32843: "C1FB", 21657: "C1FC", 31548: "C1FD", 31423: "C1FE", 38534: "C2A1", 22404: "C2A2", 25314: "C2A3", 38471: "C2A4", 27004: "C2A5", 23044: "C2A6", 25602: "C2A7", 31699: "C2A8", 28431: "C2A9", 38475: "C2AA", 33446: "C2AB", 21346: "C2AC", 39045: "C2AD", 24208: "C2AE", 28809: "C2AF", 25523: "C2B0", 21348: "C2B1", 34383: "C2B2", 40065: "C2B3", 40595: "C2B4", 30860: "C2B5", 38706: "C2B6", 36335: "C2B7", 36162: "C2B8", 40575: "C2B9", 28510: "C2BA", 31108: "C2BB", 24405: "C2BC", 38470: "C2BD", 25134: "C2BE", 39540: "C2BF", 21525: "C2C0", 38109: "C2C1", 20387: "C2C2", 26053: "C2C3", 23653: "C2C4", 23649: "C2C5", 32533: "C2C6", 34385: "C2C7", 27695: "C2C8", 24459: "C2C9", 29575: "C2CA", 28388: "C2CB", 32511: "C2CC", 23782: "C2CD", 25371: "C2CE", 23402: "C2CF", 28390: "C2D0", 21365: "C2D1", 20081: "C2D2", 25504: "C2D3", 30053: "C2D4", 25249: "C2D5", 36718: "C2D6", 20262: "C2D7", 20177: "C2D8", 27814: "C2D9", 32438: "C2DA", 35770: "C2DB", 33821: "C2DC", 34746: "C2DD", 32599: "C2DE", 36923: "C2DF", 38179: "C2E0", 31657: "C2E1", 39585: "C2E2", 35064: "C2E3", 33853: "C2E4", 27931: "C2E5", 39558: "C2E6", 32476: "C2E7", 22920: "C2E8", 40635: "C2E9", 29595: "C2EA", 30721: "C2EB", 34434: "C2EC", 39532: "C2ED", 39554: "C2EE", 22043: "C2EF", 21527: "C2F0", 22475: "C2F1", 20080: "C2F2", 40614: "C2F3", 21334: "C2F4", 36808: "C2F5", 33033: "C2F6", 30610: "C2F7", 39314: "C2F8", 34542: "C2F9", 28385: "C2FA", 34067: "C2FB", 26364: "C2FC", 24930: "C2FD", 28459: "C2FE", 35881: "C3A1", 33426: "C3A2", 33579: "C3A3", 30450: "C3A4", 27667: "C3A5", 24537: "C3A6", 33725: "C3A7", 29483: "C3A8", 33541: "C3A9", 38170: "C3AA", 27611: "C3AB", 30683: "C3AC", 38086: "C3AD", 21359: "C3AE", 33538: "C3AF", 20882: "C3B0", 24125: "C3B1", 35980: "C3B2", 36152: "C3B3", 20040: "C3B4", 29611: "C3B5", 26522: "C3B6", 26757: "C3B7", 37238: "C3B8", 38665: "C3B9", 29028: "C3BA", 27809: "C3BB", 30473: "C3BC", 23186: "C3BD", 38209: "C3BE", 27599: "C3BF", 32654: "C3C0", 26151: "C3C1", 23504: "C3C2", 22969: "C3C3", 23194: "C3C4", 38376: "C3C5", 38391: "C3C6", 20204: "C3C7", 33804: "C3C8", 33945: "C3C9", 27308: "C3CA", 30431: "C3CB", 38192: "C3CC", 29467: "C3CD", 26790: "C3CE", 23391: "C3CF", 30511: "C3D0", 37274: "C3D1", 38753: "C3D2", 31964: "C3D3", 36855: "C3D4", 35868: "C3D5", 24357: "C3D6", 31859: "C3D7", 31192: "C3D8", 35269: "C3D9", 27852: "C3DA", 34588: "C3DB", 23494: "C3DC", 24130: "C3DD", 26825: "C3DE", 30496: "C3DF", 32501: "C3E0", 20885: "C3E1", 20813: "C3E2", 21193: "C3E3", 23081: "C3E4", 32517: "C3E5", 38754: "C3E6", 33495: "C3E7", 25551: "C3E8", 30596: "C3E9", 34256: "C3EA", 31186: "C3EB", 28218: "C3EC", 24217: "C3ED", 22937: "C3EE", 34065: "C3EF", 28781: "C3F0", 27665: "C3F1", 25279: "C3F2", 30399: "C3F3", 25935: "C3F4", 24751: "C3F5", 38397: "C3F6", 26126: "C3F7", 34719: "C3F8", 40483: "C3F9", 38125: "C3FA", 21517: "C3FB", 21629: "C3FC", 35884: "C3FD", 25720: "C3FE", 25721: "C4A1", 34321: "C4A2", 27169: "C4A3", 33180: "C4A4", 30952: "C4A5", 25705: "C4A6", 39764: "C4A7", 25273: "C4A8", 26411: "C4A9", 33707: "C4AA", 22696: "C4AB", 40664: "C4AC", 27819: "C4AD", 28448: "C4AE", 23518: "C4AF", 38476: "C4B0", 35851: "C4B1", 29279: "C4B2", 26576: "C4B3", 25287: "C4B4", 29281: "C4B5", 20137: "C4B6", 22982: "C4B7", 27597: "C4B8", 22675: "C4B9", 26286: "C4BA", 24149: "C4BB", 21215: "C4BC", 24917: "C4BD", 26408: "C4BE", 30446: "C4BF", 30566: "C4C0", 29287: "C4C1", 31302: "C4C2", 25343: "C4C3", 21738: "C4C4", 21584: "C4C5", 38048: "C4C6", 37027: "C4C7", 23068: "C4C8", 32435: "C4C9", 27670: "C4CA", 20035: "C4CB", 22902: "C4CC", 32784: "C4CD", 22856: "C4CE", 21335: "C4CF", 30007: "C4D0", 38590: "C4D1", 22218: "C4D2", 25376: "C4D3", 33041: "C4D4", 24700: "C4D5", 38393: "C4D6", 28118: "C4D7", 21602: "C4D8", 39297: "C4D9", 20869: "C4DA", 23273: "C4DB", 33021: "C4DC", 22958: "C4DD", 38675: "C4DE", 20522: "C4DF", 27877: "C4E0", 23612: "C4E1", 25311: "C4E2", 20320: "C4E3", 21311: "C4E4", 33147: "C4E5", 36870: "C4E6", 28346: "C4E7", 34091: "C4E8", 25288: "C4E9", 24180: "C4EA", 30910: "C4EB", 25781: "C4EC", 25467: "C4ED", 24565: "C4EE", 23064: "C4EF", 37247: "C4F0", 40479: "C4F1", 23615: "C4F2", 25423: "C4F3", 32834: "C4F4", 23421: "C4F5", 21870: "C4F6", 38218: "C4F7", 38221: "C4F8", 28037: "C4F9", 24744: "C4FA", 26592: "C4FB", 29406: "C4FC", 20957: "C4FD", 23425: "C4FE", 25319: "C5A1", 27870: "C5A2", 29275: "C5A3", 25197: "C5A4", 38062: "C5A5", 32445: "C5A6", 33043: "C5A7", 27987: "C5A8", 20892: "C5A9", 24324: "C5AA", 22900: "C5AB", 21162: "C5AC", 24594: "C5AD", 22899: "C5AE", 26262: "C5AF", 34384: "C5B0", 30111: "C5B1", 25386: "C5B2", 25062: "C5B3", 31983: "C5B4", 35834: "C5B5", 21734: "C5B6", 27431: "C5B7", 40485: "C5B8", 27572: "C5B9", 34261: "C5BA", 21589: "C5BB", 20598: "C5BC", 27812: "C5BD", 21866: "C5BE", 36276: "C5BF", 29228: "C5C0", 24085: "C5C1", 24597: "C5C2", 29750: "C5C3", 25293: "C5C4", 25490: "C5C5", 29260: "C5C6", 24472: "C5C7", 28227: "C5C8", 27966: "C5C9", 25856: "C5CA", 28504: "C5CB", 30424: "C5CC", 30928: "C5CD", 30460: "C5CE", 30036: "C5CF", 21028: "C5D0", 21467: "C5D1", 20051: "C5D2", 24222: "C5D3", 26049: "C5D4", 32810: "C5D5", 32982: "C5D6", 25243: "C5D7", 21638: "C5D8", 21032: "C5D9", 28846: "C5DA", 34957: "C5DB", 36305: "C5DC", 27873: "C5DD", 21624: "C5DE", 32986: "C5DF", 22521: "C5E0", 35060: "C5E1", 36180: "C5E2", 38506: "C5E3", 37197: "C5E4", 20329: "C5E5", 27803: "C5E6", 21943: "C5E7", 30406: "C5E8", 30768: "C5E9", 25256: "C5EA", 28921: "C5EB", 28558: "C5EC", 24429: "C5ED", 34028: "C5EE", 26842: "C5EF", 30844: "C5F0", 31735: "C5F1", 33192: "C5F2", 26379: "C5F3", 40527: "C5F4", 25447: "C5F5", 30896: "C5F6", 22383: "C5F7", 30738: "C5F8", 38713: "C5F9", 25209: "C5FA", 25259: "C5FB", 21128: "C5FC", 29749: "C5FD", 27607: "C5FE", 21860: "C6A1", 33086: "C6A2", 30130: "C6A3", 30382: "C6A4", 21305: "C6A5", 30174: "C6A6", 20731: "C6A7", 23617: "C6A8", 35692: "C6A9", 31687: "C6AA", 20559: "C6AB", 29255: "C6AC", 39575: "C6AD", 39128: "C6AE", 28418: "C6AF", 29922: "C6B0", 31080: "C6B1", 25735: "C6B2", 30629: "C6B3", 25340: "C6B4", 39057: "C6B5", 36139: "C6B6", 21697: "C6B7", 32856: "C6B8", 20050: "C6B9", 22378: "C6BA", 33529: "C6BB", 33805: "C6BC", 24179: "C6BD", 20973: "C6BE", 29942: "C6BF", 35780: "C6C0", 23631: "C6C1", 22369: "C6C2", 27900: "C6C3", 39047: "C6C4", 23110: "C6C5", 30772: "C6C6", 39748: "C6C7", 36843: "C6C8", 31893: "C6C9", 21078: "C6CA", 25169: "C6CB", 38138: "C6CC", 20166: "C6CD", 33670: "C6CE", 33889: "C6CF", 33769: "C6D0", 33970: "C6D1", 22484: "C6D2", 26420: "C6D3", 22275: "C6D4", 26222: "C6D5", 28006: "C6D6", 35889: "C6D7", 26333: "C6D8", 28689: "C6D9", 26399: "C6DA", 27450: "C6DB", 26646: "C6DC", 25114: "C6DD", 22971: "C6DE", 19971: "C6DF", 20932: "C6E0", 28422: "C6E1", 26578: "C6E2", 27791: "C6E3", 20854: "C6E4", 26827: "C6E5", 22855: "C6E6", 27495: "C6E7", 30054: "C6E8", 23822: "C6E9", 33040: "C6EA", 40784: "C6EB", 26071: "C6EC", 31048: "C6ED", 31041: "C6EE", 39569: "C6EF", 36215: "C6F0", 23682: "C6F1", 20062: "C6F2", 20225: "C6F3", 21551: "C6F4", 22865: "C6F5", 30732: "C6F6", 22120: "C6F7", 27668: "C6F8", 36804: "C6F9", 24323: "C6FA", 27773: "C6FB", 27875: "C6FC", 35755: "C6FD", 25488: "C6FE", 24688: "C7A1", 27965: "C7A2", 29301: "C7A3", 25190: "C7A4", 38030: "C7A5", 38085: "C7A6", 21315: "C7A7", 36801: "C7A8", 31614: "C7A9", 20191: "C7AA", 35878: "C7AB", 20094: "C7AC", 40660: "C7AD", 38065: "C7AE", 38067: "C7AF", 21069: "C7B0", 28508: "C7B1", 36963: "C7B2", 27973: "C7B3", 35892: "C7B4", 22545: "C7B5", 23884: "C7B6", 27424: "C7B7", 27465: "C7B8", 26538: "C7B9", 21595: "C7BA", 33108: "C7BB", 32652: "C7BC", 22681: "C7BD", 34103: "C7BE", 24378: "C7BF", 25250: "C7C0", 27207: "C7C1", 38201: "C7C2", 25970: "C7C3", 24708: "C7C4", 26725: "C7C5", 30631: "C7C6", 20052: "C7C7", 20392: "C7C8", 24039: "C7C9", 38808: "C7CA", 25772: "C7CB", 32728: "C7CC", 23789: "C7CD", 20431: "C7CE", 31373: "C7CF", 20999: "C7D0", 33540: "C7D1", 19988: "C7D2", 24623: "C7D3", 31363: "C7D4", 38054: "C7D5", 20405: "C7D6", 20146: "C7D7", 31206: "C7D8", 29748: "C7D9", 21220: "C7DA", 33465: "C7DB", 25810: "C7DC", 31165: "C7DD", 23517: "C7DE", 27777: "C7DF", 38738: "C7E0", 36731: "C7E1", 27682: "C7E2", 20542: "C7E3", 21375: "C7E4", 28165: "C7E5", 25806: "C7E6", 26228: "C7E7", 27696: "C7E8", 24773: "C7E9", 39031: "C7EA", 35831: "C7EB", 24198: "C7EC", 29756: "C7ED", 31351: "C7EE", 31179: "C7EF", 19992: "C7F0", 37041: "C7F1", 29699: "C7F2", 27714: "C7F3", 22234: "C7F4", 37195: "C7F5", 27845: "C7F6", 36235: "C7F7", 21306: "C7F8", 34502: "C7F9", 26354: "C7FA", 36527: "C7FB", 23624: "C7FC", 39537: "C7FD", 28192: "C7FE", 21462: "C8A1", 23094: "C8A2", 40843: "C8A3", 36259: "C8A4", 21435: "C8A5", 22280: "C8A6", 39079: "C8A7", 26435: "C8A8", 37275: "C8A9", 27849: "C8AA", 20840: "C8AB", 30154: "C8AC", 25331: "C8AD", 29356: "C8AE", 21048: "C8AF", 21149: "C8B0", 32570: "C8B1", 28820: "C8B2", 30264: "C8B3", 21364: "C8B4", 40522: "C8B5", 27063: "C8B6", 30830: "C8B7", 38592: "C8B8", 35033: "C8B9", 32676: "C8BA", 28982: "C8BB", 29123: "C8BC", 20873: "C8BD", 26579: "C8BE", 29924: "C8BF", 22756: "C8C0", 25880: "C8C1", 22199: "C8C2", 35753: "C8C3", 39286: "C8C4", 25200: "C8C5", 32469: "C8C6", 24825: "C8C7", 28909: "C8C8", 22764: "C8C9", 20161: "C8CA", 20154: "C8CB", 24525: "C8CC", 38887: "C8CD", 20219: "C8CE", 35748: "C8CF", 20995: "C8D0", 22922: "C8D1", 32427: "C8D2", 25172: "C8D3", 20173: "C8D4", 26085: "C8D5", 25102: "C8D6", 33592: "C8D7", 33993: "C8D8", 33635: "C8D9", 34701: "C8DA", 29076: "C8DB", 28342: "C8DC", 23481: "C8DD", 32466: "C8DE", 20887: "C8DF", 25545: "C8E0", 26580: "C8E1", 32905: "C8E2", 33593: "C8E3", 34837: "C8E4", 20754: "C8E5", 23418: "C8E6", 22914: "C8E7", 36785: "C8E8", 20083: "C8E9", 27741: "C8EA", 20837: "C8EB", 35109: "C8EC", 36719: "C8ED", 38446: "C8EE", 34122: "C8EF", 29790: "C8F0", 38160: "C8F1", 38384: "C8F2", 28070: "C8F3", 33509: "C8F4", 24369: "C8F5", 25746: "C8F6", 27922: "C8F7", 33832: "C8F8", 33134: "C8F9", 40131: "C8FA", 22622: "C8FB", 36187: "C8FC", 19977: "C8FD", 21441: "C8FE", 20254: "C9A1", 25955: "C9A2", 26705: "C9A3", 21971: "C9A4", 20007: "C9A5", 25620: "C9A6", 39578: "C9A7", 25195: "C9A8", 23234: "C9A9", 29791: "C9AA", 33394: "C9AB", 28073: "C9AC", 26862: "C9AD", 20711: "C9AE", 33678: "C9AF", 30722: "C9B0", 26432: "C9B1", 21049: "C9B2", 27801: "C9B3", 32433: "C9B4", 20667: "C9B5", 21861: "C9B6", 29022: "C9B7", 31579: "C9B8", 26194: "C9B9", 29642: "C9BA", 33515: "C9BB", 26441: "C9BC", 23665: "C9BD", 21024: "C9BE", 29053: "C9BF", 34923: "C9C0", 38378: "C9C1", 38485: "C9C2", 25797: "C9C3", 36193: "C9C4", 33203: "C9C5", 21892: "C9C6", 27733: "C9C7", 25159: "C9C8", 32558: "C9C9", 22674: "C9CA", 20260: "C9CB", 21830: "C9CC", 36175: "C9CD", 26188: "C9CE", 19978: "C9CF", 23578: "C9D0", 35059: "C9D1", 26786: "C9D2", 25422: "C9D3", 31245: "C9D4", 28903: "C9D5", 33421: "C9D6", 21242: "C9D7", 38902: "C9D8", 23569: "C9D9", 21736: "C9DA", 37045: "C9DB", 32461: "C9DC", 22882: "C9DD", 36170: "C9DE", 34503: "C9DF", 33292: "C9E0", 33293: "C9E1", 36198: "C9E2", 25668: "C9E3", 23556: "C9E4", 24913: "C9E5", 28041: "C9E6", 31038: "C9E7", 35774: "C9E8", 30775: "C9E9", 30003: "C9EA", 21627: "C9EB", 20280: "C9EC", 36523: "C9ED", 28145: "C9EE", 23072: "C9EF", 32453: "C9F0", 31070: "C9F1", 27784: "C9F2", 23457: "C9F3", 23158: "C9F4", 29978: "C9F5", 32958: "C9F6", 24910: "C9F7", 28183: "C9F8", 22768: "C9F9", 29983: "C9FA", 29989: "C9FB", 29298: "C9FC", 21319: "C9FD", 32499: "C9FE", 30465: "CAA1", 30427: "CAA2", 21097: "CAA3", 32988: "CAA4", 22307: "CAA5", 24072: "CAA6", 22833: "CAA7", 29422: "CAA8", 26045: "CAA9", 28287: "CAAA", 35799: "CAAB", 23608: "CAAC", 34417: "CAAD", 21313: "CAAE", 30707: "CAAF", 25342: "CAB0", 26102: "CAB1", 20160: "CAB2", 39135: "CAB3", 34432: "CAB4", 23454: "CAB5", 35782: "CAB6", 21490: "CAB7", 30690: "CAB8", 20351: "CAB9", 23630: "CABA", 39542: "CABB", 22987: "CABC", 24335: "CABD", 31034: "CABE", 22763: "CABF", 19990: "CAC0", 26623: "CAC1", 20107: "CAC2", 25325: "CAC3", 35475: "CAC4", 36893: "CAC5", 21183: "CAC6", 26159: "CAC7", 21980: "CAC8", 22124: "CAC9", 36866: "CACA", 20181: "CACB", 20365: "CACC", 37322: "CACD", 39280: "CACE", 27663: "CACF", 24066: "CAD0", 24643: "CAD1", 23460: "CAD2", 35270: "CAD3", 35797: "CAD4", 25910: "CAD5", 25163: "CAD6", 39318: "CAD7", 23432: "CAD8", 23551: "CAD9", 25480: "CADA", 21806: "CADB", 21463: "CADC", 30246: "CADD", 20861: "CADE", 34092: "CADF", 26530: "CAE0", 26803: "CAE1", 27530: "CAE2", 25234: "CAE3", 36755: "CAE4", 21460: "CAE5", 33298: "CAE6", 28113: "CAE7", 30095: "CAE8", 20070: "CAE9", 36174: "CAEA", 23408: "CAEB", 29087: "CAEC", 34223: "CAED", 26257: "CAEE", 26329: "CAEF", 32626: "CAF0", 34560: "CAF1", 40653: "CAF2", 40736: "CAF3", 23646: "CAF4", 26415: "CAF5", 36848: "CAF6", 26641: "CAF7", 26463: "CAF8", 25101: "CAF9", 31446: "CAFA", 22661: "CAFB", 24246: "CAFC", 25968: "CAFD", 28465: "CAFE", 24661: "CBA1", 21047: "CBA2", 32781: "CBA3", 25684: "CBA4", 34928: "CBA5", 29993: "CBA6", 24069: "CBA7", 26643: "CBA8", 25332: "CBA9", 38684: "CBAA", 21452: "CBAB", 29245: "CBAC", 35841: "CBAD", 27700: "CBAE", 30561: "CBAF", 31246: "CBB0", 21550: "CBB1", 30636: "CBB2", 39034: "CBB3", 33308: "CBB4", 35828: "CBB5", 30805: "CBB6", 26388: "CBB7", 28865: "CBB8", 26031: "CBB9", 25749: "CBBA", 22070: "CBBB", 24605: "CBBC", 31169: "CBBD", 21496: "CBBE", 19997: "CBBF", 27515: "CBC0", 32902: "CBC1", 23546: "CBC2", 21987: "CBC3", 22235: "CBC4", 20282: "CBC5", 20284: "CBC6", 39282: "CBC7", 24051: "CBC8", 26494: "CBC9", 32824: "CBCA", 24578: "CBCB", 39042: "CBCC", 36865: "CBCD", 23435: "CBCE", 35772: "CBCF", 35829: "CBD0", 25628: "CBD1", 33368: "CBD2", 25822: "CBD3", 22013: "CBD4", 33487: "CBD5", 37221: "CBD6", 20439: "CBD7", 32032: "CBD8", 36895: "CBD9", 31903: "CBDA", 20723: "CBDB", 22609: "CBDC", 28335: "CBDD", 23487: "CBDE", 35785: "CBDF", 32899: "CBE0", 37240: "CBE1", 33948: "CBE2", 31639: "CBE3", 34429: "CBE4", 38539: "CBE5", 38543: "CBE6", 32485: "CBE7", 39635: "CBE8", 30862: "CBE9", 23681: "CBEA", 31319: "CBEB", 36930: "CBEC", 38567: "CBED", 31071: "CBEE", 23385: "CBEF", 25439: "CBF0", 31499: "CBF1", 34001: "CBF2", 26797: "CBF3", 21766: "CBF4", 32553: "CBF5", 29712: "CBF6", 32034: "CBF7", 38145: "CBF8", 25152: "CBF9", 22604: "CBFA", 20182: "CBFB", 23427: "CBFC", 22905: "CBFD", 22612: "CBFE", 29549: "CCA1", 25374: "CCA2", 36427: "CCA3", 36367: "CCA4", 32974: "CCA5", 33492: "CCA6", 25260: "CCA7", 21488: "CCA8", 27888: "CCA9", 37214: "CCAA", 22826: "CCAB", 24577: "CCAC", 27760: "CCAD", 22349: "CCAE", 25674: "CCAF", 36138: "CCB0", 30251: "CCB1", 28393: "CCB2", 22363: "CCB3", 27264: "CCB4", 30192: "CCB5", 28525: "CCB6", 35885: "CCB7", 35848: "CCB8", 22374: "CCB9", 27631: "CCBA", 34962: "CCBB", 30899: "CCBC", 25506: "CCBD", 21497: "CCBE", 28845: "CCBF", 27748: "CCC0", 22616: "CCC1", 25642: "CCC2", 22530: "CCC3", 26848: "CCC4", 33179: "CCC5", 21776: "CCC6", 31958: "CCC7", 20504: "CCC8", 36538: "CCC9", 28108: "CCCA", 36255: "CCCB", 28907: "CCCC", 25487: "CCCD", 28059: "CCCE", 28372: "CCCF", 32486: "CCD0", 33796: "CCD1", 26691: "CCD2", 36867: "CCD3", 28120: "CCD4", 38518: "CCD5", 35752: "CCD6", 22871: "CCD7", 29305: "CCD8", 34276: "CCD9", 33150: "CCDA", 30140: "CCDB", 35466: "CCDC", 26799: "CCDD", 21076: "CCDE", 36386: "CCDF", 38161: "CCE0", 25552: "CCE1", 39064: "CCE2", 36420: "CCE3", 21884: "CCE4", 20307: "CCE5", 26367: "CCE6", 22159: "CCE7", 24789: "CCE8", 28053: "CCE9", 21059: "CCEA", 23625: "CCEB", 22825: "CCEC", 28155: "CCED", 22635: "CCEE", 3e4: "CCEF", 29980: "CCF0", 24684: "CCF1", 33300: "CCF2", 33094: "CCF3", 25361: "CCF4", 26465: "CCF5", 36834: "CCF6", 30522: "CCF7", 36339: "CCF8", 36148: "CCF9", 38081: "CCFA", 24086: "CCFB", 21381: "CCFC", 21548: "CCFD", 28867: "CCFE", 27712: "CDA1", 24311: "CDA2", 20572: "CDA3", 20141: "CDA4", 24237: "CDA5", 25402: "CDA6", 33351: "CDA7", 36890: "CDA8", 26704: "CDA9", 37230: "CDAA", 30643: "CDAB", 21516: "CDAC", 38108: "CDAD", 24420: "CDAE", 31461: "CDAF", 26742: "CDB0", 25413: "CDB1", 31570: "CDB2", 32479: "CDB3", 30171: "CDB4", 20599: "CDB5", 25237: "CDB6", 22836: "CDB7", 36879: "CDB8", 20984: "CDB9", 31171: "CDBA", 31361: "CDBB", 22270: "CDBC", 24466: "CDBD", 36884: "CDBE", 28034: "CDBF", 23648: "CDC0", 22303: "CDC1", 21520: "CDC2", 20820: "CDC3", 28237: "CDC4", 22242: "CDC5", 25512: "CDC6", 39059: "CDC7", 33151: "CDC8", 34581: "CDC9", 35114: "CDCA", 36864: "CDCB", 21534: "CDCC", 23663: "CDCD", 33216: "CDCE", 25302: "CDCF", 25176: "CDD0", 33073: "CDD1", 40501: "CDD2", 38464: "CDD3", 39534: "CDD4", 39548: "CDD5", 26925: "CDD6", 22949: "CDD7", 25299: "CDD8", 21822: "CDD9", 25366: "CDDA", 21703: "CDDB", 34521: "CDDC", 27964: "CDDD", 23043: "CDDE", 29926: "CDDF", 34972: "CDE0", 27498: "CDE1", 22806: "CDE2", 35916: "CDE3", 24367: "CDE4", 28286: "CDE5", 29609: "CDE6", 39037: "CDE7", 20024: "CDE8", 28919: "CDE9", 23436: "CDEA", 30871: "CDEB", 25405: "CDEC", 26202: "CDED", 30358: "CDEE", 24779: "CDEF", 23451: "CDF0", 23113: "CDF1", 19975: "CDF2", 33109: "CDF3", 27754: "CDF4", 29579: "CDF5", 20129: "CDF6", 26505: "CDF7", 32593: "CDF8", 24448: "CDF9", 26106: "CDFA", 26395: "CDFB", 24536: "CDFC", 22916: "CDFD", 23041: "CDFE", 24013: "CEA1", 24494: "CEA2", 21361: "CEA3", 38886: "CEA4", 36829: "CEA5", 26693: "CEA6", 22260: "CEA7", 21807: "CEA8", 24799: "CEA9", 20026: "CEAA", 28493: "CEAB", 32500: "CEAC", 33479: "CEAD", 33806: "CEAE", 22996: "CEAF", 20255: "CEB0", 20266: "CEB1", 23614: "CEB2", 32428: "CEB3", 26410: "CEB4", 34074: "CEB5", 21619: "CEB6", 30031: "CEB7", 32963: "CEB8", 21890: "CEB9", 39759: "CEBA", 20301: "CEBB", 28205: "CEBC", 35859: "CEBD", 23561: "CEBE", 24944: "CEBF", 21355: "CEC0", 30239: "CEC1", 28201: "CEC2", 34442: "CEC3", 25991: "CEC4", 38395: "CEC5", 32441: "CEC6", 21563: "CEC7", 31283: "CEC8", 32010: "CEC9", 38382: "CECA", 21985: "CECB", 32705: "CECC", 29934: "CECD", 25373: "CECE", 34583: "CECF", 28065: "CED0", 31389: "CED1", 25105: "CED2", 26017: "CED3", 21351: "CED4", 25569: "CED5", 27779: "CED6", 24043: "CED7", 21596: "CED8", 38056: "CED9", 20044: "CEDA", 27745: "CEDB", 35820: "CEDC", 23627: "CEDD", 26080: "CEDE", 33436: "CEDF", 26791: "CEE0", 21566: "CEE1", 21556: "CEE2", 27595: "CEE3", 27494: "CEE4", 20116: "CEE5", 25410: "CEE6", 21320: "CEE7", 33310: "CEE8", 20237: "CEE9", 20398: "CEEA", 22366: "CEEB", 25098: "CEEC", 38654: "CEED", 26212: "CEEE", 29289: "CEEF", 21247: "CEF0", 21153: "CEF1", 24735: "CEF2", 35823: "CEF3", 26132: "CEF4", 29081: "CEF5", 26512: "CEF6", 35199: "CEF7", 30802: "CEF8", 30717: "CEF9", 26224: "CEFA", 22075: "CEFB", 21560: "CEFC", 38177: "CEFD", 29306: "CEFE", 31232: "CFA1", 24687: "CFA2", 24076: "CFA3", 24713: "CFA4", 33181: "CFA5", 22805: "CFA6", 24796: "CFA7", 29060: "CFA8", 28911: "CFA9", 28330: "CFAA", 27728: "CFAB", 29312: "CFAC", 27268: "CFAD", 34989: "CFAE", 24109: "CFAF", 20064: "CFB0", 23219: "CFB1", 21916: "CFB2", 38115: "CFB3", 27927: "CFB4", 31995: "CFB5", 38553: "CFB6", 25103: "CFB7", 32454: "CFB8", 30606: "CFB9", 34430: "CFBA", 21283: "CFBB", 38686: "CFBC", 36758: "CFBD", 26247: "CFBE", 23777: "CFBF", 20384: "CFC0", 29421: "CFC1", 19979: "CFC2", 21414: "CFC3", 22799: "CFC4", 21523: "CFC5", 25472: "CFC6", 38184: "CFC7", 20808: "CFC8", 20185: "CFC9", 40092: "CFCA", 32420: "CFCB", 21688: "CFCC", 36132: "CFCD", 34900: "CFCE", 33335: "CFCF", 38386: "CFD0", 28046: "CFD1", 24358: "CFD2", 23244: "CFD3", 26174: "CFD4", 38505: "CFD5", 29616: "CFD6", 29486: "CFD7", 21439: "CFD8", 33146: "CFD9", 39301: "CFDA", 32673: "CFDB", 23466: "CFDC", 38519: "CFDD", 38480: "CFDE", 32447: "CFDF", 30456: "CFE0", 21410: "CFE1", 38262: "CFE2", 39321: "CFE3", 31665: "CFE4", 35140: "CFE5", 28248: "CFE6", 20065: "CFE7", 32724: "CFE8", 31077: "CFE9", 35814: "CFEA", 24819: "CFEB", 21709: "CFEC", 20139: "CFED", 39033: "CFEE", 24055: "CFEF", 27233: "CFF0", 20687: "CFF1", 21521: "CFF2", 35937: "CFF3", 33831: "CFF4", 30813: "CFF5", 38660: "CFF6", 21066: "CFF7", 21742: "CFF8", 22179: "CFF9", 38144: "CFFA", 28040: "CFFB", 23477: "CFFC", 28102: "CFFD", 26195: "CFFE", 23567: "D0A1", 23389: "D0A2", 26657: "D0A3", 32918: "D0A4", 21880: "D0A5", 31505: "D0A6", 25928: "D0A7", 26964: "D0A8", 20123: "D0A9", 27463: "D0AA", 34638: "D0AB", 38795: "D0AC", 21327: "D0AD", 25375: "D0AE", 25658: "D0AF", 37034: "D0B0", 26012: "D0B1", 32961: "D0B2", 35856: "D0B3", 20889: "D0B4", 26800: "D0B5", 21368: "D0B6", 34809: "D0B7", 25032: "D0B8", 27844: "D0B9", 27899: "D0BA", 35874: "D0BB", 23633: "D0BC", 34218: "D0BD", 33455: "D0BE", 38156: "D0BF", 27427: "D0C0", 36763: "D0C1", 26032: "D0C2", 24571: "D0C3", 24515: "D0C4", 20449: "D0C5", 34885: "D0C6", 26143: "D0C7", 33125: "D0C8", 29481: "D0C9", 24826: "D0CA", 20852: "D0CB", 21009: "D0CC", 22411: "D0CD", 24418: "D0CE", 37026: "D0CF", 34892: "D0D0", 37266: "D0D1", 24184: "D0D2", 26447: "D0D3", 24615: "D0D4", 22995: "D0D5", 20804: "D0D6", 20982: "D0D7", 33016: "D0D8", 21256: "D0D9", 27769: "D0DA", 38596: "D0DB", 29066: "D0DC", 20241: "D0DD", 20462: "D0DE", 32670: "D0DF", 26429: "D0E0", 21957: "D0E1", 38152: "D0E2", 31168: "D0E3", 34966: "D0E4", 32483: "D0E5", 22687: "D0E6", 25100: "D0E7", 38656: "D0E8", 34394: "D0E9", 22040: "D0EA", 39035: "D0EB", 24464: "D0EC", 35768: "D0ED", 33988: "D0EE", 37207: "D0EF", 21465: "D0F0", 26093: "D0F1", 24207: "D0F2", 30044: "D0F3", 24676: "D0F4", 32110: "D0F5", 23167: "D0F6", 32490: "D0F7", 32493: "D0F8", 36713: "D0F9", 21927: "D0FA", 23459: "D0FB", 24748: "D0FC", 26059: "D0FD", 29572: "D0FE", 36873: "D1A1", 30307: "D1A2", 30505: "D1A3", 32474: "D1A4", 38772: "D1A5", 34203: "D1A6", 23398: "D1A7", 31348: "D1A8", 38634: "D1A9", 34880: "D1AA", 21195: "D1AB", 29071: "D1AC", 24490: "D1AD", 26092: "D1AE", 35810: "D1AF", 23547: "D1B0", 39535: "D1B1", 24033: "D1B2", 27529: "D1B3", 27739: "D1B4", 35757: "D1B5", 35759: "D1B6", 36874: "D1B7", 36805: "D1B8", 21387: "D1B9", 25276: "D1BA", 40486: "D1BB", 40493: "D1BC", 21568: "D1BD", 20011: "D1BE", 33469: "D1BF", 29273: "D1C0", 34460: "D1C1", 23830: "D1C2", 34905: "D1C3", 28079: "D1C4", 38597: "D1C5", 21713: "D1C6", 20122: "D1C7", 35766: "D1C8", 28937: "D1C9", 21693: "D1CA", 38409: "D1CB", 28895: "D1CC", 28153: "D1CD", 30416: "D1CE", 20005: "D1CF", 30740: "D1D0", 34578: "D1D1", 23721: "D1D2", 24310: "D1D3", 35328: "D1D4", 39068: "D1D5", 38414: "D1D6", 28814: "D1D7", 27839: "D1D8", 22852: "D1D9", 25513: "D1DA", 30524: "D1DB", 34893: "D1DC", 28436: "D1DD", 33395: "D1DE", 22576: "D1DF", 29141: "D1E0", 21388: "D1E1", 30746: "D1E2", 38593: "D1E3", 21761: "D1E4", 24422: "D1E5", 28976: "D1E6", 23476: "D1E7", 35866: "D1E8", 39564: "D1E9", 27523: "D1EA", 22830: "D1EB", 40495: "D1EC", 31207: "D1ED", 26472: "D1EE", 25196: "D1EF", 20335: "D1F0", 30113: "D1F1", 32650: "D1F2", 27915: "D1F3", 38451: "D1F4", 27687: "D1F5", 20208: "D1F6", 30162: "D1F7", 20859: "D1F8", 26679: "D1F9", 28478: "D1FA", 36992: "D1FB", 33136: "D1FC", 22934: "D1FD", 29814: "D1FE", 25671: "D2A1", 23591: "D2A2", 36965: "D2A3", 31377: "D2A4", 35875: "D2A5", 23002: "D2A6", 21676: "D2A7", 33280: "D2A8", 33647: "D2A9", 35201: "D2AA", 32768: "D2AB", 26928: "D2AC", 22094: "D2AD", 32822: "D2AE", 29239: "D2AF", 37326: "D2B0", 20918: "D2B1", 20063: "D2B2", 39029: "D2B3", 25494: "D2B4", 19994: "D2B5", 21494: "D2B6", 26355: "D2B7", 33099: "D2B8", 22812: "D2B9", 28082: "D2BA", 19968: "D2BB", 22777: "D2BC", 21307: "D2BD", 25558: "D2BE", 38129: "D2BF", 20381: "D2C0", 20234: "D2C1", 34915: "D2C2", 39056: "D2C3", 22839: "D2C4", 36951: "D2C5", 31227: "D2C6", 20202: "D2C7", 33008: "D2C8", 30097: "D2C9", 27778: "D2CA", 23452: "D2CB", 23016: "D2CC", 24413: "D2CD", 26885: "D2CE", 34433: "D2CF", 20506: "D2D0", 24050: "D2D1", 20057: "D2D2", 30691: "D2D3", 20197: "D2D4", 33402: "D2D5", 25233: "D2D6", 26131: "D2D7", 37009: "D2D8", 23673: "D2D9", 20159: "D2DA", 24441: "D2DB", 33222: "D2DC", 36920: "D2DD", 32900: "D2DE", 30123: "D2DF", 20134: "D2E0", 35028: "D2E1", 24847: "D2E2", 27589: "D2E3", 24518: "D2E4", 20041: "D2E5", 30410: "D2E6", 28322: "D2E7", 35811: "D2E8", 35758: "D2E9", 35850: "D2EA", 35793: "D2EB", 24322: "D2EC", 32764: "D2ED", 32716: "D2EE", 32462: "D2EF", 33589: "D2F0", 33643: "D2F1", 22240: "D2F2", 27575: "D2F3", 38899: "D2F4", 38452: "D2F5", 23035: "D2F6", 21535: "D2F7", 38134: "D2F8", 28139: "D2F9", 23493: "D2FA", 39278: "D2FB", 23609: "D2FC", 24341: "D2FD", 38544: "D2FE", 21360: "D3A1", 33521: "D3A2", 27185: "D3A3", 23156: "D3A4", 40560: "D3A5", 24212: "D3A6", 32552: "D3A7", 33721: "D3A8", 33828: "D3A9", 33829: "D3AA", 33639: "D3AB", 34631: "D3AC", 36814: "D3AD", 36194: "D3AE", 30408: "D3AF", 24433: "D3B0", 39062: "D3B1", 30828: "D3B2", 26144: "D3B3", 21727: "D3B4", 25317: "D3B5", 20323: "D3B6", 33219: "D3B7", 30152: "D3B8", 24248: "D3B9", 38605: "D3BA", 36362: "D3BB", 34553: "D3BC", 21647: "D3BD", 27891: "D3BE", 28044: "D3BF", 27704: "D3C0", 24703: "D3C1", 21191: "D3C2", 29992: "D3C3", 24189: "D3C4", 20248: "D3C5", 24736: "D3C6", 24551: "D3C7", 23588: "D3C8", 30001: "D3C9", 37038: "D3CA", 38080: "D3CB", 29369: "D3CC", 27833: "D3CD", 28216: "D3CE", 37193: "D3CF", 26377: "D3D0", 21451: "D3D1", 21491: "D3D2", 20305: "D3D3", 37321: "D3D4", 35825: "D3D5", 21448: "D3D6", 24188: "D3D7", 36802: "D3D8", 28132: "D3D9", 20110: "D3DA", 30402: "D3DB", 27014: "D3DC", 34398: "D3DD", 24858: "D3DE", 33286: "D3DF", 20313: "D3E0", 20446: "D3E1", 36926: "D3E2", 40060: "D3E3", 24841: "D3E4", 28189: "D3E5", 28180: "D3E6", 38533: "D3E7", 20104: "D3E8", 23089: "D3E9", 38632: "D3EA", 19982: "D3EB", 23679: "D3EC", 31161: "D3ED", 23431: "D3EE", 35821: "D3EF", 32701: "D3F0", 29577: "D3F1", 22495: "D3F2", 33419: "D3F3", 37057: "D3F4", 21505: "D3F5", 36935: "D3F6", 21947: "D3F7", 23786: "D3F8", 24481: "D3F9", 24840: "D3FA", 27442: "D3FB", 29425: "D3FC", 32946: "D3FD", 35465: "D3FE", 28020: "D4A1", 23507: "D4A2", 35029: "D4A3", 39044: "D4A4", 35947: "D4A5", 39533: "D4A6", 40499: "D4A7", 28170: "D4A8", 20900: "D4A9", 20803: "D4AA", 22435: "D4AB", 34945: "D4AC", 21407: "D4AD", 25588: "D4AE", 36757: "D4AF", 22253: "D4B0", 21592: "D4B1", 22278: "D4B2", 29503: "D4B3", 28304: "D4B4", 32536: "D4B5", 36828: "D4B6", 33489: "D4B7", 24895: "D4B8", 24616: "D4B9", 38498: "D4BA", 26352: "D4BB", 32422: "D4BC", 36234: "D4BD", 36291: "D4BE", 38053: "D4BF", 23731: "D4C0", 31908: "D4C1", 26376: "D4C2", 24742: "D4C3", 38405: "D4C4", 32792: "D4C5", 20113: "D4C6", 37095: "D4C7", 21248: "D4C8", 38504: "D4C9", 20801: "D4CA", 36816: "D4CB", 34164: "D4CC", 37213: "D4CD", 26197: "D4CE", 38901: "D4CF", 23381: "D4D0", 21277: "D4D1", 30776: "D4D2", 26434: "D4D3", 26685: "D4D4", 21705: "D4D5", 28798: "D4D6", 23472: "D4D7", 36733: "D4D8", 20877: "D4D9", 22312: "D4DA", 21681: "D4DB", 25874: "D4DC", 26242: "D4DD", 36190: "D4DE", 36163: "D4DF", 33039: "D4E0", 33900: "D4E1", 36973: "D4E2", 31967: "D4E3", 20991: "D4E4", 34299: "D4E5", 26531: "D4E6", 26089: "D4E7", 28577: "D4E8", 34468: "D4E9", 36481: "D4EA", 22122: "D4EB", 36896: "D4EC", 30338: "D4ED", 28790: "D4EE", 29157: "D4EF", 36131: "D4F0", 25321: "D4F1", 21017: "D4F2", 27901: "D4F3", 36156: "D4F4", 24590: "D4F5", 22686: "D4F6", 24974: "D4F7", 26366: "D4F8", 36192: "D4F9", 25166: "D4FA", 21939: "D4FB", 28195: "D4FC", 26413: "D4FD", 36711: "D4FE", 38113: "D5A1", 38392: "D5A2", 30504: "D5A3", 26629: "D5A4", 27048: "D5A5", 21643: "D5A6", 20045: "D5A7", 28856: "D5A8", 35784: "D5A9", 25688: "D5AA", 25995: "D5AB", 23429: "D5AC", 31364: "D5AD", 20538: "D5AE", 23528: "D5AF", 30651: "D5B0", 27617: "D5B1", 35449: "D5B2", 31896: "D5B3", 27838: "D5B4", 30415: "D5B5", 26025: "D5B6", 36759: "D5B7", 23853: "D5B8", 23637: "D5B9", 34360: "D5BA", 26632: "D5BB", 21344: "D5BC", 25112: "D5BD", 31449: "D5BE", 28251: "D5BF", 32509: "D5C0", 27167: "D5C1", 31456: "D5C2", 24432: "D5C3", 28467: "D5C4", 24352: "D5C5", 25484: "D5C6", 28072: "D5C7", 26454: "D5C8", 19976: "D5C9", 24080: "D5CA", 36134: "D5CB", 20183: "D5CC", 32960: "D5CD", 30260: "D5CE", 38556: "D5CF", 25307: "D5D0", 26157: "D5D1", 25214: "D5D2", 27836: "D5D3", 36213: "D5D4", 29031: "D5D5", 32617: "D5D6", 20806: "D5D7", 32903: "D5D8", 21484: "D5D9", 36974: "D5DA", 25240: "D5DB", 21746: "D5DC", 34544: "D5DD", 36761: "D5DE", 32773: "D5DF", 38167: "D5E0", 34071: "D5E1", 36825: "D5E2", 27993: "D5E3", 29645: "D5E4", 26015: "D5E5", 30495: "D5E6", 29956: "D5E7", 30759: "D5E8", 33275: "D5E9", 36126: "D5EA", 38024: "D5EB", 20390: "D5EC", 26517: "D5ED", 30137: "D5EE", 35786: "D5EF", 38663: "D5F0", 25391: "D5F1", 38215: "D5F2", 38453: "D5F3", 33976: "D5F4", 25379: "D5F5", 30529: "D5F6", 24449: "D5F7", 29424: "D5F8", 20105: "D5F9", 24596: "D5FA", 25972: "D5FB", 25327: "D5FC", 27491: "D5FD", 25919: "D5FE", 24103: "D6A1", 30151: "D6A2", 37073: "D6A3", 35777: "D6A4", 33437: "D6A5", 26525: "D6A6", 25903: "D6A7", 21553: "D6A8", 34584: "D6A9", 30693: "D6AA", 32930: "D6AB", 33026: "D6AC", 27713: "D6AD", 20043: "D6AE", 32455: "D6AF", 32844: "D6B0", 30452: "D6B1", 26893: "D6B2", 27542: "D6B3", 25191: "D6B4", 20540: "D6B5", 20356: "D6B6", 22336: "D6B7", 25351: "D6B8", 27490: "D6B9", 36286: "D6BA", 21482: "D6BB", 26088: "D6BC", 32440: "D6BD", 24535: "D6BE", 25370: "D6BF", 25527: "D6C0", 33267: "D6C1", 33268: "D6C2", 32622: "D6C3", 24092: "D6C4", 23769: "D6C5", 21046: "D6C6", 26234: "D6C7", 31209: "D6C8", 31258: "D6C9", 36136: "D6CA", 28825: "D6CB", 30164: "D6CC", 28382: "D6CD", 27835: "D6CE", 31378: "D6CF", 20013: "D6D0", 30405: "D6D1", 24544: "D6D2", 38047: "D6D3", 34935: "D6D4", 32456: "D6D5", 31181: "D6D6", 32959: "D6D7", 37325: "D6D8", 20210: "D6D9", 20247: "D6DA", 33311: "D6DB", 21608: "D6DC", 24030: "D6DD", 27954: "D6DE", 35788: "D6DF", 31909: "D6E0", 36724: "D6E1", 32920: "D6E2", 24090: "D6E3", 21650: "D6E4", 30385: "D6E5", 23449: "D6E6", 26172: "D6E7", 39588: "D6E8", 29664: "D6E9", 26666: "D6EA", 34523: "D6EB", 26417: "D6EC", 29482: "D6ED", 35832: "D6EE", 35803: "D6EF", 36880: "D6F0", 31481: "D6F1", 28891: "D6F2", 29038: "D6F3", 25284: "D6F4", 30633: "D6F5", 22065: "D6F6", 20027: "D6F7", 33879: "D6F8", 26609: "D6F9", 21161: "D6FA", 34496: "D6FB", 36142: "D6FC", 38136: "D6FD", 31569: "D6FE", 20303: "D7A1", 27880: "D7A2", 31069: "D7A3", 39547: "D7A4", 25235: "D7A5", 29226: "D7A6", 25341: "D7A7", 19987: "D7A8", 30742: "D7A9", 36716: "D7AA", 25776: "D7AB", 36186: "D7AC", 31686: "D7AD", 26729: "D7AE", 24196: "D7AF", 35013: "D7B0", 22918: "D7B1", 25758: "D7B2", 22766: "D7B3", 29366: "D7B4", 26894: "D7B5", 38181: "D7B6", 36861: "D7B7", 36184: "D7B8", 22368: "D7B9", 32512: "D7BA", 35846: "D7BB", 20934: "D7BC", 25417: "D7BD", 25305: "D7BE", 21331: "D7BF", 26700: "D7C0", 29730: "D7C1", 33537: "D7C2", 37196: "D7C3", 21828: "D7C4", 30528: "D7C5", 28796: "D7C6", 27978: "D7C7", 20857: "D7C8", 21672: "D7C9", 36164: "D7CA", 23039: "D7CB", 28363: "D7CC", 28100: "D7CD", 23388: "D7CE", 32043: "D7CF", 20180: "D7D0", 31869: "D7D1", 28371: "D7D2", 23376: "D7D3", 33258: "D7D4", 28173: "D7D5", 23383: "D7D6", 39683: "D7D7", 26837: "D7D8", 36394: "D7D9", 23447: "D7DA", 32508: "D7DB", 24635: "D7DC", 32437: "D7DD", 37049: "D7DE", 36208: "D7DF", 22863: "D7E0", 25549: "D7E1", 31199: "D7E2", 36275: "D7E3", 21330: "D7E4", 26063: "D7E5", 31062: "D7E6", 35781: "D7E7", 38459: "D7E8", 32452: "D7E9", 38075: "D7EA", 32386: "D7EB", 22068: "D7EC", 37257: "D7ED", 26368: "D7EE", 32618: "D7EF", 23562: "D7F0", 36981: "D7F1", 26152: "D7F2", 24038: "D7F3", 20304: "D7F4", 26590: "D7F5", 20570: "D7F6", 20316: "D7F7", 22352: "D7F8", 24231: "D7F9", 20109: "D8A1", 19980: "D8A2", 20800: "D8A3", 19984: "D8A4", 24319: "D8A5", 21317: "D8A6", 19989: "D8A7", 20120: "D8A8", 19998: "D8A9", 39730: "D8AA", 23404: "D8AB", 22121: "D8AC", 20008: "D8AD", 31162: "D8AE", 20031: "D8AF", 21269: "D8B0", 20039: "D8B1", 22829: "D8B2", 29243: "D8B3", 21358: "D8B4", 27664: "D8B5", 22239: "D8B6", 32996: "D8B7", 39319: "D8B8", 27603: "D8B9", 30590: "D8BA", 40727: "D8BB", 20022: "D8BC", 20127: "D8BD", 40720: "D8BE", 20060: "D8BF", 20073: "D8C0", 20115: "D8C1", 33416: "D8C2", 23387: "D8C3", 21868: "D8C4", 22031: "D8C5", 20164: "D8C6", 21389: "D8C7", 21405: "D8C8", 21411: "D8C9", 21413: "D8CA", 21422: "D8CB", 38757: "D8CC", 36189: "D8CD", 21274: "D8CE", 21493: "D8CF", 21286: "D8D0", 21294: "D8D1", 21310: "D8D2", 36188: "D8D3", 21350: "D8D4", 21347: "D8D5", 20994: "D8D6", 21e3: "D8D7", 21006: "D8D8", 21037: "D8D9", 21043: "D8DA", 21055: "D8DB", 21056: "D8DC", 21068: "D8DD", 21086: "D8DE", 21089: "D8DF", 21084: "D8E0", 33967: "D8E1", 21117: "D8E2", 21122: "D8E3", 21121: "D8E4", 21136: "D8E5", 21139: "D8E6", 20866: "D8E7", 32596: "D8E8", 20155: "D8E9", 20163: "D8EA", 20169: "D8EB", 20162: "D8EC", 20200: "D8ED", 20193: "D8EE", 20203: "D8EF", 20190: "D8F0", 20251: "D8F1", 20211: "D8F2", 20258: "D8F3", 20324: "D8F4", 20213: "D8F5", 20261: "D8F6", 20263: "D8F7", 20233: "D8F8", 20267: "D8F9", 20318: "D8FA", 20327: "D8FB", 25912: "D8FC", 20314: "D8FD", 20317: "D8FE", 20319: "D9A1", 20311: "D9A2", 20274: "D9A3", 20285: "D9A4", 20342: "D9A5", 20340: "D9A6", 20369: "D9A7", 20361: "D9A8", 20355: "D9A9", 20367: "D9AA", 20350: "D9AB", 20347: "D9AC", 20394: "D9AD", 20348: "D9AE", 20396: "D9AF", 20372: "D9B0", 20454: "D9B1", 20456: "D9B2", 20458: "D9B3", 20421: "D9B4", 20442: "D9B5", 20451: "D9B6", 20444: "D9B7", 20433: "D9B8", 20447: "D9B9", 20472: "D9BA", 20521: "D9BB", 20556: "D9BC", 20467: "D9BD", 20524: "D9BE", 20495: "D9BF", 20526: "D9C0", 20525: "D9C1", 20478: "D9C2", 20508: "D9C3", 20492: "D9C4", 20517: "D9C5", 20520: "D9C6", 20606: "D9C7", 20547: "D9C8", 20565: "D9C9", 20552: "D9CA", 20558: "D9CB", 20588: "D9CC", 20603: "D9CD", 20645: "D9CE", 20647: "D9CF", 20649: "D9D0", 20666: "D9D1", 20694: "D9D2", 20742: "D9D3", 20717: "D9D4", 20716: "D9D5", 20710: "D9D6", 20718: "D9D7", 20743: "D9D8", 20747: "D9D9", 20189: "D9DA", 27709: "D9DB", 20312: "D9DC", 20325: "D9DD", 20430: "D9DE", 40864: "D9DF", 27718: "D9E0", 31860: "D9E1", 20846: "D9E2", 24061: "D9E3", 40649: "D9E4", 39320: "D9E5", 20865: "D9E6", 22804: "D9E7", 21241: "D9E8", 21261: "D9E9", 35335: "D9EA", 21264: "D9EB", 20971: "D9EC", 22809: "D9ED", 20821: "D9EE", 20128: "D9EF", 20822: "D9F0", 20147: "D9F1", 34926: "D9F2", 34980: "D9F3", 20149: "D9F4", 33044: "D9F5", 35026: "D9F6", 31104: "D9F7", 23348: "D9F8", 34819: "D9F9", 32696: "D9FA", 20907: "D9FB", 20913: "D9FC", 20925: "D9FD", 20924: "D9FE", 20935: "DAA1", 20886: "DAA2", 20898: "DAA3", 20901: "DAA4", 35744: "DAA5", 35750: "DAA6", 35751: "DAA7", 35754: "DAA8", 35764: "DAA9", 35765: "DAAA", 35767: "DAAB", 35778: "DAAC", 35779: "DAAD", 35787: "DAAE", 35791: "DAAF", 35790: "DAB0", 35794: "DAB1", 35795: "DAB2", 35796: "DAB3", 35798: "DAB4", 35800: "DAB5", 35801: "DAB6", 35804: "DAB7", 35807: "DAB8", 35808: "DAB9", 35812: "DABA", 35816: "DABB", 35817: "DABC", 35822: "DABD", 35824: "DABE", 35827: "DABF", 35830: "DAC0", 35833: "DAC1", 35836: "DAC2", 35839: "DAC3", 35840: "DAC4", 35842: "DAC5", 35844: "DAC6", 35847: "DAC7", 35852: "DAC8", 35855: "DAC9", 35857: "DACA", 35858: "DACB", 35860: "DACC", 35861: "DACD", 35862: "DACE", 35865: "DACF", 35867: "DAD0", 35864: "DAD1", 35869: "DAD2", 35871: "DAD3", 35872: "DAD4", 35873: "DAD5", 35877: "DAD6", 35879: "DAD7", 35882: "DAD8", 35883: "DAD9", 35886: "DADA", 35887: "DADB", 35890: "DADC", 35891: "DADD", 35893: "DADE", 35894: "DADF", 21353: "DAE0", 21370: "DAE1", 38429: "DAE2", 38434: "DAE3", 38433: "DAE4", 38449: "DAE5", 38442: "DAE6", 38461: "DAE7", 38460: "DAE8", 38466: "DAE9", 38473: "DAEA", 38484: "DAEB", 38495: "DAEC", 38503: "DAED", 38508: "DAEE", 38514: "DAEF", 38516: "DAF0", 38536: "DAF1", 38541: "DAF2", 38551: "DAF3", 38576: "DAF4", 37015: "DAF5", 37019: "DAF6", 37021: "DAF7", 37017: "DAF8", 37036: "DAF9", 37025: "DAFA", 37044: "DAFB", 37043: "DAFC", 37046: "DAFD", 37050: "DAFE", 37048: "DBA1", 37040: "DBA2", 37071: "DBA3", 37061: "DBA4", 37054: "DBA5", 37072: "DBA6", 37060: "DBA7", 37063: "DBA8", 37075: "DBA9", 37094: "DBAA", 37090: "DBAB", 37084: "DBAC", 37079: "DBAD", 37083: "DBAE", 37099: "DBAF", 37103: "DBB0", 37118: "DBB1", 37124: "DBB2", 37154: "DBB3", 37150: "DBB4", 37155: "DBB5", 37169: "DBB6", 37167: "DBB7", 37177: "DBB8", 37187: "DBB9", 37190: "DBBA", 21005: "DBBB", 22850: "DBBC", 21154: "DBBD", 21164: "DBBE", 21165: "DBBF", 21182: "DBC0", 21759: "DBC1", 21200: "DBC2", 21206: "DBC3", 21232: "DBC4", 21471: "DBC5", 29166: "DBC6", 30669: "DBC7", 24308: "DBC8", 20981: "DBC9", 20988: "DBCA", 39727: "DBCB", 21430: "DBCC", 24321: "DBCD", 30042: "DBCE", 24047: "DBCF", 22348: "DBD0", 22441: "DBD1", 22433: "DBD2", 22654: "DBD3", 22716: "DBD4", 22725: "DBD5", 22737: "DBD6", 22313: "DBD7", 22316: "DBD8", 22314: "DBD9", 22323: "DBDA", 22329: "DBDB", 22318: "DBDC", 22319: "DBDD", 22364: "DBDE", 22331: "DBDF", 22338: "DBE0", 22377: "DBE1", 22405: "DBE2", 22379: "DBE3", 22406: "DBE4", 22396: "DBE5", 22395: "DBE6", 22376: "DBE7", 22381: "DBE8", 22390: "DBE9", 22387: "DBEA", 22445: "DBEB", 22436: "DBEC", 22412: "DBED", 22450: "DBEE", 22479: "DBEF", 22439: "DBF0", 22452: "DBF1", 22419: "DBF2", 22432: "DBF3", 22485: "DBF4", 22488: "DBF5", 22490: "DBF6", 22489: "DBF7", 22482: "DBF8", 22456: "DBF9", 22516: "DBFA", 22511: "DBFB", 22520: "DBFC", 22500: "DBFD", 22493: "DBFE", 22539: "DCA1", 22541: "DCA2", 22525: "DCA3", 22509: "DCA4", 22528: "DCA5", 22558: "DCA6", 22553: "DCA7", 22596: "DCA8", 22560: "DCA9", 22629: "DCAA", 22636: "DCAB", 22657: "DCAC", 22665: "DCAD", 22682: "DCAE", 22656: "DCAF", 39336: "DCB0", 40729: "DCB1", 25087: "DCB2", 33401: "DCB3", 33405: "DCB4", 33407: "DCB5", 33423: "DCB6", 33418: "DCB7", 33448: "DCB8", 33412: "DCB9", 33422: "DCBA", 33425: "DCBB", 33431: "DCBC", 33433: "DCBD", 33451: "DCBE", 33464: "DCBF", 33470: "DCC0", 33456: "DCC1", 33480: "DCC2", 33482: "DCC3", 33507: "DCC4", 33432: "DCC5", 33463: "DCC6", 33454: "DCC7", 33483: "DCC8", 33484: "DCC9", 33473: "DCCA", 33449: "DCCB", 33460: "DCCC", 33441: "DCCD", 33450: "DCCE", 33439: "DCCF", 33476: "DCD0", 33486: "DCD1", 33444: "DCD2", 33505: "DCD3", 33545: "DCD4", 33527: "DCD5", 33508: "DCD6", 33551: "DCD7", 33543: "DCD8", 33500: "DCD9", 33524: "DCDA", 33490: "DCDB", 33496: "DCDC", 33548: "DCDD", 33531: "DCDE", 33491: "DCDF", 33553: "DCE0", 33562: "DCE1", 33542: "DCE2", 33556: "DCE3", 33557: "DCE4", 33504: "DCE5", 33493: "DCE6", 33564: "DCE7", 33617: "DCE8", 33627: "DCE9", 33628: "DCEA", 33544: "DCEB", 33682: "DCEC", 33596: "DCED", 33588: "DCEE", 33585: "DCEF", 33691: "DCF0", 33630: "DCF1", 33583: "DCF2", 33615: "DCF3", 33607: "DCF4", 33603: "DCF5", 33631: "DCF6", 33600: "DCF7", 33559: "DCF8", 33632: "DCF9", 33581: "DCFA", 33594: "DCFB", 33587: "DCFC", 33638: "DCFD", 33637: "DCFE", 33640: "DDA1", 33563: "DDA2", 33641: "DDA3", 33644: "DDA4", 33642: "DDA5", 33645: "DDA6", 33646: "DDA7", 33712: "DDA8", 33656: "DDA9", 33715: "DDAA", 33716: "DDAB", 33696: "DDAC", 33706: "DDAD", 33683: "DDAE", 33692: "DDAF", 33669: "DDB0", 33660: "DDB1", 33718: "DDB2", 33705: "DDB3", 33661: "DDB4", 33720: "DDB5", 33659: "DDB6", 33688: "DDB7", 33694: "DDB8", 33704: "DDB9", 33722: "DDBA", 33724: "DDBB", 33729: "DDBC", 33793: "DDBD", 33765: "DDBE", 33752: "DDBF", 22535: "DDC0", 33816: "DDC1", 33803: "DDC2", 33757: "DDC3", 33789: "DDC4", 33750: "DDC5", 33820: "DDC6", 33848: "DDC7", 33809: "DDC8", 33798: "DDC9", 33748: "DDCA", 33759: "DDCB", 33807: "DDCC", 33795: "DDCD", 33784: "DDCE", 33785: "DDCF", 33770: "DDD0", 33733: "DDD1", 33728: "DDD2", 33830: "DDD3", 33776: "DDD4", 33761: "DDD5", 33884: "DDD6", 33873: "DDD7", 33882: "DDD8", 33881: "DDD9", 33907: "DDDA", 33927: "DDDB", 33928: "DDDC", 33914: "DDDD", 33929: "DDDE", 33912: "DDDF", 33852: "DDE0", 33862: "DDE1", 33897: "DDE2", 33910: "DDE3", 33932: "DDE4", 33934: "DDE5", 33841: "DDE6", 33901: "DDE7", 33985: "DDE8", 33997: "DDE9", 34e3: "DDEA", 34022: "DDEB", 33981: "DDEC", 34003: "DDED", 33994: "DDEE", 33983: "DDEF", 33978: "DDF0", 34016: "DDF1", 33953: "DDF2", 33977: "DDF3", 33972: "DDF4", 33943: "DDF5", 34021: "DDF6", 34019: "DDF7", 34060: "DDF8", 29965: "DDF9", 34104: "DDFA", 34032: "DDFB", 34105: "DDFC", 34079: "DDFD", 34106: "DDFE", 34134: "DEA1", 34107: "DEA2", 34047: "DEA3", 34044: "DEA4", 34137: "DEA5", 34120: "DEA6", 34152: "DEA7", 34148: "DEA8", 34142: "DEA9", 34170: "DEAA", 30626: "DEAB", 34115: "DEAC", 34162: "DEAD", 34171: "DEAE", 34212: "DEAF", 34216: "DEB0", 34183: "DEB1", 34191: "DEB2", 34169: "DEB3", 34222: "DEB4", 34204: "DEB5", 34181: "DEB6", 34233: "DEB7", 34231: "DEB8", 34224: "DEB9", 34259: "DEBA", 34241: "DEBB", 34268: "DEBC", 34303: "DEBD", 34343: "DEBE", 34309: "DEBF", 34345: "DEC0", 34326: "DEC1", 34364: "DEC2", 24318: "DEC3", 24328: "DEC4", 22844: "DEC5", 22849: "DEC6", 32823: "DEC7", 22869: "DEC8", 22874: "DEC9", 22872: "DECA", 21263: "DECB", 23586: "DECC", 23589: "DECD", 23596: "DECE", 23604: "DECF", 25164: "DED0", 25194: "DED1", 25247: "DED2", 25275: "DED3", 25290: "DED4", 25306: "DED5", 25303: "DED6", 25326: "DED7", 25378: "DED8", 25334: "DED9", 25401: "DEDA", 25419: "DEDB", 25411: "DEDC", 25517: "DEDD", 25590: "DEDE", 25457: "DEDF", 25466: "DEE0", 25486: "DEE1", 25524: "DEE2", 25453: "DEE3", 25516: "DEE4", 25482: "DEE5", 25449: "DEE6", 25518: "DEE7", 25532: "DEE8", 25586: "DEE9", 25592: "DEEA", 25568: "DEEB", 25599: "DEEC", 25540: "DEED", 25566: "DEEE", 25550: "DEEF", 25682: "DEF0", 25542: "DEF1", 25534: "DEF2", 25669: "DEF3", 25665: "DEF4", 25611: "DEF5", 25627: "DEF6", 25632: "DEF7", 25612: "DEF8", 25638: "DEF9", 25633: "DEFA", 25694: "DEFB", 25732: "DEFC", 25709: "DEFD", 25750: "DEFE", 25722: "DFA1", 25783: "DFA2", 25784: "DFA3", 25753: "DFA4", 25786: "DFA5", 25792: "DFA6", 25808: "DFA7", 25815: "DFA8", 25828: "DFA9", 25826: "DFAA", 25865: "DFAB", 25893: "DFAC", 25902: "DFAD", 24331: "DFAE", 24530: "DFAF", 29977: "DFB0", 24337: "DFB1", 21343: "DFB2", 21489: "DFB3", 21501: "DFB4", 21481: "DFB5", 21480: "DFB6", 21499: "DFB7", 21522: "DFB8", 21526: "DFB9", 21510: "DFBA", 21579: "DFBB", 21586: "DFBC", 21587: "DFBD", 21588: "DFBE", 21590: "DFBF", 21571: "DFC0", 21537: "DFC1", 21591: "DFC2", 21593: "DFC3", 21539: "DFC4", 21554: "DFC5", 21634: "DFC6", 21652: "DFC7", 21623: "DFC8", 21617: "DFC9", 21604: "DFCA", 21658: "DFCB", 21659: "DFCC", 21636: "DFCD", 21622: "DFCE", 21606: "DFCF", 21661: "DFD0", 21712: "DFD1", 21677: "DFD2", 21698: "DFD3", 21684: "DFD4", 21714: "DFD5", 21671: "DFD6", 21670: "DFD7", 21715: "DFD8", 21716: "DFD9", 21618: "DFDA", 21667: "DFDB", 21717: "DFDC", 21691: "DFDD", 21695: "DFDE", 21708: "DFDF", 21721: "DFE0", 21722: "DFE1", 21724: "DFE2", 21673: "DFE3", 21674: "DFE4", 21668: "DFE5", 21725: "DFE6", 21711: "DFE7", 21726: "DFE8", 21787: "DFE9", 21735: "DFEA", 21792: "DFEB", 21757: "DFEC", 21780: "DFED", 21747: "DFEE", 21794: "DFEF", 21795: "DFF0", 21775: "DFF1", 21777: "DFF2", 21799: "DFF3", 21802: "DFF4", 21863: "DFF5", 21903: "DFF6", 21941: "DFF7", 21833: "DFF8", 21869: "DFF9", 21825: "DFFA", 21845: "DFFB", 21823: "DFFC", 21840: "DFFD", 21820: "DFFE", 21815: "E0A1", 21846: "E0A2", 21877: "E0A3", 21878: "E0A4", 21879: "E0A5", 21811: "E0A6", 21808: "E0A7", 21852: "E0A8", 21899: "E0A9", 21970: "E0AA", 21891: "E0AB", 21937: "E0AC", 21945: "E0AD", 21896: "E0AE", 21889: "E0AF", 21919: "E0B0", 21886: "E0B1", 21974: "E0B2", 21905: "E0B3", 21883: "E0B4", 21983: "E0B5", 21949: "E0B6", 21950: "E0B7", 21908: "E0B8", 21913: "E0B9", 21994: "E0BA", 22007: "E0BB", 21961: "E0BC", 22047: "E0BD", 21969: "E0BE", 21995: "E0BF", 21996: "E0C0", 21972: "E0C1", 21990: "E0C2", 21981: "E0C3", 21956: "E0C4", 21999: "E0C5", 21989: "E0C6", 22002: "E0C7", 22003: "E0C8", 21964: "E0C9", 21965: "E0CA", 21992: "E0CB", 22005: "E0CC", 21988: "E0CD", 36756: "E0CE", 22046: "E0CF", 22024: "E0D0", 22028: "E0D1", 22017: "E0D2", 22052: "E0D3", 22051: "E0D4", 22014: "E0D5", 22016: "E0D6", 22055: "E0D7", 22061: "E0D8", 22104: "E0D9", 22073: "E0DA", 22103: "E0DB", 22060: "E0DC", 22093: "E0DD", 22114: "E0DE", 22105: "E0DF", 22108: "E0E0", 22092: "E0E1", 22100: "E0E2", 22150: "E0E3", 22116: "E0E4", 22129: "E0E5", 22123: "E0E6", 22139: "E0E7", 22140: "E0E8", 22149: "E0E9", 22163: "E0EA", 22191: "E0EB", 22228: "E0EC", 22231: "E0ED", 22237: "E0EE", 22241: "E0EF", 22261: "E0F0", 22251: "E0F1", 22265: "E0F2", 22271: "E0F3", 22276: "E0F4", 22282: "E0F5", 22281: "E0F6", 22300: "E0F7", 24079: "E0F8", 24089: "E0F9", 24084: "E0FA", 24081: "E0FB", 24113: "E0FC", 24123: "E0FD", 24124: "E0FE", 24119: "E1A1", 24132: "E1A2", 24148: "E1A3", 24155: "E1A4", 24158: "E1A5", 24161: "E1A6", 23692: "E1A7", 23674: "E1A8", 23693: "E1A9", 23696: "E1AA", 23702: "E1AB", 23688: "E1AC", 23704: "E1AD", 23705: "E1AE", 23697: "E1AF", 23706: "E1B0", 23708: "E1B1", 23733: "E1B2", 23714: "E1B3", 23741: "E1B4", 23724: "E1B5", 23723: "E1B6", 23729: "E1B7", 23715: "E1B8", 23745: "E1B9", 23735: "E1BA", 23748: "E1BB", 23762: "E1BC", 23780: "E1BD", 23755: "E1BE", 23781: "E1BF", 23810: "E1C0", 23811: "E1C1", 23847: "E1C2", 23846: "E1C3", 23854: "E1C4", 23844: "E1C5", 23838: "E1C6", 23814: "E1C7", 23835: "E1C8", 23896: "E1C9", 23870: "E1CA", 23860: "E1CB", 23869: "E1CC", 23916: "E1CD", 23899: "E1CE", 23919: "E1CF", 23901: "E1D0", 23915: "E1D1", 23883: "E1D2", 23882: "E1D3", 23913: "E1D4", 23924: "E1D5", 23938: "E1D6", 23961: "E1D7", 23965: "E1D8", 35955: "E1D9", 23991: "E1DA", 24005: "E1DB", 24435: "E1DC", 24439: "E1DD", 24450: "E1DE", 24455: "E1DF", 24457: "E1E0", 24460: "E1E1", 24469: "E1E2", 24473: "E1E3", 24476: "E1E4", 24488: "E1E5", 24493: "E1E6", 24501: "E1E7", 24508: "E1E8", 34914: "E1E9", 24417: "E1EA", 29357: "E1EB", 29360: "E1EC", 29364: "E1ED", 29367: "E1EE", 29368: "E1EF", 29379: "E1F0", 29377: "E1F1", 29390: "E1F2", 29389: "E1F3", 29394: "E1F4", 29416: "E1F5", 29423: "E1F6", 29417: "E1F7", 29426: "E1F8", 29428: "E1F9", 29431: "E1FA", 29441: "E1FB", 29427: "E1FC", 29443: "E1FD", 29434: "E1FE", 29435: "E2A1", 29463: "E2A2", 29459: "E2A3", 29473: "E2A4", 29450: "E2A5", 29470: "E2A6", 29469: "E2A7", 29461: "E2A8", 29474: "E2A9", 29497: "E2AA", 29477: "E2AB", 29484: "E2AC", 29496: "E2AD", 29489: "E2AE", 29520: "E2AF", 29517: "E2B0", 29527: "E2B1", 29536: "E2B2", 29548: "E2B3", 29551: "E2B4", 29566: "E2B5", 33307: "E2B6", 22821: "E2B7", 39143: "E2B8", 22820: "E2B9", 22786: "E2BA", 39267: "E2BB", 39271: "E2BC", 39272: "E2BD", 39273: "E2BE", 39274: "E2BF", 39275: "E2C0", 39276: "E2C1", 39284: "E2C2", 39287: "E2C3", 39293: "E2C4", 39296: "E2C5", 39300: "E2C6", 39303: "E2C7", 39306: "E2C8", 39309: "E2C9", 39312: "E2CA", 39313: "E2CB", 39315: "E2CC", 39316: "E2CD", 39317: "E2CE", 24192: "E2CF", 24209: "E2D0", 24203: "E2D1", 24214: "E2D2", 24229: "E2D3", 24224: "E2D4", 24249: "E2D5", 24245: "E2D6", 24254: "E2D7", 24243: "E2D8", 36179: "E2D9", 24274: "E2DA", 24273: "E2DB", 24283: "E2DC", 24296: "E2DD", 24298: "E2DE", 33210: "E2DF", 24516: "E2E0", 24521: "E2E1", 24534: "E2E2", 24527: "E2E3", 24579: "E2E4", 24558: "E2E5", 24580: "E2E6", 24545: "E2E7", 24548: "E2E8", 24574: "E2E9", 24581: "E2EA", 24582: "E2EB", 24554: "E2EC", 24557: "E2ED", 24568: "E2EE", 24601: "E2EF", 24629: "E2F0", 24614: "E2F1", 24603: "E2F2", 24591: "E2F3", 24589: "E2F4", 24617: "E2F5", 24619: "E2F6", 24586: "E2F7", 24639: "E2F8", 24609: "E2F9", 24696: "E2FA", 24697: "E2FB", 24699: "E2FC", 24698: "E2FD", 24642: "E2FE", 24682: "E3A1", 24701: "E3A2", 24726: "E3A3", 24730: "E3A4", 24749: "E3A5", 24733: "E3A6", 24707: "E3A7", 24722: "E3A8", 24716: "E3A9", 24731: "E3AA", 24812: "E3AB", 24763: "E3AC", 24753: "E3AD", 24797: "E3AE", 24792: "E3AF", 24774: "E3B0", 24794: "E3B1", 24756: "E3B2", 24864: "E3B3", 24870: "E3B4", 24853: "E3B5", 24867: "E3B6", 24820: "E3B7", 24832: "E3B8", 24846: "E3B9", 24875: "E3BA", 24906: "E3BB", 24949: "E3BC", 25004: "E3BD", 24980: "E3BE", 24999: "E3BF", 25015: "E3C0", 25044: "E3C1", 25077: "E3C2", 24541: "E3C3", 38579: "E3C4", 38377: "E3C5", 38379: "E3C6", 38385: "E3C7", 38387: "E3C8", 38389: "E3C9", 38390: "E3CA", 38396: "E3CB", 38398: "E3CC", 38403: "E3CD", 38404: "E3CE", 38406: "E3CF", 38408: "E3D0", 38410: "E3D1", 38411: "E3D2", 38412: "E3D3", 38413: "E3D4", 38415: "E3D5", 38418: "E3D6", 38421: "E3D7", 38422: "E3D8", 38423: "E3D9", 38425: "E3DA", 38426: "E3DB", 20012: "E3DC", 29247: "E3DD", 25109: "E3DE", 27701: "E3DF", 27732: "E3E0", 27740: "E3E1", 27722: "E3E2", 27811: "E3E3", 27781: "E3E4", 27792: "E3E5", 27796: "E3E6", 27788: "E3E7", 27752: "E3E8", 27753: "E3E9", 27764: "E3EA", 27766: "E3EB", 27782: "E3EC", 27817: "E3ED", 27856: "E3EE", 27860: "E3EF", 27821: "E3F0", 27895: "E3F1", 27896: "E3F2", 27889: "E3F3", 27863: "E3F4", 27826: "E3F5", 27872: "E3F6", 27862: "E3F7", 27898: "E3F8", 27883: "E3F9", 27886: "E3FA", 27825: "E3FB", 27859: "E3FC", 27887: "E3FD", 27902: "E3FE", 27961: "E4A1", 27943: "E4A2", 27916: "E4A3", 27971: "E4A4", 27976: "E4A5", 27911: "E4A6", 27908: "E4A7", 27929: "E4A8", 27918: "E4A9", 27947: "E4AA", 27981: "E4AB", 27950: "E4AC", 27957: "E4AD", 27930: "E4AE", 27983: "E4AF", 27986: "E4B0", 27988: "E4B1", 27955: "E4B2", 28049: "E4B3", 28015: "E4B4", 28062: "E4B5", 28064: "E4B6", 27998: "E4B7", 28051: "E4B8", 28052: "E4B9", 27996: "E4BA", 28e3: "E4BB", 28028: "E4BC", 28003: "E4BD", 28186: "E4BE", 28103: "E4BF", 28101: "E4C0", 28126: "E4C1", 28174: "E4C2", 28095: "E4C3", 28128: "E4C4", 28177: "E4C5", 28134: "E4C6", 28125: "E4C7", 28121: "E4C8", 28182: "E4C9", 28075: "E4CA", 28172: "E4CB", 28078: "E4CC", 28203: "E4CD", 28270: "E4CE", 28238: "E4CF", 28267: "E4D0", 28338: "E4D1", 28255: "E4D2", 28294: "E4D3", 28243: "E4D4", 28244: "E4D5", 28210: "E4D6", 28197: "E4D7", 28228: "E4D8", 28383: "E4D9", 28337: "E4DA", 28312: "E4DB", 28384: "E4DC", 28461: "E4DD", 28386: "E4DE", 28325: "E4DF", 28327: "E4E0", 28349: "E4E1", 28347: "E4E2", 28343: "E4E3", 28375: "E4E4", 28340: "E4E5", 28367: "E4E6", 28303: "E4E7", 28354: "E4E8", 28319: "E4E9", 28514: "E4EA", 28486: "E4EB", 28487: "E4EC", 28452: "E4ED", 28437: "E4EE", 28409: "E4EF", 28463: "E4F0", 28470: "E4F1", 28491: "E4F2", 28532: "E4F3", 28458: "E4F4", 28425: "E4F5", 28457: "E4F6", 28553: "E4F7", 28557: "E4F8", 28556: "E4F9", 28536: "E4FA", 28530: "E4FB", 28540: "E4FC", 28538: "E4FD", 28625: "E4FE", 28617: "E5A1", 28583: "E5A2", 28601: "E5A3", 28598: "E5A4", 28610: "E5A5", 28641: "E5A6", 28654: "E5A7", 28638: "E5A8", 28640: "E5A9", 28655: "E5AA", 28698: "E5AB", 28707: "E5AC", 28699: "E5AD", 28729: "E5AE", 28725: "E5AF", 28751: "E5B0", 28766: "E5B1", 23424: "E5B2", 23428: "E5B3", 23445: "E5B4", 23443: "E5B5", 23461: "E5B6", 23480: "E5B7", 29999: "E5B8", 39582: "E5B9", 25652: "E5BA", 23524: "E5BB", 23534: "E5BC", 35120: "E5BD", 23536: "E5BE", 36423: "E5BF", 35591: "E5C0", 36790: "E5C1", 36819: "E5C2", 36821: "E5C3", 36837: "E5C4", 36846: "E5C5", 36836: "E5C6", 36841: "E5C7", 36838: "E5C8", 36851: "E5C9", 36840: "E5CA", 36869: "E5CB", 36868: "E5CC", 36875: "E5CD", 36902: "E5CE", 36881: "E5CF", 36877: "E5D0", 36886: "E5D1", 36897: "E5D2", 36917: "E5D3", 36918: "E5D4", 36909: "E5D5", 36911: "E5D6", 36932: "E5D7", 36945: "E5D8", 36946: "E5D9", 36944: "E5DA", 36968: "E5DB", 36952: "E5DC", 36962: "E5DD", 36955: "E5DE", 26297: "E5DF", 36980: "E5E0", 36989: "E5E1", 36994: "E5E2", 37e3: "E5E3", 36995: "E5E4", 37003: "E5E5", 24400: "E5E6", 24407: "E5E7", 24406: "E5E8", 24408: "E5E9", 23611: "E5EA", 21675: "E5EB", 23632: "E5EC", 23641: "E5ED", 23409: "E5EE", 23651: "E5EF", 23654: "E5F0", 32700: "E5F1", 24362: "E5F2", 24361: "E5F3", 24365: "E5F4", 33396: "E5F5", 24380: "E5F6", 39739: "E5F7", 23662: "E5F8", 22913: "E5F9", 22915: "E5FA", 22925: "E5FB", 22953: "E5FC", 22954: "E5FD", 22947: "E5FE", 22935: "E6A1", 22986: "E6A2", 22955: "E6A3", 22942: "E6A4", 22948: "E6A5", 22994: "E6A6", 22962: "E6A7", 22959: "E6A8", 22999: "E6A9", 22974: "E6AA", 23045: "E6AB", 23046: "E6AC", 23005: "E6AD", 23048: "E6AE", 23011: "E6AF", 23e3: "E6B0", 23033: "E6B1", 23052: "E6B2", 23049: "E6B3", 23090: "E6B4", 23092: "E6B5", 23057: "E6B6", 23075: "E6B7", 23059: "E6B8", 23104: "E6B9", 23143: "E6BA", 23114: "E6BB", 23125: "E6BC", 23100: "E6BD", 23138: "E6BE", 23157: "E6BF", 33004: "E6C0", 23210: "E6C1", 23195: "E6C2", 23159: "E6C3", 23162: "E6C4", 23230: "E6C5", 23275: "E6C6", 23218: "E6C7", 23250: "E6C8", 23252: "E6C9", 23224: "E6CA", 23264: "E6CB", 23267: "E6CC", 23281: "E6CD", 23254: "E6CE", 23270: "E6CF", 23256: "E6D0", 23260: "E6D1", 23305: "E6D2", 23319: "E6D3", 23318: "E6D4", 23346: "E6D5", 23351: "E6D6", 23360: "E6D7", 23573: "E6D8", 23580: "E6D9", 23386: "E6DA", 23397: "E6DB", 23411: "E6DC", 23377: "E6DD", 23379: "E6DE", 23394: "E6DF", 39541: "E6E0", 39543: "E6E1", 39544: "E6E2", 39546: "E6E3", 39551: "E6E4", 39549: "E6E5", 39552: "E6E6", 39553: "E6E7", 39557: "E6E8", 39560: "E6E9", 39562: "E6EA", 39568: "E6EB", 39570: "E6EC", 39571: "E6ED", 39574: "E6EE", 39576: "E6EF", 39579: "E6F0", 39580: "E6F1", 39581: "E6F2", 39583: "E6F3", 39584: "E6F4", 39586: "E6F5", 39587: "E6F6", 39589: "E6F7", 39591: "E6F8", 32415: "E6F9", 32417: "E6FA", 32419: "E6FB", 32421: "E6FC", 32424: "E6FD", 32425: "E6FE", 32429: "E7A1", 32432: "E7A2", 32446: "E7A3", 32448: "E7A4", 32449: "E7A5", 32450: "E7A6", 32457: "E7A7", 32459: "E7A8", 32460: "E7A9", 32464: "E7AA", 32468: "E7AB", 32471: "E7AC", 32475: "E7AD", 32480: "E7AE", 32481: "E7AF", 32488: "E7B0", 32491: "E7B1", 32494: "E7B2", 32495: "E7B3", 32497: "E7B4", 32498: "E7B5", 32525: "E7B6", 32502: "E7B7", 32506: "E7B8", 32507: "E7B9", 32510: "E7BA", 32513: "E7BB", 32514: "E7BC", 32515: "E7BD", 32519: "E7BE", 32520: "E7BF", 32523: "E7C0", 32524: "E7C1", 32527: "E7C2", 32529: "E7C3", 32530: "E7C4", 32535: "E7C5", 32537: "E7C6", 32540: "E7C7", 32539: "E7C8", 32543: "E7C9", 32545: "E7CA", 32546: "E7CB", 32547: "E7CC", 32548: "E7CD", 32549: "E7CE", 32550: "E7CF", 32551: "E7D0", 32554: "E7D1", 32555: "E7D2", 32556: "E7D3", 32557: "E7D4", 32559: "E7D5", 32560: "E7D6", 32561: "E7D7", 32562: "E7D8", 32563: "E7D9", 32565: "E7DA", 24186: "E7DB", 30079: "E7DC", 24027: "E7DD", 30014: "E7DE", 37013: "E7DF", 29582: "E7E0", 29585: "E7E1", 29614: "E7E2", 29602: "E7E3", 29599: "E7E4", 29647: "E7E5", 29634: "E7E6", 29649: "E7E7", 29623: "E7E8", 29619: "E7E9", 29632: "E7EA", 29641: "E7EB", 29640: "E7EC", 29669: "E7ED", 29657: "E7EE", 39036: "E7EF", 29706: "E7F0", 29673: "E7F1", 29671: "E7F2", 29662: "E7F3", 29626: "E7F4", 29682: "E7F5", 29711: "E7F6", 29738: "E7F7", 29787: "E7F8", 29734: "E7F9", 29733: "E7FA", 29736: "E7FB", 29744: "E7FC", 29742: "E7FD", 29740: "E7FE", 29723: "E8A1", 29722: "E8A2", 29761: "E8A3", 29788: "E8A4", 29783: "E8A5", 29781: "E8A6", 29785: "E8A7", 29815: "E8A8", 29805: "E8A9", 29822: "E8AA", 29852: "E8AB", 29838: "E8AC", 29824: "E8AD", 29825: "E8AE", 29831: "E8AF", 29835: "E8B0", 29854: "E8B1", 29864: "E8B2", 29865: "E8B3", 29840: "E8B4", 29863: "E8B5", 29906: "E8B6", 29882: "E8B7", 38890: "E8B8", 38891: "E8B9", 38892: "E8BA", 26444: "E8BB", 26451: "E8BC", 26462: "E8BD", 26440: "E8BE", 26473: "E8BF", 26533: "E8C0", 26503: "E8C1", 26474: "E8C2", 26483: "E8C3", 26520: "E8C4", 26535: "E8C5", 26485: "E8C6", 26536: "E8C7", 26526: "E8C8", 26541: "E8C9", 26507: "E8CA", 26487: "E8CB", 26492: "E8CC", 26608: "E8CD", 26633: "E8CE", 26584: "E8CF", 26634: "E8D0", 26601: "E8D1", 26544: "E8D2", 26636: "E8D3", 26585: "E8D4", 26549: "E8D5", 26586: "E8D6", 26547: "E8D7", 26589: "E8D8", 26624: "E8D9", 26563: "E8DA", 26552: "E8DB", 26594: "E8DC", 26638: "E8DD", 26561: "E8DE", 26621: "E8DF", 26674: "E8E0", 26675: "E8E1", 26720: "E8E2", 26721: "E8E3", 26702: "E8E4", 26722: "E8E5", 26692: "E8E6", 26724: "E8E7", 26755: "E8E8", 26653: "E8E9", 26709: "E8EA", 26726: "E8EB", 26689: "E8EC", 26727: "E8ED", 26688: "E8EE", 26686: "E8EF", 26698: "E8F0", 26697: "E8F1", 26665: "E8F2", 26805: "E8F3", 26767: "E8F4", 26740: "E8F5", 26743: "E8F6", 26771: "E8F7", 26731: "E8F8", 26818: "E8F9", 26990: "E8FA", 26876: "E8FB", 26911: "E8FC", 26912: "E8FD", 26873: "E8FE", 26916: "E9A1", 26864: "E9A2", 26891: "E9A3", 26881: "E9A4", 26967: "E9A5", 26851: "E9A6", 26896: "E9A7", 26993: "E9A8", 26937: "E9A9", 26976: "E9AA", 26946: "E9AB", 26973: "E9AC", 27012: "E9AD", 26987: "E9AE", 27008: "E9AF", 27032: "E9B0", 27e3: "E9B1", 26932: "E9B2", 27084: "E9B3", 27015: "E9B4", 27016: "E9B5", 27086: "E9B6", 27017: "E9B7", 26982: "E9B8", 26979: "E9B9", 27001: "E9BA", 27035: "E9BB", 27047: "E9BC", 27067: "E9BD", 27051: "E9BE", 27053: "E9BF", 27092: "E9C0", 27057: "E9C1", 27073: "E9C2", 27082: "E9C3", 27103: "E9C4", 27029: "E9C5", 27104: "E9C6", 27021: "E9C7", 27135: "E9C8", 27183: "E9C9", 27117: "E9CA", 27159: "E9CB", 27160: "E9CC", 27237: "E9CD", 27122: "E9CE", 27204: "E9CF", 27198: "E9D0", 27296: "E9D1", 27216: "E9D2", 27227: "E9D3", 27189: "E9D4", 27278: "E9D5", 27257: "E9D6", 27197: "E9D7", 27176: "E9D8", 27224: "E9D9", 27260: "E9DA", 27281: "E9DB", 27280: "E9DC", 27305: "E9DD", 27287: "E9DE", 27307: "E9DF", 29495: "E9E0", 29522: "E9E1", 27521: "E9E2", 27522: "E9E3", 27527: "E9E4", 27524: "E9E5", 27538: "E9E6", 27539: "E9E7", 27533: "E9E8", 27546: "E9E9", 27547: "E9EA", 27553: "E9EB", 27562: "E9EC", 36715: "E9ED", 36717: "E9EE", 36721: "E9EF", 36722: "E9F0", 36723: "E9F1", 36725: "E9F2", 36726: "E9F3", 36728: "E9F4", 36727: "E9F5", 36729: "E9F6", 36730: "E9F7", 36732: "E9F8", 36734: "E9F9", 36737: "E9FA", 36738: "E9FB", 36740: "E9FC", 36743: "E9FD", 36747: "E9FE", 36749: "EAA1", 36750: "EAA2", 36751: "EAA3", 36760: "EAA4", 36762: "EAA5", 36558: "EAA6", 25099: "EAA7", 25111: "EAA8", 25115: "EAA9", 25119: "EAAA", 25122: "EAAB", 25121: "EAAC", 25125: "EAAD", 25124: "EAAE", 25132: "EAAF", 33255: "EAB0", 29935: "EAB1", 29940: "EAB2", 29951: "EAB3", 29967: "EAB4", 29969: "EAB5", 29971: "EAB6", 25908: "EAB7", 26094: "EAB8", 26095: "EAB9", 26096: "EABA", 26122: "EABB", 26137: "EABC", 26482: "EABD", 26115: "EABE", 26133: "EABF", 26112: "EAC0", 28805: "EAC1", 26359: "EAC2", 26141: "EAC3", 26164: "EAC4", 26161: "EAC5", 26166: "EAC6", 26165: "EAC7", 32774: "EAC8", 26207: "EAC9", 26196: "EACA", 26177: "EACB", 26191: "EACC", 26198: "EACD", 26209: "EACE", 26199: "EACF", 26231: "EAD0", 26244: "EAD1", 26252: "EAD2", 26279: "EAD3", 26269: "EAD4", 26302: "EAD5", 26331: "EAD6", 26332: "EAD7", 26342: "EAD8", 26345: "EAD9", 36146: "EADA", 36147: "EADB", 36150: "EADC", 36155: "EADD", 36157: "EADE", 36160: "EADF", 36165: "EAE0", 36166: "EAE1", 36168: "EAE2", 36169: "EAE3", 36167: "EAE4", 36173: "EAE5", 36181: "EAE6", 36185: "EAE7", 35271: "EAE8", 35274: "EAE9", 35275: "EAEA", 35276: "EAEB", 35278: "EAEC", 35279: "EAED", 35280: "EAEE", 35281: "EAEF", 29294: "EAF0", 29343: "EAF1", 29277: "EAF2", 29286: "EAF3", 29295: "EAF4", 29310: "EAF5", 29311: "EAF6", 29316: "EAF7", 29323: "EAF8", 29325: "EAF9", 29327: "EAFA", 29330: "EAFB", 25352: "EAFC", 25394: "EAFD", 25520: "EAFE", 25663: "EBA1", 25816: "EBA2", 32772: "EBA3", 27626: "EBA4", 27635: "EBA5", 27645: "EBA6", 27637: "EBA7", 27641: "EBA8", 27653: "EBA9", 27655: "EBAA", 27654: "EBAB", 27661: "EBAC", 27669: "EBAD", 27672: "EBAE", 27673: "EBAF", 27674: "EBB0", 27681: "EBB1", 27689: "EBB2", 27684: "EBB3", 27690: "EBB4", 27698: "EBB5", 25909: "EBB6", 25941: "EBB7", 25963: "EBB8", 29261: "EBB9", 29266: "EBBA", 29270: "EBBB", 29232: "EBBC", 34402: "EBBD", 21014: "EBBE", 32927: "EBBF", 32924: "EBC0", 32915: "EBC1", 32956: "EBC2", 26378: "EBC3", 32957: "EBC4", 32945: "EBC5", 32939: "EBC6", 32941: "EBC7", 32948: "EBC8", 32951: "EBC9", 32999: "EBCA", 33e3: "EBCB", 33001: "EBCC", 33002: "EBCD", 32987: "EBCE", 32962: "EBCF", 32964: "EBD0", 32985: "EBD1", 32973: "EBD2", 32983: "EBD3", 26384: "EBD4", 32989: "EBD5", 33003: "EBD6", 33009: "EBD7", 33012: "EBD8", 33005: "EBD9", 33037: "EBDA", 33038: "EBDB", 33010: "EBDC", 33020: "EBDD", 26389: "EBDE", 33042: "EBDF", 35930: "EBE0", 33078: "EBE1", 33054: "EBE2", 33068: "EBE3", 33048: "EBE4", 33074: "EBE5", 33096: "EBE6", 33100: "EBE7", 33107: "EBE8", 33140: "EBE9", 33113: "EBEA", 33114: "EBEB", 33137: "EBEC", 33120: "EBED", 33129: "EBEE", 33148: "EBEF", 33149: "EBF0", 33133: "EBF1", 33127: "EBF2", 22605: "EBF3", 23221: "EBF4", 33160: "EBF5", 33154: "EBF6", 33169: "EBF7", 28373: "EBF8", 33187: "EBF9", 33194: "EBFA", 33228: "EBFB", 26406: "EBFC", 33226: "EBFD", 33211: "EBFE", 33217: "ECA1", 33190: "ECA2", 27428: "ECA3", 27447: "ECA4", 27449: "ECA5", 27459: "ECA6", 27462: "ECA7", 27481: "ECA8", 39121: "ECA9", 39122: "ECAA", 39123: "ECAB", 39125: "ECAC", 39129: "ECAD", 39130: "ECAE", 27571: "ECAF", 24384: "ECB0", 27586: "ECB1", 35315: "ECB2", 26e3: "ECB3", 40785: "ECB4", 26003: "ECB5", 26044: "ECB6", 26054: "ECB7", 26052: "ECB8", 26051: "ECB9", 26060: "ECBA", 26062: "ECBB", 26066: "ECBC", 26070: "ECBD", 28800: "ECBE", 28828: "ECBF", 28822: "ECC0", 28829: "ECC1", 28859: "ECC2", 28864: "ECC3", 28855: "ECC4", 28843: "ECC5", 28849: "ECC6", 28904: "ECC7", 28874: "ECC8", 28944: "ECC9", 28947: "ECCA", 28950: "ECCB", 28975: "ECCC", 28977: "ECCD", 29043: "ECCE", 29020: "ECCF", 29032: "ECD0", 28997: "ECD1", 29042: "ECD2", 29002: "ECD3", 29048: "ECD4", 29050: "ECD5", 29080: "ECD6", 29107: "ECD7", 29109: "ECD8", 29096: "ECD9", 29088: "ECDA", 29152: "ECDB", 29140: "ECDC", 29159: "ECDD", 29177: "ECDE", 29213: "ECDF", 29224: "ECE0", 28780: "ECE1", 28952: "ECE2", 29030: "ECE3", 29113: "ECE4", 25150: "ECE5", 25149: "ECE6", 25155: "ECE7", 25160: "ECE8", 25161: "ECE9", 31035: "ECEA", 31040: "ECEB", 31046: "ECEC", 31049: "ECED", 31067: "ECEE", 31068: "ECEF", 31059: "ECF0", 31066: "ECF1", 31074: "ECF2", 31063: "ECF3", 31072: "ECF4", 31087: "ECF5", 31079: "ECF6", 31098: "ECF7", 31109: "ECF8", 31114: "ECF9", 31130: "ECFA", 31143: "ECFB", 31155: "ECFC", 24529: "ECFD", 24528: "ECFE", 24636: "EDA1", 24669: "EDA2", 24666: "EDA3", 24679: "EDA4", 24641: "EDA5", 24665: "EDA6", 24675: "EDA7", 24747: "EDA8", 24838: "EDA9", 24845: "EDAA", 24925: "EDAB", 25001: "EDAC", 24989: "EDAD", 25035: "EDAE", 25041: "EDAF", 25094: "EDB0", 32896: "EDB1", 32895: "EDB2", 27795: "EDB3", 27894: "EDB4", 28156: "EDB5", 30710: "EDB6", 30712: "EDB7", 30720: "EDB8", 30729: "EDB9", 30743: "EDBA", 30744: "EDBB", 30737: "EDBC", 26027: "EDBD", 30765: "EDBE", 30748: "EDBF", 30749: "EDC0", 30777: "EDC1", 30778: "EDC2", 30779: "EDC3", 30751: "EDC4", 30780: "EDC5", 30757: "EDC6", 30764: "EDC7", 30755: "EDC8", 30761: "EDC9", 30798: "EDCA", 30829: "EDCB", 30806: "EDCC", 30807: "EDCD", 30758: "EDCE", 30800: "EDCF", 30791: "EDD0", 30796: "EDD1", 30826: "EDD2", 30875: "EDD3", 30867: "EDD4", 30874: "EDD5", 30855: "EDD6", 30876: "EDD7", 30881: "EDD8", 30883: "EDD9", 30898: "EDDA", 30905: "EDDB", 30885: "EDDC", 30932: "EDDD", 30937: "EDDE", 30921: "EDDF", 30956: "EDE0", 30962: "EDE1", 30981: "EDE2", 30964: "EDE3", 30995: "EDE4", 31012: "EDE5", 31006: "EDE6", 31028: "EDE7", 40859: "EDE8", 40697: "EDE9", 40699: "EDEA", 40700: "EDEB", 30449: "EDEC", 30468: "EDED", 30477: "EDEE", 30457: "EDEF", 30471: "EDF0", 30472: "EDF1", 30490: "EDF2", 30498: "EDF3", 30489: "EDF4", 30509: "EDF5", 30502: "EDF6", 30517: "EDF7", 30520: "EDF8", 30544: "EDF9", 30545: "EDFA", 30535: "EDFB", 30531: "EDFC", 30554: "EDFD", 30568: "EDFE", 30562: "EEA1", 30565: "EEA2", 30591: "EEA3", 30605: "EEA4", 30589: "EEA5", 30592: "EEA6", 30604: "EEA7", 30609: "EEA8", 30623: "EEA9", 30624: "EEAA", 30640: "EEAB", 30645: "EEAC", 30653: "EEAD", 30010: "EEAE", 30016: "EEAF", 30030: "EEB0", 30027: "EEB1", 30024: "EEB2", 30043: "EEB3", 30066: "EEB4", 30073: "EEB5", 30083: "EEB6", 32600: "EEB7", 32609: "EEB8", 32607: "EEB9", 35400: "EEBA", 32616: "EEBB", 32628: "EEBC", 32625: "EEBD", 32633: "EEBE", 32641: "EEBF", 32638: "EEC0", 30413: "EEC1", 30437: "EEC2", 34866: "EEC3", 38021: "EEC4", 38022: "EEC5", 38023: "EEC6", 38027: "EEC7", 38026: "EEC8", 38028: "EEC9", 38029: "EECA", 38031: "EECB", 38032: "EECC", 38036: "EECD", 38039: "EECE", 38037: "EECF", 38042: "EED0", 38043: "EED1", 38044: "EED2", 38051: "EED3", 38052: "EED4", 38059: "EED5", 38058: "EED6", 38061: "EED7", 38060: "EED8", 38063: "EED9", 38064: "EEDA", 38066: "EEDB", 38068: "EEDC", 38070: "EEDD", 38071: "EEDE", 38072: "EEDF", 38073: "EEE0", 38074: "EEE1", 38076: "EEE2", 38077: "EEE3", 38079: "EEE4", 38084: "EEE5", 38088: "EEE6", 38089: "EEE7", 38090: "EEE8", 38091: "EEE9", 38092: "EEEA", 38093: "EEEB", 38094: "EEEC", 38096: "EEED", 38097: "EEEE", 38098: "EEEF", 38101: "EEF0", 38102: "EEF1", 38103: "EEF2", 38105: "EEF3", 38104: "EEF4", 38107: "EEF5", 38110: "EEF6", 38111: "EEF7", 38112: "EEF8", 38114: "EEF9", 38116: "EEFA", 38117: "EEFB", 38119: "EEFC", 38120: "EEFD", 38122: "EEFE", 38121: "EFA1", 38123: "EFA2", 38126: "EFA3", 38127: "EFA4", 38131: "EFA5", 38132: "EFA6", 38133: "EFA7", 38135: "EFA8", 38137: "EFA9", 38140: "EFAA", 38141: "EFAB", 38143: "EFAC", 38147: "EFAD", 38146: "EFAE", 38150: "EFAF", 38151: "EFB0", 38153: "EFB1", 38154: "EFB2", 38157: "EFB3", 38158: "EFB4", 38159: "EFB5", 38162: "EFB6", 38163: "EFB7", 38164: "EFB8", 38165: "EFB9", 38166: "EFBA", 38168: "EFBB", 38171: "EFBC", 38173: "EFBD", 38174: "EFBE", 38175: "EFBF", 38178: "EFC0", 38186: "EFC1", 38187: "EFC2", 38185: "EFC3", 38188: "EFC4", 38193: "EFC5", 38194: "EFC6", 38196: "EFC7", 38198: "EFC8", 38199: "EFC9", 38200: "EFCA", 38204: "EFCB", 38206: "EFCC", 38207: "EFCD", 38210: "EFCE", 38197: "EFCF", 38212: "EFD0", 38213: "EFD1", 38214: "EFD2", 38217: "EFD3", 38220: "EFD4", 38222: "EFD5", 38223: "EFD6", 38226: "EFD7", 38227: "EFD8", 38228: "EFD9", 38230: "EFDA", 38231: "EFDB", 38232: "EFDC", 38233: "EFDD", 38235: "EFDE", 38238: "EFDF", 38239: "EFE0", 38237: "EFE1", 38241: "EFE2", 38242: "EFE3", 38244: "EFE4", 38245: "EFE5", 38246: "EFE6", 38247: "EFE7", 38248: "EFE8", 38249: "EFE9", 38250: "EFEA", 38251: "EFEB", 38252: "EFEC", 38255: "EFED", 38257: "EFEE", 38258: "EFEF", 38259: "EFF0", 38202: "EFF1", 30695: "EFF2", 30700: "EFF3", 38601: "EFF4", 31189: "EFF5", 31213: "EFF6", 31203: "EFF7", 31211: "EFF8", 31238: "EFF9", 23879: "EFFA", 31235: "EFFB", 31234: "EFFC", 31262: "EFFD", 31252: "EFFE", 31289: "F0A1", 31287: "F0A2", 31313: "F0A3", 40655: "F0A4", 39333: "F0A5", 31344: "F0A6", 30344: "F0A7", 30350: "F0A8", 30355: "F0A9", 30361: "F0AA", 30372: "F0AB", 29918: "F0AC", 29920: "F0AD", 29996: "F0AE", 40480: "F0AF", 40482: "F0B0", 40488: "F0B1", 40489: "F0B2", 40490: "F0B3", 40491: "F0B4", 40492: "F0B5", 40498: "F0B6", 40497: "F0B7", 40502: "F0B8", 40504: "F0B9", 40503: "F0BA", 40505: "F0BB", 40506: "F0BC", 40510: "F0BD", 40513: "F0BE", 40514: "F0BF", 40516: "F0C0", 40518: "F0C1", 40519: "F0C2", 40520: "F0C3", 40521: "F0C4", 40523: "F0C5", 40524: "F0C6", 40526: "F0C7", 40529: "F0C8", 40533: "F0C9", 40535: "F0CA", 40538: "F0CB", 40539: "F0CC", 40540: "F0CD", 40542: "F0CE", 40547: "F0CF", 40550: "F0D0", 40551: "F0D1", 40552: "F0D2", 40553: "F0D3", 40554: "F0D4", 40555: "F0D5", 40556: "F0D6", 40561: "F0D7", 40557: "F0D8", 40563: "F0D9", 30098: "F0DA", 30100: "F0DB", 30102: "F0DC", 30112: "F0DD", 30109: "F0DE", 30124: "F0DF", 30115: "F0E0", 30131: "F0E1", 30132: "F0E2", 30136: "F0E3", 30148: "F0E4", 30129: "F0E5", 30128: "F0E6", 30147: "F0E7", 30146: "F0E8", 30166: "F0E9", 30157: "F0EA", 30179: "F0EB", 30184: "F0EC", 30182: "F0ED", 30180: "F0EE", 30187: "F0EF", 30183: "F0F0", 30211: "F0F1", 30193: "F0F2", 30204: "F0F3", 30207: "F0F4", 30224: "F0F5", 30208: "F0F6", 30213: "F0F7", 30220: "F0F8", 30231: "F0F9", 30218: "F0FA", 30245: "F0FB", 30232: "F0FC", 30229: "F0FD", 30233: "F0FE", 30235: "F1A1", 30268: "F1A2", 30242: "F1A3", 30240: "F1A4", 30272: "F1A5", 30253: "F1A6", 30256: "F1A7", 30271: "F1A8", 30261: "F1A9", 30275: "F1AA", 30270: "F1AB", 30259: "F1AC", 30285: "F1AD", 30302: "F1AE", 30292: "F1AF", 30300: "F1B0", 30294: "F1B1", 30315: "F1B2", 30319: "F1B3", 32714: "F1B4", 31462: "F1B5", 31352: "F1B6", 31353: "F1B7", 31360: "F1B8", 31366: "F1B9", 31368: "F1BA", 31381: "F1BB", 31398: "F1BC", 31392: "F1BD", 31404: "F1BE", 31400: "F1BF", 31405: "F1C0", 31411: "F1C1", 34916: "F1C2", 34921: "F1C3", 34930: "F1C4", 34941: "F1C5", 34943: "F1C6", 34946: "F1C7", 34978: "F1C8", 35014: "F1C9", 34999: "F1CA", 35004: "F1CB", 35017: "F1CC", 35042: "F1CD", 35022: "F1CE", 35043: "F1CF", 35045: "F1D0", 35057: "F1D1", 35098: "F1D2", 35068: "F1D3", 35048: "F1D4", 35070: "F1D5", 35056: "F1D6", 35105: "F1D7", 35097: "F1D8", 35091: "F1D9", 35099: "F1DA", 35082: "F1DB", 35124: "F1DC", 35115: "F1DD", 35126: "F1DE", 35137: "F1DF", 35174: "F1E0", 35195: "F1E1", 30091: "F1E2", 32997: "F1E3", 30386: "F1E4", 30388: "F1E5", 30684: "F1E6", 32786: "F1E7", 32788: "F1E8", 32790: "F1E9", 32796: "F1EA", 32800: "F1EB", 32802: "F1EC", 32805: "F1ED", 32806: "F1EE", 32807: "F1EF", 32809: "F1F0", 32808: "F1F1", 32817: "F1F2", 32779: "F1F3", 32821: "F1F4", 32835: "F1F5", 32838: "F1F6", 32845: "F1F7", 32850: "F1F8", 32873: "F1F9", 32881: "F1FA", 35203: "F1FB", 39032: "F1FC", 39040: "F1FD", 39043: "F1FE", 39049: "F2A1", 39052: "F2A2", 39053: "F2A3", 39055: "F2A4", 39060: "F2A5", 39066: "F2A6", 39067: "F2A7", 39070: "F2A8", 39071: "F2A9", 39073: "F2AA", 39074: "F2AB", 39077: "F2AC", 39078: "F2AD", 34381: "F2AE", 34388: "F2AF", 34412: "F2B0", 34414: "F2B1", 34431: "F2B2", 34426: "F2B3", 34428: "F2B4", 34427: "F2B5", 34472: "F2B6", 34445: "F2B7", 34443: "F2B8", 34476: "F2B9", 34461: "F2BA", 34471: "F2BB", 34467: "F2BC", 34474: "F2BD", 34451: "F2BE", 34473: "F2BF", 34486: "F2C0", 34500: "F2C1", 34485: "F2C2", 34510: "F2C3", 34480: "F2C4", 34490: "F2C5", 34481: "F2C6", 34479: "F2C7", 34505: "F2C8", 34511: "F2C9", 34484: "F2CA", 34537: "F2CB", 34545: "F2CC", 34546: "F2CD", 34541: "F2CE", 34547: "F2CF", 34512: "F2D0", 34579: "F2D1", 34526: "F2D2", 34548: "F2D3", 34527: "F2D4", 34520: "F2D5", 34513: "F2D6", 34563: "F2D7", 34567: "F2D8", 34552: "F2D9", 34568: "F2DA", 34570: "F2DB", 34573: "F2DC", 34569: "F2DD", 34595: "F2DE", 34619: "F2DF", 34590: "F2E0", 34597: "F2E1", 34606: "F2E2", 34586: "F2E3", 34622: "F2E4", 34632: "F2E5", 34612: "F2E6", 34609: "F2E7", 34601: "F2E8", 34615: "F2E9", 34623: "F2EA", 34690: "F2EB", 34594: "F2EC", 34685: "F2ED", 34686: "F2EE", 34683: "F2EF", 34656: "F2F0", 34672: "F2F1", 34636: "F2F2", 34670: "F2F3", 34699: "F2F4", 34643: "F2F5", 34659: "F2F6", 34684: "F2F7", 34660: "F2F8", 34649: "F2F9", 34661: "F2FA", 34707: "F2FB", 34735: "F2FC", 34728: "F2FD", 34770: "F2FE", 34758: "F3A1", 34696: "F3A2", 34693: "F3A3", 34733: "F3A4", 34711: "F3A5", 34691: "F3A6", 34731: "F3A7", 34789: "F3A8", 34732: "F3A9", 34741: "F3AA", 34739: "F3AB", 34763: "F3AC", 34771: "F3AD", 34749: "F3AE", 34769: "F3AF", 34752: "F3B0", 34762: "F3B1", 34779: "F3B2", 34794: "F3B3", 34784: "F3B4", 34798: "F3B5", 34838: "F3B6", 34835: "F3B7", 34814: "F3B8", 34826: "F3B9", 34843: "F3BA", 34849: "F3BB", 34873: "F3BC", 34876: "F3BD", 32566: "F3BE", 32578: "F3BF", 32580: "F3C0", 32581: "F3C1", 33296: "F3C2", 31482: "F3C3", 31485: "F3C4", 31496: "F3C5", 31491: "F3C6", 31492: "F3C7", 31509: "F3C8", 31498: "F3C9", 31531: "F3CA", 31503: "F3CB", 31559: "F3CC", 31544: "F3CD", 31530: "F3CE", 31513: "F3CF", 31534: "F3D0", 31537: "F3D1", 31520: "F3D2", 31525: "F3D3", 31524: "F3D4", 31539: "F3D5", 31550: "F3D6", 31518: "F3D7", 31576: "F3D8", 31578: "F3D9", 31557: "F3DA", 31605: "F3DB", 31564: "F3DC", 31581: "F3DD", 31584: "F3DE", 31598: "F3DF", 31611: "F3E0", 31586: "F3E1", 31602: "F3E2", 31601: "F3E3", 31632: "F3E4", 31654: "F3E5", 31655: "F3E6", 31672: "F3E7", 31660: "F3E8", 31645: "F3E9", 31656: "F3EA", 31621: "F3EB", 31658: "F3EC", 31644: "F3ED", 31650: "F3EE", 31659: "F3EF", 31668: "F3F0", 31697: "F3F1", 31681: "F3F2", 31692: "F3F3", 31709: "F3F4", 31706: "F3F5", 31717: "F3F6", 31718: "F3F7", 31722: "F3F8", 31756: "F3F9", 31742: "F3FA", 31740: "F3FB", 31759: "F3FC", 31766: "F3FD", 31755: "F3FE", 31775: "F4A1", 31786: "F4A2", 31782: "F4A3", 31800: "F4A4", 31809: "F4A5", 31808: "F4A6", 33278: "F4A7", 33281: "F4A8", 33282: "F4A9", 33284: "F4AA", 33260: "F4AB", 34884: "F4AC", 33313: "F4AD", 33314: "F4AE", 33315: "F4AF", 33325: "F4B0", 33327: "F4B1", 33320: "F4B2", 33323: "F4B3", 33336: "F4B4", 33339: "F4B5", 33331: "F4B6", 33332: "F4B7", 33342: "F4B8", 33348: "F4B9", 33353: "F4BA", 33355: "F4BB", 33359: "F4BC", 33370: "F4BD", 33375: "F4BE", 33384: "F4BF", 34942: "F4C0", 34949: "F4C1", 34952: "F4C2", 35032: "F4C3", 35039: "F4C4", 35166: "F4C5", 32669: "F4C6", 32671: "F4C7", 32679: "F4C8", 32687: "F4C9", 32688: "F4CA", 32690: "F4CB", 31868: "F4CC", 25929: "F4CD", 31889: "F4CE", 31901: "F4CF", 31900: "F4D0", 31902: "F4D1", 31906: "F4D2", 31922: "F4D3", 31932: "F4D4", 31933: "F4D5", 31937: "F4D6", 31943: "F4D7", 31948: "F4D8", 31949: "F4D9", 31944: "F4DA", 31941: "F4DB", 31959: "F4DC", 31976: "F4DD", 33390: "F4DE", 26280: "F4DF", 32703: "F4E0", 32718: "F4E1", 32725: "F4E2", 32741: "F4E3", 32737: "F4E4", 32742: "F4E5", 32745: "F4E6", 32750: "F4E7", 32755: "F4E8", 31992: "F4E9", 32119: "F4EA", 32166: "F4EB", 32174: "F4EC", 32327: "F4ED", 32411: "F4EE", 40632: "F4EF", 40628: "F4F0", 36211: "F4F1", 36228: "F4F2", 36244: "F4F3", 36241: "F4F4", 36273: "F4F5", 36199: "F4F6", 36205: "F4F7", 35911: "F4F8", 35913: "F4F9", 37194: "F4FA", 37200: "F4FB", 37198: "F4FC", 37199: "F4FD", 37220: "F4FE", 37218: "F5A1", 37217: "F5A2", 37232: "F5A3", 37225: "F5A4", 37231: "F5A5", 37245: "F5A6", 37246: "F5A7", 37234: "F5A8", 37236: "F5A9", 37241: "F5AA", 37260: "F5AB", 37253: "F5AC", 37264: "F5AD", 37261: "F5AE", 37265: "F5AF", 37282: "F5B0", 37283: "F5B1", 37290: "F5B2", 37293: "F5B3", 37294: "F5B4", 37295: "F5B5", 37301: "F5B6", 37300: "F5B7", 37306: "F5B8", 35925: "F5B9", 40574: "F5BA", 36280: "F5BB", 36331: "F5BC", 36357: "F5BD", 36441: "F5BE", 36457: "F5BF", 36277: "F5C0", 36287: "F5C1", 36284: "F5C2", 36282: "F5C3", 36292: "F5C4", 36310: "F5C5", 36311: "F5C6", 36314: "F5C7", 36318: "F5C8", 36302: "F5C9", 36303: "F5CA", 36315: "F5CB", 36294: "F5CC", 36332: "F5CD", 36343: "F5CE", 36344: "F5CF", 36323: "F5D0", 36345: "F5D1", 36347: "F5D2", 36324: "F5D3", 36361: "F5D4", 36349: "F5D5", 36372: "F5D6", 36381: "F5D7", 36383: "F5D8", 36396: "F5D9", 36398: "F5DA", 36387: "F5DB", 36399: "F5DC", 36410: "F5DD", 36416: "F5DE", 36409: "F5DF", 36405: "F5E0", 36413: "F5E1", 36401: "F5E2", 36425: "F5E3", 36417: "F5E4", 36418: "F5E5", 36433: "F5E6", 36434: "F5E7", 36426: "F5E8", 36464: "F5E9", 36470: "F5EA", 36476: "F5EB", 36463: "F5EC", 36468: "F5ED", 36485: "F5EE", 36495: "F5EF", 36500: "F5F0", 36496: "F5F1", 36508: "F5F2", 36510: "F5F3", 35960: "F5F4", 35970: "F5F5", 35978: "F5F6", 35973: "F5F7", 35992: "F5F8", 35988: "F5F9", 26011: "F5FA", 35286: "F5FB", 35294: "F5FC", 35290: "F5FD", 35292: "F5FE", 35301: "F6A1", 35307: "F6A2", 35311: "F6A3", 35390: "F6A4", 35622: "F6A5", 38739: "F6A6", 38633: "F6A7", 38643: "F6A8", 38639: "F6A9", 38662: "F6AA", 38657: "F6AB", 38664: "F6AC", 38671: "F6AD", 38670: "F6AE", 38698: "F6AF", 38701: "F6B0", 38704: "F6B1", 38718: "F6B2", 40832: "F6B3", 40835: "F6B4", 40837: "F6B5", 40838: "F6B6", 40839: "F6B7", 40840: "F6B8", 40841: "F6B9", 40842: "F6BA", 40844: "F6BB", 40702: "F6BC", 40715: "F6BD", 40717: "F6BE", 38585: "F6BF", 38588: "F6C0", 38589: "F6C1", 38606: "F6C2", 38610: "F6C3", 30655: "F6C4", 38624: "F6C5", 37518: "F6C6", 37550: "F6C7", 37576: "F6C8", 37694: "F6C9", 37738: "F6CA", 37834: "F6CB", 37775: "F6CC", 37950: "F6CD", 37995: "F6CE", 40063: "F6CF", 40066: "F6D0", 40069: "F6D1", 40070: "F6D2", 40071: "F6D3", 40072: "F6D4", 31267: "F6D5", 40075: "F6D6", 40078: "F6D7", 40080: "F6D8", 40081: "F6D9", 40082: "F6DA", 40084: "F6DB", 40085: "F6DC", 40090: "F6DD", 40091: "F6DE", 40094: "F6DF", 40095: "F6E0", 40096: "F6E1", 40097: "F6E2", 40098: "F6E3", 40099: "F6E4", 40101: "F6E5", 40102: "F6E6", 40103: "F6E7", 40104: "F6E8", 40105: "F6E9", 40107: "F6EA", 40109: "F6EB", 40110: "F6EC", 40112: "F6ED", 40113: "F6EE", 40114: "F6EF", 40115: "F6F0", 40116: "F6F1", 40117: "F6F2", 40118: "F6F3", 40119: "F6F4", 40122: "F6F5", 40123: "F6F6", 40124: "F6F7", 40125: "F6F8", 40132: "F6F9", 40133: "F6FA", 40134: "F6FB", 40135: "F6FC", 40138: "F6FD", 40139: "F6FE", 40140: "F7A1", 40141: "F7A2", 40142: "F7A3", 40143: "F7A4", 40144: "F7A5", 40147: "F7A6", 40148: "F7A7", 40149: "F7A8", 40151: "F7A9", 40152: "F7AA", 40153: "F7AB", 40156: "F7AC", 40157: "F7AD", 40159: "F7AE", 40162: "F7AF", 38780: "F7B0", 38789: "F7B1", 38801: "F7B2", 38802: "F7B3", 38804: "F7B4", 38831: "F7B5", 38827: "F7B6", 38819: "F7B7", 38834: "F7B8", 38836: "F7B9", 39601: "F7BA", 39600: "F7BB", 39607: "F7BC", 40536: "F7BD", 39606: "F7BE", 39610: "F7BF", 39612: "F7C0", 39617: "F7C1", 39616: "F7C2", 39621: "F7C3", 39618: "F7C4", 39627: "F7C5", 39628: "F7C6", 39633: "F7C7", 39749: "F7C8", 39747: "F7C9", 39751: "F7CA", 39753: "F7CB", 39752: "F7CC", 39757: "F7CD", 39761: "F7CE", 39144: "F7CF", 39181: "F7D0", 39214: "F7D1", 39253: "F7D2", 39252: "F7D3", 39647: "F7D4", 39649: "F7D5", 39654: "F7D6", 39663: "F7D7", 39659: "F7D8", 39675: "F7D9", 39661: "F7DA", 39673: "F7DB", 39688: "F7DC", 39695: "F7DD", 39699: "F7DE", 39711: "F7DF", 39715: "F7E0", 40637: "F7E1", 40638: "F7E2", 32315: "F7E3", 40578: "F7E4", 40583: "F7E5", 40584: "F7E6", 40587: "F7E7", 40594: "F7E8", 37846: "F7E9", 40605: "F7EA", 40607: "F7EB", 40667: "F7EC", 40668: "F7ED", 40669: "F7EE", 40672: "F7EF", 40671: "F7F0", 40674: "F7F1", 40681: "F7F2", 40679: "F7F3", 40677: "F7F4", 40682: "F7F5", 40687: "F7F6", 40738: "F7F7", 40748: "F7F8", 40751: "F7F9", 40761: "F7FA", 40759: "F7FB", 40765: "F7FC", 40766: "F7FD", 40772: "F7FE" };
  2701.  
  2702. var i = 0;
  2703. var l = str.length;
  2704.  
  2705. var ret = [];
  2706. var charCode;
  2707. var gCode;
  2708.  
  2709. for (i = 0; i < l; i++) {
  2710. charCode = str.charCodeAt(i);
  2711. if (charCode <= 127) {
  2712. ret.push('%' + charCode.toString(16));
  2713. } else {
  2714. gCode = map.hasOwnProperty(charCode) && map[charCode];
  2715. if (gCode) {
  2716. while (gCode.length < 4) {
  2717. gCode = '0' + gCode;
  2718. };
  2719. ret.push('%' + gCode.slice(0, 2) + '%' + gCode.slice(2, 4));
  2720. } else {
  2721. //字库里面没有.
  2722. };
  2723. };
  2724. };
  2725.  
  2726. return ret.join('');
  2727. }
  2728.  
  2729. // 转换文本数据为 engineList 对象
  2730. function parseDataStr(str, opt) {
  2731. if (typeof opt == 'undefined') {
  2732. opt = {};
  2733. }
  2734.  
  2735. // 提前处理下特殊的 post 方式
  2736. str = str.replace(/[\n\r]+[\s\/]*-\s*(\S+):/g, '_POST_ $1:');
  2737.  
  2738. var parseArgs = function (str) {
  2739. var arr = str.replace(/,/g, ', ').split(/\s*, \s*/);
  2740. var args = {};
  2741. arr.forEach(function (s) {
  2742. var argArr = s.split(/\s*:\s*/);
  2743. args[argArr[0]] = argArr[1];
  2744. });
  2745. return args;
  2746. };
  2747.  
  2748. var isEncoding = function (str) {
  2749. str = str.trim().toLowerCase();
  2750. return ['utf-8', 'gb', 'ascii', 'redirect'].some(function (e) {
  2751. return str.indexOf(e) == 0;
  2752. });
  2753. };
  2754.  
  2755. var parseLine = function (line) {
  2756. line = line.trim();
  2757.  
  2758. if (!line) return;
  2759.  
  2760. if (line.indexOf('//') == 0) {
  2761. if (opt.commentLine) { // 包含注释行
  2762. line = line.replace(/^\/\/\s*/, '');
  2763. } else {
  2764. return;
  2765. }
  2766. }
  2767.  
  2768. var engine = {};
  2769.  
  2770. if (line.indexOf('_POST_') != -1) {
  2771. engine.method = 'POST';
  2772. var two = line.split(/\s*_POST_\s*/);
  2773. line = two[0];
  2774. engine.args = parseArgs(two[1]);
  2775. }
  2776.  
  2777. var arr = line.replace(/,/g, ', ').split(/\s*, \s*/);
  2778. if (arr.length === 1) { // 分类
  2779. return line;
  2780. }
  2781.  
  2782. engine.name = arr[0];
  2783. engine.url = arr[1];
  2784. engine.host = parseUri(engine.url).host;
  2785.  
  2786. // 处理编码和图标
  2787. if (arr[2] && isEncoding(arr[2])) {
  2788. engine.encoding = arr[2];
  2789. engine.favicon = arr[3];
  2790. } else {
  2791. engine.favicon = arr[2];
  2792. }
  2793.  
  2794. if (typeof ICON_DATA != 'undefined') {
  2795. if (!engine.favicon) { // 不存在尝试通过链接的域名获取
  2796. engine.favicon = ICON_DATA[engine.host];
  2797. } else if (engine.favicon.startsWith('data:image')) { // base64 图标
  2798. } else if (engine.favicon.startsWith('http')) { // 在线图标
  2799. engine.favicon = ICON_DATA[parseUri(engine.favicon).host] || engine.favicon;
  2800. } else { // 域名
  2801. engine.favicon = ICON_DATA[engine.favicon] || getFaviconUrl(engine.favicon, opt.iconType);
  2802. }
  2803. }
  2804.  
  2805. if (!engine.favicon) {
  2806. engine.favicon = getFaviconUrl(engine.url, opt.iconType);
  2807. }
  2808.  
  2809. return engine;
  2810. };
  2811.  
  2812. var list = {},
  2813. type;
  2814.  
  2815. str.split(/[\n\r]+/).forEach(function (line) {
  2816. var engine = parseLine(line);
  2817. if (!engine) {
  2818. return;
  2819. }
  2820.  
  2821. if (typeof engine === 'string') {
  2822. type = line.trim();
  2823. list[type] = [];
  2824. } else {
  2825. // engine.type = type;
  2826. list[type].push(engine);
  2827. }
  2828. });
  2829.  
  2830. return list;
  2831. }
  2832.  
  2833. function getFaviconUrl(url, type) {
  2834. var uri = parseUri(url);
  2835.  
  2836. switch (type) {
  2837. case 0:
  2838. return url;
  2839. case 1:
  2840. return 'http://g.etfv.co/' + url;
  2841. case 2:
  2842. return 'https://www.google.com/s2/favicons?domain=' + uri.host;
  2843. case 3:
  2844. return uri.protocol + '://' + uri.host + '/favicons.ico';
  2845. default:
  2846. // return 'https://www.google.com/s2/favicons?domain=' + uri.host;
  2847. // return 'https://ico.kucat.cn/get.php?url=' + uri.protocol + '://' + uri.host;
  2848. return uri.protocol + '://' + uri.host + '/favicon.ico';
  2849. }
  2850. }
  2851.  
  2852. // parseUri 1.2.2
  2853. // (c) Steven Levithan <stevenlevithan.com>
  2854. // MIT License
  2855. var parseUri = function (str) {
  2856. var o = parseUri.options,
  2857. m = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
  2858. uri = {},
  2859. i = 14;
  2860.  
  2861. while (i--) uri[o.key[i]] = m[i] || "";
  2862.  
  2863. uri[o.ds.name] = {};
  2864. uri[o.ds.name][0] = {};
  2865. uri[o.ds.name][0]['key'] = (uri.protocol ? uri.protocol : 'http') + '://' + uri.host + (uri.port ? ':' + uri.port : '') + '/';
  2866. uri[o.ds.name][0]['val'] = '/';
  2867. var i = 0,
  2868. tempsub = '/',
  2869. subs = uri[o.key[10]].substr(1).split('/');
  2870. for (var j = 1; j < (subs.length + 1); j++, i++) {
  2871. tempsub += tempsub === '/' ? subs[i] : '/' + subs[i];
  2872. if (subs[i]) {
  2873. uri[o.ds.name][j] = {};
  2874. uri[o.ds.name][j]['key'] = subs[i];
  2875. uri[o.ds.name][j]['val'] = tempsub;
  2876. }
  2877. }
  2878.  
  2879. uri[o.q.name] = {};
  2880. uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
  2881. if ($1) uri[o.q.name][$1] = $2;
  2882. });
  2883. uri[o.aq.name] = {};
  2884. uri[o.key[13]].replace(o.aq.parser, function ($0, $1, $2) {
  2885. if ($1) uri[o.aq.name][$1] = $2;
  2886. });
  2887.  
  2888. return uri;
  2889. };
  2890. parseUri.options = {
  2891. strictMode: false,
  2892. key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"],
  2893. q: {
  2894. name: "queryKey",
  2895. parser: /(?:^|&)([^&=]*)=?([^&]*)/g
  2896. },
  2897. aq: {
  2898. name: "anchorqueryKey",
  2899. parser: /(?:^|&)([^&=]*)=?([^&]*)/g
  2900. },
  2901. ds: {
  2902. name: "directorySub"
  2903. },
  2904. parser: {
  2905. strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
  2906. loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
  2907. }
  2908. };
  2909.  
  2910. if (typeof exports !== 'undefined') {
  2911. exports.parseDataStr = parseDataStr;
  2912. exports.parseUri = parseUri;
  2913. }
  2914.  
  2915. // 列表对象
  2916. function DropDownList(a, list) {
  2917. this.a = a;
  2918. this.list = list;
  2919. this.init();
  2920. };
  2921. DropDownList.zIndex = 100000000;
  2922.  
  2923. DropDownList.prototype = {
  2924. hidden: true,
  2925. showDelay: 233,
  2926. hideDelay: 266,
  2927. aShownClass: 'sej-drop-list-trigger-shown',
  2928.  
  2929. init: function () {
  2930. var a = this.a;
  2931. var list = this.list;
  2932.  
  2933. var self = this;
  2934.  
  2935. // 进入显示
  2936. mouseEventListener.add('mouseenter', a, function () {
  2937. clearTimeout(self.hideTimerId);
  2938.  
  2939. if (self.hidden) {
  2940. self.showTimerId = setTimeout(function () {
  2941. self.show();
  2942. }, self.showDelay);
  2943. } else {
  2944. var style = list.style;
  2945. style.zIndex = DropDownList.zIndex++;
  2946. style.opacity = 0.96;
  2947. };
  2948. });
  2949.  
  2950. // 离开隐藏
  2951. mouseEventListener.add('mouseleave', a, function () {
  2952. clearTimeout(self.showTimerId);
  2953.  
  2954. if (!self.hidden) {
  2955. list.style.opacity = 0.3;
  2956. self.hideTimerId = setTimeout(function () {
  2957. self.hide();
  2958. }, self.hideDelay);
  2959. };
  2960. });
  2961.  
  2962. mouseEventListener.add('mouseenter', list, function () {
  2963. clearTimeout(self.hideTimerId);
  2964.  
  2965. var style = list.style;
  2966. style.zIndex = DropDownList.zIndex++;
  2967. style.opacity = 0.96;
  2968. });
  2969.  
  2970. mouseEventListener.add('mouseleave', list, function () {
  2971.  
  2972. list.style.opacity = 0.3;
  2973. self.hideTimerId = setTimeout(function () {
  2974. self.hide();
  2975. }, self.hideDelay);
  2976. });
  2977.  
  2978. },
  2979. show: function () {
  2980. if (!this.hidden) return;
  2981. this.hidden = false;
  2982.  
  2983. var scrolled = getScrolled();
  2984. var aBCRect = this.a.getBoundingClientRect();
  2985.  
  2986. var style = this.list.style;
  2987.  
  2988. var top, left;
  2989. if (this.a.dataset.horizontal) { // 向右展开
  2990. top = scrolled.y + aBCRect.top;
  2991. left = scrolled.x + aBCRect.left + this.a.clientWidth;
  2992. } else { // 默认的向下展开
  2993. top = scrolled.y + aBCRect.bottom;
  2994. left = scrolled.x + aBCRect.left;
  2995. }
  2996.  
  2997. style.top = top + 6 + 'px';
  2998. style.left = left + 'px';
  2999. style.zIndex = DropDownList.zIndex++;
  3000. style.display = 'block';
  3001.  
  3002. setTimeout(function () {
  3003. style.opacity = 0.96;
  3004. style.top = top + 'px';
  3005. }, 30);
  3006.  
  3007. this.a.classList.add(this.aShownClass);
  3008.  
  3009. },
  3010. hide: function () {
  3011. if (this.hidden) return;
  3012. this.hidden = true;
  3013.  
  3014. var style = this.list.style;
  3015. style.display = 'none';
  3016. style.opacity = 0.3;
  3017.  
  3018. this.a.classList.remove(this.aShownClass);
  3019.  
  3020. },
  3021. };
  3022.  
  3023. function addGlobalStyle() {
  3024. // 添加全局样式和自定义样式
  3025. var style = document.getElementById('sej-style');
  3026. if (!style) {
  3027. style = document.createElement('style');
  3028. style.id = 'sej-style';
  3029. style.type = 'text/css';
  3030. style.textContent = MAIN_CSS + '\n' + (matchedRule.stylish || '');
  3031. document.head.appendChild(style);
  3032. }
  3033. }
  3034.  
  3035. function addContainer(iTarget, iInput) {
  3036. var pageEncoding = (document.characterSet || document.charset).toLowerCase();
  3037.  
  3038. // 创建dom
  3039. var aPattern = '<a href="" class="sej-engine"' + (prefs.openInNewTab ? ' target="_blank" ' : ' ') +
  3040. 'encoding="$encoding$" url="$url$" onclick="$onclick$" _title="$title$">' +
  3041. '<img src="$favicon$" class="sej-engine-icon" />$form$<span>$name$</span></a>';
  3042.  
  3043. var container = document.createElement('sejspan');
  3044. container.id = 'sej-container';
  3045.  
  3046. container.addEventListener('mousedown', mousedownhandler, true);
  3047.  
  3048. // container.style.cssText = 'margin: 0 auto; max-width: 1100px;';
  3049. if (matchedRule.style) {
  3050. container.style.cssText = matchedRule.style;
  3051. }
  3052.  
  3053. var dropLists = [];
  3054.  
  3055. // 根据搜索列表的类型得到数据
  3056. var engineListDataStr = engineListData[prefs.engineListDataType] || engineListData.normal;
  3057. var allEngineList = parseDataStr(engineListDataStr);
  3058. var isFirstDropList = true;
  3059. var isMatched = false; // 当前搜索只匹配一次
  3060.  
  3061. Object.keys(allEngineList).forEach(function (categoryStr) {
  3062. var categoryArr = categoryStr.split('-');
  3063.  
  3064. var category = {
  3065. str: categoryStr,
  3066. name: categoryArr[0],
  3067. icon: categoryArr[1],
  3068. insert: categoryArr[2]
  3069. };
  3070.  
  3071. var engines = [];
  3072.  
  3073. var engineList = allEngineList[categoryStr];
  3074. engineList.forEach(function (engine) {
  3075. if (matchedRule.engineList && !isMatched && toRE(matchedRule.url).test(engine.url)) { // 去掉跳转到当前引擎的引擎
  3076. isMatched = true;
  3077. return;
  3078. }
  3079.  
  3080. var a = aPattern.replace('$encoding$', (engine.encoding || 'utf-8').toLowerCase())
  3081. .replace('$url$', engine.url)
  3082. .replace('$name$', engine.name)
  3083. .replace('$title$', engine.name);
  3084. if (engine.favicon) {
  3085. a = a.replace('$favicon$', engine.favicon);
  3086. } else {
  3087. a = a.replace('src="$favicon$"', '');
  3088. }
  3089.  
  3090. if (engine.method && engine.method.toUpperCase() == 'POST') {
  3091. var f = wrapToHide(getPostFormHTML(engine.url, engine.args, prefs.openInNewTab));
  3092. a = a.replace('$form$', f);
  3093. a = a.replace('$onclick$', "this.getElementsByTagName('form')[0].submit();return false;");
  3094. } else {
  3095. a = a.replace('$form$', '');
  3096. a = a.replace('onclick="$onclick$"', '');
  3097. }
  3098.  
  3099. engines.push(a);
  3100. });
  3101.  
  3102. // 非空列表
  3103. if (!engines.length) return;
  3104.  
  3105. // 插入一个节点给 insertBefore 用
  3106. var lastInsertTitle = category.name;
  3107. engines = engines.join('') + '<span class="sej-engine" _title="' + lastInsertTitle + '" style="display: none;"></span><br>';
  3108.  
  3109. if (isTheSameCategory(category.name, matchedRule.engineList)) {
  3110. container.innerHTML = '<sejspan id="sej-expanded-category" title="点击打开设置窗口">' + category.name + '</sejspan>' + engines;
  3111. } else {
  3112. var dropList = document.createElement('sejspan');
  3113. dropList.className = 'sej-drop-list';
  3114. dropList.innerHTML = engines;
  3115.  
  3116. // 有子 droplist
  3117. var a = dropList.firstElementChild.cloneNode(true);
  3118. a.className = a.className + ' sej-drop-list-trigger';
  3119. a.lastChild.textContent = category.name;
  3120.  
  3121. // 更改图标
  3122. if (category.icon) {
  3123. var e = engineList[category.icon - 1];
  3124. if (e && e.favicon) { // 数字匹配
  3125. a.firstChild.src = e.favicon;
  3126. } else { // 名称匹配
  3127. for (var i = 0; i < engineList.length; i++) {
  3128. if (engineList[i].name == category.icon) {
  3129. a.firstChild.src = engineList[i].favicon;
  3130. break;
  3131. }
  3132. };
  3133. }
  3134. }
  3135.  
  3136. // 是否为第一个 droplist
  3137. if (isFirstDropList) {
  3138. a.className += ' first';
  3139. isFirstDropList = false;
  3140. }
  3141.  
  3142. // 重新插入的位置
  3143. if (typeof category.insert !== 'undefined') {
  3144. a.dataset.horizontal = true;
  3145. a.dataset.insert = category.insert;
  3146. }
  3147.  
  3148. dropLists.push({
  3149. a: a,
  3150. dropList: dropList
  3151. });
  3152. };
  3153. });
  3154.  
  3155. dropLists.forEach(function (item, index) {
  3156. var a = item.a,
  3157. dropList = item.dropList;
  3158.  
  3159. // 移到某个类别里面
  3160. var ins;
  3161. var insert = a.dataset.insert;
  3162. if (typeof insert !== 'undefined') {
  3163. ins = document.querySelector('.sej-engine[_title="' + insert + '"]:not(.sej-drop-list-trigger)');
  3164. }
  3165.  
  3166. if (ins) {
  3167. ins.parentNode.insertBefore(a, ins);
  3168. } else {
  3169. container.appendChild(a);
  3170. }
  3171.  
  3172. if (a.dataset.horizontal && a.parentNode.id === container.id) { // 如果是顶层,菜单不需要修正
  3173. a.removeAttribute('data-horizontal');
  3174.  
  3175. // 插入到第一个类别前面
  3176. // ins = container.querySelector('a.sej-engine.first');
  3177. ins = container.querySelector('a.sej-engine:not(.sej-drop-list-trigger)');
  3178. ins.parentNode.insertBefore(a, ins);
  3179. }
  3180.  
  3181. if (prefs.position == 'left') { // 如果再左边的话,修正弹出菜单的位置
  3182. a.dataset.horizontal = true;
  3183. }
  3184.  
  3185. document.body.appendChild(dropList);
  3186.  
  3187. dropList.addEventListener('mousedown', mousedownhandler, true);
  3188.  
  3189. new DropDownList(a, dropList);
  3190. });
  3191.  
  3192. // 添加设置按钮
  3193. if (!prefs.hidePrefsBtn) {
  3194. var configBtn = document.createElement('a');
  3195. configBtn.innerHTML = '<img class="sej-engine-icon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABbklEQVQ4jZWSu0oDURCGp9BCLcRCAzFGsjvzHwyoWbMzYKWdErBREQQLG/F90qW1y5sEfYGgTyBewBtRiYlFdkPibowOnGrn+883Z5bo95ogKk+O6RkNQ6wFsbbvry38iWAOD5mDIhGRSHjgYF0H64qE50REhUKw7FhPRsC6B9GOE31z0GYM94/YtYM99wL1NBEArC8CepcAk+fF80qSauGgV70m/YRoTURLzEERElYh1nKwLsRuEqDnlWcd6xFEOw7WBewiYShhNbYA9CyfX50b+GhPg5rMtpl8o6A42AOxdiazNhOp28NwgG79DBDR0vBb6Ec2W54mIqJcLjcFhBWIfkWK9eQIWhtY63EfHm6yRqwHaJ053Ga2TcAuHPQzurmZugHPK+cd9H78GvVVZGMlEcBsO9EIjxBrxOP0jLQD6CXEbuMRUi2AsOL7G0xE5Hzd7d8a/b5LS0FWRPdT4ZSacLBniL4zB/N/hf5d3635oJ6ZNLU9AAAAAElFTkSuQmCC" />';
  3196. configBtn.onclick = openPrefs;
  3197. container.appendChild(configBtn);
  3198. }
  3199. // 点击最前面的 "类别" 按钮打开设置窗口
  3200. var categoryBtn = container.querySelector('#sej-expanded-category');
  3201. if (categoryBtn) {
  3202. categoryBtn.addEventListener('click', openPrefs, false);
  3203. }
  3204.  
  3205. // 设置插入的位置
  3206. var insertWhere = matchedRule.insertIntoDoc.where;
  3207. if (matchedRule.left != false) {
  3208. switch (prefs.position) {
  3209. case 'left':
  3210. prefs.hideEnglineLabel = 0;
  3211. insertWhere = 'beforebegin';
  3212. iTarget = document.body;
  3213. container.style.cssText = '\
  3214. position: fixed;\
  3215. top: 104px;\
  3216. width: 100px;\
  3217. z-index: 9999;\
  3218. ';
  3219. GM_addStyle('#sej-container > a { width: 100px; }');
  3220. break;
  3221. case 'top':
  3222. insertWhere = 'beforebegin';
  3223. iTarget = document.body;
  3224. break;
  3225. case 'default':
  3226. break;
  3227. }
  3228. }
  3229.  
  3230. // 插入到文档中
  3231. switch (insertWhere.toLowerCase()) {
  3232. case 'beforebegin':
  3233. iTarget.parentNode.insertBefore(container, iTarget);
  3234. break;
  3235. case 'afterbegin':
  3236. if (iTarget.firstChild) {
  3237. iTarget.insertBefore(container, iTarget.firstChild);
  3238. } else {
  3239. iTarget.appendChild(container);
  3240. }
  3241. break;
  3242. case 'beforeend':
  3243. iTarget.appendChild(container);
  3244. break;
  3245. case 'afterend':
  3246. if (iTarget.nextSibling) {
  3247. iTarget.parentNode.insertBefore(container, iTarget.nextSibling);
  3248. } else {
  3249. iTarget.parentNode.appendChild(container);
  3250. }
  3251. break;
  3252.  
  3253. };
  3254.  
  3255. var isTwoLine = container.clientHeight / container.children[1].clientHeight > 2;
  3256.  
  3257. // 插入后调整下,如果变成两行,隐藏文字
  3258. if (prefs.hideEnglineLabel == 2 || (prefs.hideEnglineLabel == 1 && isTwoLine)) {
  3259. [].forEach.call(document.querySelectorAll('#sej-container > a[class="sej-engine"] > span'), function (span) {
  3260. var link = span.parentNode;
  3261. link.classList.add('only-icon');
  3262. link.setAttribute('title', span.textContent);
  3263. });
  3264.  
  3265. // 取消前面的距离并居中
  3266. // if (isTwoLine) {
  3267. // container.style.paddingLeft = '';
  3268. // container.style.textAlign = 'center';
  3269. // }
  3270. }
  3271.  
  3272. if (typeof matchedRule.endFix == 'function') {
  3273. try {
  3274. matchedRule.endFix();
  3275. } catch (ex) {
  3276. console.error('endFix 错误', ex);
  3277. }
  3278. }
  3279.  
  3280. function mousedownhandler(e) {
  3281. var target = e.target;
  3282.  
  3283. target = getElementByXPath('ancestor-or-self::a[contains(@class, "sej-engine")]', target);
  3284.  
  3285. // if (!target || target.className.indexOf('sej-engine') == -1) return;
  3286. if (!target || !this.contains(target)) return;
  3287.  
  3288. var value;
  3289. if (typeof iInput == 'function') {
  3290. value = iInput();
  3291. } else {
  3292. if (iInput.nodeName == 'INPUT' || iInput.localName == 'textarea') {
  3293. value = iInput.value;
  3294. } else {
  3295. value = iInput.textContent;
  3296. }
  3297. }
  3298.  
  3299. // 根据后代元素中是否存在 form 元素,判断提交方式并进行处理
  3300. // 如果没有 form 元素,将会使用 GET 方法提交;如果有,将会使用 POST 方法提交
  3301. var forms = target.getElementsByTagName('form');
  3302. if (forms.length == 0) { // 提交方式为 GET
  3303. // 处理编码
  3304. var encoding = target.getAttribute('encoding');
  3305. if (encoding == 'utf-8') {
  3306. value = encodeURIComponent(value);
  3307. } else if (encoding.indexOf('gb') == 0) {// 引擎接受gbk编码
  3308. if (pageEncoding.indexOf('gb') != 0) {// 如果当前页面也使用gbk编码的话,那么不需要再编码
  3309. value = toGBK(value);
  3310. }
  3311. } else if (encoding == 'ascii') {
  3312. value = toASCII(value);
  3313. } else if (encoding == 'redirect') {
  3314. target.removeAttribute("href");
  3315. GM_openInTab(target.getAttribute('url').replace(/%s/g, value));
  3316. return;
  3317. }
  3318.  
  3319. target.href = target.getAttribute('url').replace(/%s/g, value); // 替换“全部”关键词
  3320. } else { // 提交方式为 POST
  3321. var inputs = target.getElementsByTagName('input');
  3322. for (var i = 0; i < inputs.length; i++) {
  3323. inputs[i].value = inputs[i].value.replace(/%s/g, value); // // 替换“全部”关键词
  3324. }
  3325. }
  3326. }
  3327. }
  3328.  
  3329. function run() {
  3330. // 百度搜索插入到顶部搜索条下面就会造成页面部分元素的消失,所以需要每个部分都判断下是否存在
  3331.  
  3332. // 判断插入位置和输入框是否存在
  3333. var iTarget = getElement(matchedRule.insertIntoDoc.target);
  3334. var iInput;
  3335. if (typeof matchedRule.insertIntoDoc.keyword == 'function') {
  3336. iInput = matchedRule.insertIntoDoc.keyword;
  3337. if (!iInput()) {
  3338. return;
  3339. }
  3340. } else {
  3341. iInput = getElement(matchedRule.insertIntoDoc.keyword);
  3342. }
  3343. debug('插入的位置为 %o', iTarget);
  3344. debug('匹配的输入框为 %o', iInput);
  3345.  
  3346. if (!iTarget || !iInput) {
  3347. debug('不存在插入的位置或匹配的输入框', iTarget, iInput);
  3348. return;
  3349. }
  3350.  
  3351. addGlobalStyle();
  3352.  
  3353. // 判断是否存在
  3354. var container = document.getElementById('sej-container'),
  3355. sejspan = document.querySelector('sejspan.sej-drop-list');
  3356.  
  3357. if (!container || !sejspan) {
  3358. if (container) {
  3359. container.parentNode.removeChild(container);
  3360. }
  3361. addContainer(iTarget, iInput);
  3362. } else {
  3363. return true;
  3364. }
  3365. }
  3366.  
  3367. function remove() {
  3368. var elems = document.querySelectorAll('#sej-container, sejspan.sej-drop-list');
  3369. if (!elems) return;
  3370.  
  3371. [].forEach.call(elems, function (elem) {
  3372. elem.parentNode.removeChild(elem);
  3373. });
  3374. }
  3375.  
  3376. // iframe 禁止加载
  3377. if (window.self != window.top) return;
  3378.  
  3379. loadPrefs();
  3380.  
  3381. loadIconData();
  3382.  
  3383. var matchedRule;
  3384.  
  3385. rules.some(function (rule) {
  3386. if (toRE(rule.url).test(location.href)) {
  3387. matchedRule = rule;
  3388. if (typeof rule.etc == 'function') {
  3389. try {
  3390. rule.etc();
  3391. } catch (ex) {
  3392. console.error('执行 etc 错误', ex);
  3393. }
  3394. }
  3395. return true;
  3396. };
  3397. });
  3398.  
  3399.  
  3400. debug('匹配的规则为', matchedRule);
  3401.  
  3402. if (!matchedRule || !matchedRule.enabled) return;
  3403.  
  3404. run();
  3405.  
  3406. if (matchedRule.mutationTitle) {
  3407. debug('添加标题节点监视器: title');
  3408. var watch = document.querySelector('title');
  3409. var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
  3410. var oTitle = document.title;
  3411. if (MutationObserver) {
  3412. var observer = new MutationObserver(function (mutations) {
  3413. debug('标题发生了变化', document.title);
  3414. run();
  3415. });
  3416. observer.observe(watch, { childList: true, subtree: true, characterData: true });
  3417. }
  3418. else { // MutationObserver被禁用时使用setTimeout检查
  3419. setTimeout(cc, 1000);
  3420. }
  3421. }
  3422.  
  3423. if (matchedRule.mutationDom && !document.querySelector('.sej-drop-list')) {
  3424. debug('添加DOM监视器: ' + matchedRule.mutationDom);
  3425. let watch = document.querySelector(matchedRule.mutationDom);
  3426. if (!watch) {
  3427. debug('未找到节点,改用全局body');
  3428. watch = document.querySelector('body');
  3429. } else {
  3430. debug('找到节点: ', watch);
  3431. }
  3432.  
  3433. let MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
  3434. // var oTitle = document.title;
  3435. if (MutationObserver) {
  3436. let observer = new MutationObserver(function (mutations) {
  3437. debug('DOM发生了变化');
  3438. // debug(mutations);
  3439. let dropList = document.querySelector('.sej-drop-list');
  3440. if (dropList) {
  3441. debug('正在移除节点监听器');
  3442. observer.disconnect();
  3443. } else {
  3444. run();
  3445. }
  3446. });
  3447. observer.observe(watch, { childList: true, subtree: true, attributes: false });
  3448. }
  3449. else { // MutationObserver被禁用时创建iframe恢复原生对象
  3450. debug('原生MutationObserver被禁用,使用iframe创建');
  3451. // TODO chrome下无效?
  3452. var _frame = document.createElement('iframe');
  3453. document.body.appendChild(_frame);
  3454. MutationObserver = _frame.contentWindow.MutationObserver;
  3455. _frame.style.display = 'none';
  3456. // var targetNode = document.querySelector(matchedRule.mutationDom);
  3457. var observerOptions = {
  3458. childList: true, // 观察目标子节点的变化,是否有添加或者删除
  3459. attributes: false, // 观察属性变动
  3460. subtree: true // 观察后代节点,默认为 false
  3461. }
  3462. let observer = new MutationObserver((mu) => {
  3463. debug('DOM发生了变化');
  3464. run();
  3465. });
  3466. observer.observe(watch, observerOptions);
  3467. }
  3468. }
  3469.  
  3470. function cc() {
  3471. debug('轮询检测模式');
  3472. if (oTitle != document.title) {
  3473. debug('标题发生了变化,MutationObserver被禁用');
  3474. run();
  3475. oTitle = document.title;
  3476. }
  3477. let dropList = document.querySelector('.sej-drop-list');
  3478. if (!dropList) {
  3479. debug('跳转不完整,重新启动');
  3480. run();
  3481. }
  3482. return setTimeout(cc, 1000)
  3483. }
  3484.  
  3485. })()