From c2a4f48c2ff854cc237521055b989c043d668365 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Tue, 23 Mar 2021 17:59:31 +0800 Subject: [PATCH] ctcgfw: move LuCI apps to `luci` feed Signed-off-by: Tianling Shen --- package/ctcgfw/luci-app-adguardhome/Makefile | 58 - .../luasrc/controller/AdGuardHome.lua | 127 - .../luasrc/model/cbi/AdGuardHome/base.lua | 304 - .../luasrc/model/cbi/AdGuardHome/log.lua | 16 - .../luasrc/model/cbi/AdGuardHome/manual.lua | 97 - .../view/AdGuardHome/AdGuardHome_check.htm | 78 - .../view/AdGuardHome/AdGuardHome_chpass.htm | 49 - .../view/AdGuardHome/AdGuardHome_status.htm | 27 - .../luasrc/view/AdGuardHome/log.htm | 110 - .../luasrc/view/AdGuardHome/yamleditor.htm | 39 - .../po/zh_Hans/adguardhome.po | 408 - .../root/etc/config/AdGuardHome | 11 - .../root/etc/init.d/AdGuardHome | 632 - .../root/etc/uci-defaults/40_luci-AdGuardHome | 12 - .../AdGuardHome/AdGuardHome_template.yaml | 109 - .../root/usr/share/AdGuardHome/addhost.sh | 35 - .../root/usr/share/AdGuardHome/firewall.start | 8 - .../root/usr/share/AdGuardHome/getsyslog.sh | 20 - .../root/usr/share/AdGuardHome/gfw2adg.sh | 89 - .../root/usr/share/AdGuardHome/links.txt | 3 - .../root/usr/share/AdGuardHome/tailto.sh | 5 - .../root/usr/share/AdGuardHome/update_core.sh | 236 - .../root/usr/share/AdGuardHome/waitnet.sh | 35 - .../root/usr/share/AdGuardHome/watchconfig.sh | 13 - .../rpcd/acl.d/luci-app-adguardhome.json | 11 - .../codemirror/addon/fold/foldcode.js | 1 - .../codemirror/addon/fold/foldgutter.css | 1 - .../codemirror/addon/fold/foldgutter.js | 1 - .../codemirror/addon/fold/indent-fold.js | 1 - .../resources/codemirror/lib/codemirror.css | 1 - .../resources/codemirror/lib/codemirror.js | 1 - .../resources/codemirror/mode/yaml/yaml.js | 1 - .../resources/codemirror/theme/dracula.css | 1 - .../luci-static/resources/twin-bcrypt.min.js | 7 - package/ctcgfw/luci-app-airwhu/Makefile | 13 - .../luasrc/controller/airwhu.lua | 5 - .../luasrc/model/cbi/airwhu.lua | 115 - .../po/zh_Hans/luci-app-airwhu.po | 250 - .../luci-app-airwhu/root/bin/ipv6masq.sh | 41 - .../luci-app-airwhu/root/etc/config/airwhu | 25 - .../root/etc/hotplug.d/iface/99-ipv6nat | 56 - .../luci-app-airwhu/root/etc/init.d/mentohust | 49 - .../usr/share/rpcd/acl.d/luci-app-airwhu.json | 11 - package/ctcgfw/luci-app-appfilter/Makefile | 17 - .../luci-static/resources/echarts.min.js | 22 - .../luasrc/controller/appfilter.lua | 197 - .../luasrc/model/cbi/appfilter/appfilter.lua | 225 - .../luasrc/model/cbi/appfilter/dev_status.lua | 24 - .../luasrc/view/admin_network/dev_status.htm | 353 - .../luasrc/view/admin_network/user_status.htm | 150 - .../luasrc/view/cbi/oaf_upload.htm | 5 - .../po/zh_Hans/appfilter.po | 53 - .../root/etc/uci-defaults/91_luci-oaf | 14 - .../root/etc/uci-defaults/92_add_user_section | 8 - .../root/usr/lib/lua/luci/tools/status.lua | 250 - .../share/rpcd/acl.d/luci-app-appfilter.json | 11 - package/ctcgfw/luci-app-argon-config/Makefile | 19 - .../luasrc/controller/argon-config.lua | 15 - .../model/cbi/argon-config/configuration.lua | 223 - .../luasrc/view/argon-config/other_button.htm | 7 - .../luasrc/view/argon-config/other_dvalue.htm | 8 - .../luasrc/view/argon-config/other_upload.htm | 5 - .../po/zh_Hans/argon-config.po | 133 - .../root/etc/config/argon | 9 - .../root/etc/uci-defaults/luci-argon-config | 6 - .../rpcd/acl.d/luci-app-argon-config.json | 11 - .../ctcgfw/luci-app-autoipsetadder/Makefile | 64 - .../luasrc/controller/autoipsetadder.lua | 56 - .../luasrc/model/cbi/autoipsetadder.lua | 97 - .../luasrc/view/autoipsetadder/check.htm | 62 - .../luasrc/view/autoipsetadder/status.htm | 22 - .../po/zh_Hans/autoipsetadder.po | 85 - .../root/etc/config/autoipsetadder | 2 - .../root/etc/init.d/autoipsetadder | 127 - .../etc/uci-defaults/40_luci-autoipsetadder | 11 - .../usr/bin/autoipsetadder/autoaddlist.sh | 164 - .../root/usr/bin/autoipsetadder/debugip.sh | 56 - .../root/usr/bin/autoipsetadder/tailto.sh | 4 - .../root/usr/bin/autoipsetadder/testip.sh | 182 - .../rpcd/acl.d/luci-app-autoipsetadder.json | 11 - package/ctcgfw/luci-app-baidupcs-web/Makefile | 22 - .../luasrc/controller/baidupcs-web.lua | 17 - .../luasrc/model/cbi/baidupcs-web.lua | 48 - .../view/baidupcs-web/baidupcs-web_status.htm | 33 - .../luci-app-baidupcs-web/po/zh_Hans/web.po | 75 - .../root/etc/config/baidupcs-web | 2 - .../root/etc/init.d/baidupcs-web | 32 - .../root/etc/uci-defaults/luci-baidupcs-web | 11 - .../rpcd/acl.d/luci-app-baidupcs-web.json | 11 - package/ctcgfw/luci-app-beardropper/Makefile | 22 - .../luasrc/controller/beardropper.lua | 19 - .../luasrc/model/cbi/beardropper/log.lua | 17 - .../luasrc/model/cbi/beardropper/setting.lua | 54 - .../luasrc/view/beardropper/status.htm | 22 - .../po/zh_Hans/beardropper.po | 115 - .../po/zh_Hant/beardropper.po | 115 - .../root/etc/config/beardropper | 18 - .../root/etc/init.d/beardropper | 46 - .../root/etc/uci-defaults/luci-beardropper | 12 - .../root/usr/sbin/beardropper | 517 - .../rpcd/acl.d/luci-app-beardropper.json | 11 - package/ctcgfw/luci-app-chinadns/Makefile | 26 - .../luasrc/controller/chinadns.lua | 21 - .../luasrc/model/cbi/chinadns.lua | 48 - .../luasrc/view/chinadns/chinadns_status.htm | 22 - .../luci-app-chinadns/po/zh_Hans/chinadns.po | 41 - .../root/etc/config/chinadns | 7 - .../root/etc/init.d/chinadns | 25 - .../root/etc/uci-defaults/luci-chinadns | 8 - .../share/rpcd/acl.d/luci-app-chinadns.json | 11 - package/ctcgfw/luci-app-diskman/Makefile | 86 - package/ctcgfw/luci-app-filebrowser/Makefile | 22 - .../luasrc/controller/filebrowser.lua | 19 - .../luasrc/model/cbi/filebrowser.lua | 42 - .../view/filebrowser/filebrowser_status.htm | 27 - .../root/etc/uci-defaults/luci-filebrowser | 11 - .../rpcd/acl.d/luci-app-filebrowser.json | 11 - package/ctcgfw/luci-app-gost/Makefile | 21 - .../luci-app-gost/luasrc/controller/gost.lua | 23 - .../luci-app-gost/luasrc/model/cbi/gost.lua | 20 - .../luasrc/view/gost/gost_status.htm | 22 - .../ctcgfw/luci-app-gost/po/zh_Hans/gost.po | 17 - .../luci-app-gost/root/etc/uci-defaults/gost | 11 - .../usr/share/rpcd/acl.d/luci-app-gost.json | 11 - package/ctcgfw/luci-app-gowebdav/Makefile | 22 - .../luasrc/controller/gowebdav.lua | 19 - .../luasrc/model/cbi/gowebdav.lua | 59 - .../luasrc/view/gowebdav/gowebdav_status.htm | 27 - .../luci-app-gowebdav/po/zh_Hans/gowebdav.po | 47 - .../root/etc/uci-defaults/gowebdav | 17 - .../share/rpcd/acl.d/luci-app-gowebdav.json | 11 - package/ctcgfw/luci-app-iptvhelper/Makefile | 19 - .../luasrc/controller/iptvhelper.lua | 14 - .../luasrc/model/cbi/iptvhelper.lua | 34 - .../po/zh_Hans/iptvhelper.po | 58 - .../root/etc/uci-defaults/40_iptvhelper | 12 - .../share/rpcd/acl.d/luci-app-iptvhelper.json | 11 - .../ctcgfw/luci-app-jd-dailybonus/Makefile | 20 - .../luasrc/controller/jd-dailybonus.lua | 123 - .../luasrc/model/cbi/jd-dailybonus/client.lua | 106 - .../luasrc/model/cbi/jd-dailybonus/log.lua | 9 - .../luasrc/model/cbi/jd-dailybonus/script.lua | 22 - .../view/jd-dailybonus/cookie_tools.htm | 165 - .../luasrc/view/jd-dailybonus/log.htm | 17 - .../view/jd-dailybonus/update_service.htm | 62 - .../po/zh_Hans/jd-dailybonus.po | 111 - .../root/etc/config/jd-dailybonus | 14 - .../root/etc/init.d/jd-dailybonus | 31 - .../root/etc/uci-defaults/luci-jd-dailybonus | 11 - .../root/lib/upgrade/keep.d/jd-dailybonus | 2 - .../usr/share/jd-dailybonus/JD_DailyBonus.js | 2413 ---- .../usr/share/jd-dailybonus/gen_cookieset.lua | 24 - .../root/usr/share/jd-dailybonus/newapp.sh | 187 - .../rpcd/acl.d/luci-app-jd-dailybonus.json | 11 - package/ctcgfw/luci-app-k3screenctrl/Makefile | 20 - .../luasrc/controller/k3screenctrl.lua | 12 - .../luasrc/model/cbi/k3screenctrl.lua | 120 - .../po/zh_Hans/k3screenctrl.po | 185 - .../root/etc/uci-defaults/k3screenctrl | 8 - .../rpcd/acl.d/luci-app-k3screenctrl.json | 11 - package/ctcgfw/luci-app-k3usb/Makefile | 20 - .../luasrc/controller/k3usb.lua | 10 - .../luci-app-k3usb/luasrc/model/cbi/k3usb.lua | 13 - .../ctcgfw/luci-app-k3usb/po/zh_Hans/k3usb.po | 19 - .../luci-app-k3usb/root/etc/config/k3usb | 3 - .../luci-app-k3usb/root/etc/init.d/k3usb | 62 - .../root/etc/uci-defaults/k3usb | 10 - .../luci-app-k3usb/root/usr/k3usb/35-usb-ehci | 1 - .../luci-app-k3usb/root/usr/k3usb/40-usb2 | 4 - .../root/usr/k3usb/45-phy-bcm-ns-usb2 | 1 - .../root/usr/k3usb/45-phy-bcm-ns-usb3 | 1 - .../luci-app-k3usb/root/usr/k3usb/50-usb-ohci | 3 - .../luci-app-k3usb/root/usr/k3usb/54-usb3 | 3 - .../ctcgfw/luci-app-k3usb/root/usr/k3usb/test | 0 .../luci-app-k3usb/root/usr/k3usb/usb-storage | 1 - .../root/usr/k3usb/usb-storage-extras | 10 - .../usr/share/rpcd/acl.d/luci-app-k3usb.json | 11 - package/ctcgfw/luci-app-mentohust/Makefile | 15 - .../luasrc/controller/mentohust.lua | 16 - .../luasrc/model/cbi/mentohust/general.lua | 111 - .../luasrc/model/cbi/mentohust/log.lua | 23 - .../po/zh_Hans/mentohust.po | 152 - .../root/etc/config/mentohust | 1 - .../root/etc/init.d/mentohust | 85 - .../share/rpcd/acl.d/luci-app-mentohust.json | 11 - package/ctcgfw/luci-app-minieap/Makefile | 13 - .../luasrc/controller/minieap.lua | 17 - .../luasrc/model/cbi/minieap/customfile.lua | 8 - .../luasrc/model/cbi/minieap/general.lua | 150 - .../luasrc/model/cbi/minieap/log.lua | 23 - .../luci-app-minieap/po/zh_Hans/minieap.po | 227 - .../luci-app-minieap/root/etc/config/minieap | 18 - .../luci-app-minieap/root/etc/init.d/minieap | 67 - .../root/usr/sbin/minieap-conver | 13 - .../root/usr/sbin/minieap-ping | 24 - .../share/rpcd/acl.d/luci-app-minieap.json | 11 - package/ctcgfw/luci-app-mwol/Makefile | 18 - .../luci-app-mwol/luasrc/controller/mwol.lua | 11 - .../luci-app-mwol/luasrc/model/cbi/mwol.lua | 139 - .../ctcgfw/luci-app-mwol/po/zh_Hans/mwol.po | 54 - .../root/etc/uci-defaults/40_luci-mwol | 11 - .../usr/share/rpcd/acl.d/luci-app-mwol.json | 11 - package/ctcgfw/luci-app-naiveproxy/Makefile | 21 - .../luasrc/controller/naiveproxy.lua | 23 - .../luasrc/model/cbi/naiveproxy.lua | 28 - .../view/naiveproxy/naiveproxy_status.htm | 22 - .../luci-app-naiveproxy/po/en/naiveproxy.po | 26 - .../po/zh_Hans/naiveproxy.po | 26 - .../root/etc/uci-defaults/naiveproxy | 11 - .../share/rpcd/acl.d/luci-app-naiveproxy.json | 11 - package/ctcgfw/luci-app-oled/Makefile | 22 - .../luci-app-oled/luasrc/controller/oled.lua | 17 - .../luasrc/model/cbi/oled/setting.lua | 100 - .../luci-app-oled/luasrc/view/oled/status.htm | 22 - .../ctcgfw/luci-app-oled/po/zh_Hans/oled.po | 143 - .../ctcgfw/luci-app-oled/po/zh_Hant/oled.po | 135 - .../ctcgfw/luci-app-oled/root/etc/config/oled | 22 - .../ctcgfw/luci-app-oled/root/etc/init.d/oled | 136 - .../luci-app-oled/root/etc/uci-defaults/oled | 11 - .../luci-app-oled/root/usr/sbin/netspeed | 20 - .../usr/share/rpcd/acl.d/luci-app-oled.json | 11 - .../luci-app-oled/src/Example_Code/Main.c | 232 - .../src/Example_Code/example_app.c | 650 - .../src/Example_Code/example_app.h | 30 - .../luci-app-oled/src/I2C_Library/I2C.c | 281 - .../luci-app-oled/src/I2C_Library/I2C.h | 69 - package/ctcgfw/luci-app-oled/src/LICENSE | 21 - package/ctcgfw/luci-app-oled/src/Makefile | 19 - package/ctcgfw/luci-app-oled/src/README.md | 21 - .../src/SSD1306_OLED_Library/SSD1306_OLED.c | 2713 ---- .../src/SSD1306_OLED_Library/SSD1306_OLED.h | 202 - .../src/SSD1306_OLED_Library/gfxfont.h | 18 - package/ctcgfw/luci-app-onliner/Makefile | 32 - .../luasrc/controller/onliner.lua | 17 - .../luasrc/view/onliner/display.htm | 921 -- .../luasrc/view/onliner/onliner.htm | 99 - .../luci-app-onliner/po/zh_Hans/onliner.po | 219 - .../root/usr/share/onliner/setnlbw.sh | 20 - package/ctcgfw/luci-app-openclash/Makefile | 104 - .../luasrc/controller/openclash.lua | 467 - .../luasrc/model/cbi/openclash/client.lua | 132 - .../cbi/openclash/config-subscribe-edit.lua | 145 - .../model/cbi/openclash/config-subscribe.lua | 141 - .../luasrc/model/cbi/openclash/config.lua | 398 - .../model/cbi/openclash/game-rules-manage.lua | 96 - .../model/cbi/openclash/groups-config.lua | 131 - .../luasrc/model/cbi/openclash/log.lua | 19 - .../model/cbi/openclash/other-rules-edit.lua | 296 - .../cbi/openclash/proxy-provider-config.lua | 131 - .../openclash/proxy-provider-file-manage.lua | 115 - .../cbi/openclash/rule-providers-config.lua | 128 - .../openclash/rule-providers-file-manage.lua | 115 - .../cbi/openclash/rule-providers-manage.lua | 115 - .../cbi/openclash/rule-providers-settings.lua | 265 - .../model/cbi/openclash/servers-config.lua | 367 - .../luasrc/model/cbi/openclash/servers.lua | 260 - .../luasrc/model/cbi/openclash/settings.lua | 708 -- .../luci-app-openclash/luasrc/openclash.lua | 244 - .../luasrc/view/openclash/cfg_check.htm | 18 - .../luasrc/view/openclash/config_editor.htm | 67 - .../luasrc/view/openclash/developer.htm | 114 - .../luasrc/view/openclash/download_rule.htm | 41 - .../luasrc/view/openclash/dvalue.htm | 13 - .../luasrc/view/openclash/log.htm | 123 - .../luasrc/view/openclash/myip.htm | 337 - .../luasrc/view/openclash/other_button.htm | 7 - .../luasrc/view/openclash/ping.htm | 3 - .../luasrc/view/openclash/server_list.htm | 32 - .../luasrc/view/openclash/status.htm | 544 - .../luasrc/view/openclash/switch_mode.htm | 45 - .../luasrc/view/openclash/update.htm | 394 - .../luasrc/view/openclash/upload.htm | 12 - .../po/zh-cn/openclash.zh-cn.po | 1459 --- .../root/etc/config/openclash | 103 - .../root/etc/init.d/openclash | 1790 --- .../root/etc/openclash/Country.mmdb | Bin 3905934 -> 0 bytes .../root/etc/openclash/china_ip_route.ipset | 8579 ------------- .../custom/openclash_custom_domain_dns.list | 1 - .../custom/openclash_custom_fake_filter.list | 89 - .../custom/openclash_custom_hosts.list | 6 - .../custom/openclash_custom_rules.list | 46 - .../custom/openclash_custom_rules_2.list | 8 - .../root/etc/openclash/game_rules/CS-GO.rules | 618 - .../game_rules/Monster-Hunter-World.rules | 295 - .../PUBG-Asia%26-Southeast-Asia.rules | 1759 --- .../root/etc/openclash/game_rules/Steam.rules | 949 -- .../etc/openclash/rule_provider/China.yaml | 327 - .../etc/openclash/rule_provider/ChinaIP.yaml | 5973 --------- .../etc/openclash/rule_provider/Global.yaml | 541 - .../openclash/rule_provider/Streaming.yaml | 262 - .../openclash/rule_provider/StreamingSE.yaml | 13 - .../etc/openclash/rule_provider/Unbreak.yaml | 23 - .../root/etc/uci-defaults/luci-openclash | 92 - .../cfg_servers_address_fake_filter.sh | 19 - .../share/openclash/cfg_unused_servers_del.sh | 24 - .../root/usr/share/openclash/clash_version.sh | 23 - .../root/usr/share/openclash/dashboard/CNAME | 1 - .../dashboard/assets/index.0bf7b2ad.js | 1 - .../dashboard/assets/index.0e294c2a.css | 1 - .../dashboard/assets/logo.b453e72f.png | Bin 11748 -> 0 bytes .../dashboard/assets/vendor.b176d855.js | 32 - .../usr/share/openclash/dashboard/index.html | 22 - .../root/usr/share/openclash/openclash.sh | 401 - .../usr/share/openclash/openclash_chnroute.sh | 57 - .../usr/share/openclash/openclash_core.sh | 208 - .../openclash/openclash_custom_domain_dns.sh | 21 - .../usr/share/openclash/openclash_debug.sh | 381 - .../openclash/openclash_download_rule_list.sh | 55 - .../share/openclash/openclash_fake_filter.sh | 49 - .../share/openclash/openclash_history_get.sh | 39 - .../share/openclash/openclash_history_set.sh | 70 - .../usr/share/openclash/openclash_ipdb.sh | 52 - .../root/usr/share/openclash/openclash_ps.sh | 33 - .../usr/share/openclash/openclash_rule.sh | 161 - .../usr/share/openclash/openclash_update.sh | 104 - .../usr/share/openclash/openclash_version.sh | 31 - .../usr/share/openclash/openclash_watchdog.sh | 129 - .../usr/share/openclash/res/ConnersHua.yaml | 54 - .../openclash/res/ConnersHua_return.yaml | 79 - .../root/usr/share/openclash/res/default.yaml | 407 - .../usr/share/openclash/res/game_rules.list | 146 - .../root/usr/share/openclash/res/lhie1.yaml | 429 - .../usr/share/openclash/res/openclash_version | 2 - .../share/openclash/res/rule_providers.list | 119 - .../root/usr/share/openclash/res/sub_ini.list | 50 - .../root/usr/share/openclash/ruby.sh | 100 - .../openclash/yacd/14.2b1ab3375a2b9a48edab.js | 1 - .../root/usr/share/openclash/yacd/CNAME | 1 - .../root/usr/share/openclash/yacd/_headers | 12 - .../yacd/app.5f32612351603f3dc36a.css | 20 - .../yacd/app.9446db28fec78551ca86.js | 2 - .../app.9446db28fec78551ca86.js.LICENSE.txt | 56 - .../yacd/config.185469682369eea7ed5e.js | 1 - .../yacd/config.683c5e4f78100df80abd.css | 2 - .../yacd/conns.a55d943aa09565fccb1a.js | 1 - .../yacd/conns.a8987b95653cf010754d.css | 5 - .../yacd/core-js~app.d6acbd497dd781bcb87a.js | 1 - .../root/usr/share/openclash/yacd/index.html | 1 - .../yacd/logs.367e6b30d27de1213a87.js | 1 - .../yacd/logs.bf8d3190ebe74f5f5c12.css | 2 - .../openclash/yacd/open-sans-latin-400.woff2 | Bin 14380 -> 0 bytes .../openclash/yacd/open-sans-latin-700.woff2 | Bin 15056 -> 0 bytes .../yacd/proxies.2054c162aeb581d56063.css | 13 - .../yacd/proxies.fe3172e32076eb8749e4.js | 1 - .../yacd/react~app.85a6af7ab221658559e3.js | 2 - ...ct~app.85a6af7ab221658559e3.js.LICENSE.txt | 17 - .../root/usr/share/openclash/yacd/report.html | 53 - .../yacd/roboto-mono-latin-400.woff2 | Bin 16328 -> 0 bytes .../yacd/rules.ebacd344d22f80adb7f8.css | 5 - .../yacd/rules.fe5dbfb2f26ad4211d1e.js | 1 - .../yacd/runtime.184b22669d1e3f4e39e2.js | 1 - .../vendors~chartjs.c749992ca47ba67623b4.js | 2 - ...hartjs.c749992ca47ba67623b4.js.LICENSE.txt | 6 - .../vendors~conns.2d8ba1925a9d128867eb.js | 1 - ...onns~proxies~rules.99b1a71b3d76d3035e41.js | 1 - ...vendors~logs~rules.1b69c8ae2dc5929cac38.js | 1 - .../vendors~proxies.8fcc0e726f340a602edf.js | 1 - .../usr/share/openclash/yacd/yacd-128.png | Bin 7703 -> 0 bytes .../root/usr/share/openclash/yacd/yacd-64.png | Bin 3433 -> 0 bytes .../root/usr/share/openclash/yacd/yacd.ico | Bin 5430 -> 0 bytes .../root/usr/share/openclash/yml_change.sh | 166 - .../usr/share/openclash/yml_groups_get.sh | 222 - .../usr/share/openclash/yml_groups_name_ch.sh | 52 - .../share/openclash/yml_groups_name_get.sh | 27 - .../usr/share/openclash/yml_groups_set.sh | 280 - .../usr/share/openclash/yml_proxys_get.sh | 897 -- .../usr/share/openclash/yml_proxys_set.sh | 1109 -- .../usr/share/openclash/yml_rules_change.sh | 316 - .../share/rpcd/acl.d/luci-app-openclash.json | 11 - .../openclash/addon/display/fullscreen.css | 6 - .../openclash/addon/display/fullscreen.js | 41 - .../openclash/addon/edit/matchbrackets.js | 160 - .../openclash/addon/fold/foldcode.js | 157 - .../openclash/addon/fold/foldgutter.css | 20 - .../openclash/addon/fold/foldgutter.js | 163 - .../openclash/addon/fold/indent-fold.js | 48 - .../openclash/addon/lint/js-yaml.min.js | 2 - .../resources/openclash/addon/lint/lint.css | 71 - .../resources/openclash/addon/lint/lint.js | 259 - .../openclash/addon/lint/yaml-lint.js | 41 - .../openclash/addon/selection/active-line.js | 72 - .../resources/openclash/lib/codemirror.css | 350 - .../resources/openclash/lib/codemirror.js | 9800 --------------- .../resources/openclash/mode/yaml/yaml.js | 120 - .../resources/openclash/theme/material.css | 135 - .../luci-app-openclash/tools/po2lmo/Makefile | 12 - .../tools/po2lmo/src/po2lmo | Bin 19272 -> 0 bytes .../tools/po2lmo/src/po2lmo.c | 247 - .../tools/po2lmo/src/template_lmo.c | 328 - .../tools/po2lmo/src/template_lmo.h | 92 - package/ctcgfw/luci-app-rclone/Makefile | 58 - .../luasrc/controller/rclone.lua | 7 - .../luasrc/model/cbi/rclone.lua | 182 - .../ctcgfw/luci-app-rclone/po/en/rclone.po | 110 - .../po/zh_Hans/luci-app-rclone.po | 171 - .../luci-app-rclone/root/etc/config/rclone | 17 - .../luci-app-rclone/root/etc/init.d/rclone | 103 - .../root/etc/uci-defaults/100_luci-rclone | 11 - .../usr/share/rpcd/acl.d/luci-app-rclone.json | 11 - package/ctcgfw/luci-app-serverchan/Makefile | 41 - .../luasrc/controller/serverchan.lua | 33 - .../luasrc/model/cbi/serverchan/advanced.lua | 112 - .../luasrc/model/cbi/serverchan/client.lua | 6 - .../luasrc/model/cbi/serverchan/log.lua | 5 - .../luasrc/model/cbi/serverchan/setting.lua | 331 - .../luasrc/view/serverchan/log.htm | 33 - .../luasrc/view/serverchan/status.htm | 22 - .../root/etc/config/serverchan | 11 - .../root/etc/init.d/serverchan | 26 - .../root/etc/uci-defaults/luci-serverchan | 11 - .../root/usr/bin/serverchan/serverchan | 1005 -- .../share/rpcd/acl.d/luci-app-serverchan.json | 11 - package/ctcgfw/luci-app-smstool/Makefile | 14 - .../luasrc/controller/sms.lua | 10 - .../luci-app-smstool/luasrc/view/sms.htm | 14 - package/ctcgfw/luci-app-ssocks/Makefile | 21 - .../luasrc/controller/ssocks.lua | 23 - .../luasrc/model/cbi/ssocks.lua | 45 - .../luasrc/view/ssocks/ssocks_status.htm | 22 - .../luci-app-ssocks/po/zh_Hans/ssocks.po | 83 - .../luci-app-ssocks/root/etc/config/ssocks | 7 - .../root/etc/config/ssocks-authorization | 1 - .../luci-app-ssocks/root/etc/init.d/ssocks | 40 - .../root/etc/uci-defaults/ssocks | 17 - .../usr/share/rpcd/acl.d/luci-app-ssocks.json | 11 - package/ctcgfw/luci-app-syncthing/Makefile | 17 - .../luasrc/controller/syncthing.lua | 18 - .../luasrc/model/cbi/syncthing.lua | 19 - .../view/syncthing/syncthing_status.htm | 27 - .../po/zh_Hans/syncthing.po | 8 - .../root/etc/config/syncthing | 4 - .../root/etc/init.d/syncthing | 43 - .../root/etc/uci-defaults/luci-syncthing | 12 - .../share/rpcd/acl.d/luci-app-syncthing.json | 11 - package/ctcgfw/luci-app-turboacc/Makefile | 49 - .../luasrc/controller/turboacc.lua | 40 - .../luasrc/model/cbi/turboacc.lua | 87 - .../luasrc/view/turboacc/status.htm | 25 - .../luci-app-turboacc/po/zh_Hans/turboacc.po | 107 - .../root/etc/config/turboacc | 14 - .../root/etc/init.d/turboacc | 295 - .../root/etc/uci-defaults/turboacc | 10 - .../root/usr/share/dnscache/dnscache-while.sh | 31 - .../share/rpcd/acl.d/luci-app-turboacc.json | 11 - .../Makefile | 21 - .../controller/unblockneteasemusic-mini.lua | 23 - .../model/cbi/unblockneteasemusic-mini.lua | 27 - .../unblockneteasemusic_mini_status.htm | 22 - .../root/etc/config/unblockneteasemusic-mini | 5 - .../root/etc/init.d/unblockneteasemusic-mini | 79 - .../etc/uci-defaults/unblockneteasemusic-mini | 17 - .../luci-app-unblockneteasemusic-mini.json | 11 - .../luci-app-unblockneteasemusic/Makefile | 23 - .../luasrc/controller/unblockneteasemusic.lua | 85 - .../unblockneteasemusic.lua | 210 - .../unblockneteasemusic_upgrade.lua | 19 - .../unblockneteasemusiclog.lua | 14 - .../unblockneteasemusic_status.htm | 22 - .../view/unblockneteasemusic/update_core.htm | 36 - .../view/unblockneteasemusic/update_luci.htm | 36 - .../root/etc/config/unblockneteasemusic | 11 - .../root/etc/init.d/unblockneteasemusic | 267 - .../root/etc/uci-defaults/unblockneteasemusic | 17 - .../acl.d/luci-app-unblockneteasemusic.json | 11 - .../share/unblockneteasemusic/log_check.sh | 13 - .../usr/share/unblockneteasemusic/update.sh | 123 - package/ctcgfw/luci-app-usb3disable/Makefile | 31 - .../luasrc/controller/usb3disable.lua | 6 - .../luasrc/model/cbi/usb3disable.lua | 45 - .../po/zh_Hans/usb3disable.po | 43 - .../root/etc/config/usb3disable | 2 - .../rpcd/acl.d/luci-app-usb3disable.json | 11 - package/ctcgfw/luci-app-verysync/Makefile | 16 - .../luasrc/controller/verysync.lua | 17 - .../luasrc/model/cbi/verysync.lua | 27 - .../luasrc/view/verysync/verysync_status.htm | 28 - .../luci-app-verysync/po/zh_Hans/verysync.po | 11 - .../root/etc/config/verysync | 2 - .../root/etc/init.d/verysync | 18 - .../root/etc/uci-defaults/luci-verysync | 11 - .../share/rpcd/acl.d/luci-app-verysync.json | 11 - package/ctcgfw/luci-app-vssr/Makefile | 57 - .../luci-app-vssr/luasrc/controller/vssr.lua | 315 - .../luasrc/model/cbi/vssr/advanced.lua | 94 - .../luasrc/model/cbi/vssr/client-config.lua | 482 - .../luasrc/model/cbi/vssr/client.lua | 139 - .../luasrc/model/cbi/vssr/control.lua | 101 - .../luasrc/model/cbi/vssr/log.lua | 16 - .../luasrc/model/cbi/vssr/router.lua | 73 - .../luasrc/model/cbi/vssr/server-config.lua | 90 - .../luasrc/model/cbi/vssr/server.lua | 101 - .../luasrc/model/cbi/vssr/servers.lua | 62 - .../luasrc/model/cbi/vssr/socks5.lua | 73 - .../model/cbi/vssr/subscribe-config.lua | 77 - .../luasrc/view/vssr/cell_valuefooter.htm | 1 - .../luasrc/view/vssr/cell_valueheader.htm | 2 - .../luasrc/view/vssr/licence.htm | 22 - .../luasrc/view/vssr/refresh.htm | 35 - .../luci-app-vssr/luasrc/view/vssr/ssrurl.htm | 310 - .../luasrc/view/vssr/status_bottom.htm | 71 - .../luasrc/view/vssr/status_top.htm | 93 - .../luasrc/view/vssr/tblsection.htm | 294 - .../luasrc/view/vssr/update_subscribe.htm | 113 - .../ctcgfw/luci-app-vssr/po/zh_Hans/vssr.po | 724 -- .../ctcgfw/luci-app-vssr/root/etc/config/vssr | 52 - .../ctcgfw/luci-app-vssr/root/etc/init.d/vssr | 655 - .../root/etc/uci-defaults/luci-vssr | 18 - .../luci-app-vssr/root/etc/vssr/ad.conf | 0 .../luci-app-vssr/root/etc/vssr/black.list | 4 - .../luci-app-vssr/root/etc/vssr/china_ssr.txt | 8575 ------------- .../root/etc/vssr/custom_domain.list | 0 .../root/etc/vssr/custom_ip.list | 0 .../root/etc/vssr/disney_domain.list | 6 - .../root/etc/vssr/disney_ip.list | 0 .../luci-app-vssr/root/etc/vssr/gfw.list | 53 - .../luci-app-vssr/root/etc/vssr/gfw_base.conf | 5880 --------- .../luci-app-vssr/root/etc/vssr/gfw_list.conf | 10476 ---------------- .../root/etc/vssr/netflix_domain.list | 22 - .../root/etc/vssr/netflix_ip.list | 0 .../root/etc/vssr/oversea_list.conf | 192 - .../root/etc/vssr/prime_domain.list | 12 - .../luci-app-vssr/root/etc/vssr/prime_ip.list | 0 .../root/etc/vssr/tvb_domain.list | 2 - .../luci-app-vssr/root/etc/vssr/tvb_ip.list | 0 .../root/etc/vssr/tw_video_domain.list | 12 - .../root/etc/vssr/tw_video_ip.list | 0 .../luci-app-vssr/root/etc/vssr/white.list | 0 .../root/etc/vssr/youtube_domain.list | 14 - .../root/etc/vssr/youtube_ip.list | 0 .../ctcgfw/luci-app-vssr/root/usr/bin/vssr-ad | 5 - .../luci-app-vssr/root/usr/bin/vssr-gfw | 31 - .../luci-app-vssr/root/usr/bin/vssr-monitor | 126 - .../root/usr/bin/vssr-qucikswitch | 180 - .../luci-app-vssr/root/usr/bin/vssr-rules | 385 - .../luci-app-vssr/root/usr/bin/vssr-switch | 175 - .../root/usr/share/lua/vssrutil.lua | 164 - .../usr/share/rpcd/acl.d/luci-app-vssr.json | 11 - .../root/usr/share/vssr/GeoLite2-Country.mmdb | Bin 3938415 -> 0 bytes .../root/usr/share/vssr/chinaipset.sh | 5 - .../root/usr/share/vssr/genconfig_ss.lua | 22 - .../root/usr/share/vssr/genconfig_ssr.lua | 24 - .../root/usr/share/vssr/genconfig_trojan.lua | 40 - .../root/usr/share/vssr/genconfig_v2ray.lua | 295 - .../root/usr/share/vssr/genconfig_v2ray_s.lua | 50 - .../root/usr/share/vssr/gfw2ipset.sh | 68 - .../root/usr/share/vssr/subscribe.lua | 554 - .../root/usr/share/vssr/update.lua | 100 - .../luci-static/vssr/css/flag-icon.min.css | 1 - .../root/www/luci-static/vssr/css/pure.css | 232 - .../www/luci-static/vssr/css/sweetalert2.css | 1462 --- .../root/www/luci-static/vssr/css/vssr.css | 577 - .../root/www/luci-static/vssr/emoji.js | 129 - .../luci-static/vssr/emoji/1f1e6-1f1e8.png | Bin 884 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1e9.png | Bin 745 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1ea.png | Bin 574 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1eb.png | Bin 675 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1ec.png | Bin 635 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1ee.png | Bin 626 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1f1.png | Bin 466 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1f2.png | Bin 831 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1f4.png | Bin 521 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1f6.png | Bin 440 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1f7.png | Bin 533 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1f8.png | Bin 651 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1f9.png | Bin 547 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1fa.png | Bin 649 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1fc.png | Bin 513 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1fd.png | Bin 656 -> 0 bytes .../luci-static/vssr/emoji/1f1e6-1f1ff.png | Bin 870 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1e6.png | Bin 496 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1e7.png | Bin 488 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1e9.png | Bin 438 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1ea.png | Bin 478 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1eb.png | Bin 526 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1ec.png | Bin 616 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1ed.png | Bin 492 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1ee.png | Bin 655 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1ef.png | Bin 531 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1f1.png | Bin 557 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1f2.png | Bin 939 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1f3.png | Bin 957 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1f4.png | Bin 824 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1f6.png | Bin 578 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1f7.png | Bin 572 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1f8.png | Bin 597 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1f9.png | Bin 828 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1fb.png | Bin 908 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1fc.png | Bin 550 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1fe.png | Bin 520 -> 0 bytes .../luci-static/vssr/emoji/1f1e7-1f1ff.png | Bin 548 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1e6.png | Bin 532 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1e8.png | Bin 550 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1e9.png | Bin 937 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1eb.png | Bin 926 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1ec.png | Bin 611 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1ed.png | Bin 413 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1ee.png | Bin 471 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1f0.png | Bin 621 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1f1.png | Bin 594 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1f2.png | Bin 484 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1f3.png | Bin 446 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1f4.png | Bin 829 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1f5.png | Bin 462 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1f7.png | Bin 910 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1fa.png | Bin 661 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1fb.png | Bin 587 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1fc.png | Bin 562 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1fd.png | Bin 587 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1fe.png | Bin 471 -> 0 bytes .../luci-static/vssr/emoji/1f1e8-1f1ff.png | Bin 572 -> 0 bytes .../luci-static/vssr/emoji/1f1e9-1f1ea.png | Bin 722 -> 0 bytes .../luci-static/vssr/emoji/1f1e9-1f1ec.png | Bin 699 -> 0 bytes .../luci-static/vssr/emoji/1f1e9-1f1ef.png | Bin 599 -> 0 bytes .../luci-static/vssr/emoji/1f1e9-1f1f0.png | Bin 562 -> 0 bytes .../luci-static/vssr/emoji/1f1e9-1f1f2.png | Bin 673 -> 0 bytes .../luci-static/vssr/emoji/1f1e9-1f1f4.png | Bin 702 -> 0 bytes .../luci-static/vssr/emoji/1f1e9-1f1ff.png | Bin 607 -> 0 bytes .../luci-static/vssr/emoji/1f1ea-1f1e6.png | Bin 568 -> 0 bytes .../luci-static/vssr/emoji/1f1ea-1f1e8.png | Bin 860 -> 0 bytes .../luci-static/vssr/emoji/1f1ea-1f1ea.png | Bin 578 -> 0 bytes .../luci-static/vssr/emoji/1f1ea-1f1ec.png | Bin 842 -> 0 bytes .../luci-static/vssr/emoji/1f1ea-1f1ed.png | Bin 621 -> 0 bytes .../luci-static/vssr/emoji/1f1ea-1f1f7.png | Bin 648 -> 0 bytes .../luci-static/vssr/emoji/1f1ea-1f1f8.png | Bin 568 -> 0 bytes .../luci-static/vssr/emoji/1f1ea-1f1f9.png | Bin 875 -> 0 bytes .../luci-static/vssr/emoji/1f1ea-1f1fa.png | Bin 408 -> 0 bytes .../luci-static/vssr/emoji/1f1eb-1f1ee.png | Bin 553 -> 0 bytes .../luci-static/vssr/emoji/1f1eb-1f1ef.png | Bin 922 -> 0 bytes .../luci-static/vssr/emoji/1f1eb-1f1f0.png | Bin 665 -> 0 bytes .../luci-static/vssr/emoji/1f1eb-1f1f2.png | Bin 397 -> 0 bytes .../luci-static/vssr/emoji/1f1eb-1f1f4.png | Bin 658 -> 0 bytes .../luci-static/vssr/emoji/1f1eb-1f1f7.png | Bin 462 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1e6.png | Bin 637 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1e7.png | Bin 784 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1e9.png | Bin 636 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1ea.png | Bin 638 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1eb.png | Bin 515 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1ec.png | Bin 609 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1ed.png | Bin 646 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1ee.png | Bin 822 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1f1.png | Bin 571 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1f2.png | Bin 873 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1f3.png | Bin 437 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1f5.png | Bin 618 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1f6.png | Bin 673 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1f7.png | Bin 622 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1f8.png | Bin 890 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1f9.png | Bin 454 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1fa.png | Bin 450 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1fc.png | Bin 765 -> 0 bytes .../luci-static/vssr/emoji/1f1ec-1f1fe.png | Bin 654 -> 0 bytes .../luci-static/vssr/emoji/1f1ed-1f1f0.png | Bin 439 -> 0 bytes .../luci-static/vssr/emoji/1f1ed-1f1f2.png | Bin 649 -> 0 bytes .../luci-static/vssr/emoji/1f1ed-1f1f3.png | Bin 558 -> 0 bytes .../luci-static/vssr/emoji/1f1ed-1f1f7.png | Bin 891 -> 0 bytes .../luci-static/vssr/emoji/1f1ed-1f1f9.png | Bin 572 -> 0 bytes .../luci-static/vssr/emoji/1f1ed-1f1fa.png | Bin 629 -> 0 bytes .../luci-static/vssr/emoji/1f1ee-1f1e8.png | Bin 511 -> 0 bytes .../luci-static/vssr/emoji/1f1ee-1f1e9.png | Bin 508 -> 0 bytes .../luci-static/vssr/emoji/1f1ee-1f1ea.png | Bin 462 -> 0 bytes .../luci-static/vssr/emoji/1f1ee-1f1f1.png | Bin 620 -> 0 bytes .../luci-static/vssr/emoji/1f1ee-1f1f2.png | Bin 433 -> 0 bytes .../luci-static/vssr/emoji/1f1ee-1f1f3.png | Bin 833 -> 0 bytes .../luci-static/vssr/emoji/1f1ee-1f1f4.png | Bin 699 -> 0 bytes .../luci-static/vssr/emoji/1f1ee-1f1f6.png | Bin 642 -> 0 bytes .../luci-static/vssr/emoji/1f1ee-1f1f7.png | Bin 836 -> 0 bytes .../luci-static/vssr/emoji/1f1ee-1f1f8.png | Bin 669 -> 0 bytes .../luci-static/vssr/emoji/1f1ee-1f1f9.png | Bin 456 -> 0 bytes .../luci-static/vssr/emoji/1f1ef-1f1ea.png | Bin 643 -> 0 bytes .../luci-static/vssr/emoji/1f1ef-1f1f2.png | Bin 639 -> 0 bytes .../luci-static/vssr/emoji/1f1ef-1f1f4.png | Bin 858 -> 0 bytes .../luci-static/vssr/emoji/1f1ef-1f1f5.png | Bin 448 -> 0 bytes .../luci-static/vssr/emoji/1f1f0-1f1ea.png | Bin 890 -> 0 bytes .../luci-static/vssr/emoji/1f1f0-1f1ec.png | Bin 466 -> 0 bytes .../luci-static/vssr/emoji/1f1f0-1f1ed.png | Bin 816 -> 0 bytes .../luci-static/vssr/emoji/1f1f0-1f1ee.png | Bin 904 -> 0 bytes .../luci-static/vssr/emoji/1f1f0-1f1f2.png | Bin 899 -> 0 bytes .../luci-static/vssr/emoji/1f1f0-1f1f3.png | Bin 898 -> 0 bytes .../luci-static/vssr/emoji/1f1f0-1f1f5.png | Bin 601 -> 0 bytes .../luci-static/vssr/emoji/1f1f0-1f1f7.png | Bin 577 -> 0 bytes .../luci-static/vssr/emoji/1f1f0-1f1fc.png | Bin 620 -> 0 bytes .../luci-static/vssr/emoji/1f1f0-1f1fe.png | Bin 905 -> 0 bytes .../luci-static/vssr/emoji/1f1f0-1f1ff.png | Bin 527 -> 0 bytes .../luci-static/vssr/emoji/1f1f1-1f1e6.png | Bin 595 -> 0 bytes .../luci-static/vssr/emoji/1f1f1-1f1e7.png | Bin 620 -> 0 bytes .../luci-static/vssr/emoji/1f1f1-1f1e8.png | Bin 516 -> 0 bytes .../luci-static/vssr/emoji/1f1f1-1f1ee.png | Bin 536 -> 0 bytes .../luci-static/vssr/emoji/1f1f1-1f1f0.png | Bin 546 -> 0 bytes .../luci-static/vssr/emoji/1f1f1-1f1f7.png | Bin 578 -> 0 bytes .../luci-static/vssr/emoji/1f1f1-1f1f8.png | Bin 638 -> 0 bytes .../luci-static/vssr/emoji/1f1f1-1f1f9.png | Bin 810 -> 0 bytes .../luci-static/vssr/emoji/1f1f1-1f1fa.png | Bin 645 -> 0 bytes .../luci-static/vssr/emoji/1f1f1-1f1fb.png | Bin 508 -> 0 bytes .../luci-static/vssr/emoji/1f1f1-1f1fe.png | Bin 624 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1e6.png | Bin 454 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1e8.png | Bin 514 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1e9.png | Bin 540 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1ea.png | Bin 427 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1eb.png | Bin 462 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1ec.png | Bin 534 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1ed.png | Bin 639 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1f0.png | Bin 643 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1f1.png | Bin 484 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1f2.png | Bin 875 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1f3.png | Bin 492 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1f4.png | Bin 451 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1f5.png | Bin 553 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1f6.png | Bin 570 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1f7.png | Bin 571 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1f8.png | Bin 914 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1f9.png | Bin 477 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1fa.png | Bin 849 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1fb.png | Bin 500 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1fc.png | Bin 587 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1fd.png | Bin 536 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1fe.png | Bin 689 -> 0 bytes .../luci-static/vssr/emoji/1f1f2-1f1ff.png | Bin 899 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1e6.png | Bin 933 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1e8.png | Bin 689 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1ea.png | Bin 853 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1eb.png | Bin 490 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1ec.png | Bin 411 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1ee.png | Bin 569 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1f1.png | Bin 605 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1f4.png | Bin 908 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1f5.png | Bin 371 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1f7.png | Bin 493 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1fa.png | Bin 650 -> 0 bytes .../luci-static/vssr/emoji/1f1f3-1f1ff.png | Bin 592 -> 0 bytes .../luci-static/vssr/emoji/1f1f4-1f1f2.png | Bin 790 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1e6.png | Bin 656 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1ea.png | Bin 430 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1eb.png | Bin 860 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1ec.png | Bin 601 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1ed.png | Bin 657 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1f0.png | Bin 475 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1f1.png | Bin 516 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1f2.png | Bin 946 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1f3.png | Bin 668 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1f7.png | Bin 931 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1f8.png | Bin 645 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1f9.png | Bin 739 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1fc.png | Bin 504 -> 0 bytes .../luci-static/vssr/emoji/1f1f5-1f1fe.png | Bin 849 -> 0 bytes .../luci-static/vssr/emoji/1f1f6-1f1e6.png | Bin 416 -> 0 bytes .../luci-static/vssr/emoji/1f1f7-1f1ea.png | Bin 689 -> 0 bytes .../luci-static/vssr/emoji/1f1f7-1f1f4.png | Bin 446 -> 0 bytes .../luci-static/vssr/emoji/1f1f7-1f1f8.png | Bin 677 -> 0 bytes .../luci-static/vssr/emoji/1f1f7-1f1fa.png | Bin 621 -> 0 bytes .../luci-static/vssr/emoji/1f1f7-1f1fc.png | Bin 841 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1e6.png | Bin 412 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1e7.png | Bin 606 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1e8.png | Bin 907 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1e9.png | Bin 822 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1ea.png | Bin 589 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1ec.png | Bin 535 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1ed.png | Bin 884 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1ee.png | Bin 863 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1ef.png | Bin 908 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1f0.png | Bin 873 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1f1.png | Bin 618 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1f2.png | Bin 602 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1f3.png | Bin 496 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1f4.png | Bin 400 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1f7.png | Bin 891 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1f8.png | Bin 872 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1f9.png | Bin 649 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1fb.png | Bin 570 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1fd.png | Bin 851 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1fe.png | Bin 642 -> 0 bytes .../luci-static/vssr/emoji/1f1f8-1f1ff.png | Bin 954 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1e6.png | Bin 884 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1e8.png | Bin 911 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1e9.png | Bin 466 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1eb.png | Bin 474 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1ec.png | Bin 909 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1ed.png | Bin 918 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1ef.png | Bin 850 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1f0.png | Bin 539 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1f1.png | Bin 568 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1f2.png | Bin 459 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1f3.png | Bin 473 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1f4.png | Bin 531 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1f7.png | Bin 456 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1f9.png | Bin 561 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1fb.png | Bin 906 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1fc.png | Bin 529 -> 0 bytes .../luci-static/vssr/emoji/1f1f9-1f1ff.png | Bin 897 -> 0 bytes .../luci-static/vssr/emoji/1f1fa-1f1e6.png | Bin 546 -> 0 bytes .../luci-static/vssr/emoji/1f1fa-1f1ec.png | Bin 899 -> 0 bytes .../luci-static/vssr/emoji/1f1fa-1f1f2.png | Bin 636 -> 0 bytes .../luci-static/vssr/emoji/1f1fa-1f1f3.png | Bin 431 -> 0 bytes .../luci-static/vssr/emoji/1f1fa-1f1f8.png | Bin 636 -> 0 bytes .../luci-static/vssr/emoji/1f1fa-1f1fe.png | Bin 644 -> 0 bytes .../luci-static/vssr/emoji/1f1fa-1f1ff.png | Bin 845 -> 0 bytes .../luci-static/vssr/emoji/1f1fb-1f1e6.png | Bin 450 -> 0 bytes .../luci-static/vssr/emoji/1f1fb-1f1e8.png | Bin 537 -> 0 bytes .../luci-static/vssr/emoji/1f1fb-1f1ea.png | Bin 863 -> 0 bytes .../luci-static/vssr/emoji/1f1fb-1f1ec.png | Bin 903 -> 0 bytes .../luci-static/vssr/emoji/1f1fb-1f1ee.png | Bin 960 -> 0 bytes .../luci-static/vssr/emoji/1f1fb-1f1f3.png | Bin 461 -> 0 bytes .../luci-static/vssr/emoji/1f1fb-1f1fa.png | Bin 872 -> 0 bytes .../luci-static/vssr/emoji/1f1fc-1f1eb.png | Bin 512 -> 0 bytes .../luci-static/vssr/emoji/1f1fc-1f1f8.png | Bin 499 -> 0 bytes .../luci-static/vssr/emoji/1f1fd-1f1f0.png | Bin 457 -> 0 bytes .../luci-static/vssr/emoji/1f1fe-1f1ea.png | Bin 600 -> 0 bytes .../luci-static/vssr/emoji/1f1fe-1f1f9.png | Bin 490 -> 0 bytes .../luci-static/vssr/emoji/1f1ff-1f1e6.png | Bin 992 -> 0 bytes .../luci-static/vssr/emoji/1f1ff-1f1f2.png | Bin 477 -> 0 bytes .../luci-static/vssr/emoji/1f1ff-1f1fc.png | Bin 935 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1e8.png | Bin 1251 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1e9.png | Bin 1018 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1ea.png | Bin 858 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1eb.png | Bin 798 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1ec.png | Bin 1110 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1ee.png | Bin 1332 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1f1.png | Bin 693 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1f2.png | Bin 1008 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1f4.png | Bin 807 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1f6.png | Bin 639 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1f7.png | Bin 798 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1f8.png | Bin 1265 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1f9.png | Bin 775 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1fa.png | Bin 1208 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1fc.png | Bin 845 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1fd.png | Bin 1234 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e6-1f1ff.png | Bin 1092 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1e6.png | Bin 847 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1e7.png | Bin 699 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1e9.png | Bin 585 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1ea.png | Bin 632 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1eb.png | Bin 788 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1ec.png | Bin 896 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1ed.png | Bin 724 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1ee.png | Bin 1197 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1ef.png | Bin 785 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1f1.png | Bin 1036 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1f2.png | Bin 1611 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1f3.png | Bin 1379 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1f4.png | Bin 1152 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1f6.png | Bin 963 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1f7.png | Bin 937 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1f8.png | Bin 911 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1f9.png | Bin 1120 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1fb.png | Bin 1148 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1fc.png | Bin 825 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1fe.png | Bin 817 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e7-1f1ff.png | Bin 1164 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1e6.png | Bin 871 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1e8.png | Bin 880 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1e9.png | Bin 1269 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1eb.png | Bin 1320 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1ec.png | Bin 999 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1ed.png | Bin 641 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1ee.png | Bin 717 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1f0.png | Bin 1191 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1f1.png | Bin 870 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1f2.png | Bin 734 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1f3.png | Bin 684 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1f4.png | Bin 999 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1f5.png | Bin 703 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1f7.png | Bin 1049 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1fa.png | Bin 1133 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1fb.png | Bin 1191 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1fc.png | Bin 909 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1fd.png | Bin 1029 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1fe.png | Bin 797 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e8-1f1ff.png | Bin 865 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e9-1f1ea.png | Bin 872 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e9-1f1ec.png | Bin 1823 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e9-1f1ef.png | Bin 955 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e9-1f1f0.png | Bin 908 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e9-1f1f2.png | Bin 1424 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e9-1f1f4.png | Bin 1183 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1e9-1f1ff.png | Bin 876 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ea-1f1e6.png | Bin 974 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ea-1f1e8.png | Bin 1242 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ea-1f1ea.png | Bin 791 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ea-1f1ec.png | Bin 899 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ea-1f1ed.png | Bin 927 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ea-1f1f7.png | Bin 1128 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ea-1f1f8.png | Bin 974 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ea-1f1f9.png | Bin 1087 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ea-1f1fa.png | Bin 595 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1eb-1f1ee.png | Bin 857 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1eb-1f1ef.png | Bin 1541 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1eb-1f1f0.png | Bin 1431 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1eb-1f1f2.png | Bin 575 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1eb-1f1f4.png | Bin 1233 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1eb-1f1f7.png | Bin 703 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1e6.png | Bin 922 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1e7.png | Bin 1451 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1e9.png | Bin 1096 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1ea.png | Bin 1083 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1eb.png | Bin 853 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1ec.png | Bin 1090 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1ed.png | Bin 984 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1ee.png | Bin 1022 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1f1.png | Bin 842 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1f2.png | Bin 1115 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1f3.png | Bin 731 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1f5.png | Bin 994 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1f6.png | Bin 1058 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1f7.png | Bin 1023 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1f8.png | Bin 1342 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1f9.png | Bin 798 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1fa.png | Bin 778 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1fc.png | Bin 952 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ec-1f1fe.png | Bin 1144 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ed-1f1f0.png | Bin 755 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ed-1f1f2.png | Bin 1208 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ed-1f1f3.png | Bin 807 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ed-1f1f7.png | Bin 1161 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ed-1f1f9.png | Bin 965 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ed-1f1fa.png | Bin 911 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ee-1f1e8.png | Bin 842 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ee-1f1e9.png | Bin 726 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ee-1f1ea.png | Bin 692 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ee-1f1f1.png | Bin 930 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ee-1f1f2.png | Bin 773 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ee-1f1f3.png | Bin 1051 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ee-1f1f4.png | Bin 1823 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ee-1f1f6.png | Bin 942 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ee-1f1f7.png | Bin 1096 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ee-1f1f8.png | Bin 1111 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ee-1f1f9.png | Bin 675 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ef-1f1ea.png | Bin 1108 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ef-1f1f2.png | Bin 985 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ef-1f1f4.png | Bin 931 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ef-1f1f5.png | Bin 676 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f0-1f1ea.png | Bin 1156 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f0-1f1ec.png | Bin 717 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f0-1f1ed.png | Bin 988 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f0-1f1ee.png | Bin 1289 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f0-1f1f2.png | Bin 1417 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f0-1f1f3.png | Bin 1186 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f0-1f1f5.png | Bin 970 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f0-1f1f7.png | Bin 925 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f0-1f1fc.png | Bin 896 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f0-1f1fe.png | Bin 1311 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f0-1f1ff.png | Bin 853 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f1-1f1e6.png | Bin 832 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f1-1f1e7.png | Bin 1058 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f1-1f1e8.png | Bin 839 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f1-1f1ee.png | Bin 829 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f1-1f1f0.png | Bin 911 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f1-1f1f7.png | Bin 1295 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f1-1f1f8.png | Bin 983 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f1-1f1f9.png | Bin 927 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f1-1f1fa.png | Bin 965 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f1-1f1fb.png | Bin 749 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f1-1f1fe.png | Bin 945 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1e6.png | Bin 707 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1e8.png | Bin 744 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1e9.png | Bin 896 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1ea.png | Bin 719 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1eb.png | Bin 703 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1ec.png | Bin 808 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1ed.png | Bin 1128 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1f0.png | Bin 1271 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1f1.png | Bin 715 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1f2.png | Bin 1228 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1f3.png | Bin 796 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1f4.png | Bin 684 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1f5.png | Bin 1093 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1f6.png | Bin 947 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1f7.png | Bin 949 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1f8.png | Bin 1402 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1f9.png | Bin 754 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1fa.png | Bin 1117 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1fb.png | Bin 797 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1fc.png | Bin 895 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1fd.png | Bin 839 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1fe.png | Bin 1549 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f2-1f1ff.png | Bin 1148 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1e6.png | Bin 1199 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1e8.png | Bin 1161 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1ea.png | Bin 1010 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1eb.png | Bin 747 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1ec.png | Bin 605 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1ee.png | Bin 906 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1f1.png | Bin 839 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1f4.png | Bin 1148 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1f5.png | Bin 659 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1f7.png | Bin 793 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1fa.png | Bin 1413 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f3-1f1ff.png | Bin 1109 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f4-1f1f2.png | Bin 1028 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1e6.png | Bin 1037 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1ea.png | Bin 609 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1eb.png | Bin 1042 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1ec.png | Bin 954 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1ed.png | Bin 1125 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1f0.png | Bin 745 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1f1.png | Bin 694 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1f2.png | Bin 1794 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1f3.png | Bin 1475 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1f7.png | Bin 1124 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1f8.png | Bin 803 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1f9.png | Bin 1092 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1fc.png | Bin 692 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f5-1f1fe.png | Bin 1028 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f6-1f1e6.png | Bin 682 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f7-1f1ea.png | Bin 1268 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f7-1f1f4.png | Bin 634 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f7-1f1f8.png | Bin 1230 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f7-1f1fa.png | Bin 894 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f7-1f1fc.png | Bin 1102 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1e6.png | Bin 600 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1e7.png | Bin 1096 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1e8.png | Bin 1196 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1e9.png | Bin 866 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1ea.png | Bin 977 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1ec.png | Bin 860 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1ed.png | Bin 1251 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1ee.png | Bin 1066 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1ef.png | Bin 1148 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1f0.png | Bin 1135 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1f1.png | Bin 903 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1f2.png | Bin 1042 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1f3.png | Bin 812 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1f4.png | Bin 606 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1f7.png | Bin 1105 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1f8.png | Bin 1104 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1f9.png | Bin 1040 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1fb.png | Bin 922 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1fd.png | Bin 1036 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1fe.png | Bin 933 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f8-1f1ff.png | Bin 1553 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1e6.png | Bin 1251 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1e8.png | Bin 1381 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1e9.png | Bin 673 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1eb.png | Bin 760 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1ec.png | Bin 1188 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1ed.png | Bin 1154 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1ef.png | Bin 1038 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1f0.png | Bin 805 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1f1.png | Bin 932 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1f2.png | Bin 793 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1f3.png | Bin 738 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1f4.png | Bin 829 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1f7.png | Bin 789 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1f9.png | Bin 960 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1fb.png | Bin 1353 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1fc.png | Bin 892 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1f9-1f1ff.png | Bin 1188 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fa-1f1e6.png | Bin 774 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fa-1f1ec.png | Bin 1323 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fa-1f1f2.png | Bin 1534 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fa-1f1f3.png | Bin 664 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fa-1f1f8.png | Bin 1534 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fa-1f1fe.png | Bin 1180 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fa-1f1ff.png | Bin 1125 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fb-1f1e6.png | Bin 809 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fb-1f1e8.png | Bin 895 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fb-1f1ea.png | Bin 1072 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fb-1f1ec.png | Bin 1308 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fb-1f1ee.png | Bin 1425 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fb-1f1f3.png | Bin 645 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fb-1f1fa.png | Bin 1053 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fc-1f1eb.png | Bin 887 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fc-1f1f8.png | Bin 776 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fd-1f1f0.png | Bin 673 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fe-1f1ea.png | Bin 833 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1fe-1f1f9.png | Bin 912 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ff-1f1e6.png | Bin 1378 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ff-1f1f2.png | Bin 720 -> 0 bytes .../luci-static/vssr/emoji/2x/1f1ff-1f1fc.png | Bin 1596 -> 0 bytes .../www/luci-static/vssr/flags/4x3/ad.svg | 150 - .../www/luci-static/vssr/flags/4x3/ae.svg | 6 - .../www/luci-static/vssr/flags/4x3/af.svg | 81 - .../www/luci-static/vssr/flags/4x3/ag.svg | 14 - .../www/luci-static/vssr/flags/4x3/ai.svg | 763 -- .../www/luci-static/vssr/flags/4x3/al.svg | 5 - .../www/luci-static/vssr/flags/4x3/am.svg | 5 - .../www/luci-static/vssr/flags/4x3/ao.svg | 13 - .../www/luci-static/vssr/flags/4x3/aq.svg | 5 - .../www/luci-static/vssr/flags/4x3/ar.svg | 31 - .../www/luci-static/vssr/flags/4x3/as.svg | 33 - .../www/luci-static/vssr/flags/4x3/at.svg | 6 - .../www/luci-static/vssr/flags/4x3/au.svg | 9 - .../www/luci-static/vssr/flags/4x3/aw.svg | 186 - .../www/luci-static/vssr/flags/4x3/ax.svg | 18 - .../www/luci-static/vssr/flags/4x3/az.svg | 8 - .../www/luci-static/vssr/flags/4x3/ba.svg | 12 - .../www/luci-static/vssr/flags/4x3/bb.svg | 6 - .../www/luci-static/vssr/flags/4x3/bd.svg | 4 - .../www/luci-static/vssr/flags/4x3/be.svg | 7 - .../www/luci-static/vssr/flags/4x3/bf.svg | 7 - .../www/luci-static/vssr/flags/4x3/bg.svg | 7 - .../www/luci-static/vssr/flags/4x3/bh.svg | 9 - .../www/luci-static/vssr/flags/4x3/bi.svg | 15 - .../www/luci-static/vssr/flags/4x3/bj.svg | 14 - .../www/luci-static/vssr/flags/4x3/bl.svg | 7 - .../www/luci-static/vssr/flags/4x3/bm.svg | 98 - .../www/luci-static/vssr/flags/4x3/bn.svg | 36 - .../www/luci-static/vssr/flags/4x3/bo.svg | 16 - .../www/luci-static/vssr/flags/4x3/bq.svg | 5 - .../www/luci-static/vssr/flags/4x3/br.svg | 45 - .../www/luci-static/vssr/flags/4x3/bs.svg | 13 - .../www/luci-static/vssr/flags/4x3/bt.svg | 89 - .../www/luci-static/vssr/flags/4x3/bv.svg | 13 - .../www/luci-static/vssr/flags/4x3/bw.svg | 7 - .../www/luci-static/vssr/flags/4x3/by.svg | 20 - .../www/luci-static/vssr/flags/4x3/bz.svg | 145 - .../www/luci-static/vssr/flags/4x3/ca.svg | 4 - .../www/luci-static/vssr/flags/4x3/cc.svg | 19 - .../www/luci-static/vssr/flags/4x3/cd.svg | 5 - .../www/luci-static/vssr/flags/4x3/cf.svg | 15 - .../www/luci-static/vssr/flags/4x3/cg.svg | 12 - .../www/luci-static/vssr/flags/4x3/ch.svg | 9 - .../www/luci-static/vssr/flags/4x3/ci.svg | 7 - .../www/luci-static/vssr/flags/4x3/ck.svg | 9 - .../www/luci-static/vssr/flags/4x3/cl.svg | 13 - .../www/luci-static/vssr/flags/4x3/cm.svg | 15 - .../www/luci-static/vssr/flags/4x3/cn.svg | 11 - .../www/luci-static/vssr/flags/4x3/co.svg | 7 - .../www/luci-static/vssr/flags/4x3/cr.svg | 7 - .../www/luci-static/vssr/flags/4x3/cu.svg | 13 - .../www/luci-static/vssr/flags/4x3/cv.svg | 13 - .../www/luci-static/vssr/flags/4x3/cw.svg | 14 - .../www/luci-static/vssr/flags/4x3/cx.svg | 15 - .../www/luci-static/vssr/flags/4x3/cy.svg | 6 - .../www/luci-static/vssr/flags/4x3/cz.svg | 12 - .../www/luci-static/vssr/flags/4x3/de.svg | 5 - .../www/luci-static/vssr/flags/4x3/dj.svg | 13 - .../www/luci-static/vssr/flags/4x3/dk.svg | 5 - .../www/luci-static/vssr/flags/4x3/dm.svg | 152 - .../www/luci-static/vssr/flags/4x3/do.svg | 16 - .../www/luci-static/vssr/flags/4x3/dz.svg | 5 - .../www/luci-static/vssr/flags/4x3/ec.svg | 138 - .../www/luci-static/vssr/flags/4x3/ee.svg | 7 - .../www/luci-static/vssr/flags/4x3/eg.svg | 38 - .../www/luci-static/vssr/flags/4x3/eh.svg | 15 - .../www/luci-static/vssr/flags/4x3/er.svg | 8 - .../www/luci-static/vssr/flags/4x3/es-ca.svg | 4 - .../www/luci-static/vssr/flags/4x3/es.svg | 544 - .../www/luci-static/vssr/flags/4x3/et.svg | 14 - .../www/luci-static/vssr/flags/4x3/eu.svg | 28 - .../www/luci-static/vssr/flags/4x3/fi.svg | 5 - .../www/luci-static/vssr/flags/4x3/fj.svg | 122 - .../www/luci-static/vssr/flags/4x3/fk.svg | 90 - .../www/luci-static/vssr/flags/4x3/fm.svg | 11 - .../www/luci-static/vssr/flags/4x3/fo.svg | 12 - .../www/luci-static/vssr/flags/4x3/fr.svg | 7 - .../www/luci-static/vssr/flags/4x3/ga.svg | 7 - .../www/luci-static/vssr/flags/4x3/gb-eng.svg | 5 - .../www/luci-static/vssr/flags/4x3/gb-nir.svg | 132 - .../www/luci-static/vssr/flags/4x3/gb-sct.svg | 4 - .../www/luci-static/vssr/flags/4x3/gb-wls.svg | 9 - .../www/luci-static/vssr/flags/4x3/gb.svg | 7 - .../www/luci-static/vssr/flags/4x3/gd.svg | 27 - .../www/luci-static/vssr/flags/4x3/ge.svg | 6 - .../www/luci-static/vssr/flags/4x3/gf.svg | 7 - .../www/luci-static/vssr/flags/4x3/gg.svg | 9 - .../www/luci-static/vssr/flags/4x3/gh.svg | 6 - .../www/luci-static/vssr/flags/4x3/gi.svg | 32 - .../www/luci-static/vssr/flags/4x3/gl.svg | 4 - .../www/luci-static/vssr/flags/4x3/gm.svg | 14 - .../www/luci-static/vssr/flags/4x3/gn.svg | 7 - .../www/luci-static/vssr/flags/4x3/gp.svg | 7 - .../www/luci-static/vssr/flags/4x3/gq.svg | 23 - .../www/luci-static/vssr/flags/4x3/gr.svg | 16 - .../www/luci-static/vssr/flags/4x3/gs.svg | 201 - .../www/luci-static/vssr/flags/4x3/gt.svg | 204 - .../www/luci-static/vssr/flags/4x3/gu.svg | 39 - .../www/luci-static/vssr/flags/4x3/gw.svg | 13 - .../www/luci-static/vssr/flags/4x3/gy.svg | 9 - .../www/luci-static/vssr/flags/4x3/hk.svg | 30 - .../www/luci-static/vssr/flags/4x3/hm.svg | 9 - .../www/luci-static/vssr/flags/4x3/hn.svg | 18 - .../www/luci-static/vssr/flags/4x3/hr.svg | 58 - .../www/luci-static/vssr/flags/4x3/ht.svg | 116 - .../www/luci-static/vssr/flags/4x3/hu.svg | 7 - .../www/luci-static/vssr/flags/4x3/id.svg | 6 - .../www/luci-static/vssr/flags/4x3/ie.svg | 7 - .../www/luci-static/vssr/flags/4x3/il.svg | 14 - .../www/luci-static/vssr/flags/4x3/im.svg | 36 - .../www/luci-static/vssr/flags/4x3/in.svg | 25 - .../www/luci-static/vssr/flags/4x3/io.svg | 138 - .../www/luci-static/vssr/flags/4x3/iq.svg | 10 - .../www/luci-static/vssr/flags/4x3/ir.svg | 219 - .../www/luci-static/vssr/flags/4x3/is.svg | 12 - .../www/luci-static/vssr/flags/4x3/it.svg | 7 - .../www/luci-static/vssr/flags/4x3/je.svg | 29 - .../www/luci-static/vssr/flags/4x3/jm.svg | 8 - .../www/luci-static/vssr/flags/4x3/jo.svg | 16 - .../www/luci-static/vssr/flags/4x3/jp.svg | 11 - .../www/luci-static/vssr/flags/4x3/ke.svg | 23 - .../www/luci-static/vssr/flags/4x3/kg.svg | 15 - .../www/luci-static/vssr/flags/4x3/kh.svg | 61 - .../www/luci-static/vssr/flags/4x3/ki.svg | 36 - .../www/luci-static/vssr/flags/4x3/km.svg | 16 - .../www/luci-static/vssr/flags/4x3/kn.svg | 14 - .../www/luci-static/vssr/flags/4x3/kp.svg | 15 - .../www/luci-static/vssr/flags/4x3/kr.svg | 24 - .../www/luci-static/vssr/flags/4x3/kw.svg | 13 - .../www/luci-static/vssr/flags/4x3/ky.svg | 63 - .../www/luci-static/vssr/flags/4x3/kz.svg | 23 - .../www/luci-static/vssr/flags/4x3/la.svg | 12 - .../www/luci-static/vssr/flags/4x3/lb.svg | 15 - .../www/luci-static/vssr/flags/4x3/lc.svg | 8 - .../www/luci-static/vssr/flags/4x3/li.svg | 43 - .../www/luci-static/vssr/flags/4x3/lk.svg | 22 - .../www/luci-static/vssr/flags/4x3/lr.svg | 14 - .../www/luci-static/vssr/flags/4x3/ls.svg | 8 - .../www/luci-static/vssr/flags/4x3/lt.svg | 7 - .../www/luci-static/vssr/flags/4x3/lu.svg | 5 - .../www/luci-static/vssr/flags/4x3/lv.svg | 6 - .../www/luci-static/vssr/flags/4x3/ly.svg | 13 - .../www/luci-static/vssr/flags/4x3/ma.svg | 4 - .../www/luci-static/vssr/flags/4x3/mc.svg | 6 - .../www/luci-static/vssr/flags/4x3/md.svg | 70 - .../www/luci-static/vssr/flags/4x3/me.svg | 116 - .../www/luci-static/vssr/flags/4x3/mf.svg | 7 - .../www/luci-static/vssr/flags/4x3/mg.svg | 7 - .../www/luci-static/vssr/flags/4x3/mh.svg | 7 - .../www/luci-static/vssr/flags/4x3/mk.svg | 5 - .../www/luci-static/vssr/flags/4x3/ml.svg | 7 - .../www/luci-static/vssr/flags/4x3/mm.svg | 16 - .../www/luci-static/vssr/flags/4x3/mn.svg | 13 - .../www/luci-static/vssr/flags/4x3/mo.svg | 9 - .../www/luci-static/vssr/flags/4x3/mp.svg | 86 - .../www/luci-static/vssr/flags/4x3/mq.svg | 7 - .../www/luci-static/vssr/flags/4x3/mr.svg | 6 - .../www/luci-static/vssr/flags/4x3/ms.svg | 78 - .../www/luci-static/vssr/flags/4x3/mt.svg | 49 - .../www/luci-static/vssr/flags/4x3/mu.svg | 8 - .../www/luci-static/vssr/flags/4x3/mv.svg | 6 - .../www/luci-static/vssr/flags/4x3/mw.svg | 10 - .../www/luci-static/vssr/flags/4x3/mx.svg | 382 - .../www/luci-static/vssr/flags/4x3/my.svg | 15 - .../www/luci-static/vssr/flags/4x3/mz.svg | 21 - .../www/luci-static/vssr/flags/4x3/na.svg | 16 - .../www/luci-static/vssr/flags/4x3/nc.svg | 14 - .../www/luci-static/vssr/flags/4x3/ne.svg | 6 - .../www/luci-static/vssr/flags/4x3/nf.svg | 9 - .../www/luci-static/vssr/flags/4x3/ng.svg | 6 - .../www/luci-static/vssr/flags/4x3/ni.svg | 129 - .../www/luci-static/vssr/flags/4x3/nl.svg | 5 - .../www/luci-static/vssr/flags/4x3/no.svg | 7 - .../www/luci-static/vssr/flags/4x3/np.svg | 14 - .../www/luci-static/vssr/flags/4x3/nr.svg | 12 - .../www/luci-static/vssr/flags/4x3/nu.svg | 26 - .../www/luci-static/vssr/flags/4x3/nz.svg | 41 - .../www/luci-static/vssr/flags/4x3/om.svg | 115 - .../www/luci-static/vssr/flags/4x3/pa.svg | 14 - .../www/luci-static/vssr/flags/4x3/pe.svg | 28 - .../www/luci-static/vssr/flags/4x3/pf.svg | 19 - .../www/luci-static/vssr/flags/4x3/pg.svg | 9 - .../www/luci-static/vssr/flags/4x3/ph.svg | 9 - .../www/luci-static/vssr/flags/4x3/pk.svg | 15 - .../www/luci-static/vssr/flags/4x3/pl.svg | 6 - .../www/luci-static/vssr/flags/4x3/pm.svg | 7 - .../www/luci-static/vssr/flags/4x3/pn.svg | 62 - .../www/luci-static/vssr/flags/4x3/pr.svg | 13 - .../www/luci-static/vssr/flags/4x3/ps.svg | 15 - .../www/luci-static/vssr/flags/4x3/pt.svg | 57 - .../www/luci-static/vssr/flags/4x3/pw.svg | 11 - .../www/luci-static/vssr/flags/4x3/py.svg | 157 - .../www/luci-static/vssr/flags/4x3/qa.svg | 4 - .../www/luci-static/vssr/flags/4x3/re.svg | 7 - .../www/luci-static/vssr/flags/4x3/ro.svg | 7 - .../www/luci-static/vssr/flags/4x3/rs.svg | 16 - .../www/luci-static/vssr/flags/4x3/ru.svg | 7 - .../www/luci-static/vssr/flags/4x3/rw.svg | 13 - .../www/luci-static/vssr/flags/4x3/sa.svg | 26 - .../www/luci-static/vssr/flags/4x3/sb.svg | 13 - .../www/luci-static/vssr/flags/4x3/sc.svg | 14 - .../www/luci-static/vssr/flags/4x3/sd.svg | 13 - .../www/luci-static/vssr/flags/4x3/se.svg | 16 - .../www/luci-static/vssr/flags/4x3/sg.svg | 13 - .../www/luci-static/vssr/flags/4x3/sh.svg | 74 - .../www/luci-static/vssr/flags/4x3/si.svg | 18 - .../www/luci-static/vssr/flags/4x3/sj.svg | 7 - .../www/luci-static/vssr/flags/4x3/sk.svg | 9 - .../www/luci-static/vssr/flags/4x3/sl.svg | 7 - .../www/luci-static/vssr/flags/4x3/sm.svg | 91 - .../www/luci-static/vssr/flags/4x3/sn.svg | 8 - .../www/luci-static/vssr/flags/4x3/so.svg | 11 - .../www/luci-static/vssr/flags/4x3/sr.svg | 6 - .../www/luci-static/vssr/flags/4x3/ss.svg | 8 - .../www/luci-static/vssr/flags/4x3/st.svg | 16 - .../www/luci-static/vssr/flags/4x3/sv.svg | 594 - .../www/luci-static/vssr/flags/4x3/sx.svg | 56 - .../www/luci-static/vssr/flags/4x3/sy.svg | 6 - .../www/luci-static/vssr/flags/4x3/sz.svg | 45 - .../www/luci-static/vssr/flags/4x3/tc.svg | 67 - .../www/luci-static/vssr/flags/4x3/td.svg | 7 - .../www/luci-static/vssr/flags/4x3/tf.svg | 15 - .../www/luci-static/vssr/flags/4x3/tg.svg | 14 - .../www/luci-static/vssr/flags/4x3/th.svg | 7 - .../www/luci-static/vssr/flags/4x3/tj.svg | 22 - .../www/luci-static/vssr/flags/4x3/tk.svg | 5 - .../www/luci-static/vssr/flags/4x3/tl.svg | 13 - .../www/luci-static/vssr/flags/4x3/tm.svg | 206 - .../www/luci-static/vssr/flags/4x3/tn.svg | 13 - .../www/luci-static/vssr/flags/4x3/to.svg | 10 - .../www/luci-static/vssr/flags/4x3/tr.svg | 8 - .../www/luci-static/vssr/flags/4x3/tt.svg | 5 - .../www/luci-static/vssr/flags/4x3/tv.svg | 16 - .../www/luci-static/vssr/flags/4x3/tw.svg | 14 - .../www/luci-static/vssr/flags/4x3/tz.svg | 13 - .../www/luci-static/vssr/flags/4x3/ua.svg | 6 - .../www/luci-static/vssr/flags/4x3/ug.svg | 30 - .../www/luci-static/vssr/flags/4x3/um.svg | 15 - .../www/luci-static/vssr/flags/4x3/un.svg | 16 - .../www/luci-static/vssr/flags/4x3/us.svg | 10 - .../www/luci-static/vssr/flags/4x3/uy.svg | 28 - .../www/luci-static/vssr/flags/4x3/uz.svg | 30 - .../www/luci-static/vssr/flags/4x3/va.svg | 16 - .../www/luci-static/vssr/flags/4x3/vc.svg | 8 - .../www/luci-static/vssr/flags/4x3/ve.svg | 26 - .../www/luci-static/vssr/flags/4x3/vg.svg | 127 - .../www/luci-static/vssr/flags/4x3/vi.svg | 28 - .../www/luci-static/vssr/flags/4x3/vn.svg | 11 - .../www/luci-static/vssr/flags/4x3/vu.svg | 18 - .../www/luci-static/vssr/flags/4x3/wf.svg | 7 - .../www/luci-static/vssr/flags/4x3/ws.svg | 7 - .../www/luci-static/vssr/flags/4x3/xk.svg | 16 - .../www/luci-static/vssr/flags/4x3/ye.svg | 7 - .../www/luci-static/vssr/flags/4x3/yt.svg | 7 - .../www/luci-static/vssr/flags/4x3/za.svg | 17 - .../www/luci-static/vssr/flags/4x3/zm.svg | 27 - .../www/luci-static/vssr/flags/4x3/zw.svg | 21 - .../root/www/luci-static/vssr/img/client.svg | 51 - .../root/www/luci-static/vssr/img/pdnsd.svg | 25 - .../luci-static/vssr/img/site_icon1_01.png | Bin 4669 -> 0 bytes .../luci-static/vssr/img/site_icon1_02.png | Bin 4931 -> 0 bytes .../luci-static/vssr/img/site_icon1_03.png | Bin 3640 -> 0 bytes .../luci-static/vssr/img/site_icon1_04.png | Bin 3438 -> 0 bytes .../www/luci-static/vssr/img/site_icon_01.png | Bin 5013 -> 0 bytes .../www/luci-static/vssr/img/site_icon_02.png | Bin 5305 -> 0 bytes .../www/luci-static/vssr/img/site_icon_03.png | Bin 3727 -> 0 bytes .../www/luci-static/vssr/img/site_icon_04.png | Bin 3540 -> 0 bytes .../root/www/luci-static/vssr/img/socks5.svg | 38 - .../root/www/luci-static/vssr/img/switch.png | Bin 3771 -> 0 bytes .../root/www/luci-static/vssr/img/udp.svg | 16 - .../root/www/luci-static/vssr/polyfill.js | 301 - .../root/www/luci-static/vssr/sweetalert.js | 2 - .../root/www/luci-static/vssr/vssr.js | 16 - package/ctcgfw/luci-app-xunlei/Makefile | 16 - .../luasrc/controller/xunlei.lua | 13 - .../luasrc/model/cbi/xunlei.lua | 106 - .../luci-app-xunlei/root/app/xunlei/ETMDaemon | Bin 99656 -> 0 bytes .../root/app/xunlei/EmbedThunderManager | Bin 2934084 -> 0 bytes .../luci-app-xunlei/root/app/xunlei/portal | Bin 203396 -> 0 bytes .../root/app/xunlei/vod_httpserver | Bin 83980 -> 0 bytes .../luci-app-xunlei/root/etc/config/xunlei | 10 - .../luci-app-xunlei/root/etc/init.d/xunlei | 49 - .../root/etc/uci-defaults/luci-xunlei | 11 - .../ctcgfw/luci-app-xunlei/root/etc/xware/cfg | 18 - .../luci-app-xunlei/root/etc/xware/xlatest | 10 - .../luci-app-xunlei/root/etc/xware/xlup | 43 - .../usr/share/rpcd/acl.d/luci-app-xunlei.json | 11 - package/ctcgfw/luci-proto-minieap/Makefile | 16 - .../luci-static/resources/protocol/minieap.js | 102 - .../po/templates/minieap.pot | 95 - .../luci-proto-minieap/po/zh_Hans/minieap.po | 95 - .../root/lib/netifd/minieap.script | 7 - .../root/lib/netifd/proto/minieap.sh | 120 - package/ctcgfw/luci-theme-argon/Makefile | 16 - .../luci-static/argon/background/README.md | 2 - .../htdocs/luci-static/argon/css/cascade.css | 3288 ----- .../htdocs/luci-static/argon/css/dark.css | 646 - .../htdocs/luci-static/argon/css/fonts.css | 186 - .../htdocs/luci-static/argon/css/pure-min.css | 11 - .../htdocs/luci-static/argon/favicon.ico | Bin 15406 -> 0 bytes .../luci-static/argon/fonts/TypoGraphica.eot | Bin 33846 -> 0 bytes .../luci-static/argon/fonts/TypoGraphica.svg | 1191 -- .../luci-static/argon/fonts/TypoGraphica.ttf | Bin 33632 -> 0 bytes .../luci-static/argon/fonts/TypoGraphica.woff | Bin 17816 -> 0 bytes .../htdocs/luci-static/argon/fonts/argon.eot | Bin 8888 -> 0 bytes .../htdocs/luci-static/argon/fonts/argon.svg | 38 - .../htdocs/luci-static/argon/fonts/argon.ttf | Bin 8732 -> 0 bytes .../htdocs/luci-static/argon/fonts/argon.woff | Bin 8808 -> 0 bytes .../argon/icon/android-icon-192x192.png | Bin 6411 -> 0 bytes .../argon/icon/apple-icon-144x144.png | Bin 5222 -> 0 bytes .../argon/icon/apple-icon-60x60.png | Bin 2561 -> 0 bytes .../argon/icon/apple-icon-72x72.png | Bin 2877 -> 0 bytes .../htdocs/luci-static/argon/icon/arrow.svg | 1 - .../luci-static/argon/icon/browserconfig.xml | 2 - .../luci-static/argon/icon/favicon-16x16.png | Bin 1019 -> 0 bytes .../luci-static/argon/icon/favicon-32x32.png | Bin 1720 -> 0 bytes .../luci-static/argon/icon/favicon-96x96.png | Bin 3650 -> 0 bytes .../luci-static/argon/icon/manifest.json | 41 - .../argon/icon/ms-icon-144x144.png | Bin 5222 -> 0 bytes .../htdocs/luci-static/argon/icon/spinner.svg | 1 - .../htdocs/luci-static/argon/img/argon.svg | 61 - .../htdocs/luci-static/argon/img/bg1.jpg | Bin 159265 -> 0 bytes .../htdocs/luci-static/argon/img/blank.png | Bin 938 -> 0 bytes .../luci-static/argon/img/volume_high.svg | 1 - .../luci-static/argon/img/volume_off.svg | 1 - .../htdocs/luci-static/argon/js/jquery.min.js | 2 - .../luci-static/argon/js/polyfill.min.js | 3 - .../htdocs/luci-static/argon/js/script.js | 219 - .../luci-static/argon/less/cascade.less | 3986 ------ .../htdocs/luci-static/argon/less/dark.less | 828 -- .../htdocs/luci-static/resources/menu.js | 156 - .../luasrc/view/themes/argon/footer.htm | 46 - .../luasrc/view/themes/argon/footer_login.htm | 46 - .../luasrc/view/themes/argon/header.htm | 182 - .../luasrc/view/themes/argon/header_login.htm | 123 - .../view/themes/argon/out_footer_login.htm | 27 - .../view/themes/argon/out_header_login.htm | 38 - .../luasrc/view/themes/argon/sysauth.htm | 157 - .../root/etc/uci-defaults/30_luci-theme-argon | 12 - package/ctcgfw/luci-theme-edge/Makefile | 16 - .../htdocs/luci-static/edge/background/1.jpg | Bin 27946 -> 0 bytes .../htdocs/luci-static/edge/background/2.jpg | Bin 21993 -> 0 bytes .../htdocs/luci-static/edge/background/3.jpg | Bin 100094 -> 0 bytes .../htdocs/luci-static/edge/cascade.css | 4129 ------ .../htdocs/luci-static/edge/custom.css | 46 - .../htdocs/luci-static/edge/favicon.ico | Bin 15406 -> 0 bytes .../htdocs/luci-static/edge/fonts/argon.woff | Bin 8808 -> 0 bytes .../htdocs/luci-static/edge/glare.svg | 29 - .../htdocs/luci-static/edge/icons/arrow.svg | 1 - .../htdocs/luci-static/edge/icons/spinner.svg | 1 - .../htdocs/luci-static/edge/js/jquery.min.js | 2 - .../htdocs/luci-static/edge/js/script.js | 324 - .../htdocs/luci-static/edge/js/waves.js | 41 - .../htdocs/luci-static/edge/landscape.css | 76 - .../htdocs/luci-static/edge/logo.png | Bin 14025 -> 0 bytes .../htdocs/luci-static/edge/sun.svg | 14 - .../htdocs/luci-static/edge/waves.css | 135 - .../luasrc/view/header_login.htm | 38 - .../luasrc/view/themes/edge/footer.htm | 36 - .../luasrc/view/themes/edge/header.htm | 240 - .../luasrc/view/themes/edge/header_login.htm | 121 - .../luasrc/view/themes/edge/sysauth.htm | 139 - .../root/etc/uci-defaults/30_luci-theme-edge | 7 - 1431 files changed, 132975 deletions(-) delete mode 100644 package/ctcgfw/luci-app-adguardhome/Makefile delete mode 100644 package/ctcgfw/luci-app-adguardhome/luasrc/controller/AdGuardHome.lua delete mode 100644 package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/base.lua delete mode 100644 package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/log.lua delete mode 100644 package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/manual.lua delete mode 100644 package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_check.htm delete mode 100644 package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_chpass.htm delete mode 100644 package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_status.htm delete mode 100644 package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/log.htm delete mode 100644 package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/yamleditor.htm delete mode 100644 package/ctcgfw/luci-app-adguardhome/po/zh_Hans/adguardhome.po delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/etc/config/AdGuardHome delete mode 100755 package/ctcgfw/luci-app-adguardhome/root/etc/init.d/AdGuardHome delete mode 100755 package/ctcgfw/luci-app-adguardhome/root/etc/uci-defaults/40_luci-AdGuardHome delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/AdGuardHome_template.yaml delete mode 100755 package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/addhost.sh delete mode 100755 package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/firewall.start delete mode 100755 package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/getsyslog.sh delete mode 100755 package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/gfw2adg.sh delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/links.txt delete mode 100755 package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/tailto.sh delete mode 100755 package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/update_core.sh delete mode 100755 package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/waitnet.sh delete mode 100755 package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/watchconfig.sh delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/usr/share/rpcd/acl.d/luci-app-adguardhome.json delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/addon/fold/foldcode.js delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/addon/fold/foldgutter.css delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/addon/fold/foldgutter.js delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/addon/fold/indent-fold.js delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/lib/codemirror.css delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/lib/codemirror.js delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/mode/yaml/yaml.js delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/theme/dracula.css delete mode 100644 package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/twin-bcrypt.min.js delete mode 100644 package/ctcgfw/luci-app-airwhu/Makefile delete mode 100644 package/ctcgfw/luci-app-airwhu/luasrc/controller/airwhu.lua delete mode 100644 package/ctcgfw/luci-app-airwhu/luasrc/model/cbi/airwhu.lua delete mode 100644 package/ctcgfw/luci-app-airwhu/po/zh_Hans/luci-app-airwhu.po delete mode 100755 package/ctcgfw/luci-app-airwhu/root/bin/ipv6masq.sh delete mode 100644 package/ctcgfw/luci-app-airwhu/root/etc/config/airwhu delete mode 100755 package/ctcgfw/luci-app-airwhu/root/etc/hotplug.d/iface/99-ipv6nat delete mode 100755 package/ctcgfw/luci-app-airwhu/root/etc/init.d/mentohust delete mode 100644 package/ctcgfw/luci-app-airwhu/root/usr/share/rpcd/acl.d/luci-app-airwhu.json delete mode 100644 package/ctcgfw/luci-app-appfilter/Makefile delete mode 100644 package/ctcgfw/luci-app-appfilter/htdocs/luci-static/resources/echarts.min.js delete mode 100644 package/ctcgfw/luci-app-appfilter/luasrc/controller/appfilter.lua delete mode 100644 package/ctcgfw/luci-app-appfilter/luasrc/model/cbi/appfilter/appfilter.lua delete mode 100644 package/ctcgfw/luci-app-appfilter/luasrc/model/cbi/appfilter/dev_status.lua delete mode 100644 package/ctcgfw/luci-app-appfilter/luasrc/view/admin_network/dev_status.htm delete mode 100644 package/ctcgfw/luci-app-appfilter/luasrc/view/admin_network/user_status.htm delete mode 100644 package/ctcgfw/luci-app-appfilter/luasrc/view/cbi/oaf_upload.htm delete mode 100644 package/ctcgfw/luci-app-appfilter/po/zh_Hans/appfilter.po delete mode 100755 package/ctcgfw/luci-app-appfilter/root/etc/uci-defaults/91_luci-oaf delete mode 100755 package/ctcgfw/luci-app-appfilter/root/etc/uci-defaults/92_add_user_section delete mode 100644 package/ctcgfw/luci-app-appfilter/root/usr/lib/lua/luci/tools/status.lua delete mode 100644 package/ctcgfw/luci-app-appfilter/root/usr/share/rpcd/acl.d/luci-app-appfilter.json delete mode 100644 package/ctcgfw/luci-app-argon-config/Makefile delete mode 100644 package/ctcgfw/luci-app-argon-config/luasrc/controller/argon-config.lua delete mode 100644 package/ctcgfw/luci-app-argon-config/luasrc/model/cbi/argon-config/configuration.lua delete mode 100644 package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_button.htm delete mode 100644 package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_dvalue.htm delete mode 100644 package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm delete mode 100644 package/ctcgfw/luci-app-argon-config/po/zh_Hans/argon-config.po delete mode 100644 package/ctcgfw/luci-app-argon-config/root/etc/config/argon delete mode 100644 package/ctcgfw/luci-app-argon-config/root/etc/uci-defaults/luci-argon-config delete mode 100644 package/ctcgfw/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json delete mode 100644 package/ctcgfw/luci-app-autoipsetadder/Makefile delete mode 100644 package/ctcgfw/luci-app-autoipsetadder/luasrc/controller/autoipsetadder.lua delete mode 100644 package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua delete mode 100644 package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/check.htm delete mode 100644 package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/status.htm delete mode 100644 package/ctcgfw/luci-app-autoipsetadder/po/zh_Hans/autoipsetadder.po delete mode 100644 package/ctcgfw/luci-app-autoipsetadder/root/etc/config/autoipsetadder delete mode 100755 package/ctcgfw/luci-app-autoipsetadder/root/etc/init.d/autoipsetadder delete mode 100755 package/ctcgfw/luci-app-autoipsetadder/root/etc/uci-defaults/40_luci-autoipsetadder delete mode 100755 package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/autoaddlist.sh delete mode 100755 package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/debugip.sh delete mode 100755 package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/tailto.sh delete mode 100755 package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/testip.sh delete mode 100644 package/ctcgfw/luci-app-autoipsetadder/root/usr/share/rpcd/acl.d/luci-app-autoipsetadder.json delete mode 100644 package/ctcgfw/luci-app-baidupcs-web/Makefile delete mode 100644 package/ctcgfw/luci-app-baidupcs-web/luasrc/controller/baidupcs-web.lua delete mode 100644 package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua delete mode 100644 package/ctcgfw/luci-app-baidupcs-web/luasrc/view/baidupcs-web/baidupcs-web_status.htm delete mode 100644 package/ctcgfw/luci-app-baidupcs-web/po/zh_Hans/web.po delete mode 100644 package/ctcgfw/luci-app-baidupcs-web/root/etc/config/baidupcs-web delete mode 100755 package/ctcgfw/luci-app-baidupcs-web/root/etc/init.d/baidupcs-web delete mode 100755 package/ctcgfw/luci-app-baidupcs-web/root/etc/uci-defaults/luci-baidupcs-web delete mode 100644 package/ctcgfw/luci-app-baidupcs-web/root/usr/share/rpcd/acl.d/luci-app-baidupcs-web.json delete mode 100644 package/ctcgfw/luci-app-beardropper/Makefile delete mode 100755 package/ctcgfw/luci-app-beardropper/luasrc/controller/beardropper.lua delete mode 100644 package/ctcgfw/luci-app-beardropper/luasrc/model/cbi/beardropper/log.lua delete mode 100755 package/ctcgfw/luci-app-beardropper/luasrc/model/cbi/beardropper/setting.lua delete mode 100755 package/ctcgfw/luci-app-beardropper/luasrc/view/beardropper/status.htm delete mode 100755 package/ctcgfw/luci-app-beardropper/po/zh_Hans/beardropper.po delete mode 100644 package/ctcgfw/luci-app-beardropper/po/zh_Hant/beardropper.po delete mode 100644 package/ctcgfw/luci-app-beardropper/root/etc/config/beardropper delete mode 100755 package/ctcgfw/luci-app-beardropper/root/etc/init.d/beardropper delete mode 100755 package/ctcgfw/luci-app-beardropper/root/etc/uci-defaults/luci-beardropper delete mode 100755 package/ctcgfw/luci-app-beardropper/root/usr/sbin/beardropper delete mode 100644 package/ctcgfw/luci-app-beardropper/root/usr/share/rpcd/acl.d/luci-app-beardropper.json delete mode 100644 package/ctcgfw/luci-app-chinadns/Makefile delete mode 100644 package/ctcgfw/luci-app-chinadns/luasrc/controller/chinadns.lua delete mode 100644 package/ctcgfw/luci-app-chinadns/luasrc/model/cbi/chinadns.lua delete mode 100644 package/ctcgfw/luci-app-chinadns/luasrc/view/chinadns/chinadns_status.htm delete mode 100644 package/ctcgfw/luci-app-chinadns/po/zh_Hans/chinadns.po delete mode 100644 package/ctcgfw/luci-app-chinadns/root/etc/config/chinadns delete mode 100755 package/ctcgfw/luci-app-chinadns/root/etc/init.d/chinadns delete mode 100755 package/ctcgfw/luci-app-chinadns/root/etc/uci-defaults/luci-chinadns delete mode 100644 package/ctcgfw/luci-app-chinadns/root/usr/share/rpcd/acl.d/luci-app-chinadns.json delete mode 100644 package/ctcgfw/luci-app-diskman/Makefile delete mode 100644 package/ctcgfw/luci-app-filebrowser/Makefile delete mode 100644 package/ctcgfw/luci-app-filebrowser/luasrc/controller/filebrowser.lua delete mode 100644 package/ctcgfw/luci-app-filebrowser/luasrc/model/cbi/filebrowser.lua delete mode 100644 package/ctcgfw/luci-app-filebrowser/luasrc/view/filebrowser/filebrowser_status.htm delete mode 100755 package/ctcgfw/luci-app-filebrowser/root/etc/uci-defaults/luci-filebrowser delete mode 100644 package/ctcgfw/luci-app-filebrowser/root/usr/share/rpcd/acl.d/luci-app-filebrowser.json delete mode 100644 package/ctcgfw/luci-app-gost/Makefile delete mode 100644 package/ctcgfw/luci-app-gost/luasrc/controller/gost.lua delete mode 100644 package/ctcgfw/luci-app-gost/luasrc/model/cbi/gost.lua delete mode 100644 package/ctcgfw/luci-app-gost/luasrc/view/gost/gost_status.htm delete mode 100644 package/ctcgfw/luci-app-gost/po/zh_Hans/gost.po delete mode 100755 package/ctcgfw/luci-app-gost/root/etc/uci-defaults/gost delete mode 100644 package/ctcgfw/luci-app-gost/root/usr/share/rpcd/acl.d/luci-app-gost.json delete mode 100644 package/ctcgfw/luci-app-gowebdav/Makefile delete mode 100644 package/ctcgfw/luci-app-gowebdav/luasrc/controller/gowebdav.lua delete mode 100644 package/ctcgfw/luci-app-gowebdav/luasrc/model/cbi/gowebdav.lua delete mode 100644 package/ctcgfw/luci-app-gowebdav/luasrc/view/gowebdav/gowebdav_status.htm delete mode 100644 package/ctcgfw/luci-app-gowebdav/po/zh_Hans/gowebdav.po delete mode 100755 package/ctcgfw/luci-app-gowebdav/root/etc/uci-defaults/gowebdav delete mode 100644 package/ctcgfw/luci-app-gowebdav/root/usr/share/rpcd/acl.d/luci-app-gowebdav.json delete mode 100644 package/ctcgfw/luci-app-iptvhelper/Makefile delete mode 100644 package/ctcgfw/luci-app-iptvhelper/luasrc/controller/iptvhelper.lua delete mode 100644 package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua delete mode 100644 package/ctcgfw/luci-app-iptvhelper/po/zh_Hans/iptvhelper.po delete mode 100755 package/ctcgfw/luci-app-iptvhelper/root/etc/uci-defaults/40_iptvhelper delete mode 100644 package/ctcgfw/luci-app-iptvhelper/root/usr/share/rpcd/acl.d/luci-app-iptvhelper.json delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/Makefile delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/luasrc/controller/jd-dailybonus.lua delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/client.lua delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/log.lua delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/script.lua delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/cookie_tools.htm delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/log.htm delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/update_service.htm delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/po/zh_Hans/jd-dailybonus.po delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/root/etc/config/jd-dailybonus delete mode 100755 package/ctcgfw/luci-app-jd-dailybonus/root/etc/init.d/jd-dailybonus delete mode 100755 package/ctcgfw/luci-app-jd-dailybonus/root/etc/uci-defaults/luci-jd-dailybonus delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/root/lib/upgrade/keep.d/jd-dailybonus delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/JD_DailyBonus.js delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/gen_cookieset.lua delete mode 100755 package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/newapp.sh delete mode 100644 package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/rpcd/acl.d/luci-app-jd-dailybonus.json delete mode 100644 package/ctcgfw/luci-app-k3screenctrl/Makefile delete mode 100644 package/ctcgfw/luci-app-k3screenctrl/luasrc/controller/k3screenctrl.lua delete mode 100644 package/ctcgfw/luci-app-k3screenctrl/luasrc/model/cbi/k3screenctrl.lua delete mode 100644 package/ctcgfw/luci-app-k3screenctrl/po/zh_Hans/k3screenctrl.po delete mode 100755 package/ctcgfw/luci-app-k3screenctrl/root/etc/uci-defaults/k3screenctrl delete mode 100644 package/ctcgfw/luci-app-k3screenctrl/root/usr/share/rpcd/acl.d/luci-app-k3screenctrl.json delete mode 100644 package/ctcgfw/luci-app-k3usb/Makefile delete mode 100644 package/ctcgfw/luci-app-k3usb/luasrc/controller/k3usb.lua delete mode 100644 package/ctcgfw/luci-app-k3usb/luasrc/model/cbi/k3usb.lua delete mode 100644 package/ctcgfw/luci-app-k3usb/po/zh_Hans/k3usb.po delete mode 100644 package/ctcgfw/luci-app-k3usb/root/etc/config/k3usb delete mode 100755 package/ctcgfw/luci-app-k3usb/root/etc/init.d/k3usb delete mode 100755 package/ctcgfw/luci-app-k3usb/root/etc/uci-defaults/k3usb delete mode 100644 package/ctcgfw/luci-app-k3usb/root/usr/k3usb/35-usb-ehci delete mode 100644 package/ctcgfw/luci-app-k3usb/root/usr/k3usb/40-usb2 delete mode 100644 package/ctcgfw/luci-app-k3usb/root/usr/k3usb/45-phy-bcm-ns-usb2 delete mode 100644 package/ctcgfw/luci-app-k3usb/root/usr/k3usb/45-phy-bcm-ns-usb3 delete mode 100644 package/ctcgfw/luci-app-k3usb/root/usr/k3usb/50-usb-ohci delete mode 100644 package/ctcgfw/luci-app-k3usb/root/usr/k3usb/54-usb3 delete mode 100644 package/ctcgfw/luci-app-k3usb/root/usr/k3usb/test delete mode 100644 package/ctcgfw/luci-app-k3usb/root/usr/k3usb/usb-storage delete mode 100644 package/ctcgfw/luci-app-k3usb/root/usr/k3usb/usb-storage-extras delete mode 100644 package/ctcgfw/luci-app-k3usb/root/usr/share/rpcd/acl.d/luci-app-k3usb.json delete mode 100644 package/ctcgfw/luci-app-mentohust/Makefile delete mode 100644 package/ctcgfw/luci-app-mentohust/luasrc/controller/mentohust.lua delete mode 100644 package/ctcgfw/luci-app-mentohust/luasrc/model/cbi/mentohust/general.lua delete mode 100644 package/ctcgfw/luci-app-mentohust/luasrc/model/cbi/mentohust/log.lua delete mode 100644 package/ctcgfw/luci-app-mentohust/po/zh_Hans/mentohust.po delete mode 100644 package/ctcgfw/luci-app-mentohust/root/etc/config/mentohust delete mode 100755 package/ctcgfw/luci-app-mentohust/root/etc/init.d/mentohust delete mode 100644 package/ctcgfw/luci-app-mentohust/root/usr/share/rpcd/acl.d/luci-app-mentohust.json delete mode 100644 package/ctcgfw/luci-app-minieap/Makefile delete mode 100644 package/ctcgfw/luci-app-minieap/luasrc/controller/minieap.lua delete mode 100644 package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/customfile.lua delete mode 100644 package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/general.lua delete mode 100644 package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/log.lua delete mode 100644 package/ctcgfw/luci-app-minieap/po/zh_Hans/minieap.po delete mode 100644 package/ctcgfw/luci-app-minieap/root/etc/config/minieap delete mode 100755 package/ctcgfw/luci-app-minieap/root/etc/init.d/minieap delete mode 100755 package/ctcgfw/luci-app-minieap/root/usr/sbin/minieap-conver delete mode 100755 package/ctcgfw/luci-app-minieap/root/usr/sbin/minieap-ping delete mode 100644 package/ctcgfw/luci-app-minieap/root/usr/share/rpcd/acl.d/luci-app-minieap.json delete mode 100644 package/ctcgfw/luci-app-mwol/Makefile delete mode 100644 package/ctcgfw/luci-app-mwol/luasrc/controller/mwol.lua delete mode 100644 package/ctcgfw/luci-app-mwol/luasrc/model/cbi/mwol.lua delete mode 100644 package/ctcgfw/luci-app-mwol/po/zh_Hans/mwol.po delete mode 100755 package/ctcgfw/luci-app-mwol/root/etc/uci-defaults/40_luci-mwol delete mode 100644 package/ctcgfw/luci-app-mwol/root/usr/share/rpcd/acl.d/luci-app-mwol.json delete mode 100644 package/ctcgfw/luci-app-naiveproxy/Makefile delete mode 100644 package/ctcgfw/luci-app-naiveproxy/luasrc/controller/naiveproxy.lua delete mode 100644 package/ctcgfw/luci-app-naiveproxy/luasrc/model/cbi/naiveproxy.lua delete mode 100644 package/ctcgfw/luci-app-naiveproxy/luasrc/view/naiveproxy/naiveproxy_status.htm delete mode 100644 package/ctcgfw/luci-app-naiveproxy/po/en/naiveproxy.po delete mode 100644 package/ctcgfw/luci-app-naiveproxy/po/zh_Hans/naiveproxy.po delete mode 100644 package/ctcgfw/luci-app-naiveproxy/root/etc/uci-defaults/naiveproxy delete mode 100644 package/ctcgfw/luci-app-naiveproxy/root/usr/share/rpcd/acl.d/luci-app-naiveproxy.json delete mode 100644 package/ctcgfw/luci-app-oled/Makefile delete mode 100644 package/ctcgfw/luci-app-oled/luasrc/controller/oled.lua delete mode 100644 package/ctcgfw/luci-app-oled/luasrc/model/cbi/oled/setting.lua delete mode 100644 package/ctcgfw/luci-app-oled/luasrc/view/oled/status.htm delete mode 100644 package/ctcgfw/luci-app-oled/po/zh_Hans/oled.po delete mode 100644 package/ctcgfw/luci-app-oled/po/zh_Hant/oled.po delete mode 100644 package/ctcgfw/luci-app-oled/root/etc/config/oled delete mode 100755 package/ctcgfw/luci-app-oled/root/etc/init.d/oled delete mode 100644 package/ctcgfw/luci-app-oled/root/etc/uci-defaults/oled delete mode 100755 package/ctcgfw/luci-app-oled/root/usr/sbin/netspeed delete mode 100644 package/ctcgfw/luci-app-oled/root/usr/share/rpcd/acl.d/luci-app-oled.json delete mode 100644 package/ctcgfw/luci-app-oled/src/Example_Code/Main.c delete mode 100644 package/ctcgfw/luci-app-oled/src/Example_Code/example_app.c delete mode 100644 package/ctcgfw/luci-app-oled/src/Example_Code/example_app.h delete mode 100644 package/ctcgfw/luci-app-oled/src/I2C_Library/I2C.c delete mode 100644 package/ctcgfw/luci-app-oled/src/I2C_Library/I2C.h delete mode 100644 package/ctcgfw/luci-app-oled/src/LICENSE delete mode 100644 package/ctcgfw/luci-app-oled/src/Makefile delete mode 100644 package/ctcgfw/luci-app-oled/src/README.md delete mode 100644 package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/SSD1306_OLED.c delete mode 100644 package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/SSD1306_OLED.h delete mode 100644 package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/gfxfont.h delete mode 100644 package/ctcgfw/luci-app-onliner/Makefile delete mode 100644 package/ctcgfw/luci-app-onliner/luasrc/controller/onliner.lua delete mode 100644 package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm delete mode 100644 package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm delete mode 100644 package/ctcgfw/luci-app-onliner/po/zh_Hans/onliner.po delete mode 100755 package/ctcgfw/luci-app-onliner/root/usr/share/onliner/setnlbw.sh delete mode 100644 package/ctcgfw/luci-app-openclash/Makefile delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/controller/openclash.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/client.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config-subscribe-edit.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config-subscribe.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/game-rules-manage.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/groups-config.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/log.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/other-rules-edit.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-config.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-file-manage.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-config.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-file-manage.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-manage.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-settings.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/servers-config.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/servers.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/settings.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/openclash.lua delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/cfg_check.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/config_editor.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/developer.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/download_rule.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/dvalue.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/log.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/myip.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/other_button.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/ping.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/server_list.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/status.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/switch_mode.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/update.htm delete mode 100644 package/ctcgfw/luci-app-openclash/luasrc/view/openclash/upload.htm delete mode 100644 package/ctcgfw/luci-app-openclash/po/zh-cn/openclash.zh-cn.po delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/config/openclash delete mode 100755 package/ctcgfw/luci-app-openclash/root/etc/init.d/openclash delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/Country.mmdb delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/china_ip_route.ipset delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_domain_dns.list delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_fake_filter.list delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_hosts.list delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules.list delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules_2.list delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/CS-GO.rules delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/Monster-Hunter-World.rules delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/PUBG-Asia%26-Southeast-Asia.rules delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/Steam.rules delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/China.yaml delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/ChinaIP.yaml delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Global.yaml delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Streaming.yaml delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/StreamingSE.yaml delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Unbreak.yaml delete mode 100644 package/ctcgfw/luci-app-openclash/root/etc/uci-defaults/luci-openclash delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/cfg_servers_address_fake_filter.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/cfg_unused_servers_del.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/clash_version.sh delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/CNAME delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0bf7b2ad.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0e294c2a.css delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/logo.b453e72f.png delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/vendor.b176d855.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/index.html delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_chnroute.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_core.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_custom_domain_dns.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_debug.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_download_rule_list.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_fake_filter.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_get.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_set.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_ipdb.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_ps.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_rule.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_update.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_version.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_watchdog.sh delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/ConnersHua.yaml delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/ConnersHua_return.yaml delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/default.yaml delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/game_rules.list delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/lhie1.yaml delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/openclash_version delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/rule_providers.list delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/sub_ini.list delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/ruby.sh delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/14.2b1ab3375a2b9a48edab.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/CNAME delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/_headers delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/app.5f32612351603f3dc36a.css delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/app.9446db28fec78551ca86.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/app.9446db28fec78551ca86.js.LICENSE.txt delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/config.185469682369eea7ed5e.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/config.683c5e4f78100df80abd.css delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/conns.a55d943aa09565fccb1a.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/conns.a8987b95653cf010754d.css delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/core-js~app.d6acbd497dd781bcb87a.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/index.html delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/logs.367e6b30d27de1213a87.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/logs.bf8d3190ebe74f5f5c12.css delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/open-sans-latin-400.woff2 delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/open-sans-latin-700.woff2 delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/proxies.2054c162aeb581d56063.css delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/proxies.fe3172e32076eb8749e4.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/react~app.85a6af7ab221658559e3.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/react~app.85a6af7ab221658559e3.js.LICENSE.txt delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/report.html delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/roboto-mono-latin-400.woff2 delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/rules.ebacd344d22f80adb7f8.css delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/rules.fe5dbfb2f26ad4211d1e.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/runtime.184b22669d1e3f4e39e2.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~chartjs.c749992ca47ba67623b4.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~chartjs.c749992ca47ba67623b4.js.LICENSE.txt delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~conns.2d8ba1925a9d128867eb.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~conns~proxies~rules.99b1a71b3d76d3035e41.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~logs~rules.1b69c8ae2dc5929cac38.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~proxies.8fcc0e726f340a602edf.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/yacd-128.png delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/yacd-64.png delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/yacd.ico delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_change.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_get.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_name_ch.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_name_get.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_set.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_get.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_set.sh delete mode 100755 package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_rules_change.sh delete mode 100644 package/ctcgfw/luci-app-openclash/root/usr/share/rpcd/acl.d/luci-app-openclash.json delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/display/fullscreen.css delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/display/fullscreen.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/edit/matchbrackets.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldcode.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldgutter.css delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldgutter.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/indent-fold.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/lint/js-yaml.min.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/lint/lint.css delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/lint/lint.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/lint/yaml-lint.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/selection/active-line.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/lib/codemirror.css delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/lib/codemirror.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/mode/yaml/yaml.js delete mode 100644 package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/theme/material.css delete mode 100644 package/ctcgfw/luci-app-openclash/tools/po2lmo/Makefile delete mode 100755 package/ctcgfw/luci-app-openclash/tools/po2lmo/src/po2lmo delete mode 100644 package/ctcgfw/luci-app-openclash/tools/po2lmo/src/po2lmo.c delete mode 100644 package/ctcgfw/luci-app-openclash/tools/po2lmo/src/template_lmo.c delete mode 100644 package/ctcgfw/luci-app-openclash/tools/po2lmo/src/template_lmo.h delete mode 100644 package/ctcgfw/luci-app-rclone/Makefile delete mode 100644 package/ctcgfw/luci-app-rclone/luasrc/controller/rclone.lua delete mode 100644 package/ctcgfw/luci-app-rclone/luasrc/model/cbi/rclone.lua delete mode 100644 package/ctcgfw/luci-app-rclone/po/en/rclone.po delete mode 100644 package/ctcgfw/luci-app-rclone/po/zh_Hans/luci-app-rclone.po delete mode 100644 package/ctcgfw/luci-app-rclone/root/etc/config/rclone delete mode 100755 package/ctcgfw/luci-app-rclone/root/etc/init.d/rclone delete mode 100755 package/ctcgfw/luci-app-rclone/root/etc/uci-defaults/100_luci-rclone delete mode 100644 package/ctcgfw/luci-app-rclone/root/usr/share/rpcd/acl.d/luci-app-rclone.json delete mode 100644 package/ctcgfw/luci-app-serverchan/Makefile delete mode 100644 package/ctcgfw/luci-app-serverchan/luasrc/controller/serverchan.lua delete mode 100644 package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/advanced.lua delete mode 100644 package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/client.lua delete mode 100644 package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/log.lua delete mode 100644 package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/setting.lua delete mode 100644 package/ctcgfw/luci-app-serverchan/luasrc/view/serverchan/log.htm delete mode 100644 package/ctcgfw/luci-app-serverchan/luasrc/view/serverchan/status.htm delete mode 100644 package/ctcgfw/luci-app-serverchan/root/etc/config/serverchan delete mode 100755 package/ctcgfw/luci-app-serverchan/root/etc/init.d/serverchan delete mode 100644 package/ctcgfw/luci-app-serverchan/root/etc/uci-defaults/luci-serverchan delete mode 100755 package/ctcgfw/luci-app-serverchan/root/usr/bin/serverchan/serverchan delete mode 100644 package/ctcgfw/luci-app-serverchan/root/usr/share/rpcd/acl.d/luci-app-serverchan.json delete mode 100644 package/ctcgfw/luci-app-smstool/Makefile delete mode 100644 package/ctcgfw/luci-app-smstool/luasrc/controller/sms.lua delete mode 100644 package/ctcgfw/luci-app-smstool/luasrc/view/sms.htm delete mode 100644 package/ctcgfw/luci-app-ssocks/Makefile delete mode 100644 package/ctcgfw/luci-app-ssocks/luasrc/controller/ssocks.lua delete mode 100644 package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua delete mode 100644 package/ctcgfw/luci-app-ssocks/luasrc/view/ssocks/ssocks_status.htm delete mode 100644 package/ctcgfw/luci-app-ssocks/po/zh_Hans/ssocks.po delete mode 100644 package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks delete mode 100644 package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks-authorization delete mode 100755 package/ctcgfw/luci-app-ssocks/root/etc/init.d/ssocks delete mode 100755 package/ctcgfw/luci-app-ssocks/root/etc/uci-defaults/ssocks delete mode 100644 package/ctcgfw/luci-app-ssocks/root/usr/share/rpcd/acl.d/luci-app-ssocks.json delete mode 100644 package/ctcgfw/luci-app-syncthing/Makefile delete mode 100644 package/ctcgfw/luci-app-syncthing/luasrc/controller/syncthing.lua delete mode 100644 package/ctcgfw/luci-app-syncthing/luasrc/model/cbi/syncthing.lua delete mode 100644 package/ctcgfw/luci-app-syncthing/luasrc/view/syncthing/syncthing_status.htm delete mode 100644 package/ctcgfw/luci-app-syncthing/po/zh_Hans/syncthing.po delete mode 100644 package/ctcgfw/luci-app-syncthing/root/etc/config/syncthing delete mode 100755 package/ctcgfw/luci-app-syncthing/root/etc/init.d/syncthing delete mode 100755 package/ctcgfw/luci-app-syncthing/root/etc/uci-defaults/luci-syncthing delete mode 100644 package/ctcgfw/luci-app-syncthing/root/usr/share/rpcd/acl.d/luci-app-syncthing.json delete mode 100644 package/ctcgfw/luci-app-turboacc/Makefile delete mode 100644 package/ctcgfw/luci-app-turboacc/luasrc/controller/turboacc.lua delete mode 100644 package/ctcgfw/luci-app-turboacc/luasrc/model/cbi/turboacc.lua delete mode 100644 package/ctcgfw/luci-app-turboacc/luasrc/view/turboacc/status.htm delete mode 100644 package/ctcgfw/luci-app-turboacc/po/zh_Hans/turboacc.po delete mode 100644 package/ctcgfw/luci-app-turboacc/root/etc/config/turboacc delete mode 100755 package/ctcgfw/luci-app-turboacc/root/etc/init.d/turboacc delete mode 100755 package/ctcgfw/luci-app-turboacc/root/etc/uci-defaults/turboacc delete mode 100755 package/ctcgfw/luci-app-turboacc/root/usr/share/dnscache/dnscache-while.sh delete mode 100644 package/ctcgfw/luci-app-turboacc/root/usr/share/rpcd/acl.d/luci-app-turboacc.json delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/controller/unblockneteasemusic-mini.lua delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/view/unblockneteasemusic-mini/unblockneteasemusic_mini_status.htm delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini delete mode 100755 package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini delete mode 100755 package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/uci-defaults/unblockneteasemusic-mini delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic-mini/root/usr/share/rpcd/acl.d/luci-app-unblockneteasemusic-mini.json delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic/Makefile delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic/luasrc/controller/unblockneteasemusic.lua delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusic.lua delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusic_upgrade.lua delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusiclog.lua delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/unblockneteasemusic_status.htm delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/update_core.htm delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/update_luci.htm delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic/root/etc/config/unblockneteasemusic delete mode 100755 package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic delete mode 100755 package/ctcgfw/luci-app-unblockneteasemusic/root/etc/uci-defaults/unblockneteasemusic delete mode 100644 package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/rpcd/acl.d/luci-app-unblockneteasemusic.json delete mode 100755 package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/log_check.sh delete mode 100755 package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh delete mode 100644 package/ctcgfw/luci-app-usb3disable/Makefile delete mode 100644 package/ctcgfw/luci-app-usb3disable/luasrc/controller/usb3disable.lua delete mode 100644 package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua delete mode 100644 package/ctcgfw/luci-app-usb3disable/po/zh_Hans/usb3disable.po delete mode 100644 package/ctcgfw/luci-app-usb3disable/root/etc/config/usb3disable delete mode 100644 package/ctcgfw/luci-app-usb3disable/root/usr/share/rpcd/acl.d/luci-app-usb3disable.json delete mode 100644 package/ctcgfw/luci-app-verysync/Makefile delete mode 100644 package/ctcgfw/luci-app-verysync/luasrc/controller/verysync.lua delete mode 100644 package/ctcgfw/luci-app-verysync/luasrc/model/cbi/verysync.lua delete mode 100644 package/ctcgfw/luci-app-verysync/luasrc/view/verysync/verysync_status.htm delete mode 100644 package/ctcgfw/luci-app-verysync/po/zh_Hans/verysync.po delete mode 100644 package/ctcgfw/luci-app-verysync/root/etc/config/verysync delete mode 100755 package/ctcgfw/luci-app-verysync/root/etc/init.d/verysync delete mode 100755 package/ctcgfw/luci-app-verysync/root/etc/uci-defaults/luci-verysync delete mode 100644 package/ctcgfw/luci-app-verysync/root/usr/share/rpcd/acl.d/luci-app-verysync.json delete mode 100644 package/ctcgfw/luci-app-vssr/Makefile delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/controller/vssr.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/advanced.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/client-config.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/client.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/control.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/log.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/router.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/server-config.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/server.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/servers.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/socks5.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/subscribe-config.lua delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/view/vssr/cell_valuefooter.htm delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/view/vssr/cell_valueheader.htm delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/view/vssr/licence.htm delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/view/vssr/refresh.htm delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/view/vssr/ssrurl.htm delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/view/vssr/status_bottom.htm delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/view/vssr/status_top.htm delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/view/vssr/tblsection.htm delete mode 100644 package/ctcgfw/luci-app-vssr/luasrc/view/vssr/update_subscribe.htm delete mode 100644 package/ctcgfw/luci-app-vssr/po/zh_Hans/vssr.po delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/config/vssr delete mode 100755 package/ctcgfw/luci-app-vssr/root/etc/init.d/vssr delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/uci-defaults/luci-vssr delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/ad.conf delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/black.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/china_ssr.txt delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/custom_domain.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/custom_ip.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/disney_domain.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/disney_ip.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw_base.conf delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw_list.conf delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/netflix_domain.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/netflix_ip.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/oversea_list.conf delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/prime_domain.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/prime_ip.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/tvb_domain.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/tvb_ip.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/tw_video_domain.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/tw_video_ip.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/white.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/youtube_domain.list delete mode 100644 package/ctcgfw/luci-app-vssr/root/etc/vssr/youtube_ip.list delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-ad delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-gfw delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-monitor delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-qucikswitch delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-rules delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-switch delete mode 100644 package/ctcgfw/luci-app-vssr/root/usr/share/lua/vssrutil.lua delete mode 100644 package/ctcgfw/luci-app-vssr/root/usr/share/rpcd/acl.d/luci-app-vssr.json delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/share/vssr/GeoLite2-Country.mmdb delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/share/vssr/chinaipset.sh delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/share/vssr/genconfig_ss.lua delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/share/vssr/genconfig_ssr.lua delete mode 100644 package/ctcgfw/luci-app-vssr/root/usr/share/vssr/genconfig_trojan.lua delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/share/vssr/genconfig_v2ray.lua delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/share/vssr/genconfig_v2ray_s.lua delete mode 100755 package/ctcgfw/luci-app-vssr/root/usr/share/vssr/gfw2ipset.sh delete mode 100644 package/ctcgfw/luci-app-vssr/root/usr/share/vssr/subscribe.lua delete mode 100644 package/ctcgfw/luci-app-vssr/root/usr/share/vssr/update.lua delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/css/flag-icon.min.css delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/css/pure.css delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/css/sweetalert2.css delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/css/vssr.css delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji.js delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1f6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1fd.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e6-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1e7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1ef.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1f6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e7-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1fd.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e8-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e9-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e9-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e9-1f1ef.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e9-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e9-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e9-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1e9-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ea-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ea-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ea-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ea-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ea-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ea-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ea-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ea-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ea-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1eb-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1eb-1f1ef.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1eb-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1eb-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1eb-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1eb-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1e7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1f6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ec-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ed-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ed-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ed-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ed-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ed-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ed-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ee-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ee-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ee-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ee-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ee-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ee-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ee-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ee-1f1f6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ee-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ee-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ee-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ef-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ef-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ef-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ef-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f0-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f0-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f0-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f0-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f0-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f0-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f0-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f0-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f0-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f0-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f0-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f1-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f1-1f1e7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f1-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f1-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f1-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f1-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f1-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f1-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f1-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f1-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f1-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1f6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1fd.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f2-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f3-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f4-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f5-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f6-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f7-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f7-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f7-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f7-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f7-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1e7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1ef.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1fd.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f8-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1ef.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1f9-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fa-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fa-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fa-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fa-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fa-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fa-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fa-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fb-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fb-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fb-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fb-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fb-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fb-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fb-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fc-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fc-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fd-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fe-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1fe-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ff-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ff-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/1f1ff-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1f6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1fd.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e6-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1e7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1ef.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1f6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e7-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1fd.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e8-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e9-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e9-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e9-1f1ef.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e9-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e9-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e9-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1e9-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ea-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ea-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ea-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ea-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ea-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ea-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ea-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ea-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ea-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1eb-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1eb-1f1ef.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1eb-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1eb-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1eb-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1eb-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1e7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1f6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ec-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ed-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ed-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ed-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ed-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ed-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ed-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ee-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ee-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ee-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ee-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ee-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ee-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ee-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ee-1f1f6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ee-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ee-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ee-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ef-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ef-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ef-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ef-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f0-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f0-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f0-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f0-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f0-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f0-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f0-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f0-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f0-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f0-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f0-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f1-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f1-1f1e7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f1-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f1-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f1-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f1-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f1-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f1-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f1-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f1-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f1-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1f6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1fd.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f2-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1f5.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f3-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f4-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f5-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f6-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f7-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f7-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f7-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f7-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f7-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1e7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1ef.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1fd.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f8-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1e9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1ed.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1ef.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1f1.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1f4.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1f7.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1fb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1f9-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fa-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fa-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fa-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fa-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fa-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fa-1f1fe.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fa-1f1ff.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fb-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fb-1f1e8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fb-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fb-1f1ec.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fb-1f1ee.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fb-1f1f3.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fb-1f1fa.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fc-1f1eb.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fc-1f1f8.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fd-1f1f0.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fe-1f1ea.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1fe-1f1f9.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ff-1f1e6.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ff-1f1f2.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/emoji/2x/1f1ff-1f1fc.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ad.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ae.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/af.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ag.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ai.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/al.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/am.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ao.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/aq.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ar.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/as.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/at.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/au.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/aw.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ax.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/az.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ba.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bb.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bd.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/be.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bf.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bg.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bh.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bi.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bj.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bl.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bn.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bo.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bq.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/br.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bs.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bt.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bv.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bw.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/by.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/bz.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ca.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cc.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cd.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cf.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cg.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ch.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ci.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ck.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cl.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cn.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/co.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cr.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cu.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cv.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cw.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cx.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cy.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/cz.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/de.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/dj.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/dk.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/dm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/do.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/dz.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ec.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ee.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/eg.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/eh.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/er.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/es-ca.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/es.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/et.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/eu.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/fi.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/fj.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/fk.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/fm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/fo.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/fr.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ga.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gb-eng.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gb-nir.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gb-sct.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gb-wls.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gb.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gd.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ge.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gf.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gg.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gh.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gi.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gl.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gn.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gp.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gq.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gr.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gs.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gt.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gu.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gw.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/gy.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/hk.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/hm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/hn.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/hr.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ht.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/hu.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/id.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ie.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/il.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/im.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/in.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/io.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/iq.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ir.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/is.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/it.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/je.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/jm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/jo.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/jp.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ke.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/kg.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/kh.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ki.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/km.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/kn.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/kp.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/kr.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/kw.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ky.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/kz.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/la.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/lb.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/lc.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/li.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/lk.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/lr.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ls.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/lt.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/lu.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/lv.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ly.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ma.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mc.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/md.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/me.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mf.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mg.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mh.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mk.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ml.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mn.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mo.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mp.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mq.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mr.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ms.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mt.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mu.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mv.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mw.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mx.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/my.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/mz.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/na.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/nc.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ne.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/nf.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ng.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ni.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/nl.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/no.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/np.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/nr.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/nu.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/nz.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/om.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/pa.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/pe.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/pf.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/pg.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ph.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/pk.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/pl.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/pm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/pn.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/pr.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ps.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/pt.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/pw.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/py.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/qa.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/re.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ro.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/rs.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ru.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/rw.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sa.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sb.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sc.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sd.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/se.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sg.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sh.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/si.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sj.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sk.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sl.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sn.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/so.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sr.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ss.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/st.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sv.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sx.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sy.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/sz.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tc.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/td.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tf.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tg.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/th.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tj.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tk.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tl.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tn.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/to.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tr.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tt.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tv.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tw.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/tz.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ua.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ug.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/um.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/un.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/us.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/uy.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/uz.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/va.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/vc.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ve.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/vg.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/vi.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/vn.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/vu.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/wf.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ws.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/xk.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/ye.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/yt.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/za.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/zm.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/flags/4x3/zw.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/client.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/pdnsd.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/site_icon1_01.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/site_icon1_02.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/site_icon1_03.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/site_icon1_04.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/site_icon_01.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/site_icon_02.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/site_icon_03.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/site_icon_04.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/socks5.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/switch.png delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/img/udp.svg delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/polyfill.js delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/sweetalert.js delete mode 100644 package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/vssr.js delete mode 100644 package/ctcgfw/luci-app-xunlei/Makefile delete mode 100644 package/ctcgfw/luci-app-xunlei/luasrc/controller/xunlei.lua delete mode 100644 package/ctcgfw/luci-app-xunlei/luasrc/model/cbi/xunlei.lua delete mode 100755 package/ctcgfw/luci-app-xunlei/root/app/xunlei/ETMDaemon delete mode 100755 package/ctcgfw/luci-app-xunlei/root/app/xunlei/EmbedThunderManager delete mode 100755 package/ctcgfw/luci-app-xunlei/root/app/xunlei/portal delete mode 100755 package/ctcgfw/luci-app-xunlei/root/app/xunlei/vod_httpserver delete mode 100644 package/ctcgfw/luci-app-xunlei/root/etc/config/xunlei delete mode 100755 package/ctcgfw/luci-app-xunlei/root/etc/init.d/xunlei delete mode 100755 package/ctcgfw/luci-app-xunlei/root/etc/uci-defaults/luci-xunlei delete mode 100755 package/ctcgfw/luci-app-xunlei/root/etc/xware/cfg delete mode 100755 package/ctcgfw/luci-app-xunlei/root/etc/xware/xlatest delete mode 100755 package/ctcgfw/luci-app-xunlei/root/etc/xware/xlup delete mode 100644 package/ctcgfw/luci-app-xunlei/root/usr/share/rpcd/acl.d/luci-app-xunlei.json delete mode 100644 package/ctcgfw/luci-proto-minieap/Makefile delete mode 100644 package/ctcgfw/luci-proto-minieap/htdocs/luci-static/resources/protocol/minieap.js delete mode 100644 package/ctcgfw/luci-proto-minieap/po/templates/minieap.pot delete mode 100644 package/ctcgfw/luci-proto-minieap/po/zh_Hans/minieap.po delete mode 100755 package/ctcgfw/luci-proto-minieap/root/lib/netifd/minieap.script delete mode 100755 package/ctcgfw/luci-proto-minieap/root/lib/netifd/proto/minieap.sh delete mode 100644 package/ctcgfw/luci-theme-argon/Makefile delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/background/README.md delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/cascade.css delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/dark.css delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/fonts.css delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/pure-min.css delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/favicon.ico delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.eot delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.svg delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.ttf delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.woff delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.eot delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.svg delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.ttf delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.woff delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/android-icon-192x192.png delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-144x144.png delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-60x60.png delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-72x72.png delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/arrow.svg delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/browserconfig.xml delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-16x16.png delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-32x32.png delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-96x96.png delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/manifest.json delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/ms-icon-144x144.png delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/spinner.svg delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/argon.svg delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/bg1.jpg delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/blank.png delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/volume_high.svg delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/volume_off.svg delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/js/jquery.min.js delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/js/polyfill.min.js delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/js/script.js delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/less/cascade.less delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/less/dark.less delete mode 100644 package/ctcgfw/luci-theme-argon/htdocs/luci-static/resources/menu.js delete mode 100644 package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/footer.htm delete mode 100644 package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/footer_login.htm delete mode 100644 package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/header.htm delete mode 100644 package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/header_login.htm delete mode 100644 package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/out_footer_login.htm delete mode 100644 package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/out_header_login.htm delete mode 100644 package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/sysauth.htm delete mode 100644 package/ctcgfw/luci-theme-argon/root/etc/uci-defaults/30_luci-theme-argon delete mode 100644 package/ctcgfw/luci-theme-edge/Makefile delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/background/1.jpg delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/background/2.jpg delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/background/3.jpg delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/cascade.css delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/custom.css delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/favicon.ico delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/fonts/argon.woff delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/glare.svg delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/icons/arrow.svg delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/icons/spinner.svg delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/js/jquery.min.js delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/js/script.js delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/js/waves.js delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/landscape.css delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/logo.png delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/sun.svg delete mode 100644 package/ctcgfw/luci-theme-edge/htdocs/luci-static/edge/waves.css delete mode 100644 package/ctcgfw/luci-theme-edge/luasrc/view/header_login.htm delete mode 100644 package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/footer.htm delete mode 100644 package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/header.htm delete mode 100644 package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/header_login.htm delete mode 100644 package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/sysauth.htm delete mode 100644 package/ctcgfw/luci-theme-edge/root/etc/uci-defaults/30_luci-theme-edge diff --git a/package/ctcgfw/luci-app-adguardhome/Makefile b/package/ctcgfw/luci-app-adguardhome/Makefile deleted file mode 100644 index 7420fe8759..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/Makefile +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright (C) 2018-2019 Lienol -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-adguardhome -PKG_VERSION:=1.8 -PKG_RELEASE:=12 -PKG_MAINTAINER:= - -LUCI_TITLE:=LuCI app for AdGuardHome -LUCI_PKGARCH:=all -LUCI_DEPENDS:=+ca-certs +curl +wget-ssl +PACKAGE_$(PKG_NAME)_INCLUDE_binary:adguardhome -LUCI_DESCRIPTION:=LuCI support for AdGuardHome - -define Package/$(PKG_NAME)/config -config PACKAGE_$(PKG_NAME)_INCLUDE_binary - bool "Include Binary File" - default y -endef - -PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_binary - -define Package/luci-app-adguardhome/conffiles -/usr/share/AdGuardHome/links.txt -/etc/config/AdGuardHome -endef - -define Package/luci-app-adguardhome/postinst -#!/bin/sh - /etc/init.d/AdGuardHome enable >/dev/null 2>&1 - enable=$(uci get AdGuardHome.AdGuardHome.enabled 2>/dev/null) - if [ "$enable" == "1" ]; then - /etc/init.d/AdGuardHome reload - fi - rm -f /tmp/luci-indexcache - rm -f /tmp/luci-modulecache/* -exit 0 -endef - -define Package/luci-app-adguardhome/prerm -#!/bin/sh -if [ -z "$${IPKG_INSTROOT}" ]; then - /etc/init.d/AdGuardHome disable - /etc/init.d/AdGuardHome stop -uci -q batch <<-EOF >/dev/null 2>&1 - delete ucitrack.@AdGuardHome[-1] - commit ucitrack -EOF -fi -exit 0 -endef - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-adguardhome/luasrc/controller/AdGuardHome.lua b/package/ctcgfw/luci-app-adguardhome/luasrc/controller/AdGuardHome.lua deleted file mode 100644 index 31cf0d0f06..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/luasrc/controller/AdGuardHome.lua +++ /dev/null @@ -1,127 +0,0 @@ -module("luci.controller.AdGuardHome",package.seeall) -local fs=require"nixio.fs" -local http=require"luci.http" -local uci=require"luci.model.uci".cursor() -function index() -entry({"admin", "services", "AdGuardHome"},alias("admin", "services", "AdGuardHome", "base"),_("AdGuard Home"), 10).dependent = true -entry({"admin","services","AdGuardHome","base"},cbi("AdGuardHome/base"),_("Base Setting"),1).leaf = true -entry({"admin","services","AdGuardHome","log"},form("AdGuardHome/log"),_("Log"),2).leaf = true -entry({"admin","services","AdGuardHome","manual"},cbi("AdGuardHome/manual"),_("Manual Config"),3).leaf = true -entry({"admin","services","AdGuardHome","status"},call("act_status")).leaf=true -entry({"admin", "services", "AdGuardHome", "check"}, call("check_update")) -entry({"admin", "services", "AdGuardHome", "doupdate"}, call("do_update")) -entry({"admin", "services", "AdGuardHome", "getlog"}, call("get_log")) -entry({"admin", "services", "AdGuardHome", "dodellog"}, call("do_dellog")) -entry({"admin", "services", "AdGuardHome", "reloadconfig"}, call("reload_config")) -entry({"admin", "services", "AdGuardHome", "gettemplateconfig"}, call("get_template_config")) -end -function get_template_config() - local b - local d="" - for cnt in io.lines("/tmp/resolv.conf.d/resolv.conf.auto") do - b=string.match (cnt,"^[^#]*nameserver%s+([^%s]+)$") - if (b~=nil) then - d=d.." - "..b.."\n" - end - end - local f=io.open("/usr/share/AdGuardHome/AdGuardHome_template.yaml", "r+") - local tbl = {} - local a="" - while (1) do - a=f:read("*l") - if (a=="#bootstrap_dns") then - a=d - elseif (a=="#upstream_dns") then - a=d - elseif (a==nil) then - break - end - table.insert(tbl, a) - end - f:close() - http.prepare_content("text/plain; charset=utf-8") - http.write(table.concat(tbl, "\n")) -end -function reload_config() - fs.remove("/tmp/AdGuardHometmpconfig.yaml") - http.prepare_content("application/json") - http.write('') -end -function act_status() - local e={} - local binpath=uci:get("AdGuardHome","AdGuardHome","binpath") - e.running=luci.sys.call("pgrep "..binpath.." >/dev/null")==0 - e.redirect=(fs.readfile("/var/run/AdGredir")=="1") - http.prepare_content("application/json") - http.write_json(e) -end -function do_update() - fs.writefile("/var/run/lucilogpos","0") - http.prepare_content("application/json") - http.write('') - local arg - if luci.http.formvalue("force") == "1" then - arg="force" - else - arg="" - end - if fs.access("/var/run/update_core") then - if arg=="force" then - luci.sys.exec("kill $(pgrep /usr/share/AdGuardHome/update_core.sh) ; sh /usr/share/AdGuardHome/update_core.sh "..arg.." >/tmp/AdGuardHome_update.log 2>&1 &") - end - else - luci.sys.exec("sh /usr/share/AdGuardHome/update_core.sh "..arg.." >/tmp/AdGuardHome_update.log 2>&1 &") - end -end -function get_log() - local logfile=uci:get("AdGuardHome","AdGuardHome","logfile") - if (logfile==nil) then - http.write("no log available\n") - return - elseif (logfile=="syslog") then - if not fs.access("/var/run/AdGuardHomesyslog") then - luci.sys.exec("(/usr/share/AdGuardHome/getsyslog.sh &); sleep 1;") - end - logfile="/tmp/AdGuardHometmp.log" - fs.writefile("/var/run/AdGuardHomesyslog","1") - elseif not fs.access(logfile) then - http.write("") - return - end - http.prepare_content("text/plain; charset=utf-8") - local fdp - if fs.access("/var/run/lucilogreload") then - fdp=0 - fs.remove("/var/run/lucilogreload") - else - fdp=tonumber(fs.readfile("/var/run/lucilogpos")) or 0 - end - local f=io.open(logfile, "r+") - f:seek("set",fdp) - local a=f:read(2048000) or "" - fdp=f:seek() - fs.writefile("/var/run/lucilogpos",tostring(fdp)) - f:close() - http.write(a) -end -function do_dellog() - local logfile=uci:get("AdGuardHome","AdGuardHome","logfile") - fs.writefile(logfile,"") - http.prepare_content("application/json") - http.write('') -end -function check_update() - http.prepare_content("text/plain; charset=utf-8") - local fdp=tonumber(fs.readfile("/var/run/lucilogpos")) or 0 - local f=io.open("/tmp/AdGuardHome_update.log", "r+") - f:seek("set",fdp) - local a=f:read(2048000) or "" - fdp=f:seek() - fs.writefile("/var/run/lucilogpos",tostring(fdp)) - f:close() -if fs.access("/var/run/update_core") then - http.write(a) -else - http.write(a.."\0") -end -end diff --git a/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/base.lua b/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/base.lua deleted file mode 100644 index 6896b61eff..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/base.lua +++ /dev/null @@ -1,304 +0,0 @@ -require("luci.sys") -require("luci.util") -require("io") -local m,s,o,o1 -local fs=require"nixio.fs" -local uci=require"luci.model.uci".cursor() -local configpath=uci:get("AdGuardHome","AdGuardHome","configpath") or "/etc/AdGuardHome.yaml" -local binpath=uci:get("AdGuardHome","AdGuardHome","binpath") or "/usr/bin/AdGuardHome" -httpport=uci:get("AdGuardHome","AdGuardHome","httpport") or "3000" -m = Map("AdGuardHome", "AdGuard Home") -m.description = translate("Free and open source, powerful network-wide ads & trackers blocking DNS server.") -m:section(SimpleSection).template = "AdGuardHome/AdGuardHome_status" - -s = m:section(TypedSection, "AdGuardHome") -s.anonymous=true -s.addremove=false ----- enable -o = s:option(Flag, "enabled", translate("Enable")) -o.default = 0 -o.optional = false ----- httpport -o =s:option(Value,"httpport",translate("Browser management port")) -o.placeholder=3000 -o.default=3000 -o.datatype="port" -o.optional = false -o.description = translate("") ----- update warning not safe -local binmtime=uci:get("AdGuardHome","AdGuardHome","binmtime") or "0" -local e="" -if not fs.access(configpath) then - e=e.." "..translate("no config") -end -if not fs.access(binpath) then - e=e.." "..translate("no core") -else - local version=uci:get("AdGuardHome","AdGuardHome","version") - local testtime=fs.stat(binpath,"mtime") - if testtime~=tonumber(binmtime) or version==nil then - local tmp=luci.sys.exec(binpath.." --version | grep -m 1 -E 'v[0-9.]+' -o ") - version=string.sub(tmp, 1) - if version=="" then version="core error" end - uci:set("AdGuardHome","AdGuardHome","version",version) - uci:set("AdGuardHome","AdGuardHome","binmtime",testtime) - uci:save("AdGuardHome") - end - e=version..e -end -o=s:option(Button,"restart",translate("Update")) -o.inputtitle=translate("Update core version") -o.template = "AdGuardHome/AdGuardHome_check" -o.showfastconfig=(not fs.access(configpath)) -o.description=string.format(translate("core version:").."%s ",e) ----- port warning not safe -local port=luci.sys.exec("awk '/ port:/{printf($2);exit;}' "..configpath.." 2>nul") -if (port=="") then port="?" end ----- Redirect -o = s:option(ListValue, "redirect", port..translate("Redirect"), translate("AdGuardHome redirect mode")) -o.placeholder = "none" -o:value("none", translate("none")) -o:value("dnsmasq-upstream", translate("Run as dnsmasq upstream server")) -o:value("redirect", translate("Redirect 53 port to AdGuardHome")) -o:value("exchange", translate("Use port 53 replace dnsmasq")) -o.default = "none" -o.optional = true ----- bin path -o = s:option(Value, "binpath", translate("Bin Path"), translate("AdGuardHome Bin path if no bin will auto download")) -o.default = "/usr/bin/AdGuardHome" -o.datatype = "string" -o.optional = false -o.rmempty=false -o.validate=function(self, value) -if value=="" then return nil end -if fs.stat(value,"type")=="dir" then - fs.rmdir(value) -end -if fs.stat(value,"type")=="dir" then - if (m.message) then - m.message =m.message.."\nerror!bin path is a dir" - else - m.message ="error!bin path is a dir" - end - return nil -end -return value -end ---- upx -o = s:option(ListValue, "upxflag", translate("use upx to compress bin after download")) -o:value("", translate("none")) -o:value("-1", translate("compress faster")) -o:value("-9", translate("compress better")) -o:value("--best", translate("compress best(can be slow for big files)")) -o:value("--brute", translate("try all available compression methods & filters [slow]")) -o:value("--ultra-brute", translate("try even more compression variants [very slow]")) -o.default = "" -o.description=translate("bin use less space,but may have compatibility issues") -o.rmempty = true ----- config path -o = s:option(Value, "configpath", translate("Config Path"), translate("AdGuardHome config path")) -o.default = "/etc/AdGuardHome.yaml" -o.datatype = "string" -o.optional = false -o.rmempty=false -o.validate=function(self, value) -if value==nil then return nil end -if fs.stat(value,"type")=="dir" then - fs.rmdir(value) -end -if fs.stat(value,"type")=="dir" then - if m.message then - m.message =m.message.."\nerror!config path is a dir" - else - m.message ="error!config path is a dir" - end - return nil -end -return value -end ----- work dir -o = s:option(Value, "workdir", translate("Work dir"), translate("AdGuardHome work dir include rules,audit log and database")) -o.default = "/etc/AdGuardHome" -o.datatype = "string" -o.optional = false -o.rmempty=false -o.validate=function(self, value) -if value=="" then return nil end -if fs.stat(value,"type")=="reg" then - if m.message then - m.message =m.message.."\nerror!work dir is a file" - else - m.message ="error!work dir is a file" - end - return nil -end -if string.sub(value, -1)=="/" then - return string.sub(value, 1, -2) -else - return value -end -end ----- log file -o = s:option(Value, "logfile", translate("Runtime log file"), translate("AdGuardHome runtime Log file if 'syslog': write to system log;if empty no log")) -o.datatype = "string" -o.rmempty = true -o.validate=function(self, value) -if fs.stat(value,"type")=="dir" then - fs.rmdir(value) -end -if fs.stat(value,"type")=="dir" then - if m.message then - m.message =m.message.."\nerror!log file is a dir" - else - m.message ="error!log file is a dir" - end - return nil -end -return value -end ----- debug -o = s:option(Flag, "verbose", translate("Verbose log")) -o.default = 0 -o.optional = true ----- gfwlist -local a=luci.sys.call("grep -m 1 -q programadd "..configpath) -if (a==0) then -a="Added" -else -a="Not added" -end -o=s:option(Button,"gfwdel",translate("Del gfwlist"),translate(a)) -o.optional = true -o.inputtitle=translate("Del") -o.write=function() - luci.sys.exec("sh /usr/share/AdGuardHome/gfw2adg.sh del 2>&1") - luci.http.redirect(luci.dispatcher.build_url("admin","services","AdGuardHome")) -end -o=s:option(Button,"gfwadd",translate("Add gfwlist"),translate(a)) -o.optional = true -o.inputtitle=translate("Add") -o.write=function() - luci.sys.exec("sh /usr/share/AdGuardHome/gfw2adg.sh 2>&1") - luci.http.redirect(luci.dispatcher.build_url("admin","services","AdGuardHome")) -end -o = s:option(Value, "gfwupstream", translate("Gfwlist upstream dns server"), translate("Gfwlist domain upstream dns service")..translate(a)) -o.default = "tcp://208.67.220.220:5353" -o.datatype = "string" -o.optional = true ----- chpass -o = s:option(Value, "hashpass", translate("Change browser management password"), translate("Press load culculate model and culculate finally save/apply")) -o.default = "" -o.datatype = "string" -o.template = "AdGuardHome/AdGuardHome_chpass" -o.optional = true ----- upgrade protect -o = s:option(MultiValue, "upprotect", translate("Keep files when system upgrade")) -o:value("$binpath",translate("core bin")) -o:value("$configpath",translate("config file")) -o:value("$logfile",translate("log file")) -o:value("$workdir/data/sessions.db",translate("sessions.db")) -o:value("$workdir/data/stats.db",translate("stats.db")) -o:value("$workdir/data/querylog.json",translate("querylog.json")) -o:value("$workdir/data/filters",translate("filters")) -o.widget = "checkbox" -o.default = nil -o.optional=true ----- wait net on boot -o = s:option(Flag, "waitonboot", translate("On boot when network ok restart")) -o.default = 1 -o.optional = true ----- backup workdir on shutdown -local workdir=uci:get("AdGuardHome","AdGuardHome","workdir") or "/etc/AdGuardHome" -o = s:option(MultiValue, "backupfile", translate("Backup workdir files when shutdown")) -o1 = s:option(Value, "backupwdpath", translate("Backup workdir path")) -local name -o:value("filters","filters") -o:value("stats.db","stats.db") -o:value("querylog.json","querylog.json") -o:value("sessions.db","sessions.db") -o1:depends ("backupfile", "filters") -o1:depends ("backupfile", "stats.db") -o1:depends ("backupfile", "querylog.json") -o1:depends ("backupfile", "sessions.db") -for name in fs.glob(workdir.."/data/*") -do - name=fs.basename (name) - if name~="filters" and name~="stats.db" and name~="querylog.json" and name~="sessions.db" then - o:value(name,name) - o1:depends ("backupfile", name) - end -end -o.widget = "checkbox" -o.default = nil -o.optional=false -o.description=translate("Will be restore when workdir/data is empty") -----backup workdir path - -o1.default = "/etc/AdGuardHome" -o1.datatype = "string" -o1.optional = false -o1.validate=function(self, value) -if fs.stat(value,"type")=="reg" then - if m.message then - m.message =m.message.."\nerror!backup dir is a file" - else - m.message ="error!backup dir is a file" - end - return nil -end -if string.sub(value,-1)=="/" then - return string.sub(value, 1, -2) -else - return value -end -end - -----Crontab -o = s:option(MultiValue, "crontab", translate("Crontab task"),translate("Please change time and args in crontab")) -o:value("autoupdate",translate("Auto update core")) -o:value("cutquerylog",translate("Auto tail querylog")) -o:value("cutruntimelog",translate("Auto tail runtime log")) -o:value("autohost",translate("Auto update ipv6 hosts and restart adh")) -o:value("autogfw",translate("Auto update gfwlist and restart adh")) -o.widget = "checkbox" -o.default = nil -o.optional=true - -----downloadpath -o = s:option(TextValue, "downloadlinks",translate("Download links for update")) -o.optional = false -o.rows = 4 -o.wrap = "soft" -o.cfgvalue = function(self, section) - return fs.readfile("/usr/share/AdGuardHome/links.txt") -end -o.write = function(self, section, value) - fs.writefile("/usr/share/AdGuardHome/links.txt", value:gsub("\r\n", "\n")) -end -fs.writefile("/var/run/lucilogpos","0") -function m.on_commit(map) - if (fs.access("/var/run/AdGserverdis")) then - io.popen("/etc/init.d/AdGuardHome reload &") - return - end - local ucitracktest=uci:get("AdGuardHome","AdGuardHome","ucitracktest") - if ucitracktest=="1" then - return - elseif ucitracktest=="0" then - io.popen("/etc/init.d/AdGuardHome reload &") - else - if (fs.access("/var/run/AdGlucitest")) then - uci:set("AdGuardHome","AdGuardHome","ucitracktest","0") - io.popen("/etc/init.d/AdGuardHome reload &") - else - fs.writefile("/var/run/AdGlucitest","") - if (ucitracktest=="2") then - uci:set("AdGuardHome","AdGuardHome","ucitracktest","1") - else - uci:set("AdGuardHome","AdGuardHome","ucitracktest","2") - end - end - uci:save("AdGuardHome") - end -end -return m diff --git a/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/log.lua b/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/log.lua deleted file mode 100644 index 5d18a88db4..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/log.lua +++ /dev/null @@ -1,16 +0,0 @@ -local fs=require"nixio.fs" -local uci=require"luci.model.uci".cursor() -local f,t -f=SimpleForm("logview") -f.reset = false -f.submit = false -t=f:field(TextValue,"conf") -t.rmempty=true -t.rows=20 -t.template="AdGuardHome/log" -t.readonly="readonly" -local logfile=uci:get("AdGuardHome","AdGuardHome","logfile") or "" -t.timereplace=(logfile~="syslog" and logfile~="" ) -t.pollcheck=logfile~="" -fs.writefile("/var/run/lucilogreload","") -return f diff --git a/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/manual.lua b/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/manual.lua deleted file mode 100644 index ecf072bbc7..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/manual.lua +++ /dev/null @@ -1,97 +0,0 @@ -local m, s, o -local fs = require "nixio.fs" -local uci=require"luci.model.uci".cursor() -local sys=require"luci.sys" -require("string") -require("io") -require("table") -function gen_template_config() - local b - local d="" - for cnt in io.lines("/tmp/resolv.conf.d/resolv.conf.auto") do - b=string.match (cnt,"^[^#]*nameserver%s+([^%s]+)$") - if (b~=nil) then - d=d.." - "..b.."\n" - end - end - local f=io.open("/usr/share/AdGuardHome/AdGuardHome_template.yaml", "r+") - local tbl = {} - local a="" - while (1) do - a=f:read("*l") - if (a=="#bootstrap_dns") then - a=d - elseif (a=="#upstream_dns") then - a=d - elseif (a==nil) then - break - end - table.insert(tbl, a) - end - f:close() - return table.concat(tbl, "\n") -end -m = Map("AdGuardHome") -local configpath = uci:get("AdGuardHome","AdGuardHome","configpath") -local binpath = uci:get("AdGuardHome","AdGuardHome","binpath") -s = m:section(TypedSection, "AdGuardHome") -s.anonymous=true -s.addremove=false ---- config -o = s:option(TextValue, "escconf") -o.rows = 66 -o.wrap = "off" -o.rmempty = true -o.cfgvalue = function(self, section) - return fs.readfile("/tmp/AdGuardHometmpconfig.yaml") or fs.readfile(configpath) or gen_template_config() or "" -end -o.validate=function(self, value) - fs.writefile("/tmp/AdGuardHometmpconfig.yaml", value:gsub("\r\n", "\n")) - if fs.access(binpath) then - if (sys.call(binpath.." -c /tmp/AdGuardHometmpconfig.yaml --check-config 2> /tmp/AdGuardHometest.log")==0) then - return value - end - else - return value - end - luci.http.redirect(luci.dispatcher.build_url("admin","services","AdGuardHome","manual")) - return nil -end -o.write = function(self, section, value) - fs.move("/tmp/AdGuardHometmpconfig.yaml",configpath) -end -o.remove = function(self, section, value) - fs.writefile(configpath, "") -end ---- js and reload button -o = s:option(DummyValue, "") -o.anonymous=true -o.template = "AdGuardHome/yamleditor" -if not fs.access(binpath) then - o.description=translate("WARNING!!! no bin found apply config will not be test") -end ---- log -if (fs.access("/tmp/AdGuardHometmpconfig.yaml")) then -local c=fs.readfile("/tmp/AdGuardHometest.log") -if (c~="") then -o = s:option(TextValue, "") -o.readonly=true -o.rows = 5 -o.rmempty = true -o.name="" -o.cfgvalue = function(self, section) - return fs.readfile("/tmp/AdGuardHometest.log") -end -end -end -function m.on_commit(map) - local ucitracktest=uci:get("AdGuardHome","AdGuardHome","ucitracktest") - if ucitracktest=="1" then - return - elseif ucitracktest=="0" then - io.popen("/etc/init.d/AdGuardHome reload &") - else - fs.writefile("/var/run/AdGlucitest","") - end -end -return m diff --git a/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_check.htm b/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_check.htm deleted file mode 100644 index 52315ef7e4..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_check.htm +++ /dev/null @@ -1,78 +0,0 @@ -<%+cbi/valueheader%> -<%local fs=require"nixio.fs"%> - - -<% if self.showfastconfig then %> - -<%end%> - - -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_chpass.htm b/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_chpass.htm deleted file mode 100644 index 440eafd970..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_chpass.htm +++ /dev/null @@ -1,49 +0,0 @@ -<%+cbi/valueheader%> - - 0, "data-choices", { self.keylist, self.vallist }) - %> /> - <% if self.password then %><% end %> - -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_status.htm b/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_status.htm deleted file mode 100644 index 7e924d1195..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/AdGuardHome_status.htm +++ /dev/null @@ -1,27 +0,0 @@ - - -
-

- <%:Collecting data...%> -

-
\ No newline at end of file diff --git a/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/log.htm b/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/log.htm deleted file mode 100644 index 44b3da0b1f..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/log.htm +++ /dev/null @@ -1,110 +0,0 @@ -<%+cbi/valueheader%> -<%:reverse%> -<%if self.timereplace then%> -<%:localtime%>
-<%end%> - - - - -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/yamleditor.htm b/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/yamleditor.htm deleted file mode 100644 index 639cb99888..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/luasrc/view/AdGuardHome/yamleditor.htm +++ /dev/null @@ -1,39 +0,0 @@ -<%+cbi/valueheader%> - - - - - - - - - -<%fs=require"nixio.fs"%> -<%if fs.access("/tmp/AdGuardHometmpconfig.yaml") then%> - -<%end%> - -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-adguardhome/po/zh_Hans/adguardhome.po b/package/ctcgfw/luci-app-adguardhome/po/zh_Hans/adguardhome.po deleted file mode 100644 index 0ace89bae4..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/po/zh_Hans/adguardhome.po +++ /dev/null @@ -1,408 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh_Hans\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-adguardhome/luasrc/model/cbi/AdGuardHome/base.lua:27 -msgid "" -"/dev/null 2>&1 - if [ $? -eq 0 ]; then - return - fi - uci delete dhcp.@dnsmasq[0].server 2>/dev/null - uci add_list dhcp.@dnsmasq[0].server=$addr - for server in $OLD_SERVER; do - if [ "$server" = "$addr" ]; then - continue - fi - uci add_list dhcp.@dnsmasq[0].server=$server - done - uci delete dhcp.@dnsmasq[0].resolvfile 2>/dev/null - uci set dhcp.@dnsmasq[0].noresolv=1 - uci commit dhcp - /etc/init.d/dnsmasq restart -} - -stop_forward_dnsmasq() -{ - local OLD_PORT="$1" - addr="127.0.0.1#$OLD_PORT" - OLD_SERVER="`uci get dhcp.@dnsmasq[0].server 2>/dev/null`" - echo $OLD_SERVER | grep "^$addr" >/dev/null 2>&1 - if [ $? -ne 0 ]; then - return - fi - - uci del_list dhcp.@dnsmasq[0].server=$addr 2>/dev/null - addrlist="`uci get dhcp.@dnsmasq[0].server 2>/dev/null`" - if [ -z "$addrlist" ] ; then - uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.d/resolv.conf.auto 2>/dev/null - uci delete dhcp.@dnsmasq[0].noresolv 2>/dev/null - fi - uci commit dhcp - /etc/init.d/dnsmasq restart -} - -set_iptable() -{ - local ipv6_server=$1 - local tcp_server=$2 - uci -q batch <<-EOF >/dev/null 2>&1 - delete firewall.AdGuardHome - set firewall.AdGuardHome=include - set firewall.AdGuardHome.type=script - set firewall.AdGuardHome.path=/usr/share/AdGuardHome/firewall.start - set firewall.AdGuardHome.reload=1 - commit firewall -EOF - - IPS="`ifconfig | grep "inet addr" | grep -v ":127" | grep "Bcast" | awk '{print $2}' | awk -F : '{print $2}'`" - for IP in $IPS - do - if [ "$tcp_server" == "1" ]; then - iptables -t nat -A PREROUTING -p tcp -d $IP --dport 53 -j REDIRECT --to-ports $AdGuardHome_PORT >/dev/null 2>&1 - fi - iptables -t nat -A PREROUTING -p udp -d $IP --dport 53 -j REDIRECT --to-ports $AdGuardHome_PORT >/dev/null 2>&1 - done - - if [ "$ipv6_server" == 0 ]; then - return - fi - - IPS="`ifconfig | grep "inet6 addr" | grep -v " fe80::" | grep -v " ::1" | grep "Global" | awk '{print $3}'`" - for IP in $IPS - do - if [ "$tcp_server" == "1" ]; then - ip6tables -t nat -A PREROUTING -p tcp -d $IP --dport 53 -j REDIRECT --to-ports $AdGuardHome_PORT >/dev/null 2>&1 - fi - ip6tables -t nat -A PREROUTING -p udp -d $IP --dport 53 -j REDIRECT --to-ports $AdGuardHome_PORT >/dev/null 2>&1 - done -} - -clear_iptable() -{ - uci -q batch <<-EOF >/dev/null 2>&1 - delete firewall.AdGuardHome - commit firewall -EOF - local OLD_PORT="$1" - local ipv6_server=$2 - IPS="`ifconfig | grep "inet addr" | grep -v ":127" | grep "Bcast" | awk '{print $2}' | awk -F : '{print $2}'`" - for IP in $IPS - do - iptables -t nat -D PREROUTING -p udp -d $IP --dport 53 -j REDIRECT --to-ports $OLD_PORT >/dev/null 2>&1 - iptables -t nat -D PREROUTING -p tcp -d $IP --dport 53 -j REDIRECT --to-ports $OLD_PORT >/dev/null 2>&1 - done - - if [ "$ipv6_server" == 0 ]; then - return - fi - echo "warn ip6tables nat mod is needed" - IPS="`ifconfig | grep "inet6 addr" | grep -v " fe80::" | grep -v " ::1" | grep "Global" | awk '{print $3}'`" - for IP in $IPS - do - ip6tables -t nat -D PREROUTING -p udp -d $IP --dport 53 -j REDIRECT --to-ports $OLD_PORT >/dev/null 2>&1 - ip6tables -t nat -D PREROUTING -p tcp -d $IP --dport 53 -j REDIRECT --to-ports $OLD_PORT >/dev/null 2>&1 - done -} - -service_triggers() { - procd_add_reload_trigger "$CONFIGURATION" - [ "$(uci get AdGuardHome.AdGuardHome.redirect)" == "redirect" ] && procd_add_reload_trigger firewall -} - -isrunning(){ - config_load "${CONFIGURATION}" - _isrunning - local r=$? - ([ "$r" == "0" ] && echo "running") || ([ "$r" == "1" ] && echo "not run" ) || echo "no bin" - return $r -} - -_isrunning(){ - config_get binpath $CONFIGURATION binpath "/usr/bin/AdGuardHome" - [ ! -f "$binpath" ] && return 2 - pgrep $binpath 2>&1 >/dev/null && return 0 - return 1 -} - -force_reload(){ - config_load "${CONFIGURATION}" - _isrunning && procd_send_signal "$CONFIGURATION" || start -} - -get_tz() -{ - SET_TZ="" - - if [ -e "/etc/localtime" ]; then - return - fi - - for tzfile in /etc/TZ /var/etc/TZ - do - if [ ! -e "$tzfile" ]; then - continue - fi - - tz="`cat $tzfile 2>/dev/null`" - done - - if [ -z "$tz" ]; then - return - fi - - SET_TZ=$tz -} - -rm_port53() -{ - local AdGuardHome_PORT=$(config_editor "dns.port" "" "$configpath" "1") - dnsmasq_port=$(uci get dhcp.@dnsmasq[0].port 2>/dev/null) - if [ -z "$dnsmasq_port" ]; then - dnsmasq_port="53" - fi - if [ "$dnsmasq_port" == "$AdGuardHome_PORT" ]; then - if [ "$dnsmasq_port" == "53" ]; then - dnsmasq_port="1745" - fi - elif [ "$dnsmasq_port" == "53" ]; then - return - fi - config_editor "dns.port" "$dnsmasq_port" "$configpath" - uci set dhcp.@dnsmasq[0].port="53" - uci commit dhcp - /etc/init.d/dnsmasq reload -} - -use_port53() -{ - local AdGuardHome_PORT=$(config_editor "dns.port" "" "$configpath" "1") - dnsmasq_port=$(uci get dhcp.@dnsmasq[0].port 2>/dev/null) - if [ -z "$dnsmasq_port" ]; then - dnsmasq_port="53" - fi - if [ "$dnsmasq_port" == "$AdGuardHome_PORT" ]; then - if [ "$dnsmasq_port" == "53" ]; then - AdGuardHome_PORT="1745" - fi - elif [ "$AdGuardHome_PORT" == "53" ]; then - return - fi - config_editor "dns.port" "53" "$configpath" - uci set dhcp.@dnsmasq[0].port="$AdGuardHome_PORT" - uci commit dhcp - /etc/init.d/dnsmasq reload -} - -do_redirect() -{ - config_load "${CONFIGURATION}" - _do_redirect $1 -} - -_do_redirect() -{ - local section="$CONFIGURATION" - args="" - ipv6_server=1 - tcp_server=0 - enabled=$1 - if [ "$enabled" == "1" ]; then - echo -n "1">/var/run/AdGredir - else - echo -n "0">/var/run/AdGredir - fi - config_get configpath $CONFIGURATION configpath "/etc/AdGuardHome.yaml" - AdGuardHome_PORT=$(config_editor "dns.port" "" "$configpath" "1") - if [ -z "$AdGuardHome_PORT" ]; then - AdGuardHome_PORT="0" - fi - config_get "redirect" "$section" "redirect" "none" - config_get "old_redirect" "$section" "old_redirect" "none" - config_get "old_port" "$section" "old_port" "0" - config_get "old_enabled" "$section" "old_enabled" "0" - uci get dhcp.@dnsmasq[0].port >/dev/null 2>&1 || uci set dhcp.@dnsmasq[0].port="53" >/dev/null 2>&1 - if [ "$old_enabled" = "1" -a "$old_redirect" == "exchange" ]; then - AdGuardHome_PORT=$(uci get dhcp.@dnsmasq[0].port 2>/dev/null) - fi - - if [ "$old_redirect" != "$redirect" ] || [ "$old_port" != "$AdGuardHome_PORT" ] || [ "$old_enabled" = "1" -a "$enabled" = "0" ]; then - if [ "$old_redirect" != "none" ]; then - if [ "$old_redirect" == "redirect" -a "$old_port" != "0" ]; then - clear_iptable "$old_port" "$ipv6_server" - elif [ "$old_redirect" == "dnsmasq-upstream" ]; then - stop_forward_dnsmasq "$old_port" - elif [ "$old_redirect" == "exchange" ]; then - rm_port53 - fi - fi - elif [ "$old_enabled" = "1" -a "$enabled" = "1" ]; then - if [ "$old_redirect" == "redirect" -a "$old_port" != "0" ]; then - clear_iptable "$old_port" "$ipv6_server" - fi - fi - uci delete AdGuardHome.@AdGuardHome[0].old_redirect 2>/dev/null - uci delete AdGuardHome.@AdGuardHome[0].old_port 2>/dev/null - uci delete AdGuardHome.@AdGuardHome[0].old_enabled 2>/dev/null - uci add_list AdGuardHome.@AdGuardHome[0].old_redirect="$redirect" 2>/dev/null - uci add_list AdGuardHome.@AdGuardHome[0].old_port="$AdGuardHome_PORT" 2>/dev/null - uci add_list AdGuardHome.@AdGuardHome[0].old_enabled="$enabled" 2>/dev/null - uci commit AdGuardHome - [ "$enabled" == "0" ] && return 1 - if [ "$AdGuardHome_PORT" == "0" ]; then - return 1 - fi - if [ "$redirect" = "redirect" ]; then - set_iptable $ipv6_server $tcp_server - elif [ "$redirect" = "dnsmasq-upstream" ]; then - set_forward_dnsmasq "$AdGuardHome_PORT" - elif [ "$redirect" == "exchange" -a "$(uci get dhcp.@dnsmasq[0].port 2>/dev/null)" == "53" ]; then - use_port53 - fi -} - -get_filesystem() -{ -# print out path filesystem - echo $1 | awk ' - BEGIN{ - while (("mount"| getline ret) > 0) - { - split(ret,d); - fs[d[3]]=d[5]; - m=index(d[1],":") - if (m==0) - { - pt[d[3]]=d[1] - }else{ - pt[d[3]]=substr(d[1],m+1) - }}}{ - split($0,d,"/"); - if ("/" in fs) - { - result1=fs["/"]; - } - if ("/" in pt) - { - result2=pt["/"]; - } - for (i=2;i<=length(d);i++) - { - p[i]=p[i-1]"/"d[i]; - if (p[i] in fs) - { - result1=fs[p[i]]; - result2=pt[p[i]]; - } - } - if (result2 in fs){ - result=fs[result2]} - else{ - result=result1} - print(result);}' -} - -config_editor() -{ - awk -v yaml="$1" -v value="$2" -v file="$3" -v ro="$4" ' - BEGIN{split(yaml,part,"\.");s="";i=1;l=length(part);} - { - if (match($0,s""part[i]":")) - { - if (i==l) - { - split($0,t,": "); - if (ro==""){ - system("sed -i '\''"FNR"c \\"t[1]": "value"'\'' "file); - }else{ - print(t[2]); - } - exit; - } - s=s"[- ]{2}"; - i++; - } - }' $3 -} - -boot_service() { - rm /var/run/AdGserverdis >/dev/null 2>&1 - config_load "${CONFIGURATION}" - config_get waitonboot $CONFIGURATION waitonboot "0" - config_get_bool enabled $CONFIGURATION enabled 0 - config_get binpath $CONFIGURATION binpath "/usr/bin/AdGuardHome" - [ -f "$binpath" ] && start_service - if [ "$enabled" == "1" ] && [ "$waitonboot" == "1" ]; then - procd_open_instance "waitnet" - procd_set_param command "/usr/share/AdGuardHome/waitnet.sh" - procd_close_instance - echo "no net start pinging" - fi -} - -testbackup(){ - config_load "${CONFIGURATION}" - if [ "$1" == "backup" ]; then - backup - elif [ "$1" == "restore" ]; then - restore - fi -} - -restore() -{ - config_get workdir $CONFIGURATION workdir "/etc/AdGuardHome" - config_get backupwdpath $CONFIGURATION backupwdpath "/etc/AdGuardHome" - cp -u -r -f $backupwdpath/data $workdir -} - -backup() { - config_get backupwdpath $CONFIGURATION backupwdpath "/etc/AdGuardHome" - mkdir -p $backupwdpath/data - config_get workdir $CONFIGURATION workdir "/etc/AdGuardHome" - config_get backupfile $CONFIGURATION backupfile "" - for one in $backupfile; - do - while : - do - if [ -d "$backupwdpath/data/$one" ]; then - cpret=$(cp -u -r -f $workdir/data/$one $backupwdpath/data 2>&1) - else - cpret=$(cp -u -r -f $workdir/data/$one $backupwdpath/data/$one 2>&1) - fi - echo "$cpret" - echo "$cpret" | grep "no space left on device" - if [ "$?" == "0" ]; then - echo "磁盘已满,删除log重试中" - del_querylog && continue - rm -f -r $backupwdpath/data/filters - rm -f -r $workdir/data/filters && continue - echo "backup failed" - fi - break - done - done -} - -start_service() { - # Reading config - rm /var/run/AdGserverdis >/dev/null 2>&1 - config_load "${CONFIGURATION}" - # update password - config_get hashpass $CONFIGURATION hashpass "" - config_get configpath $CONFIGURATION configpath "/etc/AdGuardHome.yaml" - if [ -n "$hashpass" ]; then - config_editor "users.password" "$hashpass" "$configpath" - uci set $CONFIGURATION.$CONFIGURATION.hashpass="" - fi - local enabled - config_get_bool enabled $CONFIGURATION enabled 0 - # update crontab - do_crontab - if [ "$enabled" == "0" ]; then - _do_redirect 0 - return - fi - #what need to do before reload - config_get workdir $CONFIGURATION workdir "/etc/AdGuardHome" - - config_get backupfile $CONFIGURATION backupfile "" - mkdir -p $workdir/data - if [ -n "$backupfile" ] && [ ! -d "$workdir/data" ]; then - restore - fi - # for overlay data-stk-oo not suppport - local cwdfs=$(get_filesystem $workdir) - echo "workdir is a $cwdfs filesystem" - if [ "$cwdfs" == "jffs2" ]; then - echo "fs error ln db to tmp $workdir $cwdfs" - logger "AdGuardHome" "warning db redirect to tmp" - touch $workdir/data/stats.db - if [ ! -L $workdir/data/stats.db ]; then - mv -f $workdir/data/stats.db /tmp/stats.db 2>/dev/null - ln -s /tmp/stats.db $workdir/data/stats.db 2>/dev/null - fi - touch $workdir/data/sessions.db - if [ ! -L $workdir/data/sessions.db ]; then - mv -f $workdir/data/sessions.db /tmp/sessions.db 2>/dev/null - ln -s /tmp/sessions.db $workdir/data/sessions.db 2>/dev/null - fi - fi - local ADDITIONAL_ARGS="" - config_get binpath $CONFIGURATION binpath "/usr/bin/AdGuardHome" - - mkdir -p ${binpath%/*} - ADDITIONAL_ARGS="$ADDITIONAL_ARGS -c $configpath" - ADDITIONAL_ARGS="$ADDITIONAL_ARGS -w $workdir" - config_get httpport $CONFIGURATION httpport 3000 - ADDITIONAL_ARGS="$ADDITIONAL_ARGS -p $httpport" - - # hack to save config file when upgrade system - config_get upprotect $CONFIGURATION upprotect "" - eval upprotect=${upprotect// /\\\\n} - echo -e "$upprotect">/lib/upgrade/keep.d/luci-app-adguardhome - - config_get logfile $CONFIGURATION logfile "" - if [ -n "$logfile" ]; then - ADDITIONAL_ARGS="$ADDITIONAL_ARGS -l $logfile" - fi - - if [ ! -f "$binpath" ]; then - _do_redirect 0 - /usr/share/AdGuardHome/update_core.sh 2>&1 >/tmp/AdGuardHome_update.log & - exit 0 - fi - - config_get_bool verbose $CONFIGURATION verbose 0 - if [ "$verbose" -eq 1 ]; then - ADDITIONAL_ARGS="$ADDITIONAL_ARGS -v" - fi - - procd_open_instance - get_tz - if [ -n "$SET_TZ" ]; then - procd_set_param env TZ="$SET_TZ" - fi - procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5} - procd_set_param limits core="unlimited" nofile="65535 65535" - procd_set_param stderr 1 - procd_set_param command $binpath $ADDITIONAL_ARGS - procd_set_param file "$configpath" "/etc/hosts" "/etc/config/AdGuardHome" - procd_close_instance - if [ -f "$configpath" ]; then - _do_redirect 1 - else - _do_redirect 0 - config_get "redirect" "AdGuardHome" "redirect" "none" - if [ "$redirect" != "none" ]; then - procd_open_instance "waitconfig" - procd_set_param command "/usr/share/AdGuardHome/watchconfig.sh" - procd_close_instance - echo "no config start watching" - fi - fi - echo "AdGuardHome service enabled" - echo "luci enable switch=$enabled" - (sleep 10 && [ -z "$(pgrep $binpath)" ] && logger "AdGuardHome" "no process in 10s cancel redirect" && _do_redirect 0 )& -} - -reload_service() -{ - rm /var/run/AdGlucitest >/dev/null 2>&1 - echo "AdGuardHome reloading" - start -} - -del_querylog(){ - local btarget=$(ls $backupwdpath/data | grep -F "querylog.json" | sort -r | head -n 1) - local wtarget=$(ls $workdir/data | grep -F "querylog.json" | sort -r | head -n 1) - if [ "$btarget"x == "$wtarget"x ]; then - [ -z "$btarget" ] && return 1 - rm -f $workdir/data/$wtarget - rm -f $backupwdpath/data/$btarget - return 0 - fi - if [ "$btarget" \> "$wtarget" ]; then - rm -f $backupwdpath/data/$btarget - return 0 - else - rm -f $workdir/data/$wtarget - return 0 - fi -} - -stop_service() -{ - config_load "${CONFIGURATION}" - _do_redirect 0 - do_crontab - if [ "$1" != "nobackup" ]; then - config_get backupfile $CONFIGURATION backupfile "0" - if [ -n "$backupfile" ]; then - backup - fi - fi - echo "AdGuardHome service disabled" - touch /var/run/AdGserverdis -} - -boot() { - rc_procd boot_service "$@" - if eval "type service_started" 2>/dev/null >/dev/null; then - service_started - fi -} - -test_crontab(){ - config_load "${CONFIGURATION}" - do_crontab -} - -do_crontab(){ - config_get_bool enabled $CONFIGURATION enabled 0 - config_get crontab $CONFIGURATION crontab "" - local findstr default cronenable replace commit - local cronreload=0 - local commit=0 - findstr="/usr/share/AdGuardHome/update_core.sh" - default="30 3 * * * /usr/share/AdGuardHome/update_core.sh 2>&1" - [ "$enabled" == "0" ] || [ "${crontab//autoupdate/}" == "$crontab" ] && cronenable=0 || cronenable=1 - crontab_editor - - config_get workdir $CONFIGURATION workdir "/etc/AdGuardHome" - config_get lastworkdir $CONFIGURATION lastworkdir "/etc/AdGuardHome" - findstr="/usr/share/AdGuardHome/tailto.sh [0-9]* \$(uci get AdGuardHome.AdGuardHome.workdir)/data/querylog.json" - #[ -n "$lastworkdir" ] && findstr="/usr/share/AdGuardHome/tailto.sh [0-9]* $lastworkdir/data/querylog.json" && [ "$lastworkdir" != "$workdir" ] && replace="${lastworkdir//\//\\/}/${workdir//\//\\/}" - default="0 * * * * /usr/share/AdGuardHome/tailto.sh 2000 \$(uci get AdGuardHome.AdGuardHome.workdir)/data/querylog.json" - [ "$enabled" == "0" ] || [ "${crontab//cutquerylog/}" == "$crontab" ] && cronenable=0 || cronenable=1 - crontab_editor - #[ "$lastworkdir" != "$workdir" ] && uci set AdGuardHome.AdGuardHome.lastworkdir="$workdir" && commit=1 - - config_get logfile $CONFIGURATION logfile "" - config_get lastlogfile $CONFIGURATION lastlogfile "" - findstr="/usr/share/AdGuardHome/tailto.sh [0-9]* \$(uci get AdGuardHome.AdGuardHome.logfile)" - default="30 3 * * * /usr/share/AdGuardHome/tailto.sh 2000 \$(uci get AdGuardHome.AdGuardHome.logfile)" - #[ -n "$lastlogfile" ] && findstr="/usr/share/AdGuardHome/tailto.sh [0-9]* $lastlogfile" && [ -n "$logfile" ] && [ "$lastlogfile" != "$logfile" ] && replace="${lastlogfile//\//\\/}/${logfile//\//\\/}" - [ "$logfile" == "syslog" ] || [ "$logfile" == "" ] || [ "$enabled" == "0" ] || [ "${crontab//cutruntimelog/}" == "$crontab" ] && cronenable=0 || cronenable=1 - crontab_editor - #[ -n "$logfile" ] && [ "$lastlogfile" != "$logfile" ] && uci set AdGuardHome.AdGuardHome.lastlogfile="$logfile" && commit=1 - - findstr="/usr/share/AdGuardHome/addhost.sh" - default="0 * * * * /usr/share/AdGuardHome/addhost.sh" - [ "$enabled" == "0" ] || [ "${crontab//autohost/}" == "$crontab" ] && cronenable=0 || cronenable=1 - crontab_editor - [ "$cronenable" == "0" ] && /usr/share/AdGuardHome/addhost.sh "del" "noreload" || /usr/share/AdGuardHome/addhost.sh "" "noreload" - - findstr="/usr/share/AdGuardHome/gfw2adg.sh" - default="30 3 * * * /usr/share/AdGuardHome/gfw2adg.sh" - [ "$enabled" == "0" ] || [ "${crontab//autogfw/}" == "$crontab" ] && cronenable=0 || cronenable=1 - crontab_editor - [ "$cronreload" -gt 0 ] && /etc/init.d/cron restart - #[ "$commit" -gt 0 ] && uci commit AdGuardHome -} - -crontab_editor(){ - #usage input: - #findstr= - #default= - #cronenable= - #replace="${last//\//\\/}/${now//\//\\/}" - #output:cronreload:if >1 please /etc/init.d/cron restart manual - local testline reload - local line="$(grep "$findstr" $CRON_FILE)" - [ -n "$replace" ] && [ -n "$line" ] && eval testline="\${line//$replace}" && [ "$testline" != "$line" ] && line="$testline" && reload="1" && replace="" - if [ "${line:0:1}" != "#" ]; then - if [ $cronenable -eq 1 ]; then - [ -z "$line" ] && line="$default" && reload="1" - if [ -n "$reload" ]; then - sed -i "\,$findstr,d" $CRON_FILE - echo "$line" >> $CRON_FILE - cronreload=$((cronreload+1)) - fi - elif [ -n "$line" ]; then - sed -i "\,$findstr,d" $CRON_FILE - echo "#$line" >> $CRON_FILE - cronreload=$((cronreload+1)) - fi - else - if [ $cronenable -eq 1 ]; then - sed -i "\,$findstr,d" $CRON_FILE - echo "${line:1}" >> $CRON_FILE - cronreload=$((cronreload+1)) - elif [ -z "$reload" ]; then - sed -i "\,$findstr,d" $CRON_FILE - echo "$line" >> $CRON_FILE - fi - fi -} diff --git a/package/ctcgfw/luci-app-adguardhome/root/etc/uci-defaults/40_luci-AdGuardHome b/package/ctcgfw/luci-app-adguardhome/root/etc/uci-defaults/40_luci-AdGuardHome deleted file mode 100755 index 2d467df980..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/etc/uci-defaults/40_luci-AdGuardHome +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null 2>&1 - delete ucitrack.@AdGuardHome[-1] - add ucitrack AdGuardHome - set ucitrack.@AdGuardHome[-1].init=AdGuardHome - commit ucitrack - delete AdGuardHome.AdGuardHome.ucitracktest -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/AdGuardHome_template.yaml b/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/AdGuardHome_template.yaml deleted file mode 100644 index 7e6a66abc7..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/AdGuardHome_template.yaml +++ /dev/null @@ -1,109 +0,0 @@ -#提交就可以直接用的配置模板文件 -#a template config can be use with a apply -bind_host: 0.0.0.0 -bind_port: 3000 -users: -- name: root - password: $2y$10$FfeQavihMUiXCuJhHuQwy.6EOXDvkXb/S50qI5fXizqarNT/ShhQm -language: "" -rlimit_nofile: 0 -dns: - bind_host: 0.0.0.0 - port: 5553 - statistics_interval: 1 - protection_enabled: true - filtering_enabled: true - filters_update_interval: 24 - blocking_mode: nxdomain - blocked_response_ttl: 10 - querylog_enabled: false - querylog_interval: 1 - ratelimit: 0 - ratelimit_whitelist: [] - refuse_any: false - bootstrap_dns: -#bootstrap_dns - all_servers: false - allowed_clients: [] - disallowed_clients: [] - blocked_hosts: [] - parental_block_host: "" - safebrowsing_block_host: "" - blocked_services: [] - cache_size: 4194304 - parental_sensitivity: 13 - parental_enabled: false - safesearch_enabled: false - safebrowsing_enabled: false - safebrowsing_cache_size: 1048576 - safesearch_cache_size: 1048576 - parental_cache_size: 1048576 - cache_time: 30 - rewrites: [] - upstream_dns: -#upstream_dns -tls: - enabled: false - server_name: "" - force_https: false - port_https: 443 - port_dns_over_tls: 853 - certificate_chain: "" - private_key: "" - certificate_path: "" - private_key_path: "" -filters: -- enabled: true - url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt - name: AdGuard Simplified Domain Names filter - id: 1 -- enabled: true - url: https://adaway.org/hosts.txt - name: AdAway - id: 2 -- enabled: false - url: https://hosts-file.net/ad_servers.txt - name: hpHosts - Ad and Tracking servers only - id: 3 -- enabled: true - url: https://www.malwaredomainlist.com/hostslist/hosts.txt - name: MalwareDomainList.com Hosts List - id: 4 -- enabled: false - url: https://raw.githubusercontent.com/vokins/yhosts/master/data/tvbox.txt - name: tvbox - id: 1575018007 -- enabled: true - url: https://hosts.nfz.moe/full/hosts - name: neoHosts full - id: 1575618240 -- enabled: false - url: https://hosts.nfz.moe/basic/hosts - name: neoHosts basic - id: 1575618241 -- enabled: false - url: http://sbc.io/hosts/hosts - name: StevenBlack host basic - id: 1575618242 -- enabled: false - url: http://sbc.io/hosts/alternates/fakenews-gambling-porn-social/hosts - name: StevenBlack host+fakenews + gambling + porn + social - id: 1575618243 -- enabled: false - url: https://cdn.jsdelivr.net/gh/privacy-protection-tools/anti-AD/anti-ad-easylist.txt - name: anti-AD(Adblock+neohosts+yhosts+cjxlist+adhlist) - id: 1577113202 -user_rules: [] -dhcp: - enabled: false - interface_name: "" - gateway_ip: "" - subnet_mask: "" - range_start: "" - range_end: "" - lease_duration: 86400 - icmp_timeout_msec: 1000 -clients: [] -log_file: "" -verbose: false -schema_version: 5 \ No newline at end of file diff --git a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/addhost.sh b/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/addhost.sh deleted file mode 100755 index 6c6b7b7691..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/addhost.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh - -checkmd5(){ -local nowmd5=$(md5sum /etc/hosts) -nowmd5=${nowmd5%% *} -local lastmd5=$(uci get AdGuardHome.AdGuardHome.hostsmd5 2>/dev/null) -if [ "$nowmd5" != "$lastmd5" ]; then - uci set AdGuardHome.AdGuardHome.hostsmd5="$nowmd5" - uci commit AdGuardHome - [ "$1" == "noreload" ] || /etc/init.d/AdGuardHome reload -fi -} - -[ "$1" == "del" ] && sed -i '/programaddstart/,/programaddend/d' /etc/hosts && checkmd5 "$2" && exit 0 -/usr/bin/awk 'BEGIN{ -while ((getline < "/tmp/dhcp.leases") > 0) -{ - a[$2]=$4; -} -while (("ip -6 neighbor show | grep -v fe80" | getline) > 0) -{ - if (a[$5]) {print $1" "a[$5] >"/tmp/tmphost"; } -} -print "#programaddend" >"/tmp/tmphost"; -}' -grep programaddstart /etc/hosts >/dev/null 2>&1 -if [ "$?" == "0" ]; then - sed -i '/programaddstart/,/programaddend/c\#programaddstart' /etc/hosts - sed -i '/programaddstart/'r/tmp/tmphost /etc/hosts -else - echo "#programaddstart" >>/etc/hosts - cat /tmp/tmphost >> /etc/hosts -fi -rm /tmp/tmphost -checkmd5 "$2" diff --git a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/firewall.start b/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/firewall.start deleted file mode 100755 index 562117e52e..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/firewall.start +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -AdGuardHome_enable=$(uci get AdGuardHome.AdGuardHome.enabled) -redirect=$(uci get AdGuardHome.AdGuardHome.redirect) - -if [ $AdGuardHome_enable -eq 1 -a "$redirect" == "redirect" ]; then - /etc/init.d/AdGuardHome do_redirect 1 -fi diff --git a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/getsyslog.sh b/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/getsyslog.sh deleted file mode 100755 index 908bdf6318..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/getsyslog.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -PATH="/usr/sbin:/usr/bin:/sbin:/bin" -logread -e AdGuardHome > /tmp/AdGuardHometmp.log -logread -e AdGuardHome -f >> /tmp/AdGuardHometmp.log & -pid=$! -echo "1">/var/run/AdGuardHomesyslog -while true -do - sleep 12 - watchdog=$(cat /var/run/AdGuardHomesyslog) - if [ "$watchdog"x == "0"x ]; then - kill $pid - rm /tmp/AdGuardHometmp.log - rm /var/run/AdGuardHomesyslog - exit 0 - else - echo "0">/var/run/AdGuardHomesyslog - fi -done diff --git a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/gfw2adg.sh b/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/gfw2adg.sh deleted file mode 100755 index a3add84e8b..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/gfw2adg.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh - -PATH="/usr/sbin:/usr/bin:/sbin:/bin" - -checkmd5(){ -local nowmd5=$(md5sum /tmp/adguard.list 2>/dev/null) -nowmd5=${nowmd5%% *} -local lastmd5=$(uci get AdGuardHome.AdGuardHome.gfwlistmd5 2>/dev/null) -if [ "$nowmd5" != "$lastmd5" ]; then - uci set AdGuardHome.AdGuardHome.gfwlistmd5="$nowmd5" - uci commit AdGuardHome - [ "$1" == "noreload" ] || /etc/init.d/AdGuardHome reload -fi -} - -configpath=$(uci get AdGuardHome.AdGuardHome.configpath 2>/dev/null) -[ "$1" == "del" ] && sed -i '/programaddstart/,/programaddend/d' $configpath && checkmd5 "$2" && exit 0 -gfwupstream=$(uci get AdGuardHome.AdGuardHome.gfwupstream 2>/dev/null) -if [ -z $gfwupstream ]; then -gfwupstream="tcp://208.67.220.220:5353" -fi -if [ ! -f "$configpath" ]; then - echo "please make a config first" - exit 1 -fi -wget-ssl --no-check-certificate https://cdn.jsdelivr.net/gh/gfwlist/gfwlist/gfwlist.txt -O- | base64 -d > /tmp/gfwlist.txt -cat /tmp/gfwlist.txt | awk -v upst="$gfwupstream" 'BEGIN{getline;}{ -s1=substr($0,1,1); -if (s1=="!") -{next;} -if (s1=="@"){ - $0=substr($0,3); - s1=substr($0,1,1); - white=1;} -else{ - white=0; -} - -if (s1=="|") - {s2=substr($0,2,1); - if (s2=="|") - { - $0=substr($0,3); - split($0,d,"/"); - $0=d[1]; - }else{ - split($0,d,"/"); - $0=d[3]; - }} -else{ - split($0,d,"/"); - $0=d[1]; -} -star=index($0,"*"); -if (star!=0) -{ - $0=substr($0,star+1); - dot=index($0,"."); - if (dot!=0) - $0=substr($0,dot+1); - else - next; - s1=substr($0,1,1); -} -if (s1==".") -{fin=substr($0,2);} -else{fin=$0;} -if (index(fin,".")==0) next; -if (index(fin,"%")!=0) next; -if (index(fin,":")!=0) next; -match(fin,"^[0-9\.]+") -if (RSTART==1 && RLENGTH==length(fin)) {print "ipset add gfwlist "fin>"/tmp/doipset.sh";next;} -if (fin=="" || finl==fin) next; -finl=fin; -if (white==0) - {print(" - '\''[/"fin"/]"upst"'\''");} -else{ - print(" - '\''[/"fin"/]#'\''");} -}END{print(" - '\''[/programaddend/]#'\''")}' > /tmp/adguard.list -grep programaddstart $configpath -if [ "$?" == "0" ]; then - sed -i '/programaddstart/,/programaddend/c\ - '\''\[\/programaddstart\/\]#'\''' $configpath - sed -i '/programaddstart/'r/tmp/adguard.list $configpath -else - sed -i '1i\ - '\''[/programaddstart/]#'\''' /tmp/adguard.list - sed -i '/upstream_dns:/'r/tmp/adguard.list $configpath -fi -checkmd5 "$2" -rm -f /tmp/gfwlist.txt /tmp/adguard.list diff --git a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/links.txt b/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/links.txt deleted file mode 100644 index 1059be5512..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/links.txt +++ /dev/null @@ -1,3 +0,0 @@ -https://github.com/AdguardTeam/AdGuardHome/releases/download/${latest_ver}/AdGuardHome_linux_${Arch}.tar.gz -https://static.adguard.com/adguardhome/release/AdGuardHome_linux_${Arch}.tar.gz -#https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_${Arch}.tar.gz \ No newline at end of file diff --git a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/tailto.sh b/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/tailto.sh deleted file mode 100755 index 9ccc21903a..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/tailto.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -tail -n $1 "$2" > /var/run/tailtmp -cat /var/run/tailtmp > "$2" -rm /var/run/tailtmp diff --git a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/update_core.sh b/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/update_core.sh deleted file mode 100755 index 74ba7268d5..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/update_core.sh +++ /dev/null @@ -1,236 +0,0 @@ -#!/bin/bash - -PATH="/usr/sbin:/usr/bin:/sbin:/bin" -binpath=$(uci get AdGuardHome.AdGuardHome.binpath) -if [ -z "$binpath" ]; then -uci set AdGuardHome.AdGuardHome.binpath="/tmp/AdGuardHome/AdGuardHome" -binpath="/tmp/AdGuardHome/AdGuardHome" -fi -mkdir -p ${binpath%/*} -upxflag=$(uci get AdGuardHome.AdGuardHome.upxflag 2>/dev/null) - -check_if_already_running(){ - running_tasks="$(ps |grep "AdGuardHome" |grep "update_core" |grep -v "grep" |awk '{print $1}' |wc -l)" - [ "${running_tasks}" -gt "2" ] && echo -e "\nA task is already running." && EXIT 2 -} - -check_wgetcurl(){ - which curl && downloader="curl -L -k --retry 2 --connect-timeout 20 -o" && return - which wget-ssl && downloader="wget-ssl --no-check-certificate -t 2 -T 20 -O" && return - [ -z "$1" ] && opkg update || (echo error opkg && EXIT 1) - [ -z "$1" ] && (opkg remove wget wget-nossl --force-depends ; opkg install wget ; check_wgetcurl 1 ;return) - [ "$1" == "1" ] && (opkg install curl ; check_wgetcurl 2 ; return) - echo error curl and wget && EXIT 1 -} - -check_latest_version(){ - check_wgetcurl - latest_ver="$($downloader - https://api.github.com/repos/AdguardTeam/AdGuardHome/releases/latest 2>/dev/null|grep -E 'tag_name' |grep -E 'v[0-9.]+' -o 2>/dev/null)" - if [ -z "${latest_ver}" ]; then - echo -e "\nFailed to check latest version, please try again later." && EXIT 1 - fi - now_ver="$($binpath -c /dev/null --check-config 2>&1| grep -m 1 -E 'v[0-9.]+' -o)" - if [ "${latest_ver}"x != "${now_ver}"x ] || [ "$1" == "force" ]; then - echo -e "Local version: ${now_ver}., cloud version: ${latest_ver}." - doupdate_core - else - echo -e "\nLocal version: ${now_ver}, cloud version: ${latest_ver}." - echo -e "You're already using the latest version." - if [ ! -z "$upxflag" ]; then - filesize=$(ls -l $binpath | awk '{ print $5 }') - if [ $filesize -gt 8000000 ]; then - echo -e "start upx may take a long time" - doupx - mkdir -p "/tmp/AdGuardHomeupdate/AdGuardHome" >/dev/null 2>&1 - rm -fr /tmp/AdGuardHomeupdate/AdGuardHome/${binpath##*/} - /tmp/upx-${upx_latest_ver}-${Arch}_linux/upx $upxflag $binpath -o /tmp/AdGuardHomeupdate/AdGuardHome/${binpath##*/} - rm -rf /tmp/upx-${upx_latest_ver}-${Arch}_linux - /etc/init.d/AdGuardHome stop nobackup - rm $binpath - mv -f /tmp/AdGuardHomeupdate/AdGuardHome/${binpath##*/} $binpath - /etc/init.d/AdGuardHome start - echo -e "finished" - fi - fi - EXIT 0 - fi -} - -doupx(){ - Archt="$(opkg info kernel | grep Architecture | awk -F "[ _]" '{print($2)}')" - case $Archt in - "i386") - Arch="i386" - ;; - "i686") - Arch="i386" - echo -e "i686 use $Arch may have bug" - ;; - "x86") - Arch="amd64" - ;; - "mipsel") - Arch="mipsel" - ;; - "mips64el") - Arch="mips64el" - Arch="mipsel" - echo -e "mips64el use $Arch may have bug" - ;; - "mips") - Arch="mips" - ;; - "mips64") - Arch="mips64" - Arch="mips" - echo -e "mips64 use $Arch may have bug" - ;; - "arm") - Arch="arm" - ;; - "armeb") - Arch="armeb" - ;; - "aarch64") - Arch="arm64" - ;; - "powerpc") - Arch="powerpc" - ;; - "powerpc64") - Arch="powerpc64" - ;; - *) - echo -e "error not support $Archt if you can use offical release please issue a bug" - EXIT 1 - ;; - esac - upx_latest_ver="$($downloader - https://api.github.com/repos/upx/upx/releases/latest 2>/dev/null|grep -E 'tag_name' |grep -E '[0-9.]+' -o 2>/dev/null)" - $downloader /tmp/upx-${upx_latest_ver}-${Arch}_linux.tar.xz "https://github.com/upx/upx/releases/download/v${upx_latest_ver}/upx-${upx_latest_ver}-${Arch}_linux.tar.xz" 2>&1 - #tar xvJf - which xz || (opkg list | grep ^xz || opkg update && opkg install xz) || (echo "xz download fail" && EXIT 1) - mkdir -p /tmp/upx-${upx_latest_ver}-${Arch}_linux - xz -d -c /tmp/upx-${upx_latest_ver}-${Arch}_linux.tar.xz| tar -x -C "/tmp" >/dev/null 2>&1 - if [ ! -e "/tmp/upx-${upx_latest_ver}-${Arch}_linux/upx" ]; then - echo -e "Failed to download upx." - EXIT 1 - fi - rm /tmp/upx-${upx_latest_ver}-${Arch}_linux.tar.xz -} - -doupdate_core(){ - echo -e "Updating core..." - mkdir -p "/tmp/AdGuardHomeupdate" - rm -rf /tmp/AdGuardHomeupdate/* >/dev/null 2>&1 - Archt="$(opkg info kernel | grep Architecture | awk -F "[ _]" '{print($2)}')" - case $Archt in - "i386") - Arch="386" - ;; - "i686") - Arch="386" - ;; - "x86") - Arch="amd64" - ;; - "mipsel") - Arch="mipsle" - ;; - "mips64el") - Arch="mips64le" - Arch="mipsle" - echo -e "mips64el use $Arch may have bug" - ;; - "mips") - Arch="mips" - ;; - "mips64") - Arch="mips64" - Arch="mips" - echo -e "mips64 use $Arch may have bug" - ;; - "arm") - Arch="arm" - ;; - "aarch64") - Arch="arm64" - ;; - "powerpc") - Arch="ppc" - echo -e "error not support $Archt" - EXIT 1 - ;; - "powerpc64") - Arch="ppc64" - echo -e "error not support $Archt" - EXIT 1 - ;; - *) - echo -e "error not support $Archt if you can use offical release please issue a bug" - EXIT 1 - ;; - esac - echo -e "start download" - grep -v "^#" /usr/share/AdGuardHome/links.txt >/tmp/run/AdHlinks.txt - while read link - do - eval link="$link" - $downloader /tmp/AdGuardHomeupdate/${link##*/} "$link" 2>&1 - if [ "$?" != "0" ]; then - echo "download failed try another download" - rm -f /tmp/AdGuardHomeupdate/${link##*/} - else - local success="1" - break - fi - done < "/tmp/run/AdHlinks.txt" - rm /tmp/run/AdHlinks.txt - [ -z "$success" ] && echo "no download success" && EXIT 1 - if [ "${link##*.}" == "gz" ]; then - tar -zxf "/tmp/AdGuardHomeupdate/${link##*/}" -C "/tmp/AdGuardHomeupdate/" - if [ ! -e "/tmp/AdGuardHomeupdate/AdGuardHome" ]; then - echo -e "Failed to download core." - rm -rf "/tmp/AdGuardHomeupdate" >/dev/null 2>&1 - EXIT 1 - fi - downloadbin="/tmp/AdGuardHomeupdate/AdGuardHome/AdGuardHome" - else - downloadbin="/tmp/AdGuardHomeupdate/${link##*/}" - fi - chmod 755 $downloadbin - echo -e "download success start copy" - if [ -n "$upxflag" ]; then - echo -e "start upx may take a long time" - doupx - /tmp/upx-${upx_latest_ver}-${Arch}_linux/upx $upxflag $downloadbin - rm -rf /tmp/upx-${upx_latest_ver}-${Arch}_linux - fi - echo -e "start copy" - /etc/init.d/AdGuardHome stop nobackup - rm "$binpath" - mv -f "$downloadbin" "$binpath" - if [ "$?" == "1" ]; then - echo "mv failed maybe not enough space please use upx or change bin to /tmp/AdGuardHome" - EXIT 1 - fi - /etc/init.d/AdGuardHome start - rm -rf "/tmp/AdGuardHomeupdate" >/dev/null 2>&1 - echo -e "Succeeded in updating core." - echo -e "Local version: ${latest_ver}, cloud version: ${latest_ver}.\n" - EXIT 0 -} - -EXIT(){ - rm /var/run/update_core 2>/dev/null - [ "$1" != "0" ] && touch /var/run/update_core_error - exit $1 -} - -main(){ - check_if_already_running - check_latest_version $1 -} - trap "EXIT 1" SIGTERM SIGINT - touch /var/run/update_core - rm /var/run/update_core_error 2>/dev/null - main $1 diff --git a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/waitnet.sh b/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/waitnet.sh deleted file mode 100755 index c7745e101d..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/waitnet.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh - -PATH="/usr/sbin:/usr/bin:/sbin:/bin" -count=0 -while : -do - ping -c 1 -W 1 -q www.baidu.com 1>/dev/null 2>&1 - if [ "$?" == "0" ]; then - /etc/init.d/AdGuardHome force_reload - break - fi - ping -c 1 -W 1 -q 202.108.22.5 1>/dev/null 2>&1 - if [ "$?" == "0" ]; then - /etc/init.d/AdGuardHome force_reload - break - fi - sleep 5 - ping -c 1 -W 1 -q www.google.com 1>/dev/null 2>&1 - if [ "$?" == "0" ]; then - /etc/init.d/AdGuardHome force_reload - break - fi - ping -c 1 -W 1 -q 8.8.8.8 1>/dev/null 2>&1 - if [ "$?" == "0" ]; then - /etc/init.d/AdGuardHome force_reload - break - fi - sleep 5 - count=$((count+1)) - if [ $count -gt 18 ]; then - /etc/init.d/AdGuardHome force_reload - break - fi -done -return 0 diff --git a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/watchconfig.sh b/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/watchconfig.sh deleted file mode 100755 index 61ba09de75..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/usr/share/AdGuardHome/watchconfig.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -PATH="/usr/sbin:/usr/bin:/sbin:/bin" -configpath=$(uci get AdGuardHome.AdGuardHome.configpath) -while : -do - sleep 10 - if [ -f "$configpath" ]; then - /etc/init.d/AdGuardHome do_redirect 1 - break - fi -done -return 0 diff --git a/package/ctcgfw/luci-app-adguardhome/root/usr/share/rpcd/acl.d/luci-app-adguardhome.json b/package/ctcgfw/luci-app-adguardhome/root/usr/share/rpcd/acl.d/luci-app-adguardhome.json deleted file mode 100644 index 485aa62058..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/usr/share/rpcd/acl.d/luci-app-adguardhome.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-adguardhome": { - "description": "Grant UCI access for luci-app-adguardhome", - "read": { - "uci": [ "AdGuardHome" ] - }, - "write": { - "uci": [ "AdGuardHome" ] - } - } -} diff --git a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/addon/fold/foldcode.js b/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/addon/fold/foldcode.js deleted file mode 100644 index f93d42b7fe..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/addon/fold/foldcode.js +++ /dev/null @@ -1 +0,0 @@ -!function(n){"object"==typeof exports&&"object"==typeof module?n(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],n):n(CodeMirror)}(function(n){"use strict";function e(e,o,i,t){if(i&&i.call){var l=i;i=null}else l=r(e,i,"rangeFinder");"number"==typeof o&&(o=n.Pos(o,0));var f=r(e,i,"minFoldSize");function d(n){var r=l(e,o);if(!r||r.to.line-r.from.linee.firstLine();)o=n.Pos(o.line-1,0),u=d(!1);if(u&&!u.cleared&&"unfold"!==t){var a=function(n,e){var o=r(n,e,"widget");if("string"==typeof o){var i=document.createTextNode(o);(o=document.createElement("span")).appendChild(i),o.className="CodeMirror-foldmarker"}else o&&(o=o.cloneNode(!0));return o}(e,i);n.on(a,"mousedown",function(e){c.clear(),n.e_preventDefault(e)});var c=e.markText(u.from,u.to,{replacedWith:a,clearOnEnter:r(e,i,"clearOnEnter"),__isFold:!0});c.on("clear",function(o,r){n.signal(e,"unfold",e,o,r)}),n.signal(e,"fold",e,u.from,u.to)}}n.newFoldFunction=function(n,o){return function(r,i){e(r,i,{rangeFinder:n,widget:o})}},n.defineExtension("foldCode",function(n,o,r){e(this,n,o,r)}),n.defineExtension("isFolded",function(n){for(var e=this.findMarksAt(n),o=0;o=u){if(s&&f&&s.test(f.className))return;i=r(a.indicatorOpen)}}(i||f)&&t.setGutterMarker(n,a.gutter,i)})}function i(t){return new RegExp("(^|\\s)"+t+"(?:$|\\s)\\s*")}function f(t){var o=t.getViewport(),e=t.state.foldGutter;e&&(t.operation(function(){n(t,o.from,o.to)}),e.from=o.from,e.to=o.to)}function a(t,r,n){var i=t.state.foldGutter;if(i){var f=i.options;if(n==f.gutter){var a=e(t,r);a?a.clear():t.foldCode(o(r,0),f)}}}function d(t){var o=t.state.foldGutter;if(o){var e=o.options;o.from=o.to=0,clearTimeout(o.changeUpdate),o.changeUpdate=setTimeout(function(){f(t)},e.foldOnChangeTimeSpan||600)}}function u(t){var o=t.state.foldGutter;if(o){var e=o.options;clearTimeout(o.changeUpdate),o.changeUpdate=setTimeout(function(){var e=t.getViewport();o.from==o.to||e.from-o.to>20||o.from-e.to>20?f(t):t.operation(function(){e.fromo.to&&(n(t,o.to,e.to),o.to=e.to)})},e.updateViewportTimeSpan||400)}}function l(t,o){var e=t.state.foldGutter;if(e){var r=o.line;r>=e.from&&ro))break;r=l}}return r?{from:e.Pos(i.line,t.getLine(i.line).length),to:e.Pos(r,t.getLine(r).length)}:void 0}})}); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/lib/codemirror.css b/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/lib/codemirror.css deleted file mode 100644 index 43ac1a9fab..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/lib/codemirror.css +++ /dev/null @@ -1 +0,0 @@ -.CodeMirror{font-family:monospace;height:500px;color:black;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:white}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:black}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:0;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0 !important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,0.5);-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:bold}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:white}.CodeMirror-scroll{overflow:scroll !important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none !important;border:none !important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0} diff --git a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/lib/codemirror.js b/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/lib/codemirror.js deleted file mode 100644 index d01f072ee4..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/lib/codemirror.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.CodeMirror=t()}(this,function(){"use strict";var e=navigator.userAgent,t=navigator.platform,r=/gecko\/\d/i.test(e),n=/MSIE \d/.test(e),i=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),l=n||i||o,s=l&&(n?document.documentMode||6:+(o||i)[1]),a=!o&&/WebKit\//.test(e),u=a&&/Qt\/\d+\.\d+/.test(e),c=!o&&/Chrome\//.test(e),h=/Opera\//.test(e),f=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),p=/PhantomJS/.test(e),g=!o&&/AppleWebKit/.test(e)&&/Mobile\/\w+/.test(e),v=/Android/.test(e),m=g||v||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),y=g||/Mac/.test(t),b=/\bCrOS\b/.test(e),w=/win/i.test(t),x=h&&e.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(h=!1,a=!0);var C=y&&(u||h&&(null==x||x<12.11)),S=r||l&&s>=9;function L(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var k,T=function(e,t){var r=e.className,n=L(t).exec(r);if(n){var i=r.slice(n.index+n[0].length);e.className=r.slice(0,n.index)+(i?n[1]+i:"")}};function M(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function N(e,t){return M(e).appendChild(t)}function O(e,t,r,n){var i=document.createElement(e);if(r&&(i.className=r),n&&(i.style.cssText=n),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return l+(t-o);l+=s-o,l+=r-l%r,o=s+1}}g?P=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:l&&(P=function(e){try{e.select()}catch(e){}});var R=function(){this.id=null,this.f=null,this.time=0,this.handler=E(this.onTimeout,this)};function B(e,t){for(var r=0;r=t)return n+Math.min(l,t-i);if(i+=o-n,n=o+1,(i+=r-i%r)>=t)return n}}var Y=[""];function _(e){for(;Y.length<=e;)Y.push($(Y)+" ");return Y[e]}function $(e){return e[e.length-1]}function q(e,t){for(var r=[],n=0;n"€"&&(e.toUpperCase()!=e.toLowerCase()||J.test(e))}function te(e,t){return t?!!(t.source.indexOf("\\w")>-1&&ee(e))||t.test(e):ee(e)}function re(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ne=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function ie(e){return e.charCodeAt(0)>=768&&ne.test(e)}function oe(e,t,r){for(;(r<0?t>0:tr?-1:1;;){if(t==r)return t;var i=(t+r)/2,o=n<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:r;e(o)?r=o:t=o+n}}var se=null;function ae(e,t,r){var n;se=null;for(var i=0;it)return i;o.to==t&&(o.from!=o.to&&"before"==r?n=i:se=i),o.from==t&&(o.from!=o.to&&"before"!=r?n=i:se=i)}return null!=n?n:se}var ue=function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,n=/[stwN]/,i=/[LRr]/,o=/[Lb1n]/,l=/[1n]/;function s(e,t,r){this.level=e,this.from=t,this.to=r}return function(a,u){var c="ltr"==u?"L":"R";if(0==a.length||"ltr"==u&&!r.test(a))return!1;for(var h,f=a.length,d=[],p=0;p-1&&(n[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function ge(e,t){var r=de(e,t);if(r.length)for(var n=Array.prototype.slice.call(arguments,2),i=0;i0}function be(e){e.prototype.on=function(e,t){fe(this,e,t)},e.prototype.off=function(e,t){pe(this,e,t)}}function we(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function xe(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ce(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Se(e){we(e),xe(e)}function Le(e){return e.target||e.srcElement}function ke(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),y&&e.ctrlKey&&1==t&&(t=3),t}var Te,Me,Ne=function(){if(l&&s<9)return!1;var e=O("div");return"draggable"in e||"dragDrop"in e}();function Oe(e){if(null==Te){var t=O("span","​");N(e,O("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Te=t.offsetWidth<=1&&t.offsetHeight>2&&!(l&&s<8))}var r=Te?O("span","​"):O("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return r.setAttribute("cm-text",""),r}function Ae(e){if(null!=Me)return Me;var t=N(e,document.createTextNode("AخA")),r=k(t,0,1).getBoundingClientRect(),n=k(t,1,2).getBoundingClientRect();return M(e),!(!r||r.left==r.right)&&(Me=n.right-r.right<3)}var De,We=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,r=[],n=e.length;t<=n;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),l=o.indexOf("\r");-1!=l?(r.push(o.slice(0,l)),t+=l+1):(r.push(o),t=i+1)}return r}:function(e){return e.split(/\r\n?|\n/)},He=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},Fe="oncopy"in(De=O("div"))||(De.setAttribute("oncopy","return;"),"function"==typeof De.oncopy),Pe=null;var Ee={},Ie={};function ze(e){if("string"==typeof e&&Ie.hasOwnProperty(e))e=Ie[e];else if(e&&"string"==typeof e.name&&Ie.hasOwnProperty(e.name)){var t=Ie[e.name];"string"==typeof t&&(t={name:t}),(e=Q(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return ze("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return ze("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function Re(e,t){t=ze(t);var r=Ee[t.name];if(!r)return Re(e,"text/plain");var n=r(e,t);if(Be.hasOwnProperty(t.name)){var i=Be[t.name];for(var o in i)i.hasOwnProperty(o)&&(n.hasOwnProperty(o)&&(n["_"+o]=n[o]),n[o]=i[o])}if(n.name=t.name,t.helperType&&(n.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)n[l]=t.modeProps[l];return n}var Be={};function Ge(e,t){I(t,Be.hasOwnProperty(e)?Be[e]:Be[e]={})}function Ue(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var r={};for(var n in t){var i=t[n];i instanceof Array&&(i=i.concat([])),r[n]=i}return r}function Ve(e,t){for(var r;e.innerMode&&(r=e.innerMode(t))&&r.mode!=e;)t=r.state,e=r.mode;return r||{mode:e,state:t}}function Ke(e,t,r){return!e.startState||e.startState(t,r)}var je=function(e,t,r){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=r};function Xe(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var r=e;!r.lines;)for(var n=0;;++n){var i=r.children[n],o=i.chunkSize();if(t=e.first&&tr?et(r,Xe(e,r).text.length):function(e,t){var r=e.ch;return null==r||r>t?et(e.line,t):r<0?et(e.line,0):e}(t,Xe(e,t.line).text.length)}function at(e,t){for(var r=[],n=0;n=this.string.length},je.prototype.sol=function(){return this.pos==this.lineStart},je.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},je.prototype.next=function(){if(this.post},je.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},je.prototype.skipToEnd=function(){this.pos=this.string.length},je.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},je.prototype.backUp=function(e){this.pos-=e},je.prototype.column=function(){return this.lastColumnPos0?null:(n&&!1!==t&&(this.pos+=n[0].length),n)}var i=function(e){return r?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},je.prototype.current=function(){return this.string.slice(this.start,this.pos)},je.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},je.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},je.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ut=function(e,t){this.state=e,this.lookAhead=t},ct=function(e,t,r,n){this.state=t,this.doc=e,this.line=r,this.maxLookAhead=n||0,this.baseTokens=null,this.baseTokenPos=1};function ht(e,t,r,n){var i=[e.state.modeGen],o={};wt(e,t.text,e.doc.mode,r,function(e,t){return i.push(e,t)},o,n);for(var l=r.state,s=function(n){r.baseTokens=i;var s=e.state.overlays[n],a=1,u=0;r.state=!0,wt(e,t.text,s.mode,r,function(e,t){for(var r=a;ue&&i.splice(a,1,e,i[a+1],n),a+=2,u=Math.min(e,n)}if(t)if(s.opaque)i.splice(r,a-r,e,"overlay "+t),a=r+2;else for(;re.options.maxHighlightLength&&Ue(e.doc.mode,n.state),o=ht(e,t,n);i&&(n.state=i),t.stateAfter=n.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),r===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function dt(e,t,r){var n=e.doc,i=e.display;if(!n.mode.startState)return new ct(n,!0,t);var o=function(e,t,r){for(var n,i,o=e.doc,l=r?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>l;--s){if(s<=o.first)return o.first;var a=Xe(o,s-1),u=a.stateAfter;if(u&&(!r||s+(u instanceof ut?u.lookAhead:0)<=o.modeFrontier))return s;var c=z(a.text,null,e.options.tabSize);(null==i||n>c)&&(i=s-1,n=c)}return i}(e,t,r),l=o>n.first&&Xe(n,o-1).stateAfter,s=l?ct.fromSaved(n,l,o):new ct(n,Ke(n.mode),o);return n.iter(o,t,function(r){pt(e,r.text,s);var n=s.line;r.stateAfter=n==t-1||n%5==0||n>=i.viewFrom&&nt.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}ct.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ct.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},ct.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ct.fromSaved=function(e,t,r){return t instanceof ut?new ct(e,Ue(e.mode,t.state),r,t.lookAhead):new ct(e,Ue(e.mode,t),r)},ct.prototype.save=function(e){var t=!1!==e?Ue(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ut(t,this.maxLookAhead):t};var mt=function(e,t,r){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=r};function yt(e,t,r,n){var i,o,l=e.doc,s=l.mode,a=Xe(l,(t=st(l,t)).line),u=dt(e,t.line,r),c=new je(a.text,e.options.tabSize,u);for(n&&(o=[]);(n||c.pose.options.maxHighlightLength?(s=!1,l&&pt(e,t,n,h.pos),h.pos=t.length,a=null):a=bt(vt(r,h,n.state,f),o),f){var d=f[0].name;d&&(a="m-"+(a?d+" "+a:d))}if(!s||c!=a){for(;u=t:o.to>t);(n||(n=[])).push(new St(l,o.from,s?null:o.to))}}return n}(r,i,l),a=function(e,t,r){var n;if(e)for(var i=0;i=t:o.to>t)||o.from==t&&"bookmark"==l.type&&(!r||o.marker.insertLeft)){var s=null==o.from||(l.inclusiveLeft?o.from<=t:o.from0&&s)for(var b=0;bt)&&(!r||Wt(r,o.marker)<0)&&(r=o.marker)}return r}function It(e,t,r,n,i){var o=Xe(e,t),l=Ct&&o.markedSpans;if(l)for(var s=0;s=0&&h<=0||c<=0&&h>=0)&&(c<=0&&(a.marker.inclusiveRight&&i.inclusiveLeft?tt(u.to,r)>=0:tt(u.to,r)>0)||c>=0&&(a.marker.inclusiveRight&&i.inclusiveLeft?tt(u.from,n)<=0:tt(u.from,n)<0)))return!0}}}function zt(e){for(var t;t=Ft(e);)e=t.find(-1,!0).line;return e}function Rt(e,t){var r=Xe(e,t),n=zt(r);return r==n?t:qe(n)}function Bt(e,t){if(t>e.lastLine())return t;var r,n=Xe(e,t);if(!Gt(e,n))return t;for(;r=Pt(n);)n=r.find(1,!0).line;return qe(n)+1}function Gt(e,t){var r=Ct&&t.markedSpans;if(r)for(var n=void 0,i=0;it.maxLineLength&&(t.maxLineLength=r,t.maxLine=e)})}var Xt=function(e,t,r){this.text=e,Ot(this,t),this.height=r?r(this):1};function Yt(e){e.parent=null,Nt(e)}Xt.prototype.lineNo=function(){return qe(this)},be(Xt);var _t={},$t={};function qt(e,t){if(!e||/^\s*$/.test(e))return null;var r=t.addModeClass?$t:_t;return r[e]||(r[e]=e.replace(/\S+/g,"cm-$&"))}function Zt(e,t){var r=A("span",null,null,a?"padding-right: .1px":null),n={pre:A("pre",[r],"CodeMirror-line"),content:r,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,l=void 0;n.pos=0,n.addToken=Jt,Ae(e.display.measure)&&(l=ce(o,e.doc.direction))&&(n.addToken=er(n.addToken,l)),n.map=[],rr(o,n,ft(e,o,t!=e.display.externalMeasured&&qe(o))),o.styleClasses&&(o.styleClasses.bgClass&&(n.bgClass=F(o.styleClasses.bgClass,n.bgClass||"")),o.styleClasses.textClass&&(n.textClass=F(o.styleClasses.textClass,n.textClass||""))),0==n.map.length&&n.map.push(0,0,n.content.appendChild(Oe(e.display.measure))),0==i?(t.measure.map=n.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(n.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(a){var s=n.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(n.content.className="cm-tab-wrap-hack")}return ge(e,"renderLine",e,t.line,n.pre),n.pre.className&&(n.textClass=F(n.pre.className,n.textClass||"")),n}function Qt(e){var t=O("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Jt(e,t,r,n,i,o,a){if(t){var u,c=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var r=t,n="",i=0;iu&&h.from<=u);f++);if(h.to>=c)return e(r,n,i,o,l,s,a);e(r,n.slice(0,h.to-u),i,o,null,s,a),o=null,n=n.slice(h.to-u),u=h.to}}}function tr(e,t,r,n){var i=!n&&r.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!n&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",r.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function rr(e,t,r){var n=e.markedSpans,i=e.text,o=0;if(n)for(var l,s,a,u,c,h,f,d=i.length,p=0,g=1,v="",m=0;;){if(m==p){a=u=c=s="",f=null,h=null,m=1/0;for(var y=[],b=void 0,w=0;wp||C.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&m>x.to&&(m=x.to,u=""),C.className&&(a+=" "+C.className),C.css&&(s=(s?s+";":"")+C.css),C.startStyle&&x.from==p&&(c+=" "+C.startStyle),C.endStyle&&x.to==m&&(b||(b=[])).push(C.endStyle,x.to),C.title&&((f||(f={})).title=C.title),C.attributes)for(var S in C.attributes)(f||(f={}))[S]=C.attributes[S];C.collapsed&&(!h||Wt(h.marker,C)<0)&&(h=x)}else x.from>p&&m>x.from&&(m=x.from)}if(b)for(var L=0;L=d)break;for(var T=Math.min(d,m);;){if(v){var M=p+v.length;if(!h){var N=M>T?v.slice(0,T-p):v;t.addToken(t,N,l?l+a:a,c,p+N.length==m?u:"",s,f)}if(M>=T){v=v.slice(T-p),p=T;break}p=M,c=""}v=i.slice(o,o=r[g++]),l=qt(r[g++],t.cm.options)}}else for(var O=1;Or)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function Or(e,t,r,n){return Wr(e,Dr(e,t),r,n)}function Ar(e,t){if(t>=e.display.viewFrom&&t=r.lineN&&t2&&o.push((a.bottom+u.top)/2-r.top)}}o.push(r.bottom-r.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,r,n){var i,o=Pr(t.map,r,n),a=o.node,u=o.start,c=o.end,h=o.collapse;if(3==a.nodeType){for(var f=0;f<4;f++){for(;u&&ie(t.line.text.charAt(o.coverStart+u));)--u;for(;o.coverStart+c1}(e))return t;var r=screen.logicalXDPI/screen.deviceXDPI,n=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*r,right:t.right*r,top:t.top*n,bottom:t.bottom*n}}(e.display.measure,i))}else{var d;u>0&&(h=n="right"),i=e.options.lineWrapping&&(d=a.getClientRects()).length>1?d["right"==n?d.length-1:0]:a.getBoundingClientRect()}if(l&&s<9&&!u&&(!i||!i.left&&!i.right)){var p=a.parentNode.getClientRects()[0];i=p?{left:p.left,right:p.left+tn(e.display),top:p.top,bottom:p.bottom}:Fr}for(var g=i.top-t.rect.top,v=i.bottom-t.rect.top,m=(g+v)/2,y=t.view.measure.heights,b=0;bt)&&(i=(o=a-s)-1,t>=a&&(l="right")),null!=i){if(n=e[u+2],s==a&&r==(n.insertLeft?"left":"right")&&(l=r),"left"==r&&0==i)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)n=e[2+(u-=3)],l="left";if("right"==r&&i==a-s)for(;u=0&&(r=e[i]).left==r.right;i--);return r}function Ir(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=n.text.length?(a=n.text.length,u="before"):a<=0&&(a=0,u="after"),!s)return l("before"==u?a-1:a,"before"==u);function c(e,t,r){return l(r?e-1:e,1==s[t].level!=r)}var h=ae(s,a,u),f=se,d=c(a,h,"before"==u);return null!=f&&(d.other=c(a,f,"before"!=u)),d}function Yr(e,t){var r=0;t=st(e.doc,t),e.options.lineWrapping||(r=tn(e.display)*t.ch);var n=Xe(e.doc,t.line),i=Vt(n)+Cr(e.display);return{left:r,right:r,top:i,bottom:i+n.height}}function _r(e,t,r,n,i){var o=et(e,t,r);return o.xRel=i,n&&(o.outside=n),o}function $r(e,t,r){var n=e.doc;if((r+=e.display.viewOffset)<0)return _r(n.first,0,null,-1,-1);var i=Ze(n,r),o=n.first+n.size-1;if(i>o)return _r(n.first+n.size-1,Xe(n,o).text.length,null,1,1);t<0&&(t=0);for(var l=Xe(n,i);;){var s=Jr(e,l,i,t,r),a=Et(l,s.ch+(s.xRel>0||s.outside>0?1:0));if(!a)return s;var u=a.find(1);if(u.line==i)return u;l=Xe(n,i=u.line)}}function qr(e,t,r,n){n-=Ur(t);var i=t.text.length,o=le(function(t){return Wr(e,r,t-1).bottom<=n},i,0);return{begin:o,end:i=le(function(t){return Wr(e,r,t).top>n},o,i)}}function Zr(e,t,r,n){return r||(r=Dr(e,t)),qr(e,t,r,Vr(e,t,Wr(e,r,n),"line").top)}function Qr(e,t,r,n){return!(e.bottom<=r)&&(e.top>r||(n?e.left:e.right)>t)}function Jr(e,t,r,n,i){i-=Vt(t);var o=Dr(e,t),l=Ur(t),s=0,a=t.text.length,u=!0,c=ce(t,e.doc.direction);if(c){var h=(e.options.lineWrapping?function(e,t,r,n,i,o,l){var s=qr(e,t,n,l),a=s.begin,u=s.end;/\s/.test(t.text.charAt(u-1))&&u--;for(var c=null,h=null,f=0;f=u||d.to<=a)){var p=1!=d.level,g=Wr(e,n,p?Math.min(u,d.to)-1:Math.max(a,d.from)).right,v=gv)&&(c=d,h=v)}}c||(c=i[i.length-1]);c.fromu&&(c={from:c.from,to:u,level:c.level});return c}:function(e,t,r,n,i,o,l){var s=le(function(s){var a=i[s],u=1!=a.level;return Qr(Xr(e,et(r,u?a.to:a.from,u?"before":"after"),"line",t,n),o,l,!0)},0,i.length-1),a=i[s];if(s>0){var u=1!=a.level,c=Xr(e,et(r,u?a.from:a.to,u?"after":"before"),"line",t,n);Qr(c,o,l,!0)&&c.top>l&&(a=i[s-1])}return a})(e,t,r,o,c,n,i);s=(u=1!=h.level)?h.from:h.to-1,a=u?h.to:h.from-1}var f,d,p=null,g=null,v=le(function(t){var r=Wr(e,o,t);return r.top+=l,r.bottom+=l,!!Qr(r,n,i,!1)&&(r.top<=i&&r.left<=n&&(p=t,g=r),!0)},s,a),m=!1;if(g){var y=n-g.left=w.bottom?1:0}return _r(r,v=oe(t.text,v,1),d,m,n-f)}function en(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Hr){Hr=O("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)Hr.appendChild(document.createTextNode("x")),Hr.appendChild(O("br"));Hr.appendChild(document.createTextNode("x"))}N(e.measure,Hr);var r=Hr.offsetHeight/50;return r>3&&(e.cachedTextHeight=r),M(e.measure),r||1}function tn(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=O("span","xxxxxxxxxx"),r=O("pre",[t],"CodeMirror-line-like");N(e.measure,r);var n=t.getBoundingClientRect(),i=(n.right-n.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function rn(e){for(var t=e.display,r={},n={},i=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l){var s=e.display.gutterSpecs[l].className;r[s]=o.offsetLeft+o.clientLeft+i,n[s]=o.clientWidth}return{fixedPos:nn(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:r,gutterWidth:n,wrapperWidth:t.wrapper.clientWidth}}function nn(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function on(e){var t=en(e.display),r=e.options.lineWrapping,n=r&&Math.max(5,e.display.scroller.clientWidth/tn(e.display)-3);return function(i){if(Gt(e.doc,i))return 0;var o=0;if(i.widgets)for(var l=0;l=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var r=e.display.view,n=0;nt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Ct&&Rt(e.doc,t)i.viewFrom?hn(e):(i.viewFrom+=n,i.viewTo+=n);else if(t<=i.viewFrom&&r>=i.viewTo)hn(e);else if(t<=i.viewFrom){var o=fn(e,r,r+n,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=n):hn(e)}else if(r>=i.viewTo){var l=fn(e,t,t,-1);l?(i.view=i.view.slice(0,l.index),i.viewTo=l.lineN):hn(e)}else{var s=fn(e,t,t,-1),a=fn(e,r,r+n,1);s&&a?(i.view=i.view.slice(0,s.index).concat(ir(e,s.lineN,a.lineN)).concat(i.view.slice(a.index)),i.viewTo+=n):hn(e)}var u=i.externalMeasured;u&&(r=i.lineN&&t=n.viewTo)){var o=n.view[an(e,t)];if(null!=o.node){var l=o.changes||(o.changes=[]);-1==B(l,r)&&l.push(r)}}}function hn(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function fn(e,t,r,n){var i,o=an(e,t),l=e.display.view;if(!Ct||r==e.doc.first+e.doc.size)return{index:o,lineN:r};for(var s=e.display.viewFrom,a=0;a0){if(o==l.length-1)return null;i=s+l[o].size-t,o++}else i=s-t;t+=i,r+=i}for(;Rt(e.doc,r)!=r;){if(o==(n<0?0:l.length-1))return null;r+=n*l[o-(n<0?1:0)].size,o+=n}return{index:o,lineN:r}}function dn(e){for(var t=e.display.view,r=0,n=0;n=e.display.viewTo||s.to().linet||t==r&&l.to==t)&&(n(Math.max(l.from,t),Math.min(l.to,r),1==l.level?"rtl":"ltr",o),i=!0)}i||n(t,r,"ltr")}(g,r||0,null==n?f:n,function(e,t,i,h){var v="ltr"==i,m=d(e,v?"left":"right"),y=d(t-1,v?"right":"left"),b=null==r&&0==e,w=null==n&&t==f,x=0==h,C=!g||h==g.length-1;if(y.top-m.top<=3){var S=(u?w:b)&&C,L=(u?b:w)&&x?s:(v?m:y).left,k=S?a:(v?y:m).right;c(L,m.top,k-L,m.bottom)}else{var T,M,N,O;v?(T=u&&b&&x?s:m.left,M=u?a:p(e,i,"before"),N=u?s:p(t,i,"after"),O=u&&w&&C?a:y.right):(T=u?p(e,i,"before"):s,M=!u&&b&&x?a:m.right,N=!u&&w&&C?s:y.left,O=u?p(t,i,"after"):a),c(T,m.top,M-T,m.bottom),m.bottom0?t.blinker=setInterval(function(){return t.cursorDiv.style.visibility=(r=!r)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function wn(e){e.state.focused||(e.display.input.focus(),Cn(e))}function xn(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,Sn(e))},100)}function Cn(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(ge(e,"focus",e,t),e.state.focused=!0,H(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),a&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),bn(e))}function Sn(e,t){e.state.delayingBlurEvent||(e.state.focused&&(ge(e,"blur",e,t),e.state.focused=!1,T(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function Ln(e){for(var t=e.display,r=t.lineDiv.offsetTop,n=0;n.005||f<-.005)&&($e(i.line,a),kn(i.line),i.rest))for(var d=0;de.display.sizerWidth){var p=Math.ceil(u/tn(e.display));p>e.display.maxLineLength&&(e.display.maxLineLength=p,e.display.maxLine=i.line,e.display.maxLineChanged=!0)}}}}function kn(e){if(e.widgets)for(var t=0;t=l&&(o=Ze(t,Vt(Xe(t,a))-e.wrapper.clientHeight),l=a)}return{from:o,to:Math.max(l,o+1)}}function Mn(e,t){var r=e.display,n=en(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:r.scroller.scrollTop,o=Mr(e),l={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+Sr(r),a=t.tops-n;if(t.topi+o){var c=Math.min(t.top,(u?s:t.bottom)-o);c!=i&&(l.scrollTop=c)}var h=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:r.scroller.scrollLeft,f=Tr(e)-(e.options.fixedGutter?r.gutters.offsetWidth:0),d=t.right-t.left>f;return d&&(t.right=t.left+f),t.left<10?l.scrollLeft=0:t.leftf+h-3&&(l.scrollLeft=t.right+(d?0:10)-f),l}function Nn(e,t){null!=t&&(Dn(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function On(e){Dn(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function An(e,t,r){null==t&&null==r||Dn(e),null!=t&&(e.curOp.scrollLeft=t),null!=r&&(e.curOp.scrollTop=r)}function Dn(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Wn(e,Yr(e,t.from),Yr(e,t.to),t.margin))}function Wn(e,t,r,n){var i=Mn(e,{left:Math.min(t.left,r.left),top:Math.min(t.top,r.top)-n,right:Math.max(t.right,r.right),bottom:Math.max(t.bottom,r.bottom)+n});An(e,i.scrollLeft,i.scrollTop)}function Hn(e,t){Math.abs(e.doc.scrollTop-t)<2||(r||oi(e,{top:t}),Fn(e,t,!0),r&&oi(e),ei(e,100))}function Fn(e,t,r){t=Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t),(e.display.scroller.scrollTop!=t||r)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Pn(e,t,r,n){t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth),(r?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!n||(e.doc.scrollLeft=t,ai(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function En(e){var t=e.display,r=t.gutters.offsetWidth,n=Math.round(e.doc.height+Sr(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?r:0,docHeight:n,scrollHeight:n+kr(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:r}}var In=function(e,t,r){this.cm=r;var n=this.vert=O("div",[O("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=O("div",[O("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");n.tabIndex=i.tabIndex=-1,e(n),e(i),fe(n,"scroll",function(){n.clientHeight&&t(n.scrollTop,"vertical")}),fe(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,l&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};In.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,r=e.scrollHeight>e.clientHeight+1,n=e.nativeBarWidth;if(r){this.vert.style.display="block",this.vert.style.bottom=t?n+"px":"0";var i=e.viewHeight-(t?n:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=r?n+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(r?n:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==n&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:r?n:0,bottom:t?n:0}},In.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},In.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},In.prototype.zeroWidthHack=function(){var e=y&&!d?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new R,this.disableVert=new R},In.prototype.enableZeroWidthBar=function(e,t,r){e.style.pointerEvents="auto",t.set(1e3,function n(){var i=e.getBoundingClientRect();("vert"==r?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1))!=e?e.style.pointerEvents="none":t.set(1e3,n)})},In.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var zn=function(){};function Rn(e,t){t||(t=En(e));var r=e.display.barWidth,n=e.display.barHeight;Bn(e,t);for(var i=0;i<4&&r!=e.display.barWidth||n!=e.display.barHeight;i++)r!=e.display.barWidth&&e.options.lineWrapping&&Ln(e),Bn(e,En(e)),r=e.display.barWidth,n=e.display.barHeight}function Bn(e,t){var r=e.display,n=r.scrollbars.update(t);r.sizer.style.paddingRight=(r.barWidth=n.right)+"px",r.sizer.style.paddingBottom=(r.barHeight=n.bottom)+"px",r.heightForcer.style.borderBottom=n.bottom+"px solid transparent",n.right&&n.bottom?(r.scrollbarFiller.style.display="block",r.scrollbarFiller.style.height=n.bottom+"px",r.scrollbarFiller.style.width=n.right+"px"):r.scrollbarFiller.style.display="",n.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(r.gutterFiller.style.display="block",r.gutterFiller.style.height=n.bottom+"px",r.gutterFiller.style.width=t.gutterWidth+"px"):r.gutterFiller.style.display=""}zn.prototype.update=function(){return{bottom:0,right:0}},zn.prototype.setScrollLeft=function(){},zn.prototype.setScrollTop=function(){},zn.prototype.clear=function(){};var Gn={native:In,null:zn};function Un(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&T(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Gn[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),fe(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,r){"horizontal"==r?Pn(e,t):Hn(e,t)},e),e.display.scrollbars.addClass&&H(e.display.wrapper,e.display.scrollbars.addClass)}var Vn=0;function Kn(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Vn},t=e.curOp,or?or.ops.push(t):t.ownsGroup=or={ops:[t],delayedCallbacks:[]}}function jn(e){var t=e.curOp;t&&function(e,t){var r=e.ownsGroup;if(r)try{!function(e){var t=e.delayedCallbacks,r=0;do{for(;r=r.viewTo)||r.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ri(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Yn(e){var t=e.cm,r=t.display;e.updatedDisplay&&Ln(t),e.barMeasure=En(t),r.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Or(t,r.maxLine,r.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(r.scroller.clientWidth,r.sizer.offsetLeft+e.adjustWidthTo+kr(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,r.sizer.offsetLeft+e.adjustWidthTo-Tr(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=r.input.prepareSelection())}function _n(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!p){var o=O("div","​",null,"position: absolute;\n top: "+(t.top-r.viewOffset-Cr(e.display))+"px;\n height: "+(t.bottom-t.top+kr(e)+r.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}(t,function(e,t,r,n){var i;null==n&&(n=0),e.options.lineWrapping||t!=r||(r="before"==(t=t.ch?et(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t).sticky?et(t.line,t.ch+1,"before"):t);for(var o=0;o<5;o++){var l=!1,s=Xr(e,t),a=r&&r!=t?Xr(e,r):s,u=Mn(e,i={left:Math.min(s.left,a.left),top:Math.min(s.top,a.top)-n,right:Math.max(s.left,a.left),bottom:Math.max(s.bottom,a.bottom)+n}),c=e.doc.scrollTop,h=e.doc.scrollLeft;if(null!=u.scrollTop&&(Hn(e,u.scrollTop),Math.abs(e.doc.scrollTop-c)>1&&(l=!0)),null!=u.scrollLeft&&(Pn(e,u.scrollLeft),Math.abs(e.doc.scrollLeft-h)>1&&(l=!0)),!l)break}return i}(t,st(n,e.scrollToPos.from),st(n,e.scrollToPos.to),e.scrollToPos.margin));var i=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(i)for(var l=0;l=e.display.viewTo)){var r=+new Date+e.options.workTime,n=dt(e,t.highlightFrontier),i=[];t.iter(n.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(n.line>=e.display.viewFrom){var l=o.styles,s=o.text.length>e.options.maxHighlightLength?Ue(t.mode,n.state):null,a=ht(e,o,n,!0);s&&(n.state=s),o.styles=a.styles;var u=o.styleClasses,c=a.classes;c?o.styleClasses=c:u&&(o.styleClasses=null);for(var h=!l||l.length!=o.styles.length||u!=c&&(!u||!c||u.bgClass!=c.bgClass||u.textClass!=c.textClass),f=0;!h&&fr)return ei(e,e.options.workDelay),!0}),t.highlightFrontier=n.line,t.modeFrontier=Math.max(t.modeFrontier,n.line),i.length&&qn(e,function(){for(var t=0;t=r.viewFrom&&t.visible.to<=r.viewTo&&(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo)&&r.renderedView==r.view&&0==dn(e))return!1;ui(e)&&(hn(e),t.dims=rn(e));var i=n.first+n.size,o=Math.max(t.visible.from-e.options.viewportMargin,n.first),l=Math.min(i,t.visible.to+e.options.viewportMargin);r.viewFroml&&r.viewTo-l<20&&(l=Math.min(i,r.viewTo)),Ct&&(o=Rt(e.doc,o),l=Bt(e.doc,l));var s=o!=r.viewFrom||l!=r.viewTo||r.lastWrapHeight!=t.wrapperHeight||r.lastWrapWidth!=t.wrapperWidth;!function(e,t,r){var n=e.display;0==n.view.length||t>=n.viewTo||r<=n.viewFrom?(n.view=ir(e,t,r),n.viewFrom=t):(n.viewFrom>t?n.view=ir(e,t,n.viewFrom).concat(n.view):n.viewFromr&&(n.view=n.view.slice(0,an(e,r)))),n.viewTo=r}(e,o,l),r.viewOffset=Vt(Xe(e.doc,r.viewFrom)),e.display.mover.style.top=r.viewOffset+"px";var u=dn(e);if(!s&&0==u&&!t.force&&r.renderedView==r.view&&(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo))return!1;var c=function(e){if(e.hasFocus())return null;var t=W();if(!t||!D(e.display.lineDiv,t))return null;var r={activeElt:t};if(window.getSelection){var n=window.getSelection();n.anchorNode&&n.extend&&D(e.display.lineDiv,n.anchorNode)&&(r.anchorNode=n.anchorNode,r.anchorOffset=n.anchorOffset,r.focusNode=n.focusNode,r.focusOffset=n.focusOffset)}return r}(e);return u>4&&(r.lineDiv.style.display="none"),function(e,t,r){var n=e.display,i=e.options.lineNumbers,o=n.lineDiv,l=o.firstChild;function s(t){var r=t.nextSibling;return a&&y&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),r}for(var u=n.view,c=n.viewFrom,h=0;h-1&&(d=!1),ur(e,f,c,r)),d&&(M(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(Je(e.options,c)))),l=f.node.nextSibling}else{var p=vr(e,f,c,r);o.insertBefore(p,l)}c+=f.size}for(;l;)l=s(l)}(e,r.updateLineNumbers,t.dims),u>4&&(r.lineDiv.style.display=""),r.renderedView=r.view,function(e){if(e&&e.activeElt&&e.activeElt!=W()&&(e.activeElt.focus(),e.anchorNode&&D(document.body,e.anchorNode)&&D(document.body,e.focusNode))){var t=window.getSelection(),r=document.createRange();r.setEnd(e.anchorNode,e.anchorOffset),r.collapse(!1),t.removeAllRanges(),t.addRange(r),t.extend(e.focusNode,e.focusOffset)}}(c),M(r.cursorDiv),M(r.selectionDiv),r.gutters.style.height=r.sizer.style.minHeight=0,s&&(r.lastWrapHeight=t.wrapperHeight,r.lastWrapWidth=t.wrapperWidth,ei(e,400)),r.updateLineNumbers=null,!0}function ii(e,t){for(var r=t.viewport,n=!0;(n&&e.options.lineWrapping&&t.oldDisplayWidth!=Tr(e)||(r&&null!=r.top&&(r={top:Math.min(e.doc.height+Sr(e.display)-Mr(e),r.top)}),t.visible=Tn(e.display,e.doc,r),!(t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)))&&ni(e,t);n=!1){Ln(e);var i=En(e);pn(e),Rn(e,i),si(e,i),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function oi(e,t){var r=new ri(e,t);if(ni(e,r)){Ln(e),ii(e,r);var n=En(e);pn(e),Rn(e,n),si(e,n),r.finish()}}function li(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px"}function si(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+kr(e)+"px"}function ai(e){var t=e.display,r=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var n=nn(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=n+"px",l=0;ls.clientWidth,c=s.scrollHeight>s.clientHeight;if(i&&u||o&&c){if(o&&y&&a)e:for(var f=t.target,d=l.view;f!=s;f=f.parentNode)for(var p=0;p=0&&tt(e,n.to())<=0)return r}return-1};var bi=function(e,t){this.anchor=e,this.head=t};function wi(e,t,r){var n=e&&e.options.selectionsMayTouch,i=t[r];t.sort(function(e,t){return tt(e.from(),t.from())}),r=B(t,i);for(var o=1;o0:a>=0){var u=ot(s.from(),l.from()),c=it(s.to(),l.to()),h=s.empty()?l.from()==l.head:s.from()==s.head;o<=r&&--r,t.splice(--o,2,new bi(h?c:u,h?u:c))}}return new yi(t,r)}function xi(e,t){return new yi([new bi(e,t||e)],0)}function Ci(e){return e.text?et(e.from.line+e.text.length-1,$(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Si(e,t){if(tt(e,t.from)<0)return e;if(tt(e,t.to)<=0)return Ci(t);var r=e.line+t.text.length-(t.to.line-t.from.line)-1,n=e.ch;return e.line==t.to.line&&(n+=Ci(t).ch-t.to.ch),et(r,n)}function Li(e,t){for(var r=[],n=0;n1&&e.remove(s.line+1,p-1),e.insert(s.line+1,m)}sr(e,"change",e,t)}function Ai(e,t,r){!function e(n,i,o){if(n.linked)for(var l=0;ls-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Pi(e.done),$(e.done)):e.done.length&&!$(e.done).ranges?$(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),$(e.done)):void 0}(i,i.lastOp==n)))l=$(o.changes),0==tt(t.from,t.to)&&0==tt(t.from,l.to)?l.to=Ci(t):o.changes.push(Fi(e,t));else{var a=$(i.done);for(a&&a.ranges||zi(e.sel,i.done),o={changes:[Fi(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(r),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=n,i.lastOrigin=i.lastSelOrigin=t.origin,l||ge(e,"historyAdded")}function Ii(e,t,r,n){var i=e.history,o=n&&n.origin;r==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,r,n){var i=t.charAt(0);return"*"==i||"+"==i&&r.ranges.length==n.ranges.length&&r.somethingSelected()==n.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,$(i.done),t))?i.done[i.done.length-1]=t:zi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=r,n&&!1!==n.clearRedo&&Pi(i.undone)}function zi(e,t){var r=$(t);r&&r.ranges&&r.equals(e)||t.push(e)}function Ri(e,t,r,n){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,r),Math.min(e.first+e.size,n),function(r){r.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=r.markedSpans),++o})}function Bi(e){if(!e)return null;for(var t,r=0;r-1&&($(s)[h]=u[h],delete u[h])}}}return n}function Vi(e,t,r,n){if(n){var i=e.anchor;if(r){var o=tt(t,i)<0;o!=tt(r,i)<0?(i=t,t=r):o!=tt(t,r)<0&&(t=r)}return new bi(i,t)}return new bi(r||t,t)}function Ki(e,t,r,n,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),$i(e,new yi([Vi(e.sel.primary(),t,r,i)],0),n)}function ji(e,t,r){for(var n=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(i&&(ge(a,"beforeCursorEnter"),a.explicitlyCleared)){if(o.markedSpans){--l;continue}break}if(!a.atomic)continue;if(r){var h=a.find(n<0?1:-1),f=void 0;if((n<0?c:u)&&(h=ro(e,h,-n,h&&h.line==t.line?o:null)),h&&h.line==t.line&&(f=tt(h,r))&&(n<0?f<0:f>0))return eo(e,h,t,n,i)}var d=a.find(n<0?-1:1);return(n<0?u:c)&&(d=ro(e,d,n,d.line==t.line?o:null)),d?eo(e,d,t,n,i):null}}return t}function to(e,t,r,n,i){var o=n||1,l=eo(e,t,r,o,i)||!i&&eo(e,t,r,o,!0)||eo(e,t,r,-o,i)||!i&&eo(e,t,r,-o,!0);return l||(e.cantEdit=!0,et(e.first,0))}function ro(e,t,r,n){return r<0&&0==t.ch?t.line>e.first?st(e,et(t.line-1)):null:r>0&&t.ch==(n||Xe(e,t.line)).text.length?t.line0)){var c=[a,1],h=tt(u.from,s.from),f=tt(u.to,s.to);(h<0||!l.inclusiveLeft&&!h)&&c.push({from:u.from,to:s.from}),(f>0||!l.inclusiveRight&&!f)&&c.push({from:s.to,to:u.to}),i.splice.apply(i,c),a+=c.length-3}}return i}(e,t.from,t.to);if(n)for(var i=n.length-1;i>=0;--i)lo(e,{from:n[i].from,to:n[i].to,text:i?[""]:t.text,origin:t.origin});else lo(e,t)}}function lo(e,t){if(1!=t.text.length||""!=t.text[0]||0!=tt(t.from,t.to)){var r=Li(e,t);Ei(e,t,r,e.cm?e.cm.curOp.id:NaN),uo(e,t,r,Tt(e,t));var n=[];Ai(e,function(e,r){r||-1!=B(n,e.history)||(po(e.history,t),n.push(e.history)),uo(e,t,null,Tt(e,t))})}}function so(e,t,r){var n=e.cm&&e.cm.state.suppressEdits;if(!n||r){for(var i,o=e.history,l=e.sel,s="undo"==t?o.done:o.undone,a="undo"==t?o.undone:o.done,u=0;u=0;--d){var p=f(d);if(p)return p.v}}}}function ao(e,t){if(0!=t&&(e.first+=t,e.sel=new yi(q(e.sel.ranges,function(e){return new bi(et(e.anchor.line+t,e.anchor.ch),et(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){un(e.cm,e.first,e.first-t,t);for(var r=e.cm.display,n=r.viewFrom;ne.lastLine())){if(t.from.lineo&&(t={from:t.from,to:et(o,Xe(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Ye(e,t.from,t.to),r||(r=Li(e,t)),e.cm?function(e,t,r){var n=e.doc,i=e.display,o=t.from,l=t.to,s=!1,a=o.line;e.options.lineWrapping||(a=qe(zt(Xe(n,o.line))),n.iter(a,l.line+1,function(e){if(e==i.maxLine)return s=!0,!0}));n.sel.contains(t.from,t.to)>-1&&me(e);Oi(n,t,r,on(e)),e.options.lineWrapping||(n.iter(a,o.line+t.text.length,function(e){var t=Kt(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)}),s&&(e.curOp.updateMaxLine=!0));(function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontierr;n--){var i=Xe(e,n).stateAfter;if(i&&(!(i instanceof ut)||n+i.lookAhead1||!(this.children[0]instanceof vo))){var s=[];this.collapse(s),this.children=[new vo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var l=i.lines.length%25+25,s=l;s10);e.parent.maybeSpill()}},iterN:function(e,t,r){for(var n=0;n0||0==l&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=A("span",[o.replacedWith],"CodeMirror-widget"),n.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),n.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(It(e,t.line,t,r,o)||t.line!=r.line&&It(e,r.line,t,r,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ct=!0}o.addToHistory&&Ei(e,{from:t,to:r,origin:"markText"},e.sel,NaN);var s,a=t.line,u=e.cm;if(e.iter(a,r.line+1,function(e){u&&o.collapsed&&!u.options.lineWrapping&&zt(e)==u.display.maxLine&&(s=!0),o.collapsed&&a!=t.line&&$e(e,0),function(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e)}(e,new St(o,a==t.line?t.ch:null,a==r.line?r.ch:null)),++a}),o.collapsed&&e.iter(t.line,r.line+1,function(t){Gt(e,t)&&$e(t,0)}),o.clearOnEnter&&fe(o,"beforeCursorEnter",function(){return o.clear()}),o.readOnly&&(xt=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++wo,o.atomic=!0),u){if(s&&(u.curOp.updateMaxLine=!0),o.collapsed)un(u,t.line,r.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=t.line;c<=r.line;c++)cn(u,c,"text");o.atomic&&Qi(u.doc),sr(u,"markerAdded",u,o)}return o}xo.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Kn(e),ye(this,"clear")){var r=this.find();r&&sr(this,"clear",r.from,r.to)}for(var n=null,i=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=u,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=n&&e&&this.collapsed&&un(e,n,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Qi(e.doc)),e&&sr(e,"markerCleared",e,this,n,i),t&&jn(e),this.parent&&this.parent.clear()}},xo.prototype.find=function(e,t){var r,n;null==e&&"bookmark"==this.type&&(e=1);for(var i=0;i=0;a--)oo(this,n[a]);s?_i(this,s):this.cm&&On(this.cm)}),undo:Jn(function(){so(this,"undo")}),redo:Jn(function(){so(this,"redo")}),undoSelection:Jn(function(){so(this,"undo",!0)}),redoSelection:Jn(function(){so(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,r=0,n=0;n=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,r){e=st(this,e),t=st(this,t);var n=[],i=e.line;return this.iter(e.line,t.line+1,function(o){var l=o.markedSpans;if(l)for(var s=0;s=a.to||null==a.from&&i!=e.line||null!=a.from&&i==t.line&&a.from>=t.ch||r&&!r(a.marker)||n.push(a.marker.parent||a.marker)}++i}),n},getAllMarks:function(){var e=[];return this.iter(function(t){var r=t.markedSpans;if(r)for(var n=0;ne)return t=e,!0;e-=o,++r}),st(this,et(r,t))},indexFromPos:function(e){var t=(e=st(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout(function(){return t.display.input.focus()},20);try{var c=e.dataTransfer.getData("Text");if(c){var h;if(t.state.draggingText&&!t.state.draggingText.copy&&(h=t.listSelections()),qi(t.doc,xi(r,r)),h)for(var f=0;f=0;t--)co(e.doc,"",n[t].from,n[t].to,"+delete");On(e)})}function _o(e,t,r){var n=oe(e.text,t+r,r);return n<0||n>e.text.length?null:n}function $o(e,t,r){var n=_o(e,t.ch,r);return null==n?null:new et(t.line,n,r<0?"after":"before")}function qo(e,t,r,n,i){if(e){var o=ce(r,t.doc.direction);if(o){var l,s=i<0?$(o):o[0],a=i<0==(1==s.level)?"after":"before";if(s.level>0||"rtl"==t.doc.direction){var u=Dr(t,r);l=i<0?r.text.length-1:0;var c=Wr(t,u,l).top;l=le(function(e){return Wr(t,u,e).top==c},i<0==(1==s.level)?s.from:s.to-1,l),"before"==a&&(l=_o(r,l,1))}else l=i<0?s.to:s.from;return new et(n,l,a)}}return new et(n,i<0?r.text.length:0,i<0?"before":"after")}Ro.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Ro.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Ro.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Ro.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Ro.default=y?Ro.macDefault:Ro.pcDefault;var Zo={selectAll:no,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),V)},killLine:function(e){return Yo(e,function(t){if(t.empty()){var r=Xe(e.doc,t.head.line).text.length;return t.head.ch==r&&t.head.line0)i=new et(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),et(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var l=Xe(e.doc,i.line-1).text;l&&(i=new et(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+l.charAt(l.length-1),et(i.line-1,l.length-1),i,"+transpose"))}r.push(new bi(i,i))}e.setSelections(r)})},newlineAndIndent:function(e){return qn(e,function(){for(var t=e.listSelections(),r=t.length-1;r>=0;r--)e.replaceRange(e.doc.lineSeparator(),t[r].anchor,t[r].head,"+input");t=e.listSelections();for(var n=0;n-1&&(tt((i=u.ranges[i]).from(),t)<0||t.xRel>0)&&(tt(i.to(),t)>0||t.xRel<0)?function(e,t,r,n){var i=e.display,o=!1,u=Zn(e,function(t){a&&(i.scroller.draggable=!1),e.state.draggingText=!1,pe(i.wrapper.ownerDocument,"mouseup",u),pe(i.wrapper.ownerDocument,"mousemove",c),pe(i.scroller,"dragstart",h),pe(i.scroller,"drop",u),o||(we(t),n.addNew||Ki(e.doc,r,null,null,n.extend),a||l&&9==s?setTimeout(function(){i.wrapper.ownerDocument.body.focus(),i.input.focus()},20):i.input.focus())}),c=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},h=function(){return o=!0};a&&(i.scroller.draggable=!0);e.state.draggingText=u,u.copy=!n.moveOnDrag,i.scroller.dragDrop&&i.scroller.dragDrop();fe(i.wrapper.ownerDocument,"mouseup",u),fe(i.wrapper.ownerDocument,"mousemove",c),fe(i.scroller,"dragstart",h),fe(i.scroller,"drop",u),xn(e),setTimeout(function(){return i.input.focus()},20)}(e,n,t,o):function(e,t,r,n){var i=e.display,o=e.doc;we(t);var l,s,a=o.sel,u=a.ranges;n.addNew&&!n.extend?(s=o.sel.contains(r),l=s>-1?u[s]:new bi(r,r)):(l=o.sel.primary(),s=o.sel.primIndex);if("rectangle"==n.unit)n.addNew||(l=new bi(r,r)),r=sn(e,t,!0,!0),s=-1;else{var c=dl(e,r,n.unit);l=n.extend?Vi(l,c.anchor,c.head,n.extend):c}n.addNew?-1==s?(s=u.length,$i(o,wi(e,u.concat([l]),s),{scroll:!1,origin:"*mouse"})):u.length>1&&u[s].empty()&&"char"==n.unit&&!n.extend?($i(o,wi(e,u.slice(0,s).concat(u.slice(s+1)),0),{scroll:!1,origin:"*mouse"}),a=o.sel):Xi(o,s,l,K):(s=0,$i(o,new yi([l],0),K),a=o.sel);var h=r;function f(t){if(0!=tt(h,t))if(h=t,"rectangle"==n.unit){for(var i=[],u=e.options.tabSize,c=z(Xe(o,r.line).text,r.ch,u),f=z(Xe(o,t.line).text,t.ch,u),d=Math.min(c,f),p=Math.max(c,f),g=Math.min(r.line,t.line),v=Math.min(e.lastLine(),Math.max(r.line,t.line));g<=v;g++){var m=Xe(o,g).text,y=X(m,d,u);d==p?i.push(new bi(et(g,y),et(g,y))):m.length>y&&i.push(new bi(et(g,y),et(g,X(m,p,u))))}i.length||i.push(new bi(r,r)),$i(o,wi(e,a.ranges.slice(0,s).concat(i),s),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var b,w=l,x=dl(e,t,n.unit),C=w.anchor;tt(x.anchor,C)>0?(b=x.head,C=ot(w.from(),x.anchor)):(b=x.anchor,C=it(w.to(),x.head));var S=a.ranges.slice(0);S[s]=function(e,t){var r=t.anchor,n=t.head,i=Xe(e.doc,r.line);if(0==tt(r,n)&&r.sticky==n.sticky)return t;var o=ce(i);if(!o)return t;var l=ae(o,r.ch,r.sticky),s=o[l];if(s.from!=r.ch&&s.to!=r.ch)return t;var a,u=l+(s.from==r.ch==(1!=s.level)?0:1);if(0==u||u==o.length)return t;if(n.line!=r.line)a=(n.line-r.line)*("ltr"==e.doc.direction?1:-1)>0;else{var c=ae(o,n.ch,n.sticky),h=c-l||(n.ch-r.ch)*(1==s.level?-1:1);a=c==u-1||c==u?h<0:h>0}var f=o[u+(a?-1:0)],d=a==(1==f.level),p=d?f.from:f.to,g=d?"after":"before";return r.ch==p&&r.sticky==g?t:new bi(new et(r.line,p,g),n)}(e,new bi(st(o,C),b)),$i(o,wi(e,S,s),K)}}var d=i.wrapper.getBoundingClientRect(),p=0;function g(t){e.state.selectingText=!1,p=1/0,t&&(we(t),i.input.focus()),pe(i.wrapper.ownerDocument,"mousemove",v),pe(i.wrapper.ownerDocument,"mouseup",m),o.history.lastSelOrigin=null}var v=Zn(e,function(t){0!==t.buttons&&ke(t)?function t(r){var l=++p;var s=sn(e,r,!0,"rectangle"==n.unit);if(!s)return;if(0!=tt(s,h)){e.curOp.focus=W(),f(s);var a=Tn(i,o);(s.line>=a.to||s.lined.bottom?20:0;u&&setTimeout(Zn(e,function(){p==l&&(i.scroller.scrollTop+=u,t(r))}),50)}}(t):g(t)}),m=Zn(e,g);e.state.selectingText=m,fe(i.wrapper.ownerDocument,"mousemove",v),fe(i.wrapper.ownerDocument,"mouseup",m)}(e,n,t,o)}(t,n,o,e):Le(e)==r.scroller&&we(e):2==i?(n&&Ki(t.doc,n),setTimeout(function(){return r.input.focus()},20)):3==i&&(S?t.display.input.onContextMenu(e):xn(t)))}}function dl(e,t,r){if("char"==r)return new bi(t,t);if("word"==r)return e.findWordAt(t);if("line"==r)return new bi(et(t.line,0),st(e.doc,et(t.line+1,0)));var n=r(e,t);return new bi(n.from,n.to)}function pl(e,t,r,n){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(t){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;n&&we(t);var l=e.display,s=l.lineDiv.getBoundingClientRect();if(o>s.bottom||!ye(e,r))return Ce(t);o-=s.top-l.viewOffset;for(var a=0;a=i)return ge(e,r,e,Ze(e.doc,o),e.display.gutterSpecs[a].className,t),Ce(t)}}function gl(e,t){return pl(e,t,"gutterClick",!0)}function vl(e,t){xr(e.display,t)||function(e,t){if(!ye(e,"gutterContextMenu"))return!1;return pl(e,t,"gutterContextMenu",!1)}(e,t)||ve(e,t,"contextmenu")||S||e.display.input.onContextMenu(t)}function ml(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Rr(e)}hl.prototype.compare=function(e,t,r){return this.time+400>e&&0==tt(t,this.pos)&&r==this.button};var yl={toString:function(){return"CodeMirror.Init"}},bl={},wl={};function xl(e,t,r){if(!t!=!(r&&r!=yl)){var n=e.display.dragFunctions,i=t?fe:pe;i(e.display.scroller,"dragstart",n.start),i(e.display.scroller,"dragenter",n.enter),i(e.display.scroller,"dragover",n.over),i(e.display.scroller,"dragleave",n.leave),i(e.display.scroller,"drop",n.drop)}}function Cl(e){e.options.lineWrapping?(H(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(T(e.display.wrapper,"CodeMirror-wrap"),jt(e)),ln(e),un(e),Rr(e),setTimeout(function(){return Rn(e)},100)}function Sl(e,t){var n=this;if(!(this instanceof Sl))return new Sl(e,t);this.options=t=t?I(t):{},I(bl,t,!1);var i=t.value;"string"==typeof i?i=new Mo(i,t.mode,null,t.lineSeparator,t.direction):t.mode&&(i.modeOption=t.mode),this.doc=i;var o=new Sl.inputStyles[t.inputStyle](this),u=this.display=new function(e,t,n,i){var o=this;this.input=n,o.scrollbarFiller=O("div",null,"CodeMirror-scrollbar-filler"),o.scrollbarFiller.setAttribute("cm-not-content","true"),o.gutterFiller=O("div",null,"CodeMirror-gutter-filler"),o.gutterFiller.setAttribute("cm-not-content","true"),o.lineDiv=A("div",null,"CodeMirror-code"),o.selectionDiv=O("div",null,null,"position: relative; z-index: 1"),o.cursorDiv=O("div",null,"CodeMirror-cursors"),o.measure=O("div",null,"CodeMirror-measure"),o.lineMeasure=O("div",null,"CodeMirror-measure"),o.lineSpace=A("div",[o.measure,o.lineMeasure,o.selectionDiv,o.cursorDiv,o.lineDiv],null,"position: relative; outline: none");var u=A("div",[o.lineSpace],"CodeMirror-lines");o.mover=O("div",[u],null,"position: relative"),o.sizer=O("div",[o.mover],"CodeMirror-sizer"),o.sizerWidth=null,o.heightForcer=O("div",null,null,"position: absolute; height: "+G+"px; width: 1px;"),o.gutters=O("div",null,"CodeMirror-gutters"),o.lineGutter=null,o.scroller=O("div",[o.sizer,o.heightForcer,o.gutters],"CodeMirror-scroll"),o.scroller.setAttribute("tabIndex","-1"),o.wrapper=O("div",[o.scrollbarFiller,o.gutterFiller,o.scroller],"CodeMirror"),l&&s<8&&(o.gutters.style.zIndex=-1,o.scroller.style.paddingRight=0),a||r&&m||(o.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(o.wrapper):e(o.wrapper)),o.viewFrom=o.viewTo=t.first,o.reportedViewFrom=o.reportedViewTo=t.first,o.view=[],o.renderedView=null,o.externalMeasured=null,o.viewOffset=0,o.lastWrapHeight=o.lastWrapWidth=0,o.updateLineNumbers=null,o.nativeBarWidth=o.barHeight=o.barWidth=0,o.scrollbarsClipped=!1,o.lineNumWidth=o.lineNumInnerWidth=o.lineNumChars=null,o.alignWidgets=!1,o.cachedCharWidth=o.cachedTextHeight=o.cachedPaddingH=null,o.maxLine=null,o.maxLineLength=0,o.maxLineChanged=!1,o.wheelDX=o.wheelDY=o.wheelStartX=o.wheelStartY=null,o.shift=!1,o.selForContextMenu=null,o.activeTouch=null,o.gutterSpecs=ci(i.gutters,i.lineNumbers),hi(o),n.init(o)}(e,i,o,t);for(var c in u.wrapper.CodeMirror=this,ml(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Un(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new R,keySeq:null,specialChars:null},t.autofocus&&!m&&u.input.focus(),l&&s<11&&setTimeout(function(){return n.display.input.reset(!0)},20),function(e){var t=e.display;fe(t.scroller,"mousedown",Zn(e,fl)),fe(t.scroller,"dblclick",l&&s<11?Zn(e,function(t){if(!ve(e,t)){var r=sn(e,t);if(r&&!gl(e,t)&&!xr(e.display,t)){we(t);var n=e.findWordAt(r);Ki(e.doc,n.anchor,n.head)}}}):function(t){return ve(e,t)||we(t)});fe(t.scroller,"contextmenu",function(t){return vl(e,t)});var r,n={end:0};function i(){t.activeTouch&&(r=setTimeout(function(){return t.activeTouch=null},1e3),(n=t.activeTouch).end=+new Date)}function o(e,t){if(null==t.left)return!0;var r=t.left-e.left,n=t.top-e.top;return r*r+n*n>400}fe(t.scroller,"touchstart",function(i){if(!ve(e,i)&&!function(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}(i)&&!gl(e,i)){t.input.ensurePolled(),clearTimeout(r);var o=+new Date;t.activeTouch={start:o,moved:!1,prev:o-n.end<=300?n:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}}),fe(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),fe(t.scroller,"touchend",function(r){var n=t.activeTouch;if(n&&!xr(t,r)&&null!=n.left&&!n.moved&&new Date-n.start<300){var l,s=e.coordsChar(t.activeTouch,"page");l=!n.prev||o(n,n.prev)?new bi(s,s):!n.prev.prev||o(n,n.prev.prev)?e.findWordAt(s):new bi(et(s.line,0),st(e.doc,et(s.line+1,0))),e.setSelection(l.anchor,l.head),e.focus(),we(r)}i()}),fe(t.scroller,"touchcancel",i),fe(t.scroller,"scroll",function(){t.scroller.clientHeight&&(Hn(e,t.scroller.scrollTop),Pn(e,t.scroller.scrollLeft,!0),ge(e,"scroll",e))}),fe(t.scroller,"mousewheel",function(t){return mi(e,t)}),fe(t.scroller,"DOMMouseScroll",function(t){return mi(e,t)}),fe(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(t){ve(e,t)||Se(t)},over:function(t){ve(e,t)||(!function(e,t){var r=sn(e,t);if(r){var n=document.createDocumentFragment();vn(e,r,n),e.display.dragCursor||(e.display.dragCursor=O("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),N(e.display.dragCursor,n)}}(e,t),Se(t))},start:function(t){return function(e,t){if(l&&(!e.state.draggingText||+new Date-No<100))Se(t);else if(!ve(e,t)&&!xr(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!f)){var r=O("img",null,null,"position: fixed; left: 0; top: 0;");r.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",h&&(r.width=r.height=1,e.display.wrapper.appendChild(r),r._top=r.offsetTop),t.dataTransfer.setDragImage(r,0,0),h&&r.parentNode.removeChild(r)}}(e,t)},drop:Zn(e,Oo),leave:function(t){ve(e,t)||Ao(e)}};var a=t.input.getField();fe(a,"keyup",function(t){return sl.call(e,t)}),fe(a,"keydown",Zn(e,ll)),fe(a,"keypress",Zn(e,al)),fe(a,"focus",function(t){return Cn(e,t)}),fe(a,"blur",function(t){return Sn(e,t)})}(this),Ho(),Kn(this),this.curOp.forceUpdate=!0,Di(this,i),t.autofocus&&!m||this.hasFocus()?setTimeout(E(Cn,this),20):Sn(this),wl)wl.hasOwnProperty(c)&&wl[c](n,t[c],yl);ui(this),t.finishInit&&t.finishInit(this);for(var d=0;d150)){if(!n)return;r="prev"}}else u=0,r="not";"prev"==r?u=t>o.first?z(Xe(o,t-1).text,null,l):0:"add"==r?u=a+e.options.indentUnit:"subtract"==r?u=a-e.options.indentUnit:"number"==typeof r&&(u=a+r),u=Math.max(0,u);var h="",f=0;if(e.options.indentWithTabs)for(var d=Math.floor(u/l);d;--d)f+=l,h+="\t";if(fl,a=We(t),u=null;if(s&&n.ranges.length>1)if(Tl&&Tl.text.join("\n")==t){if(n.ranges.length%Tl.text.length==0){u=[];for(var c=0;c=0;f--){var d=n.ranges[f],p=d.from(),g=d.to();d.empty()&&(r&&r>0?p=et(p.line,p.ch-r):e.state.overwrite&&!s?g=et(g.line,Math.min(Xe(o,g.line).text.length,g.ch+$(a).length)):s&&Tl&&Tl.lineWise&&Tl.text.join("\n")==t&&(p=g=et(p.line,0)));var v={from:p,to:g,text:u?u[f%u.length]:a,origin:i||(s?"paste":e.state.cutIncoming>l?"cut":"+input")};oo(e.doc,v),sr(e,"inputRead",e,v)}t&&!s&&Al(e,t),On(e),e.curOp.updateInput<2&&(e.curOp.updateInput=h),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function Ol(e,t){var r=e.clipboardData&&e.clipboardData.getData("Text");if(r)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||qn(t,function(){return Nl(t,r,0,null,"paste")}),!0}function Al(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var r=e.doc.sel,n=r.ranges.length-1;n>=0;n--){var i=r.ranges[n];if(!(i.head.ch>100||n&&r.ranges[n-1].head.line==i.head.line)){var o=e.getModeAt(i.head),l=!1;if(o.electricChars){for(var s=0;s-1){l=kl(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Xe(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=kl(e,i.head.line,"smart"));l&&sr(e,"electricInput",e,i.head.line)}}}function Dl(e){for(var t=[],r=[],n=0;n=t.text.length?(r.ch=t.text.length,r.sticky="before"):r.ch<=0&&(r.ch=0,r.sticky="after");var o=ae(i,r.ch,r.sticky),l=i[o];if("ltr"==e.doc.direction&&l.level%2==0&&(n>0?l.to>r.ch:l.from=l.from&&f>=c.begin)){var d=h?"before":"after";return new et(r.line,f,d)}}var p=function(e,t,n){for(var o=function(e,t){return t?new et(r.line,a(e,1),"before"):new et(r.line,e,"after")};e>=0&&e0==(1!=l.level),u=s?n.begin:a(n.end,-1);if(l.from<=u&&u0?c.end:a(c.begin,-1);return null==v||n>0&&v==t.text.length||!(g=p(n>0?0:i.length-1,n,u(v)))?null:g}(e.cm,s,t,r):$o(s,t,r))){if(n||(l=t.line+r)=e.first+e.size||(t=new et(l,t.ch,t.sticky),!(s=Xe(e,l))))return!1;t=qo(i,e.cm,s,t.line,r)}else t=o;return!0}if("char"==n)a();else if("column"==n)a(!0);else if("word"==n||"group"==n)for(var u=null,c="group"==n,h=e.cm&&e.cm.getHelper(t,"wordChars"),f=!0;!(r<0)||a(!f);f=!1){var d=s.text.charAt(t.ch)||"\n",p=te(d,h)?"w":c&&"\n"==d?"n":!c||/\s/.test(d)?null:"p";if(!c||f||p||(p="s"),u&&u!=p){r<0&&(r=1,a(),t.sticky="after");break}if(p&&(u=p),r>0&&!a(!f))break}var g=to(e,t,o,l,!0);return rt(o,g)&&(g.hitSide=!0),g}function Pl(e,t,r,n){var i,o,l=e.doc,s=t.left;if("page"==n){var a=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),u=Math.max(a-.5*en(e.display),3);i=(r>0?t.bottom:t.top)+r*u}else"line"==n&&(i=r>0?t.bottom+3:t.top-3);for(;(o=$r(e,s,i)).outside;){if(r<0?i<=0:i>=l.height){o.hitSide=!0;break}i+=5*r}return o}var El=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new R,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Il(e,t){var r=Ar(e,t.line);if(!r||r.hidden)return null;var n=Xe(e.doc,t.line),i=Nr(r,n,t.line),o=ce(n,e.doc.direction),l="left";o&&(l=ae(o,t.ch)%2?"right":"left");var s=Pr(i.map,t.ch,l);return s.offset="right"==s.collapse?s.end:s.start,s}function zl(e,t){return t&&(e.bad=!0),e}function Rl(e,t,r){var n;if(t==e.display.lineDiv){if(!(n=e.display.lineDiv.childNodes[r]))return zl(e.clipPos(et(e.display.viewTo-1)),!0);t=null,r=0}else for(n=t;;n=n.parentNode){if(!n||n==e.display.lineDiv)return null;if(n.parentNode&&n.parentNode==e.display.lineDiv)break}for(var i=0;i=t.display.viewTo||o.line=t.display.viewFrom&&Il(t,i)||{node:a[0].measure.map[2],offset:0},c=o.linen.firstLine()&&(l=et(l.line-1,Xe(n.doc,l.line-1).length)),s.ch==Xe(n.doc,s.line).text.length&&s.linei.viewTo-1)return!1;l.line==i.viewFrom||0==(e=an(n,l.line))?(t=qe(i.view[0].line),r=i.view[0].node):(t=qe(i.view[e].line),r=i.view[e-1].node.nextSibling);var a,u,c=an(n,s.line);if(c==i.view.length-1?(a=i.viewTo-1,u=i.lineDiv.lastChild):(a=qe(i.view[c+1].line)-1,u=i.view[c+1].node.previousSibling),!r)return!1;for(var h=n.doc.splitLines(function(e,t,r,n,i){var o="",l=!1,s=e.doc.lineSeparator(),a=!1;function u(){l&&(o+=s,a&&(o+=s),l=a=!1)}function c(e){e&&(u(),o+=e)}function h(t){if(1==t.nodeType){var r=t.getAttribute("cm-text");if(r)return void c(r);var o,f=t.getAttribute("cm-marker");if(f){var d=e.findMarks(et(n,0),et(i+1,0),(v=+f,function(e){return e.id==v}));return void(d.length&&(o=d[0].find(0))&&c(Ye(e.doc,o.from,o.to).join(s)))}if("false"==t.getAttribute("contenteditable"))return;var p=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;p&&u();for(var g=0;g1&&f.length>1;)if($(h)==$(f))h.pop(),f.pop(),a--;else{if(h[0]!=f[0])break;h.shift(),f.shift(),t++}for(var d=0,p=0,g=h[0],v=f[0],m=Math.min(g.length,v.length);dl.ch&&y.charCodeAt(y.length-p-1)==b.charCodeAt(b.length-p-1);)d--,p++;h[h.length-1]=y.slice(0,y.length-p).replace(/^\u200b+/,""),h[0]=h[0].slice(d).replace(/\u200b+$/,"");var x=et(t,d),C=et(a,f.length?$(f).length-p:0);return h.length>1||h[0]||tt(x,C)?(co(n.doc,h,x,C,"+input"),!0):void 0},El.prototype.ensurePolled=function(){this.forceCompositionEnd()},El.prototype.reset=function(){this.forceCompositionEnd()},El.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},El.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80))},El.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||qn(this.cm,function(){return un(e.cm)})},El.prototype.setUneditable=function(e){e.contentEditable="false"},El.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||Zn(this.cm,Nl)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},El.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},El.prototype.onContextMenu=function(){},El.prototype.resetPosition=function(){},El.prototype.needsContentAttribute=!0;var Gl=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new R,this.hasSelection=!1,this.composing=null};Gl.prototype.init=function(e){var t=this,r=this,n=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!ve(n,e)){if(n.somethingSelected())Ml({lineWise:!1,text:n.getSelections()});else{if(!n.options.lineWiseCopyCut)return;var t=Dl(n);Ml({lineWise:!0,text:t.text}),"cut"==e.type?n.setSelections(t.ranges,null,V):(r.prevInput="",i.value=t.text.join("\n"),P(i))}"cut"==e.type&&(n.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),g&&(i.style.width="0px"),fe(i,"input",function(){l&&s>=9&&t.hasSelection&&(t.hasSelection=null),r.poll()}),fe(i,"paste",function(e){ve(n,e)||Ol(e,n)||(n.state.pasteIncoming=+new Date,r.fastPoll())}),fe(i,"cut",o),fe(i,"copy",o),fe(e.scroller,"paste",function(t){if(!xr(e,t)&&!ve(n,t)){if(!i.dispatchEvent)return n.state.pasteIncoming=+new Date,void r.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}}),fe(e.lineSpace,"selectstart",function(t){xr(e,t)||we(t)}),fe(i,"compositionstart",function(){var e=n.getCursor("from");r.composing&&r.composing.range.clear(),r.composing={start:e,range:n.markText(e,n.getCursor("to"),{className:"CodeMirror-composing"})}}),fe(i,"compositionend",function(){r.composing&&(r.poll(),r.composing.range.clear(),r.composing=null)})},Gl.prototype.createField=function(e){this.wrapper=Hl(),this.textarea=this.wrapper.firstChild},Gl.prototype.prepareSelection=function(){var e=this.cm,t=e.display,r=e.doc,n=gn(e);if(e.options.moveInputWithCursor){var i=Xr(e,r.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),l=t.lineDiv.getBoundingClientRect();n.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+l.top-o.top)),n.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+l.left-o.left))}return n},Gl.prototype.showSelection=function(e){var t=this.cm.display;N(t.cursorDiv,e.cursors),N(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Gl.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var r=t.getSelection();this.textarea.value=r,t.state.focused&&P(this.textarea),l&&s>=9&&(this.hasSelection=r)}else e||(this.prevInput=this.textarea.value="",l&&s>=9&&(this.hasSelection=null))}},Gl.prototype.getField=function(){return this.textarea},Gl.prototype.supportsTouch=function(){return!1},Gl.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!m||W()!=this.textarea))try{this.textarea.focus()}catch(e){}},Gl.prototype.blur=function(){this.textarea.blur()},Gl.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Gl.prototype.receivedFocus=function(){this.slowPoll()},Gl.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},Gl.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,function r(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,r))})},Gl.prototype.poll=function(){var e=this,t=this.cm,r=this.textarea,n=this.prevInput;if(this.contextMenuPending||!t.state.focused||He(r)&&!n&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=r.value;if(i==n&&!t.somethingSelected())return!1;if(l&&s>=9&&this.hasSelection===i||y&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||n||(n="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var a=0,u=Math.min(n.length,i.length);a1e3||i.indexOf("\n")>-1?r.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Gl.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Gl.prototype.onKeyPress=function(){l&&s>=9&&(this.hasSelection=null),this.fastPoll()},Gl.prototype.onContextMenu=function(e){var t=this,r=t.cm,n=r.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=sn(r,e),u=n.scroller.scrollTop;if(o&&!h){r.options.resetSelectionOnContextMenu&&-1==r.doc.sel.contains(o)&&Zn(r,$i)(r.doc,xi(o),V);var c,f=i.style.cssText,d=t.wrapper.style.cssText,p=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-p.top-5)+"px; left: "+(e.clientX-p.left-5)+"px;\n z-index: 1000; background: "+(l?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",a&&(c=window.scrollY),n.input.focus(),a&&window.scrollTo(null,c),n.input.reset(),r.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=m,n.selForContextMenu=r.doc.sel,clearTimeout(n.detectingSelectAll),l&&s>=9&&v(),S){Se(e);var g=function(){pe(window,"mouseup",g),setTimeout(m,20)};fe(window,"mouseup",g)}else setTimeout(m,50)}function v(){if(null!=i.selectionStart){var e=r.somethingSelected(),o="​"+(e?i.value:"");i.value="⇚",i.value=o,t.prevInput=e?"":"​",i.selectionStart=1,i.selectionEnd=o.length,n.selForContextMenu=r.doc.sel}}function m(){if(t.contextMenuPending==m&&(t.contextMenuPending=!1,t.wrapper.style.cssText=d,i.style.cssText=f,l&&s<9&&n.scrollbars.setScrollTop(n.scroller.scrollTop=u),null!=i.selectionStart)){(!l||l&&s<9)&&v();var e=0,o=function(){n.selForContextMenu==r.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"​"==t.prevInput?Zn(r,no)(r):e++<10?n.detectingSelectAll=setTimeout(o,500):(n.selForContextMenu=null,n.input.reset())};n.detectingSelectAll=setTimeout(o,200)}}},Gl.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e},Gl.prototype.setUneditable=function(){},Gl.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function r(r,n,i,o){e.defaults[r]=n,i&&(t[r]=o?function(e,t,r){r!=yl&&i(e,t,r)}:i)}e.defineOption=r,e.Init=yl,r("value","",function(e,t){return e.setValue(t)},!0),r("mode",null,function(e,t){e.doc.modeOption=t,Ti(e)},!0),r("indentUnit",2,Ti,!0),r("indentWithTabs",!1),r("smartIndent",!0),r("tabSize",4,function(e){Mi(e),Rr(e),un(e)},!0),r("lineSeparator",null,function(e,t){if(e.doc.lineSep=t,t){var r=[],n=e.doc.first;e.doc.iter(function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,r.push(et(n,o))}n++});for(var i=r.length-1;i>=0;i--)co(e.doc,t,r[i],et(r[i].line,r[i].ch+t.length))}}),r("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,function(e,t,r){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),r!=yl&&e.refresh()}),r("specialCharPlaceholder",Qt,function(e){return e.refresh()},!0),r("electricChars",!0),r("inputStyle",m?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),r("spellcheck",!1,function(e,t){return e.getInputField().spellcheck=t},!0),r("autocorrect",!1,function(e,t){return e.getInputField().autocorrect=t},!0),r("autocapitalize",!1,function(e,t){return e.getInputField().autocapitalize=t},!0),r("rtlMoveVisually",!w),r("wholeLineUpdateBefore",!0),r("theme","default",function(e){ml(e),fi(e)},!0),r("keyMap","default",function(e,t,r){var n=Xo(t),i=r!=yl&&Xo(r);i&&i.detach&&i.detach(e,n),n.attach&&n.attach(e,i||null)}),r("extraKeys",null),r("configureMouse",null),r("lineWrapping",!1,Cl,!0),r("gutters",[],function(e,t){e.display.gutterSpecs=ci(t,e.options.lineNumbers),fi(e)},!0),r("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?nn(e.display)+"px":"0",e.refresh()},!0),r("coverGutterNextToScrollbar",!1,function(e){return Rn(e)},!0),r("scrollbarStyle","native",function(e){Un(e),Rn(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),r("lineNumbers",!1,function(e,t){e.display.gutterSpecs=ci(e.options.gutters,t),fi(e)},!0),r("firstLineNumber",1,fi,!0),r("lineNumberFormatter",function(e){return e},fi,!0),r("showCursorWhenSelecting",!1,pn,!0),r("resetSelectionOnContextMenu",!0),r("lineWiseCopyCut",!0),r("pasteLinesPerSelection",!0),r("selectionsMayTouch",!1),r("readOnly",!1,function(e,t){"nocursor"==t&&(Sn(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),r("disableInput",!1,function(e,t){t||e.display.input.reset()},!0),r("dragDrop",!0,xl),r("allowDropFileTypes",null),r("cursorBlinkRate",530),r("cursorScrollMargin",0),r("cursorHeight",1,pn,!0),r("singleCursorHeightPerLine",!0,pn,!0),r("workTime",100),r("workDelay",100),r("flattenSpans",!0,Mi,!0),r("addModeClass",!1,Mi,!0),r("pollInterval",100),r("undoDepth",200,function(e,t){return e.doc.history.undoDepth=t}),r("historyEventDelay",1250),r("viewportMargin",10,function(e){return e.refresh()},!0),r("maxHighlightLength",1e4,Mi,!0),r("moveInputWithCursor",!0,function(e,t){t||e.display.input.resetPosition()}),r("tabindex",null,function(e,t){return e.display.input.getField().tabIndex=t||""}),r("autofocus",null),r("direction","ltr",function(e,t){return e.doc.setDirection(t)},!0),r("phrases",null)}(Sl),function(e){var t=e.optionHandlers,r=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,r){var n=this.options,i=n[e];n[e]==r&&"mode"!=e||(n[e]=r,t.hasOwnProperty(e)&&Zn(this,t[e])(this,r,i),ge(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Xo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,r=0;rr&&(kl(this,i.head.line,e,!0),r=i.head.line,n==this.doc.sel.primIndex&&On(this));else{var o=i.from(),l=i.to(),s=Math.max(r,o.line);r=Math.min(this.lastLine(),l.line-(l.ch?0:1))+1;for(var a=s;a0&&Xi(this.doc,n,new bi(o,u[n].to()),V)}}}),getTokenAt:function(e,t){return yt(this,e,t)},getLineTokens:function(e,t){return yt(this,et(e),t,!0)},getTokenTypeAt:function(e){e=st(this.doc,e);var t,r=ft(this,Xe(this.doc,e.line)),n=0,i=(r.length-1)/2,o=e.ch;if(0==o)t=r[2];else for(;;){var l=n+i>>1;if((l?r[2*l-1]:0)>=o)i=l;else{if(!(r[2*l+1]o&&(e=o,i=!0),n=Xe(this.doc,e)}else n=e;return Vr(this,n,{top:0,left:0},t||"page",r||i).top+(i?this.doc.height-Vt(n):0)},defaultTextHeight:function(){return en(this.display)},defaultCharWidth:function(){return tn(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,r,n,i){var o,l,s,a=this.display,u=(e=Xr(this,st(this.doc,e))).bottom,c=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),a.sizer.appendChild(t),"over"==n)u=e.top;else if("above"==n||"near"==n){var h=Math.max(a.wrapper.clientHeight,this.doc.height),f=Math.max(a.sizer.clientWidth,a.lineSpace.clientWidth);("above"==n||e.bottom+t.offsetHeight>h)&&e.top>t.offsetHeight?u=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=h&&(u=e.bottom),c+t.offsetWidth>f&&(c=f-t.offsetWidth)}t.style.top=u+"px",t.style.left=t.style.right="","right"==i?(c=a.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?c=0:"middle"==i&&(c=(a.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+"px"),r&&(o=this,l={left:c,top:u,right:c+t.offsetWidth,bottom:u+t.offsetHeight},null!=(s=Mn(o,l)).scrollTop&&Hn(o,s.scrollTop),null!=s.scrollLeft&&Pn(o,s.scrollLeft))},triggerOnKeyDown:Qn(ll),triggerOnKeyPress:Qn(al),triggerOnKeyUp:sl,triggerOnMouseDown:Qn(fl),execCommand:function(e){if(Zo.hasOwnProperty(e))return Zo[e].call(null,this)},triggerElectric:Qn(function(e){Al(this,e)}),findPosH:function(e,t,r,n){var i=1;t<0&&(i=-1,t=-t);for(var o=st(this.doc,e),l=0;l0&&l(t.charAt(r-1));)--r;for(;n.5)&&ln(this),ge(this,"refresh",this)}),swapDoc:Qn(function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Di(this,e),Rr(this),this.display.input.reset(),An(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,sr(this,"swapDoc",this,t),t}),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},be(e),e.registerHelper=function(t,n,i){r.hasOwnProperty(t)||(r[t]=e[t]={_global:[]}),r[t][n]=i},e.registerGlobalHelper=function(t,n,i,o){e.registerHelper(t,n,o),r[t]._global.push({pred:i,val:o})}}(Sl);var Ul="iter insert remove copy getEditor constructor".split(" ");for(var Vl in Mo.prototype)Mo.prototype.hasOwnProperty(Vl)&&B(Ul,Vl)<0&&(Sl.prototype[Vl]=function(e){return function(){return e.apply(this.doc,arguments)}}(Mo.prototype[Vl]));return be(Mo),Sl.inputStyles={textarea:Gl,contenteditable:El},Sl.defineMode=function(e){Sl.defaults.mode||"null"==e||(Sl.defaults.mode=e),function(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Ee[e]=t}.apply(this,arguments)},Sl.defineMIME=function(e,t){Ie[e]=t},Sl.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),Sl.defineMIME("text/plain","null"),Sl.defineExtension=function(e,t){Sl.prototype[e]=t},Sl.defineDocExtension=function(e,t){Mo.prototype[e]=t},Sl.fromTextArea=function(e,t){if((t=t?I(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var r=W();t.autofocus=r==e||null!=e.getAttribute("autofocus")&&r==document.body}function n(){e.value=s.getValue()}var i;if(e.form&&(fe(e.form,"submit",n),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var l=o.submit=function(){n(),o.submit=i,o.submit(),o.submit=l}}catch(e){}}t.finishInit=function(r){r.save=n,r.getTextArea=function(){return e},r.toTextArea=function(){r.toTextArea=isNaN,n(),e.parentNode.removeChild(r.getWrapperElement()),e.style.display="",e.form&&(pe(e.form,"submit",n),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=i))}},e.style.display="none";var s=Sl(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return s},function(e){e.off=pe,e.on=fe,e.wheelEventPixels=vi,e.Doc=Mo,e.splitLines=We,e.countColumn=z,e.findColumn=X,e.isWordChar=ee,e.Pass=U,e.signal=ge,e.Line=Xt,e.changeEnd=Ci,e.scrollbarModel=Gn,e.Pos=et,e.cmpPos=tt,e.modes=Ee,e.mimeModes=Ie,e.resolveMode=ze,e.getMode=Re,e.modeExtensions=Be,e.extendMode=Ge,e.copyState=Ue,e.startState=Ke,e.innerMode=Ve,e.commands=Zo,e.keyMap=Ro,e.keyName=jo,e.isModifierKey=Vo,e.lookupKey=Uo,e.normalizeKeyMap=Go,e.StringStream=je,e.SharedTextMarker=So,e.TextMarker=xo,e.LineWidget=yo,e.e_preventDefault=we,e.e_stopPropagation=xe,e.e_stop=Se,e.addClass=H,e.contains=D,e.rmClass=T,e.keyNames=Po}(Sl),Sl.version="5.49.2",Sl}); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/mode/yaml/yaml.js b/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/mode/yaml/yaml.js deleted file mode 100644 index 4a5e499bf6..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/mode/yaml/yaml.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.defineMode("yaml",function(){var e=new RegExp("\\b(("+["true","false","on","off","yes","no"].join(")|(")+"))$","i");return{token:function(i,t){var r=i.peek(),n=t.escaped;if(t.escaped=!1,"#"==r&&(0==i.pos||/\s/.test(i.string.charAt(i.pos-1))))return i.skipToEnd(),"comment";if(i.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(t.literal&&i.indentation()>t.keyCol)return i.skipToEnd(),"string";if(t.literal&&(t.literal=!1),i.sol()){if(t.keyCol=0,t.pair=!1,t.pairStart=!1,i.match(/---/))return"def";if(i.match(/\.\.\./))return"def";if(i.match(/\s*-\s+/))return"meta"}if(i.match(/^(\{|\}|\[|\])/))return"{"==r?t.inlinePairs++:"}"==r?t.inlinePairs--:"["==r?t.inlineList++:t.inlineList--,"meta";if(t.inlineList>0&&!n&&","==r)return i.next(),"meta";if(t.inlinePairs>0&&!n&&","==r)return t.keyCol=0,t.pair=!1,t.pairStart=!1,i.next(),"meta";if(t.pairStart){if(i.match(/^\s*(\||\>)\s*/))return t.literal=!0,"meta";if(i.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(0==t.inlinePairs&&i.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(t.inlinePairs>0&&i.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(i.match(e))return"keyword"}return!t.pair&&i.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(t.pair=!0,t.keyCol=i.indentation(),"atom"):t.pair&&i.match(/^:\s*/)?(t.pairStart=!0,"meta"):(t.pairStart=!1,t.escaped="\\"==r,i.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#",fold:"indent"}}),e.defineMIME("text/x-yaml","yaml"),e.defineMIME("text/yaml","yaml")}); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/theme/dracula.css b/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/theme/dracula.css deleted file mode 100644 index 6c708c010c..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/codemirror/theme/dracula.css +++ /dev/null @@ -1 +0,0 @@ -.cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36 !important;color:#f8f8f2 !important;border:0}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:solid thin #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:rgba(255,255,255,0.10)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:rgba(255,255,255,0.10)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,0.10)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:white}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-keyword{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute{color:#50fa7b}.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-variable-3,.cm-s-dracula span.cm-type{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:rgba(255,255,255,0.1)}.cm-s-dracula .CodeMirror-matchingbracket{text-decoration:underline;color:white !important} diff --git a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/twin-bcrypt.min.js b/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/twin-bcrypt.min.js deleted file mode 100644 index 6284357c60..0000000000 --- a/package/ctcgfw/luci-app-adguardhome/root/www/luci-static/resources/twin-bcrypt.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/* @license - * Twin-Bcrypt 2.2.0 - * https://github.com/fpirsch/twin-bcrypt - * Licence: BSD-3-Clause - */ -!function(r,n){"use strict";function e(r){return y[g]=t.apply(n,r),g++}function t(r){var e=[].slice.call(arguments,1);return function(){"function"==typeof r?r.apply(n,e):new Function(""+r)()}}function o(r){if(m)setTimeout(t(o,r),0);else{var n=y[r];if(n){m=!0;try{n()}finally{a(r),m=!1}}}}function a(r){delete y[r]}function i(){p=function(){var r=e(arguments);return process.nextTick(t(o,r)),r}}function u(){if(r.postMessage&&!r.importScripts){var n=!0,e=r.onmessage;return r.onmessage=function(){n=!1},r.postMessage("","*"),r.onmessage=e,n}}function f(){var n="setImmediate$"+Math.random()+"$",t=function(e){e.source===r&&"string"==typeof e.data&&0===e.data.indexOf(n)&&o(+e.data.slice(n.length))};r.addEventListener?r.addEventListener("message",t,!1):r.attachEvent("onmessage",t),p=function(){var t=e(arguments);return r.postMessage(n+t,"*"),t}}function c(){var r=new MessageChannel;r.port1.onmessage=function(r){var n=r.data;o(n)},p=function(){var n=e(arguments);return r.port2.postMessage(n),n}}function s(){var r=v.documentElement;p=function(){var n=e(arguments),t=v.createElement("script");return t.onreadystatechange=function(){o(n),t.onreadystatechange=null,r.removeChild(t),t=null},r.appendChild(t),n}}function l(){p=function(){var r=e(arguments);return setTimeout(t(o,r),0),r}}if(!r.setImmediate){var p,g=1,y={},m=!1,v=r.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(r);d=d&&d.setTimeout?d:r,"[object process]"==={}.toString.call(r.process)?i():u()?f():r.MessageChannel?c():v&&"onreadystatechange"in v.createElement("script")?s():l(),d.setImmediate=p,d.clearImmediate=a}}(new Function("return this")()),function(r){"object"==typeof exports?r(exports,require("crypto")):r(self.TwinBcrypt={},self.crypto||self.msCrypto)}(function(r,n){"use strict";function e(r){for(var n=unescape(encodeURIComponent(r)),e=n.length,t=new Array(e),o=0;e>o;o++)t[o]=n.charCodeAt(o);return t}function t(r){for(var n=r.length,e=new Array(n),t=0;n>t;t++)e[t]=r.charCodeAt(t);return e}function o(r,n){for(var e,t,o=0,a="";n>o;){if(e=255&r[o++],a+=B[e>>2],e=(3&e)<<4,o>=n){a+=B[e];break}if(t=255&r[o++],e|=t>>4,a+=B[e],e=(15&t)<<2,o>=n){a+=B[e];break}t=255&r[o++],e|=t>>6,a+=B[e],a+=B[63&t]}return a}function a(r){for(var n,e,t=new Array(16),o=0,a=0;;){if(n=D[r.charCodeAt(o++)-46],e=D[r.charCodeAt(o++)-46],t[a++]=255&(n<<2|e>>4),22===o)break;n=e<<4,e=D[r.charCodeAt(o++)-46],t[a++]=255&(n|e>>2),n=e<<6,e=D[r.charCodeAt(o++)-46],t[a++]=255&(n|e)}return t}function i(r){for(var n=r.length,e=new Array(72),t=0,o=0;72>o;)e[o++]=r[t++],t===n&&(t=0);return e}function u(r,n,e){for(var t=0,o=e>>2;tt;)r[n++]=e[t++]<<24|e[t++]<<16|e[t++]<<8|e[t++]}function c(r){function n(n){for(var e=r,t=G>>2,o=t|O,f=n>>2,c=e[f]^e[t],s=e[1|f];o>t;)s^=(e[c>>>24]+e[a|c>>>16&255]^e[i|c>>>8&255])+e[u|255&c]^e[++t],c^=(e[s>>>24]+e[a|s>>>16&255]^e[i|s>>>8&255])+e[u|255&s]^e[++t];e[f]=s^e[S>>2],e[1|f]=c}function e(n){var e;for(r[L>>2]=0,r[L+4>>2]=0,e=0;M>e;e++)r[G>>2|e]^=r[(n>>2)+e];var t,o,f,c,s,l=r;for(e=0;M>e;e+=2){for(t=G>>2,o=t|O,f=L>>2,c=l[f]^l[t],s=l[1|f];o>t;)s^=(l[c>>>24]+l[a|c>>>16&255]^l[i|c>>>8&255])+l[u|255&c]^l[++t],c^=(l[s>>>24]+l[a|s>>>16&255]^l[i|s>>>8&255])+l[u|255&s]^l[++t];l[f]=s^l[S>>2],l[1|f]=c,r[G>>2|e]=l[f],r[G>>2|e+1]=c}for(e=0;T>e;e+=2){for(t=G>>2,o=t|O,f=L>>2,c=l[f]^l[t],s=l[1|f];o>t;)s^=(l[c>>>24]+l[a|c>>>16&255]^l[i|c>>>8&255])+l[u|255&c]^l[++t],c^=(l[s>>>24]+l[a|s>>>16&255]^l[i|s>>>8&255])+l[u|255&s]^l[++t];l[f]=s^l[S>>2],l[1|f]=c,r[e]=l[f],r[1|e]=c}}function t(r,n,t){for(var o=0;t>=o&&!(r>n);o++)e(R),e(j),r++;return r}var o=k>>2,a=o+256|0,i=a+256|0,u=i+256|0;return{encrypt:n,expandLoop:t}}function s(stdlib, foreign, heap) {"use asm";var HEAP32=new stdlib.Uint32Array(heap);var BLOWFISH_NUM_ROUNDS=16;var S_offset=0x0000;var S1_offset=0x0400;var S2_offset=0x0800;var S3_offset=0x0C00;var P_offset=0x1000;var P_last_offset=0x1044;var crypt_ciphertext_offset=0x1048;var LR_offset=0x01060;var password_offset=0x1068;var salt_offset=0x10b0;var P_LEN=18;var S_LEN=1024;function encrypt(offset) {offset=offset|0;var i=0;var n=0;var L=0;var R=0;var imax=0;imax=P_offset|BLOWFISH_NUM_ROUNDS<<2;L=HEAP32[offset>>2]|0;R=HEAP32[offset+4>>2]|0;L=L^HEAP32[P_offset>>2];for (i=P_offset; (i|0)<(imax|0);) {i=(i+4)>>>0;R=R^(((HEAP32[(L>>>22)>>2]>>>0) +(HEAP32[(S1_offset|(L>>>14&0x3ff))>>2]>>>0) ^(HEAP32[(S2_offset|(L>>>6&0x3ff))>>2])) +(HEAP32[(S3_offset|(L<<2&0x3ff))>>2]>>>0))^HEAP32[i>>2];i=(i+4)>>>0;L=L^(((HEAP32[(R>>>22)>>2]>>>0) +(HEAP32[(S1_offset|(R>>>14&0x3ff))>>2]>>>0) ^(HEAP32[(S2_offset|(R>>>6&0x3ff))>>2])) +(HEAP32[(S3_offset|(R<<2&0x3ff))>>2]>>>0))^HEAP32[i>>2];}HEAP32[offset>>2]=R^HEAP32[P_last_offset>>2];HEAP32[(offset+4)>>2]=L;}function expandKey(offset) {offset=offset|0;var i=0;var off=0;off=P_offset|0;for (i=0; (i|0)<(P_LEN|0); i=(i+1)|0) {HEAP32[off>>2]=HEAP32[off>>2]^HEAP32[offset>>2];offset=(offset+4)|0;off=(off+4)|0;}HEAP32[LR_offset>>2]=0;HEAP32[LR_offset+4>>2]=0;off=P_offset;for (i=0; (i|0)<(P_LEN|0); i=(i+2)|0) {encrypt(LR_offset);HEAP32[off>>2]=HEAP32[LR_offset>>2];HEAP32[off+4>>2]=HEAP32[LR_offset+4>>2];off=(off+8)|0;}off=S_offset;for (i=0; (i|0)<(S_LEN|0); i=(i+2)|0) {encrypt(LR_offset);HEAP32[off>>2]=HEAP32[LR_offset>>2];HEAP32[off+4>>2]=HEAP32[LR_offset+4>>2];off=(off+8)|0;}}function expandLoop(i, counterEnd, maxIterations) {i=i|0;counterEnd=counterEnd|0;maxIterations=maxIterations|0;var j=0;for (j=0; (j|0) <= (maxIterations|0); j=(j+1)|0) {if ((i>>>0)>(counterEnd>>>0)) break;expandKey(password_offset);expandKey(salt_offset);i=(i+1)>>>0;}return i|0;}return {encrypt: encrypt,expandLoop: expandLoop};} -function l(r,n,e,t){var o,a,i,u=L>>2,f=u+1;for(t[u]=0,t[f]=0,a=0,o=0;M>o;o++)i=n[a++]<<24|n[a++]<<16|n[a++]<<8|n[a++],t[G>>2|o]^=i;for(a=0,o=0;M>o;o+=2)i=r[a++]<<24|r[a++]<<16|r[a++]<<8|r[a++],a&=65295,t[u]^=i,i=r[a++]<<24|r[a++]<<16|r[a++]<<8|r[a++],a&=65295,t[f]^=i,e.encrypt(L),t[G>>2|o]=t[u],t[G>>2|o+1]=t[f];var c=k>>2;for(o=0;T>o;o+=2)i=r[a++]<<24|r[a++]<<16|r[a++]<<8|r[a++],a&=65295,t[u]^=i,i=r[a++]<<24|r[a++]<<16|r[a++]<<8|r[a++],a&=65295,t[f]^=i,e.encrypt(L),t[c|o]=t[u],t[c|o+1]=t[f]}function p(r,n,e,t,o,a,i){for(var u=e;t>=u;){if(u=r.expandLoop(u,t,o),a){var f=a(u/(t+1));if(f===!1)return}if(u>t){if(i)return void setImmediate(g.bind(null,r,n,i));return}if(i)return void setImmediate(p.bind(null,r,n,u,t,o,a,i))}}function g(r,n,e){u(n,x,F);var t;for(t=0;64>t;t++)r.encrypt(F+0),r.encrypt(F+8),r.encrypt(F+16);var o,a=0,i=x.length,f=new Array(4*i);for(t=0;i>t;t++)o=n[(F>>2)+t],f[a++]=o>>24,f[a++]=o>>16&255,f[a++]=o>>8&255,f[a++]=255&o;return e&&e(f),f}function y(r,n){return r+o(n,23)}function m(n,o,m,v){var d,h=o.substr(0,29),w=+o.substr(4,2),A=o.substr(7,22);if("string"==typeof n)d=r.encodingMode===r.ENCODING_UTF8?e(n):t(n);else if(Array.isArray(n))d=n.map(function(r){return 255&r});else{if(!(n instanceof Uint8Array))throw new Error("Incorrect arguments");d=Array.prototype.slice.call(n)}d.push(0);var b,E,N=a(A,C),O=31>w?1<>2,N),f(b,R>>2,d),l(N,d,E,b),v?void p(E,b,0,M,T,m,function(r){v(y(h,r))}):(p(E,b,0,M,T,m),y(h,g(E,b)))}function v(r){if(!b)throw new Error("No cryptographically secure pseudorandom number generator available.");if(null==r&&(r=N),r=0|+r,isNaN(r)||4>r||r>31)throw new Error("Invalid cost parameter.");var n="$2y$";return 10>r&&(n+="0"),n+=r+"$",n+=o(b(C),C)}function d(r,n,e){if(n&&"number"!=typeof n){if("string"!=typeof n||!z.test(n))throw new Error("Invalid salt")}else n=v(n);return m(r,n,e)}function h(r,n,e,t){if(arguments.length<2)throw new Error("Incorrect arguments");if(2===arguments.length?(t=n,n=e=null):3===arguments.length&&(t=e,e=null,"function"==typeof n&&(e=n,n=null)),n&&"number"!=typeof n){if("string"!=typeof n||!z.test(n))throw new Error("Invalid salt")}else n=v(n);if(!t||"function"!=typeof t)throw new Error("No callback function was given.");m(r,n,e,t)}function w(r,n){if("string"!=typeof n||!Z.test(n))throw new Error("Incorrect arguments");var e=n.substr(0,n.length-31),t=d(r,e);return t===n}function A(r,n,e,t){if("string"!=typeof n||!Z.test(n))throw new Error("Incorrect arguments");if(t||(t=e,e=null),!t||"function"!=typeof t)throw new Error("No callback function was given.");var o=n.substr(0,n.length-31);h(r,o,e,function(r){t(r===n)})}var b,E="undefined"!=typeof InstallTrigger,I=E;n&&(b=n.randomBytes,n.getRandomValues&&(b=function(r){var e=new Uint8Array(r);return n.getRandomValues(e)}));var C=16,N=10,O=16,$=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],U=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946,1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055,3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504,976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462],M=$.length,T=U.length,x=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892],k=0,G=4096,S=4164,F=4168,L=4192,R=4200,j=4272,B="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",D=[0,1,54,55,56,57,58,59,60,61,62,63,-1,-1,-1,-1,-1,-1,-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,-1,-1,-1,-1,-1,-1,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,-1,-1,-1,-1,-1],z=/^\$2[ay]\$(0[4-9]|[12][0-9]|3[01])\$[.\/A-Za-z0-9]{21}[.Oeu]/,Z=/^\$2[ay]\$(0[4-9]|[12][0-9]|3[01])\$[.\/A-Za-z0-9]{21}[.Oeu][.\/A-Za-z0-9]{30}[.CGKOSWaeimquy26]$/;r.genSalt=v,r.hashSync=d,r.hash=h,r.compareSync=w,r.compare=A,r.ENCODING_UTF8=0,r.ENCODING_RAW=1,r.encodingMode=r.ENCODING_UTF8,r.cryptoRNG=!!b,r.randomBytes=b,r.defaultCost=N,r.version="2.2.0"}); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-airwhu/Makefile b/package/ctcgfw/luci-app-airwhu/Makefile deleted file mode 100644 index 1e07ecea21..0000000000 --- a/package/ctcgfw/luci-app-airwhu/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-airwhu -PKG_VERSION=1.0 -PKG_RELEASE:=1 -LUCI_TITLE:=luci-app-airwhu -LUCI_PKGARCH:=all -LUCI_DEPENDS:=+mentohust +kmod-ipt-nat6 -LUCI_DESCRIPTION:=LuCI web-interface for Ruijie 802.1X Client with IPv6 NAT. - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-airwhu/luasrc/controller/airwhu.lua b/package/ctcgfw/luci-app-airwhu/luasrc/controller/airwhu.lua deleted file mode 100644 index 15d9239680..0000000000 --- a/package/ctcgfw/luci-app-airwhu/luasrc/controller/airwhu.lua +++ /dev/null @@ -1,5 +0,0 @@ -module("luci.controller.airwhu", package.seeall) - -function index() - entry({"admin", "services", "AirWHU"}, cbi("airwhu"), _("AirWHU"), 100) - end diff --git a/package/ctcgfw/luci-app-airwhu/luasrc/model/cbi/airwhu.lua b/package/ctcgfw/luci-app-airwhu/luasrc/model/cbi/airwhu.lua deleted file mode 100644 index d3cdbde505..0000000000 --- a/package/ctcgfw/luci-app-airwhu/luasrc/model/cbi/airwhu.lua +++ /dev/null @@ -1,115 +0,0 @@ ---[[ - -LuCI - Lua Configuration Interface -LICENSE under GPLv3. -Copyright 2017 KyleRicardo[W.B.L.E. TeAm] - -]] --- -require("luci.sys") -require("luci.tools.webadmin") - -local IsOnAir = (luci.sys.call("pidof mentohust > /dev/null") == 0) -if IsOnAir then - state_msg = "" .. translate("Running") .. "" -else - state_msg = "" .. translate("Not Running") .. "" -end - -m = Map("airwhu", translate("AirWHU"), translate("Configure Ruijie 802.1X client with IPv6 NAT based on Masquerade.") .. "

" .. translate("Status") .. " : " .. state_msg) - -s = m:section(TypedSection, "switch", translate("Global Switch"), translate("Configure global 802.1X Authentication and IPv6-NAT on-off.")) -s.addremove = false -s.anonymous = true - -s:option(Flag, "enableauth", translate("Enable 802.1X Auth"), translate("Enable or disable Ruijie 802.1X authentication.")) -tmp = s:option(Flag, "startwithboot", translate("Start with boot"), translate("Start Ruijie 802.1X Authentication based on MentoHUST when the router is booting.")) -tmp:depends("enableauth","1") -s:option(Flag, "enableipv6", translate("Enable IPv6 NAT"), translate("Enable IPv6 NAT pass-through based on ip6tables MASQUERADE.")) - -s = m:section(TypedSection, "auth", translate("Config Authentication"), translate("The options below are all of MentoHUST's arguments.")) -s.anonymous = true -s.addremove = false - -ur = s:option(Value, "Username", translate("Username")) -ur.rmempty = false - -pw = s:option(Value, "Password", translate("Password")) -pw.password = true -pw.rmempty = false - -wan_dev = luci.sys.exec("uci get network.wan.ifname") -wan_dev = string.sub(wan_dev,1,string.len(wan_dev)-1) -ifname = s:option(ListValue, "ifname", translate("Interfaces")) -ifname:value(wan_dev) - -s:option(Value, "IP", translate("IP"), translate("default to localhost's IP")).default = "0.0.0.0" - -s:option(Value, "Mask", translate("Netmask"), translate("default to localhost's netmask")).default = "255.255.255.0" - -s:option(Value, "Gateway", translate("Gateway"), translate("default to 0.0.0.0")).default = "0.0.0.0" - -s:option(Value, "DNS", translate("DNS"), translate("default to 0.0.0.0")).default = "0.0.0.0" - -s:option(Value, "PingHost", translate("Ping host"), translate("default to 0.0.0.0,i.e. disable this function")).default = "0.0.0.0" - -s:option(Value, "Timeout", translate("Authenticate timeout(s)"), translate("default to 8s")).default = "8" - -s:option(Value, "EchoInterval", translate("Heartbeat timeout(s)"), translate("default to 30s")).default = "30" - -s:option(Value, "RestartWait", translate("Timeout on failure(s)"), translate("default to 15s")).default = "15" - -s:option(Value, "MaxFail", translate("Max failure times"), translate("0 means no limit,default to 8")).default = "8" - -t = s:option(ListValue, "StartMode", translate("mulcast address"), translate("default to 1")) -t:value("0", translate("0(standard)")) -t:value("1", translate("1(ruijjie)")) -t:value("2", translate("2(saier)")) -t.default = "1" - -t = s:option(ListValue, "DHCPMode", translate("DHCP type"), translate("default to 1")) -t:value("0", translate("0(not in used)")) -t:value("1", translate("1(secondary authenticate)")) -t:value("2", translate("2(post authenticate)")) -t:value("3", translate("3(pre authenticate)")) -t.default = "1" - -t = s:option(ListValue, "DaemonMode", translate("run in daemon mode"), translate("default to 3")) -t:value("0", translate("0(no)")) -t:value("1", translate("1(yes,turn off output)")) -t:value("2", translate("2(yes,persevere output)")) -t:value("3", translate("3(yes,output to file)")) -t.default = "3" - -s:option(Value, "ShowNotify", translate("display notification"), translate("0(no),1-20(yes),default to 0")).default = "0" - -s:option(Value, "Version", translate("client version"), translate("default to 0.00,compatible with xrgsu")).default = "0.00" - -tmp = s:option(Value, "DataFile", translate("customized data file"), translate("not in used by default")) -tmp.rmempty = true - -script = s:option(Value, "DHCPScript", translate("DHCP script"), translate("use dhclient by default")) -script.default = "udhcpc -i "..wan_dev - -local apply = luci.http.formvalue("cbi.apply") -if apply then - if luci.sys.exec("uci get airwhu.@switch[0].enableauth") then - luci.sys.exec("/etc/init.d/mentohust restart") - else - luci.sys.exec("/etc/init.d/mentohust stop") - end - - if luci.sys.exec("uci get airwhu.@switch[0].startwithboot") then - luci.sys.exec("/etc/init.d/mentohust enable") - else - luci.sys.exec("/etc/init.d/mentohust disable") - end - - if luci.sys.exec("uci get airwhu.@switch[0].enableipv6") then - luci.sys.exec("sh /bin/ipv6masq.sh install") - else - luci.sys.exec("sh /bin/ipv6masq.sh uninstall") - end -end - -return m diff --git a/package/ctcgfw/luci-app-airwhu/po/zh_Hans/luci-app-airwhu.po b/package/ctcgfw/luci-app-airwhu/po/zh_Hans/luci-app-airwhu.po deleted file mode 100644 index ca2454ff40..0000000000 --- a/package/ctcgfw/luci-app-airwhu/po/zh_Hans/luci-app-airwhu.po +++ /dev/null @@ -1,250 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh-Hans\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:62 -msgid "0 means no limit,default to 8" -msgstr "0表示无限制,默认为8" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:78 -msgid "0(no)" -msgstr "0(不使用后台模式)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:84 -msgid "0(no),1-20(yes),default to 0" -msgstr "0(不使用),1-20(使用),默认为0" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:71 -msgid "0(not in used)" -msgstr "0(不使用)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:65 -msgid "0(standard)" -msgstr "0(标准)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:66 -msgid "1(ruijjie)" -msgstr "1(锐捷)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:72 -msgid "1(secondary authenticate)" -msgstr "1(二次认证)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:79 -msgid "1(yes,turn off output)" -msgstr "1(后台模式,关闭输出)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:73 -msgid "2(post authenticate)" -msgstr "3(认证后)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:67 -msgid "2(saier)" -msgstr "2(赛尔)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:80 -msgid "2(yes,persevere output)" -msgstr "2(后台模式,保留输出)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:74 -msgid "3(pre authenticate)" -msgstr "3(认证前)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:81 -msgid "3(yes,output to file)" -msgstr "3(后台模式,输出到日志文件)" - -#: files/root/usr/lib/lua/luci/controller/airwhu.lua:4 -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:19 -msgid "AirWHU" -msgstr "AirWHU" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:56 -msgid "Authenticate timeout(s)" -msgstr "认证超时(秒)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:30 -msgid "Config Authentication" -msgstr "配置认证参数" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:19 -msgid "Configure Ruijie 802.1X client with IPv6 NAT based on Masquerade." -msgstr "配置基于IPv6 Masquerade技术的锐捷802.1X认证网络。" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:21 -msgid "Configure global 802.1X Authentication and IPv6-NAT on-off." -msgstr "配置全局802.1X认证与IPv6 NAT开关。" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:91 -msgid "DHCP script" -msgstr "DHCP脚本" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:70 -msgid "DHCP type" -msgstr "DHCP方式" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:52 -msgid "DNS" -msgstr "DNS服务器" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:25 -msgid "Enable 802.1X Auth" -msgstr "开启锐捷认证" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:28 -msgid "Enable IPv6 NAT" -msgstr "开启IPv6 NAT" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:28 -msgid "Enable IPv6 NAT pass-through based on ip6tables MASQUERADE." -msgstr "开启基于ip6tables Masquerade技术的IPv6 NAT穿透。" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:25 -msgid "Enable or disable Ruijie 802.1X authentication." -msgstr "打开或关闭锐捷802.1X认证。" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:50 -msgid "Gateway" -msgstr "网关" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:21 -msgid "Global Switch" -msgstr "全局开关" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:58 -msgid "Heartbeat timeout(s)" -msgstr "心跳包超时(秒)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:46 -msgid "IP" -msgstr "IP地址" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:43 -msgid "Interfaces" -msgstr "网卡" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:62 -msgid "Max failure times" -msgstr "允许失败次数" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:48 -msgid "Netmask" -msgstr "掩码" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:16 -msgid "Not Running" -msgstr "未运行" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:37 -msgid "Password" -msgstr "密码" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:54 -msgid "Ping host" -msgstr "Ping主机" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:14 -msgid "Running" -msgstr "运行中" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:26 -msgid "" -"Start Ruijie 802.1X Authentication based on MentoHUST when the router is " -"booting." -msgstr "开机自动启动基于MentoHUST的锐捷802.1X认证客户端。" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:26 -msgid "Start with boot" -msgstr "开机启动" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:19 -msgid "Status" -msgstr "状态" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:30 -msgid "The options below are all of MentoHUST's arguments." -msgstr "以下是全部的MentoHUST认证参数。" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:60 -msgid "Timeout on failure(s)" -msgstr "失败等待(秒)" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:34 -msgid "Username" -msgstr "用户名" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:86 -msgid "client version" -msgstr "客户端版本号" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:88 -msgid "customized data file" -msgstr "自定义数据文件" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:50 -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:52 -msgid "default to 0.0.0.0" -msgstr "默认为0.0.0.0" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:54 -msgid "default to 0.0.0.0,i.e. disable this function" -msgstr "默认为0.0.0.0,即关闭该功能" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:86 -msgid "default to 0.00,compatible with xrgsu" -msgstr "默认为0.00,表示兼容xrgsu" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:64 -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:70 -msgid "default to 1" -msgstr "默认为1" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:60 -msgid "default to 15s" -msgstr "默认为15秒" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:77 -msgid "default to 3" -msgstr "默认为3" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:58 -msgid "default to 30s" -msgstr "默认为30秒" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:56 -msgid "default to 8s" -msgstr "默认为8秒" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:46 -msgid "default to localhost's IP" -msgstr "默认为localhost的IP地址" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:48 -msgid "default to localhost's netmask" -msgstr "默认为localhost的掩码" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:84 -msgid "display notification" -msgstr "显示通知" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:64 -msgid "mulcast address" -msgstr "多播地址" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:88 -msgid "not in used by default" -msgstr "默认不使用" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:77 -msgid "run in daemon mode" -msgstr "后台运行模式" - -#: files/root/usr/lib/lua/luci/model/cbi/airwhu.lua:91 -msgid "use dhclient by default" -msgstr "默认使用dhclient" diff --git a/package/ctcgfw/luci-app-airwhu/root/bin/ipv6masq.sh b/package/ctcgfw/luci-app-airwhu/root/bin/ipv6masq.sh deleted file mode 100755 index c04bb7c716..0000000000 --- a/package/ctcgfw/luci-app-airwhu/root/bin/ipv6masq.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh /etc/rc.common -#Author:KyleRicardo -#Email:shaoyz714@126.com - -action=$1 - -if [ "$action"x = "install"x ]; then - uci delete network.globals.ula_prefix - - uci set network.wan6.peerdns='0' - uci set network.wan6.dns='2001:da8:202:10::36' - - uci delete network.lan.ip6assign - uci set network.lan.ip6addr='BABE:BABE:BABE:BABE::1/64' - uci set network.lan.ip6prefix='BABE:BABE:BABE:BABE::/64' - - uci set dhcp.lan.ra_management='1' - uci set dhcp.lan.ra_default='1' - - uci set $(uci show firewall|grep Allow-ICMPv6-Forward|sed -e 's/.name[^ ]*'//).enabled='0' - - uci commit - - -elif [ "$action"x = "uninstall"x ]; then - uci set network.globals.ula_prefix='fdad:91b7:54bb::/48' - - uci delete network.wan6.peerdns='0' - uci delete network.wan6.dns='2001:da8:202:10::36' - - uci set network.lan.ip6assign='60' - uci delete network.lan.ip6addr='BABE:BABE:BABE:BABE::1/64' - uci delete network.lan.ip6prefix='BABE:BABE:BABE:BABE::/64' - - uci delete dhcp.lan.ra_management='1' - uci delete dhcp.lan.ra_default='1' - - uci delete $(uci show firewall|grep Allow-ICMPv6-Forward|sed -e 's/.name[^ ]*'//).enabled - - uci commit -fi diff --git a/package/ctcgfw/luci-app-airwhu/root/etc/config/airwhu b/package/ctcgfw/luci-app-airwhu/root/etc/config/airwhu deleted file mode 100644 index 734dc8539a..0000000000 --- a/package/ctcgfw/luci-app-airwhu/root/etc/config/airwhu +++ /dev/null @@ -1,25 +0,0 @@ - -config switch - option enableauth - option startwithboot - option enableipv6 -config auth - option Username - option Password - option ifname - option IP - option Mask - option Gateway - option DNS - option PingHost - option Timeout - option EchoInterval - option RestartWait - option MaxFail - option StartMode - option DHCPMode - option DaemonMode - option ShowNotify - option Version - option DataFile - option DHCPScript diff --git a/package/ctcgfw/luci-app-airwhu/root/etc/hotplug.d/iface/99-ipv6nat b/package/ctcgfw/luci-app-airwhu/root/etc/hotplug.d/iface/99-ipv6nat deleted file mode 100755 index 2d7230b37b..0000000000 --- a/package/ctcgfw/luci-app-airwhu/root/etc/hotplug.d/iface/99-ipv6nat +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh /etc/rc.common -#Author:KyleRicardo -#Email:shaoyz714@126.com - - -[ "$ACTION" = ifup ] || exit 0 -iface=wan6 -[ -z "$iface" -o "$INTERFACE" = "$iface" ] || exit 0 -ip -6 route add `ip -6 route show default|sed -e 's/from [^ ]* //'` -logger -t IPv6 "Add IPv6 default route." - -MAX_TRIES=99 - -WAN6_NAME="wan6" - -WAN6_INTERFACE=$(uci get "network.$WAN6_NAME.ifname") -#eth0.2 by default - -LAN_IP6PREFIX=$(uci get network.lan.ip6prefix) -#e.g. aaaa:bbbb:cccc:dddd::/64 - -#LAN_ULA_PREFIX=$(uci get network.globals.ula_prefix) -#e.g. ddc2:d512:65f5::/48 - -PROBE=0 - -COUNT=1 - -while [ $PROBE -eq 0 ] -do -if [ $COUNT -gt $MAX_TRIES ] -then -logger -t NAT6 "No IPv6 route found (reached retry limit $MAX_TRIES times)" && exit 1 -fi -sleep 5 -logger -t NAT6 "Probing IPv6 route ($COUNT time)" -COUNT=$((COUNT+1)) -PROBE=$(route -A inet6 | grep -c '::/0') -done - -#ip6tables -t nat -I POSTROUTING -s "$LAN_ULA_PREFIX" -o "$WAN6_INTERFACE" -j MASQUERADE -ip6tables -t nat -I POSTROUTING -s "$LAN_IP6PREFIX" -o "$WAN6_INTERFACE" -j MASQUERADE - -#WAN6_GATEWAY=$(route -A inet6 -e | grep "$WAN6_INTERFACE" | awk '/::\/0/{print $2; exit}') -#get gateway from routing table. !!!Caution!!! May not work ! -WAN6_GATEWAY=$(ifconfig eth0.2 | grep 'Global' | awk '{print $3}'| awk -F':' '{print $1":"$2":"$3":"$4"::1"}') -#caculate gateway from wan ipv6 -#WAN6_GATEWAY=$(tracepath6 -n tv.byr.cn | grep ' 1: ' | awk 'NR==1 {print $2}') -#opkg install iputils-tracepath6 . change tv.byr.cn for faster site. e.g. ipv6.bjtu.edu.cn - -#route -A inet6 add 2000::/3 gw "$WAN6_GATEWAY" dev "$WAN6_INTERFACE" -route -A inet6 add default gw "$WAN6_GATEWAY" dev "$WAN6_INTERFACE" - -logger -t NAT6 "Done with IPv6 settings" - - diff --git a/package/ctcgfw/luci-app-airwhu/root/etc/init.d/mentohust b/package/ctcgfw/luci-app-airwhu/root/etc/init.d/mentohust deleted file mode 100755 index cf622808ee..0000000000 --- a/package/ctcgfw/luci-app-airwhu/root/etc/init.d/mentohust +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh /etc/rc.common -#Author:KyleRicardo -#Email:shaoyz714@126.com - -START=65 -STOP=10 - -start() -{ -if [ $(uci get airwhu.@switch[0].enableauth) ] ; -then - local Username=$(uci get airwhu.@auth[0].Username) - local Password=$(uci get airwhu.@auth[0].Password) - local ifname=$(uci get airwhu.@auth[0].ifname) - local IP=$(uci get airwhu.@auth[0].IP) - local Mask=$(uci get airwhu.@auth[0].Mask) - local Gateway=$(uci get airwhu.@auth[0].Gateway) - local DNS=$(uci get airwhu.@auth[0].DNS) - local PingHost=$(uci get airwhu.@auth[0].PingHost) - local Timeout=$(uci get airwhu.@auth[0].Timeout) - local EchoInterval=$(uci get airwhu.@auth[0].EchoInterval) - local RestartWait=$(uci get airwhu.@auth[0].RestartWait) - local MaxFail=$(uci get airwhu.@auth[0].MaxFail) - local StartMode=$(uci get airwhu.@auth[0].StartMode) - local DHCPMode=$(uci get airwhu.@auth[0].DHCPMode) - local DaemonMode=$(uci get airwhu.@auth[0].DaemonMode) - local ShowNotify=$(uci get airwhu.@auth[0].ShowNotify) - local Version=$(uci get airwhu.@auth[0].Version) - local DataFile=$(uci get airwhu.@auth[0].DataFile) - local DHCPScript=$(uci get airwhu.@auth[0].DHCPScript) - mentohust -u$Username -p$Password -n$ifname -b$DaemonMode -a$StartMode -d$DaemonMode -c"$DHCPScript" -w>/dev/null 2>&1 - #Temporarily designed only for whu. To be continued... -else - stop -fi - -} - -stop() -{ - sync - mentohust -k >/dev/null 2>&1 -} - -restart() -{ - stop - start -} diff --git a/package/ctcgfw/luci-app-airwhu/root/usr/share/rpcd/acl.d/luci-app-airwhu.json b/package/ctcgfw/luci-app-airwhu/root/usr/share/rpcd/acl.d/luci-app-airwhu.json deleted file mode 100644 index 23fd259ec3..0000000000 --- a/package/ctcgfw/luci-app-airwhu/root/usr/share/rpcd/acl.d/luci-app-airwhu.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-airwhu": { - "description": "Grant UCI access for luci-app-airwhu", - "read": { - "uci": [ "airwhu" ] - }, - "write": { - "uci": [ "airwhu" ] - } - } -} diff --git a/package/ctcgfw/luci-app-appfilter/Makefile b/package/ctcgfw/luci-app-appfilter/Makefile deleted file mode 100644 index 4d0ecc5041..0000000000 --- a/package/ctcgfw/luci-app-appfilter/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=Open App Filter Module -LUCI_PKGARCH:=all -LUCI_DEPENDS:=+appfilter - -PKG_NAME:=luci-app-appfilter -PKG_VERSION:=5.0.1 -PKG_RELEASE:=1 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-appfilter/htdocs/luci-static/resources/echarts.min.js b/package/ctcgfw/luci-app-appfilter/htdocs/luci-static/resources/echarts.min.js deleted file mode 100644 index 4b25b97b78..0000000000 --- a/package/ctcgfw/luci-app-appfilter/htdocs/luci-static/resources/echarts.min.js +++ /dev/null @@ -1,22 +0,0 @@ - -/* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ - - -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";var e=2311,n=function(){return e++},v="object"==typeof wx&&"function"==typeof wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasSupported:!0,domSupported:!1}:"undefined"==typeof navigator?{browser:{},os:{},node:!0,worker:!1,canvasSupported:!0,svgSupported:!0,domSupported:!1}:function(t){var e={},i=t.match(/Firefox\/([\d.]+)/),n=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),o=t.match(/Edge\/([\d.]+)/),a=/micromessenger/i.test(t);i&&(e.firefox=!0,e.version=i[1]);n&&(e.ie=!0,e.version=n[1]);o&&(e.edge=!0,e.version=o[1]);a&&(e.weChat=!0);return{browser:e,os:{},node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:"undefined"!=typeof SVGRect,touchEventsSupported:"ontouchstart"in window&&!e.ie&&!e.edge,pointerEventsSupported:"onpointerdown"in window&&(e.edge||e.ie&&11<=e.version),domSupported:"undefined"!=typeof document}}(navigator.userAgent);var s={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},l={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},u=Object.prototype.toString,i=Array.prototype,r=i.forEach,h=i.filter,o=i.slice,c=i.map,d=i.reduce,a={};function f(t,e){"createCanvas"===t&&(g=null),a[t]=e}function k(t){if(null==t||"object"!=typeof t)return t;var e=t,i=u.call(t);if("[object Array]"===i){if(!$(t)){e=[];for(var n=0,o=t.length;n>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",n[l]+":0",o[u]+":0",n[1-l]+":auto",o[1-u]+":auto",""].join("!important;"),t.appendChild(r),i.push(r)}return i}(e,a),a,o);if(r)return r(t,i,n),!0}return!1}function zt(t){return"CANVAS"===t.nodeName.toUpperCase()}var Bt="undefined"!=typeof window&&!!window.addEventListener,Vt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Gt=[];function Ft(t,e,i,n){return i=i||{},n||!v.canvasSupported?Wt(t,e,i):v.browser.firefox&&null!=e.layerX&&e.layerX!==e.offsetX?(i.zrX=e.layerX,i.zrY=e.layerY):null!=e.offsetX?(i.zrX=e.offsetX,i.zrY=e.offsetY):Wt(t,e,i),i}function Wt(t,e,i){if(v.domSupported&&t.getBoundingClientRect){var n=e.clientX,o=e.clientY;if(zt(t)){var a=t.getBoundingClientRect();return i.zrX=n-a.left,void(i.zrY=o-a.top)}if(Et(Gt,t,n,o))return i.zrX=Gt[0],void(i.zrY=Gt[1])}i.zrX=i.zrY=0}function Ht(t){return t||window.event}function Zt(t,e,i){if(null!=(e=Ht(e)).zrX)return e;var n=e.type;if(n&&0<=n.indexOf("touch")){var o="touchend"!==n?e.targetTouches[0]:e.changedTouches[0];o&&Ft(t,o,e,i)}else Ft(t,e,e,i),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var a=e.button;return null==e.which&&void 0!==a&&Vt.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function Ut(t,e,i,n){Bt?t.addEventListener(e,i,n):t.attachEvent("on"+e,i)}var Xt=Bt?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0};function Yt(t){return 2===t.which||3===t.which}function jt(){this._track=[]}function qt(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(e*e+i*i)}jt.prototype={constructor:jt,recognize:function(t,e,i){return this._doTrack(t,e,i),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e,i){var n=t.touches;if(n){for(var o={points:[],touches:[],target:e,event:t},a=0,r=n.length;an.getWidth()||i<0||i>n.getHeight()}te.prototype={constructor:te,setHandlerProxy:function(e){this.proxy&&this.proxy.dispose(),e&&(R(ee,function(t){e.on&&e.on(t,this[t],this)},this),e.handler=this),this.proxy=e},mousemove:function(t){var e=t.zrX,i=t.zrY,n=ne(this,e,i),o=this._hovered,a=o.target;a&&!a.__zr&&(a=(o=this.findHover(o.x,o.y)).target);var r=this._hovered=n?{x:e,y:i}:this.findHover(e,i),s=r.target,l=this.proxy;l.setCursor&&l.setCursor(s?s.cursor:"default"),a&&s!==a&&this.dispatchToElement(o,"mouseout",t),this.dispatchToElement(r,"mousemove",t),s&&s!==a&&this.dispatchToElement(r,"mouseover",t)},mouseout:function(t){var e=t.zrEventControl,i=t.zrIsToLocalDOM;"only_globalout"!==e&&this.dispatchToElement(this._hovered,"mouseout",t),"no_globalout"!==e&&(i||this.trigger("globalout",{type:"globalout",event:t}))},resize:function(t){this._hovered={}},dispatch:function(t,e){var i=this[t];i&&i.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,i){var n=(t=t||{}).target;if(!n||!n.silent){for(var o="on"+e,a=function(t,e,i){return{type:t,event:i,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:i.zrX,offsetY:i.zrY,gestureEvent:i.gestureEvent,pinchX:i.pinchX,pinchY:i.pinchY,pinchScale:i.pinchScale,wheelDelta:i.zrDelta,zrByTouch:i.zrByTouch,which:i.which,stop:Jt}}(e,t,i);n&&(n[o]&&(a.cancelBubble=n[o].call(n,a)),n.trigger(e,a),n=n.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer(function(t){"function"==typeof t[o]&&t[o].call(t,a),t.trigger&&t.trigger(e,a)}))}},findHover:function(t,e,i){for(var n=this.storage.getDisplayList(),o={x:t,y:e},a=n.length-1;0<=a;a--){var r;if(n[a]!==i&&!n[a].ignore&&(r=ie(n[a],t,e))&&(o.topTarget||(o.topTarget=n[a]),r!==$t)){o.target=n[a];break}}return o},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new jt);var i=this._gestureMgr;"start"===e&&i.clear();var n=i.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if("end"===e&&i.clear(),n){var o=n.type;t.gestureEvent=o,this.dispatchToElement({target:n.target},o,n.event)}}},R(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(r){te.prototype[r]=function(t){var e,i,n=t.zrX,o=t.zrY,a=ne(this,n,o);if("mouseup"===r&&a||(i=(e=this.findHover(n,o)).target),"mousedown"===r)this._downEl=i,this._downPoint=[t.zrX,t.zrY],this._upEl=i;else if("mouseup"===r)this._upEl=i;else if("click"===r){if(this._downEl!==this._upEl||!this._downPoint||4=this._maxSize&&0>4|(3840&n)>>8,240&n|(240&n)>>4,15&n|(15&n)<<4,1),Ge(t,e),e):void Ee(e,0,0,0,1):7===o.length?0<=(n=parseInt(o.substr(1),16))&&n<=16777215?(Ee(e,(16711680&n)>>16,(65280&n)>>8,255&n,1),Ge(t,e),e):void Ee(e,0,0,0,1):void 0;var a=o.indexOf("("),r=o.indexOf(")");if(-1!==a&&r+1===o.length){var s=o.substr(0,a),l=o.substr(a+1,r-(a+1)).split(","),u=1;switch(s){case"rgba":if(4!==l.length)return void Ee(e,0,0,0,1);u=Ne(l.pop());case"rgb":return 3!==l.length?void Ee(e,0,0,0,1):(Ee(e,Pe(l[0]),Pe(l[1]),Pe(l[2]),u),Ge(t,e),e);case"hsla":return 4!==l.length?void Ee(e,0,0,0,1):(l[3]=Ne(l[3]),We(l,e),Ge(t,e),e);case"hsl":return 3!==l.length?void Ee(e,0,0,0,1):(We(l,e),Ge(t,e),e);default:return}}Ee(e,0,0,0,1)}}function We(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=Ne(t[1]),o=Ne(t[2]),a=o<=.5?o*(n+1):o+n-o*n,r=2*o-a;return Ee(e=e||[],Le(255*Oe(r,a,i+1/3)),Le(255*Oe(r,a,i)),Le(255*Oe(r,a,i-1/3)),1),4===t.length&&(e[3]=t[3]),e}function He(t,e){var i=Fe(t);if(i){for(var n=0;n<3;n++)i[n]=e<0?i[n]*(1-e)|0:(255-i[n])*e+i[n]|0,255e);i++);i=Math.min(i-1,u-2)}C=e;var n=g[(D=i)+1]-g[i];if(0!=n)if(S=(e-g[i])/n,l)if(I=m[i],M=m[0===i?i:i-1],T=m[u-2=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},clone:function(){return new Di(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},Di.create=function(t){return new Di(t.x,t.y,t.width,t.height)};var Ci=function(t){for(var e in t=t||{},_i.call(this,t),t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};Ci.prototype={constructor:Ci,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,i=0;i>>1])<0?l=a:s=1+a;var u=n-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;0>>1);0>>1);a(t,e[i+h])<0?l=h:r=h+1}return l}function Ei(p,g){var r,s,m=ki,l=0,v=[];function e(t){var e=r[t],i=s[t],n=r[t+1],o=s[t+1];s[t]=i+o,t===l-3&&(r[t+1]=r[t+2],s[t+1]=s[t+2]),l--;var a=Ri(p[n],p,e,i,0,g);e+=a,0!==(i-=a)&&0!==(o=Oi(p[e+i-1],p,n,o,o-1,g))&&(i<=o?function(t,e,i,n){var o=0;for(o=0;os[t+1])break;e(t)}},this.forceMergeRuns=function(){for(;1>=1;return t+e}(o);do{if((a=Pi(t,i,n,e))=e.maxIterations){t+=e.ellipsis;break}var s=0===r?bn(t,o,e.ascCharWidth,e.cnCharWidth):0f)return{lines:[],width:0,height:0};C.textWidth=pn(C.text,w);var S=x.textWidth,M=null==S||"auto"===S;if("string"==typeof S&&"%"===S.charAt(S.length-1))C.percentWidth=S,u.push(C),S=0;else{if(M){S=C.textWidth;var I=x.textBackgroundColor,T=I&&I.image;T&&sn(T=on(T))&&(S=Math.max(S,T.width*b/T.height))}var A=_?_[1]+_[3]:0;S+=A;var D=null!=d?d-v:null;null!=D&&Dn[0]){for(r=0;rt);r++);a=i[n[r]]}if(n.splice(r+1,0,t),!(i[t]=e).virtual)if(a){var l=a.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)}else vi("Layer of zlevel "+t+" is not valid")},eachLayer:function(t,e){var i,n,o=this._zlevelList;for(n=0;n=a.length&&a.push({option:t})}}),a}function Zo(t){var r=Q();Ro(t,function(t,e){var i=t.exist;i&&r.set(i.id,t)}),Ro(t,function(t,e){var i=t.option;Y(!i||null==i.id||!r.get(i.id)||r.get(i.id)===t,"id duplicates: "+(i&&i.id)),i&&null!=i.id&&r.set(i.id,t),t.keyInfo||(t.keyInfo={})}),Ro(t,function(t,e){var i=t.exist,n=t.option,o=t.keyInfo;if(Eo(n)){if(o.name=null!=n.name?n.name+"":i?i.name:Bo+e,i)o.id=i.id;else if(null!=n.id)o.id=n.id+"";else for(var a=0;o.id="\0"+o.name+"\0"+a++,r.get(o.id););r.set(o.id,t)}})}function Uo(t){var e=t.name;return!(!e||!e.indexOf(Bo))}function Xo(t){return Eo(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}function Yo(e,t){return null!=t.dataIndexInside?t.dataIndexInside:null!=t.dataIndex?L(t.dataIndex)?O(t.dataIndex,function(t){return e.indexOfRawIndex(t)}):e.indexOfRawIndex(t.dataIndex):null!=t.name?L(t.name)?O(t.name,function(t){return e.indexOfName(t)}):e.indexOfName(t.name):void 0}function jo(){var e="__\0ec_inner_"+qo+++"_"+Math.random().toFixed(5);return function(t){return t[e]||(t[e]={})}}var qo=0;function Ko(s,l,u){if(E(l)){var t={};t[l+"Index"]=0,l=t}var e=u&&u.defaultMainType;!e||$o(l,e+"Index")||$o(l,e+"Id")||$o(l,e+"Name")||(l[e+"Index"]=0);var h={};return Ro(l,function(t,e){t=l[e];if("dataIndex"!==e&&"dataIndexInside"!==e){var i=e.match(/^(\w+)(Index|Id|Name)$/)||[],n=i[1],o=(i[2]||"").toLowerCase();if(!(!n||!o||null==t||"index"===o&&"none"===t||u&&u.includeMainTypes&&_(u.includeMainTypes,n)<0)){var a={mainType:n};"index"===o&&"all"===t||(a[o]=t);var r=s.queryComponents(a);h[n+"Models"]=r,h[n+"Model"]=r[0]}}else h[e]=t}),h}function $o(t,e){return t&&t.hasOwnProperty(e)}function Jo(t,e,i){t.setAttribute?t.setAttribute(e,i):t[e]=i}function Qo(t){return"auto"===t?v.domSupported?"html":"richText":t||"html"}function ta(t,i){var n=Q(),o=[];return R(t,function(t){var e=i(t);(n.get(e)||(o.push(e),n.set(e,[]))).push(t)}),{keys:o,buckets:n}}var ea=".",ia="___EC__COMPONENT__CONTAINER___";function na(t){var e={main:"",sub:""};return t&&(t=t.split(ea),e.main=t[0]||"",e.sub=t[1]||""),e}function oa(t){(t.$constructor=t).extend=function(t){function e(){t.$constructor?t.$constructor.apply(this,arguments):i.apply(this,arguments)}var i=this;return P(e.prototype,t),e.extend=this.extend,e.superCall=sa,e.superApply=la,w(e,this),e.superClass=i,e}}var aa=0;function ra(t){var e=["__\0is_clz",aa++,Math.random().toFixed(3)].join("_");t.prototype[e]=!0,t.isInstance=function(t){return!(!t||!t[e])}}function sa(t,e){var i=U(arguments,2);return this.superClass.prototype[e].apply(t,i)}function la(t,e,i){return this.superClass.prototype[e].apply(t,i)}function ua(i,t){t=t||{};var o={};if(i.registerClass=function(t,e){if(e)if(function(t){Y(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType "'+t+'" illegal')}(e),(e=na(e)).sub){if(e.sub!==ia){(function(t){var e=o[t.main];e&&e[ia]||((e=o[t.main]={})[ia]=!0);return e})(e)[e.sub]=t}}else o[e.main]=t;return t},i.getClass=function(t,e,i){var n=o[t];if(n&&n[ia]&&(n=e?n[e]:null),i&&!n)throw new Error(e?"Component "+t+"."+(e||"")+" not exists. Load it first.":t+".type should be specified.");return n},i.getClassesByMainType=function(t){t=na(t);var i=[],e=o[t.main];return e&&e[ia]?R(e,function(t,e){e!==ia&&i.push(t)}):i.push(e),i},i.hasClass=function(t){return t=na(t),!!o[t.main]},i.getAllClassMainTypes=function(){var i=[];return R(o,function(t,e){i.push(e)}),i},i.hasSubTypes=function(t){t=na(t);var e=o[t.main];return e&&e[ia]},i.parseClassType=na,t.registerWhenExtend){var n=i.extend;n&&(i.extend=function(t){var e=n.call(this,t);return i.registerClass(e,t.type)})}return i}function ha(s){for(var t=0;tthis._ux||or(e-this._yi)>this._uy||this._len<5;return this.addData(ja.L,t,e),this._ctx&&i&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),i&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,i,n,o,a){return this.addData(ja.C,t,e,i,n,o,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,n,o,a):this._ctx.bezierCurveTo(t,e,i,n,o,a)),this._xi=o,this._yi=a,this},quadraticCurveTo:function(t,e,i,n){return this.addData(ja.Q,t,e,i,n),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,i,n):this._ctx.quadraticCurveTo(t,e,i,n)),this._xi=i,this._yi=n,this},arc:function(t,e,i,n,o,a){return this.addData(ja.A,t,e,i,i,n,o-n,0,a?0:1),this._ctx&&this._ctx.arc(t,e,i,n,o,a),this._xi=er(o)*i+t,this._yi=ir(o)*i+e,this},arcTo:function(t,e,i,n,o){return this._ctx&&this._ctx.arcTo(t,e,i,n,o),this},rect:function(t,e,i,n){return this._ctx&&this._ctx.rect(t,e,i,n),this.addData(ja.R,t,e,i,n),this},closePath:function(){this.addData(ja.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,i),t.closePath()),this._xi=e,this._yi=i,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t;for(var e=this._dashIdx=0,i=0;ie.length&&(this._expandData(),e=this.data);for(var i=0;il||or(r-o)>u||c===h-1)&&(t.lineTo(a,r),n=a,o=r);break;case ja.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case ja.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case ja.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=m=yr[n=0]+t&&r<=yr[1]+t?h:0}if(a){l=n;n=cr(o),o=cr(l)}else n=cr(n),o=cr(o);oMath.PI/2&&p<1.5*Math.PI&&(h=-h),c+=h)}}return c}function Sr(t,e,i,n,o){for(var a=0,r=0,s=0,l=0,u=0,h=0;hMath.abs(a[1])?0=e[1])return i[1]}else{if(t>=e[0])return i[0];if(t<=e[1])return i[1]}else{if(t===e[0])return i[0];if(t===e[1])return i[1]}return(t-e[0])/o*a+i[0]}function El(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?function(t){return t.replace(/^\s+|\s+$/g,"")}(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function zl(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),i?t:+t}function Bl(t){return t.sort(function(t,e){return t-e}),t}function Vl(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Gl(t){var e=t.toString(),i=e.indexOf("e");if(0h&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/o}var Hl=9007199254740991;function Zl(t){var e=2*Math.PI;return(t%e+e)%e}function Ul(t){return-Ol"'])/g,ou={"&":"&","<":"<",">":">",'"':""","'":"'"};function au(t){return null==t?"":(t+"").replace(nu,function(t,e){return ou[e]})}function ru(t,e){return"{"+t+(null==e?"":e)+"}"}var su=["a","b","c","d","e","f","g"];function lu(t,e,i){L(e)||(e=[e]);var n=e.length;if(!n)return"";for(var o=e[0].$vars||[],a=0;a':'':{renderMode:o,content:"{marker"+a+"|} ",style:{color:i}}:""}function cu(t,e){return"0000".substr(0,e-(t+="").length)+t}function du(t,e,i){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var n=Yl(e),o=i?"UTC":"",a=n["get"+o+"FullYear"](),r=n["get"+o+"Month"]()+1,s=n["get"+o+"Date"](),l=n["get"+o+"Hours"](),u=n["get"+o+"Minutes"](),h=n["get"+o+"Seconds"](),c=n["get"+o+"Milliseconds"]();return t=t.replace("MM",cu(r,2)).replace("M",r).replace("yyyy",a).replace("yy",a%100).replace("dd",cu(s,2)).replace("d",s).replace("hh",cu(l,2)).replace("h",l).replace("mm",cu(u,2)).replace("m",u).replace("ss",cu(h,2)).replace("s",h).replace("SSS",cu(c,3))}function fu(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}var pu=xn;function gu(t,e){if("_blank"===e||"blank"===e){var i=window.open();i.opener=null,i.location=t}else window.open(t,e)}var mu=(Object.freeze||Object)({addCommas:tu,toCamelCase:eu,normalizeCssArray:iu,encodeHTML:au,formatTpl:lu,formatTplSimple:uu,getTooltipMarker:hu,formatTime:du,capitalFirst:fu,truncateText:pu,getTextBoundingRect:function(t){return gn(t.text,t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich,t.truncate)},getTextRect:function(t,e,i,n,o,a,r,s){return gn(t,e,i,n,o,s,a,r)},windowOpen:gu}),vu=R,yu=["left","right","top","bottom","width","height"],xu=[["width","left","right"],["height","top","bottom"]];function _u(h,c,d,f,p){var g=0,m=0;null==f&&(f=1/0),null==p&&(p=1/0);var v=0;c.eachChild(function(t,e){var i,n,o=t.position,a=t.getBoundingRect(),r=c.childAt(e+1),s=r&&r.getBoundingRect();if("horizontal"===h){var l=a.width+(s?-s.x+a.x:0);v=f<(i=g+l)||t.newline?(g=0,i=l,m+=v+d,a.height):Math.max(v,a.height)}else{var u=a.height+(s?-s.y+a.y:0);v=p<(n=m+u)||t.newline?(g+=v+d,m=0,n=u,a.width):Math.max(v,a.width)}t.newline||(o[0]=g,o[1]=m,"horizontal"===h?g=i+d:m=n+d)})}var wu=_u;T(_u,"vertical"),T(_u,"horizontal");function bu(t,e,i){i=iu(i||0);var n=e.width,o=e.height,a=El(t.left,n),r=El(t.top,o),s=El(t.right,n),l=El(t.bottom,o),u=El(t.width,n),h=El(t.height,o),c=i[2]+i[0],d=i[1]+i[3],f=t.aspect;switch(isNaN(u)&&(u=n-s-d-a),isNaN(h)&&(h=o-l-c-r),null!=f&&(isNaN(u)&&isNaN(h)&&(n/oe)return t[n];return t[i-1]}(s,i):r;if((l=l||r)&&l.length){var u=l[o];return t&&(a[t]=u),n.colorIdx=(o+1)%l.length,u}}},zu="original",Bu="arrayRows",Vu="objectRows",Gu="keyedColumns",Fu="unknown",Wu="typedArray",Hu="column",Zu="row";function Uu(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===Gu?{}:[]),this.sourceFormat=t.sourceFormat||Fu,this.seriesLayoutBy=t.seriesLayoutBy||Hu,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&Q(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}Uu.seriesDataToSource=function(t){return new Uu({data:t,sourceFormat:V(t)?Wu:zu,fromDataset:!1})},ra(Uu);var Xu={Must:1,Might:2,Not:3},Yu=jo();function ju(t){var e=t.option,i=e.data,n=V(i)?Wu:zu,o=!1,a=e.seriesLayoutBy,r=e.sourceHeader,s=e.dimensions,l=Qu(t);if(l){var u=l.option;i=u.source,n=Yu(l).sourceFormat,o=!0,a=a||u.seriesLayoutBy,null==r&&(r=u.sourceHeader),s=s||u.dimensions}var h=function(t,e,i,n,o){if(!t)return{dimensionsDefine:qu(o)};var a,r;if(e===Bu)"auto"===n||null==n?Ku(function(t){null!=t&&"-"!==t&&(E(t)?null==r&&(r=1):r=0)},i,t,10):r=n?1:0,o||1!==r||(o=[],Ku(function(t,e){o[e]=null!=t?t:""},i,t)),a=o?o.length:i===Zu?t.length:t[0]?t[0].length:null;else if(e===Vu)o=o||function(t){var e,i=0;for(;i":"\n",f="richText"===c,p={},g=0;function i(t){return{renderMode:c,content:au(tu(t)),style:p}}var m=this.getData(),a=m.mapDimension("defaultedTooltip",!0),n=a.length,r=this.getRawValue(o),s=L(r),v=m.getItemVisual(o,"color");z(v)&&v.colorStops&&(v=(v.colorStops[0]||{}).color),v=v||"transparent";var l=(1":"",n=i+u.join(i||", ");return{renderMode:c,content:n,style:p}}(r):i(n?Hh(m,o,a[0]):s?r[0]:r)).content,u=d.seriesIndex+"at"+g,y=hu({color:v,type:"item",renderMode:c,markerId:u});p[u]=v,++g;var x=m.getName(o),_=this.name;Uo(this)||(_=""),_=_?au(_)+(h?": ":e):"";var w="string"==typeof y?y:y.content;return{html:h?w+_+l:_+w+(x?au(x)+": "+l:l),markers:p}},isAnimationEnabled:function(){if(v.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,i){var n=this.ecModel,o=Eu.getColorFromPalette.call(this,t,e,i);return o=o||n.getColorFromPalette(t,e,i)},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});function lc(t){var e=t.name;Uo(t)||(t.name=function(t){var i=t.getRawData(),e=i.mapDimension("seriesName",!0),n=[];return R(e,function(t){var e=i.getDimensionInfo(t);e.displayName&&n.push(e.displayName)}),n.join(" ")}(t)||e)}function uc(t){return t.model.getRawData().count()}function hc(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),cc}function cc(t,e){e.outputData&&t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function dc(e,i){R(e.CHANGABLE_METHODS,function(t){e.wrapMethod(t,T(fc,i))})}function fc(t){var e=pc(t);e&&e.setOutputEnd(this.count())}function pc(t){var e=(t.ecModel||{}).scheduler,i=e&&e.getPipeline(t.uid);if(i){var n=i.currentTask;if(n){var o=n.agentStubMap;o&&(n=o.get(t.uid))}return n}}b(sc,Xh),b(sc,Eu);var gc=function(){this.group=new Ci,this.uid=Nl("viewComponent")};gc.prototype={constructor:gc,init:function(t,e){},render:function(t,e,i,n){},dispose:function(){},filterForExposedEvent:null};var mc=gc.prototype;mc.updateView=mc.updateLayout=mc.updateVisual=function(t,e,i,n){},oa(gc),ua(gc,{registerWhenExtend:!0});function vc(){var s=jo();return function(t){var e=s(t),i=t.pipelineContext,n=e.large,o=e.progressiveRender,a=e.large=i&&i.large,r=e.progressiveRender=i&&i.progressiveRender;return!!(n^a||o^r)&&"reset"}}var yc=jo(),xc=vc();function _c(){this.group=new Ci,this.uid=Nl("viewChart"),this.renderTask=Yh({plan:Mc,reset:Ic}),this.renderTask.context={view:this}}var wc=_c.prototype={type:"chart",init:function(t,e){},render:function(t,e,i,n){},highlight:function(t,e,i,n){Sc(t.getData(),n,"emphasis")},downplay:function(t,e,i,n){Sc(t.getData(),n,"normal")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};function bc(t,e,i){if(t&&(t.trigger(e,i),t.isGroup&&!Qs(t)))for(var n=0,o=t.childCount();nc?i+=p(g("data.partialData"),{displayCnt:c}):i+=g("data.allData");for(var r=[],s=0;si.blockIndex?i.step:null,a=n&&n.modDataCount;return{step:o,modBy:null!=a?Math.ceil(a/o):null,modDataCount:a}}},Bc.getPipeline=function(t){return this._pipelineMap.get(t)},Bc.updateStreamModes=function(t,e){var i=this._pipelineMap.get(t.uid),n=t.getData().count(),o=i.progressiveEnabled&&e.incrementalPrepareRender&&n>=i.threshold,a=t.get("large")&&n>=t.get("largeThreshold"),r="mod"===t.get("progressiveChunkMode")?n:null;t.pipelineContext=i.context={progressiveRender:o,modDataCount:r,large:a}},Bc.restorePipelines=function(t){var n=this,o=n._pipelineMap=Q();t.eachSeries(function(t){var e=t.getProgressive(),i=t.uid;o.set(i,{id:i,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:e&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(e||700),count:0}),Kc(n,t,t.dataTask)})},Bc.prepareStageTasks=function(){var i=this._stageTaskMap,n=this.ecInstance.getModel(),o=this.api;R(this._allHandlers,function(t){var e=i.get(t.uid)||i.set(t.uid,[]);t.reset&&function(n,o,t,a,r){var s=t.seriesTaskMap||(t.seriesTaskMap=Q()),e=o.seriesType,i=o.getTargetSeries;o.createOnAllSeries?a.eachRawSeries(l):e?a.eachRawSeriesByType(e,l):i&&i(a,r).each(l);function l(t){var e=t.uid,i=s.get(e)||s.set(e,Yh({plan:Uc,reset:Xc,count:qc}));i.context={model:t,ecModel:a,api:r,useClearVisual:o.isVisual&&!o.isLayout,plan:o.plan,reset:o.reset,scheduler:n},Kc(n,t,i)}var u=n._pipelineMap;s.each(function(t,e){u.get(e)||(t.dispose(),s.removeKey(e))})}(this,t,e,n,o),t.overallReset&&function(n,t,e,i,o){var a=e.overallTask=e.overallTask||Yh({reset:Fc});a.context={ecModel:i,api:o,overallReset:t.overallReset,scheduler:n};var r=a.agentStubMap=a.agentStubMap||Q(),s=t.seriesType,l=t.getTargetSeries,u=!0,h=t.modifyOutputEnd;s?i.eachRawSeriesByType(s,c):l?l(i,o).each(c):(u=!1,R(i.getSeries(),c));function c(t){var e=t.uid,i=r.get(e);i||(i=r.set(e,Yh({reset:Wc,onDirty:Zc})),a.dirty()),i.context={model:t,overallProgress:u,modifyOutputEnd:h},i.agent=a,i.__block=u,Kc(n,t,i)}var d=n._pipelineMap;r.each(function(t,e){d.get(e)||(t.dispose(),a.dirty(),r.removeKey(e))})}(this,t,e,n,o)},this)},Bc.prepareView=function(t,e,i,n){var o=t.renderTask,a=o.context;a.model=e,a.ecModel=i,a.api=n,o.__block=!t.incrementalPrepareRender,Kc(this,e,o)},Bc.performDataProcessorTasks=function(t,e){Vc(this,this._dataProcessorHandlers,t,e,{block:!0})},Bc.performVisualTasks=function(t,e,i){Vc(this,this._visualHandlers,t,e,i)},Bc.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},Bc.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var Gc=Bc.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)};function Fc(t){t.overallReset(t.ecModel,t.api,t.payload)}function Wc(t,e){return t.overallProgress&&Hc}function Hc(){this.agent.dirty(),this.getDownstream().dirty()}function Zc(){this.agent&&this.agent.dirty()}function Uc(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function Xc(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=Vo(t.reset(t.model,t.ecModel,t.api,t.payload));return 1'+t.dom+""}),p.painter.getSvgRoot().innerHTML=g,o.connectedBackgroundColor&&p.painter.setBackgroundColor(o.connectedBackgroundColor),p.refreshImmediately(),p.painter.toDataURL()}return o.connectedBackgroundColor&&p.add(new rs({shape:{x:0,y:0,width:t,height:e},style:{fill:o.connectedBackgroundColor}})),Td(f,function(t){var e=new Qn({style:{x:t.left*i-u,y:t.top*i-h,image:t.dom}});p.add(e)}),p.refreshImmediately(),n.toDataURL("image/"+(o&&o.type||"png"))}return this.getDataURL(o)}},zd.convertToPixel=T(Bd,"convertToPixel"),zd.convertFromPixel=T(Bd,"convertFromPixel"),zd.containPixel=function(t,o){var a;if(!this._disposed)return R(t=Ko(this._model,t),function(t,n){0<=n.indexOf("Models")&&R(t,function(t){var e=t.coordinateSystem;if(e&&e.containPoint)a|=!!e.containPoint(o);else if("seriesModels"===n){var i=this._chartsMap[t.__viewId];i&&i.containPoint&&(a|=i.containPoint(o,t))}},this)},this),!!a},zd.getVisual=function(t,e){var i=(t=Ko(this._model,t,{defaultMainType:"series"})).seriesModel.getData(),n=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?i.indexOfRawIndex(t.dataIndex):null;return null!=n?i.getItemVisual(n,e):i.getVisual(e)},zd.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},zd.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var Vd={prepareAndUpdate:function(t){Gd(this),Vd.update.call(this,t)},update:function(t){var e=this._model,i=this._api,n=this._zr,o=this._coordSysMgr,a=this._scheduler;if(e){a.restoreData(e,t),a.performSeriesTasks(e),o.create(e,i),a.performDataProcessorTasks(e,t),Wd(this,e),o.update(e,i),Yd(e),a.performVisualTasks(e,t),jd(this,e,i,t);var r=e.get("backgroundColor")||"transparent";if(v.canvasSupported)n.setBackgroundColor(r);else{var s=Fe(r);r=$e(s,"rgb"),0===s[3]&&(r="transparent")}Kd(e,i)}},updateTransform:function(o){var a=this._model,r=this,s=this._api;if(a){var l=[];a.eachComponent(function(t,e){var i=r.getViewOfComponentModel(e);if(i&&i.__alive)if(i.updateTransform){var n=i.updateTransform(e,a,s,o);n&&n.update&&l.push(i)}else l.push(i)});var n=Q();a.eachSeries(function(t){var e=r._chartsMap[t.__viewId];if(e.updateTransform){var i=e.updateTransform(t,a,s,o);i&&i.update&&n.set(t.uid,1)}else n.set(t.uid,1)}),Yd(a),this._scheduler.performVisualTasks(a,o,{setDirty:!0,dirtyMap:n}),qd(r,a,s,o,n),Kd(a,this._api)}},updateView:function(t){var e=this._model;e&&(_c.markUpdateMethod(t,"updateView"),Yd(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),jd(this,this._model,this._api,t),Kd(e,this._api))},updateVisual:function(t){Vd.update.call(this,t)},updateLayout:function(t){Vd.update.call(this,t)}};function Gd(t){var e=t._model,i=t._scheduler;i.restorePipelines(e),i.prepareStageTasks(),Xd(t,"component",e,i),Xd(t,"chart",e,i),i.plan()}function Fd(e,i,n,o,t){var a=e._model;if(o){var r={};r[o+"Id"]=n[o+"Id"],r[o+"Index"]=n[o+"Index"],r[o+"Name"]=n[o+"Name"];var s={mainType:o,query:r};t&&(s.subType=t);var l=n.excludeSeriesId;null!=l&&(l=Q(Vo(l))),a&&a.eachComponent(s,function(t){l&&null!=l.get(t.id)||u(e["series"===o?"_chartsMap":"_componentsMap"][t.__viewId])},e)}else Td(e._componentsViews.concat(e._chartsViews),u);function u(t){t&&t.__alive&&t[i]&&t[i](t.__model,a,e._api,n)}}function Wd(t,e){var i=t._chartsMap,n=t._scheduler;e.eachSeries(function(t){n.updateStreamModes(t,i[t.__viewId])})}function Hd(e,t){var i=e.type,n=e.escapeConnect,o=tf[i],a=o.actionInfo,r=(a.update||"update").split(":"),s=r.pop();r=null!=r[0]&&Cd(r[0]),this[kd]=!0;var l=[e],u=!1;e.batch&&(u=!0,l=O(e.batch,function(t){return(t=D(P({},t),e)).batch=null,t}));var h,c=[],d="highlight"===i||"downplay"===i;Td(l,function(t){(h=(h=o.action(t,this._model,this._api))||P({},t)).type=a.event||h.type,c.push(h),d?Fd(this,s,t,"series"):r&&Fd(this,s,t,r.main,r.sub)},this),"none"===s||d||r||(this[Pd]?(Gd(this),Vd.update.call(this,e),this[Pd]=!1):Vd[s].call(this,e)),h=u?{type:a.event||i,escapeConnect:n,batch:c}:c[0],this[kd]=!1,t||this._messageCenter.trigger(h.type,h)}function Zd(t){for(var e=this._pendingActions;e.length;){var i=e.shift();Hd.call(this,i,t)}}function Ud(t){t||this.trigger("updated")}function Xd(t,e,o,a){for(var r="component"===e,s=r?t._componentsViews:t._chartsViews,l=r?t._componentsMap:t._chartsMap,u=t._zr,h=t._api,i=0;it.get("hoverLayerThreshold")&&!v.node&&t.eachSeries(function(t){if(!t.preventUsingHoverLayer){var e=i._chartsMap[t.__viewId];e.__alive&&e.group.traverse(function(t){t.useHoverLayer=!0})}})}(n,t),Rc(n._zr.dom,t)}function Kd(e,i){Td(af,function(t){t(e,i)})}zd.resize=function(t){if(!this._disposed){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var i=e.resetOption("media"),n=t&&t.silent;this[kd]=!0,i&&Gd(this),Vd.update.call(this),this[kd]=!1,Zd.call(this,n),Ud.call(this,n)}}},zd.showLoading=function(t,e){if(!this._disposed&&(Dd(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),lf[t])){var i=lf[t](this._api,e),n=this._zr;this._loadingFX=i,n.add(i)}},zd.hideLoading=function(){this._disposed||(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},zd.makeActionFromEvent=function(t){var e=P({},t);return e.type=ef[t.type],e},zd.dispatchAction=function(t,e){this._disposed||(Dd(e)||(e={silent:!!e}),tf[t.type]&&this._model&&(this[kd]?this._pendingActions.push(t):(Hd.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&v.browser.weChat&&this._throttledZrFlush(),Zd.call(this,e.silent),Ud.call(this,e.silent))))},zd.appendData=function(t){if(!this._disposed){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0}},zd.on=Od("on",!1),zd.off=Od("off",!1),zd.one=Od("one",!1);var $d=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];function Jd(t,e){var i=t.get("z"),n=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=n&&(t.zlevel=n))})}function Qd(){this.eventInfo}zd._initEvents=function(){Td($d,function(u){function t(t){var e,i=this.getModel(),n=t.target;if("globalout"===u)e={};else if(n&&null!=n.dataIndex){var o=n.dataModel||i.getSeriesByIndex(n.seriesIndex);e=o&&o.getDataParams(n.dataIndex,n.dataType,n)||{}}else n&&n.eventData&&(e=P({},n.eventData));if(e){var a=e.componentType,r=e.componentIndex;"markLine"!==a&&"markPoint"!==a&&"markArea"!==a||(a="series",r=e.seriesIndex);var s=a&&null!=r&&i.getComponent(a,r),l=s&&this["series"===s.mainType?"_chartsMap":"_componentsMap"][s.__viewId];e.event=t,e.type=u,this._ecEventProcessor.eventInfo={targetEl:n,packedEvent:e,model:s,view:l},this.trigger(u,e)}}t.zrEventfulCallAtLast=!0,this._zr.on(u,t,this)},this),Td(ef,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},zd.isDisposed=function(){return this._disposed},zd.clear=function(){this._disposed||this.setOption({series:[]},!0)},zd.dispose=function(){if(!this._disposed){this._disposed=!0,Jo(this.getDom(),ff,"");var e=this._api,i=this._model;Td(this._componentsViews,function(t){t.dispose(i,e)}),Td(this._chartsViews,function(t){t.dispose(i,e)}),this._zr.dispose(),delete uf[this.id]}},b(Ed,Ct),Qd.prototype={constructor:Qd,normalizeQuery:function(t){var s={},l={},u={};if(E(t)){var e=Cd(t);s.mainType=e.main||null,s.subType=e.sub||null}else{var h=["Index","Name","Id"],c={name:1,dataIndex:1,dataType:1};R(t,function(t,e){for(var i=!1,n=0;nx[1]&&(x[1]=y)}e&&(this._nameList[d]=e[f])}this._rawCount=this._count=l,this._extent={},Kf(this)},jf._initDataFromProvider=function(t,e){if(!(e<=t)){for(var i,n=this._chunkSize,o=this._rawData,a=this._storage,r=this.dimensions,s=r.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;pM[1]&&(M[1]=S)}if(!o.pure){var I=u[v];if(m&&null==I)if(null!=m.name)u[v]=I=m.name;else if(null!=i){var T=r[i],A=a[T][y];if(A){I=A[x];var D=l[T].ordinalMeta;D&&D.categories.length&&(I=D.categories[I])}}var C=null==m?null:m.id;null==C&&null!=I&&(d[I]=d[I]||0,0=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,i=e[t];if(null!=i&&it))return a;o=a-1}}return-1},jf.indicesOfNearest=function(t,e,i){var n=[];if(!this._storage[t])return n;null==i&&(i=1/0);for(var o=1/0,a=-1,r=0,s=0,l=this.count();st[I][1])&&(M=!1)}M&&(a[r++]=this.getRawIndex(m))}return rw[1]&&(w[1]=_)}}}return o},jf.downSample=function(t,e,i,n){for(var o=ip(this,[t]),a=o._storage,r=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=o._rawExtent[t],d=new(Hf(this))(u),f=0,p=0;pc[1]&&(c[1]=x),d[f++]=_}return o._count=f,o._indices=d,o.getRawIndex=Qf,o},jf.getItemModel=function(t){var e=this.hostModel;return new Cl(this.getRawDataItem(t),e,e&&e.ecModel)},jf.diff=function(e){var i=this;return new kf(e?e.getIndices():[],this.getIndices(),function(t){return tp(e,t)},function(t){return tp(i,t)})},jf.getVisual=function(t){var e=this._visual;return e&&e[t]},jf.setVisual=function(t,e){if(zf(t))for(var i in t)t.hasOwnProperty(i)&&this.setVisual(i,t[i]);else this._visual=this._visual||{},this._visual[t]=e},jf.setLayout=function(t,e){if(zf(t))for(var i in t)t.hasOwnProperty(i)&&this.setLayout(i,t[i]);else this._layout[t]=e},jf.getLayout=function(t){return this._layout[t]},jf.getItemLayout=function(t){return this._itemLayouts[t]},jf.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?P(this._itemLayouts[t]||{},e):e},jf.clearItemLayouts=function(){this._itemLayouts.length=0},jf.getItemVisual=function(t,e,i){var n=this._itemVisuals[t],o=n&&n[e];return null!=o||i?o:this.getVisual(e)},jf.setItemVisual=function(t,e,i){var n=this._itemVisuals[t]||{},o=this.hasItemVisual;if(this._itemVisuals[t]=n,zf(e))for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a],o[a]=!0);else n[e]=i,o[e]=!0},jf.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};function ap(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType}function rp(t,e,i){Uu.isInstance(e)||(e=Uu.seriesDataToSource(e)),i=i||{},t=(t||[]).slice();for(var n=(i.dimsDef||[]).slice(),o=Q(),a=Q(),l=[],r=function(t,e,i,n){var o=Math.max(t.dimensionsDetectCount||1,e.length,i.length,n||0);return R(e,function(t){var e=t.dimsDef;e&&(o=Math.max(o,e.length))}),o}(e,t,n,i.dimCount),s=0;s=e[0]&&t<=e[1]},mp.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},mp.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},mp.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1])},mp.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},mp.prototype.getExtent=function(){return this._extent.slice()},mp.prototype.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},mp.prototype.isBlank=function(){return this._isBlank},mp.prototype.setBlank=function(t){this._isBlank=t},mp.prototype.getLabel=null,oa(mp),ua(mp,{registerWhenExtend:!0}),vp.createByAxisModel=function(t){var e=t.option,i=e.data,n=i&&O(i,_p);return new vp({categories:n,needCollect:!n,deduplication:!1!==e.dedplication})};var yp=vp.prototype;function xp(t){return t._map||(t._map=Q(t.categories))}function _p(t){return z(t)&&null!=t.value?t.value:t+""}yp.getOrdinal=function(t){return xp(this).get(t)},yp.parseAndCollect=function(t){var e,i=this._needCollect;if("string"!=typeof t&&!i)return t;if(i&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var n=xp(this);return null==(e=n.get(t))&&(i?(e=this.categories.length,this.categories[e]=t,n.set(t,e)):e=NaN),e};var wp=mp.prototype,bp=mp.extend({type:"ordinal",init:function(t,e){t&&!L(t)||(t=new vp({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),wp.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return wp.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(wp.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,i=e[0];i<=e[1];)t.push(i),i++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:et,niceExtent:et});bp.create=function(){return new bp};var Sp=zl;function Mp(t){return Gl(t)+2}function Ip(t,e,i){t[e]=Math.max(Math.min(t[e],i[1]),i[0])}function Tp(t,e){isFinite(t[0])||(t[0]=e[0]),isFinite(t[1])||(t[1]=e[1]),Ip(t,0,e),Ip(t,1,e),t[0]>t[1]&&(t[0]=t[1])}var Ap=zl,Dp=mp.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var i=this._extent;isNaN(t)||(i[0]=parseFloat(t)),isNaN(e)||(i[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),Dp.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Mp(t)},getTicks:function(t){var e=this._interval,i=this._extent,n=this._niceExtent,o=this._intervalPrecision,a=[];if(!e)return a;i[0]s&&(t?a.push(Ap(s+e,o)):a.push(i[1])),a},getMinorTicks:function(t){for(var e=this.getTicks(!0),i=[],n=this.getExtent(),o=1;on[0]&&h>>1;t[o][1]>1^-(1&s),l=l>>1^-(1&l),o=s+=o,a=l+=a,n.push([s/i,l/i])}return n}Ag.prototype={constructor:Ag,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,i=[e,e],n=[-e,-e],o=[],a=[],r=this.geometries,s=0;ss[1];d(e[0].coord,s[0])&&(n?e[0].coord=s[0]:e.shift());n&&d(s[0],e[0].coord)&&e.unshift({coord:s[0]});d(s[1],a.coord)&&(n?a.coord=s[1]:e.pop());n&&d(a.coord,s[1])&&e.push({coord:s[1]});function d(t,e){return t=zl(t),e=zl(e),c?en[0]&&(n[0]=a[0]),a[1]>n[1]&&(n[1]=a[1])}return{min:e?i:n,max:e?n:i}}var xm=Ar.extend({type:"ec-polyline",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:"#000"},brush:Xr(Ar.prototype.brush),buildPath:function(t,e){var i=e.points,n=0,o=i.length,a=ym(i,e.smoothConstraint);if(e.connectNulls){for(;0n)return!1;return!0}(a,e))){var r=e.mapDimension(a.dim),s={};return R(a.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(r,t))}}}}function Cm(t,e,i){if("cartesian2d"!==t.type)return bm(t,e,i);var n=t.getBaseAxis().isHorizontal(),o=wm(t,e,i);if(!i.get("clip",!0)){var a=o.shape,r=Math.max(a.width,a.height);n?(a.y-=r,a.height+=2*r):(a.x-=r,a.width+=2*r)}return o}_c.extend({type:"line",init:function(){var t=new Ci,e=new im;this.group.add(e.group),this._symbolDraw=e,this._lineGroup=t},render:function(t,e,i){var n=t.coordinateSystem,o=this.group,a=t.getData(),r=t.getModel("lineStyle"),s=t.getModel("areaStyle"),l=a.mapArray(a.getItemLayout),u="polar"===n.type,h=this._coordSys,c=this._symbolDraw,d=this._polyline,f=this._polygon,p=this._lineGroup,g=t.get("animation"),m=!s.isEmpty(),v=s.get("origin"),y=function(t,e,i){if(!i.valueDim)return[];for(var n=[],o=0,a=e.count();oh[c-1].coord&&(h.reverse(),d.reverse());var f=h[0].coord-10,p=h[c-1].coord+10,g=p-f;if(g<.001)return"transparent";R(h,function(t){t.offset=(t.coord-f)/g}),h.push({offset:c?h[c-1].offset:.5,color:d[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:d[0]||"transparent"});var m=new gs(0,0,0,0,h,!0);return m[n]=f,m[n+"2"]=p,m}}}(a,n)||a.getVisual("color");d.useStyle(D(r.getLineStyle(),{fill:"none",stroke:M,lineJoin:"bevel"}));var I=t.get("smooth");if(I=Tm(t.get("smooth")),d.setShape({smooth:I,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")}),f){var T=a.getCalculationInfo("stackedOnSeries"),A=0;f.useStyle(D(s.getAreaStyle(),{fill:M,opacity:.7,lineJoin:"bevel"})),T&&(A=Tm(T.get("smooth"))),f.setShape({smooth:I,stackedOnSmooth:A,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")})}this._data=a,this._coordSys=n,this._stackedOnPoints=y,this._points=l,this._step=S,this._valueOrigin=v},dispose:function(){},highlight:function(t,e,i,n){var o=t.getData(),a=Yo(o,n);if(!(a instanceof Array)&&null!=a&&0<=a){var r=o.getItemGraphicEl(a);if(!r){var s=o.getItemLayout(a);if(!s)return;if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(s[0],s[1]))return;(r=new Xg(o,a)).position=s,r.setZ(t.get("zlevel"),t.get("z")),r.ignore=isNaN(s[0])||isNaN(s[1]),r.__temp=!0,o.setItemGraphicEl(a,r),r.stopSymbolAnimation(!0),this.group.add(r)}r.highlight()}else _c.prototype.highlight.call(this,t,e,i,n)},downplay:function(t,e,i,n){var o=t.getData(),a=Yo(o,n);if(null!=a&&0<=a){var r=o.getItemGraphicEl(a);r&&(r.__temp?(o.setItemGraphicEl(a,null),this.group.remove(r)):r.downplay())}else _c.prototype.downplay.call(this,t,e,i,n)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new xm({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e},_newPolygon:function(t,e){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new _m({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(i),this._polygon=i},_updateAnimation:function(t,e,i,n,o,a){var r=this._polyline,s=this._polygon,l=t.hostModel,u=function(t,e,i,n,o,a,r,s){for(var l=function(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:"+",idx:t})}).update(function(t,e){i.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){i.push({cmd:"-",idx:t})}).execute(),i}(t,e),u=[],h=[],c=[],d=[],f=[],p=[],g=[],m=sm(o,e,r),v=sm(a,t,s),y=0;ye&&(e=t[i]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,i=0;ie[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},w(zm,Gg);var Bm={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},Vm={};Vm.categoryAxis=m({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},Bm),Vm.valueAxis=m({boundaryGap:[0,0],splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#eee",width:1}}},Bm),Vm.timeAxis=D({scale:!0,min:"dataMin",max:"dataMax"},Vm.valueAxis),Vm.logAxis=D({scale:!0,logBase:10},Vm.valueAxis);function Gm(a,t,r,e){R(Fm,function(o){t.extend({type:a+"Axis."+o,mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,n=i?Iu(t):{};m(t,e.getTheme().get(o+"Axis")),m(t,this.getDefaultOption()),t.type=r(a,t),i&&Mu(t,n,i)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=vp.createByAxisModel(this))},getCategories:function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:p([{},Vm[o+"Axis"],e],!0)})}),ku.registerSubTypeDefaulter(a+"Axis",T(r,a))}var Fm=["value","category","time","log"],Wm=ku.extend({type:"cartesian2dAxis",axis:null,init:function(){Wm.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){Wm.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){Wm.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});function Hm(t,e){return e.type||(e.data?"category":"value")}m(Wm.prototype,dg);var Zm={offset:0};function Um(t,e){return t.getCoordSysModel()===e}function Xm(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,i),this.model=t}Gm("x",Wm,Hm,Zm),Gm("y",Wm,Hm,Zm),ku.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var Ym=Xm.prototype;function jm(t,e,i,n){i.getAxesOnZeroOf=function(){return o?[o]:[]};var o,a=t[e],r=i.model,s=r.get("axisLine.onZero"),l=r.get("axisLine.onZeroAxisIndex");if(s){if(null!=l)qm(a[l])&&(o=a[l]);else for(var u in a)if(a.hasOwnProperty(u)&&qm(a[u])&&!n[h(a[u])]){o=a[u];break}o&&(n[h(o)]=!0)}function h(t){return t.dim+"_"+t.index}}function qm(t){return t&&"category"!==t.type&&"time"!==t.type&&function(t){var e=t.scale.getExtent(),i=e[0],n=e[1];return!(0u[1]?-1:1,c=["start"===a?u[0]-h*l:"end"===a?u[1]+h*l:(u[0]+u[1])/2,sv(a)?t.labelOffset+r*l:0],d=e.get("nameRotate");null!=d&&(d=d*tv/180),sv(a)?n=nv(t.rotation,null!=d?d:t.rotation,r):(n=function(t,e,i,n){var o,a,r=Zl(i-t.rotation),s=n[0]>n[1],l="start"===e&&!s||"start"!==e&&s;o=Ul(r-tv/2)?(a=l?"bottom":"top","center"):Ul(r-1.5*tv)?(a=l?"top":"bottom","center"):(a="middle",r<1.5*tv&&tv/2l[1]&&l.reverse(),(null==r||r>l[1])&&(r=l[1]),r=i.r0}}});var ny=Math.PI/180;function oy(o,t,e,i,n,a,r,s,l,u){function h(t,e,i){for(var n=t;nl+r);n++)if(o[n].y+=i,to[n].y+o[n].height)return void c(n,i/2);c(e-1,i/2)}function c(t,e){for(var i=t;0<=i&&!(o[i].y-eo[i-1].y+o[i-1].height));i--);}function d(t,e,i,n,o,a){for(var r=e?Number.MAX_VALUE:0,s=0,l=t.length;s=e?v.push(o[y]):m.push(o[y]);d(m,!1,t,e,i,n),d(v,!0,t,e,i,n)}function ay(t){return"center"===t.position}function ry(L,k,P,t,N,e){var O,R,E=L.getData(),z=[],B=!1,V=(L.get("minShowLabelAngle")||0)*ny;E.each(function(t){var e=E.getItemLayout(t),i=E.getItemModel(t),n=i.getModel("label"),o=n.get("position")||i.get("emphasis.label.position"),a=n.get("distanceToLabelLine"),r=n.get("alignTo"),s=El(n.get("margin"),P),l=n.get("bleedMargin"),u=n.getFont(),h=i.getModel("labelLine"),c=h.get("length");c=El(c,P);var d=h.get("length2");if(d=El(d,P),!(e.anglei[0]&&isFinite(h)&&isFinite(i[0]););else{var l=o.getTicks().length-1;c":"\n";return au(""===r?this.name:r)+s+O(a,function(t,e){var i=o.get(o.mapDimension(t.dim),n);return au(t.name+" : "+i)}).join(s)},getTooltipPosition:function(t){if(null!=t)for(var e=this.getData(),i=this.coordinateSystem,n=e.getValues(O(i.dimensions,function(t){return e.mapDimension(t)}),t,!0),o=0,a=n.length;o":"\n";return l.join(", ")+d+au(r+" : "+a)},getTooltipPosition:function(t){if(null!=t){var e=this.getData().getName(t),i=this.coordinateSystem,n=i.getRegion(e);return n&&i.dataToPoint(n.center)}},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},nameProperty:"name"}}),jv);var Ey="\0_ec_interaction_mutex";function zy(t,e){return!!By(t)[e]}function By(t){return t[Ey]||(t[Ey]={})}function Vy(i){this.pointerChecker,this._zr=i,this._opt={};var t=A,n=t(Gy,this),o=t(Fy,this),a=t(Wy,this),r=t(Hy,this),s=t(Zy,this);Ct.call(this),this.setPointerChecker=function(t){this.pointerChecker=t},this.enable=function(t,e){this.disable(),this._opt=D(k(e)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),null==t&&(t=!0),!0!==t&&"move"!==t&&"pan"!==t||(i.on("mousedown",n),i.on("mousemove",o),i.on("mouseup",a)),!0!==t&&"scale"!==t&&"zoom"!==t||(i.on("mousewheel",r),i.on("pinch",s))},this.disable=function(){i.off("mousedown",n),i.off("mousemove",o),i.off("mouseup",a),i.off("mousewheel",r),i.off("pinch",s)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}function Gy(t){if(!(Yt(t)||t.target&&t.target.draggable)){var e=t.offsetX,i=t.offsetY;this.pointerChecker&&this.pointerChecker(t,e,i)&&(this._x=e,this._y=i,this._dragging=!0)}}function Fy(t){if(this._dragging&&Yy("moveOnMouseMove",t,this._opt)&&"pinch"!==t.gestureEvent&&!zy(this._zr,"globalPan")){var e=t.offsetX,i=t.offsetY,n=this._x,o=this._y,a=e-n,r=i-o;this._x=e,this._y=i,this._opt.preventDefaultMouseMove&&Xt(t.event),Xy(this,"pan","moveOnMouseMove",t,{dx:a,dy:r,oldX:n,oldY:o,newX:e,newY:i})}}function Wy(t){Yt(t)||(this._dragging=!1)}function Hy(t){var e=Yy("zoomOnMouseWheel",t,this._opt),i=Yy("moveOnMouseWheel",t,this._opt),n=t.wheelDelta,o=Math.abs(n),a=t.offsetX,r=t.offsetY;if(0!==n&&(e||i)){if(e){var s=3e&&(e=n.height)}this.height=e+1},getNodeById:function(t){if(this.getId()===t)return this;for(var e=0,i=this.children,n=i.length;ei&&(i=t.depth)});var a=t.expandAndCollapse&&0<=t.initialTreeDepth?t.initialTreeDepth:i;return o.root.eachNode("preorder",function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=a}),o.data},getOrient:function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},formatTooltip:function(t){for(var e=this.getData().tree,i=e.root.children[0],n=e.getNodeByDataIndex(t),o=n.getValue(),a=n.name;n&&n!==i;)a=n.parentNode.name+"."+a,n=n.parentNode;return au(a+(isNaN(o)||null==o?"":" : "+o))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}});var zx=Cs({shape:{parentPoint:[],childPoints:[],orient:"",forkPosition:""},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i=e.childPoints,n=i.length,o=e.parentPoint,a=i[0],r=i[n-1];if(1===n)return t.moveTo(o[0],o[1]),void t.lineTo(a[0],a[1]);var s=e.orient,l="TB"===s||"BT"===s?0:1,u=1-l,h=El(e.forkPosition,1),c=[];c[l]=o[l],c[u]=o[u]+(r[u]-o[u])*h,t.moveTo(o[0],o[1]),t.lineTo(c[0],c[1]),t.moveTo(a[0],a[1]),c[l]=a[l],t.lineTo(c[0],c[1]),c[l]=r[l],t.lineTo(c[0],c[1]),t.lineTo(r[0],r[1]);for(var d=1;dx.x)||(m-=Math.PI);var b=v?"left":"right",S=a.labelModel.get("rotate"),M=S*(Math.PI/180);g.setStyle({textPosition:a.labelModel.get("position")||b,textRotation:null==S?-m:M,textOrigin:"center",verticalAlign:"middle"})}!function(t,e,i,n,o,a,r,s,l){var u=l.edgeShape,h=n.__edge;if("curve"===u)e.parentNode&&e.parentNode!==i&&cl(h=h||(n.__edge=new ds({shape:Wx(l,o,o),style:D({opacity:0,strokeNoScale:!0},l.lineStyle)})),{shape:Wx(l,a,r),style:D({opacity:1},l.lineStyle)},t);else if("polyline"===u&&"orthogonal"===l.layout&&e!==i&&e.children&&0!==e.children.length&&!0===e.isExpand){for(var c=e.children,d=[],f=0;fh.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)});var d=u===h?1:r(u,h)/2,f=d-u.getLayout().x,p=0,g=0,m=0,v=0;if("radial"===n)p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),Hx(l,function(t){m=(t.getLayout().x+f)*p,v=(t.depth-1)*g;var e=Px(m,v);t.setLayout({x:e.x,y:e.y,rawX:m,rawY:v},!0)});else{var y=t.getOrient();"RL"===y||"LR"===y?(g=a/(h.getLayout().x+d+f),p=o/(c.depth-1||1),Hx(l,function(t){v=(t.getLayout().x+f)*g,m="LR"===y?(t.depth-1)*p:o-(t.depth-1)*p,t.setLayout({x:m,y:v},!0)})):"TB"!==y&&"BT"!==y||(p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),Hx(l,function(t){m=(t.getLayout().x+f)*p,v="TB"===y?(t.depth-1)*g:a-(t.depth-1)*g,t.setLayout({x:m,y:v},!0)}))}}}(t,e)})}),sc.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],preventUsingHoverLayer:!0,_viewRoot:null,defaultOption:{progressive:0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(t,e){var i={name:t.name,children:t.data};!function i(t){var n=0;R(t.children,function(t){i(t);var e=t.value;L(e)&&(e=e[0]),n+=e});var e=t.value;L(e)&&(e=e[0]);null!=e&&!isNaN(e)||(e=n);e<0&&(e=0);L(t.value)?t.value[0]=e:t.value=e}(i);var n=t.levels||[],o=new Cl({itemStyle:this.designatedVisualItemStyle={}},this,e),a=O((n=t.levels=function(t,e){var n,i=e.get("color");if(!i)return;if(R(t=t||[],function(t){var e=new Cl(t),i=e.get("color");(e.get("itemStyle.color")||i&&"none"!==i)&&(n=!0)}),!n){(t[0]||(t[0]={})).color=i.slice()}return t}(n,e))||[],function(t){return new Cl(t,o,e)},this),r=Ax.createTree(i,this,function(t){t.wrapMethod("getItemModel",function(t,e){var i=r.getNodeByDataIndex(e),n=a[i.depth];return t.parentModel=n||o,t})});return r.data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=L(i)?tu(i[0]):tu(i);return au(e.getName(t)+": "+n)},getDataParams:function(t){var e=sc.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=Yx(i,this),e},setLayoutInfo:function(t){this.layoutInfo=this.layoutInfo||{},P(this.layoutInfo,t)},mapIdToIndex:function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=Q(),this._idIndexMapCount=0);var i=e.get(t);return null==i&&e.set(t,i=this._idIndexMapCount++),i},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var jx=5;function qx(t){this.group=new Ci,t.add(this.group)}function Kx(t,e,i,n,o,a){var r=[[o?t:t-jx,e],[t+i,e],[t+i,e+n],[o?t:t-jx,e+n]];return a||r.splice(2,0,[t+i+jx,e+n/2]),o||r.push([t,e+n/2]),r}qx.prototype={constructor:qx,render:function(t,e,i,n){var o=t.getModel("breadcrumb"),a=this.group;if(a.removeAll(),o.get("show")&&i){var r=o.getModel("itemStyle"),s=r.getModel("textStyle"),l={pos:{left:o.get("left"),right:o.get("right"),top:o.get("top"),bottom:o.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:o.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(i,l,s),this._renderContent(t,l,r,s,n),Su(a,l.pos,l.box)}},_prepare:function(t,e,i){for(var n=t;n;n=n.parentNode){var o=n.getModel().get("name"),a=i.getTextRect(o),r=Math.max(a.width+16,e.emptyItemWidth);e.totalWidth+=r+8,e.renderList.push({node:n,text:o,width:r})}},_renderContent:function(t,e,i,n,o){for(var a,r,s=0,l=e.emptyItemWidth,u=t.get("breadcrumb.height"),h=function(t,e,i){var n=e.width,o=e.height,a=El(t.x,n),r=El(t.y,o),s=El(t.x2,n),l=El(t.y2,o);return(isNaN(a)||isNaN(parseFloat(t.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(t.x2)))&&(s=n),(isNaN(r)||isNaN(parseFloat(t.y)))&&(r=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=o),i=iu(i||0),{width:Math.max(s-a-i[1]-i[3],0),height:Math.max(l-r-i[0]-i[2],0)}}(e.pos,e.box),c=e.totalWidth,d=e.renderList,f=d.length-1;0<=f;f--){var p=d[f],g=p.node,m=p.width,v=p.text;c>h.width&&(c-=m-l,m=l,v=null);var y=new Qr({shape:{points:Kx(s,0,m,u,f===d.length-1,0===f)},style:D(i.getItemStyle(),{lineJoin:"bevel",text:v,textFill:n.getTextColor(),textFont:n.getFont()}),z:10,onclick:T(o,g)});this.group.add(y),a=t,r=g,y.eventData={componentType:"series",componentSubType:"treemap",componentIndex:a.componentIndex,seriesIndex:a.componentIndex,seriesName:a.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:r&&r.dataIndex,name:r&&r.name},treePathInfo:r&&Yx(r,a)},s+=m+8}},remove:function(){this.group.removeAll()}};function $x(t){var e=s_(t);return e.stroke=e.fill=e.lineWidth=null,e}var Jx=A,Qx=Ci,t_=rs,e_=R,i_=["label"],n_=["emphasis","label"],o_=["upperLabel"],a_=["emphasis","upperLabel"],r_=10,s_=ha([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]);function l_(h,r,s,l,u,e,c,t,i,n){if(c){var d=c.getLayout(),o=h.getData();if(o.setItemGraphicEl(c.dataIndex,null),d&&d.isInView){var f=d.width,p=d.height,g=d.borderWidth,m=d.invisible,v=c.getRawIndex(),y=t&&t.getRawIndex(),a=c.viewChildren,x=d.upperHeight,_=a&&a.length,w=c.getModel("itemStyle"),b=c.getModel("emphasis.itemStyle"),S=L("nodeGroup",Qx);if(S){if(i.add(S),S.attr("position",[d.x||0,d.y||0]),S.__tmNodeWidth=f,S.__tmNodeHeight=p,d.isAboveViewRoot)return S;var M=c.getModel(),I=L("background",t_,n,1);if(I&&function(t,e,i){if(e.dataIndex=c.dataIndex,e.seriesIndex=h.seriesIndex,e.setShape({x:0,y:0,width:f,height:p}),m)A(e);else{e.invisible=!1;var n=c.getVisual("borderColor",!0),o=b.get("borderColor"),a=$x(w);a.fill=n;var r=s_(b);if(r.fill=o,i){var s=f-2*g;D(a,r,n,s,x,{x:g,y:0,width:s,height:x})}else a.text=r.text=null;e.setStyle(a),Us(e,r)}t.add(e)}(S,I,_&&d.upperLabelHeight),_)Qs(S)&&Js(S,!1),I&&(Js(I,!0),o.setItemGraphicEl(c.dataIndex,I));else{var T=L("content",t_,n,2);T&&function(t,e){e.dataIndex=c.dataIndex,e.seriesIndex=h.seriesIndex;var i=Math.max(f-2*g,0),n=Math.max(p-2*g,0);if(e.culling=!0,e.setShape({x:g,y:g,width:i,height:n}),m)A(e);else{e.invisible=!1;var o=c.getVisual("color",!0),a=$x(w);a.fill=o;var r=s_(b);D(a,r,o,i,n),e.setStyle(a),Us(e,r)}t.add(e)}(S,T),I&&Qs(I)&&Js(I,!1),Js(S,!0),o.setItemGraphicEl(c.dataIndex,S)}return S}}}function A(t){t.invisible||e.push(t)}function D(t,e,i,n,o,a){var r=M.get("name"),s=M.getModel(a?o_:i_),l=M.getModel(a?a_:n_),u=s.getShallow("show");el(t,e,s,l,{defaultText:u?r:null,autoColor:i,isRectText:!0,labelFetcher:h,labelDataIndex:c.dataIndex,labelProp:a?"upperLabel":"label"}),C(t,a,d),C(e,a,d),a&&(t.textRect=k(a)),t.truncate=u&&s.get("ellipsis")?{outerWidth:n,outerHeight:o,minChar:2}:null}function C(t,e,i){var n=t.text;if(!e&&i.isLeafRoot&&null!=n){var o=h.get("drillDownIcon",!0);t.text=o?o+" "+n:n}}function L(t,e,i,n){var o=null!=y&&s[t][y],a=u[t];return o?(s[t][y]=null,function(t,e,i){(t[v]={}).old="nodeGroup"===i?e.position.slice():P({},e.shape)}(a,o,t)):m||((o=new e({z:function(t,e){var i=t*r_+e;return(i-1)/i}(i,n)})).__tmDepth=i,function(t,e,i){var n=t[v]={},o=c.parentNode;if(o&&(!l||"drillDown"===l.direction)){var a=0,r=0,s=u.background[o.getRawIndex()];!l&&s&&s.old&&(a=s.old.width,r=s.old.height),n.old="nodeGroup"===i?[0,r]:{x:a,y:r,width:0,height:0}}n.fadein="nodeGroup"!==i}(a,0,o.__tmStorageName=t)),r[t][v]=o}}Cf({type:"treemap",init:function(t,e){this._containerGroup,this._storage={nodeGroup:[],background:[],content:[]},this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(t,e,i,n){if(!(_(e.findComponents({mainType:"series",subType:"treemap",query:n}),t)<0)){this.seriesModel=t,this.api=i,this.ecModel=e;var o=Zx(n,["treemapZoomToNode","treemapRootToNode"],t),a=n&&n.type,r=t.layoutInfo,s=!this._oldTree,l=this._storage,u="treemapRootToNode"===a&&o&&l?{rootNodeGroup:l.nodeGroup[o.node.getRawIndex()],direction:n.direction}:null,h=this._giveContainerGroup(r),c=this._doRender(h,t,u);s||a&&"treemapZoomToNode"!==a&&"treemapRootToNode"!==a?c.renderFinally():this._doAnimation(h,c,t,u),this._resetController(i),this._renderBreadcrumb(t,i,o)}},_giveContainerGroup:function(t){var e=this._containerGroup;return e||(e=this._containerGroup=new Qx,this._initEvents(e),this.group.add(e)),e.attr("position",[t.x,t.y]),e},_doRender:function(t,e,i){var n=e.getData().tree,o=this._oldTree,a={nodeGroup:[],background:[],content:[]},r={nodeGroup:[],background:[],content:[]},s=this._storage,l=[],c=T(l_,e,r,s,i,a,l);!function a(r,s,l,u,h){u?e_(s=r,function(t,e){t.isRemoved()||i(e,e)}):new kf(s,r,t,t).add(i).update(i).remove(T(i,null)).execute();function t(t){return t.getId()}function i(t,e){var i=null!=t?r[t]:null,n=null!=e?s[e]:null,o=c(i,n,l,h);o&&a(i&&i.viewChildren||[],n&&n.viewChildren||[],o,u,h+1)}}(n.root?[n.root]:[],o&&o.root?[o.root]:[],t,n===o||!o,0);var u,h,d=(h={nodeGroup:[],background:[],content:[]},(u=s)&&e_(u,function(t,e){var i=h[e];e_(t,function(t){t&&(i.push(t),t.__tmWillDelete=1)})}),h);return this._oldTree=n,this._storage=r,{lastsForAnimation:a,willDeleteEls:d,renderFinally:function(){e_(d,function(t){e_(t,function(t){t.parent&&t.parent.remove(t)})}),e_(l,function(t){t.invisible=!0,t.dirty()})}}},_doAnimation:function(t,a,e,s){if(e.get("animation")){var l=e.get("animationDurationUpdate"),u=e.get("animationEasing"),h=function(){var a,r=[],s={};return{add:function(t,e,i,n,o){return E(n)&&(o=n,n=0),!s[t.id]&&(s[t.id]=1,r.push({el:t,target:e,time:i,delay:n,easing:o}),!0)},done:function(t){return a=t,this},start:function(){for(var t=r.length,e=0,i=r.length;e=o.length||t===o[t.depth]){var i=E_(r,l,t,e,g,a);n(t,i,o,a)}})}else c=P_(l),t.setVisual("color",c)}(o,{},t.getViewRoot().getAncestors(),t)}};function k_(i,n,t){var o=P({},n),a=t.designatedVisualItemStyle;return R(["color","colorAlpha","colorSaturation"],function(t){a[t]=n[t];var e=i.get(t);(a[t]=null)!=e&&(o[t]=e)}),o}function P_(t){var e=N_(t,"color");if(e){var i=N_(t,"colorAlpha"),n=N_(t,"colorSaturation");return n&&(e=qe(e,null,null,n)),i&&(e=Ke(e,i)),e}}function N_(t,e){var i=t[e];if(null!=i&&"none"!==i)return i}function O_(t,e,i,n,o,a){if(a&&a.length){var r=R_(e,"color")||null!=o.color&&"none"!==o.color&&(R_(e,"colorAlpha")||R_(e,"colorSaturation"));if(r){var s=e.get("visualMin"),l=e.get("visualMax"),u=i.dataExtent.slice();null!=s&&su[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:r.name,dataExtent:u,visual:r.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var d=new g_(c);return d.__drColorMappingBy=h,d}}}function R_(t,e){var i=t.get(e);return D_(i)&&i.length?{name:e,range:i}:null}function E_(t,e,i,n,o,a){var r=P({},e);if(o){var s=o.type,l="color"===s&&o.__drColorMappingBy,u="index"===l?n:"id"===l?a.mapIdToIndex(i.getId()):i.getValue(t.get("visualDimension"));r[s]=o.mapValueToVisual(u)}return r}var z_=Math.max,B_=Math.min,V_=W,G_=R,F_=["itemStyle","borderWidth"],W_=["itemStyle","gapWidth"],H_=["upperLabel","show"],Z_=["upperLabel","height"],U_={seriesType:"treemap",reset:function(t,e,i,n){var o=i.getWidth(),a=i.getHeight(),r=t.option,s=bu(t.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()}),l=r.size||[],u=El(V_(s.width,l[0]),o),h=El(V_(s.height,l[1]),a),c=n&&n.type,d=Zx(n,["treemapZoomToNode","treemapRootToNode"],t),f="treemapRender"===c||"treemapMove"===c?n.rootRect:null,p=t.getViewRoot(),g=Ux(p);if("treemapMove"!==c){var m="treemapZoomToNode"===c?function(t,e,i,n,o){var a,r=(e||{}).node,s=[n,o];if(!r||r===i)return s;var l=n*o,u=l*t.option.zoomToNodeRatio;for(;a=r.parentNode;){for(var h=0,c=a.children,d=0,f=c.length;ds[1]&&(s[1]=e)})}else s=[NaN,NaN];return{sum:n,dataExtent:s}}(e,r,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=function(t,e,i,n,o){if(!n)return i;for(var a=t.get("visibleMin"),r=o.length,s=r,l=r-1;0<=l;l--){var u=o["asc"===n?r-l-1:l].getValue();u/i*ei[l[r]])&&(h=i[l[r]]);for(var c=0,d=t.length;c "+d)),u++)}var f,p=i.get("coordinateSystem");if("cartesian2d"===p||"polar"===p)f=gp(t,i);else{var g=lh.get(p),m=g&&"view"!==g.type&&g.dimensions||[];_(m,"value")<0&&m.concat(["value"]);var v=lp(t,{coordDimensions:m});(f=new Yf(v,i)).initData(t)}var y=new Yf(["value"],i);return y.initData(l,s),o&&o(f,y),yx({mainData:f,struct:a,structAttr:"graph",datas:{node:f,edge:y},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a}var nw="--\x3e",ow=function(t){return t.get("autoCurveness")||null},aw=function(t,e){var i=ow(t),n=20,o=[];if("number"==typeof i)n=i;else if(L(i))return void(t.__curvenessList=i);n ")),o.value&&(l+=" : "+au(o.value)),l},_updateCategoriesData:function(){var t=O(this.option.categories||[],function(t){return null!=t.value?t:P({value:0},t)}),e=new Yf(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray(function(t){return e.getItemModel(t,!0)})},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},isAnimationEnabled:function(){return dw.superCall(this,"isAnimationEnabled")&&!("force"===this.get("layout")&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{label:{show:!0}}}}),fw=ls.prototype,pw=ds.prototype;function gw(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}var mw=Cs({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){this[gw(e)?"_buildPathLine":"_buildPathCurve"](t,e)},_buildPathLine:fw.buildPath,_buildPathCurve:pw.buildPath,pointAt:function(t){return this[gw(this.shape)?"_pointAtLine":"_pointAtCurve"](t)},_pointAtLine:fw.pointAt,_pointAtCurve:pw.pointAt,tangentAt:function(t){var e=this.shape,i=gw(e)?[e.x2-e.x1,e.y2-e.y1]:this._tangentAtCurve(t);return mt(i,i)},_tangentAtCurve:pw.tangentAt}),vw=["fromSymbol","toSymbol"];function yw(t){return"_"+t+"Type"}function xw(t,e,i){var n=e.getItemVisual(i,t);if(n&&"none"!==n){var o=e.getItemVisual(i,"color"),a=e.getItemVisual(i,t+"Size"),r=e.getItemVisual(i,t+"Rotate");L(a)||(a=[a,a]);var s=wg(n,-a[0]/2,-a[1]/2,a[0],a[1],o);return s.__specifiedRotation=null==r||isNaN(r)?void 0:+r*Math.PI/180||0,s.name=t,s}}function _w(t,e){t.x1=e[0][0],t.y1=e[0][1],t.x2=e[1][0],t.y2=e[1][1],t.percent=1;var i=e[2];i?(t.cpx1=i[0],t.cpy1=i[1]):(t.cpx1=NaN,t.cpy1=NaN)}function ww(t,e,i){Ci.call(this),this._createLine(t,e,i)}var bw=ww.prototype;function Sw(t){this._ctor=t||ww,this.group=new Ci}bw.beforeUpdate=function(){var t=this.childOfName("fromSymbol"),e=this.childOfName("toSymbol"),i=this.childOfName("label");if(t||e||!i.ignore){for(var n=1,o=this.parent;o;)o.scale&&(n/=o.scale[0]),o=o.parent;var a=this.childOfName("line");if(this.__dirty||a.__dirty){var r=a.shape.percent,s=a.pointAt(0),l=a.pointAt(r),u=ht([],l,s);if(mt(u,u),t){if(t.attr("position",s),null==(c=t.__specifiedRotation)){var h=a.tangentAt(0);t.attr("rotation",Math.PI/2-Math.atan2(h[1],h[0]))}else t.attr("rotation",c);t.attr("scale",[n*r,n*r])}if(e){var c;if(e.attr("position",l),null==(c=e.__specifiedRotation)){h=a.tangentAt(1);e.attr("rotation",-Math.PI/2-Math.atan2(h[1],h[0]))}else e.attr("rotation",c);e.attr("scale",[n*r,n*r])}if(!i.ignore){var d,f,p,g;i.attr("position",l);var m=i.__labelDistance,v=m[0]*n,y=m[1]*n,x=r/2,_=[(h=a.tangentAt(x))[1],-h[0]],w=a.pointAt(x);0<_[1]&&(_[0]=-_[0],_[1]=-_[1]);var b,S=h[0]<0?-1:1;if("start"!==i.__position&&"end"!==i.__position){var M=-Math.atan2(h[1],h[0]);l[0]=t&&(0===e?0:n[e-1][0])a&&(e[1-n]=e[n]+c.sign*a),e}function lb(t,e){var i=t[e]-t[1-e];return{span:Math.abs(i),sign:0o*(1-h[0])?(l="jump",r=s-o*(1-h[2])):0<=(r=s-o*h[1])&&(r=s-o*(1-h[1]))<=0&&(r=0),(r*=e.axisExpandWidth/u)?sb(r,n,a,"all"):l="none";else{o=n[1]-n[0];(n=[db(0,a[1]*s/o-o/2)])[1]=cb(a[1],n[0]+o),n[0]=n[1]-o}return{axisExpandWindow:n,behavior:l}}},lh.register("parallel",{create:function(n,o){var a=[];return n.eachComponent("parallel",function(t,e){var i=new vb(t,n,o);i.name="parallel_"+e,i.resize(t,o),(t.coordinateSystem=i).model=t,a.push(i)}),n.eachSeries(function(t){if("parallel"===t.get("coordinateSystem")){var e=n.queryComponents({mainType:"parallel",index:t.get("parallelIndex"),id:t.get("parallelId")})[0];t.coordinateSystem=e.coordinateSystem}}),a}});var xb=ku.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return ha([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(t){var e=this.activeIntervals=k(t);if(e)for(var i=e.length-1;0<=i;i--)Bl(e[i])},getActiveState:function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(t))return"inactive";if(1===e.length){var i=e[0];if(i[0]<=t&&t<=i[1])return"active"}else for(var n=0,o=e.length;nn.getWidth()||i<0||i>n.getHeight()}(t,e)){var n=t._zr,o=t._covers,a=Fb(t,e,i);if(!t._dragging)for(var r=0;rf&&(f=m.depth),g.setLayout({depth:v?m.depth:c},!0),"vertical"===a?g.setLayout({dy:i},!0):g.setLayout({dx:i},!0);for(var y=0;y "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}});function bM(t,e,i){Ci.call(this),this.add(this.createLine(t,e,i)),this._updateEffectSymbol(t,e)}var SM=bM.prototype;function MM(t,e,i){Ci.call(this),this._createPolyline(t,e,i)}SM.createLine=function(t,e,i){return new ww(t,e,i)},SM._updateEffectSymbol=function(t,e){var i=t.getItemModel(e).getModel("effect"),n=i.get("symbolSize"),o=i.get("symbol");L(n)||(n=[n,n]);var a=i.get("color")||t.getItemVisual(e,"color"),r=this.childAt(1);this._symbolType!==o&&(this.remove(r),(r=wg(o,-.5,-.5,1,1,a)).z2=100,r.culling=!0,this.add(r)),r&&(r.setStyle("shadowColor",a),r.setStyle(i.getItemStyle(["color"])),r.attr("scale",n),r.setColor(a),r.attr("scale",n),this._symbolType=o,this._symbolScale=n,this._updateEffectAnimation(t,i,e))},SM._updateEffectAnimation=function(e,t,i){var n=this.childAt(1);if(n){var o=this,a=e.getItemLayout(i),r=1e3*t.get("period"),s=t.get("loop"),l=t.get("constantSpeed"),u=W(t.get("delay"),function(t){return t/e.count()*r/3}),h="function"==typeof u;if(n.ignore=!0,this.updateAnimationPoints(n,a),0e);r++);r=Math.min(r-1,o-2)}wt(t.position,i[r],i[r+1],(e-n[r])/(n[r+1]-n[r]));var s=i[r+1][0]-i[r][0],l=i[r+1][1]-i[r][1];t.rotation=-Math.atan2(l,s)-Math.PI/2,this._lastFrame=r,this._lastFramePercent=e,t.ignore=!1}},w(TM,bM);var DM=Cs({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(t,e){var i=e.segs,n=e.curveness;if(e.polyline)for(var o=0;o=e[0]&&t<=e[1]}}(y,e.option.range):function(e,n,o){var i=e[1]-e[0],a=(n=O(n,function(t){return{interval:[(t.interval[0]-e[0])/i,(t.interval[1]-e[0])/i]}})).length,r=0;return function(t){for(var e=r;e=e.y&&t[1]<=e.y+e.height:i.contain(i.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},pointToData:function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},dataToPoint:function(t){var e=this.getAxis(),i=this.getRect(),n=[],o="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),n[o]=e.toGlobalCoord(e.dataToCoord(+t)),n[1-o]=0==o?i.y+i.height/2:i.x+i.width/2,n}}).dimensions});var sI=["axisLine","axisTickLabel","axisName"],lI=["splitArea","splitLine"],uI=mv.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(e,t,i,n){var o=this.group;o.removeAll();var a=this._axisGroup;this._axisGroup=new Ci;var r=rI(e),s=new Qm(e,r);R(sI,s.add,s),o.add(this._axisGroup),o.add(s.getGroup()),R(lI,function(t){e.get(t+".show")&&this["_"+t](e)},this),ml(a,this._axisGroup,e),uI.superCall(this,"render",e,t,i,n)},remove:function(){bv(this)},_splitLine:function(t){var e=t.axis;if(!e.scale.isBlank()){var i=t.getModel("splitLine"),n=i.getModel("lineStyle"),o=n.get("width"),a=n.get("color");a=a instanceof Array?a:[a];for(var r=t.coordinateSystem.getRect(),s=e.isHorizontal(),l=[],u=0,h=e.getTicksCoords({tickModel:i}),c=[],d=[],f=0;fr)return!0;if(a){var s=fv(t).seriesDataCount,l=n.getExtent();return Math.abs(l[0]-l[1])/s>r}return!1},makeElOption:function(t,e,i,n,o){},createPointerEl:function(t,e,i,n){var o=e.pointer;if(o){var a=AI(t).pointerEl=new bl[o.type](DI(e.pointer));t.add(a)}},createLabelEl:function(t,e,i,n){if(e.label){var o=AI(t).labelEl=new rs(DI(e.label));t.add(o),PI(o,n)}},updatePointerEl:function(t,e,i){var n=AI(t).pointerEl;n&&e.pointer&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,i,n){var o=AI(t).labelEl;o&&(o.setStyle(e.label.style),i(o,{shape:e.label.shape,position:e.label.position}),PI(o,n))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e,i=this._axisPointerModel,n=this._api.getZr(),o=this._handle,a=i.getModel("handle"),r=i.get("status");if(!a.get("show")||!r||"hide"===r)return o&&n.remove(o),void(this._handle=null);this._handle||(e=!0,o=this._handle=yl(a.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){Xt(t.event)},onmousedown:CI(this._onHandleDragMove,this,0,0),drift:CI(this._onHandleDragMove,this),ondragend:CI(this._onHandleDragEnd,this)}),n.add(o)),OI(o,i,!1);o.setStyle(a.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var s=a.get("size");L(s)||(s=[s,s]),o.attr("scale",[s[0]/2,s[1]/2]),kc(this,"_doDispatchAxisPointer",a.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,e)}},_moveHandleToValue:function(t,e){kI(this._axisPointerModel,!e&&this._moveAnimation,this._handle,NI(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(NI(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(NI(n)),AI(i).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,i){return{x:t[i=i||0],y:t[1-i],width:e[i],height:e[1-i]}}}).constructor=LI);var HI=LI.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.grid,s=n.get("type"),l=ZI(r,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(e,!0));if(s&&"none"!==s){var h=RI(n),c=UI[s](a,u,l);c.style=h,t.graphicKey=c.type,t.pointer=c}VI(e,t,_v(r.model,i),i,n,o)},getHandleTransform:function(t,e,i){var n=_v(e.axis.grid.model,e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:BI(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.grid,r=o.getGlobalExtent(!0),s=ZI(a,o).getOtherAxis(o).getGlobalExtent(),l="x"===o.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(r[1],u[l]),u[l]=Math.max(r[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:[{verticalAlign:"middle"},{align:"center"}][l]}}});function ZI(t,e){var i={};return i[e.dim+"AxisIndex"]=e.index,t.getCartesian(i)}var UI={line:function(t,e,i){return{type:"Line",subPixelOptimize:!0,shape:GI([e,i[0]],[e,i[1]],XI(t))}},shadow:function(t,e,i){var n=Math.max(1,t.getBandWidth()),o=i[1]-i[0];return{type:"Rect",shape:FI([e-n/2,i[0]],[n,o],XI(t))}}};function XI(t){return"x"===t.dim?0:1}mv.registerAxisPointerClass("CartesianAxisPointer",HI),yf(function(t){if(t){t.axisPointer&&0!==t.axisPointer.length||(t.axisPointer={});var e=t.axisPointer.link;e&&!L(e)&&(t.axisPointer.link=[e])}}),xf(Ld.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=cv(t,e)}),_f({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},function(t,e,i){var n=t.currTrigger,r=[t.x,t.y],o=t,a=t.dispatchAction||A(i.dispatchAction,i),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){xI(r)&&(r=cI({seriesIndex:o.seriesIndex,dataIndex:o.dataIndex},e).point);var l=xI(r),u=o.axesInfo,h=s.axesInfo,c="leave"===n||xI(r),d={},f={},p={list:[],map:{}},g={showPointer:fI(mI,f),showTooltip:fI(vI,p)};dI(s.coordSysMap,function(t,e){var a=l||t.containPoint(r);dI(s.coordSysAxesInfo[e],function(t,e){var i=t.axis,n=function(t,e){for(var i=0;i<(t||[]).length;i++){var n=t[i];if(e.axis.dim===n.axisDim&&e.axis.model.componentIndex===n.axisIndex)return n}}(u,t);if(!c&&a&&(!u||n)){var o=n&&n.value;null!=o||l||(o=i.pointToData(r)),null!=o&&gI(t,o,g,!1,d)}})});var m={};return dI(h,function(o,t){var a=o.linkGroup;a&&!f[t]&&dI(a.axesInfo,function(t,e){var i=f[e];if(t!==o&&i){var n=i.value;a.mapper&&(n=o.axis.scale.parse(a.mapper(n,yI(t),yI(o)))),m[o.key]=n}})}),dI(m,function(t,e){gI(h[e],t,g,!0,d)}),function(o,t,e){var a=e.axesInfo=[];dI(t,function(t,e){var i=t.axisPointerModel.option,n=o[e];n?(t.useHandle||(i.status="show"),i.value=n.value,i.seriesDataIndices=(n.payloadBatch||[]).slice()):t.useHandle||(i.status="hide"),"show"===i.status&&a.push({axisDim:t.axis.dim,axisIndex:t.axis.model.componentIndex,value:i.value})})}(f,h,d),function(t,e,i,n){if(xI(e)||!t.list.length)return n({type:"hideTip"});var o=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:i.tooltipOption,position:i.position,dataIndexInside:o.dataIndexInside,dataIndex:o.dataIndex,seriesIndex:o.seriesIndex,dataByCoordSys:t.list})}(p,r,t,a),function(t,e,i){var n=i.getZr(),o="axisPointerLastHighlights",a=pI(n)[o]||{},r=pI(n)[o]={};dI(t,function(t,e){var i=t.axisPointerModel.option;"show"===i.status&&dI(i.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;r[e]=t})});var s=[],l=[];R(a,function(t,e){r[e]||l.push(t)}),R(r,function(t,e){a[e]||s.push(t)}),l.length&&i.dispatchAction({type:"downplay",escapeConnect:!0,batch:l}),s.length&&i.dispatchAction({type:"highlight",escapeConnect:!0,batch:s})}(h,0,i),d}});var YI=["x","y"],jI=["width","height"],qI=LI.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.coordinateSystem,s=JI(r,1-$I(a)),l=r.dataToPoint(e)[0],u=n.get("type");if(u&&"none"!==u){var h=RI(n),c=KI[u](a,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}VI(e,t,rI(i),i,n,o)},getHandleTransform:function(t,e,i){var n=rI(e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:BI(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.coordinateSystem,r=$I(o),s=JI(a,r),l=t.position;l[r]+=e[r],l[r]=Math.min(s[1],l[r]),l[r]=Math.max(s[0],l[r]);var u=JI(a,1-r),h=(u[1]+u[0])/2,c=[h,h];return c[r]=l[r],{position:l,rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}}}),KI={line:function(t,e,i){return{type:"Line",subPixelOptimize:!0,shape:GI([e,i[0]],[e,i[1]],$I(t))}},shadow:function(t,e,i){var n=t.getBandWidth(),o=i[1]-i[0];return{type:"Rect",shape:FI([e-n/2,i[0]],[n,o],$I(t))}}};function $I(t){return t.isHorizontal()?0:1}function JI(t,e){var i=t.getRect();return[i[YI[e]],i[YI[e]]+i[jI[e]]]}mv.registerAxisPointerClass("SingleAxisPointer",qI),Af({type:"single"});var QI=sc.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(t){QI.superApply(this,"init",arguments),this.legendVisualProvider=new qv(A(this.getData,this),A(this.getRawData,this))},fixData:function(t){var e=t.length,i={},n=ta(t,function(t){return i.hasOwnProperty(t[0])||(i[t[0]]=-1),t[2]}),o=[];n.buckets.each(function(t,e){o.push({name:e,dataList:t})});for(var a=o.length,r=0;rMath.PI/2?"right":"left"):x&&"center"!==x?"left"===x?(f=u.r0+y,p>Math.PI/2&&(x="right")):"right"===x&&(f=u.r-y,p>Math.PI/2&&(x="left")):(f=(u.r+u.r0)/2,x="center"),d.attr("style",{text:l,textAlign:x,textVerticalAlign:M("verticalAlign")||"middle",opacity:M("opacity")});var _=f*g+u.cx,w=f*m+u.cy;d.attr("position",[_,w]);var b=M("rotate"),S=0;function M(t){var e=a.get(t);return null==e?o.get(t):e}"radial"===b?(S=-p)<-Math.PI/2&&(S+=Math.PI):"tangential"===b?(S=Math.PI/2-p)>Math.PI/2?S-=Math.PI:S<-Math.PI/2&&(S+=Math.PI):"number"==typeof b&&(S=b*Math.PI/180),d.attr("rotation",S)},sT._initEvents=function(t,e,i,n){t.off("mouseover").off("mouseout").off("emphasis").off("normal");function o(){r.onEmphasis(n)}function a(){r.onNormal()}var r=this;i.isAnimationEnabled()&&t.on("mouseover",o).on("mouseout",a).on("emphasis",o).on("normal",a).on("downplay",function(){r.onDownplay()}).on("highlight",function(){r.onHighlight()})},w(rT,Ci);_c.extend({type:"sunburst",init:function(){},render:function(o,a,t,e){var n=this;this.seriesModel=o,this.api=t,this.ecModel=a;var r=o.getData(),s=r.tree.root,i=o.getViewRoot(),l=this.group,u=o.get("renderLabelForZeroData"),h=[];i.eachNode(function(t){h.push(t)});var c=this._oldChildren||[];if(function(i,n){if(0===i.length&&0===n.length)return;function t(t){return t.getId()}function e(t,e){!function(t,e){u||!t||t.getValue()||(t=null);if(t!==s&&e!==s)if(e&&e.piece)t?(e.piece.updateData(!1,t,"normal",o,a),r.setItemGraphicEl(t.dataIndex,e.piece)):function(t){if(!t)return;t.piece&&(l.remove(t.piece),t.piece=null)}(e);else if(t){var i=new rT(t,o,a);l.add(i),r.setItemGraphicEl(t.dataIndex,i)}}(null==t?null:i[t],null==e?null:n[e])}new kf(n,i,t,t).add(e).update(e).remove(T(e,null)).execute()}(h,c),function(t,e){if(0=i.r0}}});var lT="sunburstRootToNode";_f({type:lT,update:"updateView"},function(o,t){t.eachComponent({mainType:"series",subType:"sunburst",query:o},function(t,e){var i=Zx(o,[lT],t);if(i){var n=t.getViewRoot();n&&(o.direction=Xx(n,i.node)?"rollUp":"drillDown"),t.resetViewRoot(i.node)}})});var uT="sunburstHighlight";_f({type:uT,update:"updateView"},function(n,t){t.eachComponent({mainType:"series",subType:"sunburst",query:n},function(t,e){var i=Zx(n,[uT],t);i&&(n.highlight=i.node)})});_f({type:"sunburstUnhighlight",update:"updateView"},function(i,t){t.eachComponent({mainType:"series",subType:"sunburst",query:i},function(t,e){i.unhighlight=!0})});var hT=Math.PI/180;function cT(t,e){if("function"==typeof e)return t.sort(e);var n="asc"===e;return t.sort(function(t,e){var i=(t.getValue()-e.getValue())*(n?1:-1);return 0==i?(t.dataIndex-e.dataIndex)*(n?-1:1):i})}function dT(a,r){return r=r||[0,0],O(["x","y"],function(t,e){var i=this.getAxis(t),n=r[e],o=a[e]/2;return"category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-o)-i.dataToCoord(n+o))},this)}Sf(T(iy,"sunburst")),bf(T(function(t,e,C,i){e.eachSeriesByType(t,function(t){var e=t.get("center"),i=t.get("radius");L(i)||(i=[0,i]),L(e)||(e=[e,e]);var n=C.getWidth(),o=C.getHeight(),h=Math.min(n,o),c=El(e[0],n),d=El(e[1],o),f=El(i[0],h/2),a=El(i[1],h/2),r=-t.get("startAngle")*hT,p=t.get("minAngle")*hT,g=t.getData().tree.root,s=t.getViewRoot(),m=s.depth,l=t.get("sort");null!=l&&!function e(t,i){var n=t.children||[];t.children=cT(n,i);n.length&&R(t.children,function(t){e(t,i)})}(s,l);var u=0;R(s.children,function(t){isNaN(t.getValue())||u++});var v=s.getValue(),y=Math.PI/(v||u)*2,x=0t[1]&&t.reverse(),{coordSys:{type:"polar",cx:o.cx,cy:o.cy,r:t[1],r0:t[0]},api:{coord:A(function(t){var e=a.dataToRadius(t[0]),i=r.dataToAngle(t[1]),n=o.coordToPoint([e,i]);return n.push(e,i*Math.PI/180),n}),size:A(gT,o)}}},calendar:function(i){var t=i.getRect(),e=i.getRangeInfo();return{coordSys:{type:"calendar",x:t.x,y:t.y,width:t.width,height:t.height,cellWidth:i.getCellWidth(),cellHeight:i.getCellHeight(),rangeInfo:{start:e.start,end:e.end,weeks:e.weeks,dayCount:e.allDay}},api:{coord:function(t,e){return i.dataToPoint(t,e)}}}}};function ST(t,e,i,n,o){null==i[t]||o||(e[t]=i[t],i[t]=n[t])}function MT(a,r,e,t){var i=a.get("renderItem"),n=a.coordinateSystem,o={};n&&(o=n.prepareCustoms?n.prepareCustoms():bT[n.type](n));var s,l,u,h,c,d=D({getWidth:t.getWidth,getHeight:t.getHeight,getZr:t.getZr,getDevicePixelRatio:t.getDevicePixelRatio,value:function(t,e){return null==e&&(e=s),r.get(r.getDimension(t||0),e)},style:function(t,e){null==e&&(e=s),g(e);var i=l.getModel(vT).getItemStyle();null!=c&&(i.fill=c);var n=r.getItemVisual(e,"opacity");null!=n&&(i.opacity=n);var o=t?CT(t,u):u;return nl(i,o,null,{autoColor:c,isRectText:!0}),i.text=o.getShallow("show")?H(a.getFormattedLabel(e,"normal"),Ug(r,e)):null,t&<(i,t),i},styleEmphasis:function(t,e){null==e&&(e=s),g(e);var i=l.getModel(yT).getItemStyle(),n=t?CT(t,h):h;return nl(i,n,null,{isRectText:!0},!0),i.text=n.getShallow("show")?Z(a.getFormattedLabel(e,"emphasis"),a.getFormattedLabel(e,"normal"),Ug(r,e)):null,t&<(i,t),i},visual:function(t,e){return null==e&&(e=s),r.getItemVisual(e,t)},barLayout:function(t){if(n.getBaseAxis){return function(t){var e=[],i=t.axis;if("category"===i.type){for(var n=i.getBandWidth(),o=0;oe[1]&&e.reverse();var i=t.getExtent(),n=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:e[0],r:e[1],startAngle:-i[0]*n,endAngle:-i[1]*n,clockwise:t.inverse,contain:function(t,e){var i=t-this.cx,n=e-this.cy,o=i*i+n*n,a=this.r,r=this.r0;return o<=a*a&&r*r<=o}}}};var GT=ku.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});m(GT.prototype,dg);var FT={splitNumber:5};function WT(t,e){return e.type||(e.data?"category":"value")}function HT(t,e){var i=this,n=i.getAngleAxis(),o=i.getRadiusAxis();if(n.scale.setExtent(1/0,-1/0),o.scale.setExtent(1/0,-1/0),t.eachSeries(function(t){if(t.coordinateSystem===i){var e=t.getData();R(e.mapDimension("radius",!0),function(t){o.scale.unionExtentFromData(e,pp(e,t))}),R(e.mapDimension("angle",!0),function(t){n.scale.unionExtentFromData(e,pp(e,t))})}}),rg(n.scale,n.model),rg(o.scale,o.model),"category"===n.type&&!n.onBand){var a=n.getExtent(),r=360/n.scale.count();n.inverse?a[1]+=r:a[1]-=r,n.setExtent(a[0],a[1])}}function ZT(t,e){if(t.type=e.get("type"),t.scale=sg(e),t.onBand=e.get("boundaryGap")&&"category"===t.type,t.inverse=e.get("inverse"),"angleAxis"===e.mainType){t.inverse^=e.get("clockwise");var i=e.get("startAngle");t.setExtent(i,i+(t.inverse?-360:360))}(e.axis=t).model=e}Gm("angle",GT,WT,{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}}),Gm("radius",GT,WT,FT),Tf({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(t){var e;return this.ecModel.eachComponent(t,function(t){t.getCoordSysModel()===this&&(e=t)},this),e},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}}),lh.register("polar",{dimensions:VT.prototype.dimensions,create:function(i,s){var l=[];return i.eachComponent("polar",function(t,e){var i=new VT(e);i.update=HT;var n=i.getRadiusAxis(),o=i.getAngleAxis(),a=t.findAxisModel("radiusAxis"),r=t.findAxisModel("angleAxis");ZT(n,a),ZT(o,r),function(t,e,i){var n=e.get("center"),o=i.getWidth(),a=i.getHeight();t.cx=El(n[0],o),t.cy=El(n[1],a);var r=t.getRadiusAxis(),s=Math.min(o,a)/2,l=e.get("radius");null==l?l=[0,"100%"]:L(l)||(l=[0,l]),l=[El(l[0],s),El(l[1],s)],r.inverse?r.setExtent(l[1],l[0]):r.setExtent(l[0],l[1])}(i,t,s),l.push(i),(t.coordinateSystem=i).model=t}),i.eachSeries(function(t){if("polar"===t.get("coordinateSystem")){var e=i.queryComponents({mainType:"polar",index:t.get("polarIndex"),id:t.get("polarId")})[0];t.coordinateSystem=e.coordinateSystem}}),l}});var UT=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function XT(t,e,i){e[1]>e[0]&&(e=e.slice().reverse());var n=t.coordToPoint([e[0],i]),o=t.coordToPoint([e[1],i]);return{x1:n[0],y1:n[1],x2:o[0],y2:o[1]}}function YT(t){return t.getRadiusAxis().inverse?0:1}function jT(t){var e=t[0],i=t[t.length-1];e&&i&&Math.abs(Math.abs(e.coord-i.coord)-360)<1e-4&&t.pop()}mv.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(e,t){if(this.group.removeAll(),e.get("show")){var i=e.axis,n=i.polar,o=n.getRadiusAxis().getExtent(),a=i.getTicksCoords(),r=i.getMinorTicksCoords(),s=O(i.getViewLabels(),function(t){return(t=k(t)).coord=i.dataToCoord(t.tickValue),t});jT(s),jT(a),R(UT,function(t){!e.get(t+".show")||i.scale.isBlank()&&"axisLine"!==t||this["_"+t](e,n,a,r,o,s)},this)}},_axisLine:function(t,e,i,n,o){var a,r=t.getModel("axisLine.lineStyle"),s=YT(e),l=s?0:1;(a=0===o[l]?new Yr({shape:{cx:e.cx,cy:e.cy,r:o[s]},style:r.getLineStyle(),z2:1,silent:!0}):new Kr({shape:{cx:e.cx,cy:e.cy,r:o[s],r0:o[l]},style:r.getLineStyle(),z2:1,silent:!0})).style.fill=null,this.group.add(a)},_axisTick:function(t,e,i,n,o){var a=t.getModel("axisTick"),r=(a.get("inside")?-1:1)*a.get("length"),s=o[YT(e)],l=O(i,function(t){return new ls({shape:XT(e,[s,s+r],t.coord)})});this.group.add(Rs(l,{style:D(a.getModel("lineStyle").getLineStyle(),{stroke:t.get("axisLine.lineStyle.color")})}))},_minorTick:function(t,e,i,n,o){if(n.length){for(var a=t.getModel("axisTick"),r=t.getModel("minorTick"),s=(a.get("inside")?-1:1)*r.get("length"),l=o[YT(e)],u=[],h=0;hr?"left":"right",u=Math.abs(a[1]-s)/o<.3?"middle":a[1]>s?"top":"bottom";p&&p[n]&&p[n].textStyle&&(i=new Cl(p[n].textStyle,g,g.ecModel));var h=new Ur({silent:Qm.isLabelSilent(c)});this.group.add(h),nl(h.style,i,{x:a[0],y:a[1],textFill:i.getTextColor()||c.get("axisLine.lineStyle.color"),text:t.formattedLabel,textAlign:l,textVerticalAlign:u}),v&&(h.eventData=Qm.makeAxisEventDataBase(c),h.eventData.targetType="axisLabel",h.eventData.value=t.rawLabel)},this)},_splitLine:function(t,e,i,n,o){var a=t.getModel("splitLine").getModel("lineStyle"),r=a.get("color"),s=0;r=r instanceof Array?r:[r];for(var l=[],u=0;um?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}(e,i,0,s,d))}});var JT={line:function(t,e,i,n,o){return"angle"===t.dim?{type:"Line",shape:GI(e.coordToPoint([n[0],i]),e.coordToPoint([n[1],i]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:i}}},shadow:function(t,e,i,n,o){var a=Math.max(1,t.getBandWidth()),r=Math.PI/180;return"angle"===t.dim?{type:"Sector",shape:WI(e.cx,e.cy,n[0],n[1],(-i-a/2)*r,(a/2-i)*r)}:{type:"Sector",shape:WI(e.cx,e.cy,i-a/2,i+a/2,0,2*Math.PI)}}};function QT(n,t){t.update="updateView",_f(t,function(t,e){var i={};return e.eachComponent({mainType:"geo",query:t},function(e){e[n](t.name),R(e.coordinateSystem.regions,function(t){i[t.name]=e.isSelected(t.name)||!1})}),{selected:i,name:t.name}})}mv.registerAxisPointerClass("PolarAxisPointer",$T),bf(T(function(t,e,i){var N={},O=function(t){var g={};R(t,function(t,e){var i=t.getData(),n=t.coordinateSystem,o=n.getBaseAxis(),a=RT(n,o),r=o.getExtent(),s="category"===o.type?o.getBandWidth():Math.abs(r[1]-r[0])/i.count(),l=g[a]||{bandWidth:s,remainedWidth:s,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},u=l.stacks;g[a]=l;var h=OT(t);u[h]||l.autoWidthCount++,u[h]=u[h]||{width:0,maxWidth:0};var c=El(t.get("barWidth"),s),d=El(t.get("barMaxWidth"),s),f=t.get("barGap"),p=t.get("barCategoryGap");c&&!u[h].width&&(c=Math.min(l.remainedWidth,c),u[h].width=c,l.remainedWidth-=c),d&&(u[h].maxWidth=d),null!=f&&(l.gap=f),null!=p&&(l.categoryGap=p)});var d={};return R(g,function(t,i){d[i]={};var e=t.stacks,n=t.bandWidth,o=El(t.categoryGap,n),a=El(t.gap,1),r=t.remainedWidth,s=t.autoWidthCount,l=(r-o)/(s+(s-1)*a);l=Math.max(l,0),R(e,function(t,e){var i=t.maxWidth;i&&i=n.start.time&&i.timea.end.time&&t.reverse(),t},_getRangeInfo:function(t){var e;(t=[this.getDateInfo(t[0]),this.getDateInfo(t[1])])[0].time>t[1].time&&(e=!0,t.reverse());var i=Math.floor(t[1].time/864e5)-Math.floor(t[0].time/864e5)+1,n=new Date(t[0].time),o=n.getDate(),a=t[1].date.getDate();n.setDate(o+i-1);var r=n.getDate();if(r!==a)for(var s=0n.weeks||0===t&&en.lweek)return!1;var o=7*(t-1)-n.fweek+e,a=new Date(n.start.time);return a.setDate(n.start.d+o),this.getDateInfo(a)}},tA.dimensions=tA.prototype.dimensions,tA.getDimensionsInfo=tA.prototype.getDimensionsInfo,tA.create=function(i,n){var o=[];return i.eachComponent("calendar",function(t){var e=new tA(t,i,n);o.push(e),t.coordinateSystem=e}),i.eachSeries(function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=o[t.get("calendarIndex")||0])}),o},lh.register("calendar",tA);var iA=ku.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(t,e,i,n){var o=Iu(t);iA.superApply(this,"init",arguments),nA(t,o)},mergeOption:function(t,e){iA.superApply(this,"mergeOption",arguments),nA(this.option,t)}});function nA(t,e){var i=t.cellSize;L(i)?1===i.length&&(i[1]=i[0]):i=t.cellSize=[i,i];var n=O([0,1],function(t){return function(t,e){return null!=t[xu[e][0]]||null!=t[xu[e][1]]&&null!=t[xu[e][2]]}(e,t)&&(i[t]="auto"),null!=i[t]&&"auto"!==i[t]});Mu(t,e,{type:"box",ignoreSize:n})}var oA={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},aA={EN:["S","M","T","W","T","F","S"],CN:["日","一","二","三","四","五","六"]};Af({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(t,e,i){var n=this.group;n.removeAll();var o=t.coordinateSystem,a=o.getRangeInfo(),r=o.getOrient();this._renderDayRect(t,a,n),this._renderLines(t,a,r,n),this._renderYearText(t,a,r,n),this._renderMonthText(t,r,n),this._renderWeekText(t,a,r,n)},_renderDayRect:function(t,e,i){for(var n=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),a=n.getCellWidth(),r=n.getCellHeight(),s=e.start.time;s<=e.end.time;s=n.getNextNDay(s,1).time){var l=n.dataToRect([s],!1).tl,u=new rs({shape:{x:l[0],y:l[1],width:a,height:r},cursor:"default",style:o});i.add(u)}},_renderLines:function(i,t,n,o){var a=this,r=i.coordinateSystem,s=i.getModel("splitLine.lineStyle").getLineStyle(),l=i.get("splitLine.show"),e=s.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var u=t.start,h=0;u.time<=t.end.time;h++){d(u.formatedDate),0===h&&(u=r.getDateInfo(t.start.y+"-"+t.start.m));var c=u.date;c.setMonth(c.getMonth()+1),u=r.getDateInfo(c)}function d(t){a._firstDayOfMonth.push(r.getDateInfo(t)),a._firstDayPoints.push(r.dataToRect([t],!1).tl);var e=a._getLinePointsOfOneWeek(i,t,n);a._tlpoints.push(e[0]),a._blpoints.push(e[e.length-1]),l&&a._drawSplitline(e,s,o)}d(r.getNextNDay(t.end.time,1).formatedDate),l&&this._drawSplitline(a._getEdgesPoints(a._tlpoints,e,n),s,o),l&&this._drawSplitline(a._getEdgesPoints(a._blpoints,e,n),s,o)},_getEdgesPoints:function(t,e,i){var n=[t[0].slice(),t[t.length-1].slice()],o="horizontal"===i?0:1;return n[0][o]=n[0][o]-e/2,n[1][o]=n[1][o]+e/2,n},_drawSplitline:function(t,e,i){var n=new ts({z2:20,shape:{points:t},style:e});i.add(n)},_getLinePointsOfOneWeek:function(t,e,i){var n=t.coordinateSystem;e=n.getDateInfo(e);for(var o=[],a=0;a<7;a++){var r=n.getNextNDay(e.time,a),s=n.dataToRect([r.time],!1);o[2*r.day]=s.tl,o[2*r.day+1]=s["horizontal"===i?"bl":"tr"]}return o},_formatterLabel:function(t,e){return"string"==typeof t&&t?uu(t,e):"function"==typeof t?t(e):e.nameMap},_yearTextPositionControl:function(t,e,i,n,o){e=e.slice();var a=["center","bottom"];"bottom"===n?(e[1]+=o,a=["center","top"]):"left"===n?e[0]-=o:"right"===n?(e[0]+=o,a=["center","top"]):e[1]-=o;var r=0;return"left"!==n&&"right"!==n||(r=Math.PI/2),{rotation:r,position:e,style:{textAlign:a[0],textVerticalAlign:a[1]}}},_renderYearText:function(t,e,i,n){var o=t.getModel("yearLabel");if(o.get("show")){var a=o.get("margin"),r=o.get("position");r=r||("horizontal"!==i?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===i?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},d=e.start.y;+e.end.y>+e.start.y&&(d=d+"-"+e.end.y);var f=o.get("formatter"),p={start:e.start.y,end:e.end.y,nameMap:d},g=this._formatterLabel(f,p),m=new Ur({z2:30});nl(m.style,o,{text:g}),m.attr(this._yearTextPositionControl(m,c[r],i,r,a)),n.add(m)}},_monthTextPositionControl:function(t,e,i,n,o){var a="left",r="top",s=t[0],l=t[1];return"horizontal"===i?(l+=o,e&&(a="center"),"start"===n&&(r="bottom")):(s+=o,e&&(r="middle"),"start"===n&&(a="right")),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderMonthText:function(t,e,i){var n=t.getModel("monthLabel");if(n.get("show")){var o=n.get("nameMap"),a=n.get("margin"),r=n.get("position"),s=n.get("align"),l=[this._tlpoints,this._blpoints];E(o)&&(o=oA[o.toUpperCase()]||[]);var u="start"===r?0:1,h="horizontal"===e?0:1;a="start"===r?-a:a;for(var c="center"===s,d=0;dd.getHeight()&&(i.textPosition="top",a=!0);var r=a?-5-n.height:p+8;o+n.width/2>d.getWidth()?(i.textPosition=["100%",r],i.textAlign="right"):o-n.width/2<0&&(i.textPosition=[0,r],i.textAlign="left")}})}function t(t,e){var i,n=m[t],o=m[e],a=u[n],r=new Cl(a,h,h.ecModel);if(l&&null!=l.newTitle&&l.featureName===n&&(a.title=l.newTitle),n&&!o){if(function(t){return 0===t.indexOf("my")}(n))i={model:r,onclick:r.option.onclick,featureName:n};else{var s=fA(n);if(!s)return;i=new s(r,c,d)}g[n]=i}else{if(!(i=g[o]))return;i.model=r,i.ecModel=c,i.api=d}n||!o?r.get("show")&&!i.unusable?(function(o,a,t){var r=o.getModel("iconStyle"),s=o.getModel("emphasis.iconStyle"),e=a.getIcons?a.getIcons():o.get("icon"),l=o.get("title")||{};if("string"==typeof e){var i=e,n=l;l={},(e={})[t]=i,l[t]=n}var u=o.iconPaths={};R(e,function(t,e){var i=yl(t,{},{x:-p/2,y:-p/2,width:p,height:p});i.setStyle(r.getItemStyle()),i.hoverStyle=s.getItemStyle(),i.setStyle({text:l[e],textAlign:s.get("textAlign"),textBorderRadius:s.get("textBorderRadius"),textPadding:s.get("textPadding"),textFill:null});var n=h.getModel("tooltip");n&&n.get("show")&&i.attr("tooltip",P({content:l[e],formatter:n.get("formatter",!0)||function(){return l[e]},formatterParams:{componentType:"toolbox",name:e,title:l[e],$vars:["name","title"]},position:n.get("position",!0)||"bottom"},n.option)),$s(i),h.get("showTitle")&&(i.__title=l[e],i.on("mouseover",function(){var t=s.getItemStyle(),e="vertical"===h.get("orient")?null==h.get("right")?"right":"left":null==h.get("bottom")?"bottom":"top";i.setStyle({textFill:s.get("textFill")||t.fill||t.stroke||"#000",textBackgroundColor:s.get("textBackgroundColor"),textPosition:s.get("textPosition")||e})}).on("mouseout",function(){i.setStyle({textFill:null,textBackgroundColor:null})})),i.trigger(o.get("iconStatus."+e)||"normal"),f.add(i),i.on("click",A(a.onclick,a,c,d,e)),u[e]=i})}(r,i,n),r.setIconStatus=function(t,e){var i=this.option,n=this.iconPaths;i.iconStatus=i.iconStatus||{},i.iconStatus[t]=e,n[t]&&n[t].trigger(e)},i.render&&i.render(r,c,d,l)):i.remove&&i.remove(c,d):i.dispose&&i.dispose(c,d)}},updateView:function(t,e,i,n){R(this._features,function(t){t.updateView&&t.updateView(t.model,e,i,n)})},remove:function(e,i){R(this._features,function(t){t.remove&&t.remove(e,i)}),this.group.removeAll()},dispose:function(e,i){R(this._features,function(t){t.dispose&&t.dispose(e,i)})}});var mA=Oc.toolbox.saveAsImage;function vA(t){this.model=t}vA.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:mA.title,type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:mA.lang.slice()},vA.prototype.unusable=!v.canvasSupported,vA.prototype.onclick=function(t,e){var i=this.model,n=i.get("name")||t.get("title.0.text")||"echarts",o="svg"===e.getZr().painter.getType()?"svg":i.get("type",!0)||"png",a=e.getConnectedDataURL({type:o,backgroundColor:i.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:i.get("connectedBackgroundColor"),excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")});if("function"!=typeof MouseEvent||v.browser.ie||v.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var r=atob(a.split(",")[1]),s=r.length,l=new Uint8Array(s);s--;)l[s]=r.charCodeAt(s);var u=new Blob([l]);window.navigator.msSaveOrOpenBlob(u,n+"."+o)}else{var h=i.get("lang"),c='';window.open().document.write(c)}else{var d=document.createElement("a");d.download=n+"."+o,d.target="_blank",d.href=a;var f=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});d.dispatchEvent(f)}},dA("saveAsImage",vA);var yA=Oc.toolbox.magicType,xA="__ec_magicType_stack__";function _A(t){this.model=t}_A.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:k(yA.title),option:{},seriesIndex:{}};var wA=_A.prototype;wA.getIcons=function(){var t=this.model,e=t.get("icon"),i={};return R(t.get("type"),function(t){e[t]&&(i[t]=e[t])}),i};var bA={line:function(t,e,i,n){if("bar"===t)return m({id:e,type:"line",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},n.get("option.line")||{},!0)},bar:function(t,e,i,n){if("line"===t)return m({id:e,type:"bar",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},n.get("option.bar")||{},!0)},stack:function(t,e,i,n){var o=i.get("stack")===xA;if("line"===t||"bar"===t)return n.setIconStatus("stack",o?"normal":"emphasis"),m({id:e,stack:o?"":xA},n.get("option.stack")||{},!0)}},SA=[["line","bar"],["stack"]];wA.onclick=function(u,t,h){var c=this.model,e=c.get("seriesIndex."+h);if(bA[h]){var i,d={series:[]};if(R(SA,function(t){0<=_(t,h)&&R(t,function(t){c.setIconStatus(t,"normal")})}),c.setIconStatus(h,"emphasis"),u.eachComponent({mainType:"series",query:null==e?null:{seriesIndex:e}},function(t){var e=t.subType,i=t.id,n=bA[h](e,i,t,c);n&&(D(n,t.option),d.series.push(n));var o=t.coordinateSystem;if(o&&"cartesian2d"===o.type&&("line"===h||"bar"===h)){var a=o.getAxesByScale("ordinal")[0];if(a){var r=a.dim+"Axis",s=u.queryComponents({mainType:r,index:t.get(name+"Index"),id:t.get(name+"Id")})[0].componentIndex;d[r]=d[r]||[];for(var l=0;l<=s;l++)d[r][s]=d[r][s]||{};d[r][s].boundaryGap="bar"===h}}}),"stack"===h)i=d.series&&d.series[0]&&d.series[0].stack===xA?m({stack:yA.title.tiled},yA.title):k(yA.title);t.dispatchAction({type:"changeMagicType",currentType:h,newOption:d,newTitle:i,featureName:"magicType"})}},_f({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e.mergeOption(t.newOption)}),dA("magicType",_A);var MA=Oc.toolbox.dataView,IA=new Array(60).join("-"),TA="\t";function AA(t){var e=function(t){var o={},a=[],r=[];return t.eachRawSeries(function(t){var e=t.coordinateSystem;if(!e||"cartesian2d"!==e.type&&"polar"!==e.type)a.push(t);else{var i=e.getBaseAxis();if("category"===i.type){var n=i.dim+"_"+i.index;o[n]||(o[n]={categoryAxis:i,valueAxis:e.getOtherAxis(i),series:[]},r.push({axisDim:i.dim,axisIndex:i.index})),o[n].series.push(t)}else a.push(t)}}),{seriesGroupByCategoryAxis:o,other:a,meta:r}}(t);return{value:M([function(t){var h=[];return R(t,function(t,e){var i=t.categoryAxis,n=t.valueAxis.dim,o=[" "].concat(O(t.series,function(t){return t.name})),a=[i.model.getCategories()];R(t.series,function(t){var e=t.getRawData();a.push(t.getRawData().mapArray(e.mapDimension(n),function(t){return t}))});for(var r=[o.join(TA)],s=0;st[1]&&t.reverse(),t}function GA(t,e){return Ko(t,e,{includeMainTypes:EA})}BA.setOutputRanges=function(t,e){this.matchOutputRanges(t,e,function(t,e,i){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var n=ZA[t.brushType](0,i,e);t.__rangeOffset={offset:XA[t.brushType](n.values,t.range,[1,1]),xyMinMax:n.xyMinMax}}})},BA.matchOutputRanges=function(t,n,o){PA(t,function(i){var t=this.findTargetInfo(i,n);t&&!0!==t&&R(t.coordSyses,function(t){var e=ZA[i.brushType](1,t,i.range);o(i,e.values,t,n)})},this)},BA.setInputRanges=function(t,o){PA(t,function(t){var e=this.findTargetInfo(t,o);if(t.range=t.range||[],e&&!0!==e){t.panelId=e.panelId;var i=ZA[t.brushType](0,e.coordSys,t.coordRange),n=t.__rangeOffset;t.range=n?XA[t.brushType](i.values,n.offset,function(t,e){var i=jA(t),n=jA(e),o=[i[0]/n[0],i[1]/n[1]];return isNaN(o[0])&&(o[0]=1),isNaN(o[1])&&(o[1]=1),o}(i.xyMinMax,n.xyMinMax)):i.values}},this)},BA.makePanelOpts=function(i,n){return O(this._targetInfoList,function(t){var e=t.getPanelRect();return{panelId:t.panelId,defaultBrushType:n&&n(t),clipPath:hS(e),isTargetByCursor:dS(e,i,t.coordSysModel),getLinearBrushOtherExtent:cS(e)}})},BA.controlSeries=function(t,e,i){var n=this.findTargetInfo(t,i);return!0===n||n&&0<=NA(n.coordSyses,e.coordinateSystem)},BA.findTargetInfo=function(t,e){for(var i=this._targetInfoList,n=GA(e,t),o=0;on[1]&&(n[1]=e[1])})}),n[1]c[1];if(r&&!s&&!l)return!0;r&&(n=!0),s&&(e=!0),l&&(i=!0)}return n&&e&&i}):rD(h,function(t){if("empty"===o)i.setData(u=u.map(t,function(t){return function(t){return t>=c[0]&&t<=c[1]}(t)?t:NaN}));else{var e={};e[t]=c,u.selectRange(e)}}),rD(h,function(t){u.setApproximateExtent(c,t)}))})}}};var uD=R,hD=nD,cD=Tf({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,i){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var n=dD(t);this.settledOption=n,this.mergeDefaultAndTheme(t,i),this.doInit(n)},mergeOption:function(t){var e=dD(t);m(this.option,t,!0),m(this.settledOption,e,!0),this.doInit(e)},doInit:function(t){var i=this.option;v.canvasSupported||(i.realtime=!1),this._setDefaultThrottle(t),fD(this,t);var n=this.settledOption;uD([["start","startValue"],["end","endValue"]],function(t,e){"value"===this._rangePropMode[e]&&(i[t[0]]=n[t[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var r=this._axisProxies;this.eachTargetAxis(function(t,e,i,n){var o=this.dependentModels[t.axis][e],a=o.__dzAxisProxy||(o.__dzAxisProxy=new aD(t.name,e,this,n));r[t.name+"_"+e]=a},this)},_resetTarget:function(){var i=this.option,t=this._judgeAutoMode();hD(function(t){var e=t.axisIndex;i[e]=Vo(i[e])},this),"axisIndex"===t?this._autoSetAxisIndex():"orient"===t&&this._autoSetOrient()},_judgeAutoMode:function(){var e=this.option,i=!1;hD(function(t){null!=e[t.axisIndex]&&(i=!0)},this);var t=e.orient;return null==t&&i?"orient":i?void 0:(null==t&&(e.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var a=!0,e=this.get("orient",!0),r=this.option,t=this.dependentModels;if(a){var i="vertical"===e?"y":"x";t[i+"Axis"].length?(r[i+"AxisIndex"]=[0],a=!1):uD(t.singleAxis,function(t){a&&t.get("orient",!0)===e&&(r.singleAxisIndex=[t.componentIndex],a=!1)})}a&&hD(function(t){if(a){var e=[],i=this.dependentModels[t.axis];if(i.length&&!e.length)for(var n=0,o=i.length;ne[0][1]&&(e[0][1]=a[0]),a[1]e[1][1]&&(e[1][1]=a[1])}return e&&eC(e)}};function eC(t){return new Di(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}var iC=["#ddd"];Tf({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(t,e){var i=this.option;e||WD(i,t,["inBrush","outOfBrush"]);var n=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:iC},n.hasOwnProperty("liftZ")||(n.liftZ=5)},setAreas:function(t){t&&(this.areas=O(t,function(t){return nC(this.option,t)},this))},setBrushOption:function(t){this.brushOption=nC(this.option,t),this.brushType=this.brushOption.brushType}});function nC(t,e){return m({brushType:t.brushType,brushMode:t.brushMode,transformable:t.transformable,brushStyle:new Cl(t.brushStyle).getItemStyle(),removeOnClick:t.removeOnClick,z:t.z},e,!0)}function oC(t,e,i,n){n&&n.$from===t.id||this._brushController.setPanels(t.brushTargetManager.makePanelOpts(i)).enableBrush(t.brushOption).updateCovers(t.areas.slice())}Af({type:"brush",init:function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new Ob(e.getZr())).on("brush",A(this._onBrush,this)).mount()},render:function(t){return this.model=t,oC.apply(this,arguments)},updateTransform:function(t,e){return KD(e),oC.apply(this,arguments)},updateView:oC,dispose:function(){this._brushController.dispose()},_onBrush:function(t,e){var i=this.model.id;this.model.brushTargetManager.setOutputRanges(t,this.ecModel),e.isEnd&&!e.removeOnClick||this.api.dispatchAction({type:"brush",brushId:i,areas:k(t),$from:i}),e.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:i,areas:k(t),$from:i})}}),_f({type:"brush",event:"brush"},function(e,t){t.eachComponent({mainType:"brush",query:e},function(t){t.setAreas(e.areas)})}),_f({type:"brushSelect",event:"brushSelected",update:"none"},function(){}),_f({type:"brushEnd",event:"brushEnd",update:"none"},function(){});var aC=Oc.toolbox.brush;function rC(t,e,i){this.model=t,this.ecModel=e,this.api=i,this._brushType,this._brushMode}rC.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:k(aC.title)};var sC=rC.prototype;sC.render=sC.updateView=function(e,t,i){var n,o,a;t.eachComponent({mainType:"brush"},function(t){n=t.brushType,o=t.brushOption.brushMode||"single",a|=t.areas.length}),this._brushType=n,this._brushMode=o,R(e.get("type",!0),function(t){e.setIconStatus(t,("keep"===t?"multiple"===o:"clear"===t?a:t===n)?"emphasis":"normal")})},sC.getIcons=function(){var t=this.model,e=t.get("icon",!0),i={};return R(t.get("type",!0),function(t){e[t]&&(i[t]=e[t])}),i},sC.onclick=function(t,e,i){var n=this._brushType,o=this._brushMode;"clear"===i?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===i?n:n!==i&&i,brushMode:"keep"===i?"multiple"===o?"single":"multiple":o}})},dA("brush",rC),yf(function(t,e){var i=t&&t.brush;if(L(i)||(i=i?[i]:[]),i.length){var n=[];R(i,function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(n=n.concat(e))});var o=t&&t.toolbox;L(o)&&(o=o[0]),o||(o={feature:{}},t.toolbox=[o]);var a=o.feature||(o.feature={}),r=a.brush||(a.brush={}),s=r.type||(r.type=[]);s.push.apply(s,n),function(i){var e={};R(i,function(t){e[t]=1}),i.length=0,R(e,function(t,e){i.push(e)})}(s),e&&!s.length&&s.push.apply(s,BD)}}),Tf({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),Af({type:"title",render:function(t,e,i){if(this.group.removeAll(),t.get("show")){var n=this.group,o=t.getModel("textStyle"),a=t.getModel("subtextStyle"),r=t.get("textAlign"),s=H(t.get("textBaseline"),t.get("textVerticalAlign")),l=new Ur({style:nl({},o,{text:t.get("text"),textFill:o.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new Ur({style:nl({},a,{text:h,textFill:a.getTextColor(),y:u.height+t.get("itemGap"),textVerticalAlign:"top"},{disableBox:!0}),z2:10}),d=t.get("link"),f=t.get("sublink"),p=t.get("triggerEvent",!0);l.silent=!d&&!p,c.silent=!f&&!p,d&&l.on("click",function(){gu(d,"_"+t.get("target"))}),f&&c.on("click",function(){gu(f,"_"+t.get("subtarget"))}),l.eventData=c.eventData=p?{componentType:"title",componentIndex:t.componentIndex}:null,n.add(l),h&&n.add(c);var g=n.getBoundingRect(),m=t.getBoxLayoutParams();m.width=g.width,m.height=g.height;var v=bu(m,{width:i.getWidth(),height:i.getHeight()},t.get("padding"));r||("middle"===(r=t.get("left")||t.get("right"))&&(r="center"),"right"===r?v.x+=v.width:"center"===r&&(v.x+=v.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?v.y+=v.height:"middle"===s&&(v.y+=v.height/2),s=s||"top"),n.attr("position",[v.x,v.y]);var y={textAlign:r,textVerticalAlign:s};l.setStyle(y),c.setStyle(y),g=n.getBoundingRect();var x=v.margin,_=t.getItemStyle(["color","opacity"]);_.fill=t.get("backgroundColor");var w=new rs({shape:{x:g.x-x[3],y:g.y-x[0],width:g.width+x[1]+x[3],height:g.height+x[0]+x[2],r:t.get("borderRadius")},style:_,subPixelOptimize:!0,silent:!0});n.add(w)}}});function lC(t){var e=t.itemStyle||(t.itemStyle={}),i=e.emphasis||(e.emphasis={}),n=t.label||t.label||{},o=n.normal||(n.normal={}),a={normal:1,emphasis:1};R(n,function(t,e){a[e]||uC(o,e)||(o[e]=t)}),i.label&&!uC(n,"emphasis")&&(n.emphasis=i.label,delete i.label)}function uC(t,e){return t.hasOwnProperty(e)}ku.registerSubTypeDefaulter("timeline",function(){return"slider"}),_f({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(t,e){var i=e.getComponent("timeline");return i&&null!=t.currentIndex&&(i.setCurrentIndex(t.currentIndex),!i.get("loop",!0)&&i.isIndexMax()&&i.setPlayState(!1)),e.resetOption("timeline"),D({currentIndex:i.option.currentIndex},t)}),_f({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(t,e){var i=e.getComponent("timeline");i&&null!=t.playState&&i.setPlayState(t.playState)});var hC=ku.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},init:function(t,e,i){this._data,this._names,this.mergeDefaultAndTheme(t,i),this._initData()},mergeOption:function(t){hC.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(e<=t&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(t){this.option.autoPlay=!!t},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var t=this.option,e=t.data||[],i=t.axisType,o=this._names=[];if("category"===i){var a=[];R(e,function(t,e){var i,n=Wo(t);z(t)?(i=k(t)).value=e:i=e,a.push(i),E(n)||null!=n&&!isNaN(n)||(n=""),o.push(n+"")}),e=a}var n={category:"ordinal",time:"time"}[i]||"number";(this._data=new Yf([{name:"value",type:n}],this)).initData(e,o)},getData:function(){return this._data},getCategories:function(){if("category"===this.get("axisType"))return this._names.slice()}});b(hC.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}}),Xh);function cC(t,e,i,n){Gg.call(this,t,e,i),this.type=n||"value",this.model=null}var dC=gc.extend({type:"timeline"});cC.prototype={constructor:cC,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return"horizontal"===this.model.get("orient")}},w(cC,Gg);var fC=A,pC=R,gC=Math.PI;function mC(t,e,i,n,o,a){var r=e.get("color");o?(o.setColor(r),i.add(o),a&&a.onUpdate(o)):((o=wg(t.get("symbol"),-1,-1,2,2,r)).setStyle("strokeNoScale",!0),i.add(o),a&&a.onCreate(o));var s=e.getItemStyle(["color","symbol","symbolSize"]);o.setStyle(s),n=m({rectHover:!0,z2:100},n,!0);var l=t.get("symbolSize");(l=l instanceof Array?l.slice():[+l,+l])[0]/=2,l[1]/=2,n.scale=l;var u=t.get("symbolOffset");if(u){var h=n.position=n.position||[0,0];h[0]+=El(u[0],l[0]),h[1]+=El(u[1],l[1])}var c=t.get("symbolRotate");return n.rotation=(c||0)*Math.PI/180||0,o.attr(n),o.updateTransform(),o}function vC(t,e,i,n,o){if(!t.dragging){var a=n.getModel("checkpointStyle"),r=i.dataToCoord(n.getData().get(["value"],e));o||!a.get("animation",!0)?t.attr({position:[r,0]}):(t.stopAnimation(!0),t.animateTo({position:[r,0]},a.get("animationDuration",!0),a.get("animationEasing",!0)))}}dC.extend({type:"timeline.slider",init:function(t,e){this.api=e,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(e,t,i,n){if(this.model=e,this.api=i,this.ecModel=t,this.group.removeAll(),e.get("show",!0)){var o=this._layout(e,i),a=this._createGroup("mainGroup"),r=this._createGroup("labelGroup"),s=this._axis=this._createAxis(o,e);e.formatTooltip=function(t){return au(s.scale.getLabel(t))},pC(["AxisLine","AxisTick","Control","CurrentPointer"],function(t){this["_render"+t](o,a,s,e)},this),this._renderAxisLabel(o,r,s,e),this._position(o,e)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(t,e){var i=t.get("label.position"),n=t.get("orient"),o=function(t,e){return bu(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},t.get("padding"))}(t,e);null==i||"auto"===i?i="horizontal"===n?o.y+o.height/2n[1]&&(i=n[1]),i":"\n"),s&&(l+=xC(s),null!=a&&(l+=" : ")),null!=a&&(l+=xC(r)),l},getData:function(){return this._data},setData:function(t){this._data=t}});b(wC,Xh),wC.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var bC=_;function SC(t,e,i,n,o,a){var r=[],s=fp(e,n)?e.getCalculationInfo("stackResultDimension"):n,l=LC(e,s,t),u=e.indicesOfNearest(s,l)[0];r[o]=e.get(i,u),r[a]=e.get(s,u);var h=e.get(n,u),c=Vl(e.get(n,u));return 0<=(c=Math.min(c,20))&&(r[a]=+r[a].toFixed(c)),[r,h]}var MC=T,IC={min:MC(SC,"min"),max:MC(SC,"max"),average:MC(SC,"average")};function TC(t,e){var i=t.getData(),n=t.coordinateSystem;if(e&&!function(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}(e)&&!L(e.coord)&&n){var o=n.dimensions,a=AC(e,i,n,t);if((e=k(e)).type&&IC[e.type]&&a.baseAxis&&a.valueAxis){var r=bC(o,a.baseAxis.dim),s=bC(o,a.valueAxis.dim),l=IC[e.type](i,a.baseDataDim,a.valueDataDim,r,s);e.coord=l[0],e.value=l[1]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)IC[u[h]]&&(u[h]=LC(i,i.mapDimension(o[h]),u[h]));e.coord=u}}return e}function AC(t,e,i,n){var o={};return null!=t.valueIndex||null!=t.valueDim?(o.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,o.valueAxis=i.getAxis(function(t,e){var i=t.getData(),n=i.dimensions;e=i.getDimension(e);for(var o=0;oi[o],f=[-h.x,-h.y];e||(f[n]=s.position[n]);var p=[0,0],g=[-c.x,-c.y],m=H(t.get("pageButtonGap",!0),t.get("itemGap",!0));d&&("end"===t.get("pageButtonPosition",!0)?g[n]+=i[o]-c[o]:p[n]+=c[o]+m);g[1-n]+=h[a]/2-c[a]/2,s.attr("position",f),l.attr("position",p),u.attr("position",g);var v={x:0,y:0};if(v[o]=d?i[o]:h[o],v[a]=Math.max(h[a],c[a]),v[r]=Math.min(0,c[r]+g[1-n]),l.__rectSize=i[o],d){var y={x:0,y:0};y[o]=Math.max(i[o]-c[o]-m,0),y[a]=v[a],l.setClipPath(new rs({shape:y})),l.__rectSize=y[o]}else u.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var x=this._getPageInfo(t);return null!=x.pageIndex&&cl(s,{position:x.contentPosition},d&&t),this._updatePageInfoView(t,x),v},_pageGo:function(t,e,i){var n=this._getPageInfo(e)[t];null!=n&&i.dispatchAction({type:"legendScroll",scrollDataIndex:n,legendId:e.id})},_updatePageInfoView:function(n,o){var a=this._controllerGroup;R(["pagePrev","pageNext"],function(t){var e=null!=o[t+"DataIndex"],i=a.childOfName(t);i&&(i.setStyle("fill",e?n.get("pageIconColor",!0):n.get("pageIconInactiveColor",!0)),i.cursor=e?"pointer":"default")});var t=a.childOfName("pageText"),e=n.get("pageFormatter"),i=o.pageIndex,r=null!=i?i+1:0,s=o.pageCount;t&&e&&t.setStyle("text",E(e)?e.replace("{current}",r).replace("{total}",s):e({current:r,total:s}))},_getPageInfo:function(t){var e=t.get("scrollDataIndex",!0),i=this.getContentGroup(),n=this._containerGroup.__rectSize,o=t.getOrient().index,a=aL[o],r=rL[o],s=this._findTargetItemIndex(e),l=i.children(),u=l[s],h=l.length,c=h?1:0,d={contentPosition:i.position.slice(),pageCount:c,pageIndex:c-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return d;var f=y(u);d.contentPosition[o]=-f.s;for(var p=s+1,g=f,m=f,v=null;p<=h;++p)(!(v=y(l[p]))&&m.e>g.s+n||v&&!x(v,g.s))&&(g=m.i>g.i?m:v)&&(null==d.pageNextDataIndex&&(d.pageNextDataIndex=g.i),++d.pageCount),m=v;for(p=s-1,g=f,m=f,v=null;-1<=p;--p)(v=y(l[p]))&&x(m,v.s)||!(g.i=e&&t.s<=e+n}},_findTargetItemIndex:function(n){return this._showController?(this.getContentGroup().eachChild(function(t,e){var i=t.__legendDataIndex;null==a&&null!=i&&(a=e),i===n&&(o=e)}),null!=o?o:a):0;var o,a}});_f("legendScroll","legendscroll",function(t,e){var i=t.scrollDataIndex;null!=i&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(t){t.setScrollDataIndex(i)})});cD.extend({type:"dataZoom.slider",layoutMode:"box",defaultOption:{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#2f4554",width:.5,opacity:.3},areaStyle:{color:"rgba(47,69,84,0.3)",opacity:.3}},borderColor:"#ddd",fillerColor:"rgba(167,183,204,0.4)",handleIcon:"M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",handleSize:"100%",handleStyle:{color:"#a7b7cc"},labelPrecision:null,labelFormatter:null,showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#333"}}});var lL=rs,uL=Rl,hL=Bl,cL=A,dL=R,fL="horizontal",pL="vertical",gL=["line","bar","candlestick","scatter"],mL=pD.extend({type:"dataZoom.slider",init:function(t,e){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=e},render:function(t,e,i,n){mL.superApply(this,"render",arguments),kc(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=t.get("orient"),!1!==this.dataZoomModel.get("show")?(n&&"dataZoom"===n.type&&n.from===this.uid||this._buildView(),this._updateView()):this.group.removeAll()},remove:function(){mL.superApply(this,"remove",arguments),Pc(this,"_dispatchZoomAction")},dispose:function(){mL.superApply(this,"dispose",arguments),Pc(this,"_dispatchZoomAction")},_buildView:function(){var t=this.group;t.removeAll(),this._resetLocation(),this._resetInterval();var e=this._displayables.barGroup=new Ci;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},_resetLocation:function(){var t=this.dataZoomModel,e=this.api,i=this._findCoordRect(),n={width:e.getWidth(),height:e.getHeight()},o=this._orient===fL?{right:n.width-i.x-i.width,top:n.height-30-7,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=Iu(t.option);R(["right","top","width","height"],function(t){"ph"===a[t]&&(a[t]=o[t])});var r=bu(a,n,t.padding);this._location={x:r.x,y:r.y},this._size=[r.width,r.height],this._orient===pL&&this._size.reverse()},_positionGroup:function(){var t=this.group,e=this._location,i=this._orient,n=this.dataZoomModel.getFirstTargetAxisModel(),o=n&&n.get("inverse"),a=this._displayables.barGroup,r=(this._dataShadowInfo||{}).otherAxisInverse;a.attr(i!==fL||o?i===fL&&o?{scale:r?[-1,1]:[-1,-1]}:i!==pL||o?{scale:r?[-1,-1]:[-1,1],rotation:Math.PI/2}:{scale:r?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:r?[1,1]:[1,-1]});var s=t.getBoundingRect([a]);t.attr("position",[e.x-s.x,e.y-s.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var t=this.dataZoomModel,e=this._size,i=this._displayables.barGroup;i.add(new lL({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40})),i.add(new lL({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:A(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(t){var e=this._size,i=t.series,n=i.getRawData(),o=i.getShadowDim?i.getShadowDim():t.otherDim;if(null!=o){var a=n.getDataExtent(o),r=.3*(a[1]-a[0]);a=[a[0]-r,a[1]+r];var s,l=[0,e[1]],u=[0,e[0]],h=[[e[0],0],[0,0]],c=[],d=u[1]/(n.count()-1),f=0,p=Math.round(n.count()/e[0]);n.each([o],function(t,e){if(0e[0]||i[1]<0||i[1]>e[1])){var n=this._handleEnds,o=(n[0]+n[1])/2,a=this._updateInterval("all",i[0]-o);this._updateView(),a&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var i;if(dL(this.getTargetCoordInfo(),function(t){if(!i&&t.length){var e=t[0].model.coordinateSystem;i=e.getRect&&e.getRect()}}),!i){var t=this.api.getWidth(),e=this.api.getHeight();i={x:.2*t,y:.2*e,width:.6*t,height:.6*e}}return i}});function vL(t){return"vertical"===t?"ns-resize":"ew-resize"}cD.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});var yL="\0_ec_dataZoom_roams";function xL(t,n){var e=wL(t),o=n.dataZoomId,a=n.coordId;R(e,function(t,e){var i=t.dataZoomInfos;i[o]&&_(n.allCoordIds,a)<0&&(delete i[o],t.count--)}),bL(e);var i=e[a];i||((i=e[a]={coordId:a,dataZoomInfos:{},count:0}).controller=function(t,r){var e=new Vy(t.getZr());return R(["pan","zoom","scrollMove"],function(a){e.on(a,function(n){var o=[];R(r.dataZoomInfos,function(t){if(n.isAvailableBehavior(t.dataZoomModel.option)){var e=(t.getRange||{})[a],i=e&&e(r.controller,n);!t.dataZoomModel.get("disabled",!0)&&i&&o.push({dataZoomId:t.dataZoomId,start:i[0],end:i[1]})}}),o.length&&r.dispatchAction(o)})}),e}(t,i),i.dispatchAction=T(SL,t)),i.dataZoomInfos[o]||i.count++,i.dataZoomInfos[o]=n;var r=function(t){var n,o={type_true:2,type_move:1,type_false:0,type_undefined:-1},a=!0;return R(t,function(t){var e=t.dataZoomModel,i=!e.get("disabled",!0)&&(!e.get("zoomLock",!0)||"move");o["type_"+n]"],L(t)&&(t=t.slice(),n=!0),o=e?t:n?[u(t[0]),u(t[1])]:u(t),E(l)?l.replace("{value}",n?o[0]:o).replace("{value2}",n?o[1]:o):C(l)?n?l(t[0],t[1]):l(t):n?t[0]===s[0]?i[0]+" "+o[1]:t[1]===s[1]?i[1]+" "+o[0]:o[0]+" - "+o[1]:o;function u(t){return t===s[0]?"min":t===s[1]?"max":(+t).toFixed(Math.min(r,20))}},resetExtent:function(){var t=this.option,e=GL([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this.option.dimension,i=t.dimensions;if(null!=e||i.length){if(null!=e)return t.getDimension(e);for(var n=t.dimensions,o=n.length-1;0<=o;o--){var a=n[o];if(!t.getDimensionInfo(a).isCalculationCoord)return a}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){var t=this.ecModel,e=this.option,i={inRange:e.inRange,outOfRange:e.outOfRange},n=e.target||(e.target={}),o=e.controller||(e.controller={});m(n,i),m(o,i);var u=this.isCategory();function a(n){BL(e.color)&&!n.inRange&&(n.inRange={color:e.color.slice().reverse()}),n.inRange=n.inRange||{color:t.get("gradientColor")},VL(this.stateList,function(t){var e=n[t];if(E(e)){var i=OL(e,"active",u);i?(n[t]={},n[t][e]=i):delete n[t]}},this)}a.call(this,n),a.call(this,o),function(t,e,i){var n=t[e],o=t[i];n&&!o&&(o=t[i]={},VL(n,function(t,e){if(g_.isValidType(e)){var i=OL(e,"inactive",u);null!=i&&(o[e]=i,"color"!==e||o.hasOwnProperty("opacity")||o.hasOwnProperty("colorAlpha")||(o.opacity=[0,0]))}}))}.call(this,n,"inRange","outOfRange"),function(a){var r=(a.inRange||{}).symbol||(a.outOfRange||{}).symbol,s=(a.inRange||{}).symbolSize||(a.outOfRange||{}).symbolSize,l=this.get("inactiveColor");VL(this.stateList,function(t){var e=this.itemSize,i=a[t];null==(i=i||(a[t]={color:u?l:[l]})).symbol&&(i.symbol=r&&k(r)||(u?"roundRect":["roundRect"])),null==i.symbolSize&&(i.symbolSize=s&&k(s)||(u?e[0]:[e[0],e[0]])),i.symbol=EL(i.symbol,function(t){return"none"===t||"square"===t?"roundRect":t});var n=i.symbolSize;if(null!=n){var o=-1/0;zL(n,function(t){oe[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){WL.prototype.completeVisualOption.apply(this,arguments),R(this.stateList,function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=0)},this)},setSelected:function(t){this.option.range=t.slice(),this._resetRange()},getSelected:function(){var t=this.getExtent(),e=Bl((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]=i[1]||t<=e[1])?"inRange":"outOfRange"},findTargetDataIndices:function(n){var o=[];return this.eachTargetSeries(function(t){var i=[],e=t.getData();e.each(this.getDataDimension(e),function(t,e){n[0]<=t&&t<=n[1]&&i.push(e)},this),o.push({seriesId:t.id,dataIndex:i})},this),o},getVisualMeta:function(i){var t=UL(this,"outOfRange",this.getExtent()),e=UL(this,"inRange",this.option.range.slice()),n=[];function o(t,e){n.push({value:t,color:i(t,e)})}for(var a=0,r=0,s=e.length,l=t.length;rt[1])break;i.push({color:this.getControllerVisual(a,"color",e),offset:o/100})}return i.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),i},_createBarPoints:function(t,e){var i=this.visualMapModel.itemSize;return[[i[0]-e[0],t[0]],[i[0],t[0]],[i[0],t[1]],[i[0]-e[1],t[1]]]},_createBarGroup:function(t){var e=this._orient,i=this.visualMapModel.get("inverse");return new Ci("horizontal"!==e||i?"horizontal"===e&&i?{scale:"bottom"===t?[-1,1]:[1,1],rotation:-Math.PI/2}:"vertical"!==e||i?{scale:"left"===t?[1,1]:[-1,1]}:{scale:"left"===t?[1,-1]:[-1,-1]}:{scale:"bottom"===t?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(n,o){if(this._useHandle){var a=this._shapes,r=this.visualMapModel,s=a.handleThumbs,l=a.handleLabels;KL([0,1],function(t){var e=s[t];e.setStyle("fill",o.handlesColor[t]),e.position[1]=n[t];var i=pl(a.handleLabelPoints[t],fl(e,this.group));l[t].setStyle({x:i[0],y:i[1],text:r.formatValueText(this._dataInterval[t]),textVerticalAlign:"middle",textAlign:this._applyTransform("horizontal"===this._orient?0===t?"bottom":"top":"left",a.barGroup)})},this)}},_showIndicator:function(t,e,i,n){var o=this.visualMapModel,a=o.getExtent(),r=o.itemSize,s=[0,r[1]],l=qL(t,a,s,!0),u=this._shapes,h=u.indicator;if(h){h.position[1]=l,h.attr("invisible",!1),h.setShape("points",function(t,e,i,n){return t?[[0,-$L(e,JL(i,0))],[6,0],[0,$L(e,JL(n-i,0))]]:[[0,0],[5,-5],[5,5]]}(!!i,n,l,r[1]));var c=this.getControllerVisual(t,"color",{convertOpacityToAlpha:!0});h.setStyle("fill",c);var d=pl(u.indicatorLabelPoint,fl(h,this.group)),f=u.indicatorLabel;f.attr("invisible",!1);var p=this._applyTransform("left",u.barGroup),g=this._orient;f.setStyle({text:(i||"")+o.formatValueText(e),textVerticalAlign:"horizontal"===g?p:"middle",textAlign:"horizontal"===g?"center":p,x:d[0],y:d[1]})}},_enableHoverLinkToSeries:function(){var n=this;this._shapes.barGroup.on("mousemove",function(t){if(n._hovering=!0,!n._dragging){var e=n.visualMapModel.itemSize,i=n._applyTransform([t.offsetX,t.offsetY],n._shapes.barGroup,!0,!0);i[1]=$L(JL(0,i[1]),e[1]),n._doHoverLinkToSeries(i[1],0<=i[0]&&i[0]<=e[0])}}).on("mouseout",function(){n._hovering=!1,n._dragging||n._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var i=this.visualMapModel,n=i.itemSize;if(i.option.hoverLink){var o=[0,n[1]],a=i.getExtent();t=$L(JL(o[0],t),o[1]);var r=function(t,e,i){var n=6,o=t.get("hoverLinkDataSize");o&&(n=qL(o,e,i,!0)/2);return n}(i,a,o),s=[t-r,t+r],l=qL(t,o,a,!0),u=[qL(s[0],o,a,!0),qL(s[1],o,a,!0)];s[0] ",r):this._showIndicator(l,l,"≈ ",r));var h=this._hoverLinkDataIndices,c=[];(e||ek(i))&&(c=this._hoverLinkDataIndices=i.findTargetDataIndices(u));var d=function(t,e){var i={},n={};return o(t||[],i),o(e||[],n,i),[a(i),a(n)];function o(t,e,i){for(var n=0,o=t.length;ni&&n([i,e[0]],"outOfRange"),n(e.slice()),i=e[1])},this),{stops:a,outerColors:r}}function n(t,e){var i=s.getRepresentValue({interval:t});e=e||s.getValueState(i);var n=o(i,e);t[0]===-1/0?r[0]=n:t[1]===1/0?r[1]=n:a.push({value:t[0],color:n},{value:t[1],color:n})}}}),ok={splitNumber:function(){var t=this.option,e=this._pieceList,i=Math.min(t.precision,20),n=this.getExtent(),o=t.splitNumber;o=Math.max(parseInt(o,10),1),t.splitNumber=o;for(var a=(n[1]-n[0])/o;+a.toFixed(i)!==a&&i<5;)i++;t.precision=i,a=+a.toFixed(i),t.minOpen&&e.push({interval:[-1/0,n[0]],close:[0,0]});for(var r=0,s=n[0];r","≥"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,i)},this)}};function ak(t,e){var i=t.inverse;("vertical"===t.orient?!i:i)&&e.reverse()}XL.extend({type:"visualMap.piecewise",doRender:function(){var a=this.group;a.removeAll();var r=this.visualMapModel,s=r.get("textGap"),t=r.textStyleModel,l=t.getFont(),u=t.getTextColor(),h=this._getItemAlign(),c=r.itemSize,e=this._getViewData(),i=e.endsText,d=W(r.get("showLabel",!0),!i);i&&this._renderEndsText(a,i[0],c,d,h),R(e.viewPieceList,function(t){var e=t.piece,i=new Ci;i.onclick=A(this._onItemClick,this,e),this._enableHoverLink(i,t.indexInModelPieceList);var n=r.getRepresentValue(e);if(this._createItemSymbol(i,n,[0,0,c[0],c[1]]),d){var o=this.visualMapModel.getValueState(n);i.add(new Ur({style:{x:"right"===h?-s:c[0]+s,y:c[1]/2,text:e.text,textVerticalAlign:"middle",textAlign:h,textFont:l,textFill:u,opacity:"outOfRange"===o?.5:1}}))}a.add(i)},this),i&&this._renderEndsText(a,i[1],c,d,h),wu(r.get("orient"),a,r.get("itemGap")),this.renderBackground(a),this.positionGroup(a)},_enableHoverLink:function(t,i){function e(t){var e=this.visualMapModel;e.option.hoverLink&&this.api.dispatchAction({type:t,batch:jL(e.findTargetDataIndices(i),e)})}t.on("mouseover",A(e,this,"highlight")).on("mouseout",A(e,this,"downplay"))},_getItemAlign:function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return YL(t,this.api,t.itemSize);var i=e.align;return i&&"auto"!==i||(i="left"),i},_renderEndsText:function(t,e,i,n,o){if(e){var a=new Ci,r=this.visualMapModel.textStyleModel;a.add(new Ur({style:{x:n?"right"===o?i[0]:0:i[0]/2,y:i[1]/2,textVerticalAlign:"middle",textAlign:n?o:"center",text:e,textFont:r.getFont(),textFill:r.getTextColor()}})),t.add(a)}},_getViewData:function(){var t=this.visualMapModel,e=O(t.getPieceList(),function(t,e){return{piece:t,indexInModelPieceList:e}}),i=t.get("text"),n=t.get("orient"),o=t.get("inverse");return("horizontal"===n?o:!o)?e.reverse():i=i&&i.slice().reverse(),{viewPieceList:e,endsText:i}},_createItemSymbol:function(t,e,i){t.add(wg(this.getControllerVisual(e,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(e,"color")))},_onItemClick:function(t){var e=this.visualMapModel,i=e.option,n=k(i.selected),o=e.getSelectedMapKey(t);"single"===i.selectedMode?(n[o]=!0,R(n,function(t,e){n[e]=e===o})):n[o]=!n[o],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:n})}});yf(DL);var rk,sk="urn:schemas-microsoft-com:vml",lk="undefined"==typeof window?null:window,uk=!1,hk=lk&&lk.document;function ck(t){return rk(t)}if(hk&&!v.canvasSupported)try{hk.namespaces.zrvml||hk.namespaces.add("zrvml",sk),rk=function(t){return hk.createElement("')}}catch(t){rk=function(t){return hk.createElement("<"+t+' xmlns="'+sk+'" class="zrvml">')}}var dk,fk=rr.CMD,pk=Math.round,gk=Math.sqrt,mk=Math.abs,vk=Math.cos,yk=Math.sin,xk=Math.max;if(!v.canvasSupported){var _k=",",wk="progid:DXImageTransform.Microsoft",bk=21600,Sk=bk/2,Mk=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=bk+","+bk,t.coordorigin="0,0"},Ik=function(t,e,i){return"rgb("+[t,e,i].join(",")+")"},Tk=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},Ak=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},Dk=function(t,e,i){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+i},Ck=Yn,Lk=function(t,e,i){var n=Fe(e);i=+i,isNaN(i)&&(i=1),n&&(t.color=Ik(n[0],n[1],n[2]),t.opacity=i*n[3])},kk=function(t,e,i,n){var o="fill"===e,a=t.getElementsByTagName(e)[0];null!=i[e]&&"none"!==i[e]&&(o||!o&&i.lineWidth)?(t[o?"filled":"stroked"]="true",i[e]instanceof cs&&Ak(t,a),a=a||ck(e),o?function(t,e,i){var n,o,a=e.fill;if(null!=a)if(a instanceof cs){var r,s=0,l=[0,0],u=0,h=1,c=i.getBoundingRect(),d=c.width,f=c.height;if("linear"===a.type){r="gradient";var p=i.transform,g=[a.x*d,a.y*f],m=[a.x2*d,a.y2*f];p&&(bt(g,g,p),bt(m,m,p));var v=m[0]-g[0],y=m[1]-g[1];(s=180*Math.atan2(v,y)/Math.PI)<0&&(s+=360),s<1e-6&&(s=0)}else{r="gradientradial";g=[a.x*d,a.y*f],p=i.transform;var x=i.scale,_=d,w=f;l=[(g[0]-c.x)/_,(g[1]-c.y)/w],p&&bt(g,g,p),_/=x[0]*bk,w/=x[1]*bk;var b=xk(_,w);u=0/b,h=2*a.r/b-u}var S=a.colorStops.slice();S.sort(function(t,e){return t.offset-e.offset});for(var M=S.length,I=[],T=[],A=0;A=c&&d<=i+1){for(var n=[],o=0;o=c&&d<=o+1)return _P(h,e.components,u,l);p[t]=e}else p[t]=void 0}var s;f++}for(;f<=e;){var r=a();if(r)return r}},pushComponent:function(t,e,i){var n=t[t.length-1];n&&n.added===e&&n.removed===i?t[t.length-1]={count:n.count+1,added:e,removed:i}:t.push({count:1,added:e,removed:i})},extractCommon:function(t,e,i,n){for(var o=e.length,a=i.length,r=t.newPos,s=r-n,l=0;r+1\n\r<"))}},R(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","pathToImage"],function(t){OP.prototype[t]=function(t){return function(){vi('In SVG mode painter not support method "'+t+'"')}}(t)}),Po("svg",OP),t.version="4.9.0",t.dependencies={zrender:"4.3.2"},t.PRIORITY=Ld,t.init=function(t,e,i){var n=mf(t);if(n)return n;var o=new Ed(t,e,i);return o.id="ec_"+cf++,uf[o.id]=o,Jo(t,ff,o.id),function(n){var o="__connectUpdateStatus";function a(t,e){for(var i=0;i b.latest_time -end - - -function user_status() - local json = require "luci.jsonc" - luci.http.prepare_content("application/json") - local fd = io.open("/proc/net/af_client","r") - status_buf=fd:read('*a') - fd:close() - user_array=json.parse(status_buf) - - local visit_obj=utl.ubus("appfilter", "visit_list", {}); - local user_array=visit_obj.dev_list - local history={} - for i, v in pairs(user_array) do - visit_array=user_array[i].visit_info - for j,s in pairs(visit_array) do - print(user_array[i].mac, user_array[i].ip,visit_array[j].appid, visit_array[j].latest_time) - total_time=visit_array[j].latest_time - visit_array[j].first_time; - history[#history+1]={ - mac=user_array[i].mac, - ip=user_array[i].ip, - hostname=get_hostname_by_mac(user_array[i].mac), - appid=visit_array[j].appid, - appname=get_app_name_by_id(visit_array[j].appid), - --total_num=visit_array[j].total_num, - --drop_num=visit_array[j].drop_num, - total_num=0, - drop_num=0, - latest_action=visit_array[j].latest_action, - latest_time=os.date("%Y/%m/%d %H:%M:%S", visit_array[j].latest_time), - first_time=os.date("%Y/%m/%d %H:%M:%S", visit_array[j].first_time), - total_time=total_time - } - end - end - table.sort(history, cmp_func) - luci.http.write_json(history); -end - - -function dev_app_status() - local json = require "luci.jsonc" - luci.http.prepare_content("application/json") - local visit_obj=utl.ubus("appfilter", "dev_list", {}); - luci.http.write_json(visit_obj); -end - - -function get_dev_visit_time(mac) - local json = require "luci.jsonc" - luci.http.prepare_content("application/json") - local fd = io.open("/proc/net/af_client","r") - status_buf=fd:read('*a') - fd:close() - user_array=json.parse(status_buf) - local req_obj = {} - req_obj.mac = mac; - local visit_obj=utl.ubus("appfilter", "dev_visit_time", req_obj); - local user_array=visit_obj.app_list - luci.http.write_json(user_array); -end - -function get_app_class_visit_time(mac) - local json = require "luci.jsonc" - luci.http.prepare_content("application/json") - local req_obj = {} - req_obj.mac = mac; - local visit_obj=utl.ubus("appfilter", "app_class_visit_time", req_obj); - local class_array=visit_obj.class_list - luci.http.write_json(class_array); -end - - -function get_dev_visit_list(mac) - local json = require "luci.jsonc" - luci.http.prepare_content("application/json") - local req_obj = {} - req_obj.mac = mac; - - local visit_obj=utl.ubus("appfilter", "visit_list", req_obj); - local user_array=visit_obj.dev_list - local history={} - for i, v in pairs(user_array) do - visit_array=user_array[i].visit_info - for j,s in pairs(visit_array) do - print(user_array[i].mac, user_array[i].ip,visit_array[j].appid, visit_array[j].latest_time) - total_time=visit_array[j].latest_time - visit_array[j].first_time; - history[#history+1]={ - mac=user_array[i].mac, - ip=user_array[i].ip, - hostname=get_hostname_by_mac(user_array[i].mac), - appid=visit_array[j].appid, - appname=get_app_name_by_id(visit_array[j].appid), - total_num=0, - drop_num=0, - latest_action=visit_array[j].latest_action, - latest_time=os.date("%Y/%m/%d %H:%M:%S", visit_array[j].latest_time), - first_time=os.date("%Y/%m/%d %H:%M:%S", visit_array[j].first_time), - total_time=total_time - } - end - end - table.sort(history, cmp_func) - luci.http.write_json(history); -end diff --git a/package/ctcgfw/luci-app-appfilter/luasrc/model/cbi/appfilter/appfilter.lua b/package/ctcgfw/luci-app-appfilter/luasrc/model/cbi/appfilter/appfilter.lua deleted file mode 100644 index 3d9af1016d..0000000000 --- a/package/ctcgfw/luci-app-appfilter/luasrc/model/cbi/appfilter/appfilter.lua +++ /dev/null @@ -1,225 +0,0 @@ - -local ds = require "luci.dispatcher" -local nxo = require "nixio" -local nfs = require "nixio.fs" -local ipc = require "luci.ip" -local sys = require "luci.sys" -local utl = require "luci.util" -local dsp = require "luci.dispatcher" -local uci = require "luci.model.uci" -local lng = require "luci.i18n" -local jsc = require "luci.jsonc" -local http = luci.http -local SYS = require "luci.sys" -local m, s - -m = Map("appfilter", - translate("appfilter"), - translate("")) - -s = m:section(TypedSection, "global", translate("Basic Settings")) -s:option(Flag, "enable", translate("Enable App Filter"),translate("")) -s.anonymous = true - -local rule_count=0 -local version="" -if nixio.fs.access("/etc/appfilter/feature.cfg") then - rule_count=tonumber(SYS.exec("cat /etc/appfilter/feature.cfg | wc -l")) - version=SYS.exec("cat /etc/appfilter/feature.cfg |grep \"#version\" | awk '{print $2}'") -end -local display_str="当前版本: "..version.."
特征码个数: "..rule_count.."
下载地址:https://destan19.github.io" -s = m:section(TypedSection, "feature", translate("特征库更新"), display_str ) - -fu = s:option(FileUpload, "") -fu.template = "cbi/oaf_upload" -s.anonymous = true - -um = s:option(DummyValue, "rule_data") - -s=m:section(TypedSection,"time",translate("时间控制")) s.anonymous = true -hv = s:option(Value, "start_time", translate("开始时间")) hv.default="00:00" -hv.optional=false -hv = s:option(Value, "end_time", translate("结束时间")) hv.default="23:59" -hv.optional=false days = s:option(MultiValue, "days", "", translate("")) -days.widget="checkbox" days.size=10 -days:value("0", "周日"); -days:value("1", "周一"); -days:value("2", "周二"); -days:value("3", "周三"); -days:value("4", "周四"); -days:value("5", "周五"); -days:value("6", "周六"); - ---um.value =rule_count .. " " .. translate("Records").. " "..version -s = m:section(TypedSection, "appfilter", translate("App Filter Rules")) -s.anonymous = true -s.addremove = false - - -local class_fd = io.popen("find /tmp/appfilter/ -type f -name '*.class'") -if class_fd then - while true do - local apps - local class - local path = class_fd:read("*l") - if not path then - break - end - - class = path:match("([^/]+)%.class$") - -- add a tab - s:tab(class, translate(class)) - -- multi value option - apps = s:taboption(class, MultiValue, class.."apps", translate("")) - apps.rmempty=true - --apps.delimiter=";" - -- select - apps.widget="checkbox" - apps.size=10 - - local fd = io.open(path) - if fd then - local line - while true do - local cmd - local cmd_fd - line = fd:read("*l") - if not line then break end - if string.len(line) < 5 then break end - if not string.find(line,"#") then - cmd = "echo "..line.."|awk '{print $1}'" - cmd_fd = io.popen(cmd) - id = cmd_fd:read("*l"); - cmd_fd:close() - - cmd = "echo "..line.."|awk '{print $2}'" - cmd_fd = io.popen(cmd) - name = cmd_fd:read("*l") - - cmd_fd:close() - if not id then break end - if not name then break end - apps:value(id, name) - end - end - fd:close() - end - end - class_fd:close() -end - - - - -function get_hostname_by_mac(dst_mac) - leasefile="/tmp/dhcp.leases" - local fd = io.open(leasefile, "r") - if not fd then return end - while true do - local ln = fd:read("*l") - if not ln then - break - end - local ts, mac, ip, name, duid = ln:match("^(%d+) (%S+) (%S+) (%S+) (%S+)") - print(ln) - if dst_mac == mac then - fd:close() - return name - end - end - fd:close() - return nil -end -function get_cmd_result(command) - local fd - local result - fd = io.popen(command); - if not fd then return "" end - result = fd:read("*l"); - fd:close() - return result -end - -s=m:section(TypedSection,"user",translate("Select users")) -s.anonymous = true -users = s:option(MultiValue, "users", "", translate("Select at least one user, otherwise it will take effect for all users")) -users.widget="checkbox" ---users.widget="select" -users.size=1 - -local fd = io.open("/tmp/dev_list", "r") -if not fd then return m end -while true do - local line = fd:read("*l") - if not line then - break - end - if not line:match("Id*") then - local ip=get_cmd_result(string.format("echo '%s' | awk '{print $3}'", line)) - local mac=get_cmd_result(string.format("echo '%s' | awk '{print $2}'", line)) - if mac ~= nil then - local hostname=get_hostname_by_mac(mac) - if not hostname or hostname == "*" then - users:value(mac, mac); - else - users:value(mac, hostname); - end - end - end -end - -local config_users=m.uci:get_all("appfilter.user.users") -if config_users~=nil then -local r=utl.split(config_users, "%s+", nil, true) -local max = table.getn(r) -for i=1,max,1 do - users:value(r[i], r[i]); -end -end -m:section(SimpleSection).template = "admin_network/user_status" -local dir, fd -dir = "/tmp/upload/" -nixio.fs.mkdir(dir) -http.setfilehandler( - function(meta, chunk, eof) - if not fd then - if not meta then return end - if meta and chunk then fd = nixio.open(dir .. meta.file, "w") end - if not fd then - return - end - end - if chunk and fd then - fd:write(chunk) - end - if eof and fd then - fd:close() - local fd2 = io.open("/tmp/upload/"..meta.file) - local line=fd2:read("*l"); - fd2:close() - local ret=string.match(line, "#version") - if ret ~= nil then - local cmd="cp /tmp/upload/"..meta.file.." /etc/appfilter/feature.cfg"; - os.execute(cmd); - os.execute("rm /tmp/appfilter -fr"); - luci.sys.exec("/etc/init.d/appfilter restart &"); - um.value = translate("更新成功,请刷新页面!") - else - um.value = translate("更新失败,格式错误!") - end - end - - end -) - -if luci.http.formvalue("upload") then - local f = luci.http.formvalue("ulfile") - if #f <= 0 then - --um.value = translate("No specify upload file.") - end -elseif luci.http.formvalue("download") then - Download() -end - - -return m diff --git a/package/ctcgfw/luci-app-appfilter/luasrc/model/cbi/appfilter/dev_status.lua b/package/ctcgfw/luci-app-appfilter/luasrc/model/cbi/appfilter/dev_status.lua deleted file mode 100644 index 55d3440c78..0000000000 --- a/package/ctcgfw/luci-app-appfilter/luasrc/model/cbi/appfilter/dev_status.lua +++ /dev/null @@ -1,24 +0,0 @@ - -local ds = require "luci.dispatcher" -local nxo = require "nixio" -local nfs = require "nixio.fs" -local ipc = require "luci.ip" -local sys = require "luci.sys" -local utl = require "luci.util" -local dsp = require "luci.dispatcher" -local uci = require "luci.model.uci" -local lng = require "luci.i18n" -local jsc = require "luci.jsonc" - -local m, s -arg[1] = arg[1] or "" -m = Map("appfilter", - translate("上网统计("..arg[1]..")"), - translate("")) - -local v -v=m:section(SimpleSection) -v.template="admin_network/dev_status" -v.mac=arg[1] -m.redirect = luci.dispatcher.build_url("admin", "network", "appfilter") -return m diff --git a/package/ctcgfw/luci-app-appfilter/luasrc/view/admin_network/dev_status.htm b/package/ctcgfw/luci-app-appfilter/luasrc/view/admin_network/dev_status.htm deleted file mode 100644 index 89a844865f..0000000000 --- a/package/ctcgfw/luci-app-appfilter/luasrc/view/admin_network/dev_status.htm +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - -
-
-
-
-
- - - - - - - - - - - - -
<%:App%><%:主机名%><%:mac地址%><%:开始时间%><%:访问时长%><%:过滤状态%>

<%:Collecting data...%>
- -
\ No newline at end of file diff --git a/package/ctcgfw/luci-app-appfilter/luasrc/view/admin_network/user_status.htm b/package/ctcgfw/luci-app-appfilter/luasrc/view/admin_network/user_status.htm deleted file mode 100644 index 7d178a482d..0000000000 --- a/package/ctcgfw/luci-app-appfilter/luasrc/view/admin_network/user_status.htm +++ /dev/null @@ -1,150 +0,0 @@ - - - - -
- <%:终端列表%> - - - - - - - - - - - -
<%:主机名%><%:mac地址%><%:ip地址%><%:常用APP(TOP5)%>

<%:Collecting data...%>
-
diff --git a/package/ctcgfw/luci-app-appfilter/luasrc/view/cbi/oaf_upload.htm b/package/ctcgfw/luci-app-appfilter/luasrc/view/cbi/oaf_upload.htm deleted file mode 100644 index 0fe8150f10..0000000000 --- a/package/ctcgfw/luci-app-appfilter/luasrc/view/cbi/oaf_upload.htm +++ /dev/null @@ -1,5 +0,0 @@ -<%+cbi/valueheader%> - - - -<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-appfilter/po/zh_Hans/appfilter.po b/package/ctcgfw/luci-app-appfilter/po/zh_Hans/appfilter.po deleted file mode 100644 index 3717faa1e4..0000000000 --- a/package/ctcgfw/luci-app-appfilter/po/zh_Hans/appfilter.po +++ /dev/null @@ -1,53 +0,0 @@ - -msgid "website" -msgstr "常用网站" - -msgid "appfilter" -msgstr "应用过滤" - -msgid "game" -msgstr "游戏" - -msgid "web" -msgstr "网页" - -msgid "video" -msgstr "视频" - -msgid "chat" -msgstr "聊天" - -msgid "download" -msgstr "下载" - -msgid "p2p" -msgstr "p2p" - -msgid "music" -msgstr "音乐" - -msgid "shopping" -msgstr "购物" - -msgid "working" -msgstr "办公" - -msgid "employee" -msgstr "招聘" - -msgid "Basic Settings" -msgstr "基本设置" - -msgid "App Filter Rules" -msgstr "应用过滤规则" - -msgid "Select at least one user, otherwise it will take effect for all users" -msgstr "至少选择一个用户,否则对所有用户生效" - -msgid "Select users" -msgstr "选择用户" - -msgid "Enable App Filter" -msgstr "开启应用过滤" - - diff --git a/package/ctcgfw/luci-app-appfilter/root/etc/uci-defaults/91_luci-oaf b/package/ctcgfw/luci-app-appfilter/root/etc/uci-defaults/91_luci-oaf deleted file mode 100755 index 2041cc3dfa..0000000000 --- a/package/ctcgfw/luci-app-appfilter/root/etc/uci-defaults/91_luci-oaf +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -# replace existing mwan ucitrack entry -uci -q batch <<-EOF >/dev/null - del ucitrack.@appfilter[-1] - add ucitrack appfilter - set ucitrack.@appfilter[-1].exec="/etc/init.d/appfilter reload" - commit ucitrack -EOF - -# remove LuCI cache -rm -rf /tmp/luci-indexcache /tmp/luci-modulecache - -exit 0 diff --git a/package/ctcgfw/luci-app-appfilter/root/etc/uci-defaults/92_add_user_section b/package/ctcgfw/luci-app-appfilter/root/etc/uci-defaults/92_add_user_section deleted file mode 100755 index cea403fbb2..0000000000 --- a/package/ctcgfw/luci-app-appfilter/root/etc/uci-defaults/92_add_user_section +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - set appfilter.user=user - appfilter.feature=feature - commit appfilter -EOF -exit 0 diff --git a/package/ctcgfw/luci-app-appfilter/root/usr/lib/lua/luci/tools/status.lua b/package/ctcgfw/luci-app-appfilter/root/usr/lib/lua/luci/tools/status.lua deleted file mode 100644 index 864b3ef6b6..0000000000 --- a/package/ctcgfw/luci-app-appfilter/root/usr/lib/lua/luci/tools/status.lua +++ /dev/null @@ -1,250 +0,0 @@ --- Copyright 2011 Jo-Philipp Wich --- Licensed to the public under the Apache License 2.0. - -module("luci.tools.status", package.seeall) - -local uci = require "luci.model.uci".cursor() -local ipc = require "luci.ip" - -local function dhcp_leases_common(family) - local rv = { } - local nfs = require "nixio.fs" - local sys = require "luci.sys" - local leasefile = "/tmp/dhcp.leases" - - uci:foreach("dhcp", "dnsmasq", - function(s) - if s.leasefile and nfs.access(s.leasefile) then - leasefile = s.leasefile - return false - end - end) - - local fd = io.open(leasefile, "r") - if fd then - while true do - local ln = fd:read("*l") - if not ln then - break - else - local ts, mac, ip, name, duid = ln:match("^(%d+) (%S+) (%S+) (%S+) (%S+)") - local expire = tonumber(ts) or 0 - if ts and mac and ip and name and duid then - if family == 4 and not ip:match(":") then - rv[#rv+1] = { - expires = (expire ~= 0) and os.difftime(expire, os.time()), - macaddr = ipc.checkmac(mac) or "00:00:00:00:00:00", - ipaddr = ip, - hostname = (name ~= "*") and name - } - elseif family == 6 and ip:match(":") then - rv[#rv+1] = { - expires = (expire ~= 0) and os.difftime(expire, os.time()), - ip6addr = ip, - duid = (duid ~= "*") and duid, - hostname = (name ~= "*") and name - } - end - end - end - end - fd:close() - end - - local lease6file = "/tmp/hosts/odhcpd" - uci:foreach("dhcp", "odhcpd", - function(t) - if t.leasefile and nfs.access(t.leasefile) then - lease6file = t.leasefile - return false - end - end) - local fd = io.open(lease6file, "r") - if fd then - while true do - local ln = fd:read("*l") - if not ln then - break - else - local iface, duid, iaid, name, ts, id, length, ip = ln:match("^# (%S+) (%S+) (%S+) (%S+) (-?%d+) (%S+) (%S+) (.*)") - local expire = tonumber(ts) or 0 - if ip and iaid ~= "ipv4" and family == 6 then - rv[#rv+1] = { - expires = (expire >= 0) and os.difftime(expire, os.time()), - duid = duid, - ip6addr = ip, - hostname = (name ~= "-") and name - } - elseif ip and iaid == "ipv4" and family == 4 then - rv[#rv+1] = { - expires = (expire >= 0) and os.difftime(expire, os.time()), - macaddr = sys.net.duid_to_mac(duid) or "00:00:00:00:00:00", - ipaddr = ip, - hostname = (name ~= "-") and name - } - end - end - end - fd:close() - end - - if family == 6 then - local _, lease - local hosts = sys.net.host_hints() - for _, lease in ipairs(rv) do - local mac = sys.net.duid_to_mac(lease.duid) - local host = mac and hosts[mac] - if host then - if not lease.name then - lease.host_hint = host.name or host.ipv4 or host.ipv6 - elseif host.name and lease.hostname ~= host.name then - lease.host_hint = host.name - end - end - end - end - - return rv -end - -function dhcp_leases() - return dhcp_leases_common(4) -end - -function dhcp6_leases() - return dhcp_leases_common(6) -end - -function wifi_networks() - local rv = { } - local ntm = require "luci.model.network".init() - - local dev - for _, dev in ipairs(ntm:get_wifidevs()) do - local rd = { - up = dev:is_up(), - device = dev:name(), - name = dev:get_i18n(), - networks = { } - } - - local net - for _, net in ipairs(dev:get_wifinets()) do - local a, an = nil, 0 - for _, a in pairs(net:assoclist() or {}) do - an = an + 1 - end - - rd.networks[#rd.networks+1] = { - name = net:shortname(), - link = net:adminlink(), - up = net:is_up(), - mode = net:active_mode(), - ssid = net:active_ssid(), - bssid = net:active_bssid(), - encryption = net:active_encryption(), - frequency = net:frequency(), - channel = net:channel(), - signal = net:signal(), - quality = net:signal_percent(), - noise = net:noise(), - bitrate = net:bitrate(), - ifname = net:ifname(), - country = net:country(), - txpower = net:txpower(), - txpoweroff = net:txpower_offset(), - num_assoc = an, - disabled = (dev:get("disabled") == "1" or - net:get("disabled") == "1") - } - end - - rv[#rv+1] = rd - end - - return rv -end - -function wifi_network(id) - local ntm = require "luci.model.network".init() - local net = ntm:get_wifinet(id) - if net then - local dev = net:get_device() - if dev then - return { - id = id, - name = net:shortname(), - link = net:adminlink(), - up = net:is_up(), - mode = net:active_mode(), - ssid = net:active_ssid(), - bssid = net:active_bssid(), - encryption = net:active_encryption(), - frequency = net:frequency(), - channel = net:channel(), - signal = net:signal(), - quality = net:signal_percent(), - noise = net:noise(), - bitrate = net:bitrate(), - ifname = net:ifname(), - country = net:country(), - txpower = net:txpower(), - txpoweroff = net:txpower_offset(), - disabled = (dev:get("disabled") == "1" or - net:get("disabled") == "1"), - device = { - up = dev:is_up(), - device = dev:name(), - name = dev:get_i18n() - } - } - end - end - return { } -end - -function wifi_assoclist() - local sys = require "luci.sys" - local ntm = require "luci.model.network".init() - local hosts = sys.net.host_hints() - - local assoc = {} - local _, dev, net, bss - - for _, dev in ipairs(ntm:get_wifidevs()) do - local radioname = dev:get_i18n() - - for _, net in ipairs(dev:get_wifinets()) do - local netname = net:shortname() - local netlink = net:adminlink() - local ifname = net:ifname() - - for _, bss in pairs(net:assoclist() or {}) do - local host = hosts[_] - - bss.bssid = _ - bss.ifname = ifname - bss.radio = radioname - bss.name = netname - bss.link = netlink - - bss.host_name = (host) and (host.name or host.ipv4 or host.ipv6) - bss.host_hint = (host and host.name and (host.ipv4 or host.ipv6)) and (host.ipv4 or host.ipv6) - - assoc[#assoc+1] = bss - end - end - end - - table.sort(assoc, function(a, b) - if a.radio ~= b.radio then - return a.radio < b.radio - elseif a.ifname ~= b.ifname then - return a.ifname < b.ifname - else - return a.bssid < b.bssid - end - end) - - return assoc -end \ No newline at end of file diff --git a/package/ctcgfw/luci-app-appfilter/root/usr/share/rpcd/acl.d/luci-app-appfilter.json b/package/ctcgfw/luci-app-appfilter/root/usr/share/rpcd/acl.d/luci-app-appfilter.json deleted file mode 100644 index 9900d4caeb..0000000000 --- a/package/ctcgfw/luci-app-appfilter/root/usr/share/rpcd/acl.d/luci-app-appfilter.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-appfilter": { - "description": "Grant UCI access for luci-app-appfilter", - "read": { - "uci": [ "appfilter" ] - }, - "write": { - "uci": [ "appfilter" ] - } - } -} diff --git a/package/ctcgfw/luci-app-argon-config/Makefile b/package/ctcgfw/luci-app-argon-config/Makefile deleted file mode 100644 index 399023a056..0000000000 --- a/package/ctcgfw/luci-app-argon-config/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -# -# Copyright (C) 2008-2014 The LuCI Team -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-argon-config -PKG_VERSION:=0.9 -PKG_RELEASE:=20210309 - -LUCI_TITLE:=LuCI page for Argon Config -LUCI_DEPENDS:=+luci-theme-argon -LUCI_PKGARCH:=all - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-argon-config/luasrc/controller/argon-config.lua b/package/ctcgfw/luci-app-argon-config/luasrc/controller/argon-config.lua deleted file mode 100644 index 9bd2894fd5..0000000000 --- a/package/ctcgfw/luci-app-argon-config/luasrc/controller/argon-config.lua +++ /dev/null @@ -1,15 +0,0 @@ ---[[ -luci-app-argon-config -]]-- - -module("luci.controller.argon-config", package.seeall) - -function index() - if not nixio.fs.access('/etc/config/argon') then - return - end - - local page - page = entry({"admin", "system", "argon-config"}, form("argon-config/configuration"), _("Argon Config"), 90) - page.acl_depends = { "luci-app-argon-config" } -end diff --git a/package/ctcgfw/luci-app-argon-config/luasrc/model/cbi/argon-config/configuration.lua b/package/ctcgfw/luci-app-argon-config/luasrc/model/cbi/argon-config/configuration.lua deleted file mode 100644 index f1f0ec7f62..0000000000 --- a/package/ctcgfw/luci-app-argon-config/luasrc/model/cbi/argon-config/configuration.lua +++ /dev/null @@ -1,223 +0,0 @@ -local nxfs = require 'nixio.fs' -local wa = require 'luci.tools.webadmin' -local opkg = require 'luci.model.ipkg' -local sys = require 'luci.sys' -local http = require 'luci.http' -local nutil = require 'nixio.util' -local name = 'argon' -local uci = require 'luci.model.uci'.cursor() - -local fstat = nxfs.statvfs(opkg.overlay_root()) -local space_total = fstat and fstat.blocks or 0 -local space_free = fstat and fstat.bfree or 0 -local space_used = space_total - space_free - -local free_byte = space_free * fstat.frsize - -local primary, dark_primary, blur_radius, blur_radius_dark, blur_opacity, mode -if nxfs.access('/etc/config/argon') then - primary = uci:get_first('argon', 'global', 'primary') - dark_primary = uci:get_first('argon', 'global', 'dark_primary') - blur_radius = uci:get_first('argon', 'global', 'blur') - blur_radius_dark = uci:get_first('argon', 'global', 'blur_dark') - blur_opacity = uci:get_first('argon', 'global', 'transparency') - blur_opacity_dark = uci:get_first('argon', 'global', 'transparency_dark') - mode = uci:get_first('argon', 'global', 'mode') - bing_background = uci:get_first('argon', 'global', 'bing_background') -end - -function glob(...) - local iter, code, msg = nxfs.glob(...) - if iter then - return nutil.consume(iter) - else - return nil, code, msg - end -end - -local transparency_sets = { - 0, - 0.1, - 0.2, - 0.3, - 0.4, - 0.5, - 0.6, - 0.7, - 0.8, - 0.9, - 1 -} - --- [[ 模糊设置 ]]-- -br = SimpleForm('config', translate('Argon Config'), translate('Here you can set the blur and transparency of the login page of argon theme, and manage the background pictures and videos.[Chrome is recommended]')) -br.reset = false -br.submit = false -s = br:section(SimpleSection) - -o = s:option(ListValue, 'bing_background', translate('Wallpaper Source')) -o:value('0', translate('Built-in')) -o:value('1', translate('Bing Wallpapers')) -o.default = bing_background -o.rmempty = false - -o = s:option(ListValue, 'mode', translate('Theme mode')) -o:value('normal', translate('Follow System')) -o:value('light', translate('Force Light')) -o:value('dark', translate('Force Dark')) -o.default = mode -o.rmempty = false -o.description = translate('You can choose Theme color mode here') - -o = s:option(Value, 'primary', translate('[Light mode] Primary Color'), translate('A HEX Color ; ( Default: #5e72e4 )')) -o.default = primary -o.datatype = ufloat -o.rmempty = false - - - -o = s:option(ListValue, 'transparency', translate('[Light mode] Transparency'), translate('0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent preset: 0.5 )')) -for _, v in ipairs(transparency_sets) do - o:value(v) -end -o.default = blur_opacity -o.datatype = ufloat -o.rmempty = false - -o = s:option(Value, 'blur', translate('[Light mode] Frosted Glass Radius'), translate('Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )')) -o.default = blur_radius -o.datatype = ufloat -o.rmempty = false - -o = s:option(Value, 'dark_primary', translate('[Dark mode] Primary Color'), translate('A HEX Color ; ( Default: #483d8b )')) -o.default = dark_primary -o.datatype = ufloat -o.rmempty = false - -o = s:option(ListValue, 'transparency_dark', translate('[Dark mode] Transparency'), translate('0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )')) -for _, v in ipairs(transparency_sets) do - o:value(v) -end -o.default = blur_opacity_dark -o.datatype = ufloat -o.rmempty = false - -o = s:option(Value, 'blur_dark', translate('[Dark mode] Frosted Glass Radius'), translate('Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )')) -o.default = blur_radius_dark -o.datatype = ufloat -o.rmempty = false - -o = s:option(Button, 'save', translate('Save Changes')) -o.inputstyle = 'reload' - -function br.handle(self, state, data) - if (state == FORM_VALID and data.blur ~= nil and data.blur_dark ~= nil and data.transparency ~= nil and data.transparency_dark ~= nil and data.mode ~= nil) then - nxfs.writefile('/tmp/aaa', data) - for key, value in pairs(data) do - uci:set('argon','@global[0]',key,value) - end - uci:commit('argon') - end - return true -end - -ful = SimpleForm('upload', translate('Upload (Free: ') .. wa.byte_format(free_byte) .. ')', translate("You can upload files such as jpg,png,gif,mp4 files, To change the login page background.")) -ful.reset = false -ful.submit = false - -sul = ful:section(SimpleSection, '', translate("Upload file to '/www/luci-static/argon/background/'")) -fu = sul:option(FileUpload, '') -fu.template = 'argon-config/other_upload' -um = sul:option(DummyValue, '', nil) -um.template = 'argon-config/other_dvalue' - -local dir, fd -dir = '/www/luci-static/argon/background/' -nxfs.mkdir(dir) -http.setfilehandler( - function(meta, chunk, eof) - if not fd then - if not meta then - return - end - - if meta and chunk then - fd = nixio.open(dir .. meta.file, 'w') - end - - if not fd then - um.value = translate('Create upload file error.') - return - end - end - if chunk and fd then - fd:write(chunk) - end - if eof and fd then - fd:close() - fd = nil - um.value = translate('File saved to') .. ' "/www/luci-static/argon/background/' .. meta.file .. '"' - end - end -) - -if http.formvalue('upload') then - local f = http.formvalue('ulfile') - if #f <= 0 then - um.value = translate('No specify upload file.') - end -end - -local function getSizeStr(size) - local i = 0 - local byteUnits = {' kB', ' MB', ' GB', ' TB'} - repeat - size = size / 1024 - i = i + 1 - until (size <= 1024) - return string.format('%.1f', size) .. byteUnits[i] -end - -local inits, attr = {} -for i, f in ipairs(glob(dir .. '*')) do - attr = nxfs.stat(f) - if attr then - inits[i] = {} - inits[i].name = nxfs.basename(f) - inits[i].mtime = os.date('%Y-%m-%d %H:%M:%S', attr.mtime) - inits[i].modestr = attr.modestr - inits[i].size = getSizeStr(attr.size) - inits[i].remove = 0 - inits[i].install = false - end -end - -form = SimpleForm('filelist', translate('Background file list'), nil) -form.reset = false -form.submit = false - -tb = form:section(Table, inits) -nm = tb:option(DummyValue, 'name', translate('File name')) -mt = tb:option(DummyValue, 'mtime', translate('Modify time')) -sz = tb:option(DummyValue, 'size', translate('Size')) -btnrm = tb:option(Button, 'remove', translate('Remove')) -btnrm.render = function(self, section, scope) - self.inputstyle = 'remove' - Button.render(self, section, scope) -end - -btnrm.write = function(self, section) - local v = nxfs.unlink(dir .. nxfs.basename(inits[section].name)) - if v then - table.remove(inits, section) - end - return v -end - -function IsIpkFile(name) - name = name or '' - local ext = string.lower(string.sub(name, -4, -1)) - return ext == '.ipk' -end - -return br, ful, form diff --git a/package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_button.htm b/package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_button.htm deleted file mode 100644 index 1c391ad984..0000000000 --- a/package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_button.htm +++ /dev/null @@ -1,7 +0,0 @@ -<%+cbi/valueheader%> - <% if self:cfgvalue(section) ~= false then %> - " style="display: <%= display %>" type="submit"<%= attr("name", cbid) .. attr("id", cbid) .. attr("value", self.inputtitle or self.title)%> /> - <% else %> - - - <% end %> -<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_dvalue.htm b/package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_dvalue.htm deleted file mode 100644 index 296c61e4d6..0000000000 --- a/package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_dvalue.htm +++ /dev/null @@ -1,8 +0,0 @@ -<%+cbi/valueheader%> - -<% - local val = self:cfgvalue(section) or self.default or "" - write(pcdata(val)) -%> - -<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm b/package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm deleted file mode 100644 index ceb518ee7e..0000000000 --- a/package/ctcgfw/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm +++ /dev/null @@ -1,5 +0,0 @@ -<%+cbi/valueheader%> - - - -<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-argon-config/po/zh_Hans/argon-config.po b/package/ctcgfw/luci-app-argon-config/po/zh_Hans/argon-config.po deleted file mode 100644 index 1d25348e5f..0000000000 --- a/package/ctcgfw/luci-app-argon-config/po/zh_Hans/argon-config.po +++ /dev/null @@ -1,133 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: dingpengyu \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"X-Generator: Poedit 2.3.1\n" - -msgid "Argon Config" -msgstr "Argon 主题设置" - -msgid "Here you can set the blur and transparency of the login page of argon theme, and manage the background pictures and videos.[Chrome is recommended]" -msgstr "在这里你可以设置argon 主题的登录页面的模糊和透明度,并管理背景图片与视频。[建议使用 Chrome]" - -msgid "Wallpaper Source" -msgstr "壁纸来源" - -msgid "Built-in" -msgstr "内建" - -msgid "Bing Wallpapers" -msgstr "Bing 壁纸" - -msgid "Theme mode" -msgstr "主题模式" - -msgid "Follow System" -msgstr "跟随系统" - -msgid "Force Light" -msgstr "强制亮色" - -msgid "Force Dark" -msgstr "强制暗色" - -msgid "You can choose Theme color mode here" -msgstr "你可以选择喜欢的主题模式" - -msgid "[Light mode] Primary Color" -msgstr "[亮色模式] 主色调" - -msgid "[Dark mode] Primary Color" -msgstr "[暗色模式] 主色调" - -msgid "A HEX Color ; ( Default: #5e72e4 )" -msgstr "十六进制颜色值 ( 预设为:#5e72e4 )" - -msgid "A HEX Color ; ( Default: #483d8b )" -msgstr "十六进制颜色值 ( 预设为:#483d8b )" - -msgid "[Light mode] Transparency" -msgstr "[亮色模式] 透明度" - -msgid "[Light mode] Transparency" -msgstr "[亮色模式] 透明度" - -msgid "[Dark mode] Transparency" -msgstr "[暗色模式] 透明度" - -msgid "0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent preset: 0.5 )" -msgstr "0最透明 - 1不透明 ; ( 建议: 透明 0 或 半透明预设 0.5 )" - -msgid "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" -msgstr "0最透明 - 1不透明 ; ( 建议: 黑色半透明 0.5 )" - -msgid "[Light mode] Frosted Glass Radius" -msgstr "[亮色模式] 毛玻璃模糊半径" - -msgid "[Dark mode] Frosted Glass Radius" -msgstr "[暗色模式] 毛玻璃模糊半径" - -msgid "Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" -msgstr "值越大越模糊; ( 建议: 清透 1 或 模糊预设 10 )" - -msgid "You can upload files such as jpg,png,gif,mp4 files, To change the login page background." -msgstr "你可以上传jpg、png、gif或mp4文件,以创建自己喜欢的登录界面" - -msgid "Save Changes" -msgstr "保存更改" - -msgid "Choose local file:" -msgstr "选择本地文件:" - -msgid "Couldn't open file:" -msgstr "无法打开文件:" - -msgid "Create upload file error." -msgstr "创建上传文件失败。" - - -msgid "File name" -msgstr "文件名" - -msgid "File saved to" -msgstr "文件保存到" - -msgid "FileTransfer" -msgstr "文件传输" - -msgid "Install" -msgstr "安装" - -msgid "Attributes" -msgstr "属性" - -msgid "Modify time" -msgstr "修改时间" - -msgid "No specify upload file." -msgstr "未指定上传文件。" - -msgid "Path on Route:" -msgstr "路由根目录:" - -msgid "Remove" -msgstr "移除" - -msgid "Size" -msgstr "大小" - -msgid "Upload (Free:" -msgstr "上传 (剩余空间:" - -msgid "Background file list" -msgstr "背景文件列表" - -msgid "Upload file to '/www/luci-static/argon/background/'" -msgstr "文件将上传到'/www/luci-static/argon/background/'" diff --git a/package/ctcgfw/luci-app-argon-config/root/etc/config/argon b/package/ctcgfw/luci-app-argon-config/root/etc/config/argon deleted file mode 100644 index fb7f35d9c7..0000000000 --- a/package/ctcgfw/luci-app-argon-config/root/etc/config/argon +++ /dev/null @@ -1,9 +0,0 @@ -config global - option primary '#5e72e4' - option dark_primary '#483d8b' - option blur '10' - option blur_dark '10' - option transparency '0.5' - option transparency_dark '0.5' - option mode 'normal' - option bing_background '0' diff --git a/package/ctcgfw/luci-app-argon-config/root/etc/uci-defaults/luci-argon-config b/package/ctcgfw/luci-app-argon-config/root/etc/uci-defaults/luci-argon-config deleted file mode 100644 index 935d7c8be5..0000000000 --- a/package/ctcgfw/luci-app-argon-config/root/etc/uci-defaults/luci-argon-config +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -sed -i 's/cbi.submit\"] = true/cbi.submit\"] = \"1\"/g' /usr/lib/lua/luci/dispatcher.lua - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json b/package/ctcgfw/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json deleted file mode 100644 index f6e7e7d6f5..0000000000 --- a/package/ctcgfw/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-argon-config": { - "description": "Grant UCI access for luci-app-argon-config", - "read": { - "uci": [ "argon" ] - }, - "write": { - "uci": [ "argon" ] - } - } -} diff --git a/package/ctcgfw/luci-app-autoipsetadder/Makefile b/package/ctcgfw/luci-app-autoipsetadder/Makefile deleted file mode 100644 index 47dd1b24f8..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright (C) 2018-2019 Lienol -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-autoipsetadder -PKG_VERSION:=1.0 -PKG_RELEASE:=7 - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) - -include $(INCLUDE_DIR)/package.mk - -define Package/luci-app-autoipsetadder - SECTION:=luci - CATEGORY:=LuCI - SUBMENU:=3. Applications - TITLE:=LuCI Support for autoipsetadder - PKGARCH:=all - DEPENDS:= +httping +curl +coreutils-stdbuf -endef - -define Package/luci-app-autoipsetadder/description - LuCI support for autoipsetadder -endef - -define Build/Prepare -endef - -define Build/Compile -endef - -define Package/luci-app-autoipsetadder/conffiles -/etc/config/autoipsetadder -endef - -define Package/luci-app-autoipsetadder/install - $(INSTALL_DIR) $(1)/usr/lib/lua/luci - cp -pR ./luasrc/* $(1)/usr/lib/lua/luci - $(INSTALL_DIR) $(1)/ - cp -pR ./root/* $(1)/ -endef - -define Package/luci-app-autoipsetadder/postinst -#!/bin/sh - /etc/init.d/autoipsetadder enable >/dev/null 2>&1 - /etc/init.d/autoipsetadder start - rm -f /tmp/luci-indexcache - rm -f /tmp/luci-modulecache/* -exit 0 -endef - -define Package/luci-app-autoipsetadder/prerm -#!/bin/sh -if [ -z "$${IPKG_INSTROOT}" ]; then - /etc/init.d/autoipsetadder disable - /etc/init.d/autoipsetadder stop -fi -exit 0 -endef - -$(eval $(call BuildPackage,luci-app-autoipsetadder)) diff --git a/package/ctcgfw/luci-app-autoipsetadder/luasrc/controller/autoipsetadder.lua b/package/ctcgfw/luci-app-autoipsetadder/luasrc/controller/autoipsetadder.lua deleted file mode 100644 index 6e88056d50..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/luasrc/controller/autoipsetadder.lua +++ /dev/null @@ -1,56 +0,0 @@ -module("luci.controller.autoipsetadder",package.seeall) -local io = require "io" -local fs=require"nixio.fs" -local sys=require"luci.sys" -local uci=require"luci.model.uci".cursor() -function index() - entry({"admin","services","autoipsetadder"},firstchild(),_("autoipsetadder"),30).dependent=true - entry({"admin","services","autoipsetadder","autoipsetadder"},cbi("autoipsetadder"),_("Base Setting"),1) - entry({"admin","services","autoipsetadder","status"},call("act_status")).leaf=true - entry({"admin", "services", "autoipsetadder", "getlog"}, call("get_log")) - entry({"admin", "services", "autoipsetadder", "dodellog"}, call("do_del_log")) - entry({"admin", "services", "autoipsetadder", "debugip"}, call("do_debug_ip")) -end - -function act_status() - local e={} - e.running=luci.sys.call("pgrep -f /usr/bin/autoipsetadder/autoaddlist.sh >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end -function do_del_log() -local logfile=uci:get("autoipsetadder","autoipsetadder","logfile") or "/tmp/addlist.log" -nixio.fs.writefile(logfile,"") -luci.http.prepare_content("application/json") -luci.http.write('') -end -function do_debug_ip() -luci.http.prepare_content("text/plain; charset=utf-8") -local a=sys.exec("/usr/bin/autoipsetadder/debugip.sh") -if (a=="") then -a="noproblem" -end -luci.http.write(a) -end -function get_log() - local logfile,fdp - logfile=uci:get("autoipsetadder","autoipsetadder","logfile") or "/tmp/addlist.log" - luci.http.prepare_content("text/plain; charset=utf-8") - if not fs.access(logfile) then - luci.http.write("") - return - end - if fs.access("/var/run/lucilogreload") then - fdp=0 - fs.remove("/var/run/lucilogreload") - else - fdp=tonumber(fs.readfile("/var/run/lucilogpos")) or 0 - end - local f=io.open(logfile, "r+") - f:seek("set",fdp) - local a=f:read(2048000) or "" - fdp=f:seek() - fs.writefile("/var/run/lucilogpos",tostring(fdp)) - f:close() - luci.http.write(a) -end \ No newline at end of file diff --git a/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua b/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua deleted file mode 100644 index 8e55be0a2a..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua +++ /dev/null @@ -1,97 +0,0 @@ -require("luci.sys") -require("luci.util") -local fs=require"nixio.fs" -local uci=require"luci.model.uci".cursor() -local m,s,o -m = Map("autoipsetadder", translate("ipsetautoadder")) -m.description = translate("自动将联不通的域名加入ipset") -m:section(SimpleSection).template = "autoipsetadder/status" - -s = m:section(TypedSection, "autoipsetadder") -s.anonymous=true -s.addremove=false ----- enable -o = s:option(Flag, "enabled", translate("启用")) -o.default = 0 -o.rmempty = false ----- logview -o=s:option(TextValue, "show", "日志") -o.template = "autoipsetadder/check" ----- logpath -o = s:option(Value, "logfile", translate("Runtime log file")) -o.datatype = "string" -o.default="/tmp/addlist.log" -o.optional = false -o.validate=function(self, value) -if fs.stat(value,"type")=="dir" then - fs.rmdir(value) -end -if fs.stat(value,"type")=="dir" then - if m.message then - m.message =m.message.."\nerror!log file is a dir" - else - m.message ="error!log file is a dir" - end - return nil -end -return value -end ----- dnsmasq log -o = s:option(Value, "dnslogfile", translate("dnsmasq log file")) -o.datatype = "string" -o.optional = false -o.default="/tmp/dnsmasq.log" -o.validate=function(self, value) -if fs.stat(value,"type")=="dir" then - fs.rmdir(value) -end -if fs.stat(value,"type")=="dir" then - if m.message then - m.message =m.message.."\nerror!log file is a dir" - else - m.message ="error!log file is a dir" - end - return nil -end -return value -end ----- crontab -o = s:option(MultiValue, "crontab", translate("Crontab task"),translate("Please change time and args in crontab")) -o:value("autodeldnslog",translate("Auto del dnsmasq log")) -o:value("autotaillog",translate("Auto tail runtime log")) -o.widget = "checkbox" -o.default = "autodeldnslog autotaillog" -o.rmempty= true - -o = s:option(MultiValue, "config", translate("the way add to gfwlist")) -o:value("nochina",translate("no china ip")) -o:value("pingadd",translate("5ping loss1-4")) -o:value("packetpass",translate("packet >12 pass")) -o.widget = "checkbox" -o.default = "nochina pingadd packetpass" -o.rmempty=true ----- apply -nixio.fs.writefile("/var/run/lucilogreload","") -function m.on_commit(map) - local ucitracktest=uci:get("autoipsetadder","autoipsetadder","ucitracktest") - if ucitracktest=="1" then - return - elseif ucitracktest=="0" then - io.popen("/etc/init.d/autoipsetadder reload &") - else - if (fs.access("/var/run/AdGucitest")) then - uci:set("autoipsetadder","autoipsetadder","ucitracktest","0") - io.popen("/etc/init.d/autoipsetadder reload &") - else - fs.writefile("/var/run/AdGucitest","") - if (ucitracktest=="2") then - uci:set("autoipsetadder","autoipsetadder","ucitracktest","1") - else - uci:set("autoipsetadder","autoipsetadder","ucitracktest","2") - end - end - uci:save("autoipsetadder") - uci:commit("autoipsetadder") - end -end -return m diff --git a/package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/check.htm b/package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/check.htm deleted file mode 100644 index 651d93d46f..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/check.htm +++ /dev/null @@ -1,62 +0,0 @@ -<%+cbi/valueheader%> -<%uci=require"luci.model.uci".cursor()%> -<%nixio=require"nixio"%> - -<%if uci:get("autoipsetadder","autoipsetadder","enabled")=="1" then%> - -<%:reverse%> - - - - - - - -<%end%> -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/status.htm b/package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/status.htm deleted file mode 100644 index b9f123d6f1..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/status.htm +++ /dev/null @@ -1,22 +0,0 @@ - - -
-

- <%:Collecting data...%> -

-
\ No newline at end of file diff --git a/package/ctcgfw/luci-app-autoipsetadder/po/zh_Hans/autoipsetadder.po b/package/ctcgfw/luci-app-autoipsetadder/po/zh_Hans/autoipsetadder.po deleted file mode 100644 index a39133f3eb..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/po/zh_Hans/autoipsetadder.po +++ /dev/null @@ -1,85 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh_Hans\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:68 -msgid "5ping loss1-4" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:60 -msgid "Auto del dnsmasq log" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:61 -msgid "Auto tail runtime log" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/controller/autoipsetadder.lua:8 -msgid "Base Setting" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/status.htm:20 -msgid "Collecting data..." -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:59 -msgid "Crontab task" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/status.htm:10 -msgid "NOT RUNNING" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:59 -msgid "Please change time and args in crontab" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/status.htm:7 -msgid "RUNNING" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:21 -msgid "Runtime log file" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/controller/autoipsetadder.lua:7 -msgid "autoipsetadder" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:40 -msgid "dnsmasq log file" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:6 -msgid "ipsetautoadder" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:67 -msgid "no china ip" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:69 -msgid "packet >12 pass" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/view/autoipsetadder/check.htm:7 -msgid "reverse" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:66 -msgid "the way add to gfwlist" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:14 -msgid "启用" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-autoipsetadder/luasrc/model/cbi/autoipsetadder.lua:7 -msgid "自动将联不通的域名加入ipset" -msgstr "" diff --git a/package/ctcgfw/luci-app-autoipsetadder/root/etc/config/autoipsetadder b/package/ctcgfw/luci-app-autoipsetadder/root/etc/config/autoipsetadder deleted file mode 100644 index 5110d5260b..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/root/etc/config/autoipsetadder +++ /dev/null @@ -1,2 +0,0 @@ -config autoipsetadder 'autoipsetadder' - option enabled '0' diff --git a/package/ctcgfw/luci-app-autoipsetadder/root/etc/init.d/autoipsetadder b/package/ctcgfw/luci-app-autoipsetadder/root/etc/init.d/autoipsetadder deleted file mode 100755 index 538c173a57..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/root/etc/init.d/autoipsetadder +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/sh /etc/rc.common - -USE_PROCD=1 - -START=99 -STOP=01 - -extra_command "test_crontab" "test_crontab" - -CRON_FILE=/etc/crontabs/root -CONFIGURATION=autoipsetadder - -set_dnsmasq_log() -{ - sed -i '/log-facility/d' /etc/dnsmasq.conf - sed -i '/log-queries/d' /etc/dnsmasq.conf - uci set dhcp.@dnsmasq[0].logfacility='/tmp/dnsmasq.log' - uci delete dhcp.@dnsmasq[0].logqueries - echo log-queries >> /etc/dnsmasq.conf - uci commit dhcp - /etc/init.d/dnsmasq reload -} - -stop_dnsmasq_log() -{ - sed -i '/log-queries/d' /etc/dnsmasq.conf - uci delete dhcp.@dnsmasq[0].logfacility - uci commit dhcp - /etc/init.d/dnsmasq reload -} - -reload_service() -{ - rm -f /var/run/AdGucitest 2>/dev/null - kill $(cat /var/run/autoipsetadder.pid) - start -} -service_triggers() { - procd_add_reload_trigger "$CONFIGURATION" -} -start_service() { - # Reading config - config_load "${CONFIGURATION}" - mkdir -p /tmp/run/autoipsetadder - local enabled - config_get_bool enabled $CONFIGURATION enabled 0 - do_crontab - if [ "$enabled" == "1" ]; then - set_dnsmasq_log - procd_open_instance - procd_set_param respawn - # pass config to script on start - procd_set_param command sh /usr/bin/autoipsetadder/autoaddlist.sh - procd_close_instance - echo "autoipsetadder turn on" - echo "enabled=$enabled" - else - stop_dnsmasq_log - echo "autoipsetadder turn off" - echo "enabled=$enabled" - fi -} - -stop_service() -{ - config_load "${CONFIGURATION}" - stop_dnsmasq_log - do_crontab - kill $(cat /var/run/autoipsetadder.pid) - echo "autoipsetadder turn off" - echo "enabled="$enabled"" -} -do_crontab(){ - config_get_bool enabled $CONFIGURATION enabled 0 - #config_get logfile $CONFIGURATION logfile "/tmp/addlist.log" - #config_get dnslogfile $CONFIGURATION dnslogfile "/tmp/dnsmasq.log" - config_get crontab $CONFIGURATION crontab "" - cronreload=0 - findstr="echo qingkong > \$(uci get autoipsetadder.autoipsetadder.dnslogfile)" - default="0 * * * * echo qingkong > \$(uci get autoipsetadder.autoipsetadder.dnslogfile)" - #[ -n "$lastdnslogfile" ] && findstr="echo qingkong > $lastdnslogfile" && [ "$lastdnslogfile" != "$dnslogfile" ] && replace="${lastdnslogfile//\//\\/}/${dnslogfile//\//\\/}" - [ "$enabled" == "0" ] || [ "${crontab//autodeldnslog/}" == "$crontab" ] && cronenable=0 || cronenable=1 - crontab_editor - #[ "$lastdnslogfile" != "$dnslogfile" ] && uci set autoipsetadder.autoipsetadder.lastdnslogfile="$dnslogfile" && commit=1 - - findstr="/usr/bin/autoipsetadder/tailto.sh [0-9]* \$(uci get autoipsetadder.autoipsetadder.logfile)" - default="0 0 * * * /usr/bin/autoipsetadder/tailto.sh 2000 \$(uci get autoipsetadder.autoipsetadder.logfile)" - #[ -n "$lastlogfile" ] && findstr="/usr/bin/autoipsetadder/tailto.sh [0-9]* $lastlogfile" && [ "$lastlogfile" != "$logfile" ] && replace="${lastlogfile//\//\\/}/${logfile//\//\\/}" - [ "$enabled" == "0" ] || [ "${crontab//autotaillog/}" == "$crontab" ] && cronenable=0 || cronenable=1 - crontab_editor - #[ -n "$logfile" ] && [ "$lastlogfile" != "$logfile" ] && uci set autoipsetadder.autoipsetadder.lastlogfile="$logfile" && commit=1 - - [ "$cronreload" -gt 0 ] && /etc/init.d/cron restart - #[ "$commit" -gt 0 ] && uci commit autoipsetadder -} -crontab_editor(){ - local testline reload - local line="$(grep "$findstr" $CRON_FILE)" - [ -n "$replace" ] && [ -n "$line" ] && eval testline="\${line//$replace}" && [ "$testline" != "$line" ] && line="$testline" && reload="1" && replace="" - if [ "${line:0:1}" != "#" ]; then - if [ $cronenable -eq 1 ]; then - [ -z "$line" ] && line="$default" && reload="1" - if [ -n "$reload" ]; then - sed -i "\,$findstr,d" $CRON_FILE - echo "$line" >> $CRON_FILE - cronreload=$((cronreload+1)) - fi - elif [ -n "$line" ]; then - sed -i "\,$findstr,d" $CRON_FILE - echo "#$line" >> $CRON_FILE - cronreload=$((cronreload+1)) - fi - else - if [ $cronenable -eq 1 ]; then - sed -i "\,$findstr,d" $CRON_FILE - echo "${line:1}" >> $CRON_FILE - cronreload=$((cronreload+1)) - elif [ -z "$reload" ]; then - sed -i "\,$findstr,d" $CRON_FILE - echo "$line" >> $CRON_FILE - fi - fi -} -test_crontab(){ -config_load "${CONFIGURATION}" -do_crontab -} diff --git a/package/ctcgfw/luci-app-autoipsetadder/root/etc/uci-defaults/40_luci-autoipsetadder b/package/ctcgfw/luci-app-autoipsetadder/root/etc/uci-defaults/40_luci-autoipsetadder deleted file mode 100755 index d1a8ee4577..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/root/etc/uci-defaults/40_luci-autoipsetadder +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@autoipsetadder[-1] - add ucitrack autoipsetadder - set ucitrack.@autoipsetadder[-1].init=autoipsetadder - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/autoaddlist.sh b/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/autoaddlist.sh deleted file mode 100755 index b6d8113b17..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/autoaddlist.sh +++ /dev/null @@ -1,164 +0,0 @@ -#!/bin/sh -PATH="/usr/sbin:/usr/bin:/sbin:/bin" -logfile=$(uci get autoipsetadder.autoipsetadder.logfile) -[ -z "$logfile" ] && logfile="/tmp/addlist.log" -dnslogfile=$(uci get autoipsetadder.autoipsetadder.dnslogfile) -[ -z "$logfile" ] && dnslogfile="/tmp/dnsmasq.log" -config=$(uci get autoipsetadder.autoipsetadder.config 2>/dev/null) -[ "${config//nochina/}" == "$config" ] && nochina="0" || nochina="1" -[ "${config//packetpass/}" == "$config" ] && packetpass="0" || packetpass="1" -(tail -F $dnslogfile & echo $! >/var/run/autoipsetadder.pid ) | awk -v nochina="$nochina" -v packetpass="$packetpass" -F "[, ]+" '/reply/{ -ip=$8; -if (ip=="" || ip=="127.0.0.1"|| ip=="0.0.0.0") -{ -next; -} -if (index(ip,"")!=0) -{ -if (cname==1) -{ - next; -} -cname=1; -domain=$6; -#第一次cname时锁定域名,防止解析cname对其改动 -next; -} -#以上获得上行是否为cname,本行不是cname执行以下内容 -#lastdomain记录上次非cname的域名,与本次域名对比 -if(lastdomain!=$6){ - for (ipindex in ipcache) - { - delete ipcache[ipindex]; - } - ipcount=0; - createpid=1; -#上行非cname,并且不是同cname解析域名的多个ip,更新域名,清理同域名免试flag -if (cname!=1) -{ - domain=$6; - testall=0; -}} -ipcount++; -cname=0; -lastdomain=$6 -#去除非ipv4 -if (index(ip,".")==0) -{ - next; -} -#不重复探测ip -if (!(ip in a)) -{ -#包数>12的同域名放过 -if (passdomain==domain) -{ - print(ip" "domain" pass by same domain ok"); - a[ip]=domain; - next; -} -if (nochina==1){ -"ipset test china "ip" 2>&1"| getline ipset; -close("ipset test china "ip" 2>&1"); -if (index(ipset,"Warning")!=0){ - print("china "ip" pass"); - a[ip]=domain; - next; -}} -"ipset test gfwlist "ip" 2>&1"| getline ipset; -close("ipset test gfwlist "ip" 2>&1"); -if (index(ipset,"Warning")!=0){ - print("gfwlist "ip" pass"); - a[ip]=domain; - next; - } - -#ip压入缓存,用于未检测到443/80的缓存 -ipcache[ipcount]=ip; -if (testall==0){ - tryhttps=0; - tryhttp=0; - #探测 nf_conntrack 的443/80 - while ("grep "ip" /proc/net/nf_conntrack"| getline ret > 0) - { - split(ret, b," +"); - split(b[11], pagnum,"="); - #包数>12的放过 - if (packetpass==1 && pagnum[2]>12) - { - print("pass by packets="pagnum[2]" "ip" "domain); - for (ipindex in ipcache) - { - a[ipcache[ipindex]]=domain; - delete ipcache[ipindex]; - } - passdomain=domain; - close("grep "ip" /proc/net/nf_conntrack"); - ipcount--; - next; - } - if (b[8]=="dst="ip) - { - if (b[10]=="dport=443"){ - tryhttps=1; - break; - } - else if (b[10]=="dport=80"){ - tryhttp=1; - } - } - } - close("grep "ip" /proc/net/nf_conntrack"); -}else{ - if (testall==443) - { - tryhttps=1 - }else{ - tryhttp=1 - } -} -if (tryhttps==1) -{ if (createpid==1) - { - print "">"/tmp/run/autoipsetadder/"domain - close("/tmp/run/autoipsetadder/"domain); - print("create"domain); - print(ip" "domain" 443"ipcount-1); - a[ip]=domain; - #正在使用的ip用最大延迟,最后探测,减少打断tcp的可能 - system("/usr/bin/autoipsetadder/testip.sh "ip" "domain" 443 "ipcount-1" &"); - delete ipcache[ipcount]; - createpid=0; - } - #未检测到443/80同域名缓存的ip进行测试,ipindex-1为测试延迟时间 - for (ipindex in ipcache){ - print(ipcache[ipindex]" "domain" 443 "ipindex-1); - a[ipcache[ipindex]]=domain; - system("/usr/bin/autoipsetadder/testip.sh "ipcache[ipindex]" "domain" 443 "ipindex-1" &"); - delete ipcache[ipindex]; - } - #后续同域名ip免nf_conntrack测试 - testall=443; -} -else if (tryhttp==1) -{ - if (createpid==1) - { - print "">"/tmp/run/autoipsetadder/"domain - close("/tmp/run/autoipsetadder/"domain); - print("create"domain); - print(ip" "domain" 80 "ipcount-1); - a[ip]=domain; - system("/usr/bin/autoipsetadder/testip.sh "ip" "domain" 80 "ipcount-1" &"); - delete ipcache[ipcount]; - createpid=0; - } - for (ipindex in ipcache){ - print(ipcache[ipindex]" "domain" 80 "ipindex-1); - a[ipcache[ipindex]]=domain; - system("/usr/bin/autoipsetadder/testip.sh "ipcache[ipindex]" "domain" 80 "ipindex-1" &"); - delete ipcache[ipindex]; - } - testall=80; -}} -}' >> $logfile \ No newline at end of file diff --git a/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/debugip.sh b/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/debugip.sh deleted file mode 100755 index 177ef65740..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/debugip.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh -PATH="/usr/sbin:/usr/bin:/sbin:/bin" -dlchina=$1; -logfile=$(uci get autoipsetadder.autoipsetadder.logfile) -[ -z "$logfile" ] && logfile="/tmp/addlist.log" - -dnslogfile=$(uci get autoipsetadder.autoipsetadder.dnslogfile) -[ -z "$logfile" ] && dnslogfile="/tmp/dnsmasq.log" - - -ipset list gfwlist | awk -v dlchina="$dlchina" -v dnslogfile="$dnslogfile" -v logfile="$logfile" '{ -if (index($0,".")==0) -{ - next; -} -if ($0=="127.0.0.1") {system("ipset d gfwlist 127.0.0.1");next;} -"ipset test whitelist "$0" 2>&1"| getline ipset; -close("ipset test whitelist "$0" 2>&1"); - if (index(ipset,"Warning")==0){ - white=0; - }else{ - white=1; - } - "ipset test china "$0" 2>&1"| getline ipset; - close("ipset test china "$0" 2>&1"); - if (index(ipset,"Warning")!=0){ - china=1; - } - else{ - china=0; - } - if (white==1) - { - if (china==0) - { - print("warning white ip not china"$0); - ret=system("grep "$0" "logfile); - if (ret!=0) - { - ret=system("grep "$0" "dnslogfile); - } - } - }else if (china==1) - { - print("warning china ip not white"$0); - ret=system("grep "$0" "logfile) - if (ret!=0) - { - ret=system("grep "$0" "dnslogfile); - } - if (dlchina) - { - system("ipset del gfwlist "$0); - } - } -}' \ No newline at end of file diff --git a/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/tailto.sh b/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/tailto.sh deleted file mode 100755 index ab70e3a6ef..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/tailto.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -tail -n $1 "$2" > /var/run/tailtmp -cat /var/run/tailtmp > "$2" -rm /var/run/tailtmp \ No newline at end of file diff --git a/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/testip.sh b/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/testip.sh deleted file mode 100755 index dcdda2ddd1..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/root/usr/bin/autoipsetadder/testip.sh +++ /dev/null @@ -1,182 +0,0 @@ -#!/bin/sh -config=$(uci get autoipsetadder.autoipsetadder.config 2>/dev/null) -[ "${config//pingadd/}" == "$config" ] && pingadd="0" || pingadd="1" -echo $* | awk -v pingadd="$pingadd" '{ -if ($4=="") -{ -wait=0; -}else -{wait=$4;} -system("sleep "wait); -ERRNO=""; -pidfile="/tmp/run/autoipsetadder/"$2 -getline drop< pidfile; -close(pidfile); -if (ERRNO) { -addlist=0; -print("bypass"$1" "$2); -next;} -if ($3=="443") -{ -cmd=("httping -c 1 -t 4 -l "$2" --divert-connect "$1); -} -else if ($3=="80") -{ -cmd=("httping -c 1 -t 4 "$2" --divert-connect "$1); -} -addlist=0; -slow=0; -while ((cmd | getline ret) > 0) -{ - if (addlist!=0) - { - continue; - } - else if (index(ret,"short read")!=0) - { - if (system("httping -q -c 1 -t 4 -l "$2" --divert-connect "$1)==0) - { - addlist=-1; - break; - }else{ - print("doname rst autoaddip "$1" "$2); - addlist=1; - } - } - else if (index(ret,"timeout")!=0) - { - while ((cmd | getline ret) > 0) - { - if (index(ret,"timeout")!=0) - { - print("direct so slow autoaddip "$1" "$2); - addlist=1; - slow=1; - } - } - }else if (index(ret,"SSL handshake error: (null)")!=0) - { - if(system("curl -m 10 --resolve "$2":443:"$1" https://"$2" -o /dev/null 2>/dev/null")==0){ - addlist=-1; - break; - } - }else if (index(ret,"Connection refused")!=0){ - print("direct Connection refused autoaddip"$1" "$2); - addlist=1; - } -} -close(cmd); - -if (addlist!=1) -{ - if (addlist==0){ - split(ret, c,"[ /]+"); - print(c[6]); - if (c[6]=="failed,"){ - print("can not connect autoaddip "$1" "$2); - addlist=1; - } - else if (c[6]+0>10000) - { - print("direct ssl so slow autoaddip "$1" "$2); - addlist=1; - }else{ - addlist=-1;} - } - if (addlist==-1 && pingadd==1) - { - while (("ping -c 5 -q -A "$1 | getline ret) > 0) - { - if (index(ret,"packet loss")!=0) - { - split(ret, p,"[ ]+"); - if (p[4]>0 && p[4]<5) - { - print("ping packet loss autoaddip "$1" "$2); - pingloss=1; - addlist=1; - }else{pingloss=0;} - break; - } - } - close("ping -c 5 -q "$1); - } -} -ERRNO=""; -if (pingloss!=1){ - getline drop< pidfile; - close(pidfile); -} -if (ERRNO) {addlist=0;next;} -if (addlist==1){ -system("ipset add gfwlist "$1); -while ((cmd | getline ret) > 0) -{ - if (addlist==1) - { - if (index(ret,"short read")!=0) - { - system("ipset del gfwlist "$1); - print("doname proxy rst autodelip "$1" "$2); - addlist=-2; - } - else if (index(ret,"SSL handshake error: (null)")!=0) - { - if(system("curl -m 10 --resolve "$2":443:"$1" https://"$2" -o /dev/null 2>/dev/null")==0) - { - addlist=2; - } - } - } -} -close(cmd); -if (addlist==1){ - split(ret, c,"[ /]+"); - print(c[6]); - if (c[6]=="failed,") - { - system("ipset del gfwlist "$1); - print("proxy can not connect autodelip "$1" "$2); - addlist=-2; - }else{ - addlist=2; - } -} -} -}END{ -if (addlist==2) -{ if (pingloss==0){ - ERRNO=""; - getline drop< pidfile; - if (ERRNO) { - system("ipset del gfwlist "$1); - print("cancel add myself "$1" "$2" due to one ip success direct"); - }else{ - print $1"\n">>pidfile; - } - close(pidfile);} -}else if (addlist==-1) -{ - print($1" "$2" direct success"); - while ((getline ret< pidfile) > 0) - { - if (ret!=""){ - system("ipset del gfwlist "ret); - print("cancel add someone "ret" "$2" due to me"$1" success direct"); - } - } - close(pidfile); - system("rm "pidfile" 2>/dev/null"); - print($1" del "$2); -}else if (addlist==-2) -{ - system("sleep 10"); - while ((getline ret< pidfile) > 0) - { - if (ret!=""){ - system("ipset add gfwlist "$1); - print("add "ret" "$2" due to one ip success proxy"); - break;} - } - close(pidfile); -}}' \ No newline at end of file diff --git a/package/ctcgfw/luci-app-autoipsetadder/root/usr/share/rpcd/acl.d/luci-app-autoipsetadder.json b/package/ctcgfw/luci-app-autoipsetadder/root/usr/share/rpcd/acl.d/luci-app-autoipsetadder.json deleted file mode 100644 index 27e17664e4..0000000000 --- a/package/ctcgfw/luci-app-autoipsetadder/root/usr/share/rpcd/acl.d/luci-app-autoipsetadder.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-autoipsetadder": { - "description": "Grant UCI access for luci-app-autoipsetadder", - "read": { - "uci": [ "autoipsetadder" ] - }, - "write": { - "uci": [ "autoipsetadder" ] - } - } -} diff --git a/package/ctcgfw/luci-app-baidupcs-web/Makefile b/package/ctcgfw/luci-app-baidupcs-web/Makefile deleted file mode 100644 index 852179e3cc..0000000000 --- a/package/ctcgfw/luci-app-baidupcs-web/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# -# -# -# Copyright (C) 2020 KFERMercer -# Copyright (C) 2021 ImmortalWrt -# -# THIS IS FREE SOFTWARE, LICENSED UNDER GPLv3. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-baidupcs-web -LUCI_TITLE:=LuCI support for BaiduPCS-Go -LUCI_DEPENDS:=+baidupcs-web +wget-ssl +openssl-util -LUCI_PKGARCH:=all -PKG_VERSION:=1.0 -PKG_RELEASE:=5 -PKG_MAINTAINER:= - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-baidupcs-web/luasrc/controller/baidupcs-web.lua b/package/ctcgfw/luci-app-baidupcs-web/luasrc/controller/baidupcs-web.lua deleted file mode 100644 index 805269dd16..0000000000 --- a/package/ctcgfw/luci-app-baidupcs-web/luasrc/controller/baidupcs-web.lua +++ /dev/null @@ -1,17 +0,0 @@ -module("luci.controller.baidupcs-web", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/baidupcs-web") then - return - end - entry({"admin", "nas", "baidupcs-web"}, cbi("baidupcs-web"), _("BaiduPCS Web"), 300).dependent = true - entry({"admin","nas","baidupcs-web","status"},call("act_status")).leaf=true -end - -function act_status() - local e={} - e.running=luci.sys.call("pgrep baidupcs-web >/dev/null")==0 - -- e.port=luci.sys.exec("uci get baidupcs-web.config.port") - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua b/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua deleted file mode 100644 index c96dd58a17..0000000000 --- a/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua +++ /dev/null @@ -1,48 +0,0 @@ ---[[ - -Copyright (C) 2020 KFERMercer -Copyright (C) 2021 ImmortalWrt - -THIS IS FREE SOFTWARE, LICENSED UNDER GPLv3 - -]]-- - -m = Map("baidupcs-web") -m.title = translate("BaiduPCS-Web") -m.description = translate("基于BaiduPCS-Go, 可以让你高效的使用百度云") - -m:section(SimpleSection).template = "baidupcs-web/baidupcs-web_status" - -s = m:section(TypedSection, "baidupcs-web") -s.addremove = false -s.anonymous = true - -enable = s:option(Flag, "enabled", translate("启用")) -enable.rmempty = false - -o = s:option(Value, "port", translate("网页端口")) -o.datatype = "port" -o.placeholder = "5299" -o.default = "5299" -o.rmempty = false - -o = s:option(Value, "download_dir", translate("下载目录")) -o.placeholder = "/opt/baidupcsweb-download" -o.default = "/opt/baidupcsweb-download" -o.rmempty = false - -o = s:option(Value, "max_download_rate", translate("最大下载速度")) -o.placeholder = "0" - -o = s:option(Value, "max_upload_rate", translate("最大上传速度")) -o.placeholder = "0" -o.description = translate("0代表不限制, 单位为每秒的传输速率, 后缀'/s' 可省略, 如 2MB/s, 2MB, 2m, 2mb 均为一个意思") - -o = s:option(Value, "max_download_load", translate("同时进行下载文件的最大数量")) -o.placeholder = "1" -o.description = translate("不要太贪心, 当心被封号") - -o = s:option(Value, "max_parallel", translate("最大并发连接数")) -o.placeholder = "8" - -return m diff --git a/package/ctcgfw/luci-app-baidupcs-web/luasrc/view/baidupcs-web/baidupcs-web_status.htm b/package/ctcgfw/luci-app-baidupcs-web/luasrc/view/baidupcs-web/baidupcs-web_status.htm deleted file mode 100644 index 9a418e7103..0000000000 --- a/package/ctcgfw/luci-app-baidupcs-web/luasrc/view/baidupcs-web/baidupcs-web_status.htm +++ /dev/null @@ -1,33 +0,0 @@ - - - - -
-

- <%:Collecting data...%> -

-
diff --git a/package/ctcgfw/luci-app-baidupcs-web/po/zh_Hans/web.po b/package/ctcgfw/luci-app-baidupcs-web/po/zh_Hans/web.po deleted file mode 100644 index 5d075c57da..0000000000 --- a/package/ctcgfw/luci-app-baidupcs-web/po/zh_Hans/web.po +++ /dev/null @@ -1,75 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh_Hans\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua:39 -msgid "" -"0代表不限制, 单位为每秒的传输速率, 后缀'/s' 可省略, 如 2MB/s, 2MB, 2m, 2mb 均" -"为一个意思" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/controller/baidupcs-web.lua:7 -msgid "BaiduPCS Web" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua:11 -msgid "BaiduPCS-Web" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/view/baidupcs-web/baidupcs-web_status.htm:36 -msgid "Collecting data..." -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/view/baidupcs-web/baidupcs-web_status.htm:16 -msgid "NOT RUNNING" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/view/baidupcs-web/baidupcs-web_status.htm:13 -msgid "RUNNING" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua:29 -msgid "下载目录" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua:43 -msgid "不要太贪心, 当心被封号" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua:41 -msgid "同时进行下载文件的最大数量" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua:20 -msgid "启用" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua:12 -msgid "基于BaiduPCS-Go, 可以让你高效的使用百度云" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/view/baidupcs-web/baidupcs-web_status.htm:13 -msgid "打开管理页面" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua:37 -msgid "最大上传速度" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua:34 -msgid "最大下载速度" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua:45 -msgid "最大并发连接数" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-baidupcs-web/luasrc/model/cbi/baidupcs-web.lua:23 -msgid "网页端口" -msgstr "" diff --git a/package/ctcgfw/luci-app-baidupcs-web/root/etc/config/baidupcs-web b/package/ctcgfw/luci-app-baidupcs-web/root/etc/config/baidupcs-web deleted file mode 100644 index fd78131ef4..0000000000 --- a/package/ctcgfw/luci-app-baidupcs-web/root/etc/config/baidupcs-web +++ /dev/null @@ -1,2 +0,0 @@ - -config baidupcs-web 'config' diff --git a/package/ctcgfw/luci-app-baidupcs-web/root/etc/init.d/baidupcs-web b/package/ctcgfw/luci-app-baidupcs-web/root/etc/init.d/baidupcs-web deleted file mode 100755 index ad70df944d..0000000000 --- a/package/ctcgfw/luci-app-baidupcs-web/root/etc/init.d/baidupcs-web +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=90 -STOP=10 - -enabled="$(uci get baidupcs-web.config.enabled)" -port="$(uci get baidupcs-web.config.port)" -download_dir="$(uci get baidupcs-web.config.download_dir)" -max_download_rate="$(uci get baidupcs-web.config.max_download_rate || echo '0')" -max_upload_rate="$(uci get baidupcs-web.config.max_upload_rate || echo '0')" -max_download_load="$(uci get baidupcs-web.config.max_download_load || echo '1')" -max_parallel="$(uci get baidupcs-web.config.max_parallel || echo '8')" - -start() { - stop - [ "$enabled" == "1" ] || exit 0 - mkdir -p "${download_dir}" - baidupcs-web config set \ - --savedir "${download_dir}" \ - --max_download_rate "${max_download_rate}" \ - --max_upload_rate "${max_upload_rate}" \ - --max_download_load "${max_download_load}" \ - --max_parallel "${max_parallel}" \ - --max_upload_parallel "${max_parallel}" \ - >/dev/null 2>&1 - - baidupcs-web web --port "${port}" --access >/dev/null 2>&1 & -} - -stop() { - killall baidupcs-web >/dev/null 2>&1 -} diff --git a/package/ctcgfw/luci-app-baidupcs-web/root/etc/uci-defaults/luci-baidupcs-web b/package/ctcgfw/luci-app-baidupcs-web/root/etc/uci-defaults/luci-baidupcs-web deleted file mode 100755 index e72523b798..0000000000 --- a/package/ctcgfw/luci-app-baidupcs-web/root/etc/uci-defaults/luci-baidupcs-web +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@baidupcs-web[-1] - add ucitrack baidupcs-web - set ucitrack.@baidupcs-web[-1].init=baidupcs-web - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-baidupcs-web/root/usr/share/rpcd/acl.d/luci-app-baidupcs-web.json b/package/ctcgfw/luci-app-baidupcs-web/root/usr/share/rpcd/acl.d/luci-app-baidupcs-web.json deleted file mode 100644 index 4526b4ec50..0000000000 --- a/package/ctcgfw/luci-app-baidupcs-web/root/usr/share/rpcd/acl.d/luci-app-baidupcs-web.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-baidupcs-web": { - "description": "Grant UCI access for luci-app-baidupcs-web", - "read": { - "uci": [ "baidupcs-web" ] - }, - "write": { - "uci": [ "baidupcs-web" ] - } - } -} diff --git a/package/ctcgfw/luci-app-beardropper/Makefile b/package/ctcgfw/luci-app-beardropper/Makefile deleted file mode 100644 index bbdbdcc0e3..0000000000 --- a/package/ctcgfw/luci-app-beardropper/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# -# Copyright (C) 2020 Nate Ding -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -LUCI_Title:=LuCI Support for BearDropper -LUCI_PKGARCH=all - -PKG_VERSION:=1.1 -PKG_RELEASE:=20200522 - -PKG_MAINTANINER:=Nate Ding -PKG_LICENSE:=GLPv3 -PKG_LICENSE_FILES:=LICENSE - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-beardropper/luasrc/controller/beardropper.lua b/package/ctcgfw/luci-app-beardropper/luasrc/controller/beardropper.lua deleted file mode 100755 index 2c31a2ffc5..0000000000 --- a/package/ctcgfw/luci-app-beardropper/luasrc/controller/beardropper.lua +++ /dev/null @@ -1,19 +0,0 @@ -module("luci.controller.beardropper", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/beardropper") then - return - end - entry({"admin", "services", "beardropper"}, alias("admin", "services", "beardropper", "setting"),_("BearDropper"), 20).dependent = true - entry({"admin", "services", "beardropper", "status"}, call("act_status")) - entry({"admin", "services", "beardropper", "setting"}, cbi("beardropper/setting"), _("Setting"), 30).leaf= true - entry({"admin", "services", "beardropper", "log"}, form("beardropper/log"),_("Log"), 40).leaf= true - --entry: -end - -function act_status() - local e={} - e.running = luci.sys.call("pgrep -f /usr/sbin/beardropper >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end \ No newline at end of file diff --git a/package/ctcgfw/luci-app-beardropper/luasrc/model/cbi/beardropper/log.lua b/package/ctcgfw/luci-app-beardropper/luasrc/model/cbi/beardropper/log.lua deleted file mode 100644 index c725bcdf04..0000000000 --- a/package/ctcgfw/luci-app-beardropper/luasrc/model/cbi/beardropper/log.lua +++ /dev/null @@ -1,17 +0,0 @@ -f = SimpleForm("logview") -f.reset = false -f.submit = false -t = f:field(TextValue, "conf") -t.rmempty = true -t.rows = 20 -function t.cfgvalue() -local logs = luci.util.execi("logread | grep authpriv | grep beardropper") -local s = "" -for line in logs do -s = line .. "\n" .. s -end -return s -end -t.readonly="readonly" - -return f diff --git a/package/ctcgfw/luci-app-beardropper/luasrc/model/cbi/beardropper/setting.lua b/package/ctcgfw/luci-app-beardropper/luasrc/model/cbi/beardropper/setting.lua deleted file mode 100755 index 2735200bfd..0000000000 --- a/package/ctcgfw/luci-app-beardropper/luasrc/model/cbi/beardropper/setting.lua +++ /dev/null @@ -1,54 +0,0 @@ - -m = Map("beardropper", translate("BearDropper"), -translate("luci-app-beardropper, the LuCI app built with the elegant firewall rule generation on-the-fly script bearDropper.

Should you have any questions, please refer to the repo: ")..[[luci-app-beardropper]] -) -m:chain("luci") - -m:section(SimpleSection).template="beardropper/status" - -s = m:section(TypedSection, "beardropper", translate("")) -s.anonymous = true -s.addremove = false - --- TABS -s:tab("options", translate("Options")) -s:tab("blocked", translate("Blocked IP")) - -o = s:taboption("options", Flag, "enabled",translate("Enabled")) -o.default = 0 - --- OPTIONS -o = s:taboption("options", ListValue, "defaultMode", translate("Running Mode")) -o.default = "follow" -o:value("follow", translate("Follow")) -o:value("entire", translate("Entire")) -o:value("today", translate("Today")) -o:value("wipe", translate("Wipe")) - - -o = s:taboption("options", Value, "attemptCount", translate("Attempt Tolerance"), translate("failure attempts from a given IP required to trigger a ban")) - -o = s:taboption("options", Value, "attemptPeriod", translate("Attempt Cycle"), translate("time period during which attemptCount must be exceeded in order to trigger a ban
Format: 1w2d3h4m5s represents 1week 2days 3hours 4minutes 5 seconds")) - -o = s:taboption("options", Value, "banLength", translate("Ban Period"), translate("how long a ban exist once the attempt threshold is exceeded")) - -o = s:taboption("options", ListValue, "logLevel", translate("Log Level")) -o.default = "1" -o:value("0", translate("Silent")) -o:value("1", translate("Default")) -o:value("2", translate("Verbose")) -o:value("3", translate("Debug")) - - -o = s:taboption("blocked", Value, "blocked", translate("Blocked IP List")) -o.template="cbi/tvalue" -o.rows=40 -o.wrap="off" -o.readonly="true" -function o.cfgvalue(e, e) - return luci.sys.exec("cat /tmp/beardropper.bddb | awk /'=1/'| awk -F '=' '{print $1}' | awk '{print substr($0,6)}' | awk 'gsub(/_/,\":\",$0)'") -end - - - -return m diff --git a/package/ctcgfw/luci-app-beardropper/luasrc/view/beardropper/status.htm b/package/ctcgfw/luci-app-beardropper/luasrc/view/beardropper/status.htm deleted file mode 100755 index 808b3a0080..0000000000 --- a/package/ctcgfw/luci-app-beardropper/luasrc/view/beardropper/status.htm +++ /dev/null @@ -1,22 +0,0 @@ - - -
-

- <%:Collecting data...%> -

-
\ No newline at end of file diff --git a/package/ctcgfw/luci-app-beardropper/po/zh_Hans/beardropper.po b/package/ctcgfw/luci-app-beardropper/po/zh_Hans/beardropper.po deleted file mode 100755 index bcffc10793..0000000000 --- a/package/ctcgfw/luci-app-beardropper/po/zh_Hans/beardropper.po +++ /dev/null @@ -1,115 +0,0 @@ -bearDropper#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:36 -msgid "Attempt Cycle" -msgstr "尝试登录时间段" - - -msgid "Setting" -msgstr "设置" - -msgid "Log" -msgstr "日志" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:34 -msgid "Attempt Tolerance" -msgstr "最大尝试登录次数" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:38 -msgid "Ban Period" -msgstr "封禁IP时长" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/controller/bearDropper.lua:7 -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:7 -msgid "BearDropper" -msgstr "" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:20 -msgid "Blocked IP" -msgstr "屏蔽列表" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:52 -msgid "Blocked IP List" -msgstr "已屏蔽IP列表" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:20 -msgid "Collecting data..." -msgstr "" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:45 -msgid "Debug" -msgstr "调试" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:43 -msgid "Default" -msgstr "默认" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:22 -msgid "Enabled" -msgstr "启用" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:29 -msgid "Entire" -msgstr "已有记录" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:28 -msgid "Follow" -msgstr "后台监控" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:40 -msgid "Log Level" -msgstr "日志等级" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:10 -msgid "NOT RUNNING" -msgstr "" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:19 -msgid "Options" -msgstr "选项" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:7 -msgid "RUNNING" -msgstr "" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:26 -msgid "Running Mode" -msgstr "运行模式" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:42 -msgid "Silent" -msgstr "安静" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:30 -msgid "Today" -msgstr "仅今日" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:44 -msgid "Verbose" -msgstr "详细" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:31 -msgid "Wipe" -msgstr "清除所有" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:34 -msgid "failure attempts from a given IP required to trigger a ban" -msgstr "尝试登录超过设定值次数的IP将被封禁" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:38 -msgid "how long a ban exist once the attempt threshold is exceeded" -msgstr "IP将被封禁设定的时间" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:8 -msgid "" -"luci-app-beardropper, the LuCI app built with the elegant firewall rule " -"generation on-the-fly script bearDropper.

Should you have any " -"questions, please refer to the repo:" -msgstr "" -"luci-app-beardropper, 是一款能够在开启公网访问之后对潜在的ssh attack进行防御" -"的脚本.

如果你在使用中有任何问题,请到项目中提问: " - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:36 -msgid "" -"time period during which attemptCount must be exceeded in order to trigger a " -"ban
Format: 1w2d3h4m5s represents 1week 2days 3hours 4minutes 5 seconds" -msgstr "" -"在设定的时间段内连续尝试失败
格式:1w2d3h4m5s代表1周2天3小时4分5秒" diff --git a/package/ctcgfw/luci-app-beardropper/po/zh_Hant/beardropper.po b/package/ctcgfw/luci-app-beardropper/po/zh_Hant/beardropper.po deleted file mode 100644 index 00c1da72ea..0000000000 --- a/package/ctcgfw/luci-app-beardropper/po/zh_Hant/beardropper.po +++ /dev/null @@ -1,115 +0,0 @@ -bearDropper#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:36 -msgid "Attempt Cycle" -msgstr "嘗試登錄時間段" - - -msgid "Setting" -msgstr "設置" - -msgid "Log" -msgstr "日誌" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:34 -msgid "Attempt Tolerance" -msgstr "最大嘗試登錄次數" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:38 -msgid "Ban Period" -msgstr "封禁IP時長" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/controller/bearDropper.lua:7 -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:7 -msgid "BearDropper" -msgstr "" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:20 -msgid "Blocked IP" -msgstr "屏蔽列表" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:52 -msgid "Blocked IP List" -msgstr "已屏蔽IP列表" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:20 -msgid "Collecting data..." -msgstr "" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:45 -msgid "Debug" -msgstr "調試" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:43 -msgid "Default" -msgstr "默認" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:22 -msgid "Enabled" -msgstr "啟用" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:29 -msgid "Entire" -msgstr "已有記錄" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:28 -msgid "Follow" -msgstr "後臺監控" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:40 -msgid "Log Level" -msgstr "日誌等級" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:10 -msgid "NOT RUNNING" -msgstr "" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:19 -msgid "Options" -msgstr "選項" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/view/bearDropper/status.htm:7 -msgid "RUNNING" -msgstr "" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:26 -msgid "Running Mode" -msgstr "運行模式" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:42 -msgid "Silent" -msgstr "安靜" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:30 -msgid "Today" -msgstr "僅今日" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:44 -msgid "Verbose" -msgstr "詳細" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:31 -msgid "Wipe" -msgstr "清除所有" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:34 -msgid "failure attempts from a given IP required to trigger a ban" -msgstr "嘗試登錄超過設定值次數的IP將被封禁" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:38 -msgid "how long a ban exist once the attempt threshold is exceeded" -msgstr "IP將被封禁設定的時間" - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:8 -msgid "" -"luci-app-beardropper, the LuCI app built with the elegant firewall rule " -"generation on-the-fly script bearDropper.

Should you have any " -"questions, please refer to the repo:" -msgstr "" -"luci-app-beardropper, 是壹款能夠在開啟公網訪問之後對潛在的ssh attack進行防禦" -"的腳本.

如果妳在使用中有任何問題,請到項目中提問: " - -#: ../../package/feeds/luci/luci-app-beardropper/luasrc/model/cbi/bearDropper/setting.lua:36 -msgid "" -"time period during which attemptCount must be exceeded in order to trigger a " -"ban
Format: 1w2d3h4m5s represents 1week 2days 3hours 4minutes 5 seconds" -msgstr "" -"在設定的時間段內連續嘗試失敗
格式:1w2d3h4m5s代表1周2天3小時4分5秒" diff --git a/package/ctcgfw/luci-app-beardropper/root/etc/config/beardropper b/package/ctcgfw/luci-app-beardropper/root/etc/config/beardropper deleted file mode 100644 index ec5d0d4e05..0000000000 --- a/package/ctcgfw/luci-app-beardropper/root/etc/config/beardropper +++ /dev/null @@ -1,18 +0,0 @@ -config beardropper - option attemptCount '5' - option attemptPeriod '12h' - option banLength '1w' - option logFacility 'authpriv.notice' - option fileStateType 'bddb' - option fileStateTempPrefix '/tmp/beardropper' - option fileStatePersistPrefix '/etc/beardropper' - list firewallHookChain 'input_wan_rule:1' - list firewallHookChain 'forwarding_wan_rule:1' - option firewallTarget 'DROP' - list logRegex 's/[`$"\'\'']//g' - list logRegex '/has invalid shell, rejected$/d' - list logRegex '/^[A-Za-z ]+[0-9: ]+authpriv.warn dropbear\[.+([0-9]+\.){3}[0-9]+/p' - list logRegex '/^[A-Za-z ]+[0-9: ]+authpriv.info dropbear\[.+:\ Exit before auth:.*/p' - option defaultMode 'follow' - option enabled '1' - option logLevel '2' diff --git a/package/ctcgfw/luci-app-beardropper/root/etc/init.d/beardropper b/package/ctcgfw/luci-app-beardropper/root/etc/init.d/beardropper deleted file mode 100755 index a7c1c98dbc..0000000000 --- a/package/ctcgfw/luci-app-beardropper/root/etc/init.d/beardropper +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh /etc/rc.common -START=98 - -PROG=/usr/sbin/beardropper -SERVICE_DAEMONIZE=1 -SERVICE_WRITE_PID=1 - -getKids() { - egrep "^PPid: *$1$" /proc/[0-9]*/s*s 2>/dev/null | cut -f3 -d/ | xargs echo -} - -start() { - service_start ${PROG} -m follow - echo "beardropper started!" -} - -stop() { - #PID=`cat /var/run/bearDropper.pid` - #kill `getKids $PID` - kill -9 `pgrep -f /usr/sbin/beardropper` - sleep 1 - service_stop ${PROG} - echo "beardropper exit...." -} - -restart() { - enabled=$(uci get beardropper.@beardropper[0].enabled) - pgrep -f ${PROG} >/dev/null - if [ $? -eq 0 ];then #running - if [ $enabled -eq 1 ]; then - stop - sleep 1 - echo "beardropper is restarting..." - start - else - stop - fi - else - if [ $enabled -eq 1 ]; then - start - else - exit 0 - fi - fi - -} diff --git a/package/ctcgfw/luci-app-beardropper/root/etc/uci-defaults/luci-beardropper b/package/ctcgfw/luci-app-beardropper/root/etc/uci-defaults/luci-beardropper deleted file mode 100755 index b484337f27..0000000000 --- a/package/ctcgfw/luci-app-beardropper/root/etc/uci-defaults/luci-beardropper +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@beardropper[-1] - add ucitrack beardropper - set ucitrack.@beardropper[-1].init=beardropper - commit ucitrack -EOF - -touch /tmp/beardropper.bddb -rm -rf /tmp/luci-* -exit 0 diff --git a/package/ctcgfw/luci-app-beardropper/root/usr/sbin/beardropper b/package/ctcgfw/luci-app-beardropper/root/usr/sbin/beardropper deleted file mode 100755 index d3015491fe..0000000000 --- a/package/ctcgfw/luci-app-beardropper/root/usr/sbin/beardropper +++ /dev/null @@ -1,517 +0,0 @@ -#!/bin/ash -# -# beardropper - dropbear log parsing ban agent for OpenWRT (Chaos Calmer rewrite of dropBrute.sh) -# http://github.com/robzr/bearDropper -- Rob Zwissler 11/2015 -# -# - lightweight, no dependencies, busybox ash + native OpenWRT commands -# - uses uci for configuration, overrideable via command line arguments -# - runs continuously in background (via init script) or periodically (via cron) -# - uses BIND time shorthand, ex: 1w5d3h1m8s is 1 week, 5 days, 3 hours, 1 minute, 8 seconds -# - Whitelist IP or CIDR entries (TBD) in uci config file -# - Records state file to tmpfs and intelligently syncs to persistent storage (can disable) -# - Persistent sync routines are optimized to avoid excessive writes (persistentStateWritePeriod) -# - Every run occurs in one of the following modes. If not specified, interval mode (24 hours) is -# the default when not specified (the init script specifies follow mode via command line) -# -# "follow" mode follows syslog to process entries as they happen; generally launched via init -# script. Responds the fastest, runs the most efficiently, but is always in memory. -# "interval" mode only processes entries going back the specified interval; requires -# more processing than today mode, but responds more accurately. Use with cron. -# "today" mode looks at log entries from the day it is being run, simple and lightweight, -# generally run from cron periodically (same simplistic behavior as dropBrute.sh) -# "entire" mode runs through entire contents of the syslog ring buffer -# "wipe" mode tears down the firewall rules and removes the state files - -# Load UCI config variable, or use default if not set -# Args: $1 = variable name (also uci option name), $2 = default_value -uciSection='beardropper.@[0]' -uciLoadVar () { - local getUci - getUci=`uci -q get ${uciSection}."$1"` || getUci="$2" - eval $1=\'$getUci\'; -} -uciLoad() { - local tFile=`mktemp` delim=" -" - [ "$1" = -d ] && { delim="$2"; shift 2; } - uci -q -d"$delim" get "$uciSection.$1" 2>/dev/null >$tFile - if [ $? = 0 ] ; then - sed -e s/^\'// -e s/\'$// <$tFile - else - while [ -n "$2" ]; do echo $2; shift; done - fi - rm -f $tFile -} - -# Common config variables - edit these in /etc/config/beardropper -# or they can be overridden at runtime with command line options -# -uciLoadVar defaultMode entire -uciLoadVar enabled 0 -uciLoadVar attemptCount 10 -uciLoadVar attemptPeriod 12h -uciLoadVar banLength 1w -uciLoadVar logLevel 1 -uciLoadVar logFacility authpriv.notice -uciLoadVar persistentStateWritePeriod -1 -uciLoadVar fileStateType bddb -uciLoadVar fileStateTempPrefix /tmp/beardropper -uciLoadVar fileStatePersistPrefix /etc/beardropper -firewallHookChains="`uciLoad -d \ firewallHookChain input_wan_rule:1 forwarding_wan_rule:1`" -uciLoadVar firewallTarget DROP - -# Not commonly changed, but changeable via uci or cmdline (primarily -# to enable multiple parallel runs with different parameters) -uciLoadVar firewallChain beardropper - -# Advanced variables, changeable via uci only (no cmdline), it is -# unlikely that these will need to be changed, but just in case... -# -uciLoadVar syslogTag "beardropper[$$]" -# how often to attempt to expire bans when in follow mode -uciLoadVar followModeCheckInterval 30m -uciLoadVar cmdLogread 'logread' # for tuning, ex: "logread -l250" -uciLoadVar cmdLogreadEba 'logread' # for "Exit before auth:" backscanning -uciLoadVar formatLogDate '%b %e %H:%M:%S %Y' # used to convert syslog dates -uciLoadVar formatTodayLogDateRegex '^%a %b %e ..:..:.. %Y' # filter for today mode - -# Begin functions -# -# Clear bddb entries from environment -bddbClear () { - local bddbVar - for bddbVar in `set | egrep '^bddb_[0-9_]*=' | cut -f1 -d= | xargs echo -n` ; do eval unset $bddbVar ; done - bddbStateChange=1 -} - -# Returns count of unique IP entries in environment -bddbCount () { set | egrep '^bddb_[0-9_]*=' | wc -l ; } - -# Loads existing bddb file into environment -# Arg: $1 = file, $2 = type (bddb/bddbz), $3 = -bddbLoad () { - local loadFile="$1.$2" fileType="$2" - if [ "$fileType" = bddb -a -f "$loadFile" ] ; then - . "$loadFile" - elif [ "$fileType" = bddbz -a -f "$loadFile" ] ; then - local tmpFile="`mktemp`" - zcat $loadFile > "$tmpFile" - . "$tmpFile" - rm -f "$tmpFile" - fi - bddbStateChange=0 -} - -# Saves environment bddb entries to file, Arg: $1 = file to save in -bddbSave () { - local saveFile="$1.$2" fileType="$2" - if [ "$fileType" = bddb ] ; then - set | egrep '^bddb_[0-9_]*=' | sed s/\'//g > "$saveFile" - elif [ "$fileType" = bddbz ] ; then - set | egrep '^bddb_[0-9_]*=' | sed s/\'//g | gzip -c > "$saveFile" - fi - bddbStateChange=0 -} - -# Set bddb record status=1, update ban time flag with newest -# Args: $1=IP Address $2=timeFlag -bddbEnableStatus () { - local record=`echo $1 | sed -e 's/\./_/g' -e 's/^/bddb_/'` - local newestTime=`bddbGetTimes $1 | sed 's/.* //' | xargs echo $2 | tr \ '\n' | sort -n | tail -1 ` - eval $record="1,$newestTime" - bddbStateChange=1 -} - -# Args: $1=IP Address -bddbGetStatus () { - bddbGetRecord $1 | cut -d, -f1 -} - -# Args: $1=IP Address -bddbGetTimes () { - bddbGetRecord $1 | cut -d, -f2- -} - -# Args: $1 = IP address, $2 [$3 ...] = timestamp (seconds since epoch) -bddbAddRecord () { - local ip="`echo "$1" | tr . _`" ; shift - local newEpochList="$@" status="`eval echo \\\$bddb_$ip | cut -f1 -d,`" - local oldEpochList="`eval echo \\\$bddb_$ip | cut -f2- -d, | tr , \ `" - local epochList=`echo $oldEpochList $newEpochList | xargs -n 1 echo | sort -un | xargs echo -n | tr \ ,` - [ -z "$status" ] && status=0 - eval "bddb_$ip"\=\"$status,$epochList\" - bddbStateChange=1 -} - -# Args: $1 = IP address -bddbRemoveRecord () { - local ip="`echo "$1" | tr . _`" - eval unset bddb_$ip - bddbStateChange=1 -} - -# Returns all IPs (not CIDR) present in records -bddbGetAllIPs () { - local ipRaw record - set | egrep '^bddb_[0-9_]*=' | tr \' \ | while read record ; do - ipRaw=`echo $record | cut -f1 -d= | sed 's/^bddb_//'` - if [ `echo $ipRaw | tr _ \ | wc -w` -eq 4 ] ; then - echo $ipRaw | tr _ . - fi - done -} - -# retrieve single IP record, Args: $1=IP -bddbGetRecord () { - local record - record=`echo $1 | sed -e 's/\./_/g' -e 's/^/bddb_/'` - eval echo \$$record -} - -isValidBindTime () { echo "$1" | egrep -q '^[0-9]+$|^([0-9]+[wdhms]?)+$' ; } - -# expands Bind time syntax into seconds (ex: 3w6d23h59m59s), Arg: $1=time string -expandBindTime () { - isValidBindTime "$1" || { logLine 0 "Error: Invalid time specified ($1)" >&2 ; exit 254 ; } - echo $((`echo "$1" | sed -e 's/w+*/*7d+/g' -e 's/d+*/*24h+/g' -e 's/h+*/*60m+/g' -e 's/m+*/*60+/g' \ - -e s/s//g -e s/+\$//`)) -} - -# Args: $1 = loglevel, $2 = info to log -logLine () { - [ $1 -gt $logLevel ] && return - shift - if [ "$logFacility" = "stdout" ] ; then echo "$@" - elif [ "$logFacility" = "stderr" ] ; then echo "$@" >&2 - else logger -t "$syslogTag" -p "$logFacility" "$@" - fi -} - -# extra validation, fails safe. Args: $1=log line -getLogTime () { - local logDateString=`echo "$1" | sed -n \ - 's/^[A-Z][a-z]* \([A-Z][a-z]* *[0-9][0-9]* *[0-9][0-9]*:[0-9][0-9]:[0-9][0-9] [0-9][0-9]*\) .*$/\1/p'` - date -d"$logDateString" -D"$formatLogDate" +%s || logLine 1 \ - "Error: logDateString($logDateString) malformed line ($1)" -} - -# extra validation, fails safe. Args: $1=log line -getLogIP () { - local logLine="$1" - local ebaPID=`echo "$logLine" | sed -n 's/^.*authpriv.info \(dropbear\[[0-9]*\]:\) Exit before auth:.*/\1/p'` - [ -n "$ebaPID" ] && logLine=`$cmdLogreadEba | fgrep "${ebaPID} Child connection from "` - echo "$logLine" | sed -n 's/^.*[^0-9]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p' -} - -# Args: $1=IP -unBanIP () { - if iptables -C $firewallChain -s $ip -j "$firewallTarget" 2>/dev/null ; then - logLine 1 "Removing ban rule for IP $ip from iptables" - iptables -D $firewallChain -s $ip -j "$firewallTarget" - else - logLine 3 "unBanIP() Ban rule for $ip not present in iptables" - fi -} - -# Args: $1=IP -banIP () { - local ip="$1" x chain position - if ! iptables -nL $firewallChain >/dev/null 2>/dev/null ; then - logLine 1 "Creating iptables chain $firewallChain" - iptables -N $firewallChain - fi - for x in $firewallHookChains ; do - chain="${x%:*}" ; position="${x#*:}" - if [ $position -ge 0 ] && ! iptables -C $chain -j $firewallChain 2>/dev/null ; then - logLine 1 "Inserting hook into iptables chain $chain" - if [ $position = 0 ] ; then - iptables -A $chain -j $firewallChain - else - iptables -I $chain $position -j $firewallChain - fi ; fi - done - if ! iptables -C $firewallChain -s $ip -j "$firewallTarget" 2>/dev/null ; then - logLine 1 "Inserting ban rule for IP $ip into iptables chain $firewallChain" - iptables -A $firewallChain -s $ip -j "$firewallTarget" - else - logLine 3 "banIP() rule for $ip already present in iptables chain" - fi -} - -wipeFirewall () { - local x chain position - for x in $firewallHookChains ; do - chain="${x%:*}" ; position="${x#*:}" - if [ $position -ge 0 ] ; then - if iptables -C $chain -j $firewallChain 2>/dev/null ; then - logLine 1 "Removing hook from iptables chain $chain" - iptables -D $chain -j $firewallChain - fi ; fi - done - if iptables -nL $firewallChain >/dev/null 2>/dev/null ; then - logLine 1 "Flushing and removing iptables chain $firewallChain" - iptables -F $firewallChain 2>/dev/null - iptables -X $firewallChain 2>/dev/null - fi -} - -# review state file for expired records - we could add the bantime to -# the rule via --comment but I can't think of a reason why that would -# be necessary unless there is a bug in the expiration logic. The -# state db should be more resiliant than the firewall in practice. -# -bddbCheckStatusAll () { - local now=`date +%s` - bddbGetAllIPs | while read ip ; do - if [ `bddbGetStatus $ip` -eq 1 ] ; then - logLine 3 "bddbCheckStatusAll($ip) testing banLength:$banLength + bddbGetTimes:`bddbGetTimes $ip` vs. now:$now" - if [ $((banLength + `bddbGetTimes $ip`)) -lt $now ] ; then - logLine 1 "Ban expired for $ip, removing from iptables" - unBanIP $ip - bddbRemoveRecord $ip - else - logLine 3 "bddbCheckStatusAll($ip) not expired yet" - banIP $ip - fi - elif [ `bddbGetStatus $ip` -eq 0 ] ; then - local times=`bddbGetTimes $ip | tr , \ ` - local timeCount=`echo $times | wc -w` - local lastTime=`echo $times | cut -d\ -f$timeCount` - if [ $((lastTime + attemptPeriod)) -lt $now ] ; then - bddbRemoveRecord $ip - fi ; fi - saveState - done - loadState -} - -# Only used when status is already 0 and possibly going to 1, Args: $1=IP -bddbEvaluateRecord () { - local ip=$1 firstTime lastTime - local times=`bddbGetRecord $1 | cut -d, -f2- | tr , \ ` - local timeCount=`echo $times | wc -w` - local didBan=0 - - # 1: not enough attempts => do nothing and exit - # 2: attempts exceed threshold in time period => ban - # 3: attempts exceed threshold but time period is too long => trim oldest time, recalculate - while [ $timeCount -ge $attemptCount ] ; do - firstTime=`echo $times | cut -d\ -f1` - lastTime=`echo $times | cut -d\ -f$timeCount` - timeDiff=$((lastTime - firstTime)) - logLine 3 "bddbEvaluateRecord($ip) count=$timeCount timeDiff=$timeDiff/$attemptPeriod" - if [ $timeDiff -le $attemptPeriod ] ; then - bddbEnableStatus $ip $lastTime - logLine 2 "bddbEvaluateRecord($ip) exceeded ban threshold, adding to iptables" - banIP $ip - didBan=1 - fi - times=`echo $times | cut -d\ -f2-` - timeCount=`echo $times | wc -w` - done - [ $didBan = 0 ] && logLine 2 "bddbEvaluateRecord($ip) does not exceed threshhold, skipping" -} - -# Reads filtered log line and evaluates for action Args: $1=log line -processLogLine () { - local time=`getLogTime "$1"` - local ip=`getLogIP "$1"` - local status="`bddbGetStatus $ip`" - - if [ "$status" = -1 ] ; then - logLine 2 "processLogLine($ip,$time) IP is whitelisted" - elif [ "$status" = 1 ] ; then - if [ "`bddbGetTimes $ip`" -ge $time ] ; then - logLine 2 "processLogLine($ip,$time) already banned, ban timestamp already equal or newer" - else - logLine 2 "processLogLine($ip,$time) already banned, updating ban timestamp" - bddbEnableStatus $ip $time - fi - banIP $ip - elif [ -n "$ip" -a -n "$time" ] ; then - bddbAddRecord $ip $time - logLine 2 "processLogLine($ip,$time) Added record, comparing" - bddbEvaluateRecord $ip - else - logLine 1 "processLogLine($ip,$time) malformed line ($1)" - fi -} - -# Args, $1=-f to force a persistent write (unless lastPersistentStateWrite=-1) -saveState () { - local forcePersistent=0 - [ "$1" = "-f" ] && forcePersistent=1 - - if [ $bddbStateChange -gt 0 ] ; then - logLine 3 "saveState() saving to temp state file" - bddbSave "$fileStateTempPrefix" "$fileStateType" - logLine 3 "saveState() now=`date +%s` lPSW=$lastPersistentStateWrite pSWP=$persistentStateWritePeriod fP=$forcePersistent" - fi - if [ $persistentStateWritePeriod -gt 1 ] || [ $persistentStateWritePeriod -eq 0 -a $forcePersistent -eq 1 ] ; then - if [ $((`date +%s` - lastPersistentStateWrite)) -ge $persistentStateWritePeriod ] || [ $forcePersistent -eq 1 ] ; then - if [ ! -f "$fileStatePersist" ] || ! cmp -s "$fileStateTemp" "$fileStatePersist" ; then - logLine 2 "saveState() writing to persistent state file" - bddbSave "$fileStatePersistPrefix" "$fileStateType" - lastPersistentStateWrite="`date +%s`" - fi ; fi ; fi -} - -loadState () { - bddbClear - bddbLoad "$fileStatePersistPrefix" "$fileStateType" - bddbLoad "$fileStateTempPrefix" "$fileStateType" - logLine 2 "loadState() loaded `bddbCount` entries" -} - -printUsage () { - cat <<-_EOF_ - Usage: beardropper [-m mode] [-a #] [-b #] [-c ...] [-C ...] [-f ...] [-l #] [-j ...] [-p #] [-P #] [-s ...] - - Running Modes (-m) (def: $defaultMode) - follow constantly monitors log - entire processes entire log contents - today processes log entries from same day only - # interval mode, specify time string or seconds - wipe wipe state files, unhook and remove firewall chain - - Options - -a # attempt count before banning (def: $attemptCount) - -b # ban length once attempts hit threshold (def: $banLength) - -c ... firewall chain to record bans (def: $firewallChain) - -C ... firewall chains/positions to hook into (def: $firewallHookChains) - -f ... log facility (syslog facility or stdout/stderr) (def: $logFacility) - -j ... firewall target (def: $firewallTarget) - -l # log level - 0=off, 1=standard, 2=verbose (def: $logLevel) - -p # attempt period which attempt counts must happen in (def: $attemptPeriod) - -P # persistent state file write period (def: $persistentStateWritePeriod) - -s ... persistent state file prefix (def: $fileStatePersistPrefix) - -t ... temporary state file prefix (def: $fileStateTempPrefix) - - All time strings can be specified in seconds, or using BIND style - time strings, ex: 1w2d3h5m30s is 1 week, 2 days, 3 hours, etc... - - _EOF_ -} - -# Begin main logic -# -unset logMode -while getopts a:b:c:C:f:hj:l:m:p:P:s:t: arg ; do - case "$arg" in - a) attemptCount="$OPTARG" ;; - b) banLength="$OPTARG" ;; - c) firewallChain="$OPTARG" ;; - C) firewallHookChains="$OPTARG" ;; - f) logFacility="$OPTARG" ;; - j) firewallTarget="$OPTARG" ;; - l) logLevel="$OPTARG" ;; - m) logMode="$OPTARG" ;; - p) attemptPeriod="$OPTARG" ;; - P) persistentStateWritePeriod="$OPTARG" ;; - s) fileStatePersistPrefix="$OPTARG" ;; - s) fileStatePersistPrefix="$OPTARG" ;; - *) printUsage - exit 254 - esac - shift `expr $OPTIND - 1` -done -[ -z $logMode ] && logMode="$defaultMode" - -fileStateTemp="$fileStateTempPrefix.$fileStateType" -fileStatePersist="$fileStatePersistPrefix.$fileStateType" - -attemptPeriod=`expandBindTime $attemptPeriod` -banLength=`expandBindTime $banLength` -[ $persistentStateWritePeriod != -1 ] && persistentStateWritePeriod=`expandBindTime $persistentStateWritePeriod` -followModeCheckInterval=`expandBindTime $followModeCheckInterval` -exitStatus=0 - -# Here we convert the logRegex list into a sed -f file -fileRegex="/tmp/beardropper.$$.regex" -uciLoad logRegex 's/[`$"'\\\'']//g' '/has invalid shell, rejected$/d' \ - '/^[A-Za-z ]+[0-9: ]+authpriv.warn dropbear\[.+([0-9]+\.){3}[0-9]+/p' \ - '/^[A-Za-z ]+[0-9: ]+authpriv.info dropbear\[.+:\ Exit before auth:.*/p' > "$fileRegex" -lastPersistentStateWrite="`date +%s`" -loadState -bddbCheckStatusAll - -# main event loops - -if [ "$logMode" = follow ] ; then - logLine 1 "Running in follow mode" - readsSinceSave=0 lastCheckAll=0 worstCaseReads=1 tmpFile="/tmp/beardropper.$$.1" -# Verify if these do any good - try saving to a temp. Scope may make saveState useless. - trap "rm -f "$tmpFile" "$fileRegex" ; exit " SIGINT - [ $persistentStateWritePeriod -gt 1 ] && worstCaseReads=$((persistentStateWritePeriod / followModeCheckInterval)) - firstRun=1 - $cmdLogread -f | while read -t $followModeCheckInterval line || true ; do - if [ $firstRun -eq 1 ] ; then - trap "saveState -f" SIGHUP - trap "saveState -f; exit" SIGINT - firstRun=0 - fi - sed -nEf "$fileRegex" > "$tmpFile" <<-_EOF_ - $line - _EOF_ - line="`cat $tmpFile`" - [ -n "$line" ] && processLogLine "$line" - logLine 3 "ReadComp:$readsSinceSave/$worstCaseReads" - if [ $((++readsSinceSave)) -ge $worstCaseReads ] ; then - now="`date +%s`" - if [ $((now - lastCheckAll)) -ge $followModeCheckInterval ] ; then - bddbCheckStatusAll - lastCheckAll="$now" - saveState - readsSinceSave=0 - fi - fi - done -elif [ "$logMode" = entire ] ; then - logLine 1 "Running in entire mode" - $cmdLogread | sed -nEf "$fileRegex" | while read line ; do - processLogLine "$line" - saveState - done - loadState - bddbCheckStatusAll - saveState -f -elif [ "$logMode" = today ] ; then - logLine 1 "Running in today mode" - # merge the egrep into sed with -e /^$formatTodayLogDateRegex/!d - $cmdLogread | egrep "`date +\'$formatTodayLogDateRegex\'`" | sed -nEf "$fileRegex" | while read line ; do - processLogLine "$line" - saveState - done - loadState - bddbCheckStatusAll - saveState -f -elif isValidBindTime "$logMode" ; then - logInterval=`expandBindTime $logMode` - logLine 1 "Running in interval mode (reviewing $logInterval seconds of log entries)..." - timeStart=$((`date +%s` - logInterval)) - $cmdLogread | sed -nEf "$fileRegex" | while read line ; do - timeWhen=`getLogTime "$line"` - [ $timeWhen -ge $timeStart ] && processLogLine "$line" - saveState - done - loadState - bddbCheckStatusAll - saveState -f -elif [ "$logMode" = wipe ] ; then - logLine 2 "Wiping state files, unhooking and removing iptables chains" - wipeFirewall - if [ -f "$fileStateTemp" ] ; then - logLine 1 "Removing non-persistent statefile ($fileStateTemp)" - rm -f "$fileStateTemp" - fi - if [ -f "$fileStatePersist" ] ; then - logLine 1 "Removing persistent statefile ($fileStatePersist)" - rm -f "$fileStatePersist" - fi -else - logLine 0 "Error: invalid log mode ($logMode)" - exitStatus=254 -fi - -rm -f "$fileRegex" -exit $exitStatus diff --git a/package/ctcgfw/luci-app-beardropper/root/usr/share/rpcd/acl.d/luci-app-beardropper.json b/package/ctcgfw/luci-app-beardropper/root/usr/share/rpcd/acl.d/luci-app-beardropper.json deleted file mode 100644 index 65451ae801..0000000000 --- a/package/ctcgfw/luci-app-beardropper/root/usr/share/rpcd/acl.d/luci-app-beardropper.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-beardropper": { - "description": "Grant UCI access for luci-app-beardropper", - "read": { - "uci": [ "beardropper" ] - }, - "write": { - "uci": [ "beardropper" ] - } - } -} \ No newline at end of file diff --git a/package/ctcgfw/luci-app-chinadns/Makefile b/package/ctcgfw/luci-app-chinadns/Makefile deleted file mode 100644 index e6623e6d35..0000000000 --- a/package/ctcgfw/luci-app-chinadns/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -# -# Copyright (C) 2017 Ian Li -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI Support for ChinaDNS -LUCI_DESCRIPTION:=LuCI Support for ChinaDNS. -LUCI_DEPENDS:=+ChinaDNS +curl -LUCI_PKGARCH:=all - -PKG_NAME:=luci-app-chinadns -PKG_VERSION:=2.0.1 -PKG_RELEASE:=2 - -PKG_LICENSE:=GPLv3 -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Ian Li - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature - diff --git a/package/ctcgfw/luci-app-chinadns/luasrc/controller/chinadns.lua b/package/ctcgfw/luci-app-chinadns/luasrc/controller/chinadns.lua deleted file mode 100644 index cd8056a4c0..0000000000 --- a/package/ctcgfw/luci-app-chinadns/luasrc/controller/chinadns.lua +++ /dev/null @@ -1,21 +0,0 @@ --- Copyright (C) 2016 OpenWrt-dist --- Copyright (C) 2016 Jian Chang --- Licensed to the public under the GNU General Public License v3. - -module("luci.controller.chinadns", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/chinadns") then - return - end - - entry({"admin", "services", "chinadns"}, cbi("chinadns"), _("ChinaDNS"), 70).dependent = true - entry({"admin", "services", "chinadns", "status"},call("act_status")).leaf=true -end - -function act_status() - local e={} - e.running=luci.sys.call("ps | grep /usr/sbin/chinadns | grep -v grep >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-chinadns/luasrc/model/cbi/chinadns.lua b/package/ctcgfw/luci-app-chinadns/luasrc/model/cbi/chinadns.lua deleted file mode 100644 index 66e1561d23..0000000000 --- a/package/ctcgfw/luci-app-chinadns/luasrc/model/cbi/chinadns.lua +++ /dev/null @@ -1,48 +0,0 @@ --- Copyright (C) 2016 OpenWrt-dist --- Copyright (C) 2016 Jian Chang --- Copyright (C) 2017 Ian Li --- Licensed to the public under the GNU General Public License v3. - -m = Map("chinadns", translate("ChinaDNS")) -m:section(SimpleSection).template = "chinadns/chinadns_status" - -s = m:section(TypedSection, "chinadns", translate("General Setting")) -s.anonymous = true - -o = s:option(Flag, "enable", translate("Enable")) -o.rmempty = false - -o = s:option(Flag, "yn_use_proxy", - translate("Used a proxy or not"), - translate("If you used a proxy like shadowsocks, please tick this option.")) -o.rmenpty = false - -o = s:option(Value, "port", translate("Local Port")) -o.placeholder = 5353 -o.default = 5353 -o.datatype = "port" -o.rmempty = false - -o = s:option(Value, "chnroute", translate("CHNRoute File")) -o.placeholder = "/etc/chinadns_chnroute.txt" -o.default = "/etc/chinadns_chnroute.txt" -o.datatype = "file" -o.rmempty = false - -o = s:option(Value, "foreign_subnet", - translate("Foreign Subnet"), - translate("Just foreign subnet. The local subnet will be automatically obtained.")) -o.placeholder = "45.76.96.0" -o.default = "45.76.96.0" -o.datatype = "ipaddr" -o:depends("yn_use_proxy", 0) - -o = s:option(Value, "server", - translate("Upstream Server"), - translate("A DNS server with edns-client-subnet support required, fill one only!")) -o.placeholder = "8.8.8.8" -o.default = "8.8.8.8" -o.datatype = "ipaddr" -o.rmempty = false - -return m diff --git a/package/ctcgfw/luci-app-chinadns/luasrc/view/chinadns/chinadns_status.htm b/package/ctcgfw/luci-app-chinadns/luasrc/view/chinadns/chinadns_status.htm deleted file mode 100644 index 6e63ee3b8b..0000000000 --- a/package/ctcgfw/luci-app-chinadns/luasrc/view/chinadns/chinadns_status.htm +++ /dev/null @@ -1,22 +0,0 @@ - - -
-

- <%:Collecting data...%> -

-
diff --git a/package/ctcgfw/luci-app-chinadns/po/zh_Hans/chinadns.po b/package/ctcgfw/luci-app-chinadns/po/zh_Hans/chinadns.po deleted file mode 100644 index 7682c8ee76..0000000000 --- a/package/ctcgfw/luci-app-chinadns/po/zh_Hans/chinadns.po +++ /dev/null @@ -1,41 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8\n" - -msgid "ChinaDNS" -msgstr "ChinaDNS" - -msgid "CHNRoute File" -msgstr "国内路由表" - -msgid "Enable" -msgstr "启用" - -msgid "Used a proxy or not" -msgstr "是否使用了代理服务器" - -msgid "If you used a proxy like shadowsocks, please tick this option." -msgstr "如果您使用了类似SS的代理程序,请勾选此选项" - -msgid "Foreign Subnet" -msgstr "外网子网" - -msgid "Just foreign subnet. The local subnet will be automatically obtained." -msgstr "仅填写外网子网地址即可,本地子网地址会自动获取。" - -msgid "General Setting" -msgstr "基本设置" - -msgid "Local Port" -msgstr "本地端口" - -msgid "NOT RUNNING" -msgstr "未运行" - -msgid "RUNNING" -msgstr "运行中" - -msgid "Upstream Server" -msgstr "上游服务器" - -msgid "A DNS server with edns-client-subnet support required, fill one only!" -msgstr "需要具有edns-client-subnet支持的DNS服务器,仅限填写一个!" diff --git a/package/ctcgfw/luci-app-chinadns/root/etc/config/chinadns b/package/ctcgfw/luci-app-chinadns/root/etc/config/chinadns deleted file mode 100644 index b7adc367aa..0000000000 --- a/package/ctcgfw/luci-app-chinadns/root/etc/config/chinadns +++ /dev/null @@ -1,7 +0,0 @@ -config chinadns - option chnroute '/etc/chinadns_chnroute.txt' - option enable '0' - option yn_use_proxy '0' - option port '5300' - option server '8.8.8.8' - option foreign_subnet '45.76.96.0' diff --git a/package/ctcgfw/luci-app-chinadns/root/etc/init.d/chinadns b/package/ctcgfw/luci-app-chinadns/root/etc/init.d/chinadns deleted file mode 100755 index 589ce1680b..0000000000 --- a/package/ctcgfw/luci-app-chinadns/root/etc/init.d/chinadns +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=99 -STOP=10 - -chnroute="$(uci get chinadns.@chinadns[0].chnroute)" -enable="$(uci get chinadns.@chinadns[0].enable)" -port="$(uci get chinadns.@chinadns[0].port)" -server="$(uci get chinadns.@chinadns[0].server)" -yn_use_proxy="$(uci get chinadns.@chinadns[0].yn_use_proxy)" - -local_subnet="$(curl -4 -s members.3322.org/dyndns/getip | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.')0" -[ "${yn_use_proxy}" -eq "1" ] && foreign_subnet="$(curl -4 -s ip.sb | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.')0)" || foreign_subnet="$(uci get chinadns.@chinadns[0].foreign_subnet)" - -start() -{ - stop - [ "${enable}" -eq "0" ] && exit 0 - /usr/sbin/chinadns -p "${port}" -s "${server}" -c "${chnroute}" -e "${local_subnet},${foreign_subnet}" >/dev/null 2>&1 & -} - -stop() -{ - kill -9 "$(ps | grep "/usr/sbin/chinadns" | grep -v grep | awk '{print $1}')" >/dev/null 2>&1 -} diff --git a/package/ctcgfw/luci-app-chinadns/root/etc/uci-defaults/luci-chinadns b/package/ctcgfw/luci-app-chinadns/root/etc/uci-defaults/luci-chinadns deleted file mode 100755 index 2309ac9612..0000000000 --- a/package/ctcgfw/luci-app-chinadns/root/etc/uci-defaults/luci-chinadns +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -uci -q batch <<-EOF >/dev/null - delete ucitrack.@chinands[-1] - add ucitrack chinadns - set ucitrack.@chinadns[-1].init=chinadns - commit ucitrack -EOF -exit 0 diff --git a/package/ctcgfw/luci-app-chinadns/root/usr/share/rpcd/acl.d/luci-app-chinadns.json b/package/ctcgfw/luci-app-chinadns/root/usr/share/rpcd/acl.d/luci-app-chinadns.json deleted file mode 100644 index 773cd696f1..0000000000 --- a/package/ctcgfw/luci-app-chinadns/root/usr/share/rpcd/acl.d/luci-app-chinadns.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-chinadns": { - "description": "Grant UCI access for luci-app-chinadns", - "read": { - "uci": [ "chinadns" ] - }, - "write": { - "uci": [ "chinadns" ] - } - } -} diff --git a/package/ctcgfw/luci-app-diskman/Makefile b/package/ctcgfw/luci-app-diskman/Makefile deleted file mode 100644 index 12fb45a803..0000000000 --- a/package/ctcgfw/luci-app-diskman/Makefile +++ /dev/null @@ -1,86 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-diskman -PKG_VERSION:=v0.2.11 -PKG_RELEASE:=beta -PKG_MAINTAINER:=lisaac -PKG_LICENSE:=AGPL-3.0 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/lisaac/luci-app-diskman.git -PKG_MIRROR_HASH:=b5ece7cb3918b9ca7ea0aabbf2e7b637ebf2b71ea2654117065c57079fad7df3 -PKG_SOURCE_VERSION:=$(PKG_VERSION) - -PKG_SOURCE_SUBDIR:=$(PKG_NAME) -PKG_SOURCE:=$(PKG_SOURCE_SUBDIR)-$(PKG_SOURCE_VERSION).tar.gz -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR) - -include $(INCLUDE_DIR)/package.mk - -define Package/$(PKG_NAME)/config -config PACKAGE_$(PKG_NAME)_INCLUDE_btrfs_progs - bool "Include btrfs-progs" - default y -config PACKAGE_$(PKG_NAME)_INCLUDE_lsblk - bool "Include lsblk" - default y -config PACKAGE_$(PKG_NAME)_INCLUDE_mdadm - bool "Include mdadm" - default n -config PACKAGE_$(PKG_NAME)_INCLUDE_kmod_md_raid456 - depends on PACKAGE_$(PKG_NAME)_INCLUDE_mdadm - bool "Include kmod-md-raid456" - default n -config PACKAGE_$(PKG_NAME)_INCLUDE_kmod_md_linear - depends on PACKAGE_$(PKG_NAME)_INCLUDE_mdadm - bool "Include kmod-md-linear" - default n -endef - -define Package/$(PKG_NAME) - SECTION:=luci - CATEGORY:=LuCI - SUBMENU:=3. Applications - TITLE:=Disk Manager interface for LuCI - PKGARCH:=all - DEPENDS:=+e2fsprogs +parted +smartmontools +blkid \ - +PACKAGE_$(PKG_NAME)_INCLUDE_btrfs_progs:btrfs-progs \ - +PACKAGE_$(PKG_NAME)_INCLUDE_lsblk:lsblk \ - +PACKAGE_$(PKG_NAME)_INCLUDE_mdadm:mdadm \ - +PACKAGE_$(PKG_NAME)_INCLUDE_kmod_md_raid456:mdadm \ - +PACKAGE_$(PKG_NAME)_INCLUDE_kmod_md_raid456:kmod-md-raid456 \ - +PACKAGE_$(PKG_NAME)_INCLUDE_kmod_md_linears:mdadm \ - +PACKAGE_$(PKG_NAME)_INCLUDE_kmod_md_linears:kmod-md-linear -endef - -define Package/$(PKG_NAME)/description - Disk Manager interface for LuCI -endef - -define Build/Prepare - tar -xzvf $(DL_DIR)/$(PKG_SOURCE) -C $(BUILD_DIR) -endef - -define Build/Compile -endef - -define Package/$(PKG_NAME)/postinst -#!/bin/sh -rm -fr /tmp/luci-indexcache /tmp/luci-modulecache -endef - -define Package/$(PKG_NAME)/install - # $(INSTALL_DIR) $(1)/ - # cp -pR $(PKG_BUILD_DIR)/root/* $(1)/ - # $(INSTALL_DIR) $(1)/www - # cp -pR $(PKG_BUILD_DIR)/htdoc/* $(1)/www - $(INSTALL_DIR) $(1)/usr/lib/lua/luci - cp -pR $(PKG_BUILD_DIR)/applications/$(PKG_NAME)/luasrc/* $(1)/usr/lib/lua/luci/ - $(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n - $$(foreach po,$$(shell find $(PKG_BUILD_DIR)/applications/$(PKG_NAME)/po/*/*.po), \ - po2lmo $$(po) \ - $(1)/usr/lib/lua/luci/i18n/diskman.$$(shell echo $$(po) | awk -F'/' '{print $$$$(NF-1)}').lmo;) - #po2lmo $(PKG_BUILD_DIR)/po/zh-cn/diskman.po $(1)/usr/lib/lua/luci/i18n/diskman.zh-cn.lmo -endef - -$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/package/ctcgfw/luci-app-filebrowser/Makefile b/package/ctcgfw/luci-app-filebrowser/Makefile deleted file mode 100644 index 3abe46bba8..0000000000 --- a/package/ctcgfw/luci-app-filebrowser/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# -# Copyright (C) 2021 ImmortalWrt -# -# -# This is free software, licensed under the GNU General Public License v3. -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI Support for FileBrowser -LUCI_DEPENDS:=+filebrowser -LUCI_PKGARCH:=all - -PKG_NAME:=luci-app-filebrowser -PKG_VERSION:=snapshot -PKG_RELEASE:=118071b - -PKG_LICENSE:=GPLv3 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-filebrowser/luasrc/controller/filebrowser.lua b/package/ctcgfw/luci-app-filebrowser/luasrc/controller/filebrowser.lua deleted file mode 100644 index c6ca9085b1..0000000000 --- a/package/ctcgfw/luci-app-filebrowser/luasrc/controller/filebrowser.lua +++ /dev/null @@ -1,19 +0,0 @@ -module("luci.controller.filebrowser", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/filebrowser") then - return - end - entry({"admin", "nas"}, firstchild(), _("NAS") , 45).dependent = false - local page - page = entry({"admin", "nas", "filebrowser"}, cbi("filebrowser"), _("文件管理器"), 100) - page.dependent = true - entry({"admin","nas","filebrowser","status"},call("act_status")).leaf=true -end - -function act_status() - local e={} - e.running=luci.sys.call("pgrep filebrowser >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-filebrowser/luasrc/model/cbi/filebrowser.lua b/package/ctcgfw/luci-app-filebrowser/luasrc/model/cbi/filebrowser.lua deleted file mode 100644 index 0a12e9cf72..0000000000 --- a/package/ctcgfw/luci-app-filebrowser/luasrc/model/cbi/filebrowser.lua +++ /dev/null @@ -1,42 +0,0 @@ -m = Map("filebrowser", translate("文件管理器"), translate("FileBrowser是一个基于Go的在线文件管理器,助您方便的管理设备上的文件。")) - -m:section(SimpleSection).template = "filebrowser/filebrowser_status" - -s = m:section(TypedSection, "filebrowser") -s.addremove = false -s.anonymous = true - -enable = s:option(Flag, "enabled", translate("启用")) -enable.rmempty = false - -o = s:option(ListValue, "addr_type", translate("监听地址")) -o:value("local", translate("监听本机地址")) -o:value("lan", translate("监听局域网地址")) -o:value("wan", translate("监听全部地址")) -o.default = "lan" -o.rmempty = false - -o = s:option(Value, "port", translate("监听端口")) -o.placeholder = 8989 -o.default = 8989 -o.datatype = "port" -o.rmempty = false - -o = s:option(Value, "root_dir", translate("开放目录")) -o.placeholder = "/" -o.default = "/" -o.rmempty = false - -o = s:option(Value, "db_dir", translate("数据库目录")) -o.placeholder = "/etc" -o.default = "/etc" -o.rmempty = false -o.description = translate("普通用户请勿随意更改") - -o = s:option(Value, "db_name", translate("数据库名")) -o.placeholder = "filebrowser.db" -o.default = "filebrowser.db" -o.rmempty = false -o.description = translate("普通用户请勿随意更改") - -return m diff --git a/package/ctcgfw/luci-app-filebrowser/luasrc/view/filebrowser/filebrowser_status.htm b/package/ctcgfw/luci-app-filebrowser/luasrc/view/filebrowser/filebrowser_status.htm deleted file mode 100644 index 9da250f534..0000000000 --- a/package/ctcgfw/luci-app-filebrowser/luasrc/view/filebrowser/filebrowser_status.htm +++ /dev/null @@ -1,27 +0,0 @@ - - -
-

- <%:Collecting data...%> -

-
diff --git a/package/ctcgfw/luci-app-filebrowser/root/etc/uci-defaults/luci-filebrowser b/package/ctcgfw/luci-app-filebrowser/root/etc/uci-defaults/luci-filebrowser deleted file mode 100755 index 8fece8810e..0000000000 --- a/package/ctcgfw/luci-app-filebrowser/root/etc/uci-defaults/luci-filebrowser +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@filebrowser[-1] - add ucitrack filebrowser - set ucitrack.@filebrowser[-1].init=filebrowser - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0 \ No newline at end of file diff --git a/package/ctcgfw/luci-app-filebrowser/root/usr/share/rpcd/acl.d/luci-app-filebrowser.json b/package/ctcgfw/luci-app-filebrowser/root/usr/share/rpcd/acl.d/luci-app-filebrowser.json deleted file mode 100644 index e01bde3d4a..0000000000 --- a/package/ctcgfw/luci-app-filebrowser/root/usr/share/rpcd/acl.d/luci-app-filebrowser.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-filebrowser": { - "description": "Grant UCI access for luci-app-filebrowser", - "read": { - "uci": [ "filebrowser" ] - }, - "write": { - "uci": [ "filebrowser" ] - } - } -} diff --git a/package/ctcgfw/luci-app-gost/Makefile b/package/ctcgfw/luci-app-gost/Makefile deleted file mode 100644 index 2c674d816e..0000000000 --- a/package/ctcgfw/luci-app-gost/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (C) 2020 Openwrt.org -# -# This is a free software, use it under GNU General Public License v3.0. -# -# Created By ImmortalWrt -# https://github.com/project-openwrt - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-gost -PKG_VERSION:=1.0 -PKG_RELEASE:=1 -LUCI_TITLE:=LuCI support for Gost -LUCI_DEPENDS:=+gost -LUCI_PKGARCH:=all - -PKG_MAINTAINER:=ImmortalWrt - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-gost/luasrc/controller/gost.lua b/package/ctcgfw/luci-app-gost/luasrc/controller/gost.lua deleted file mode 100644 index 1105b08700..0000000000 --- a/package/ctcgfw/luci-app-gost/luasrc/controller/gost.lua +++ /dev/null @@ -1,23 +0,0 @@ --- This is a free software, use it under GNU General Public License v3.0. --- Created By ImmortalWrt --- https://github.com/immortalwrt - -module("luci.controller.gost", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/gost") then - return - end - - local page - page = entry({"admin", "services", "gost"}, cbi("gost"), _("Gost"), 100) - page.dependent = true - entry({"admin", "services", "gost", "status"},call("act_status")).leaf=true -end - -function act_status() - local e={} - e.running=luci.sys.call("pgrep gost >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-gost/luasrc/model/cbi/gost.lua b/package/ctcgfw/luci-app-gost/luasrc/model/cbi/gost.lua deleted file mode 100644 index 116bd0dc9d..0000000000 --- a/package/ctcgfw/luci-app-gost/luasrc/model/cbi/gost.lua +++ /dev/null @@ -1,20 +0,0 @@ --- Created By ImmortalWrt --- https://github.com/immortalwrt - -mp = Map("gost", translate("Gost")) -mp.description = translate("A simple security tunnel written in Golang.") - -mp:section(SimpleSection).template = "gost/gost_status" - -s = mp:section(TypedSection, "gost") -s.anonymous=true -s.addremove=false - -enable = s:option(Flag, "enable", translate("Enable")) -enable.default = 0 -enable.rmempty = false - -run_command = s:option(Value, "run_command", translate("Command")) -run_command.rmempty = false - -return mp diff --git a/package/ctcgfw/luci-app-gost/luasrc/view/gost/gost_status.htm b/package/ctcgfw/luci-app-gost/luasrc/view/gost/gost_status.htm deleted file mode 100644 index 3f279c9ef5..0000000000 --- a/package/ctcgfw/luci-app-gost/luasrc/view/gost/gost_status.htm +++ /dev/null @@ -1,22 +0,0 @@ - - -
-

- <%:Collecting data...%> -

-
diff --git a/package/ctcgfw/luci-app-gost/po/zh_Hans/gost.po b/package/ctcgfw/luci-app-gost/po/zh_Hans/gost.po deleted file mode 100644 index 9ccabdeca5..0000000000 --- a/package/ctcgfw/luci-app-gost/po/zh_Hans/gost.po +++ /dev/null @@ -1,17 +0,0 @@ -msgid "Gost" -msgstr "Gost" - -msgid "A simple security tunnel written in Golang." -msgstr "GO语言实现的安全隧道。" - -msgid "RUNNING" -msgstr "运行中" - -msgid "NOT RUNNING" -msgstr "未运行" - -msgid "Enable" -msgstr "启用" - -msgid "Command" -msgstr "命令" diff --git a/package/ctcgfw/luci-app-gost/root/etc/uci-defaults/gost b/package/ctcgfw/luci-app-gost/root/etc/uci-defaults/gost deleted file mode 100755 index e1ddf16fab..0000000000 --- a/package/ctcgfw/luci-app-gost/root/etc/uci-defaults/gost +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@gost[-1] - add ucitrack gost - set ucitrack.@gost[-1].init=gost - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-gost/root/usr/share/rpcd/acl.d/luci-app-gost.json b/package/ctcgfw/luci-app-gost/root/usr/share/rpcd/acl.d/luci-app-gost.json deleted file mode 100644 index f5adf7e5cd..0000000000 --- a/package/ctcgfw/luci-app-gost/root/usr/share/rpcd/acl.d/luci-app-gost.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-gost": { - "description": "Grant UCI access for luci-app-gost", - "read": { - "uci": [ "gost" ] - }, - "write": { - "uci": [ "gost" ] - } - } -} diff --git a/package/ctcgfw/luci-app-gowebdav/Makefile b/package/ctcgfw/luci-app-gowebdav/Makefile deleted file mode 100644 index 1c79b62158..0000000000 --- a/package/ctcgfw/luci-app-gowebdav/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is a free software, use it under GNU General Public License v3.0. -# -# Created By ImmortalWrt -# https://github.com/project-openwrt - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-gowebdav -PKG_VERSION:=1.0 -PKG_RELEASE:=1 - -LUCI_TITLE:=LuCI support for GoWebDav -LUCI_DEPENDS:=+gowebdav -LUCI_PKGARCH:=all - -PKG_MAINTAINER:=CN_SZTL - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-gowebdav/luasrc/controller/gowebdav.lua b/package/ctcgfw/luci-app-gowebdav/luasrc/controller/gowebdav.lua deleted file mode 100644 index 0205164aaf..0000000000 --- a/package/ctcgfw/luci-app-gowebdav/luasrc/controller/gowebdav.lua +++ /dev/null @@ -1,19 +0,0 @@ -module("luci.controller.gowebdav", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/gowebdav") then - return - end - entry({"admin", "nas"}, firstchild(), _("NAS") , 45).dependent = false - local page - page = entry({"admin", "nas", "gowebdav"}, cbi("gowebdav"), _("GoWebDav"), 100) - page.dependent = true - entry({"admin","nas","gowebdav","status"},call("act_status")).leaf=true -end - -function act_status() - local e={} - e.running=luci.sys.call("pgrep gowebdav >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-gowebdav/luasrc/model/cbi/gowebdav.lua b/package/ctcgfw/luci-app-gowebdav/luasrc/model/cbi/gowebdav.lua deleted file mode 100644 index 4a92e784ad..0000000000 --- a/package/ctcgfw/luci-app-gowebdav/luasrc/model/cbi/gowebdav.lua +++ /dev/null @@ -1,59 +0,0 @@ --- Created By ImmortalWrt --- https://github.com/immortalwrt - -m = Map("gowebdav", translate("GoWebDav"), translate("GoWebDav is a tiny, simple, fast WevDav server.")) - -m:section(SimpleSection).template = "gowebdav/gowebdav_status" - -s = m:section(TypedSection, "gowebdav") -s.addremove = false -s.anonymous = true - -enable = s:option(Flag, "enable", translate("Enable")) -enable.rmempty = false - -listen_port = s:option(Value, "listen_port", translate("Listen Port")) -listen_port.placeholder = 6086 -listen_port.default = 6086 -listen_port.datatype = "port" -listen_port.rmempty = false - -username = s:option(Value, "username", translate("Username")) -username.description = translate("Leave blank to disable auth.") -username.placeholder = user -username.default = user -username.datatype = "string" - -password = s:option(Value, "password", translate("Password")) -password.description = translate("Leave blank to disable auth.") -password.placeholder = pass -password.default = pass -password.datatype = "string" -password.password = true - -root_dir = s:option(Value, "root_dir", translate("Root Directory")) -root_dir.placeholder = "/mnt" -root_dir.default = "/mnt" -root_dir.rmempty = false - -read_only = s:option(Flag, "read_only", translate("Read-Only Mode")) -read_only.rmempty = false - -allow_wan = s:option(Flag, "allow_wan", translate("Allow Access From Internet")) -allow_wan.rmempty = false - -use_https = s:option(Flag, "use_https", translate("Use HTTPS instead of HTTP")) -use_https.rmempty = false - -cert_cer = s:option(Value, "cert_cer", translate("Path to Certificate")) -cert_cer.datatype = "file" -cert_cer:depends("use_https", 1) - -cert_key = s:option(Value, "cert_key", translate("Path to Certificate Key")) -cert_key.datatype = "file" -cert_key:depends("use_https", 1) - -download_reg = s:option(DummyValue,"opennewwindow",translate("")) -download_reg.description = translate("Windows doesn't allow HTTP auth by default, you need to import this reg key to enable it (Reboot needed).") - -return m diff --git a/package/ctcgfw/luci-app-gowebdav/luasrc/view/gowebdav/gowebdav_status.htm b/package/ctcgfw/luci-app-gowebdav/luasrc/view/gowebdav/gowebdav_status.htm deleted file mode 100644 index 4e8e50f6ec..0000000000 --- a/package/ctcgfw/luci-app-gowebdav/luasrc/view/gowebdav/gowebdav_status.htm +++ /dev/null @@ -1,27 +0,0 @@ - - -
-

- <%:Collecting data...%> -

-
diff --git a/package/ctcgfw/luci-app-gowebdav/po/zh_Hans/gowebdav.po b/package/ctcgfw/luci-app-gowebdav/po/zh_Hans/gowebdav.po deleted file mode 100644 index f5f1e08e76..0000000000 --- a/package/ctcgfw/luci-app-gowebdav/po/zh_Hans/gowebdav.po +++ /dev/null @@ -1,47 +0,0 @@ -msgid "GoWebDav" -msgstr "GoWebDav" - -msgid "GoWebDav is a tiny, simple, fast WevDav server." -msgstr "GoWebDav 是一个轻巧、简单、快速的 WebDav 服务端程序。" - -msgid "Enable" -msgstr "启用" - -msgid "Listen Port" -msgstr "监听端口" - -msgid "Username" -msgstr "用户名" - -msgid "Password" -msgstr "密码" - -msgid "Leave blank to disable auth." -msgstr "留空以禁用身份验证。" - -msgid "Root Directory" -msgstr "开放目录" - -msgid "Read-Only Mode" -msgstr "只读模式" - -msgid "" -msgstr "" - -msgid "Windows doesn't allow HTTP auth by default, you need to import this reg key to enable it (Reboot needed)." -msgstr "Windows 系统默认不允许 HTTP 鉴权,您需要手动导入注册表文件以开启此功能(需重启)。" - -msgid "Allow Access From Internet" -msgstr "允许从外网访问" - -msgid "Use HTTPS instead of HTTP" -msgstr "使用 HTTPS 模式" - -msgid "Path to Certificate" -msgstr "证书位置" - -msgid "Path to Certificate Key" -msgstr "密钥位置" - -msgid "Open Web Interface" -msgstr "打开 Web 界面" diff --git a/package/ctcgfw/luci-app-gowebdav/root/etc/uci-defaults/gowebdav b/package/ctcgfw/luci-app-gowebdav/root/etc/uci-defaults/gowebdav deleted file mode 100755 index 2cb52d3e4f..0000000000 --- a/package/ctcgfw/luci-app-gowebdav/root/etc/uci-defaults/gowebdav +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@gowebdav[-1] - add ucitrack gowebdav - set ucitrack.@gowebdav[-1].init=gowebdav - commit ucitrack - delete firewall.gowebdav - set firewall.gowebdav=include - set firewall.gowebdav.type=script - set firewall.gowebdav.path=/var/etc/gowebdav.include - set firewall.gowebdav.reload=1 - commit firewall -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-gowebdav/root/usr/share/rpcd/acl.d/luci-app-gowebdav.json b/package/ctcgfw/luci-app-gowebdav/root/usr/share/rpcd/acl.d/luci-app-gowebdav.json deleted file mode 100644 index 9db3a3dfd5..0000000000 --- a/package/ctcgfw/luci-app-gowebdav/root/usr/share/rpcd/acl.d/luci-app-gowebdav.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-gowebdav": { - "description": "Grant UCI access for luci-app-gowebdav", - "read": { - "uci": [ "gowebdav" ] - }, - "write": { - "uci": [ "gowebdav" ] - } - } -} diff --git a/package/ctcgfw/luci-app-iptvhelper/Makefile b/package/ctcgfw/luci-app-iptvhelper/Makefile deleted file mode 100644 index 17ccaf2a55..0000000000 --- a/package/ctcgfw/luci-app-iptvhelper/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright 2019 Shun Li -# Licensed to the public under the GNU General Public License v3. - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-iptvhelper -PKG_VERSION:=0.1.1 -PKG_RELEASE:=1 - -PKG_MAINTAINER:=Shun Li -PKG_LICENSE:=GPL-3.0 - -LUCI_TITLE:=LuCI support for iptvhelper -LUCI_DEPENDS:=+luci-compat +iptvhelper -LUCI_PKGARCH:=all - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature \ No newline at end of file diff --git a/package/ctcgfw/luci-app-iptvhelper/luasrc/controller/iptvhelper.lua b/package/ctcgfw/luci-app-iptvhelper/luasrc/controller/iptvhelper.lua deleted file mode 100644 index 8290207e41..0000000000 --- a/package/ctcgfw/luci-app-iptvhelper/luasrc/controller/iptvhelper.lua +++ /dev/null @@ -1,14 +0,0 @@ --- Copyright 2019 Shun Li --- Licensed to the public under the GNU General Public License v3. - -module("luci.controller.iptvhelper", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/iptvhelper") then - return - end - - local page = entry({"admin", "services", "iptvhelper"}, cbi("iptvhelper"), _("IPTV Helper")) - page.dependent = true - -end \ No newline at end of file diff --git a/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua b/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua deleted file mode 100644 index e4a106b05a..0000000000 --- a/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua +++ /dev/null @@ -1,34 +0,0 @@ --- Copyright 2019 Shun Li --- Licensed to the public under the GNU General Public License v3. - -local sys = require "luci.sys" - -m = Map("iptvhelper", translate("IPTV Helper"), translate("Help you configure IPTV easily. Github")) - -s = m:section(TypedSection, "tvbox", translate("IPTV topbox parameters")) -s.addremove = true -s.anonymous = false - -enable=s:option(Flag, "disabled", translate("Enabled")) -enable.enabled = "0" -enable.disabled = "1" -enable.default = "1" -enable.rmempty = false -respawn=s:option(Flag, "respawn", translate("Respawn")) -respawn.default = false -ipset=s:option(Flag, "ipset", translate("Create ipset"), - translate("You can use it in mwan3.")) -ipset.default = true -dns_redir=s:option(Flag, "dns_redir", translate("Redirect topbox's DNS"), - translate("You may need it to jailbreak your topbox.")) -dns_redir.default = false - -host = s:option(Value, "mac", translate("Topbox MAC Address"), - translate("It is usually on the bottom side of topbox.")) -host.rmempty = false -host.datatype = "macaddr" -sys.net.mac_hints(function(mac, name) - host:value(mac, "%s (%s)" %{ mac, name }) -end) - -return m \ No newline at end of file diff --git a/package/ctcgfw/luci-app-iptvhelper/po/zh_Hans/iptvhelper.po b/package/ctcgfw/luci-app-iptvhelper/po/zh_Hans/iptvhelper.po deleted file mode 100644 index 6c34c12140..0000000000 --- a/package/ctcgfw/luci-app-iptvhelper/po/zh_Hans/iptvhelper.po +++ /dev/null @@ -1,58 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh_Hans\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua:19 -msgid "Create ipset" -msgstr "创建 ipset" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua:12 -msgid "Enabled" -msgstr "启用" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua:6 -msgid "" -"Help you configure IPTV easily. Github" -msgstr "" -"帮助你轻松配置IPTV。Github" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/controller/iptvhelper.lua:11 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua:6 -msgid "IPTV Helper" -msgstr "IPTV 帮手" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua:8 -msgid "IPTV topbox parameters" -msgstr "IPTV 机顶盒参数" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua:27 -msgid "It is usually on the bottom side of topbox." -msgstr "它通常贴在机顶盒的底部" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua:22 -msgid "Redirect topbox's DNS" -msgstr "重定向机顶盒的DNS" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua:17 -msgid "Respawn" -msgstr "进程守护" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua:26 -msgid "Topbox MAC Address" -msgstr "机顶盒MAC地址" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua:20 -msgid "You can use it in mwan3." -msgstr "你可以在mwan3中使用它" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-iptvhelper/luasrc/model/cbi/iptvhelper.lua:23 -msgid "You may need it to jailbreak your topbox." -msgstr "想要破解机顶盒可能会用到它" diff --git a/package/ctcgfw/luci-app-iptvhelper/root/etc/uci-defaults/40_iptvhelper b/package/ctcgfw/luci-app-iptvhelper/root/etc/uci-defaults/40_iptvhelper deleted file mode 100755 index 8ee6587be0..0000000000 --- a/package/ctcgfw/luci-app-iptvhelper/root/etc/uci-defaults/40_iptvhelper +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -# needed for "Save and Apply" to restart iptvhelper -uci -q batch <<-EOF >/dev/null - delete ucitrack.@iptvhelper[-1] - add ucitrack iptvhelper - set ucitrack.@iptvhelper[-1].init="iptvhelper" - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0 \ No newline at end of file diff --git a/package/ctcgfw/luci-app-iptvhelper/root/usr/share/rpcd/acl.d/luci-app-iptvhelper.json b/package/ctcgfw/luci-app-iptvhelper/root/usr/share/rpcd/acl.d/luci-app-iptvhelper.json deleted file mode 100644 index f65b74d367..0000000000 --- a/package/ctcgfw/luci-app-iptvhelper/root/usr/share/rpcd/acl.d/luci-app-iptvhelper.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-iptvhelper": { - "description": "Grant UCI access for luci-app-iptvhelper", - "read": { - "uci": [ "iptvhelper" ] - }, - "write": { - "uci": [ "iptvhelper" ] - } - } -} diff --git a/package/ctcgfw/luci-app-jd-dailybonus/Makefile b/package/ctcgfw/luci-app-jd-dailybonus/Makefile deleted file mode 100644 index 892065f7dd..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (C) 2006-2017 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=Luci for JD dailybonus Script -LUCI_DEPENDS:=+curl +libuci-lua +lua +node +node-request +wget-ssl -LUCI_PKGARCH:=all - -PKG_NAME:=luci-app-jd-dailybonus -PKG_VERSION:=1.0.5 -PKG_RELEASE:=20210316 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/controller/jd-dailybonus.lua b/package/ctcgfw/luci-app-jd-dailybonus/luasrc/controller/jd-dailybonus.lua deleted file mode 100644 index c8635a5a15..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/controller/jd-dailybonus.lua +++ /dev/null @@ -1,123 +0,0 @@ --- Copyright (C) 2020 jerrykuku --- Licensed to the public under the GNU General Public License v3. -module('luci.controller.jd-dailybonus', package.seeall) -function index() - if not nixio.fs.access('/etc/config/jd-dailybonus') then - return - end - - entry({'admin', 'services', 'jd-dailybonus'}, alias('admin', 'services', 'jd-dailybonus', 'client'), _('京东签到服务'), 10).dependent = true -- 首页 - entry({'admin', 'services', 'jd-dailybonus', 'client'}, cbi('jd-dailybonus/client', {hidesavebtn = true, hideresetbtn = true}), _('客户端'), 10).leaf = true -- 基本设置 - entry({'admin', 'services', 'jd-dailybonus', 'log'}, form('jd-dailybonus/log'), _('日志'), 30).leaf = true -- 日志页面 - entry({'admin', 'services', 'jd-dailybonus', 'script'}, form('jd-dailybonus/script'), _('脚本查看'), 20).leaf = true -- 直接配置脚本 - entry({'admin', 'services', 'jd-dailybonus', 'run'}, call('run')) -- 执行程序 - entry({'admin', 'services', 'jd-dailybonus', 'update'}, call('update')) -- 执行更新 - entry({'admin', 'services', 'jd-dailybonus', 'check_update'}, call('check_update')) -- 检查更新 - entry({'admin', 'services', 'jd-dailybonus', 'qrcode'}, call('qrcode')) -- 获取二维码 - entry({'admin', 'services', 'jd-dailybonus', 'check_login'}, call('check_login')) -- 获取二维码 - entry({'admin', 'services', 'jd-dailybonus', 'realtime_log'}, call('get_log')) -- 获取实时日志 -end - --- 执行程序 -function run() - local running = luci.sys.call("busybox ps -w | grep JD_DailyBonus.js | grep -v grep >/dev/null") == 0 - if not running then - luci.sys.call('sh /usr/share/jd-dailybonus/newapp.sh -r') - end - luci.http.write('') -end - ---检查更新 -function check_update() - local jd = 'jd-dailybonus' - local e = {} - local new_version = luci.sys.exec('sh /usr/share/jd-dailybonus/newapp.sh -n') - e.new_version = new_version - e.error = 0 - luci.http.prepare_content('application/json') - luci.http.write_json(e) -end - ---执行更新 -function update() - local jd = 'jd-dailybonus' - local e = {} - local uci = luci.model.uci.cursor() - local version = luci.http.formvalue('version') - --下载脚本 - local code = luci.sys.exec('sh /usr/share/jd-dailybonus/newapp.sh -u') - e.error = code - luci.http.prepare_content('application/json') - luci.http.write_json(e) -end - -local User_Agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36' -local Host='Host: plogin.m.jd.com' -local Accept='Accept: application/json, text/plain, */*' -local Accept_Language='Accept-Language: zh-cn' -local cookie='/tmp/jd_cookie' - -function get_timestamp() - return os.time()*1000 -end - -function get_s_token() - luci.sys.exec('rm -f ' .. cookie) - local timestamp = get_timestamp() - local url = - 'https://plogin.m.jd.com/cgi-bin/mm/new_login_entrance?lang=chs&appid=300&returnurl=https://wq.jd.com/passport/LoginRedirect?state=' .. - timestamp .. '&returnurl=https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action&source=wq_passport' - local referer = - 'https://plogin.m.jd.com/login/login?appid=300&returnurl=https://wq.jd.com/passport/LoginRedirect?state=' .. - timestamp .. '&returnurl=https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action&source=wq_passport' - local s_token = luci.sys.exec("echo -n $(wget-ssl --header='"..Accept.."' --header='"..Accept_Language.."' --header='"..Host.."' --referer='"..referer.."' --user-agent='"..User_Agent.."' --save-cookies="..cookie.." --keep-session-cookies -q -O - '"..url.."' | sed s/[[:space:]]//g | grep -oE '\"s_token\":\"(.+?)\"' | awk -F \\\" '{print $4}')") - return s_token -end - ---获取二维码 -function qrcode() - local timestamp = get_timestamp() - local s_token = get_s_token() - local url = 'https://plogin.m.jd.com/cgi-bin/m/tmauthreflogurl?s_token='..s_token..'&v='..timestamp..'&remember=true' - local referer = 'https://plogin.m.jd.com/login/login?appid=300&returnurl=https://wq.jd.com/passport/LoginRedirect?state=' .. timestamp .. '&returnurl=https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action&source=wq_passport' - local response = luci.sys.exec("echo -n $(wget-ssl --header='"..Accept.."' --header='"..Accept_Language.."' --header='"..Host.."' --referer='"..referer.."' --user-agent='"..User_Agent.."' --load-cookies="..cookie.." --save-cookies="..cookie.." --keep-session-cookies -q -O - '"..url.."')") - local token = luci.sys.exec("echo -n $(echo \'"..response.."\' | grep -oE '\"token\":\"(.+?)\"' | awk -F \\\" '{print $4}')") - local ou_state = luci.sys.exec("echo -n $(echo \'"..response.."\' | grep -oE '\"ou_state\":(\\d+)' | awk -F : '{print $2}')") - local okl_token = luci.sys.exec("echo -n $(cat "..cookie.." | grep okl_token | awk '{print $7}')") - local return_json = { - qrcode_url = 'https://plogin.m.jd.com/cgi-bin/m/tmauth?appid=300&client_type=m&token=' .. token, - check_url = 'https://plogin.m.jd.com/cgi-bin/m/tmauthchecktoken?&token=' .. token .. '&ou_state=' .. ou_state .. '&okl_token=' .. okl_token, - } - luci.http.prepare_content('application/json') - luci.http.write_json(return_json) -end - ---检测登录 -function check_login() - local uci = luci.model.uci.cursor() - local data = luci.http.formvalue() - local post_data = 'lang=chs&appid=300&source=wq_passport&returnurl=https://wqlogin2.jd.com/passport/LoginRedirect?state=1100399130787&returnurl=//home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action' - local referer='https://plogin.m.jd.com/login/login?appid=300&returnurl=https://wqlogin2.jd.com/passport/LoginRedirect?state=' - local response = luci.sys.exec("echo -n $(wget-ssl --post-data='"..post_data.."' --header='"..Accept.."' --header='"..Accept_Language.."' --header='"..Host.."' --referer='"..referer.."' --user-agent='"..User_Agent.."' --load-cookies="..cookie.." --save-cookies="..cookie.." --keep-session-cookies -q -O - '"..data.check_url.."')") - local return_json = { - error = tonumber(luci.sys.exec("echo -n $(echo \'"..response.."\' | grep -oE '\"errcode\":(\\d+)' | awk -F : '{print $2}')")), - msg = luci.sys.exec("echo -n $(echo \'"..response.."\' | grep -oE '\"message\":\"(.+?)\"' | awk -F \\\" '{print $4}')"), - } - if return_json.error == 0 then - local pt_key = luci.sys.exec("echo -n $(cat "..cookie.." | grep pt_key | awk '{print $7}')") - local pt_pin = luci.sys.exec("echo -n $(cat "..cookie.." | grep pt_pin | awk '{print $7}')") - return_json.cookie = 'pt_key=' .. pt_key .. ';pt_pin=' .. pt_pin .. ';' - end - - luci.http.prepare_content('application/json') - luci.http.write_json(return_json) -end - -function get_log() - local fs = require "nixio.fs" - local e = {} - e.running = luci.sys.call("busybox ps -w | grep JD_DailyBonus.js | grep -v grep >/dev/null") == 0 - e.log = fs.readfile("/var/log/jd_dailybonus.log") or "" - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/client.lua b/package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/client.lua deleted file mode 100644 index a4b20f0edb..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/client.lua +++ /dev/null @@ -1,106 +0,0 @@ -local jd = 'jd-dailybonus' -local uci = luci.model.uci.cursor() -local sys = require 'luci.sys' - -m = Map(jd) --- [[ 基本设置 ]]-- - -s = m:section(TypedSection, 'global', translate('基本设置')) -s.anonymous = true - -o = s:option(DynamicList, "Cookies", translate("账号 Cookie 列表")) -o.rmempty = false -o.description = translate('双击输入框或点击添加图标即可调出二维码,扫码后自动填入。') - -o = s:option(DummyValue, '', '') -o.rawhtml = true -o.template = 'jd-dailybonus/cookie_tools' - -o = s:option(Value, 'stop', translate('延迟签到')) -o.rmempty = false -o.default = 0 -o.datatype = integer -o.description = translate('自定义延迟签到,单位毫秒. 默认分批并发无延迟. (延迟作用于每个签到接口, 如填入延迟则切换顺序签到. ) ') - -o = s:option(Value, 'out', translate('接口超时')) -o.rmempty = false -o.default = 0 -o.datatype = integer -o.description = translate('接口超时退出,单位毫秒 用于可能发生的网络不稳定, 0则关闭.') - --- server chan -o = s:option(ListValue, 'serverurl', translate('Server酱的推送接口地址')) -o:value('scu', translate('SCU')) -o:value('sct', translate('SCT')) -o.default = 'scu' -o.rmempty = false -o.description = translate('选择Server酱的推送接口') - -o = s:option(Value, 'serverchan', translate('Server酱 SCKEY')) -o.rmempty = true -o.description = translate('微信推送,基于Server酱服务,请自行登录 http://sc.ftqq.com/ 绑定并获取 SCKEY。') - --- Dingding - -o = s:option(Value, 'dd_token', translate('Dingding Bot Token')) -o.rmempty = true -o.description = translate('创建一个群机器人并获取API Token,设置安全关键字为:京东') - --- telegram - -o = s:option(Value, 'tg_token', translate('Telegram Bot Token')) -o.rmempty = true -o.description = translate('首先在Telegram上搜索BotFather机器人,创建一个属于自己的通知机器人,并获取Token。') - -o = s:option(Value, 'tg_userid', translate('Telegram UserID')) -o.rmempty = true -o.description = translate('在Telegram上搜索getuserIDbot机器人,获取UserID。') - ---Auto Run Script Service - -o = s:option(Flag, 'auto_run', translate('自动签到')) -o.rmempty = false - -o = s:option(ListValue, 'auto_run_time_h', translate('每天签到时间(小时)')) -for t = 0, 23 do - o:value(t, t) -end -o.default = 1 -o.rmempty = true -o:depends('auto_run', '1') -o = s:option(ListValue, 'auto_run_time_m', translate('每天签到时间(分钟)')) -for t = 0, 59 do - o:value(t, t) -end -o.default = 1 -o.rmempty = true -o:depends('auto_run', '1') - --- Auto Update Script Service - -o = s:option(Flag, 'auto_update', translate('自动更新')) -o.rmempty = false - -o = s:option(ListValue, 'auto_update_time', translate('每天更新时间')) -for t = 0, 23 do - o:value(t, t .. ':01') -end -o.default = 1 -o.rmempty = true -o:depends('auto_update', '1') - -o = s:option(Value, 'remote_url', translate('更新源地址')) -o:value('https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js', translate('GitHub')) -o:value('https://raw.sevencdn.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js', translate('GitHub CDN 01')) -o:value('https://cdn.jsdelivr.net/gh/NobyDa/Script/JD-DailyBonus/JD_DailyBonus.js', translate('GitHub CDN 02')) -o:value('https://ghproxy.com/https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js', translate('韩国首尔')) -o.default = 'nil' -o.rmempty = false -o.description = translate('当GitHub源无法更新时,可以选择使用国内Gitee源,GitHub CDN可能比原地址更晚更新,但速度快') - -o = s:option(DummyValue, '', '') -o.rawhtml = true -o.version = sys.exec('uci get jd-dailybonus.@global[0].version') -o.template = 'jd-dailybonus/update_service' - -return m diff --git a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/log.lua b/package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/log.lua deleted file mode 100644 index c492942e46..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/log.lua +++ /dev/null @@ -1,9 +0,0 @@ -log = SimpleForm("logview") -log.submit = false -log.reset = false - -t = log:field(DummyValue, '', '') -t.rawhtml = true -t.template = 'jd-dailybonus/log' - -return log \ No newline at end of file diff --git a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/script.lua b/package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/script.lua deleted file mode 100644 index 50162cc5ec..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/model/cbi/jd-dailybonus/script.lua +++ /dev/null @@ -1,22 +0,0 @@ -local fs = require "nixio.fs" - -s = SimpleForm("scriptview") - -view_cfg = s:field(TextValue, "conf") -view_cfg.rmempty = false -view_cfg.rows = 43 - -function sync_value_to_file(value, file) - value = value:gsub("\r\n?", "\n") - local old_value = fs.readfile(file) - if value ~= old_value then fs.writefile(file, value) end -end - -function view_cfg.cfgvalue() - return fs.readfile("/usr/share/jd-dailybonus/JD_DailyBonus.js") or "" -end -function view_cfg.write(self, section, value) - sync_value_to_file(value, "/usr/share/jd-dailybonus/JD_DailyBonus.js") -end - -return s diff --git a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/cookie_tools.htm b/package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/cookie_tools.htm deleted file mode 100644 index fe185edd2a..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/cookie_tools.htm +++ /dev/null @@ -1,165 +0,0 @@ -<%+cbi/valueheader%> - - - - -<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/log.htm b/package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/log.htm deleted file mode 100644 index 5b142c1d07..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/log.htm +++ /dev/null @@ -1,17 +0,0 @@ -<%+cbi/valueheader%> - - - -<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/update_service.htm b/package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/update_service.htm deleted file mode 100644 index 70e7ef6727..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/luasrc/view/jd-dailybonus/update_service.htm +++ /dev/null @@ -1,62 +0,0 @@ -<%+cbi/valueheader%> - -
- -
- - -
- -
- - -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-jd-dailybonus/po/zh_Hans/jd-dailybonus.po b/package/ctcgfw/luci-app-jd-dailybonus/po/zh_Hans/jd-dailybonus.po deleted file mode 100644 index 22daa12df6..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/po/zh_Hans/jd-dailybonus.po +++ /dev/null @@ -1,111 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8\n" - -msgid "JD-DailyBonus" -msgstr "京东签到服务" - -msgid "Enable" -msgstr "启用" - -msgid "Disable" -msgstr "停用" - -msgid "Log" -msgstr "日志" - -msgid "Script" -msgstr "脚本" - -msgid "Base Config" -msgstr "基本设置" - -msgid "Cookie Tools" -msgstr "Cookie 工具" - -msgid "JDCookie Tools" -msgstr "获取京东cookie扩展工具" - -msgid "Source Update Url" -msgstr "更新源地址" - -msgid "First Cookie" -msgstr "主账号Cookie" - -msgid "Second Cookie" -msgstr "第二账号Cookie" - -msgid "Click to download the JDCookie.zip,unzip it,and use load Unpacked extensions to install.link:[chrome://extensions/]")" -msgstr "点击上面的按钮安装下载JDCookie.zip(获取京东cookie扩展工具),解压后在[chrome://extensions/]中使用加载已解压的扩展程序进行安装。 " - -msgid "JD Url" -msgstr "京东链接" - -msgid "Sign in ,then click JDCookie button.you will copy JD cookies, paste the cookie below." -msgstr "登录后点击JDCookie 扩展工具复制cookie,然后粘贴到下面输入框中。(请使用F12调试工具,进入模拟手机浏览器模式)" - -msgid "Auto Update Script Service" -msgstr "自动更新脚本服务" - -msgid "Update time (every day)" -msgstr "更新时间 (每天)" - -msgid "Update Script" -msgstr "更新脚本" - -msgid "Execute Delay" -msgstr "延迟签到" - -msgid "ServerChan SCKEY" -msgstr "Server酱 SCKEY" - -msgid "ServerURL" -msgstr "Server酱的推送接口地址" - -msgid "SCT" -msgstr "测试版推送接口地址" - -msgid "SCU" -msgstr "原版推送接口地址" - -msgid "Failed Push" -msgstr "失效时推送" - -msgid "Auto Run" -msgstr "自动签到" - -msgid "Run" -msgstr "执行" - -msgid "Auto Run Script Service" -msgstr "自动签到服务" - -msgid "Run time (every day)" -msgstr "签到时间 (每天)" - -msgid "Save Cookies And Run Service" -msgstr "保存Cookie并签到" - -msgid "Sign in info" -msgstr "签到信息" - -msgid "Service is running,Please do not refresh!" -msgstr "服务正在执行中,请勿刷新!" - -msgid "Updating script,please wait ..." -msgstr "正在更新脚本,请稍候 ..." - -msgid "Is currently the latest version" -msgstr "当前已是最新版本。" - -msgid "There is a new version, click to update" -msgstr "有新的版本,请点击更新" - -msgid "Checking the New Version ..." -msgstr "正在检查是否存在新的版本 ..." - -msgid "Check Script Version" -msgstr "手动检查脚本更新" - -msgid "Current Script Version" -msgstr "当前脚本版本" - diff --git a/package/ctcgfw/luci-app-jd-dailybonus/root/etc/config/jd-dailybonus b/package/ctcgfw/luci-app-jd-dailybonus/root/etc/config/jd-dailybonus deleted file mode 100644 index 4635253f6b..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/root/etc/config/jd-dailybonus +++ /dev/null @@ -1,14 +0,0 @@ -config global - option version '1.96' - option out '0' - option stop '100' - option serverchan '' - option remote_url 'https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js' - option serverurl 'scu' - option auto_update '1' - option auto_update_time '23' - option auto_run '1' - option auto_run_time '0' - option auto_run_time_m '1' - option auto_run_time_h '1' - list Cookies '双击扫码添加 Cookie 数据' diff --git a/package/ctcgfw/luci-app-jd-dailybonus/root/etc/init.d/jd-dailybonus b/package/ctcgfw/luci-app-jd-dailybonus/root/etc/init.d/jd-dailybonus deleted file mode 100755 index 46af8dcbcf..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/root/etc/init.d/jd-dailybonus +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh /etc/rc.common -# -# Copyright (C) 2020 Jerryk -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# - -USE_PROCD=1 -START=25 - -NAME=jd-dailybonus -CRON_FILE=/etc/crontabs/root - - -del_cron() { - sed -i '/jd-dailybonus/d' $CRON_FILE - /etc/init.d/cron restart -} - -start_service(){ - sh /usr/share/jd-dailybonus/newapp.sh -s -} - -stop_service() { - del_cron -} - -service_triggers() { - procd_add_reload_trigger "jd-dailybonus" -} \ No newline at end of file diff --git a/package/ctcgfw/luci-app-jd-dailybonus/root/etc/uci-defaults/luci-jd-dailybonus b/package/ctcgfw/luci-app-jd-dailybonus/root/etc/uci-defaults/luci-jd-dailybonus deleted file mode 100755 index faf357268f..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/root/etc/uci-defaults/luci-jd-dailybonus +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@jd-dailybonus[-1] - add ucitrack jd-dailybonus - set ucitrack.@jd-dailybonus[-1].init=jd-dailybonus - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-jd-dailybonus/root/lib/upgrade/keep.d/jd-dailybonus b/package/ctcgfw/luci-app-jd-dailybonus/root/lib/upgrade/keep.d/jd-dailybonus deleted file mode 100644 index b180f45bef..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/root/lib/upgrade/keep.d/jd-dailybonus +++ /dev/null @@ -1,2 +0,0 @@ -/usr/share/jd-dailybonus/CookieSet.json -/usr/share/jd-dailybonus/JD_DailyBonus.js diff --git a/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/JD_DailyBonus.js b/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/JD_DailyBonus.js deleted file mode 100644 index eebf818b36..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/JD_DailyBonus.js +++ /dev/null @@ -1,2413 +0,0 @@ -/************************* - -京东多合一签到脚本 - -更新时间: 2021.02.28 18:30 v1.96 -有效接口: 35+ -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -电报频道: @NobyDa -问题反馈: @NobyDa_bot -如果转载: 请注明出处 - -************************* -【 JSbox, Node.js 说明 】 : -************************* - -开启抓包app后, Safari浏览器登录 https://bean.m.jd.com/bean/signIndex.action 点击签到并且出现签到日历后, 返回抓包app搜索关键字 functionId=signBean 复制请求头Cookie填入以下Key处的单引号内即可 */ - -var Key = ''; //单引号内自行填写您抓取的Cookie - -var DualKey = ''; //如需双账号签到,此处单引号内填写抓取的"账号2"Cookie, 否则请勿填写 - -var OtherKey = ''; //第三账号或以上的Cookie json串数据, 以下样例为第三第四账号:var OtherKey = '[{"cookie":"pt_key=xxxxxx;pt_pin=yyyyyy"},{"cookie":"pt_key=xxxxxx;pt_pin=yyyyyy"}]' - -/* 注1: 以上选项仅针对于JsBox或Node.js, 如果使用QX,Surge,Loon, 请使用脚本获取Cookie. - 注2: 双账号用户抓取"账号1"Cookie后, 请勿点击退出账号(可能会导致Cookie失效), 需清除浏览器资料或更换浏览器登录"账号2"抓取. - 注3: 如果复制的Cookie开头为"Cookie: "请把它删除后填入. - 注4: 如果使用QX,Surge,Loon并获取Cookie后, 再重复填写以上选项, 则签到优先读取以上Cookie. - 注5: 如果使用Node.js, 需自行安装'request'模块. 例: npm install request -g - 注6: Node.js或JSbox环境下已配置数据持久化, 填写Cookie运行一次后, 后续更新脚本无需再次填写, 待Cookie失效后重新抓取填写即可. - -************************* -【 QX, Surge, Loon 说明 】 : -************************* - -初次使用时, app配置文件添加脚本配置,并启用Mitm后, Safari浏览器打开登录 https://bean.m.jd.com/bean/signIndex.action ,点击签到并且出现签到日历后, 如果通知获得cookie成功, 则可以使用此签到脚本。 注: 请勿在京东APP内获取!!! - -由于cookie的有效性(经测试网页Cookie有效周期最长31天),如果脚本后续弹出cookie无效的通知,则需要重复上述步骤。 -签到脚本将在每天的凌晨0:05执行, 您可以修改执行时间。 因部分接口京豆限量领取, 建议调整为凌晨签到。 - -BoxJs或QX Gallery订阅地址: https://raw.githubusercontent.com/NobyDa/Script/master/NobyDa_BoxJs.json - -************************* -【 配置多京东账号签到说明 】 : -************************* - -正确配置QX、Surge、Loon后, 并使用此脚本获取"账号1"Cookie成功后, 请勿点击退出账号(可能会导致Cookie失效), 需清除浏览器资料或更换浏览器登录"账号2"获取即可; 账号3或以上同理. -注: 如需清除所有Cookie, 您可开启脚本内"DeleteCookie"选项 (第96行) - -************************* -【Surge 4.2+ 脚本配置】: -************************* - -[Script] -京东多合一签到 = type=cron,cronexp=5 0 * * *,wake-system=1,timeout=60,script-path=https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js - -获取京东Cookie = type=http-request,pattern=https:\/\/api\.m\.jd\.com\/client\.action.*functionId=signBean,script-path=https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js - -[MITM] -hostname = api.m.jd.com - -************************* -【Loon 2.1+ 脚本配置】: -************************* - -[Script] -cron "5 0 * * *" tag=京东多合一签到, script-path=https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js - -http-request https:\/\/api\.m\.jd\.com\/client\.action.*functionId=signBean tag=获取京东Cookie, script-path=https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js - -[MITM] -hostname = api.m.jd.com - -************************* -【 QX 1.0.10+ 脚本配置 】 : -************************* - -[task_local] -# 京东多合一签到 -# 注意此为远程路径, 低版本用户请自行调整为本地路径. -5 0 * * * https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js, tag=京东多合一签到, img-url=https://raw.githubusercontent.com/NobyDa/mini/master/Color/jd.png,enabled=true - -[rewrite_local] -# 获取京东Cookie. -# 注意此为远程路径, 低版本用户请自行调整为本地路径. -https:\/\/api\.m\.jd\.com\/client\.action.*functionId=signBean url script-request-header https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js - -[mitm] -hostname = api.m.jd.com - -*************************/ - -var LogDetails = false; //是否开启响应日志, true则开启 - -var stop = '0'; //自定义延迟签到, 单位毫秒. 默认分批并发无延迟; 该参数接受随机或指定延迟(例: '2000'则表示延迟2秒; '2000-5000'则表示延迟最小2秒,最大5秒内的随机延迟), 如填入延迟则切换顺序签到(耗时较长), Surge用户请注意在SurgeUI界面调整脚本超时; 注: 该参数Node.js或JSbox环境下已配置数据持久化, 留空(var stop = '')即可清除. - -var DeleteCookie = false; //是否清除所有Cookie, true则开启. - -var boxdis = true; //是否开启自动禁用, false则关闭. 脚本运行崩溃时(如VPN断连), 下次运行时将自动禁用相关崩溃接口(仅部分接口启用), 崩溃时可能会误禁用正常接口. (该选项仅适用于QX,Surge,Loon) - -var ReDis = false; //是否移除所有禁用列表, true则开启. 适用于触发自动禁用后, 需要再次启用接口的情况. (该选项仅适用于QX,Surge,Loon) - -var out = 0; //接口超时退出, 用于可能发生的网络不稳定, 0则关闭. 如QX日志出现大量"JS Context timeout"后脚本中断时, 建议填写6000 - -var $nobyda = nobyda(); - -async function all() { - merge = {}; - switch (stop) { - case 0: - await Promise.all([ - JingDongBean(stop), //京东京豆 - JingDongStore(stop), //京东超市 - JingRongSteel(stop), //金融钢镚 - JingDongTurn(stop), //京东转盘 - JDFlashSale(stop), //京东闪购 - JingDongCash(stop), //京东现金红包 - JDMagicCube(stop, 2), //京东小魔方 - JingDongSubsidy(stop), //京东金贴 - JingDongGetCash(stop), //京东领现金 - JingDongShake(stop), //京东摇一摇 - JDSecKilling(stop), //京东秒杀 - JRLuckyLottery(stop), //金融抽奖顶部签到 - JingDongBuyCar(stop, '31dd4ebdcad341b79e36cb7c29095de9'), //京东汽车 - JingRongDoll(stop, 'JRDoll', '京东金融-签壹', '4D25A6F482'), - JingRongDoll(stop, 'JRTwoDoll', '京东金融-签贰', '3A3E839252'), - JingRongDoll(stop, 'JRThreeDoll', '京东金融-签叁', '69F5EC743C'), - JingRongDoll(stop, 'JRFourDoll', '京东金融-签肆', '30C4F86264'), - JingRongDoll(stop, 'JRFiveDoll', '京东金融-签伍', '1D06AA3B0F') - ]); - await Promise.all([ - JDUserSignPre(stop, 'JDCustomized', '京东商城-定制', 'RPordkuhnM4MzR24fLWgc8YRbXJ'), //京东定制 - JDUserSignPre(stop, 'JDShoes', '京东商城-鞋靴', '4RXyb1W4Y986LJW8ToqMK14BdTD'), //京东鞋靴 - JDUserSignPre(stop, 'JDCalendar', '京东日历-翻牌', '36V2Qw59VPNsuLxY84vCFtxFzrFs'), //京东日历翻牌 - JDUserSignPre(stop, 'JDChild', '京东商城-童装', '3Af6mZNcf5m795T8dtDVfDwWVNhJ'), //京东童装馆 - JDUserSignPre(stop, 'JDBaby', '京东商城-母婴', '3BbAVGQPDd6vTyHYjmAutXrKAos6'), //京东母婴馆 - JDUserSignPre(stop, 'JD3C', '京东商城-数码', '4SWjnZSCTHPYjE5T7j35rxxuMTb6'), //京东数码电器馆 - JDUserSignPre(stop, 'JDWomen', '京东商城-女装', 'DpSh7ma8JV7QAxSE2gJNro8Q2h9'), //京东女装馆 - JDUserSignPre(stop, 'JDBook', '京东商城-图书', '3SC6rw5iBg66qrXPGmZMqFDwcyXi'), //京东图书 - JingRongDoll(stop, 'JTDouble', '京东金贴-双签', '1DF13833F7'), //京东金融 金贴双签 - JingRongDoll(stop, 'XJDouble', '金融现金-双签', 'F68B2C3E71', '', '', '', 'xianjin') //京东金融 现金双签 - ]); - await Promise.all([ - JDUserSignPre(stop, 'JDClothing', '京东商城-服饰', '4RBT3H9jmgYg1k2kBnHF8NAHm7m8'), //京东服饰 - JDUserSignPre(stop, 'JDSuitcase', '京东商城-箱包', 'ZrH7gGAcEkY2gH8wXqyAPoQgk6t'), //京东箱包馆 - JDUserSignPre(stop, 'JDSchool', '京东商城-校园', '2QUxWHx5BSCNtnBDjtt5gZTq7zdZ'), //京东校园 - JDUserSignPre(stop, 'JDHealth', '京东商城-健康', 'w2oeK5yLdHqHvwef7SMMy4PL8LF'), //京东健康 - JDUserSignPre(stop, 'JDShand', '京东拍拍-二手', '3S28janPLYmtFxypu37AYAGgivfp'), //京东拍拍二手 - JDUserSignPre(stop, 'JDClean', '京东商城-清洁', '2Tjm6ay1ZbZ3v7UbriTj6kHy9dn6'), //京东清洁馆 - JDUserSignPre(stop, 'JDCare', '京东商城-个护', '2tZssTgnQsiUqhmg5ooLSHY9XSeN'), //京东个人护理馆 - JDUserSignPre(stop, 'JDJewels', '京东商城-珠宝', 'zHUHpTHNTaztSRfNBFNVZscyFZU'), //京东珠宝馆 - // JDUserSignPre(stop, 'JDClocks', '京东商城-钟表', '2BcJPCVVzMEtMUynXkPscCSsx68W'), //京东钟表馆 - JDUserSignPre(stop, 'JDMakeup', '京东商城-美妆', '2smCxzLNuam5L14zNJHYu43ovbAP'), //京东美妆馆 - JDUserSignPre(stop, 'JDVege', '京东商城-菜场', 'Wcu2LVCFMkBP3HraRvb7pgSpt64') //京东菜场 - ]); - await JingDongSpeedUp(stop); //京东天天加速 - await JingRongDoll(stop, 'JDDouble', '金融京豆-双签', 'F68B2C3E71', '', '', '', 'jingdou'); //京东金融 京豆双签 - break; - default: - await JingDongBean(0); //京东京豆 - await JingDongStore(Wait(stop)); //京东超市 - await JingRongSteel(Wait(stop)); //金融钢镚 - await JingDongTurn(Wait(stop)); //京东转盘 - await JDFlashSale(Wait(stop)); //京东闪购 - await JingDongCash(Wait(stop)); //京东现金红包 - await JDMagicCube(Wait(stop), 2); //京东小魔方 - await JingDongGetCash(Wait(stop)); //京东领现金 - await JingDongSubsidy(Wait(stop)); //京东金贴 - await JingDongShake(Wait(stop)); //京东摇一摇 - await JDSecKilling(Wait(stop)); //京东秒杀 - await JRLuckyLottery(Wait(stop)); //金融抽奖顶部签到 - await JingDongBuyCar(Wait(stop), '31dd4ebdcad341b79e36cb7c29095de9'); //京东汽车 - await JingRongDoll(Wait(stop), 'JRTwoDoll', '京东金融-签贰', '3A3E839252'); - await JingRongDoll(Wait(stop), 'JRThreeDoll', '京东金融-签叁', '69F5EC743C'); - await JingRongDoll(Wait(stop), 'JRFourDoll', '京东金融-签肆', '30C4F86264'); - await JingRongDoll(Wait(stop), 'JRFiveDoll', '京东金融-签伍', '1D06AA3B0F'); - await JingRongDoll(Wait(stop), 'JRDoll', '京东金融-签壹', '4D25A6F482'); - await JingRongDoll(Wait(stop), 'XJDouble', '金融现金-双签', 'F68B2C3E71', '', '', '', 'xianjin'); //京东金融 现金双签 - await JingRongDoll(Wait(stop), 'JTDouble', '京东金贴-双签', '1DF13833F7'); //京东金融 金贴双签 - await JDUserSignPre(Wait(stop), 'JDCustomized', '京东商城-定制', 'RPordkuhnM4MzR24fLWgc8YRbXJ'); //京东定制 - await JDUserSignPre(Wait(stop), 'JDSuitcase', '京东商城-箱包', 'ZrH7gGAcEkY2gH8wXqyAPoQgk6t'); //京东箱包馆 - await JDUserSignPre(Wait(stop), 'JDClothing', '京东商城-服饰', '4RBT3H9jmgYg1k2kBnHF8NAHm7m8'); //京东服饰 - await JDUserSignPre(Wait(stop), 'JDSchool', '京东商城-校园', '2QUxWHx5BSCNtnBDjtt5gZTq7zdZ'); //京东校园 - await JDUserSignPre(Wait(stop), 'JDHealth', '京东商城-健康', 'w2oeK5yLdHqHvwef7SMMy4PL8LF'); //京东健康 - await JDUserSignPre(Wait(stop), 'JDShoes', '京东商城-鞋靴', '4RXyb1W4Y986LJW8ToqMK14BdTD'); //京东鞋靴 - await JDUserSignPre(Wait(stop), 'JDCalendar', '京东日历-翻牌', '36V2Qw59VPNsuLxY84vCFtxFzrFs'); //京东日历翻牌 - await JDUserSignPre(Wait(stop), 'JDChild', '京东商城-童装', '3Af6mZNcf5m795T8dtDVfDwWVNhJ'); //京东童装馆 - await JDUserSignPre(Wait(stop), 'JDBaby', '京东商城-母婴', '3BbAVGQPDd6vTyHYjmAutXrKAos6'); //京东母婴馆 - await JDUserSignPre(Wait(stop), 'JD3C', '京东商城-数码', '4SWjnZSCTHPYjE5T7j35rxxuMTb6'); //京东数码电器馆 - // await JDUserSignPre(Wait(stop), 'JDClocks', '京东商城-钟表', '2BcJPCVVzMEtMUynXkPscCSsx68W'); //京东钟表馆 - await JDUserSignPre(Wait(stop), 'JDWomen', '京东商城-女装', 'DpSh7ma8JV7QAxSE2gJNro8Q2h9'); //京东女装馆 - await JDUserSignPre(Wait(stop), 'JDBook', '京东商城-图书', '3SC6rw5iBg66qrXPGmZMqFDwcyXi'); //京东图书 - await JDUserSignPre(Wait(stop), 'JDShand', '京东拍拍-二手', '3S28janPLYmtFxypu37AYAGgivfp'); //京东拍拍二手 - await JDUserSignPre(Wait(stop), 'JDMakeup', '京东商城-美妆', '2smCxzLNuam5L14zNJHYu43ovbAP'); //京东美妆馆 - await JDUserSignPre(Wait(stop), 'JDVege', '京东商城-菜场', 'Wcu2LVCFMkBP3HraRvb7pgSpt64'); //京东菜场 - await JDUserSignPre(Wait(stop), 'JDClean', '京东商城-清洁', '2Tjm6ay1ZbZ3v7UbriTj6kHy9dn6'); //京东清洁馆 - await JDUserSignPre(Wait(stop), 'JDCare', '京东商城-个护', '2tZssTgnQsiUqhmg5ooLSHY9XSeN'); //京东个人护理馆 - await JDUserSignPre(Wait(stop), 'JDJewels', '京东商城-珠宝', 'zHUHpTHNTaztSRfNBFNVZscyFZU'); //京东珠宝馆 - await JingRongDoll(Wait(stop), 'JDDouble', '金融京豆-双签', 'F68B2C3E71', '', '', '', 'jingdou'); //京东金融 京豆双签 - await JingDongSpeedUp(Wait(stop)); //京东天天加速 - break; - } - await Promise.all([ - TotalSteel(), //总钢镚查询 - TotalCash(), //总红包查询 - TotalBean(), //总京豆查询 - TotalSubsidy(), //总金贴查询 - TotalMoney() //总现金查询 - ]); - await notify(); //通知模块 -} - -function notify() { - return new Promise(resolve => { - try { - var bean = 0; - var steel = 0; - var cash = 0; - var money = 0; - var subsidy = 0; - var success = 0; - var fail = 0; - var err = 0; - var notify = ''; - for (var i in merge) { - bean += merge[i].bean ? Number(merge[i].bean) : 0 - steel += merge[i].steel ? Number(merge[i].steel) : 0 - cash += merge[i].Cash ? Number(merge[i].Cash) : 0 - money += merge[i].Money ? Number(merge[i].Money) : 0 - subsidy += merge[i].subsidy ? Number(merge[i].subsidy) : 0 - success += merge[i].success ? Number(merge[i].success) : 0 - fail += merge[i].fail ? Number(merge[i].fail) : 0 - err += merge[i].error ? Number(merge[i].error) : 0 - notify += merge[i].notify ? "\n" + merge[i].notify : "" - } - var Cash = merge.TotalCash && merge.TotalCash.TCash ? `${merge.TotalCash.TCash}红包` : "" - var Steel = merge.TotalSteel && merge.TotalSteel.TSteel ? `${merge.TotalSteel.TSteel}钢镚` : `` - var beans = merge.TotalBean && merge.TotalBean.Qbear ? `${merge.TotalBean.Qbear}京豆${Steel?`, `:``}` : "" - var Money = merge.TotalMoney && merge.TotalMoney.TMoney ? `${merge.TotalMoney.TMoney}现金${Cash?`, `:``}` : "" - var Subsidy = merge.TotalSubsidy && merge.TotalSubsidy.TSubsidy ? `${merge.TotalSubsidy.TSubsidy}金贴${Money||Cash?", ":""}` : "" - var Tbean = bean ? `${bean.toFixed(0)}京豆${steel?", ":""}` : "" - var TSteel = steel ? `${steel.toFixed(2)}钢镚` : "" - var TCash = cash ? `${cash.toFixed(2)}红包${subsidy||money?", ":""}` : "" - var TSubsidy = subsidy ? `${subsidy.toFixed(2)}金贴${money?", ":""}` : "" - var TMoney = money ? `${money.toFixed(2)}现金` : "" - var Ts = success ? `成功${success}个${fail||err?`, `:``}` : `` - var Tf = fail ? `失败${fail}个${err?`, `:``}` : `` - var Te = err ? `错误${err}个` : `` - var one = `【签到概览】: ${Ts+Tf+Te}${Ts||Tf||Te?`\n`:`获取失败\n`}` - var two = Tbean || TSteel ? `【签到奖励】: ${Tbean+TSteel}\n` : `` - var three = TCash || TSubsidy || TMoney ? `【其他奖励】: ${TCash+TSubsidy+TMoney}\n` : `` - var four = `【账号总计】: ${beans+Steel}${beans||Steel?`\n`:`获取失败\n`}` - var five = `【其他总计】: ${Subsidy+Money+Cash}${Subsidy||Money||Cash?`\n`:`获取失败\n`}` - var DName = merge.TotalBean && merge.TotalBean.nickname ? merge.TotalBean.nickname : "获取失败" - var cnNum = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"]; - const numFix = !Key && !DualKey ? DualAccount - 2 : Key && DualKey ? DualAccount : DualAccount - 1 || DualAccount - const Name = DualKey || OtherKey ? `【签到号${cnNum[numFix]||numFix}】: ${DName}\n` : `` - const disables = $nobyda.read("JD_DailyBonusDisables") - const amount = disables ? disables.split(",").length : 0 - const disa = !notify || amount ? `【温馨提示】: 检测到${$nobyda.disable?`上次执行意外崩溃, `:``}已禁用${notify?`${amount}个`:`所有`}接口, 如需开启请前往BoxJs或查看脚本内第100行注释.\n` : `` - $nobyda.notify("", "", Name + one + two + three + four + five + disa + notify, { - 'media-url': $nobyda.headUrl || 'https://cdn.jsdelivr.net/gh/NobyDa/mini@master/Color/jd.png' - }); - $nobyda.headUrl = null; - if ($nobyda.isJSBox) { - Shortcut = (typeof(Shortcut) == 'undefined' ? '' : Shortcut) + Name + one + two + three + four + five + "\n" - } - double(); - } catch (eor) { - $nobyda.notify("通知模块 " + eor.name + "‼️", JSON.stringify(eor), eor.message) - } finally { - resolve() - } - }); -} - -function ReadCookie() { - DualAccount = 1; - const EnvInfo = $nobyda.isJSBox ? "JD_Cookie" : "CookieJD" - const EnvInfo2 = $nobyda.isJSBox ? "JD_Cookie2" : "CookieJD2" - const EnvInfo3 = $nobyda.isJSBox ? "JD_Cookies" : "CookiesJD" - if (DeleteCookie) { - if ($nobyda.read(EnvInfo) || $nobyda.read(EnvInfo2) || ($nobyda.read(EnvInfo3) || '[]') != '[]') { - $nobyda.write("", EnvInfo) - $nobyda.write("", EnvInfo2) - $nobyda.write("", EnvInfo3) - $nobyda.notify("京东Cookie清除成功 !", "", '请手动关闭脚本内"DeleteCookie"选项') - $nobyda.done() - return - } - $nobyda.notify("脚本终止", "", '未关闭脚本内"DeleteCookie"选项 ‼️') - $nobyda.done() - return - } else if ($nobyda.isRequest) { - GetCookie() - return - } - Key = Key || $nobyda.read(EnvInfo) - DualKey = DualKey || $nobyda.read(EnvInfo2) - OtherKey = OtherKey || $nobyda.read(EnvInfo3) - KEY = Key || DualKey - if (KEY || OtherKey) { - if ($nobyda.isJSBox || $nobyda.isNode) { - if (Key) $nobyda.write(Key, EnvInfo); - if (DualKey) $nobyda.write(DualKey, EnvInfo2); - if (OtherKey) $nobyda.write(OtherKey, EnvInfo3); - if (stop !== '0') $nobyda.write(stop, "JD_DailyBonusDelay"); - } - out = parseInt($nobyda.read("JD_DailyBonusTimeOut")) || out - stop = Wait($nobyda.read("JD_DailyBonusDelay"), true) || Wait(stop, true) - boxdis = $nobyda.read("JD_Crash_disable") === "false" || $nobyda.isNode || $nobyda.isJSBox ? false : boxdis - LogDetails = $nobyda.read("JD_DailyBonusLog") === "true" || LogDetails - ReDis = ReDis ? $nobyda.write("", "JD_DailyBonusDisables") : "" - if (KEY) { - all() - } else { - double() - } - } else { - $nobyda.notify("京东签到", "", "脚本终止, 未获取Cookie ‼️") - $nobyda.done() - } -} - -function double() { - KEY = ''; - if (DualAccount == 1) { - DualAccount++; - KEY = Key ? DualKey : '' - } - if (!KEY && OtherKey) { - DualAccount++; - let cks = []; - try { - cks = JSON.parse(OtherKey); - } catch (e) { - cks = []; - console.log(`\n第三及以上账号Cookie读取失败, 请检查Json格式.`) - } - if (cks.length + 2 >= DualAccount) { - KEY = cks[DualAccount - 3].cookie; - } - } - if (KEY) { - all() - } else { - if ($nobyda.isJSBox) { - $intents.finish(Shortcut) - } - $nobyda.time(); - $nobyda.done(); - } -} - -function JingDongBean(s) { - merge.JDBean = {}; - return new Promise(resolve => { - if (disable("JDBean")) return resolve() - setTimeout(() => { - const JDBUrl = { - url: 'https://api.m.jd.com/client.action', - headers: { - Cookie: KEY - }, - body: 'functionId=signBeanIndex&appid=ld' - }; - $nobyda.post(JDBUrl, function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const cc = JSON.parse(data) - const Details = LogDetails ? "response:\n" + data : ''; - if (cc.code == 3) { - console.log("\n" + "京东商城-京豆Cookie失效 " + Details) - merge.JDBean.notify = "京东商城-京豆: 失败, 原因: Cookie失效‼️" - merge.JDBean.fail = 1 - } else if (data.match(/跳转至拼图/)) { - merge.JDBean.notify = "京东商城-京豆: 失败, 需要拼图验证 ⚠️" - merge.JDBean.fail = 1 - } else if (data.match(/\"status\":\"?1\"?/)) { - console.log("\n" + "京东商城-京豆签到成功 " + Details) - if (data.match(/dailyAward/)) { - merge.JDBean.notify = "京东商城-京豆: 成功, 明细: " + cc.data.dailyAward.beanAward.beanCount + "京豆 🐶" - merge.JDBean.bean = cc.data.dailyAward.beanAward.beanCount - } else if (data.match(/continuityAward/)) { - merge.JDBean.notify = "京东商城-京豆: 成功, 明细: " + cc.data.continuityAward.beanAward.beanCount + "京豆 🐶" - merge.JDBean.bean = cc.data.continuityAward.beanAward.beanCount - } else if (data.match(/新人签到/)) { - const quantity = data.match(/beanCount\":\"(\d+)\".+今天/) - merge.JDBean.bean = quantity ? quantity[1] : 0 - merge.JDBean.notify = "京东商城-京豆: 成功, 明细: " + (quantity ? quantity[1] : "无") + "京豆 🐶" - } else { - merge.JDBean.notify = "京东商城-京豆: 成功, 明细: 无京豆 🐶" - } - merge.JDBean.success = 1 - } else { - merge.JDBean.fail = 1 - console.log("\n" + "京东商城-京豆签到失败 " + Details) - if (data.match(/(已签到|新人签到)/)) { - merge.JDBean.notify = "京东商城-京豆: 失败, 原因: 已签过 ⚠️" - } else if (data.match(/人数较多|S101/)) { - merge.JDBean.notify = "京东商城-京豆: 失败, 签到人数较多 ⚠️" - } else { - merge.JDBean.notify = "京东商城-京豆: 失败, 原因: 未知 ⚠️" - } - } - } - } catch (eor) { - $nobyda.AnError("京东商城-京豆", "JDBean", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JingDongTurn(s) { - merge.JDTurn = {}, merge.JDTurn.notify = "", merge.JDTurn.success = 0, merge.JDTurn.bean = 0; - return new Promise((resolve, reject) => { - if (disable("JDTurn")) return reject() - const JDTUrl = { - url: 'https://api.m.jd.com/client.action?functionId=wheelSurfIndex&body=%7B%22actId%22%3A%22jgpqtzjhvaoym%22%2C%22appSource%22%3A%22jdhome%22%7D&appid=ld', - headers: { - Cookie: KEY, - } - }; - $nobyda.get(JDTUrl, async function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const cc = JSON.parse(data).data.lotteryCode - const Details = LogDetails ? "response:\n" + data : ''; - if (cc) { - console.log("\n" + "京东商城-转盘查询成功 " + Details) - return resolve(cc) - } else { - merge.JDTurn.notify = "京东商城-转盘: 失败, 原因: 查询错误 ⚠️" - merge.JDTurn.fail = 1 - console.log("\n" + "京东商城-转盘查询失败 " + Details) - } - } - } catch (eor) { - $nobyda.AnError("京东转盘-查询", "JDTurn", eor, response, data) - } finally { - reject() - } - }) - if (out) setTimeout(reject, out + s) - }).then(data => { - return JingDongTurnSign(s, data); - }, () => {}); -} - -function JingDongTurnSign(s, code) { - return new Promise(resolve => { - setTimeout(() => { - const JDTUrl = { - url: `https://api.m.jd.com/client.action?functionId=lotteryDraw&body=%7B%22actId%22%3A%22jgpqtzjhvaoym%22%2C%22appSource%22%3A%22jdhome%22%2C%22lotteryCode%22%3A%22${code}%22%7D&appid=ld`, - headers: { - Cookie: KEY, - } - }; - $nobyda.get(JDTUrl, async function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const cc = JSON.parse(data) - const Details = LogDetails ? "response:\n" + data : ''; - const also = merge.JDTurn.notify ? true : false - if (cc.code == 3) { - console.log("\n" + "京东转盘Cookie失效 " + Details) - merge.JDTurn.notify = "京东商城-转盘: 失败, 原因: Cookie失效‼️" - merge.JDTurn.fail = 1 - } else if (data.match(/(\"T216\"|活动结束)/)) { - merge.JDTurn.notify = "京东商城-转盘: 失败, 原因: 活动结束 ⚠️" - merge.JDTurn.fail = 1 - } else if (data.match(/(京豆|\"910582\")/)) { - console.log("\n" + "京东商城-转盘签到成功 " + Details) - merge.JDTurn.bean += Number(cc.data.prizeSendNumber) || 0 - merge.JDTurn.notify += `${also?`\n`:``}京东商城-转盘: ${also?`多次`:`成功`}, 明细: ${cc.data.prizeSendNumber||`无`}京豆 🐶` - merge.JDTurn.success += 1 - if (cc.data.chances != "0") { - await JingDongTurnSign(2000, code) - } - } else if (data.match(/未中奖/)) { - merge.JDTurn.notify += `${also?`\n`:``}京东商城-转盘: ${also?`多次`:`成功`}, 状态: 未中奖 🐶` - merge.JDTurn.success += 1 - if (cc.data.chances != "0") { - await JingDongTurnSign(2000, code) - } - } else { - console.log("\n" + "京东商城-转盘签到失败 " + Details) - merge.JDTurn.fail = 1 - if (data.match(/(T215|次数为0)/)) { - merge.JDTurn.notify = "京东商城-转盘: 失败, 原因: 已转过 ⚠️" - } else if (data.match(/(T210|密码)/)) { - merge.JDTurn.notify = "京东商城-转盘: 失败, 原因: 无支付密码 ⚠️" - } else { - merge.JDTurn.notify += `${also?`\n`:``}京东商城-转盘: 失败, 原因: 未知 ⚠️${also?` (多次)`:``}` - } - } - } - } catch (eor) { - $nobyda.AnError("京东商城-转盘", "JDTurn", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JingRongSteel(s) { - merge.JRSteel = {}; - return new Promise(resolve => { - if (disable("JRSteel")) return resolve() - setTimeout(() => { - const JRSUrl = { - url: 'https://ms.jr.jd.com/gw/generic/hy/h5/m/signIn1', - headers: { - Cookie: KEY - }, - body: "reqData=%7B%22channelSource%22%3A%22JRAPP6.0%22%2C%22riskDeviceParam%22%3A%22%7B%7D%22%7D" - }; - $nobyda.post(JRSUrl, function(error, response, data) { - try { - if (error) throw new Error(error) - const cc = JSON.parse(data) - const Details = LogDetails ? "response:\n" + data : ''; - if (data.match(/\"resBusiCode\":0/)) { - console.log("\n" + "京东金融-钢镚签到成功 " + Details) - const leng = cc.resultData.resBusiData.actualTotalRewardsValue - const spare = cc.resultData.resBusiData.baseReward - merge.JRSteel.steel = leng ? leng > 9 ? `0.${leng}` : `0.0${leng}` : spare ? spare : 0 - merge.JRSteel.notify = `京东金融-钢镚: 成功, 明细: ${merge.JRSteel.steel || `无`}钢镚 💰` - merge.JRSteel.success = 1 - } else { - console.log("\n" + "京东金融-钢镚签到失败 " + Details) - merge.JRSteel.fail = 1 - if (data.match(/已经领取|\"resBusiCode\":15/)) { - merge.JRSteel.notify = "京东金融-钢镚: 失败, 原因: 已签过 ⚠️" - } else if (data.match(/未实名/)) { - merge.JRSteel.notify = "京东金融-钢镚: 失败, 账号未实名 ⚠️" - } else if (data.match(/(\"resultCode\":3|请先登录)/)) { - merge.JRSteel.notify = "京东金融-钢镚: 失败, 原因: Cookie失效‼️" - } else { - merge.JRSteel.notify = "京东金融-钢镚: 失败, 原因: 未知 ⚠️" - } - } - } catch (eor) { - $nobyda.AnError("京东金融-钢镚", "JRSteel", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JingDongShake(s) { - if (!merge.JDShake) merge.JDShake = {}, merge.JDShake.success = 0, merge.JDShake.bean = 0, merge.JDShake.notify = ''; - return new Promise(resolve => { - if (disable("JDShake")) return resolve() - setTimeout(() => { - const JDSh = { - url: 'https://api.m.jd.com/client.action?appid=vip_h5&functionId=vvipclub_shaking', - headers: { - Cookie: KEY, - } - }; - $nobyda.get(JDSh, async function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const Details = LogDetails ? "response:\n" + data : ''; - const cc = JSON.parse(data) - const also = merge.JDShake.notify ? true : false - if (data.match(/prize/)) { - console.log("\n" + "京东商城-摇一摇签到成功 " + Details) - merge.JDShake.success += 1 - if (cc.data.prizeBean) { - merge.JDShake.bean += cc.data.prizeBean.count || 0 - merge.JDShake.notify += `${also?`\n`:``}京东商城-摇摇: ${also?`多次`:`成功`}, 明细: ${merge.JDShake.bean || `无`}京豆 🐶` - } else if (cc.data.prizeCoupon) { - merge.JDShake.notify += `${also?`\n`:``}京东商城-摇摇: ${also?`多次, `:``}获得满${cc.data.prizeCoupon.quota}减${cc.data.prizeCoupon.discount}优惠券→ ${cc.data.prizeCoupon.limitStr}` - } else { - merge.JDShake.notify += `${also?`\n`:``}京东商城-摇摇: 成功, 明细: 未知 ⚠️${also?` (多次)`:``}` - } - if (cc.data.luckyBox.freeTimes != 0) { - await JingDongShake(s) - } - } else { - console.log("\n" + "京东商城-摇一摇签到失败 " + Details) - if (data.match(/true/)) { - merge.JDShake.notify += `${also?`\n`:``}京东商城-摇摇: 成功, 明细: 无奖励 🐶${also?` (多次)`:``}` - merge.JDShake.success += 1 - if (cc.data.luckyBox.freeTimes != 0) { - await JingDongShake(s) - } - } else { - merge.JDShake.fail = 1 - if (data.match(/(无免费|8000005|9000005)/)) { - merge.JDShake.notify = "京东商城-摇摇: 失败, 原因: 已摇过 ⚠️" - } else if (data.match(/(未登录|101)/)) { - merge.JDShake.notify = "京东商城-摇摇: 失败, 原因: Cookie失效‼️" - } else { - merge.JDShake.notify += `${also?`\n`:``}京东商城-摇摇: 失败, 原因: 未知 ⚠️${also?` (多次)`:``}` - } - } - } - } - } catch (eor) { - $nobyda.AnError("京东商城-摇摇", "JDShake", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JDUserSignPre(s, key, title, ac) { - merge[key] = {}; - if ($nobyda.isJSBox) { - return JDUserSignPre2(s, key, title, ac); - } else { - return JDUserSignPre1(s, key, title, ac); - } -} - -function JDUserSignPre1(s, key, title, acData, ask) { - return new Promise((resolve, reject) => { - if (disable(key, title, 1)) return reject() - const JDUrl = { - url: 'https://api.m.jd.com/?client=wh5&functionId=qryH5BabelFloors', - headers: { - Cookie: KEY - }, - opts: { - 'filter': 'try{var od=JSON.parse(body);var params=(od.floatLayerList||[]).filter(o=>o.params&&o.params.match(/enActK/)).map(o=>o.params).pop()||(od.floorList||[]).filter(o=>o.template=="signIn"&&o.signInfos&&o.signInfos.params&&o.signInfos.params.match(/enActK/)).map(o=>o.signInfos&&o.signInfos.params).pop();var tId=(od.floorList||[]).filter(o=>o.boardParams&&o.boardParams.turnTableId).map(o=>o.boardParams.turnTableId).pop();var page=od.paginationFlrs;return JSON.stringify({qxAct:params||null,qxTid:tId||null,qxPage:page||null})}catch(e){return `=> 过滤器发生错误: ${e.message}`}' - }, - body: `body=${encodeURIComponent(`{"activityId":"${acData}"${ask?`,"paginationParam":"2","paginationFlrs":"${ask}"`:``}}`)}` - }; - $nobyda.post(JDUrl, async function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const od = JSON.parse(data || '{}'); - const turnTableId = od.qxTid || (od.floorList || []).filter(o => o.boardParams && o.boardParams.turnTableId).map(o => o.boardParams.turnTableId).pop(); - const page = od.qxPage || od.paginationFlrs; - if (data.match(/enActK/)) { // 含有签到活动数据 - let params = od.qxAct || (od.floatLayerList || []).filter(o => o.params && o.params.match(/enActK/)).map(o => o.params).pop() - if (!params) { // 第一处找到签到所需数据 - // floatLayerList未找到签到所需数据,从floorList中查找 - let signInfo = (od.floorList || []).filter(o => o.template == 'signIn' && o.signInfos && o.signInfos.params && o.signInfos.params.match(/enActK/)) - .map(o => o.signInfos).pop(); - if (signInfo) { - if (signInfo.signStat == '1') { - console.log(`\n${title}重复签到`) - merge[key].notify = `${title}: 失败, 原因: 已签过 ⚠️` - merge[key].fail = 1 - } else { - params = signInfo.params; - } - } else { - merge[key].notify = `${title}: 失败, 活动查找异常 ⚠️` - merge[key].fail = 1 - } - } - if (params) { - return resolve({ - params: params - }); // 执行签到处理 - } - } else if (turnTableId) { // 无签到数据, 但含有关注店铺签到 - const boxds = $nobyda.read("JD_Follow_disable") === "false" ? false : true - if (boxds) { - console.log(`\n${title}关注店铺`) - return resolve(parseInt(turnTableId)) - } else { - merge[key].notify = `${title}: 失败, 需要关注店铺 ⚠️` - merge[key].fail = 1 - } - } else if (page && !ask) { // 无签到数据, 尝试带参查询 - const boxds = $nobyda.read("JD_Retry_disable") === "false" ? false : true - if (boxds) { - console.log(`\n${title}二次查询`) - return resolve(page) - } else { - merge[key].notify = `${title}: 失败, 请尝试开启增强 ⚠️` - merge[key].fail = 1 - } - } else { - merge[key].notify = `${title}: 失败, ${!data ? `需要手动执行` : `不含活动数据`} ⚠️` - merge[key].fail = 1 - } - } - reject() - } catch (eor) { - $nobyda.AnError(title, key, eor, response, data) - reject() - } - }) - if (out) setTimeout(reject, out + s) - }).then(data => { - disable(key, title, 2) - if (typeof(data) == "object") return JDUserSign1(s, key, title, encodeURIComponent(JSON.stringify(data))); - if (typeof(data) == "number") return JDUserSign2(s, key, title, data); - if (typeof(data) == "string") return JDUserSignPre1(s, key, title, acData, data); - }, () => disable(key, title, 2)) -} - -function JDUserSignPre2(s, key, title, acData) { - return new Promise((resolve, reject) => { - if (disable(key, title, 1)) return reject() - const JDUrl = { - url: `https://pro.m.jd.com/mall/active/${acData}/index.html`, - headers: { - Cookie: KEY, - } - }; - $nobyda.get(JDUrl, async function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const act = data.match(/\"params\":\"\{\\\"enActK.+?\\\"\}\"/) - const turnTable = data.match(/\"turnTableId\":\"(\d+)\"/) - const page = data.match(/\"paginationFlrs\":\"(\[\[.+?\]\])\"/) - if (act) { // 含有签到活动数据 - return resolve(act) - } else if (turnTable) { // 无签到数据, 但含有关注店铺签到 - const boxds = $nobyda.read("JD_Follow_disable") === "false" ? false : true - if (boxds) { - console.log(`\n${title}关注店铺`) - return resolve(parseInt(turnTable[1])) - } else { - merge[key].notify = `${title}: 失败, 需要关注店铺 ⚠️` - merge[key].fail = 1 - } - } else if (page) { // 无签到数据, 尝试带参查询 - const boxds = $nobyda.read("JD_Retry_disable") === "false" ? false : true - if (boxds) { - console.log(`\n${title}二次查询`) - return resolve(page[1]) - } else { - merge[key].notify = `${title}: 失败, 请尝试开启增强 ⚠️` - merge[key].fail = 1 - } - } else { - merge[key].notify = `${title}: 失败, ${!data ? `需要手动执行` : `不含活动数据`} ⚠️` - merge[key].fail = 1 - } - } - reject() - } catch (eor) { - $nobyda.AnError(title, key, eor, response, data) - reject() - } - }) - if (out) setTimeout(reject, out + s) - }).then(data => { - disable(key, title, 2) - if (typeof(data) == "object") return JDUserSign1(s, key, title, encodeURIComponent(`{${data}}`)); - if (typeof(data) == "number") return JDUserSign2(s, key, title, data) - if (typeof(data) == "string") return JDUserSignPre1(s, key, title, acData, data) - }, () => disable(key, title, 2)) -} - -function JDUserSign1(s, key, title, body) { - return new Promise(resolve => { - setTimeout(() => { - const JDUrl = { - url: 'https://api.m.jd.com/client.action?functionId=userSign', - headers: { - Cookie: KEY - }, - body: `body=${body}&client=wh5` - }; - $nobyda.post(JDUrl, function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const Details = LogDetails ? `response:\n${data}` : ''; - if (data.match(/签到成功/)) { - console.log(`\n${title}签到成功(1)${Details}`) - if (data.match(/\"text\":\"\d+京豆\"/)) { - merge[key].bean = data.match(/\"text\":\"(\d+)京豆\"/)[1] - } - merge[key].notify = `${title}: 成功, 明细: ${merge[key].bean || '无'}京豆 🐶` - merge[key].success = 1 - } else { - console.log(`\n${title}签到失败(1)${Details}`) - if (data.match(/(已签到|已领取)/)) { - merge[key].notify = `${title}: 失败, 原因: 已签过 ⚠️` - } else if (data.match(/(不存在|已结束|未开始)/)) { - merge[key].notify = `${title}: 失败, 原因: 活动已结束 ⚠️` - } else if (data.match(/\"code\":\"?3\"?/)) { - merge[key].notify = `${title}: 失败, 原因: Cookie失效‼️` - } else { - const ng = data.match(/\"(errorMessage|subCodeMsg)\":\"(.+?)\"/) - merge[key].notify = `${title}: 失败, ${ng?ng[2]:`原因: 未知`} ⚠️` - } - merge[key].fail = 1 - } - } - } catch (eor) { - $nobyda.AnError(title, key, eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -async function JDUserSign2(s, key, title, tid) { - await new Promise(resolve => { - $nobyda.get({ - url: `https://jdjoy.jd.com/api/turncard/channel/detail?turnTableId=${tid}&invokeKey=yPsq1PHN`, - headers: { - Cookie: KEY - } - }, function(error, response, data) { - resolve() - }) - if (out) setTimeout(resolve, out + s) - }); - return new Promise(resolve => { - setTimeout(() => { - const JDUrl = { - url: 'https://jdjoy.jd.com/api/turncard/channel/sign?invokeKey=yPsq1PHN', - headers: { - Cookie: KEY - }, - body: `turnTableId=${tid}` - }; - $nobyda.post(JDUrl, function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const Details = LogDetails ? `response:\n${data}` : ''; - if (data.match(/\"success\":true/)) { - console.log(`\n${title}签到成功(2)${Details}`) - if (data.match(/\"jdBeanQuantity\":\d+/)) { - merge[key].bean = data.match(/\"jdBeanQuantity\":(\d+)/)[1] - } - merge[key].notify = `${title}: 成功, 明细: ${merge[key].bean || '无'}京豆 🐶` - merge[key].success = 1 - } else { - console.log(`\n${title}签到失败(2)${Details}`) - if (data.match(/(已经签到|已经领取)/)) { - merge[key].notify = `${title}: 失败, 原因: 已签过 ⚠️` - } else if (data.match(/(不存在|已结束|未开始)/)) { - merge[key].notify = `${title}: 失败, 原因: 活动已结束 ⚠️` - } else if (data.match(/(没有登录|B0001)/)) { - merge[key].notify = `${title}: 失败, 原因: Cookie失效‼️` - } else { - const ng = data.match(/\"(errorMessage|subCodeMsg)\":\"(.+?)\"/) - merge[key].notify = `${title}: 失败, ${ng?ng[2]:`原因: 未知`} ⚠️` - } - merge[key].fail = 1 - } - } - } catch (eor) { - $nobyda.AnError(title, key, eor, response, data) - } finally { - resolve() - } - }) - }, 200 + s) - if (out) setTimeout(resolve, out + s + 200) - }); -} - -function JDFlashSale(s) { - merge.JDFSale = {}; - return new Promise(resolve => { - if (disable("JDFSale")) return resolve() - setTimeout(() => { - const JDPETUrl = { - url: 'https://api.m.jd.com/client.action?functionId=partitionJdSgin', - headers: { - Cookie: KEY - }, - body: "body=%7B%22version%22%3A%22v2%22%7D&client=apple&clientVersion=9.0.8&openudid=1fce88cd05c42fe2b054e846f11bdf33f016d676&sign=6768e2cf625427615dd89649dd367d41&st=1597248593305&sv=121" - }; - $nobyda.post(JDPETUrl, async function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const Details = LogDetails ? "response:\n" + data : ''; - const cc = JSON.parse(data) - if (cc.result && cc.result.code == 0) { - console.log("\n" + "京东商城-闪购签到成功 " + Details) - merge.JDFSale.bean = cc.result.jdBeanNum || 0 - merge.JDFSale.notify = "京东商城-闪购: 成功, 明细: " + (merge.JDFSale.bean || "无") + "京豆 🐶" - merge.JDFSale.success = 1 - } else { - console.log("\n" + "京东商城-闪购签到失败 " + Details) - if (data.match(/(已签到|已领取|\"2005\")/)) { - merge.JDFSale.notify = "京东商城-闪购: 失败, 原因: 已签过 ⚠️" - } else if (data.match(/不存在|已结束|\"2008\"|\"3001\"/)) { - await FlashSaleDivide(s); //瓜分京豆 - return - } else if (data.match(/(\"code\":\"3\"|\"1003\")/)) { - merge.JDFSale.notify = "京东商城-闪购: 失败, 原因: Cookie失效‼️" - } else { - const msg = data.match(/\"msg\":\"([\u4e00-\u9fa5].+?)\"/) - merge.JDFSale.notify = `京东商城-闪购: 失败, ${msg ? msg[1] : `原因: 未知`} ⚠️` - } - merge.JDFSale.fail = 1 - } - } - } catch (eor) { - $nobyda.AnError("京东商城-闪购", "JDFSale", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function FlashSaleDivide(s) { - return new Promise(resolve => { - setTimeout(() => { - const Url = { - url: 'https://api.m.jd.com/client.action?functionId=partitionJdShare', - headers: { - Cookie: KEY - }, - body: "body=%7B%22version%22%3A%22v2%22%7D&client=apple&clientVersion=9.0.8&openudid=1fce88cd05c42fe2b054e846f11bdf33f016d676&sign=49baa3b3899b02bbf06cdf41fe191986&st=1597682588351&sv=111" - }; - $nobyda.post(Url, function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const Details = LogDetails ? "response:\n" + data : ''; - const cc = JSON.parse(data) - if (cc.result.code == 0) { - merge.JDFSale.success = 1 - merge.JDFSale.bean = cc.result.jdBeanNum || 0 - merge.JDFSale.notify = "京东闪购-瓜分: 成功, 明细: " + (merge.JDFSale.bean || "无") + "京豆 🐶" - console.log("\n" + "京东闪购-瓜分签到成功 " + Details) - } else { - merge.JDFSale.fail = 1 - console.log("\n" + "京东闪购-瓜分签到失败 " + Details) - if (data.match(/已参与|已领取|\"2006\"/)) { - merge.JDFSale.notify = "京东闪购-瓜分: 失败, 原因: 已瓜分 ⚠️" - } else if (data.match(/不存在|已结束|未开始|\"2008\"|\"2012\"/)) { - merge.JDFSale.notify = "京东闪购-瓜分: 失败, 原因: 活动已结束 ⚠️" - } else if (data.match(/\"code\":\"1003\"|未获取/)) { - merge.JDFSale.notify = "京东闪购-瓜分: 失败, 原因: Cookie失效‼️" - } else { - const msg = data.match(/\"msg\":\"([\u4e00-\u9fa5].+?)\"/) - merge.JDFSale.notify = `京东闪购-瓜分: 失败, ${msg ? msg[1] : `原因: 未知`} ⚠️` - } - } - } - } catch (eor) { - $nobyda.AnError("京东闪购-瓜分", "JDFSale", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JingDongCash(s) { - merge.JDCash = {}; - return new Promise(resolve => { - if (disable("JDCash")) return resolve() - setTimeout(() => { - const JDCAUrl = { - url: 'https://api.m.jd.com/client.action?functionId=ccSignInNew', - headers: { - Cookie: KEY - }, - body: "body=%7B%22pageClickKey%22%3A%22CouponCenter%22%2C%22eid%22%3A%22O5X6JYMZTXIEX4VBCBWEM5PTIZV6HXH7M3AI75EABM5GBZYVQKRGQJ5A2PPO5PSELSRMI72SYF4KTCB4NIU6AZQ3O6C3J7ZVEP3RVDFEBKVN2RER2GTQ%22%2C%22shshshfpb%22%3A%22v1%5C%2FzMYRjEWKgYe%2BUiNwEvaVlrHBQGVwqLx4CsS9PH1s0s0Vs9AWk%2B7vr9KSHh3BQd5NTukznDTZnd75xHzonHnw%3D%3D%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22monitorSource%22%3A%22cc_sign_ios_index_config%22%7D&client=apple&clientVersion=8.5.0&d_brand=apple&d_model=iPhone8%2C2&openudid=1fce88cd05c42fe2b054e846f11bdf33f016d676&scope=11&screen=1242%2A2208&sign=1cce8f76d53fc6093b45a466e93044da&st=1581084035269&sv=102" - }; - $nobyda.post(JDCAUrl, function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const Details = LogDetails ? "response:\n" + data : ''; - const cc = JSON.parse(data) - if (cc.busiCode == "0") { - console.log("\n" + "京东现金-红包签到成功 " + Details) - merge.JDCash.success = 1 - merge.JDCash.Cash = cc.result.signResult.signData.amount || 0 - merge.JDCash.notify = `京东现金-红包: 成功, 明细: ${merge.JDCash.Cash || `无`}红包 🧧` - } else { - console.log("\n" + "京东现金-红包签到失败 " + Details) - merge.JDCash.fail = 1 - if (data.match(/(\"busiCode\":\"1002\"|完成签到)/)) { - merge.JDCash.notify = "京东现金-红包: 失败, 原因: 已签过 ⚠️" - } else if (data.match(/(不存在|已结束)/)) { - merge.JDCash.notify = "京东现金-红包: 失败, 原因: 活动已结束 ⚠️" - } else if (data.match(/(\"busiCode\":\"3\"|未登录)/)) { - merge.JDCash.notify = "京东现金-红包: 失败, 原因: Cookie失效‼️" - } else { - merge.JDCash.notify = "京东现金-红包: 失败, 原因: 未知 ⚠️" - } - } - } - } catch (eor) { - $nobyda.AnError("京东现金-红包", "JDCash", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JDMagicCube(s, sign) { - merge.JDCube = {}; - return new Promise((resolve, reject) => { - if (disable("JDCube")) return reject() - const JDUrl = { - url: `https://api.m.jd.com/client.action?functionId=getNewsInteractionInfo&appid=smfe${sign?`&body=${encodeURIComponent(`{"sign":${sign}}`)}`:``}`, - headers: { - Cookie: KEY, - } - }; - $nobyda.get(JDUrl, async (error, response, data) => { - try { - if (error) throw new Error(error) - const Details = LogDetails ? "response:\n" + data : ''; - console.log(`\n京东魔方-尝试查询活动(${sign}) ${Details}`) - if (data.match(/\"interactionId\":\d+/)) { - resolve({ - id: data.match(/\"interactionId\":(\d+)/)[1], - sign: sign || null - }) - } else if (data.match(/配置异常/) && sign) { - await JDMagicCube(s, sign == 2 ? 1 : null) - reject() - } else { - resolve(null) - } - } catch (eor) { - $nobyda.AnError("京东魔方-查询", "JDCube", eor, response, data) - reject() - } - }) - if (out) setTimeout(reject, out + s) - }).then(data => { - return JDMagicCubeSign(s, data) - }, () => {}); -} - -function JDMagicCubeSign(s, id) { - return new Promise(resolve => { - setTimeout(() => { - const JDMCUrl = { - url: `https://api.m.jd.com/client.action?functionId=getNewsInteractionLotteryInfo&appid=smfe${id?`&body=${encodeURIComponent(`{${id.sign?`"sign":${id.sign},`:``}"interactionId":${id.id}}`)}`:``}`, - headers: { - Cookie: KEY, - } - }; - $nobyda.get(JDMCUrl, function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const Details = LogDetails ? "response:\n" + data : ''; - const cc = JSON.parse(data) - if (data.match(/(\"name\":)/)) { - console.log("\n" + "京东商城-魔方签到成功 " + Details) - merge.JDCube.success = 1 - if (data.match(/(\"name\":\"京豆\")/)) { - merge.JDCube.bean = cc.result.lotteryInfo.quantity || 0 - merge.JDCube.notify = `京东商城-魔方: 成功, 明细: ${merge.JDCube.bean || `无`}京豆 🐶` - } else { - merge.JDCube.notify = `京东商城-魔方: 成功, 明细: ${cc.result.lotteryInfo.name || `未知`} 🎉` - } - } else { - console.log("\n" + "京东商城-魔方签到失败 " + Details) - merge.JDCube.fail = 1 - if (data.match(/(一闪而过|已签到|已领取)/)) { - merge.JDCube.notify = "京东商城-魔方: 失败, 原因: 无机会 ⚠️" - } else if (data.match(/(不存在|已结束)/)) { - merge.JDCube.notify = "京东商城-魔方: 失败, 原因: 活动已结束 ⚠️" - } else if (data.match(/(\"code\":3)/)) { - merge.JDCube.notify = "京东商城-魔方: 失败, 原因: Cookie失效‼️" - } else { - merge.JDCube.notify = "京东商城-魔方: 失败, 原因: 未知 ⚠️" - } - } - } - } catch (eor) { - $nobyda.AnError("京东商城-魔方", "JDCube", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JingDongSpeedUp(s, id) { - if (!merge.SpeedUp) merge.SpeedUp = {}, merge.SpeedUp.bean = 0; - return new Promise(resolve => { - if (disable("SpeedUp")) return resolve() - setTimeout(() => { - const GameUrl = { - url: `https://api.m.jd.com/?appid=memberTaskCenter&functionId=flyTask_${id?`start&body=%7B%22source%22%3A%22game%22%2C%22source_id%22%3A${id}%7D`:`state&body=%7B%22source%22%3A%22game%22%7D`}`, - headers: { - Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html', - Cookie: KEY - } - }; - $nobyda.get(GameUrl, async function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const Details = LogDetails ? "response:\n" + data : ''; - var cc = JSON.parse(data) - if (!id) { - var status = $nobyda.ItemIsUsed ? "再次检查" : merge.SpeedUp.notify ? "查询本次" : "查询上次" - console.log(`\n天天加速-${status}任务 ${Details}`) - } else { - console.log(`\n天天加速-开始${$nobyda.ItemIsUsed?`下轮`:`本次`}任务 ${Details}`) - } - if (cc.message == "not login") { - merge.SpeedUp.fail = 1 - merge.SpeedUp.notify = "京东天天-加速: 失败, 原因: Cookie失效‼️" - console.log("\n天天加速-Cookie失效") - } else if (cc.message == "success") { - if (cc.data.task_status == 0 && cc.data.source_id) { - if ($nobyda.ItemIsUsed) { //如果使用道具后再次开始任务, 则收到奖励 - console.log("\n天天加速-领取本次奖励成功") - merge.SpeedUp.bean += cc.data.beans_num || 0 - merge.SpeedUp.success = 1 - merge.SpeedUp.notify = `京东天天-加速: 成功, 明细: ${merge.SpeedUp.bean || `无`}京豆 🐶` - } - await JingDongSpeedUp(s, cc.data.source_id) - } else if (cc.data.task_status == 1) { - const percent = Math.round((cc.data.done_distance / cc.data.distance) * 100) - console.log(`\n天天加速-目前结束时间: \n${cc.data.end_time} [${percent}%]`) - $nobyda.ItemIsUsed = false - if (!$nobyda.isAllEvents) await JDSpaceEvent(s); //处理太空事件 - if (!$nobyda.isAlltasks) await JDQueryTask(s); //处理太空任务 - var step3 = await JDQueryTaskID(s); //查询道具ID - var step4 = await JDUseProps(1000 + s, step3); //使用道具 - if (step4 && $nobyda.ItemIsUsed) { //如果使用了道具, 则再次检查任务 - await JingDongSpeedUp(s) - } else { - $nobyda.isAllEvents = false; //避免多账号问题 - $nobyda.isAlltasks = false; - $nobyda.tryAgain = false; - if (!merge.SpeedUp.notify) { - merge.SpeedUp.fail = 1 - merge.SpeedUp.notify = `京东天天-加速: 失败, 加速中${percent<10?` `:``}[${percent}%] ⚠️` - } - } - } else if (cc.data.task_status == 2) { - merge.SpeedUp.bean = cc.data.beans_num || 0 - merge.SpeedUp.notify = `京东天天-加速: 成功, 明细: ${merge.SpeedUp.bean || `无`}京豆 🐶` - merge.SpeedUp.success = 1 - console.log("\n天天加速-领取上次奖励成功") - await JingDongSpeedUp(s, null) - } else { - merge.SpeedUp.fail = 1 - merge.SpeedUp.notify = "京东天天-加速: 失败, 原因: 未知 ⚠️" - console.log("\n" + "天天加速-判断状态码失败") - } - } else { - if (data.match(/领过此任务/)) { //处理任务频繁问题 - if (!$nobyda.tryAgain || $nobyda.tryAgain < 3) { //避免死循环 - $nobyda.tryAgain ? $nobyda.tryAgain += 1 : $nobyda.tryAgain = 1 - console.log(`\n天天加速-延迟一秒查询 (${$nobyda.tryAgain})`); - await JingDongSpeedUp(1000); - } else { - $nobyda.tryAgain = false; - console.log(`\n天天加速-放弃查询任务`); - } - return - } - if (!merge.SpeedUp.notify) { - merge.SpeedUp.fail = 1 - merge.SpeedUp.notify = "京东天天-加速: 失败, 原因: 无任务 ⚠️" - } - console.log("\n天天加速-判断状态失败") - } - } - } catch (eor) { - $nobyda.AnError("京东天天-加速", "SpeedUp", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JDSpaceEvent(s) { - return new Promise(resolve => { - var spaceEvents = []; - $nobyda.get({ - url: `https://api.m.jd.com/?appid=memberTaskCenter&functionId=spaceEvent_list&body=%7B%22source%22%3A%22game%22%7D`, - headers: { - Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html', - Cookie: KEY - } - }, (error, response, data) => { - try { - if (error) throw new Error(error) - const cc = JSON.parse(data); - const Details = LogDetails ? "response:\n" + data : ''; - if (cc.message === "success" && cc.data.length > 0) { - for (var item of cc.data) { - if (item.status === 1) { - for (var j of item.options) { - if (j.type === 1) { - spaceEvents.push({ - "id": item.id, - "value": j.value - }) - } - } - } - } - if (spaceEvents && spaceEvents.length > 0) { - console.log(`\n天天加速-查询到${spaceEvents.length}个有效事件 ${Details}`) - } else { - console.log(`\n天天加速-暂无太空事件 ${Details}`) - } - } else { - console.log(`\n天天加速-太空事件为空 ${Details}`) - } - } catch (eor) { - $nobyda.AnError("太空事件-查询", "SpeedUp", eor, response, data) - } finally { - resolve(spaceEvents) - } - }) - if (out) setTimeout(resolve, out + s) - }).then(async (list) => { - await new Promise(resolve => { - if (list && list.length > 0) { - var spaceEventCount = 0; - var spaceNumTask = 0; - for (var item of list) { - $nobyda.get({ - url: `https://api.m.jd.com/?appid=memberTaskCenter&functionId=spaceEvent_handleEvent&body=%7B%22source%22%3A%22game%22%2C%22eventId%22%3A${item.id}%2C%22option%22%3A%22${item.value}%22%7D`, - headers: { - Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html', - Cookie: KEY - } - }, (error, response, data) => { - try { - spaceEventCount++ - if (error) throw new Error(error) - const cc = JSON.parse(data); - const Details = LogDetails ? "response:\n" + data : ''; - console.log(`\n天天加速-尝试领取第${spaceEventCount}个事件 ${Details}`) - if (cc.message == "success" && cc.success) { - spaceNumTask += 1; - } - } catch (eor) { - $nobyda.AnError("太空事件-领取", "SpeedUp", eor, response, data) - } finally { - if (list.length == spaceEventCount) { - if (list.length == spaceNumTask) $nobyda.isAllEvents = true; //避免重复查询 - console.log(`\n天天加速-已成功领取${spaceNumTask}个事件`) - resolve() - } - } - }) - } - if (out) setTimeout(resolve, out + s) - } else { - $nobyda.isAllEvents = true; //避免重复查询 - resolve() - } - }) - }) -} - -function JDQueryTask(s) { - return new Promise(resolve => { - setTimeout(() => { - var TaskID = ""; - const QueryUrl = { - url: 'https://api.m.jd.com/?appid=memberTaskCenter&functionId=energyProp_list&body=%7B%22source%22%3A%22game%22%7D', - headers: { - Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html', - Cookie: KEY - } - }; - $nobyda.get(QueryUrl, async function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const cc = JSON.parse(data) - const Details = LogDetails ? "response:\n" + data : ''; - if (cc.message == "success" && cc.data.length > 0) { - for (var i = 0; i < cc.data.length; i++) { - if (cc.data[i].thaw_time == 0) { - TaskID += cc.data[i].id + ","; - } - } - if (TaskID.length > 0) { - TaskID = TaskID.substr(0, TaskID.length - 1).split(",") - console.log("\n天天加速-查询到" + TaskID.length + "个有效道具 " + Details) - } else { - console.log("\n天天加速-暂无有效道具 " + Details) - } - } else { - console.log("\n天天加速-查询无道具 " + Details) - } - } - } catch (eor) { - $nobyda.AnError("查询道具-加速", "SpeedUp", eor, response, data) - } finally { - resolve(TaskID) - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }).then(async (CID) => { - await new Promise(resolve => { - var NumTask = 0 - if (CID) { - var count = 0 - for (var i = 0; i < CID.length; i++) { - const TUrl = { - url: 'https://api.m.jd.com/?appid=memberTaskCenter&functionId=energyProp_gain&body=%7B%22source%22%3A%22game%22%2C%22energy_id%22%3A' + CID[i] + '%7D', - headers: { - Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html', - Cookie: KEY - } - }; - $nobyda.get(TUrl, function(error, response, data) { - try { - count++ - if (error) { - throw new Error(error) - } else { - const cc = JSON.parse(data) - const Details = LogDetails ? "response:\n" + data : ''; - console.log("\n天天加速-尝试领取第" + count + "个道具 " + Details) - if (cc.message == 'success') { - NumTask += 1 - } - } - } catch (eor) { - $nobyda.AnError("领取道具-加速", "SpeedUp", eor, response, data) - } finally { - if (CID.length == count) { - if (CID.length == NumTask) $nobyda.isAlltasks = true; //避免重复查询 - console.log("\n天天加速-已成功领取" + NumTask + "个道具") - resolve(NumTask) - } - } - }) - } - if (out) setTimeout(resolve, out + s) - } else { - $nobyda.isAlltasks = true; //避免重复查询 - resolve(NumTask) - } - }) - }) -} - -function JDQueryTaskID(s) { - return new Promise(resolve => { - var TaskCID = "" - setTimeout(() => { - const EUrl = { - url: 'https://api.m.jd.com/?appid=memberTaskCenter&functionId=energyProp_usalbeList&body=%7B%22source%22%3A%22game%22%7D', - headers: { - Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html', - Cookie: KEY - } - }; - $nobyda.get(EUrl, function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const cc = JSON.parse(data) - const Details = LogDetails ? "response:\n" + data : ''; - if (cc.data.length > 0) { - for (var i = 0; i < cc.data.length; i++) { - if (cc.data[i].id) { - TaskCID += cc.data[i].id + ","; - } - } - if (TaskCID.length > 0) { - TaskCID = TaskCID.substr(0, TaskCID.length - 1).split(",") - console.log(`\n天天加速-查询成功${TaskCID.length}个道具ID ${Details}`) - } else { - console.log(`\n天天加速-暂无有效道具ID ${Details}`) - } - } else { - console.log(`\n天天加速-查询无道具ID ${Details}`) - } - } - } catch (eor) { - $nobyda.AnError("查询号码-加速", "SpeedUp", eor, response, data) - } finally { - resolve(TaskCID) - } - }) - }, s + 200) - if (out) setTimeout(resolve, out + s) - }); -} - -function JDUseProps(s, PropID) { - return new Promise(async (resolve) => { - $nobyda.PropCount = 0 - $nobyda.PropNumTask = 0 - if (!PropID) return resolve() - for (var i = 0; i < PropID.length; i++) { - const sep = await new Promise(resolve => { - $nobyda.get({ - url: `https://api.m.jd.com/?appid=memberTaskCenter&functionId=energyProp_use&body=%7B%22source%22%3A%22game%22%2C%22energy_id%22%3A%22${PropID[i]}%22%7D`, - headers: { - Referer: 'https://h5.m.jd.com/babelDiy/Zeus/6yCQo2eDJPbyPXrC3eMCtMWZ9ey/index.html', - Cookie: KEY - } - }, (error, response, data) => { - try { - $nobyda.PropCount++ - if (error) { - throw new Error(error) - } else { - const cc = JSON.parse(data) - const Details = LogDetails ? "response:\n" + data : ''; - console.log(`\n天天加速-尝试使用第${$nobyda.PropCount}个道具 (${s/1000}s)${Details}`) - if (cc.message == 'success' && cc.success == true) { - $nobyda.PropNumTask += 1 - } - } - } catch (eor) { - $nobyda.AnError("使用道具-加速", "SpeedUp", eor, response, data) - } finally { - if (PropID.length == $nobyda.PropCount) { - if ($nobyda.PropNumTask) $nobyda.ItemIsUsed = true; - console.log(`\n天天加速-已成功使用${$nobyda.PropNumTask}个道具`) - resolve(true) - } else { - setTimeout(resolve, s) - } - } - }) - }) - if (sep) resolve($nobyda.PropNumTask); - } - }); -} - -function JingDongSubsidy(s) { - merge.subsidy = {}; - return new Promise(resolve => { - if (disable("subsidy")) return resolve() - setTimeout(() => { - const subsidyUrl = { - url: 'https://ms.jr.jd.com/gw/generic/uc/h5/m/signIn7', - headers: { - Referer: "https://active.jd.com/forever/cashback/index", - Cookie: KEY - } - }; - $nobyda.get(subsidyUrl, function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const Details = LogDetails ? "response:\n" + data : ''; - const cc = JSON.parse(data) - if (cc.resultCode == 0 && cc.resultData.data.thisAmount) { - console.log("\n" + "京东商城-金贴签到成功 " + Details) - merge.subsidy.subsidy = cc.resultData.data.thisAmountStr - merge.subsidy.notify = `京东商城-金贴: 成功, 明细: ${merge.subsidy.subsidy||`无`}金贴 💰` - merge.subsidy.success = 1 - } else { - console.log("\n" + "京东商城-金贴签到失败 " + Details) - merge.subsidy.fail = 1 - if (data.match(/已存在|"thisAmount":0/)) { - merge.subsidy.notify = "京东商城-金贴: 失败, 原因: 已签过 ⚠️" - } else if (data.match(/请先登录/)) { - merge.subsidy.notify = "京东商城-金贴: 失败, 原因: Cookie失效‼️" - } else { - merge.subsidy.notify = "京东商城-金贴: 失败, 原因: 未知 ⚠️" - } - } - } - } catch (eor) { - $nobyda.AnError("京东商城-金贴", "subsidy", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JingRongDoll(s, key, title, code, type, num, award, belong) { - merge[key] = {}; - return new Promise(resolve => { - if (disable(key)) return resolve() - setTimeout(() => { - const DollUrl = { - url: "https://nu.jr.jd.com/gw/generic/jrm/h5/m/process", - headers: { - Cookie: KEY - }, - body: `reqData=${encodeURIComponent(`{"actCode":"${code}","type":${type?type:`3`}${code=='F68B2C3E71'?`,"frontParam":{"belong":"${belong}"}`:code==`1DF13833F7`?`,"frontParam":{"channel":"JR","belong":4}`:``}}`)}` - }; - $nobyda.post(DollUrl, async function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - var cc = JSON.parse(data) - const Details = LogDetails ? "response:\n" + data : ''; - if (cc.resultCode == 0) { - if (cc.resultData.data.businessData != null) { - console.log(`\n${title}查询成功 ${Details}`) - if (cc.resultData.data.businessData.pickStatus == 2) { - if (data.match(/\"rewardPrice\":\"\d.*?\"/)) { - const JRDoll_bean = data.match(/\"rewardPrice\":\"(\d.*?)\"/)[1] - const JRDoll_type = data.match(/\"rewardName\":\"金贴奖励\"/) ? true : false - await JingRongDoll(s, key, title, code, '4', JRDoll_bean, JRDoll_type) - } else { - merge[key].success = 1 - merge[key].notify = `${title}: 成功, 明细: 无奖励 🐶` - } - } else if (code == 'F68B2C3E71' || code == '1DF13833F7') { - if (!data.match(/"businessCode":"30\dss?q"/)) { - merge[key].success = 1 - const ct = data.match(/\"count\":\"?(\d.*?)\"?,/) - if (code == 'F68B2C3E71' && belong == 'xianjin') { - merge[key].Money = ct ? ct[1] > 9 ? `0.${ct[1]}` : `0.0${ct[1]}` : 0 - merge[key].notify = `${title}: 成功, 明细: ${merge[key].Money||`无`}现金 💰` - } else if (code == 'F68B2C3E71' && belong == 'jingdou') { - merge[key].bean = ct ? ct[1] : 0; - merge[key].notify = `${title}: 成功, 明细: ${merge[key].bean||`无`}京豆 🐶` - } else if (code == '1DF13833F7') { - merge[key].subsidy = ct ? ct[1] : 0; - merge[key].notify = `${title}: 成功, 明细: ${merge[key].subsidy||`无`}金贴 💰` - } - } else { - const es = cc.resultData.data.businessMsg - const ep = cc.resultData.data.businessData.businessMsg - const tp = data.match(/已领取|300ss?q/) ? `已签过` : `${ep||es||cc.resultMsg||`未知`}` - merge[key].notify = `${title}: 失败, 原因: ${tp} ⚠️` - merge[key].fail = 1 - } - } else { - merge[key].notify = `${title}: 失败, 原因: 已签过 ⚠️`; - merge[key].fail = 1 - } - } else if (cc.resultData.data.businessCode == 200) { - console.log(`\n${title}签到成功 ${Details}`) - if (!award) { - merge[key].bean = num ? num.match(/\d+/)[0] : 0 - } else { - merge[key].subsidy = num || 0 - } - merge[key].success = 1 - merge[key].notify = `${title}: 成功, 明细: ${(award?num:merge[key].bean)||`无`}${award?`金贴 💰`:`京豆 🐶`}` - } else { - console.log(`\n${title}领取异常 ${Details}`) - if (num) console.log(`\n${title} 请尝试手动领取, 预计可得${num}${award?`金贴`:`京豆`}: \nhttps://uf1.jr.jd.com/up/redEnvelopes/index.html?actCode=${code}\n`); - merge[key].fail = 1; - merge[key].notify = `${title}: 失败, 原因: 领取异常 ⚠️`; - } - } else { - console.log(`\n${title}签到失败 ${Details}`) - const redata = typeof(cc.resultData) == 'string' ? cc.resultData : '' - merge[key].notify = `${title}: 失败, ${cc.resultCode==3?`原因: Cookie失效‼️`:`${redata||'原因: 未知 ⚠️'}`}` - merge[key].fail = 1; - } - } - } catch (eor) { - $nobyda.AnError(title, key, eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JingDongGetCash(s) { - merge.JDGetCash = {}; - return new Promise(resolve => { - if (disable("JDGetCash")) return resolve() - setTimeout(() => { - const GetCashUrl = { - url: 'https://api.m.jd.com/client.action?functionId=cash_sign&body=%7B%22remind%22%3A0%2C%22inviteCode%22%3A%22%22%2C%22type%22%3A0%2C%22breakReward%22%3A0%7D&client=apple&clientVersion=9.0.8&openudid=1fce88cd05c42fe2b054e846f11bdf33f016d676&sign=7e2f8bcec13978a691567257af4fdce9&st=1596954745073&sv=111', - headers: { - Cookie: KEY, - } - }; - $nobyda.get(GetCashUrl, function(error, response, data) { - try { - if (error) { - throw new Error(error) - } else { - const cc = JSON.parse(data); - const Details = LogDetails ? "response:\n" + data : ''; - if (cc.data.success && cc.data.result) { - console.log("\n" + "京东商城-现金签到成功 " + Details) - merge.JDGetCash.success = 1 - merge.JDGetCash.Money = cc.data.result.signCash || 0 - merge.JDGetCash.notify = `京东商城-现金: 成功, 明细: ${cc.data.result.signCash||`无`}现金 💰` - } else { - console.log("\n" + "京东商城-现金签到失败 " + Details) - merge.JDGetCash.fail = 1 - if (data.match(/\"bizCode\":201|已经签过/)) { - merge.JDGetCash.notify = "京东商城-现金: 失败, 原因: 已签过 ⚠️" - } else if (data.match(/\"code\":300|退出登录/)) { - merge.JDGetCash.notify = "京东商城-现金: 失败, 原因: Cookie失效‼️" - } else { - merge.JDGetCash.notify = "京东商城-现金: 失败, 原因: 未知 ⚠️" - } - } - } - } catch (eor) { - $nobyda.AnError("京东商城-现金", "JDGetCash", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JingDongStore(s) { - merge.JDGStore = {}; - return new Promise(resolve => { - if (disable("JDGStore")) return resolve() - setTimeout(() => { - $nobyda.get({ - url: 'https://api.m.jd.com/api?appid=jdsupermarket&functionId=smtg_sign&clientVersion=8.0.0&client=m&body=%7B%7D', - headers: { - Cookie: KEY, - Origin: `https://jdsupermarket.jd.com` - } - }, (error, response, data) => { - try { - if (error) throw new Error(error); - const cc = JSON.parse(data); - const Details = LogDetails ? "response:\n" + data : ''; - if (cc.data && cc.data.success === true && cc.data.bizCode === 0) { - console.log(`\n京东商城-超市签到成功 ${Details}`) - merge.JDGStore.success = 1 - merge.JDGStore.bean = cc.data.result.jdBeanCount || 0 - merge.JDGStore.notify = `京东商城-超市: 成功, 明细: ${merge.JDGStore.bean||`无`}京豆 🐶` - } else { - if (!cc.data) cc.data = {} - console.log(`\n京东商城-超市签到失败 ${Details}`) - const tp = cc.data.bizCode == 811 ? `已签过` : cc.data.bizCode == 300 ? `Cookie失效` : `${cc.data.bizMsg||`未知`}` - merge.JDGStore.notify = `京东商城-超市: 失败, 原因: ${tp}${cc.data.bizCode==300?`‼️`:` ⚠️`}` - merge.JDGStore.fail = 1 - } - } catch (eor) { - $nobyda.AnError("京东商城-超市", "JDGStore", eor, response, data) - } finally { - resolve() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }); -} - -function JDSecKilling(s) { - merge.JDSecKill = {}; - return new Promise((resolve, reject) => { - if (disable("JDSecKill")) return reject(); - setTimeout(() => { - $nobyda.post({ - url: 'https://api.m.jd.com/client.action', - headers: { - Cookie: KEY, - Origin: 'https://h5.m.jd.com' - }, - body: 'functionId=freshManHomePage&body=%7B%7D&client=wh5&appid=SecKill2020' - }, (error, response, data) => { - try { - if (error) throw new Error(error); - const Details = LogDetails ? "response:\n" + data : ''; - const cc = JSON.parse(data); - if (cc.code == 203 || cc.code == 3 || cc.code == 101) { - merge.JDSecKill.notify = `京东秒杀-红包: 失败, 原因: Cookie失效‼️`; - } else if (cc.result && cc.result.projectId && cc.result.taskId) { - console.log(`\n京东秒杀-红包查询成功 ${Details}`) - return resolve({ - projectId: cc.result.projectId, - taskId: cc.result.taskId - }) - } else { - merge.JDSecKill.notify = `京东秒杀-红包: 失败, 暂无有效活动 ⚠️`; - } - merge.JDSecKill.fail = 1; - console.log(`\n京东秒杀-红包查询失败 ${Details}`) - reject() - } catch (eor) { - $nobyda.AnError("京东秒杀-查询", "JDSecKill", eor, response, data) - reject() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }).then(async (id) => { - await new Promise(resolve => { - $nobyda.post({ - url: 'https://api.m.jd.com/client.action', - headers: { - Cookie: KEY, - Origin: 'https://h5.m.jd.com' - }, - body: `functionId=doInteractiveAssignment&body=%7B%22encryptProjectId%22%3A%22${id.projectId}%22%2C%22encryptAssignmentId%22%3A%22${id.taskId}%22%2C%22completionFlag%22%3Atrue%7D&client=wh5&appid=SecKill2020` - }, (error, response, data) => { - try { - if (error) throw new Error(error); - const Details = LogDetails ? "response:\n" + data : ''; - const cc = JSON.parse(data); - if (cc.msg == 'success' && cc.subCode == 0) { - console.log(`\n京东秒杀-红包签到成功 ${Details}`); - const qt = data.match(/"discount":(\d.*?),/); - merge.JDSecKill.success = 1; - merge.JDSecKill.Cash = qt ? qt[1] : 0; - merge.JDSecKill.notify = `京东秒杀-红包: 成功, 明细: ${merge.JDSecKill.Cash||`无`}红包 🧧`; - } else { - console.log(`\n京东秒杀-红包签到失败 ${Details}`); - merge.JDSecKill.fail = 1; - merge.JDSecKill.notify = `京东秒杀-红包: 失败, ${cc.subCode==103?`原因: 已领取`:cc.msg?cc.msg:`原因: 未知`} ⚠️`; - } - } catch (eor) { - $nobyda.AnError("京东秒杀-领取", "JDSecKill", eor, response, data); - } finally { - resolve(); - } - }) - }) - }, () => {}); -} - -function JRLuckyLottery(s) { //https://jdda.jd.com/app/hd/#/turntable - merge.JRLottery = {}; - return new Promise(resolve => { - if (disable("JRLottery")) return resolve() - setTimeout(() => { - $nobyda.post({ - url: 'https://ms.jr.jd.com/gw/generic/syh_yxmx/h5/m/handleSign', - headers: { - Cookie: KEY - }, - body: `reqData=${encodeURIComponent(`{"activityNo":"e2d1b240d5674def8178be6b4faac5b6","signType":"1","encryptSign":""}`)}` - }, (error, response, data) => { - try { - if (error) throw new Error(error); - const cc = JSON.parse(data); - const Details = LogDetails ? "response:\n" + data : ''; - if (cc.resultCode == 0 && cc.resultData && cc.resultData.resultCode == 0) { - console.log(`\n京东金融-抽奖签到成功 ${Details}`); - merge.JRLottery.success = 1; - merge.JRLottery.bean = cc.resultData.data.rewardList[0].rewardCount || 0 - merge.JRLottery.notify = `京东金融-抽奖: 成功, 明细: ${merge.JRLottery.bean||`无`}京豆 🐶`; - } else { - console.log(`\n京东金融-抽奖签到失败 ${Details}`); - const tp = data.match(/重复签到/) ? `已签过` : cc.resultCode == 3 ? `Cookie失效` : `${cc.resultMsg||`未知`}`; - merge.JRLottery.notify = `京东金融-抽奖: 失败, 原因: ${tp}${cc.resultCode==3?`‼️`:` ⚠️`}`; - merge.JRLottery.fail = 1; - } - } catch (eor) { - $nobyda.AnError("京东金融-抽奖", "JRLottery", eor, response, data); - } finally { - resolve(); - } - }) - }, s) - if (out) setTimeout(resolve, out + s); - }); -} - -function JingDongBuyCar(s, ActId) { - merge.JDBuyCar = {}; - return new Promise((resolve, reject) => { - if (disable("JDBuyCar")) return reject(); - setTimeout(() => { - $nobyda.get({ - url: 'https://cgame-stadium.jd.com/api/v1/first/login', - headers: { - Cookie: KEY, - ActivityId: ActId - } - }, (error, response, data) => { - try { - if (error) throw new Error(error); - const Details = LogDetails ? "response:\n" + data : ''; - console.log(`\n京东汽车-检查签到状态 ${Details}`) - const cc = JSON.parse(data); - if (cc.status && cc.data && cc.data.firstLoginStatus) { - resolve() - } else { - const qt = cc.status && cc.data && cc.data.firstLoginStatus === false ? `已签过` : cc.error && cc.error.code == 2000 ? `Cookie失效` : cc.error && cc.error.msg ? cc.error.msg : `未知` - merge.JDBuyCar.notify = `京东商城-汽车: 失败, 原因: ${qt}${cc.error&&cc.error.code==2000?`‼️`:` ⚠️`}` - merge.JDBuyCar.fail = 1; - reject() - } - } catch (eor) { - $nobyda.AnError("京东汽车-状态", "JDBuyCar", eor, response, data) - reject() - } - }) - }, s) - if (out) setTimeout(resolve, out + s) - }).then(async () => { - await new Promise(resolve => { - $nobyda.post({ - url: 'https://cgame-stadium.jd.com/api/v1/sign', - headers: { - Cookie: KEY, - ActivityId: ActId - } - }, (error, response, data) => { - try { - if (error) throw new Error(error); - const Details = LogDetails ? "response:\n" + data : ''; - const cc = JSON.parse(data); - if (cc.status === true) { - console.log(`\n京东商城-汽车签到成功 ${Details}`); - merge.JDBuyCar.success = 1; - merge.JDBuyCar.bean = cc.data && cc.data.beanNum ? cc.data.beanNum : 0 - merge.JDBuyCar.notify = `京东商城-汽车: 成功, 明细: ${merge.JDBuyCar.bean||`无`}京豆 🐶`; - } else { - console.log(`\n京东商城-汽车签到失败 ${Details}`); - merge.JDBuyCar.fail = 1; - merge.JDBuyCar.notify = `京东商城-汽车: 失败, ${cc.error&&cc.error.msg?cc.error.msg:`原因: 未知`} ⚠️`; - } - } catch (eor) { - $nobyda.AnError("京东汽车-签到", "JDBuyCar", eor, response, data); - } finally { - resolve(); - } - }) - }) - }, () => {}); -} - -function TotalSteel() { - merge.TotalSteel = {}; - return new Promise(resolve => { - if (disable("TSteel")) return resolve() - $nobyda.get({ - url: 'https://coin.jd.com/m/gb/getBaseInfo.html', - headers: { - Cookie: KEY - } - }, (error, response, data) => { - try { - if (error) throw new Error(error); - const Details = LogDetails ? "response:\n" + data : ''; - if (data.match(/(\"gbBalance\":\d+)/)) { - console.log("\n" + "京东-总钢镚查询成功 " + Details) - const cc = JSON.parse(data) - merge.TotalSteel.TSteel = cc.gbBalance - } else { - console.log("\n" + "京东-总钢镚查询失败 " + Details) - } - } catch (eor) { - $nobyda.AnError("账户钢镚-查询", "TotalSteel", eor, response, data) - } finally { - resolve() - } - }) - if (out) setTimeout(resolve, out) - }); -} - -function TotalBean() { - merge.TotalBean = {}; - return new Promise(resolve => { - if (disable("Qbear")) return resolve() - $nobyda.post({ - url: 'https://wq.jd.com/user/info/QueryJDUserInfo?sceneval=2', - headers: { - Cookie: KEY, - Referer: "https://wqs.jd.com/my/jingdou/my.shtml?sceneval=2" - } - }, (error, response, data) => { - try { - if (error) throw new Error(error); - const Details = LogDetails ? "response:\n" + data : ''; - const cc = JSON.parse(data) - $nobyda.headUrl = cc.base.headImageUrl - if (cc.base.jdNum != 0) { - console.log("\n" + "京东-总京豆查询成功 " + Details) - merge.TotalBean.Qbear = cc.base.jdNum - } else { - console.log("\n" + "京东-总京豆查询失败 " + Details) - } - if (data.match(/\"nickname\" ?: ?\"(.+?)\",/)) { - merge.TotalBean.nickname = cc.base.nickname - } else if (data.match(/\"no ?login\.?\"/)) { - merge.TotalBean.nickname = "Cookie失效 ‼️" - } else { - merge.TotalBean.nickname = ''; - } - } catch (eor) { - $nobyda.AnError("账户京豆-查询", "TotalBean", eor, response, data) - } finally { - resolve() - } - }) - if (out) setTimeout(resolve, out) - }); -} - -function TotalCash() { - merge.TotalCash = {}; - return new Promise(resolve => { - if (disable("TCash")) return resolve() - $nobyda.post({ - url: 'https://api.m.jd.com/client.action?functionId=myhongbao_balance', - headers: { - Cookie: KEY - }, - body: "body=%7B%22fp%22%3A%22-1%22%2C%22appToken%22%3A%22apphongbao_token%22%2C%22childActivityUrl%22%3A%22-1%22%2C%22country%22%3A%22cn%22%2C%22openId%22%3A%22-1%22%2C%22childActivityId%22%3A%22-1%22%2C%22applicantErp%22%3A%22-1%22%2C%22platformId%22%3A%22appHongBao%22%2C%22isRvc%22%3A%22-1%22%2C%22orgType%22%3A%222%22%2C%22activityType%22%3A%221%22%2C%22shshshfpb%22%3A%22-1%22%2C%22platformToken%22%3A%22apphongbao_token%22%2C%22organization%22%3A%22JD%22%2C%22pageClickKey%22%3A%22-1%22%2C%22platform%22%3A%221%22%2C%22eid%22%3A%22-1%22%2C%22appId%22%3A%22appHongBao%22%2C%22childActiveName%22%3A%22-1%22%2C%22shshshfp%22%3A%22-1%22%2C%22jda%22%3A%22-1%22%2C%22extend%22%3A%22-1%22%2C%22shshshfpa%22%3A%22-1%22%2C%22activityArea%22%3A%22-1%22%2C%22childActivityTime%22%3A%22-1%22%7D&client=apple&clientVersion=8.5.0&d_brand=apple&networklibtype=JDNetworkBaseAF&openudid=1fce88cd05c42fe2b054e846f11bdf33f016d676&sign=fdc04c3ab0ee9148f947d24fb087b55d&st=1581245397648&sv=120" - }, (error, response, data) => { - try { - if (error) throw new Error(error); - const Details = LogDetails ? "response:\n" + data : ''; - if (data.match(/(\"totalBalance\":\d+)/)) { - console.log("\n" + "京东-总红包查询成功 " + Details) - const cc = JSON.parse(data) - merge.TotalCash.TCash = cc.totalBalance - } else { - console.log("\n" + "京东-总红包查询失败 " + Details) - } - } catch (eor) { - $nobyda.AnError("账户红包-查询", "TotalCash", eor, response, data) - } finally { - resolve() - } - }) - if (out) setTimeout(resolve, out) - }); -} - -function TotalSubsidy() { - merge.TotalSubsidy = {}; - return new Promise(resolve => { - if (disable("TotalSubsidy")) return resolve() - $nobyda.get({ - url: 'https://ms.jr.jd.com/gw/generic/uc/h5/m/mySubsidyBalance', - headers: { - Cookie: KEY, - Referer: 'https://active.jd.com/forever/cashback/index?channellv=wojingqb' - } - }, (error, response, data) => { - try { - if (error) throw new Error(error); - const cc = JSON.parse(data) - const Details = LogDetails ? "response:\n" + data : ''; - if (cc.resultCode == 0 && cc.resultData && cc.resultData.data) { - console.log("\n京东-总金贴查询成功 " + Details) - merge.TotalSubsidy.TSubsidy = cc.resultData.data.balance || 0 - } else { - console.log("\n京东-总金贴查询失败 " + Details) - } - } catch (eor) { - $nobyda.AnError("账户金贴-查询", "TotalSubsidy", eor, response, data) - } finally { - resolve() - } - }) - if (out) setTimeout(resolve, out) - }); -} - -function TotalMoney() { - merge.TotalMoney = {}; - return new Promise(resolve => { - if (disable("TotalMoney")) return resolve() - $nobyda.get({ - url: 'https://api.m.jd.com/client.action?functionId=cash_exchangePage&body=%7B%7D&build=167398&client=apple&clientVersion=9.1.9&openudid=1fce88cd05c42fe2b054e846f11bdf33f016d676&sign=762a8e894dea8cbfd91cce4dd5714bc5&st=1602179446935&sv=102', - headers: { - Cookie: KEY - } - }, (error, response, data) => { - try { - if (error) throw new Error(error); - const cc = JSON.parse(data) - const Details = LogDetails ? "response:\n" + data : ''; - if (cc.code == 0 && cc.data && cc.data.bizCode == 0 && cc.data.result) { - console.log("\n京东-总现金查询成功 " + Details) - merge.TotalMoney.TMoney = cc.data.result.totalMoney || 0 - } else { - console.log("\n京东-总现金查询失败 " + Details) - } - } catch (eor) { - $nobyda.AnError("账户现金-查询", "TotalMoney", eor, response, data) - } finally { - resolve() - } - }) - if (out) setTimeout(resolve, out) - }); -} - -function disable(Val, name, way) { - const read = $nobyda.read("JD_DailyBonusDisables") - const annal = $nobyda.read("JD_Crash_" + Val) - if (annal && way == 1 && boxdis) { - var Crash = $nobyda.write("", "JD_Crash_" + Val) - if (read) { - if (read.indexOf(Val) == -1) { - var Crash = $nobyda.write(`${read},${Val}`, "JD_DailyBonusDisables") - console.log(`\n${name}-触发自动禁用 ‼️`) - merge[Val].notify = `${name}: 崩溃, 触发自动禁用 ‼️` - merge[Val].error = 1 - $nobyda.disable = 1 - } - } else { - var Crash = $nobyda.write(Val, "JD_DailyBonusDisables") - console.log(`\n${name}-触发自动禁用 ‼️`) - merge[Val].notify = `${name}: 崩溃, 触发自动禁用 ‼️` - merge[Val].error = 1 - $nobyda.disable = 1 - } - return true - } else if (way == 1 && boxdis) { - var Crash = $nobyda.write(name, "JD_Crash_" + Val) - } else if (way == 2 && annal) { - var Crash = $nobyda.write("", "JD_Crash_" + Val) - } - if (read && read.indexOf(Val) != -1) { - return true - } else { - return false - } -} - -function Wait(readDelay, ini) { - if (!readDelay || readDelay === '0') return 0 - if (typeof(readDelay) == 'string') { - var readDelay = readDelay.replace(/"|"|'|'/g, ''); //prevent novice - if (readDelay.indexOf('-') == -1) return parseInt(readDelay) || 0; - const raw = readDelay.split("-").map(Number); - const plan = parseInt(Math.random() * (raw[1] - raw[0] + 1) + raw[0], 10); - if (ini) console.log(`\n初始化随机延迟: 最小${raw[0]/1000}秒, 最大${raw[1]/1000}秒`); - // else console.log(`\n预计等待: ${(plan / 1000).toFixed(2)}秒`); - return ini ? readDelay : plan - } else if (typeof(readDelay) == 'number') { - return readDelay > 0 ? readDelay : 0 - } else return 0 -} - -function GetCookie() { - try { - if ($request.method != 'OPTIONS' && $request.headers && $request.url !== 'http://www.apple.com/') { - let acObj = {}; - // 提取ck数据 - let CV = ($request.headers['Cookie'] || $request.headers['cookie'] || '').replace(/ /g, ''); - let ckItems = CV.split(';').filter(s => /^(pt_key|pt_pin)=.+/.test(s)).sort(); - if (ckItems.length == 2) { - acObj.cookie = ckItems.join(';') + ';'; - acObj.userName = decodeURIComponent(acObj.cookie.match(/pt_pin=(.+?);/)[1]); - } - // 无cookie数据进行提示,有ck数据,找到账号位进行存储 - if (!acObj.cookie) { - $nobyda.notify("写入京东Cookie失败", "", "请查看脚本内说明, 登录网页获取 ‼️") - return - } else { - const allCk = [$nobyda.read('CookieJD'), $nobyda.read('CookieJD2')]; - const ocks = $nobyda.read('CookiesJD'); - let oldCks = []; - try { - oldCks = (ocks && JSON.parse(ocks)) || []; - } catch (e) { - console.log(`写入京东Cookie时转换京东扩展账号数据CookiesJD异常,扩展账号信息:\n${ocks}`) - oldCks = []; - } - oldCks.forEach(item => allCk.push(item.cookie)); - let [status, seatNo] = chooseSeatNo(acObj.cookie, allCk, /pt_pin=(.+?);/); - if (status) { - if (status > 0) { - let WT = ''; - if (seatNo < 2) { - WT = $nobyda.write(acObj.cookie, `CookieJD${seatNo?seatNo+1:''}`); - } else { - if (oldCks.length <= seatNo - 2) { - oldCks.push(acObj); - } else { - oldCks[seatNo - 2] = acObj; - } - WT = $nobyda.write(JSON.stringify(oldCks, null, 2), 'CookiesJD'); - } - $nobyda.notify(`用户名: ${acObj.userName}`, ``, `${status==2?`更新`:`写入`}京东 [账号${seatNo+1}] Cookie${WT?`成功 🎉`:`失败 ‼️`}`) - } else { - console.log(`\n用户名: ${acObj.userName}\n与历史京东 [账号${seatNo+1}] Cookie相同, 跳过写入 ⚠️`) - } - } - } - } else if ($request.url === 'http://www.apple.com/') { - $nobyda.notify("京东签到", "", "类型错误, 手动运行请选择上下文环境为Cron ⚠️"); - } else { - $nobyda.notify("京东签到", "写入Cookie失败", "请检查匹配URL或配置内脚本类型 ⚠️"); - } - } catch (eor) { - $nobyda.write("", "CookieJD") - $nobyda.write("", "CookieJD2") - $nobyda.write("", "CookiesJD") - $nobyda.notify("写入京东Cookie失败", "", '已尝试清空历史Cookie, 请重试 ⚠️') - console.log(`\n写入京东Cookie出现错误 ‼️\n${JSON.stringify(eor)}\n\n${eor}\n\n${JSON.stringify($request.headers)}\n`) - } finally { - $nobyda.done() - } -} -// 获取新ck存放位置 -function chooseSeatNo(newCk, allCk, reg) { - // status-获取操作状态-0:异常、1-新增、2-更新、-1-相同 seatNo-存储位置,默认添加到最后面 - let [status, seatNo] = [1, allCk.length]; - try { - let newId = ((newCk || '').match(reg) || ['', ''])[1]; - for (let i = 0, len = allCk.length; i < len; i++) { - let oldId = ((allCk[i] || '').match(reg) || ['', ''])[1]; - if (oldId) { - // 账号位数据存在,判断是否为当前账号的数据,不是则跳过,否则设置数据并跳出循环 - if (oldId == newId) { - seatNo = i; - status = newCk == allCk[i] ? -1 : 2; - break; - } - } else if (seatNo == len) { - // 旧cookie无效且在初始账号位,先标记新cookie数据存储于此位置 - seatNo = i; - status = 1; - } - } - } catch (e) { - // 异常时,不操作cookie - status = 0; - console.log(`\n查询账号存储位置异常 ‼️\n${JSON.stringify(e)}\n\n${e}\n`) - } - return [status, seatNo]; -} - -// Modified from yichahucha -function nobyda() { - const start = Date.now() - const isRequest = typeof $request != "undefined" - const isSurge = typeof $httpClient != "undefined" - const isQuanX = typeof $task != "undefined" - const isLoon = typeof $loon != "undefined" - const isJSBox = typeof $app != "undefined" && typeof $http != "undefined" - const isNode = typeof require == "function" && !isJSBox; - const NodeSet = 'CookieSet.json' - const node = (() => { - if (isNode) { - const request = require('request'); - const fs = require("fs"); - return ({ - request, - fs - }) - } else { - return (null) - } - })() - const notify = (title, subtitle, message, rawopts) => { - const Opts = (rawopts) => { //Modified from https://github.com/chavyleung/scripts/blob/master/Env.js - if (!rawopts) return rawopts - if (typeof rawopts === 'string') { - if (isLoon) return rawopts - else if (isQuanX) return { - 'open-url': rawopts - } - else if (isSurge) return { - url: rawopts - } - else return undefined - } else if (typeof rawopts === 'object') { - if (isLoon) { - let openUrl = rawopts.openUrl || rawopts.url || rawopts['open-url'] - let mediaUrl = rawopts.mediaUrl || rawopts['media-url'] - return { - openUrl, - mediaUrl - } - } else if (isQuanX) { - let openUrl = rawopts['open-url'] || rawopts.url || rawopts.openUrl - let mediaUrl = rawopts['media-url'] || rawopts.mediaUrl - return { - 'open-url': openUrl, - 'media-url': mediaUrl - } - } else if (isSurge) { - let openUrl = rawopts.url || rawopts.openUrl || rawopts['open-url'] - return { - url: openUrl - } - } - } else { - return undefined - } - } - console.log(`${title}\n${subtitle}\n${message}`) - if (isQuanX) $notify(title, subtitle, message, Opts(rawopts)) - if (isSurge) $notification.post(title, subtitle, message, Opts(rawopts)) - if (isJSBox) $push.schedule({ - title: title, - body: subtitle ? subtitle + "\n" + message : message - }) - } - const write = (value, key) => { - if (isQuanX) return $prefs.setValueForKey(value, key) - if (isSurge) return $persistentStore.write(value, key) - if (isNode) { - try { - if (!node.fs.existsSync(NodeSet)) node.fs.writeFileSync(NodeSet, JSON.stringify({})); - const dataValue = JSON.parse(node.fs.readFileSync(NodeSet)); - if (value) dataValue[key] = value; - if (!value) delete dataValue[key]; - return node.fs.writeFileSync(NodeSet, JSON.stringify(dataValue)); - } catch (er) { - return AnError('Node.js持久化写入', null, er); - } - } - if (isJSBox) { - if (!value) return $file.delete(`shared://${key}.txt`); - return $file.write({ - data: $data({ - string: value - }), - path: `shared://${key}.txt` - }) - } - } - const read = (key) => { - if (isQuanX) return $prefs.valueForKey(key) - if (isSurge) return $persistentStore.read(key) - if (isNode) { - try { - if (!node.fs.existsSync(NodeSet)) return null; - const dataValue = JSON.parse(node.fs.readFileSync(NodeSet)) - return dataValue[key] - } catch (er) { - return AnError('Node.js持久化读取', null, er) - } - } - if (isJSBox) { - if (!$file.exists(`shared://${key}.txt`)) return null; - return $file.read(`shared://${key}.txt`).string - } - } - const adapterStatus = (response) => { - if (response) { - if (response.status) { - response["statusCode"] = response.status - } else if (response.statusCode) { - response["status"] = response.statusCode - } - } - return response - } - const get = (options, callback) => { - options.headers['User-Agent'] = 'JD4iPhone/167169 (iPhone; iOS 13.4.1; Scale/3.00)' - if (isQuanX) { - if (typeof options == "string") options = { - url: options - } - options["method"] = "GET" - //options["opts"] = { - // "hints": false - //} - $task.fetch(options).then(response => { - callback(null, adapterStatus(response), response.body) - }, reason => callback(reason.error, null, null)) - } - if (isSurge) { - options.headers['X-Surge-Skip-Scripting'] = false - $httpClient.get(options, (error, response, body) => { - callback(error, adapterStatus(response), body) - }) - } - if (isNode) { - node.request(options, (error, response, body) => { - callback(error, adapterStatus(response), body) - }) - } - if (isJSBox) { - if (typeof options == "string") options = { - url: options - } - options["header"] = options["headers"] - options["handler"] = function(resp) { - let error = resp.error; - if (error) error = JSON.stringify(resp.error) - let body = resp.data; - if (typeof body == "object") body = JSON.stringify(resp.data); - callback(error, adapterStatus(resp.response), body) - }; - $http.get(options); - } - } - const post = (options, callback) => { - options.headers['User-Agent'] = 'JD4iPhone/167169 (iPhone; iOS 13.4.1; Scale/3.00)' - if (options.body) options.headers['Content-Type'] = 'application/x-www-form-urlencoded' - if (isQuanX) { - if (typeof options == "string") options = { - url: options - } - options["method"] = "POST" - //options["opts"] = { - // "hints": false - //} - $task.fetch(options).then(response => { - callback(null, adapterStatus(response), response.body) - }, reason => callback(reason.error, null, null)) - } - if (isSurge) { - options.headers['X-Surge-Skip-Scripting'] = false - $httpClient.post(options, (error, response, body) => { - callback(error, adapterStatus(response), body) - }) - } - if (isNode) { - node.request.post(options, (error, response, body) => { - callback(error, adapterStatus(response), body) - }) - } - if (isJSBox) { - if (typeof options == "string") options = { - url: options - } - options["header"] = options["headers"] - options["handler"] = function(resp) { - let error = resp.error; - if (error) error = JSON.stringify(resp.error) - let body = resp.data; - if (typeof body == "object") body = JSON.stringify(resp.data) - callback(error, adapterStatus(resp.response), body) - } - $http.post(options); - } - } - const AnError = (name, keyname, er, resp, body) => { - if (typeof(merge) != "undefined" && keyname) { - if (!merge[keyname].notify) { - merge[keyname].notify = `${name}: 异常, 已输出日志 ‼️` - } else { - merge[keyname].notify += `\n${name}: 异常, 已输出日志 ‼️ (2)` - } - merge[keyname].error = 1 - } - return console.log(`\n‼️${name}发生错误\n‼️名称: ${er.name}\n‼️描述: ${er.message}${JSON.stringify(er).match(/\"line\"/)?`\n‼️行列: ${JSON.stringify(er)}`:``}${resp&&resp.status?`\n‼️状态: ${resp.status}`:``}${body?`\n‼️响应: ${resp&&resp.status!=503?body:`Omit.`}`:``}`) - } - const time = () => { - const end = ((Date.now() - start) / 1000).toFixed(2) - return console.log('\n签到用时: ' + end + ' 秒') - } - const done = (value = {}) => { - if (isQuanX) return $done(value) - if (isSurge) isRequest ? $done(value) : $done() - } - return { - AnError, - isRequest, - isJSBox, - isSurge, - isQuanX, - isLoon, - isNode, - notify, - write, - read, - get, - post, - time, - done - } -}; -ReadCookie(); diff --git a/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/gen_cookieset.lua b/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/gen_cookieset.lua deleted file mode 100644 index 9809ba3752..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/gen_cookieset.lua +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/lua -local uci = require "luci.model.uci".cursor() -local json = require 'luci.jsonc' - -function write_json(file, content) - local f = assert(io.open(file, 'w')) - f:write(json.stringify(content, 1)) - f:close() -end - - -local data = { - CookiesJD = {}, - JD_DailyBonusDelay = uci:get('jd-dailybonus', '@global[0]', 'stop'), - JD_DailyBonusTimeOut = uci:get('jd-dailybonus', '@global[0]', 'out') -} - -for i, v in pairs( uci:get('jd-dailybonus', '@global[0]', 'Cookies') or {} ) do - table.insert(data.CookiesJD, {["cookie"]=v}) -end - -data.CookiesJD = json.stringify( data.CookiesJD ) - -write_json('/usr/share/jd-dailybonus/CookieSet.json', data) diff --git a/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/newapp.sh b/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/newapp.sh deleted file mode 100755 index 1141d77b93..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/jd-dailybonus/newapp.sh +++ /dev/null @@ -1,187 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2020 luci-app-jd-dailybonus -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# -# 501 下载脚本出错 -# 101 没有新版本无需更新 -# 0 更新成功 - -NAME=jd-dailybonus -TEMP_SCRIPT=/tmp/JD_DailyBonus.js -JD_SCRIPT=/usr/share/jd-dailybonus/JD_DailyBonus.js -LOG_FILE=/var/log/jd_dailybonus.log -CRON_FILE=/etc/crontabs/root -usage() { - cat <<-EOF - Usage: app.sh [options] - Valid options are: - - -a Add Cron - -n Check - -r Run Script - -u Update Script From Server - -s Save Cookie And Add Cron - -w Background Run With Wechat Message - -h Help -EOF - exit $1 -} - -# Common functions - -uci_get_by_name() { - local ret=$(uci get $NAME.$1.$2 2>/dev/null) - echo ${ret:=$3} -} - -uci_get_by_type() { - local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null) - echo ${ret:=$3} -} - -cancel() { - if [ $# -gt 0 ]; then - echo "$1" - fi - exit 1 -} - -add_cron() { - sed -i '/jd-dailybonus/d' $CRON_FILE - [ $(uci_get_by_type global auto_run 0) -eq 1 ] && echo $(uci_get_by_type global auto_run_time_m)' '$(uci_get_by_type global auto_run_time_h)' * * * sh /usr/share/jd-dailybonus/newapp.sh -w' >>$CRON_FILE - [ $(uci_get_by_type global auto_update 0) -eq 1 ] && echo '1 '$(uci_get_by_type global auto_update_time)' * * * sh /usr/share/jd-dailybonus/newapp.sh -u' >>$CRON_FILE - crontab $CRON_FILE - /etc/init.d/cron restart -} - -# Run Script - -notify() { - grep "】: Cookie失效" ${LOG_FILE} >/dev/null - if [ $? -eq 0 ]; then - title="$(date '+%Y年%m月%d日') 京东签到 Cookie 失效" - else - title="$(date '+%Y年%m月%d日') 京东签到" - fi - desc=$(cat ${LOG_FILE} | grep -E '签到号|签到概览|签到奖励|其他奖励|账号总计|其他总计' | sed 's/$/&\n/g') - #serverchan - sckey=$(uci_get_by_type global serverchan) - if [ ! -z $sckey ]; then - serverurlflag=$(uci_get_by_type global serverurl) - serverurl=https://sc.ftqq.com/ - if [ "$serverurlflag" = "sct" ]; then - serverurl=https://sctapi.ftqq.com/ - fi - wget-ssl -q --output-document=/dev/null --post-data="text=$title~&desp=$desc" $serverurl$sckey.send - fi - - #Dingding - dtoken=$(uci_get_by_type global dd_token) - if [ ! -z $dtoken ]; then - DTJ_FILE=/tmp/jd-djson.json - echo "{\"msgtype\": \"markdown\",\"markdown\": {\"title\":\"${title}\",\"text\":\"${title}
${desc}\"}}" > ${DTJ_FILE} - wget-ssl -q --output-document=/dev/null --header="Content-Type: application/json" --post-file=/tmp/jd-djson.json "https://oapi.dingtalk.com/robot/send?access_token=${dtoken}" - fi - - #telegram - TG_BOT_TOKEN=$(uci_get_by_type global tg_token) - TG_USER_ID=$(uci_get_by_type global tg_userid) - API_URL="https://api.telegram.org/bot${TG_BOT_TOKEN}/sendMessage" - if [ ! -z $TG_BOT_TOKEN ] && [ ! -z $TG_USER_ID ]; then - text="*$title* - -\`\`\` -"$desc" -=============================== -本消息来自京东签到插件 jd-dailybonus -\`\`\`" - wget-ssl -q --output-document=/dev/null --post-data="chat_id=$TG_USER_ID&text=$text&parse_mode=markdownv2" $API_URL - fi -} - -run() { - echo -e $(date '+%Y-%m-%d %H:%M:%S %A') >$LOG_FILE 2>/dev/null - [ ! -f "/usr/bin/node" ] && echo -e "未安装node.js,请安装后再试!\nNode.js is not installed, please try again after installation!" >>$LOG_FILE && exit 1 - (cd /usr/share/jd-dailybonus/ && node $JD_SCRIPT >>$LOG_FILE 2>/dev/null && notify &) -} - -save() { - lua /usr/share/jd-dailybonus/gen_cookieset.lua - add_cron -} - -# Update Script From Server -download() { - REMOTE_SCRIPT=$(uci_get_by_type global remote_url) - wget-ssl --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36" --no-check-certificate -t 3 -T 10 -q $REMOTE_SCRIPT -O $TEMP_SCRIPT - return $? -} - -get_ver() { - echo $(cat $1 | sed -n '/更新时间/p' | awk '{for (i=1;i<=NF;i++){if ($i ~/v/) {print $i}}}' | sed 's/v//') -} - -check_ver() { - download - if [ $? -ne 0 ]; then - cancel "501" - else - echo $(get_ver $TEMP_SCRIPT) - fi -} - -update() { - download - if [ $? -ne 0 ]; then - cancel "501" - fi - if [ -e $JD_SCRIPT ]; then - local_ver=$(get_ver $JD_SCRIPT) - else - local_ver=0 - fi - remote_ver=$(get_ver $TEMP_SCRIPT) - cp -r $TEMP_SCRIPT $JD_SCRIPT - uci set jd-dailybonus.@global[0].version=$remote_ver - uci commit jd-dailybonus - cancel "0" -} - -while getopts ":alnruswh" arg; do - case "$arg" in - a) - add_cron - exit 0 - ;; - l) - notify - exit 0 - ;; - n) - check_ver - exit 0 - ;; - r) - run - exit 0 - ;; - u) - update - exit 0 - ;; - s) - save - exit 0 - ;; - w) - run - exit 0 - ;; - h) - usage 0 - ;; - esac -done diff --git a/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/rpcd/acl.d/luci-app-jd-dailybonus.json b/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/rpcd/acl.d/luci-app-jd-dailybonus.json deleted file mode 100644 index 3b8d97a0fe..0000000000 --- a/package/ctcgfw/luci-app-jd-dailybonus/root/usr/share/rpcd/acl.d/luci-app-jd-dailybonus.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-jd-dailybonus": { - "description": "Grant UCI access for luci-app-jd-dailybonus", - "read": { - "uci": [ "jd-dailybonus" ] - }, - "write": { - "uci": [ "jd-dailybonus" ] - } - } -} diff --git a/package/ctcgfw/luci-app-k3screenctrl/Makefile b/package/ctcgfw/luci-app-k3screenctrl/Makefile deleted file mode 100644 index 9724f251f4..0000000000 --- a/package/ctcgfw/luci-app-k3screenctrl/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (C) 2018 XiaoShan mivm.cn - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI Support for k3screenctrl -LUCI_DESCRIPTION:=LuCI Support for k3screenctrl. -LUCI_DEPENDS:=+phicomm-k3screenctrl -LUCI_PKGARCH:=all - -PKG_NAME:=luci-app-k3screenctrl -PKG_VERSION:=1.1.0 -PKG_RELEASE:=2 - -PKG_LICENSE:=GPLv3 -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Hill - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-k3screenctrl/luasrc/controller/k3screenctrl.lua b/package/ctcgfw/luci-app-k3screenctrl/luasrc/controller/k3screenctrl.lua deleted file mode 100644 index bdbe47d10c..0000000000 --- a/package/ctcgfw/luci-app-k3screenctrl/luasrc/controller/k3screenctrl.lua +++ /dev/null @@ -1,12 +0,0 @@ --- Copyright (C) 2018 XiaoShan mivm.cn - -module("luci.controller.k3screenctrl", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/k3screenctrl") then - return - end - local page - page = entry({"admin","system","k3screenctrl"}, cbi("k3screenctrl"), _("Screen"), 60) - page.dependent = true -end diff --git a/package/ctcgfw/luci-app-k3screenctrl/luasrc/model/cbi/k3screenctrl.lua b/package/ctcgfw/luci-app-k3screenctrl/luasrc/model/cbi/k3screenctrl.lua deleted file mode 100644 index ad7557fe4c..0000000000 --- a/package/ctcgfw/luci-app-k3screenctrl/luasrc/model/cbi/k3screenctrl.lua +++ /dev/null @@ -1,120 +0,0 @@ --- Copyright (C) 2018 XiaoShan mivm.cn - -local m, s ,o - -m = Map("k3screenctrl", translate("Screen"), translate("Customize your device screen")) - -s = m:section(TypedSection, "general", translate("General Setting") ) -s.anonymous = true - -o = s:option(ListValue, "screen_time", translate("Screen time :"), translate("This time no action, the screen will close.")) -o:value("10",translate("10 s")) -o:value("30",translate("30 s")) -o:value("60",translate("60 s")) -o:value("300",translate("5 m")) -o:value("600",translate("10 m")) -o:value("900",translate("15 m")) -o:value("1800",translate("30 m")) -o:value("3600",translate("60 m")) -o.default = 10 -o.rmempty = false - -o = s:option(ListValue, "refresh_time", translate("Refresh interval :"), translate("Screen data refresh interval.")) -o:value("1",translate("1 s")) -o:value("2",translate("2 s")) -o:value("5",translate("5 s")) -o:value("10",translate("10 s")) -o.default = 2 -o.rmempty = false - -o = s:option(ListValue, "update_time", translate("Weather update interval :")) -o:value("0",translate("off")) -o:value("3600",translate("1h")) -o:value("14400",translate("4h")) -o:value("43200",translate("12h")) -o.default = 0 -o.rmempty = false - -o = s:option(Value, "key", translate("Private Key :"), -translate("Input private key, visit: https://docs.seniverse.com/api/start/key.html")) - -o = s:option(Flag, "city_checkip", translate("Check city from ip"), translate("Check city from local ip.")) -o.default = 0 - -o = s:option(Value, "city", translate("City :"), -translate("For more information, visit: https://docs.seniverse.com/api/start/common.html#地点-location")) ---o.rmempty = false - -o = s:option(Flag, "psk_hide", translate("Hide Wireless password")) -o.default = 0 - -o = s:option(Flag, "showmore", translate("Display More Info"), translate("The first page shows more information including: CPU temprature, Load, RAM useage, uptime, etc.")) -o.default = 0 - -o = s:option(Button,"test_print",translate("Test"),translate("Execute k3screenctrl -t and return the result")) -o.inputtitle = translate("Print info") -o.write = function() - luci.sys.call("k3screenctrl -t > /tmp/k3screenctrl/test") - luci.http.redirect(luci.dispatcher.build_url("admin","system","k3screenctrl")) -end - -s = m:section(TypedSection, "device_custom", translate("Device customization") ,translate("Customize the fifth page of device information")) -s.template = "cbi/tblsection" -s.addremove = true -s.anonymous = true - -o = s:option(Value,"mac",translate("Device")) -o.datatype = "macaddr" -o.rmempty = false -luci.sys.net.mac_hints(function(t,a) - o:value(t,"%s (%s)"%{a,t}) -end) - -o = s:option(Value,"name",translate("Hostname")) -o.rmempty = false - -o = s:option(ListValue,"icon",translate("Icon")) -o.rmempty = false -o:value("0",translate("Auto")) -o:value("1",translate("OnePlus")) -o:value("2","360") -o:value("3",translate("Asus")) -o:value("4",translate("Coolpad")) -o:value("5",translate("Dell")) -o:value("6",translate("Haier")) -o:value("7",translate("Hasee")) -o:value("8",translate("Honor")) -o:value("9",translate("HP")) -o:value("10","HTC") -o:value("11",translate("Huawei")) -o:value("12",translate("Apple")) -o:value("13",translate("Lenovo")) -o:value("14",translate("LeEco")) -o:value("15","LG") -o:value("16",translate("Meitu")) -o:value("17",translate("Meizu")) -o:value("18","OPPO") -o:value("19",translate("Phicomm")) -o:value("20",translate("Samsung")) -o:value("21",translate("Smartisan")) -o:value("22",translate("Sony")) -o:value("23","TCL") -o:value("24","ThinkPad") -o:value("25",translate("TongfangPC")) -o:value("26","VIVO") -o:value("27",translate("Microsoft")) -o:value("28",translate("XiaoMi")) -o:value("29",translate("ZTE")) - -if nixio.fs.access("/tmp/k3screenctrl/test") then - s = m:section(TypedSection, "general", translate("Output results")) - s.anonymous = true - o = s:option(TextValue,"test_output_results") - o.readonly = true - o.rows = 30 - o.cfgvalue = function() - return luci.sys.exec("cat /tmp/k3screenctrl/test && rm -f /tmp/k3screenctrl/test") - end -end - -return m diff --git a/package/ctcgfw/luci-app-k3screenctrl/po/zh_Hans/k3screenctrl.po b/package/ctcgfw/luci-app-k3screenctrl/po/zh_Hans/k3screenctrl.po deleted file mode 100644 index 9474b56ffd..0000000000 --- a/package/ctcgfw/luci-app-k3screenctrl/po/zh_Hans/k3screenctrl.po +++ /dev/null @@ -1,185 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8\n" - -msgid "Screen" -msgstr "屏幕" - -msgid "Customize your device screen" -msgstr "自定义你的设备屏幕" - -msgid "General Setting" -msgstr "基本设置" - -msgid "Screen time :" -msgstr "亮屏时间:" - -msgid "This time no action, the screen will close." -msgstr "这段时间没有操作,屏幕将关闭。" - -msgid "Refresh interval :" -msgstr "刷新间隔:" - -msgid "Screen data refresh interval." -msgstr "屏幕数据刷新间隔。" - -msgid "Check city from ip" -msgstr "IP定位" - -msgid "Check city from local ip." -msgstr "通过IP得到城市信息。" - -msgid "City :" -msgstr "城市:" - -msgid "Weather update interval :" -msgstr "天气更新时间间隔:" - -msgid "Private Key :" -msgstr "私钥:" - -msgid "Hide Wireless password" -msgstr "隐藏无线密码" - -msgid "Display More Info" -msgstr "显示更多信息" - -msgid "The first page shows more information including: CPU temprature, Load, RAM useage, uptime, etc." -msgstr "第一页显示更多信息,包括:CPU温度、负载,内存用量,运行时间等。" - -msgid "Test" -msgstr "测试" - -msgid "Print info" -msgstr "输出信息" - -msgid "Execute k3screenctrl -t and return the result" -msgstr "执行 k3screenctrl -t 并返回结果" - -msgid "Output results" -msgstr "输出结果" - -msgid "Device customization" -msgstr "设备自定义" - -msgid "Customize the fifth page of device information" -msgstr "自定义第五页设备信息" - -msgid "Device" -msgstr "设备" - -msgid "Icon" -msgstr "图标" - -msgid "1 s" -msgstr "1 秒" - -msgid "2 s" -msgstr "2 秒" - -msgid "5 s" -msgstr "5 秒" - -msgid "10 s" -msgstr "10 秒" - -msgid "30 s" -msgstr "30 秒" - -msgid "60 s" -msgstr "60 秒" - -msgid "5 m" -msgstr "5 分" - -msgid "10 m" -msgstr "10 分" - -msgid "15 m" -msgstr "15 分" - -msgid "30 m" -msgstr "30 分" - -msgid "60 m" -msgid "60 分" - -msgid "off" -msgid "关闭" - -msgid "1 h" -msgid "1 小时" - -msgid "4 h" -msgid "4 小时" - -msgid "12 h" -msgid "12 小时" - -msgid "Auto" -msgstr "自动" - -msgid "OnePlus" -msgstr "一加" - -msgid "Asus" -msgstr "华硕" - -msgid "Coolpad" -msgstr "酷派" - -msgid "Dell" -msgstr "戴尔" - -msgid "Haier" -msgstr "海尔" - -msgid "Hasee" -msgstr "神舟" - -msgid "Honor" -msgid "荣耀" - -msgid "HP" -msgstr "惠普" - -msgid "Huawei" -msgstr "华为" - -msgid "Apple" -msgstr "苹果" - -msgid "Lenovo" -msgid "联想" - -msgid "LeEco" -msgstr "乐视" - -msgid "Meitu" -msgstr "美图" - -msgid "Meizu" -msgstr "魅族" - -msgid "Phicomm" -msgstr "斐讯" - -msgid "Samsung" -msgstr "三星" - -msgid "Smartisan" -msgstr "锤子" - -msgid "Sony" -msgstr "索尼" - -msgid "TongfangPC" -msgstr "清华同方" - -msgid "Microsoft" -msgstr "微软" - -msgid "XiaoMi" -msgstr "小米" - -msgid "ZTE" -msgstr "中兴" \ No newline at end of file diff --git a/package/ctcgfw/luci-app-k3screenctrl/root/etc/uci-defaults/k3screenctrl b/package/ctcgfw/luci-app-k3screenctrl/root/etc/uci-defaults/k3screenctrl deleted file mode 100755 index 73da7aadcc..0000000000 --- a/package/ctcgfw/luci-app-k3screenctrl/root/etc/uci-defaults/k3screenctrl +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -uci -q batch <<-EOF >/dev/null - delete ucitrack.@k3screenctrl[-1] - add ucitrack k3screenctrl - set ucitrack.@k3screenctrl[-1].init=k3screenctrl - commit ucitrack -EOF -exit 0 diff --git a/package/ctcgfw/luci-app-k3screenctrl/root/usr/share/rpcd/acl.d/luci-app-k3screenctrl.json b/package/ctcgfw/luci-app-k3screenctrl/root/usr/share/rpcd/acl.d/luci-app-k3screenctrl.json deleted file mode 100644 index 26f5e919aa..0000000000 --- a/package/ctcgfw/luci-app-k3screenctrl/root/usr/share/rpcd/acl.d/luci-app-k3screenctrl.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-k3screenctrl": { - "description": "Grant UCI access for luci-app-k3screenctrl", - "read": { - "uci": [ "k3screenctrl" ] - }, - "write": { - "uci": [ "k3screenctrl" ] - } - } -} diff --git a/package/ctcgfw/luci-app-k3usb/Makefile b/package/ctcgfw/luci-app-k3usb/Makefile deleted file mode 100644 index e50f46e5be..0000000000 --- a/package/ctcgfw/luci-app-k3usb/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (C) 2018 XiaoShan mivm.cn - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI Support for k3usb3.0 on or off -LUCI_DESCRIPTION:=LuCI Support for k3usb3.0 on or off. -LUCI_DEPENDS:=@TARGET_bcm53xx_generic_DEVICE_phicomm_k3 -LUCI_PKGARCH:=all - -PKG_NAME:=luci-app-k3usb -PKG_VERSION:=1.1.0 -PKG_RELEASE:=2 - -PKG_LICENSE:=GPLv3 -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Shenzt - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-k3usb/luasrc/controller/k3usb.lua b/package/ctcgfw/luci-app-k3usb/luasrc/controller/k3usb.lua deleted file mode 100644 index 31bcb6d3a7..0000000000 --- a/package/ctcgfw/luci-app-k3usb/luasrc/controller/k3usb.lua +++ /dev/null @@ -1,10 +0,0 @@ --- Copyright (C) 2018 XiaoShan mivm.cn - -module("luci.controller.k3usb", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/k3usb") then - return - end - entry({"admin","system","k3usb"}, cbi("k3usb"), _("k3usb"),60) -end diff --git a/package/ctcgfw/luci-app-k3usb/luasrc/model/cbi/k3usb.lua b/package/ctcgfw/luci-app-k3usb/luasrc/model/cbi/k3usb.lua deleted file mode 100644 index 5a1aa4bea8..0000000000 --- a/package/ctcgfw/luci-app-k3usb/luasrc/model/cbi/k3usb.lua +++ /dev/null @@ -1,13 +0,0 @@ --- Copyright (C) 2018 XiaoShan mivm.cn - -local m, s ,o - -m = Map("k3usb", translate("k3usb"), translate("k3 usb mode")) - -s = m:section(TypedSection, "config", translate("usb mode") ) -s.anonymous = true - -o = s:option(Flag, "usb3_enable", translate("usb3 enable :"), translate("usb3 mode enable")) -o.default = 1 - -return m diff --git a/package/ctcgfw/luci-app-k3usb/po/zh_Hans/k3usb.po b/package/ctcgfw/luci-app-k3usb/po/zh_Hans/k3usb.po deleted file mode 100644 index 3cf42eba12..0000000000 --- a/package/ctcgfw/luci-app-k3usb/po/zh_Hans/k3usb.po +++ /dev/null @@ -1,19 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8\n" - -msgid "usb3 enable :" -msgstr "USB3 开启:" - -msgid "usb3 mode enable" -msgstr "是否开启USB3模式,修改此选项设备将会自动重启" - -msgid "k3usb" -msgstr "K3USB管理" - -msgid "k3 usb mode" -msgstr "开启或禁用USB3" - -msgid "usb mode" -msgstr "USB3管理模式" - - diff --git a/package/ctcgfw/luci-app-k3usb/root/etc/config/k3usb b/package/ctcgfw/luci-app-k3usb/root/etc/config/k3usb deleted file mode 100644 index c71dd937b8..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/etc/config/k3usb +++ /dev/null @@ -1,3 +0,0 @@ -config config usb - option usb3_enable '0' - diff --git a/package/ctcgfw/luci-app-k3usb/root/etc/init.d/k3usb b/package/ctcgfw/luci-app-k3usb/root/etc/init.d/k3usb deleted file mode 100755 index cb506b63d1..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/etc/init.d/k3usb +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=55 -STOP=55 - -usb3_enable=$(uci get k3usb.usb.usb3_enable 2>/dev/null) - -kernel=$(uname -a | awk '{print $3}') - -boot(){ - if [ "$usb3_enable" == "1" ]; then - #usb3 - kmodloader /usr/k3usb/45-phy-bcm-ns-usb3 - kmodloader /usr/k3usb/54-usb3 - - #usb2 - kmodloader /usr/k3usb/35-usb-ehci - kmodloader /usr/k3usb/40-usb2 - kmodloader /usr/k3usb/45-phy-bcm-ns-usb2 - kmodloader /usr/k3usb/50-usb-ohci - - echo "usb switch to usb3 mode!" - else - #usb2 - kmodloader /usr/k3usb/35-usb-ehci - kmodloader /usr/k3usb/40-usb2 - kmodloader /usr/k3usb/45-phy-bcm-ns-usb2 - kmodloader /usr/k3usb/50-usb-ohci - echo "usb switch to usb2 mode!" - fi - - kmodloader /usr/k3usb/usb-storage - kmodloader /usr/k3usb/usb-storage-extras - -} - - -start(){ - if [ "$usb3_enable" == "1" ]; then - if [ -z "$(lsmod | grep usb3)" ]; then - echo "usb change to usb3 mode, will reboot!" - reboot - else - echo "usb mode is usb3 , nothing to do" - fi - else - if [ -n "$(lsmod | grep usb3)" ]; then - echo "usb change usb2 mode, will reboot!" - reboot - else - echo "usb mode is usb2 , nothing to do" - fi - fi -} - -stop(){ - echo "nothing do" -} - -restart(){ - start -} diff --git a/package/ctcgfw/luci-app-k3usb/root/etc/uci-defaults/k3usb b/package/ctcgfw/luci-app-k3usb/root/etc/uci-defaults/k3usb deleted file mode 100755 index 087c903cb8..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/etc/uci-defaults/k3usb +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@k3usb[-1] - add ucitrack k3usb - set ucitrack.@k3usb[-1].init=k3usb - commit ucitrack -EOF - -exit 0 diff --git a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/35-usb-ehci b/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/35-usb-ehci deleted file mode 100644 index 52ae03a9ab..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/35-usb-ehci +++ /dev/null @@ -1 +0,0 @@ -ehci-hcd diff --git a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/40-usb2 b/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/40-usb2 deleted file mode 100644 index d9ec9836de..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/40-usb2 +++ /dev/null @@ -1,4 +0,0 @@ -ehci-hcd -ehci-platform -ehci-orion -ehci-atmel diff --git a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/45-phy-bcm-ns-usb2 b/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/45-phy-bcm-ns-usb2 deleted file mode 100644 index d7364c5eb1..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/45-phy-bcm-ns-usb2 +++ /dev/null @@ -1 +0,0 @@ -phy-bcm-ns-usb2 diff --git a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/45-phy-bcm-ns-usb3 b/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/45-phy-bcm-ns-usb3 deleted file mode 100644 index e5730da89d..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/45-phy-bcm-ns-usb3 +++ /dev/null @@ -1 +0,0 @@ -phy-bcm-ns-usb3 diff --git a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/50-usb-ohci b/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/50-usb-ohci deleted file mode 100644 index cb1ed678ac..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/50-usb-ohci +++ /dev/null @@ -1,3 +0,0 @@ -ohci-hcd -ohci-platform -ohci-at91 diff --git a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/54-usb3 b/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/54-usb3 deleted file mode 100644 index 5ba5d86524..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/54-usb3 +++ /dev/null @@ -1,3 +0,0 @@ -xhci-hcd -xhci-pci -xhci-plat-hcd diff --git a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/test b/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/test deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/usb-storage b/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/usb-storage deleted file mode 100644 index 6b30c92459..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/usb-storage +++ /dev/null @@ -1 +0,0 @@ -usb-storage diff --git a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/usb-storage-extras b/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/usb-storage-extras deleted file mode 100644 index 446fa69780..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/usr/k3usb/usb-storage-extras +++ /dev/null @@ -1,10 +0,0 @@ -ums-alauda -ums-cypress -ums-datafab -ums-freecom -ums-isd200 -ums-jumpshot -ums-karma -ums-sddr09 -ums-sddr55 -ums-usbat diff --git a/package/ctcgfw/luci-app-k3usb/root/usr/share/rpcd/acl.d/luci-app-k3usb.json b/package/ctcgfw/luci-app-k3usb/root/usr/share/rpcd/acl.d/luci-app-k3usb.json deleted file mode 100644 index a133b79c28..0000000000 --- a/package/ctcgfw/luci-app-k3usb/root/usr/share/rpcd/acl.d/luci-app-k3usb.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-k3usb": { - "description": "Grant UCI access for luci-app-k3usb", - "read": { - "uci": [ "k3usb" ] - }, - "write": { - "uci": [ "k3usb" ] - } - } -} diff --git a/package/ctcgfw/luci-app-mentohust/Makefile b/package/ctcgfw/luci-app-mentohust/Makefile deleted file mode 100644 index 4601137370..0000000000 --- a/package/ctcgfw/luci-app-mentohust/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=MentoHUST 802.1X Client for LuCI -LUCI_DESCRIPTION:=This package contains LuCI configuration pages for 8021xclient. -LUCI_DEPENDS:=+mentohust -LUCI_PKGARCH:=all - -PKG_NAME:=luci-app-mentohust -PKG_VERSION:=1.1.1 -PKG_RELEASE:=3 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature - diff --git a/package/ctcgfw/luci-app-mentohust/luasrc/controller/mentohust.lua b/package/ctcgfw/luci-app-mentohust/luasrc/controller/mentohust.lua deleted file mode 100644 index 207d097e8c..0000000000 --- a/package/ctcgfw/luci-app-mentohust/luasrc/controller/mentohust.lua +++ /dev/null @@ -1,16 +0,0 @@ -module("luci.controller.mentohust", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/mentohust") then - return - end - if luci.sys.call("command -v mentohust >/dev/null") ~= 0 then - return - end - entry({"admin", "services", "mentohust"}, - alias("admin", "services", "mentohust", "general"), - _("MentoHUST"), 10).dependent = true - - entry({"admin", "services", "mentohust", "general"}, cbi("mentohust/general"), _("MentoHUST Settings"), 10).leaf = true - entry({"admin", "services", "mentohust", "log"}, cbi("mentohust/log"), _("MentoHUST LOG"), 20).leaf = true -end diff --git a/package/ctcgfw/luci-app-mentohust/luasrc/model/cbi/mentohust/general.lua b/package/ctcgfw/luci-app-mentohust/luasrc/model/cbi/mentohust/general.lua deleted file mode 100644 index 0bf6153127..0000000000 --- a/package/ctcgfw/luci-app-mentohust/luasrc/model/cbi/mentohust/general.lua +++ /dev/null @@ -1,111 +0,0 @@ -local function is_running(name) - if luci.sys.call("pidof %s >/dev/null" %{name}) == 0 then - return translate("RUNNING") - else - return translate("NOT RUNNING") - end -end - -local function is_online(ipaddr) - if ipaddr == "0.0.0.0" then - return translate("Pinghost not set") - end - if luci.sys.call("ping -c1 -w1 %s >/dev/null 2>&1" %{ipaddr}) == 0 then - return translate("ONLINE") - else - return translate("NOT ONLINE") - end -end - -require("luci.sys") - -m = Map("mentohust", translate("MentoHUST"), translate("Configure MentoHUST 802.11x.")) - -s = m:section(TypedSection, "mentohust", translate("Status")) -s.anonymous = true -status = s:option(DummyValue,"_mentohust_status", "MentoHUST") -status.value = "%s" %{is_running("mentohust")} -status.rawhtml = true -t = io.popen('uci get mentohust.@mentohust[0].pinghost') -netstat=is_online(tostring(t:read("*line"))) -t:close() -if netstat ~= "" then -netstatus = s:option(DummyValue,"_network_status", translate("Network Status")) -netstatus.value = "%s" %{netstat} -netstatus.rawhtml = true -end - -o = m:section(TypedSection, "mentohust", translate("Settings")) -o.addremove = false -o.anonymous = true - -o:tab("base", translate("Normal Settings")) -o:tab("advanced", translate("Advanced Settings")) - -enable = o:taboption("base", Flag, "enable", translate("Enable")) -name = o:taboption("base", Value, "username", translate("Username"),translate("The username given to you by your network administrator")) -pass = o:taboption("base", Value, "password", translate("Password"), translate("The password you set or given to you by your network administrator")) -pass.password = true - -ifname = o:taboption("base", ListValue, "ifname", translate("Interfaces"), translate("Physical interface of WAN")) -for k, v in ipairs(luci.sys.net.devices()) do - if v ~= "lo" then - ifname:value(v) - end -end - -pinghost = o:taboption("base", Value, "pinghost", translate("PingHost"), translate("Ping host for drop detection, 0.0.0.0 to turn off this feature")) -pinghost.default = "0.0.0.0" - -ipaddr = o:taboption("advanced", Value, "ipaddr", translate("IP Address"), translate("Your IPv4 Address. (DHCP users can set to 0.0.0.0)")) -ipaddr.default = "0.0.0.0" - -mask = o:taboption("advanced", Value, "mask", translate("NetMask"), translate("NetMask, it doesn't matter")) -mask.default = "0.0.0.0" - -gateway = o:taboption("advanced", Value, "gateway", translate("Gateway"), translate("Gateway, if specified, will monitor gateway ARP information")) -gateway.default = "0.0.0.0" - -dnsserver = o:taboption("advanced", Value, "dns", translate("DNS server"), translate("DNS server, it doesn't matter")) -dnsserver.default = "0.0.0.0" - -timeout = o:taboption("advanced", Value, "timeout", translate("Timeout"), translate("Each timeout of the package (seconds)")) -timeout.default = "8" - -echointerval = o:taboption("advanced", Value, "echointerval", translate("EchoInterval"), translate("Interval for sending Echo packets (seconds)")) -echointerval.default = "30" - -restartwait = o:taboption("advanced", Value, "restartwait", translate("RestartWait"), translate("Failed Wait (seconds) Wait for seconds after authentication failed or restart authentication after server request")) -restartwait.default = "15" - -startmode = o:taboption("advanced", ListValue, "startmode", translate("StartMode"), translate("Multicast address type when searching for servers")) -startmode:value(0, translate("Standard")) -startmode:value(1, translate("Ruijie")) -startmode:value(2, translate("Uses MentoHUST for Xaar certification")) -startmode.default = "0" - -dhcpmode = o:taboption("advanced", ListValue, "dhcpmode", translate("DhcpMode"), translate("DHCP method")) -dhcpmode:value(0, translate("None")) -dhcpmode:value(1, translate("secondary authentication")) -dhcpmode:value(2, translate("after certification")) -dhcpmode:value(3, translate("before certification")) -dhcpmode.default = "2" - -shownotify = o:taboption("advanced", Value, "shownotify", translate("ShowNotify"), translate("Whether to display notifications 0 (no) 1 to 20 (yes)")) -shownotify.default = "5" - -version = o:taboption("advanced", Value, "version", translate("Client Version"), translate("Client version number. If client verification is not enabled but the version number is required, it can be specified here. The format is 3.30.")) -version.default = "0.00" - -datafile = o:taboption("advanced", Value, "datafile", translate("DataFile"), translate("Authentication data file, if you need to verify the client, you need to set correctly")) -datafile.default = "/etc/mentohust/" - -dhcpscript = o:taboption("advanced", Value, "dhcpscript", translate("DhcpScript"), translate("DHCP script")) -dhcpscript.default = "udhcpc -i" - -local apply = luci.http.formvalue("cbi.apply") -if apply then - io.popen("/etc/init.d/mentohust restart") -end - -return m diff --git a/package/ctcgfw/luci-app-mentohust/luasrc/model/cbi/mentohust/log.lua b/package/ctcgfw/luci-app-mentohust/luasrc/model/cbi/mentohust/log.lua deleted file mode 100644 index ec2018b469..0000000000 --- a/package/ctcgfw/luci-app-mentohust/luasrc/model/cbi/mentohust/log.lua +++ /dev/null @@ -1,23 +0,0 @@ -local fs = require "nixio.fs" - -local f = SimpleForm("mentohust", - translate("MentoHUST LOG"), - translate("Log file:/tmp/mentohust.log")) - -local o = f:field(Value, "mentohust_log") - -o.template = "cbi/tvalue" -o.rows = 32 - -function o.cfgvalue(self, section) - return fs.readfile("/tmp/mentohust.log") -end - -function o.write(self, section, value) - require("luci.sys").call('cat /dev/null > /tmp/mentohust.log 2>/dev/null') -end - -f.submit = translate("Clear log") -f.reset = false - -return f \ No newline at end of file diff --git a/package/ctcgfw/luci-app-mentohust/po/zh_Hans/mentohust.po b/package/ctcgfw/luci-app-mentohust/po/zh_Hans/mentohust.po deleted file mode 100644 index 4e8b4bc101..0000000000 --- a/package/ctcgfw/luci-app-mentohust/po/zh_Hans/mentohust.po +++ /dev/null @@ -1,152 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8\n" - -msgid "MentoHUST Settings" -msgstr "MentoHUST 设置" - -msgid "MentoHUST LOG" -msgstr "MentoHUST 日志" - -msgid "Log file:/tmp/mentohust.log" -msgstr "日志文件:/tmp/mentohust.log" - -msgid "Configure MentoHUST 802.11x." -msgstr "配置MentoHUST 802.11x验证。" - -msgid "Normal Settings" -msgstr "常规设置" - -msgid "The username given to you by your network administrator" -msgstr "您的用户名(或管理员分配的用户名)" - -msgid "The password you set or given to you by your network administrator" -msgstr "您的密码(或管理员分配的密码)" - -msgid "Physical interface of WAN" -msgstr "WAN口的物理接口" - -msgid "PingHost" -msgstr "Ping主机" - -msgid "Ping host for drop detection, 0.0.0.0 to turn off this feature" -msgstr "Ping主机,用于掉线检测,0.0.0.0表示关闭该功能" - -msgid "IP Address" -msgstr "IP地址" - -msgid "Your IPv4 Address. (DHCP users can set to 0.0.0.0)" -msgstr "你的IPV4地址,DHCP用户可设为0.0.0.0" - -msgid "NetMask" -msgstr "子网掩码" - -msgid "NetMask, it doesn't matter" -msgstr "掩码,无关紧要" - -msgid "Gateway, if specified, will monitor gateway ARP information" -msgstr "网关,如果指定了就会监视网关ARP信息" - -msgid "DNS server" -msgstr "DNS服务器" - -msgid "DNS server, it doesn't matter" -msgstr "DNS服务器,无关紧要" - -msgid "Timeout" -msgstr "验证超时" - -msgid "Each timeout of the package (seconds)" -msgstr "每次发包超时时间(秒)" - -msgid "EchoInterval" -msgstr "Echo包间隔" - -msgid "Interval for sending Echo packets (seconds)" -msgstr "发送Echo包的间隔(秒)" - -msgid "RestartWait" -msgstr "验证失败等待时间" - -msgid "Failed Wait (seconds) Wait for seconds after authentication failed or restart authentication after server request" -msgstr "失败等待(秒)认证失败后等待多少秒或者服务器请求后重启认证" - -msgid "StartMode" -msgstr "组播地址类型" - -msgid "Multicast address type when searching for servers" -msgstr "寻找服务器时的组播地址类型(某些交换机可能会丢弃标准包)" - -msgid "Standard" -msgstr "标准" - -msgid "Ruijie" -msgstr "锐捷" - -msgid "Uses MentoHUST for Xaar certification" -msgstr "将MentoHUST用于赛尔认证" - -msgid "DhcpMode" -msgstr "DHCP设置" - -msgid "DHCP method" -msgstr "DHCP方式" - -msgid "None" -msgstr "无" - -msgid "secondary authentication" -msgstr "二次认证" - -msgid "after certification" -msgstr "认证后" - -msgid "before certification" -msgstr "认证前" - -msgid "ShowNotify" -msgstr "通知级别" - -msgid "Whether to display notifications 0 (no) 1 to 20 (yes)" -msgstr "是否显示通知: 0(否) 1~20(是)" - -msgid "Client Version" -msgstr "客户端版本号" - -msgid "Client version number. If client verification is not enabled but the version number is required, it can be specified here. The format is 3.30." -msgstr "客户端版本号,如果未开启客户端校验但对版本号有要求,可以在此指定,形如3.30" - -msgid "DataFile" -msgstr "数据文件" - -msgid "Authentication data file, if you need to verify the client, you need to set correctly" -msgstr "认证数据文件,如果需要校验客户端,就需要正确设置" - -msgid "DhcpScript" -msgstr "DHCP的脚本" - -msgid "DHCP script" -msgstr "进行DHCP的脚本" - -msgid "RUNNING" -msgstr "运行中" - -msgid "NOT RUNNING" -msgstr "未运行" - -msgid "ONLINE" -msgstr "能访问互联网" - -msgid "NOT ONLINE" -msgstr "不能访问互联网" - -msgid "Settings" -msgstr "设置" - -msgid "Network Status" -msgstr "网络状态" - -msgid "Pinghost not set" -msgstr "没有设置Ping主机" - -msgid "Clear log" -msgstr "清除日志" diff --git a/package/ctcgfw/luci-app-mentohust/root/etc/config/mentohust b/package/ctcgfw/luci-app-mentohust/root/etc/config/mentohust deleted file mode 100644 index 67b3da62ed..0000000000 --- a/package/ctcgfw/luci-app-mentohust/root/etc/config/mentohust +++ /dev/null @@ -1 +0,0 @@ -config mentohust diff --git a/package/ctcgfw/luci-app-mentohust/root/etc/init.d/mentohust b/package/ctcgfw/luci-app-mentohust/root/etc/init.d/mentohust deleted file mode 100755 index cdf7e5d264..0000000000 --- a/package/ctcgfw/luci-app-mentohust/root/etc/init.d/mentohust +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/sh /etc/rc.common -START=90 - -run_mentohust() -{ - local enable - local username - local password - local ifname - local cmd - config_get_bool enable $1 enable - config_get username $1 username - config_get password $1 password - config_get ifname $1 ifname - - if [ $enable ] && [ $username ] && [ $password ] && [ $ifname ]; then - local pinghost - local startmode - local dhcpmode - local ipaddr - local mask - local gateway - local dns - local timeout - local echointerval - local restartwait - local shownotify - local version - local datafile - local dhcpscript - - config_get pinghost $1 pinghost - config_get startmode $1 startmode - config_get dhcpmode $1 dhcpmode - config_get ipaddr $1 ipaddr - config_get mask $1 mask - config_get gateway $1 gateway - config_get dns $1 dns - config_get timeout $1 timeout - config_get echointerval $1 echointerval - config_get restartwait $1 restartwait - config_get shownotify $1 shownotify - config_get version $1 version - config_get datafile $1 datafile - config_get dhcpscript $1 dhcpscript - - if [ "$ipaddr" != "" ]; then cmd=$cmd" -i"$ipaddr;fi - if [ "$mask" != "" ]; then cmd=$cmd" -m"$mask;fi - if [ "$pinghost" != "0.0.0.0" ] && [ "$pinghost" != "" ]; then cmd=$cmd" -o"$pinghost;fi - if [ "$startmode" != "0" ] && [ "$startmode" != "" ]; then cmd=$cmd" -a"$startmode;fi - if [ "$dhcpmode" != "0" ] && [ "$dhcpmode" != "" ]; then cmd=$cmd" -d"$dhcpmode;fi - if [ "$gateway" != "0.0.0.0" ] && [ "$gateway" != "" ]; then cmd=$cmd" -g"$gateway;fi - if [ "$dns" != "0.0.0.0" ] && [ "$dns" != "" ]; then cmd=$cmd" -s"$dns;fi - if [ "$timeout" != "8" ] && [ "$timeout" != "" ]; then cmd=$cmd" -t"$timeout;fi - if [ "$echointerval" != "30" ] && [ "$echointerval" != "" ]; then cmd=$cmd" -e"$echointerval;fi - if [ "$restartwait" != "15" ] && [ "$restartwait" != "" ]; then cmd=$cmd" -r"$restartwait;fi - if [ "$shownotify" != "5" ] && [ "$shownotify" != "" ]; then cmd=$cmd" -y"$shownotify;fi - if [ "$version" != "0.00" ] && [ "$version" != "" ]; then cmd=$cmd" -v"$version;fi - if [ "$datafile" != "/etc/mentohust/" ] && [ "$datafile" != "" ]; then cmd=$cmd" -f"$datafile;fi - if [ "$dhcpscript" != "udhcpc -i" ] && [ "$dhcpscript" != "" ]; then cmd=$cmd" -c'"$dhcpscript"'";fi - - /bin/ash -c "mentohust -u$username -p$password -n$ifname -b3 -w $cmd" - else - /bin/ash -c "mentohust -k" - fi -} - -start() -{ - config_load mentohust - config_foreach run_mentohust mentohust -} - -stop() -{ - killall mentohust -} - -restart() -{ - mentohust -k - sleep 1 - config_load mentohust - config_foreach run_mentohust mentohust -} diff --git a/package/ctcgfw/luci-app-mentohust/root/usr/share/rpcd/acl.d/luci-app-mentohust.json b/package/ctcgfw/luci-app-mentohust/root/usr/share/rpcd/acl.d/luci-app-mentohust.json deleted file mode 100644 index 8c2d1cda65..0000000000 --- a/package/ctcgfw/luci-app-mentohust/root/usr/share/rpcd/acl.d/luci-app-mentohust.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-mentohust": { - "description": "Grant UCI access for luci-app-mentohust", - "read": { - "uci": [ "mentohust" ] - }, - "write": { - "uci": [ "mentohust" ] - } - } -} diff --git a/package/ctcgfw/luci-app-minieap/Makefile b/package/ctcgfw/luci-app-minieap/Makefile deleted file mode 100644 index b34cfe877d..0000000000 --- a/package/ctcgfw/luci-app-minieap/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-minieap -PKG_VERSION=1.0.2 -PKG_RELEASE:=0 - -LUCI_TITLE:=minieap 802.1X Client for LuCI -LUCI_DESCRIPTION:=This package contains LuCI configuration pages for 8021xclient. -LUCI_DEPENDS:=+minieap - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-minieap/luasrc/controller/minieap.lua b/package/ctcgfw/luci-app-minieap/luasrc/controller/minieap.lua deleted file mode 100644 index 16c11bd23e..0000000000 --- a/package/ctcgfw/luci-app-minieap/luasrc/controller/minieap.lua +++ /dev/null @@ -1,17 +0,0 @@ -module("luci.controller.minieap", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/minieap") then - return - end - if luci.sys.call("command -v minieap >/dev/null") ~= 0 then - return - end - entry({"admin", "services", "minieap"}, - alias("admin", "services", "minieap", "general"), - _("minieap"), 10).dependent = true - - entry({"admin", "services", "minieap", "general"}, cbi("minieap/general"), _("minieap Settings"), 10).leaf = true - -- entry({"admin", "services", "minieap", "customfile"}, cbi("minieap/customfile"), _("custom configfiles"), 20).leaf = true - entry({"admin", "services", "minieap", "log"}, cbi("minieap/log"), _("minieap LOG"), 30).leaf = true -end diff --git a/package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/customfile.lua b/package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/customfile.lua deleted file mode 100644 index 13484b1de2..0000000000 --- a/package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/customfile.lua +++ /dev/null @@ -1,8 +0,0 @@ - -require("luci.sys") - -local f = SimpleForm("minieap", - translate("minieap LOG"), - translate("Log file:/var/log/minieap.log")) - -return f diff --git a/package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/general.lua b/package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/general.lua deleted file mode 100644 index b238411d30..0000000000 --- a/package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/general.lua +++ /dev/null @@ -1,150 +0,0 @@ -local function is_running(name) - if luci.sys.call("pidof %s >/dev/null" %{name}) == 0 then - return translate("RUNNING") - else - return translate("NOT RUNNING") - end -end - -local function is_online(ipaddr) - if ipaddr == "0.0.0.0" or ipaddr == "nil" then - return translate("Pinghost not set") - end - if luci.sys.call("ping -c1 -w1 %s >/dev/null 2>&1" %{ipaddr}) == 0 then - return translate("ONLINE") - else - return translate("NOT ONLINE") - end -end - -require("luci.sys") - -m = Map("minieap", translate("minieap"), translate("Configure minieap 802.11x.")) - -s = m:section(TypedSection, "minieap", translate("Status")) -s.anonymous = true -status = s:option(DummyValue,"_minieap_status", "minieap") -status.value = "%s" %{is_running("minieap")} -status.rawhtml = true -t = io.popen('uci get minieap.@minieap[0].pinghost') -netstat=is_online(tostring(t:read("*line"))) -t:close() -if netstat ~= "" then -netstatus = s:option(DummyValue,"_network_status", translate("Network Status")) -netstatus.value = "%s" %{netstat} -netstatus.rawhtml = true -end - -o = m:section(TypedSection, "minieap", translate("Settings")) -o.addremove = false -o.anonymous = true - -o:tab("base", translate("Normal Settings")) -o:tab("advanced", translate("Advanced Settings")) -o:tab("plugins", translate("Plugins List")) -o:tab("ruijie", translate("Ruijie EAP Settings")) - -enable = o:taboption("base", Flag, "enable", translate("Enable")) -name = o:taboption("base", Value, "username", translate("Username"),translate("The username given to you by your network administrator")) -pass = o:taboption("base", Value, "password", translate("Password"), translate("The password you set or given to you by your network administrator")) -pass.password = true - -ifname = o:taboption("base", ListValue, "nic", translate("Interfaces"), translate("Physical interface of WAN")) -for k, v in ipairs(luci.sys.net.devices()) do - if v ~= "lo" then - ifname:value(v) - end -end - -pinghost = o:taboption("base", Value, "pinghost", translate("PingHost"), translate("Ping host for drop detection, 0.0.0.0 to turn off this feature.")) -pinghost.default = "0.0.0.0" - -pingintval = o:taboption("base", Value, "pingintval", translate("Ping intval"), translate("Interval of each ping. (in second) [default: 30]")) -pingintval.default = "30" - -pingcommand = o:taboption("base", Value, "pingcommand", translate("Offline command"), translate("Run Command when ping failed. [default: minieap -k 1]")) -pingcommand:value("minieap -k 1") -pingcommand.default = "minieap -k 1" - -stage_timeout = o:taboption("advanced", Value, "stage_timeout", translate("Auth Timeout"), translate("802.11X auth timeout (in second). [default: 5]")) -stage_timeout.default = "5" - -wait_after_fail = o:taboption("advanced", Value, "wait_after_fail", translate("Wait after failed"), translate("Wait time between failed and next time (in second). [default: 30]")) -wait_after_fail.default = "30" - -max_fail = o:taboption("advanced", Value, "max_fail", translate("Max fail"), translate("Maximum allowed number of failures. [default: 3]")) -max_fail.default = "3" - -no_auto_reauth = o:taboption("advanced", ListValue, "no_auto_reauth", translate("Disable auto reauth"), translate("Disable auto reauth after offline. [default: True]")) -no_auto_reauth:value(0, translate("False")) -no_auto_reauth:value(1, translate("True")) -no_auto_reauth.default = 1 - -proxy_lan_iface = o:taboption("advanced", Value, "proxy_lan_iface", translate("Proxy LAN's name"), translate("Name of LAN interface when use proxy auth. [default: None]")) -proxy_lan_iface.default = "" - -auth_round = o:taboption("advanced", Value, "auth_round", translate("Auth times"), translate("Number of times required for auth. [default: 1]")) -auth_round.default = "1" - -max_retries = o:taboption("advanced", Value, "max_retries", translate("Max timeout"), translate("Maximum retry time after timeout. [default: 3]")) -max_retries.default = "3" - -pid_file = o:taboption("advanced", Value, "pid_file", translate("PID file"), translate("Path of PID file. (Set 'None' to disable) [default: /var/run/minieap.pid]")) -pid_file:value("/var/run/minieap.pid") -pid_file.default = "/var/run/minieap.pid" - -if_impl = o:taboption("advanced", ListValue, "if_impl", translate("Network Module"), translate("Network module for send and recv packages (openwrt support sockraw only)")) -if_impl:value("sockraw") -if_impl.default = "sockraw" - -plugins = o:taboption("plugins", DynamicList, "module", translate("Plugins list"), translate("Packets flow through these plug-ins in sequence. Pay attention to the order in the environment where the package plug-in is modified")) -plugins:value("printer", translate("printer: Print length of packets")) -plugins:value("rjv3", translate('rjv3: Ruijie 802.11X. Support V3 verification algorithm')) - -heartbeat = o:taboption("ruijie", Value, "heartbeat", translate("Heartbeat interval"), translate("Interval for sending Heartbeat packets (seconds) [Default: 60]")) -heartbeat.default = "60" - -eap_bcast_addr = o:taboption("ruijie", ListValue, "eap_bcast_addr", translate("Broadcast address"), translate("Broadcast address type when searching for servers [Default: Standard]")) -eap_bcast_addr:value(0, translate("Standard")) -eap_bcast_addr:value(1, translate("Ruijie private")) -eap_bcast_addr.default = 0 - -dhcp_type = o:taboption("ruijie", ListValue, "dhcp_type", translate("DhcpMode"), translate("DHCP method [Default: After certification]")) -dhcp_type:value(0, translate("None")) -dhcp_type:value(1, translate("Secondary authentication")) -dhcp_type:value(2, translate("Before certification")) -dhcp_type:value(3, translate("After certification")) -dhcp_type.default = 3 - -dhcp_script = o:taboption("ruijie", Value, "dhcp_script", translate("DhcpScript"), translate("DHCP script [Default: None]")) -dhcp_script.default = "" - -service = o:taboption("ruijie", Value, "service", translate("Service"), translate("Service From Ruijie Server [Default: internet]")) -service.default = "internet" - -version_str = o:taboption("ruijie", Value, "version_str", translate("Version String"), translate("Custom version [Default: RG-SU For Linux V1.0]")) -version_str:value("RG-SU For Linux V1.0") -version_str.default = "RG-SU For Linux V1.0" - -fake_dns1 = o:taboption("ruijie", Value, "fake_dns1", translate("Main DNS server"), translate("Custom main DNS server [Default: FromSystem]")) - -fake_dns2 = o:taboption("ruijie", Value, "fake_dns2", translate("Second DNS server"), translate("Custom second DNS server [Default: FromSystem]")) - -fake_serial = o:taboption("ruijie", Value, "fake_serial", translate("Disk serial"), translate("Custom disk serial [Default: From /etc/mtab]")) - -max_dhcp_count = o:taboption("ruijie", Value, "max_dhcp_count", translate("DHCP try times"), translate("DHCP try times [Default: 3]")) -max_dhcp_count.default = "3" - -rj_option = o:taboption("ruijie", DynamicList, "rj_option", translate("Custom EAP Options"), translate("Format <type>:<value>[:r]. Add a option type: <type>, value: <value>. :r for replace")) - -if nixio.fs.mkdir("/etc/minieap.conf.d") == true then - nixio.fs.symlink("/etc/minieap.conf.d/minieap.conf.utf8", "/etc/minieap.conf") -end - -local apply = luci.http.formvalue("cbi.apply") -if apply then - luci.sys.call("minieap-conver | sort > /etc/minieap.conf.d/minieap.conf.utf8") - io.popen("/etc/init.d/minieap restart") -end - -return m diff --git a/package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/log.lua b/package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/log.lua deleted file mode 100644 index c45c1d81af..0000000000 --- a/package/ctcgfw/luci-app-minieap/luasrc/model/cbi/minieap/log.lua +++ /dev/null @@ -1,23 +0,0 @@ -local fs = require "nixio.fs" - -local f = SimpleForm("minieap", - translate("minieap LOG"), - translate("Log file:/var/log/minieap.log")) - -local o = f:field(Value, "minieap_log") - -o.template = "cbi/tvalue" -o.rows = 32 - -function o.cfgvalue(self, section) - return fs.readfile("/var/log/minieap.log") -end - -function o.write(self, section, value) - require("luci.sys").call('cat /dev/null > /var/log/minieap.log 2>/dev/null') -end - -f.submit = translate("Clear log") -f.reset = false - -return f diff --git a/package/ctcgfw/luci-app-minieap/po/zh_Hans/minieap.po b/package/ctcgfw/luci-app-minieap/po/zh_Hans/minieap.po deleted file mode 100644 index e365eade64..0000000000 --- a/package/ctcgfw/luci-app-minieap/po/zh_Hans/minieap.po +++ /dev/null @@ -1,227 +0,0 @@ -msgid "minieap Settings" -msgstr "minieap 设置" - -msgid "minieap LOG" -msgstr "minieap 日志" - -msgid "Log file:/var/log/minieap.log" -msgstr "日志文件: /var/log/minieap.log" - -msgid "RUNNING" -msgstr "运行中" - -msgid "NOT RUNNING" -msgstr "未运行" - -msgid "Pinghost not set" -msgstr "没有设置Ping主机" - -msgid "ONLINE" -msgstr "能访问互联网" - -msgid "NOT ONLINE" -msgstr "不能访问互联网" - -msgid "Configure minieap 802.11x." -msgstr "配置minieap 802.11x验证。" - -msgid "Network Status" -msgstr "网络状态" - -msgid "Settings" -msgstr "设置" - -msgid "Normal Settings" -msgstr "常规设置" - -msgid "Plugins List" -msgstr "插件列表" - -msgid "Ruijie EAP Settings" -msgstr "锐捷认证设置" - -msgid "The username given to you by your network administrator" -msgstr "您的用户名(或管理员分配的用户名)" - -msgid "The password you set or given to you by your network administrator" -msgstr "您的密码(或管理员分配的密码)" - -msgid "Physical interface of WAN" -msgstr "WAN口的物理接口" - -msgid "PingHost" -msgstr "Ping主机" - -msgid "Ping host for drop detection, 0.0.0.0 to turn off this feature." -msgstr "Ping主机,用于掉线检测,0.0.0.0表示关闭该功能" - -msgid "Packets flow through these plug-ins in sequence. Pay attention to the order in the environment where the package plug-in is modified" -msgstr "数据包会按顺序流经这些插件。在有修改数据包插件的环境中请注意顺序" - -msgid "printer: Print length of packets" -msgstr "printer:打印流入流出数据包的大小" - -msgid "rjv3: Ruijie 802.11X. Support V3 verification algorithm" -msgstr "rjv3:锐捷认证,支持V3算法" - -msgid "Heartbeat interval" -msgstr "心跳间隔" - -msgid "Interval for sending Heartbeat packets (seconds) [Default: 60]" -msgstr "发送心跳包的间隔(秒)[默认:60]" - -msgid "Broadcast address" -msgstr "广播地址类型" - -msgid "Broadcast address type when searching for servers [Default: Standard]" -msgstr "寻找服务器时的广播地址类型 [默认:标准]" - -msgid "Standard" -msgstr "标准" - -msgid "Ruijie private" -msgstr "锐捷私有" - -msgid "DhcpMode" -msgstr "DHCP方式" - -msgid "DHCP method [Default: After certification]" -msgstr "DHCP方式 [默认:认证后]" - -msgid "None" -msgstr "无" - -msgid "Secondary authentication" -msgstr "二次认证" - -msgid "Before certification" -msgstr "认证前" - -msgid "After certification" -msgstr "认证后" - -msgid "DhcpScript" -msgstr "DHCP脚本" - -msgid "DHCP script [Default: None]" -msgstr "DHCP脚本 [默认:无]" - -msgid "Service" -msgstr "服务" - -msgid "Service From Ruijie Server [Default: internet]" -msgstr "锐捷认证服务器上配置的用户服务" - -msgid "Version String" -msgstr "版本信息" - -msgid "Custom version [Default: RG-SU For Linux V1.0]" -msgstr "自定义版本信息 [默认:RG-SU For Linux V1.0]" - -msgid "Main DNS server" -msgstr "主DNS服务器" - -msgid "Custom main DNS server [Default: FromSystem]" -msgstr "自定义主DNS服务器 [默认:自动获取]" - -msgid "Second DNS server" -msgstr "从DNS服务器" - -msgid "Custom second DNS server [Default: FromSystem]" -msgstr "自定义从DNS服务器 [默认:自动获取]" - -msgid "Disk serial" -msgstr "磁盘序列号" - -msgid "Custom disk serial [Default: From /etc/mtab]" -msgstr "自定义磁盘序列号 [默认:自动获取]" - -msgid "DHCP try times" -msgstr "DHCP尝试次数" - -msgid "DHCP try times [Default: 3]" -msgstr "二次认证的DHCP尝试次数 [默认:3]" - -msgid "Custom EAP Options" -msgstr "自定义EAP字段" - -msgid "Format <type>:<value>[:r]. Add a option type: <type>, value: <value>. :r for replace" -msgstr "格式: <type>:<value>[:r]。 不带r为增加字段,带r为替换字段" - -msgid "Configfile encoding" -msgstr "配置文件编码" - -msgid "Auth Timeout" -msgstr "认证超时" - -msgid "802.11X auth timeout (in second). [default: 5]" -msgstr "单个认证阶段的超时时间 [默认:5]" - -msgid "Wait after failed" -msgstr "认证失败等待" - -msgid "Wait time between failed and next time (in second). [default: 30]" -msgstr "认证失败后重新认证前的等待时间[默认:30]" - -msgid "Max fail" -msgstr "最大失败次数" - -msgid "Maximum allowed number of failures. [default: 3]" -msgstr "最大允许认证失败次数 [默认:3]" - -msgid "Disable auto reauth" -msgstr "禁止自动重连" - -msgid "Disable auto reauth after offline. [default: True]" -msgstr "认证掉线后不允许自动重连 [默认:是]" - -msgid "False" -msgstr "否" - -msgid "True" -msgstr "是" - -msgid "Daemon mode" -msgstr "运行模式" - -msgid "Proxy LAN's name" -msgstr "代理LAN口名称" - -msgid "Name of LAN interface when use proxy auth. [default: None]" -msgstr "代理认证时的 LAN 网络界面名 [默认:无]" - -msgid "Auth times" -msgstr "认证次数" - -msgid "Number of times required for auth. [default: 1]" -msgstr "需要认证的次数 [默认:1]" - -msgid "Max timeout" -msgstr "最大超时重试" - -msgid "Maximum retry time after timeout. [default: 3]" -msgstr "最大超时重试的次数 [默认:3]" - -msgid "PID file" -msgstr "PID文件" - -msgid "Path of PID file. (Set 'None' to disable) [default: /var/run/minieap.pid]" -msgstr "PID 文件路径,设为none可禁用 [默认:/var/run/minieap.pid]" - -msgid "Network Module" -msgstr "网络操作模块" - -msgid "Network module for send and recv packages (openwrt support sockraw only)" -msgstr "选择此网络操作模块(openwrt只支持sockraw)" - -msgid "Ping intval" -msgstr "Ping间隔" - -msgid "Interval of each ping. (in second) [default: 30]" -msgstr "Ping Ping主机的间隔(秒) [默认:30]" - -msgid "Offline command" -msgstr "掉线执行命令" - -msgid "Run Command when ping failed. [default: minieap -k 1]" -msgstr "Ping 检测到掉线后执行的命令 [默认: minieap -k 1]" diff --git a/package/ctcgfw/luci-app-minieap/root/etc/config/minieap b/package/ctcgfw/luci-app-minieap/root/etc/config/minieap deleted file mode 100644 index cf4cdbadba..0000000000 --- a/package/ctcgfw/luci-app-minieap/root/etc/config/minieap +++ /dev/null @@ -1,18 +0,0 @@ -config minieap - option pinghost '0.0.0.0' - option pingintval '30' - option pingcommand 'minieap -k 1' - option stage_timeout '5' - option wait_after_fail '30' - option max_fail '3' - option no_auto_reauth '1' - option auth_round '1' - option max_retries '3' - option pid_file '/var/run/minieap.pid' - option if_impl 'sockraw' - option heartbeat '60' - option eap_bcast_addr '0' - option dhcp_type '3' - option service 'internet' - option version_str 'RG-SU For Linux V1.0' - option max_dhcp_count '3' diff --git a/package/ctcgfw/luci-app-minieap/root/etc/init.d/minieap b/package/ctcgfw/luci-app-minieap/root/etc/init.d/minieap deleted file mode 100755 index 9e2f5ec97e..0000000000 --- a/package/ctcgfw/luci-app-minieap/root/etc/init.d/minieap +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh /etc/rc.common -START=90 - -run_minieap() -{ - kill $(cat /var/log/minieap-ping.pid 2>/dev/null) 2>/dev/null - local enable - local username - local password - local nic - local pinghost - config_get_bool enable $1 enable - config_get username $1 username - config_get password $1 password - config_get nic $1 nic - config_get pinghost $1 pinghost - - if [ $enable ] && [ $username ] && [ $password ] && [ $nic ]; then - if [ $pinghost ]; then - /bin/ash -c "/usr/sbin/minieap-ping &" - fi - /bin/ash -c "minieap -b3" - else - /bin/ash -c "minieap -k" - fi -} - -restart_minieap() -{ - kill $(cat /var/log/minieap-ping.pid 2>/dev/null) 2>/dev/null - local enable - local username - local password - local nic - local pinghost - config_get_bool enable $1 enable - config_get username $1 username - config_get password $1 password - config_get nic $1 nic - config_get pinghost $1 pinghost - if [ $enable ] && [ $username ] && [ $password ] && [ $nic ]; then - if [ $pinghost ]; then - /bin/ash -c "/usr/sbin/minieap-ping &" - fi - /bin/ash -c "minieap -k 1" - else - /bin/ash -c "minieap -k" - fi -} - -start() -{ - config_load minieap - config_foreach run_minieap minieap -} - -stop() -{ - kill $(cat /var/log/minieap-ping.pid 2>/dev/null) 2>/dev/null - /bin/ash -c "minieap -k" -} - -restart() -{ - config_load minieap - config_foreach restart_minieap minieap -} diff --git a/package/ctcgfw/luci-app-minieap/root/usr/sbin/minieap-conver b/package/ctcgfw/luci-app-minieap/root/usr/sbin/minieap-conver deleted file mode 100755 index 2b2cc35c10..0000000000 --- a/package/ctcgfw/luci-app-minieap/root/usr/sbin/minieap-conver +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -default_config='''daemonize=3 -''' - -echo $default_config -config_keys=$(uci show minieap | cut -d "." -f3- | awk -F "=" '{if ($0 != "") print $1}') -for key in $config_keys -do - if [[ "$key" != "pinghost" ]] && [[ "$key" != "pingintval" ]]; then - echo ${key//_/-}=$(uci get minieap.@minieap[0].$key) - fi -done diff --git a/package/ctcgfw/luci-app-minieap/root/usr/sbin/minieap-ping b/package/ctcgfw/luci-app-minieap/root/usr/sbin/minieap-ping deleted file mode 100755 index fb56f2902e..0000000000 --- a/package/ctcgfw/luci-app-minieap/root/usr/sbin/minieap-ping +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -kill $(cat /var/log/minieap-ping.pid 2>/dev/null) 2>/dev/null - -echo $$ > /var/log/minieap-ping.pid - -ping_host=$(uci get minieap.@minieap[0].pinghost) -ping_intval=$(uci get minieap.@minieap[0].pingintval) -ping_command=$(uci get minieap.@minieap[0].pingcommand) -ipint=$(echo $ping_host | awk -F "." '{print $1*2**8**3 + $2*2**8**2 + $3*2**8 + $4}') -if [[ $ipint -le 0 ]] || [[ $ipint -ge 4294967295 ]]; then - exit -fi - -if [ ! -z $ping_host ]; then - while true - do - ping -c1 -w1 $ping_host > /dev/null 2>&1 - if [ $? -ne 0 ]; then - $ping_command - fi - sleep $ping_intval - done -fi diff --git a/package/ctcgfw/luci-app-minieap/root/usr/share/rpcd/acl.d/luci-app-minieap.json b/package/ctcgfw/luci-app-minieap/root/usr/share/rpcd/acl.d/luci-app-minieap.json deleted file mode 100644 index f897478a3f..0000000000 --- a/package/ctcgfw/luci-app-minieap/root/usr/share/rpcd/acl.d/luci-app-minieap.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-minieap": { - "description": "Grant UCI access for luci-app-minieap", - "read": { - "uci": [ "minieap" ] - }, - "write": { - "uci": [ "minieap" ] - } - } -} diff --git a/package/ctcgfw/luci-app-mwol/Makefile b/package/ctcgfw/luci-app-mwol/Makefile deleted file mode 100644 index 5f62201ee9..0000000000 --- a/package/ctcgfw/luci-app-mwol/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# -# Copyright (C) 2019 mleaf -# 微信公众号【WiFi物联网】 -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI Support for Mwol -LUCI_DEPENDS:=+mwol -LUCI_PKGARCH:=all -PKG_VERSION:=1.0 -PKG_RELEASE:=2 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-mwol/luasrc/controller/mwol.lua b/package/ctcgfw/luci-app-mwol/luasrc/controller/mwol.lua deleted file mode 100644 index 3075b3dfe5..0000000000 --- a/package/ctcgfw/luci-app-mwol/luasrc/controller/mwol.lua +++ /dev/null @@ -1,11 +0,0 @@ ---Copyright (C) 2019 mleaf ---微信公众号【WiFi物联网】 -module("luci.controller.mwol",package.seeall) - -function index() - if not nixio.fs.access("/etc/config/mwol") then - return - end - local page = entry({"admin", "services", "mwol"}, cbi("mwol"), _("Mwol")) - page.dependent = true -end diff --git a/package/ctcgfw/luci-app-mwol/luasrc/model/cbi/mwol.lua b/package/ctcgfw/luci-app-mwol/luasrc/model/cbi/mwol.lua deleted file mode 100644 index 8ea1a5bd41..0000000000 --- a/package/ctcgfw/luci-app-mwol/luasrc/model/cbi/mwol.lua +++ /dev/null @@ -1,139 +0,0 @@ ---Copyright (C) 2019 mleaf ---微信公众号【WiFi物联网】 -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local Status,subTopic,pubTopic -local m,s -local e,mwol -local encryption -local sys = require "luci.sys" - -local mac=luci.sys.exec("uci -q get mwol.mwol_conf.id") - -m=Map("mwol",translate("Mqtt wake on lan"),translate("请关注微信公众号【WiFi物联网】获取更多信息: \ -【WiFi物联网】")) - -if SYS.call("pidof mwol >/dev/null") == 0 then - Status = translate("Mwol正在运行...") -else - Status = translate("Mwol未运行...") -end - -subTopic=string.format("Mwol订阅消息主题: /mwol/%s", mac) -pubTopic=string.format("Mwol发布消息主题: /mwol/%s", mac) - --- --- LoRa Gateway config for gateway_conf --- -mwol=m:section(TypedSection,"mwol","") ---mwol.addremove=false -mwol.anonymous=true -mwol.description = translate(string.format("%s

%s

%s", Status, subTopic, pubTopic)) - -mwol:tab("general", translate("General Settings")) -mwol:tab("encryptionSettings", translate("Encryption Settings")) -mwol:tab("ssl", translate("SSL Settings")) - --- --- MQTT general --- -e = mwol:taboption("general", Flag, "enable") -e.title = translate("Enable") -e.default = 0 -e.rmempty = false - -e = mwol:taboption("general", Value, "hostname") -e.title = translate("MQTT Server") -e = mwol:taboption("general", Value, "port") -e.title = translate("MQTT Port") - -host = mwol:taboption("general", Value, "presetmac", translate("Host to wake up"), - translate("Choose the host to wake up or enter a custom MAC address to use")) -host.title = translate("Preset Mac") -sys.net.mac_hints(function(mac, name) - host:value(mac, "%s (%s)" %{ mac, name }) -end) - -e = mwol:taboption("general", Value, "id") -e.default = mac -e.rmempty = false; -e.title = translate("MQTT Topic Id") - --- --- MQTT Using encryption --- -encryption_enable = mwol:taboption("encryptionSettings", ListValue,"encryptionenable",translate("Enable")) -encryption_enable.optional = false; -encryption_enable.rmempty = false; -encryption_enable.default = 0 -encryption_enable.datatype = "uinteger" -encryption_enable:value(1, translate("True")) -encryption_enable:value(0, translate("False")) - --- --- MQTT username --- -encryption_username = mwol:taboption("encryptionSettings", Value,"username",translate("MQTT UserName")) -encryption_username.optional = true; -encryption_username.rmempty = true; -encryption_username.default = "mleaf" -encryption_username.datatype = "string" -encryption_username:depends("encryptionenable", "1") - --- --- MQTT password --- -encryption_password = mwol:taboption("encryptionSettings", Value,"password",translate("MQTT Password")) -encryption_password.optional = true; -encryption_password.rmempty = true; -encryption_password.default = "www.mleaf.org" -encryption_password.datatype = "string" -encryption_password:depends("encryptionenable", "1") - --- --- MQTT Using SSL --- -ssl_enable = mwol:taboption("ssl", ListValue,"sslenable",translate("Enable")) -ssl_enable.optional = false; -ssl_enable.rmempty = false; -ssl_enable.default = 0 -ssl_enable.datatype = "uinteger" -ssl_enable:value(1, translate("True")) -ssl_enable:value(0, translate("False")) - --- --- MQTT cafile --- -cafile = mwol:taboption("ssl", Value,"cafile",translate("ca"), - translate("Edit the ca file path.")) -cafile.optional = true; -cafile.rmempty = true; -cafile.default = false -cafile.datatype = "string" -cafile:depends("sslenable", "1") - --- --- MQTT crtfile --- -crtfile = mwol:taboption("ssl", Value,"crtfile",translate("crt"), - translate("Edit the crt file path.")) -crtfile.optional = true; -crtfile.rmempty = true; -crtfile.default = false -crtfile.datatype = "string" -crtfile:depends("sslenable", "1") - --- --- MQTT keyfile --- -keyfile = mwol:taboption("ssl", Value,"keyfile",translate("key"), - translate("Edit the key file path.")) -keyfile.optional = true; -keyfile.rmempty = true; -keyfile.default = false -keyfile.datatype = "string" -keyfile:depends("sslenable", "1") - -return m diff --git a/package/ctcgfw/luci-app-mwol/po/zh_Hans/mwol.po b/package/ctcgfw/luci-app-mwol/po/zh_Hans/mwol.po deleted file mode 100644 index 820eea7b66..0000000000 --- a/package/ctcgfw/luci-app-mwol/po/zh_Hans/mwol.po +++ /dev/null @@ -1,54 +0,0 @@ - -msgid "Mwol Plus is Running" -msgstr "Mwol正在运行" - -msgid "Mwol Plus is Not Running" -msgstr "Mwol未运行" - -msgid "Mwol Sub Topic:" -msgstr "Mwol订阅消息主题:" - -msgid "Mwol Pub Topic:" -msgstr "Mwol发布消息主题:" - -msgid "General Settings" -msgstr "通用设置" - -msgid "Encryption Settings" -msgstr "加密设定" - -msgid "SSL Settings" -msgstr "SSL证书设置" - -msgid "Enable" -msgstr "开启" - -msgid "MQTT Server" -msgstr "MQTT服务器" - -msgid "MQTT Port" -msgstr "MQTT端口" - -msgid "Preset Mac" -msgstr "预设MAC地址" - -msgid "Choose the host to wake up or enter a custom MAC address to use" -msgstr "选择一个需要唤醒的主机或自定义唤醒主机的mac地址" - -msgid "MQTT Topic Id" -msgstr "MQTT主题ID" - -msgid "MQTT UserName" -msgstr "MQTT用户名" - -msgid "MQTT Password" -msgstr "MQTT密码" - -msgid "Edit the ca file path." -msgstr "编辑CA路径。" - -msgid "Edit the crt file path." -msgstr "编辑CRT路径。" - -msgid "Edit the key file path." -msgstr "编辑KEY路径。" diff --git a/package/ctcgfw/luci-app-mwol/root/etc/uci-defaults/40_luci-mwol b/package/ctcgfw/luci-app-mwol/root/etc/uci-defaults/40_luci-mwol deleted file mode 100755 index 8ceb530396..0000000000 --- a/package/ctcgfw/luci-app-mwol/root/etc/uci-defaults/40_luci-mwol +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@mwol[-1] - add ucitrack mwol - set ucitrack.@mwol[-1].init=mwol - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-mwol/root/usr/share/rpcd/acl.d/luci-app-mwol.json b/package/ctcgfw/luci-app-mwol/root/usr/share/rpcd/acl.d/luci-app-mwol.json deleted file mode 100644 index a3d3e54a7b..0000000000 --- a/package/ctcgfw/luci-app-mwol/root/usr/share/rpcd/acl.d/luci-app-mwol.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-mwol": { - "description": "Grant UCI access for luci-app-mwol", - "read": { - "uci": [ "mwol" ] - }, - "write": { - "uci": [ "mwol" ] - } - } -} diff --git a/package/ctcgfw/luci-app-naiveproxy/Makefile b/package/ctcgfw/luci-app-naiveproxy/Makefile deleted file mode 100644 index d7fe0754cc..0000000000 --- a/package/ctcgfw/luci-app-naiveproxy/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (C) 2020 Openwrt.org -# -# This is a free software, use it under GNU General Public License v3.0. -# -# Created By ImmortalWrt -# https://github.com/project-openwrt - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-naiveproxy -PKG_VERSION:=1.0 -PKG_RELEASE:=1 -LUCI_TITLE:=LuCI support for NaiveProxy -LUCI_DEPENDS:=+naiveproxy -LUCI_PKGARCH:=all - -PKG_MAINTAINER:=CN_SZTL - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature \ No newline at end of file diff --git a/package/ctcgfw/luci-app-naiveproxy/luasrc/controller/naiveproxy.lua b/package/ctcgfw/luci-app-naiveproxy/luasrc/controller/naiveproxy.lua deleted file mode 100644 index b6897a8cbd..0000000000 --- a/package/ctcgfw/luci-app-naiveproxy/luasrc/controller/naiveproxy.lua +++ /dev/null @@ -1,23 +0,0 @@ --- This is a free software, use it under GNU General Public License v3.0. --- Created By ImmortalWrt --- https://github.com/immortalwrt - -module("luci.controller.naiveproxy", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/naiveproxy") then - return - end - - local page - page = entry({"admin", "services", "naiveproxy"}, cbi("naiveproxy"), _("NaiveProxy"), 100) - page.dependent = true - entry({"admin", "services", "naiveproxy", "status"},call("act_status")).leaf=true -end - -function act_status() - local e={} - e.running=luci.sys.call("pgrep naive >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-naiveproxy/luasrc/model/cbi/naiveproxy.lua b/package/ctcgfw/luci-app-naiveproxy/luasrc/model/cbi/naiveproxy.lua deleted file mode 100644 index 619b5bbb3e..0000000000 --- a/package/ctcgfw/luci-app-naiveproxy/luasrc/model/cbi/naiveproxy.lua +++ /dev/null @@ -1,28 +0,0 @@ --- Created By ImmortalWrt --- https://github.com/immortalwrt - -mp = Map("naiveproxy", translate("NaiveProxy")) -mp.description = translate("NaïveProxy uses Chrome's network stack to camouflage traffic with strong censorship resistance and low detectability. Reusing Chrome's stack also ensures best practices in performance and security.") - -mp:section(SimpleSection).template = "naiveproxy/naiveproxy_status" - -s = mp:section(TypedSection, "naiveproxy") -s.anonymous=true -s.addremove=false - -enable = s:option(Flag, "enable", translate("Enable")) -enable.default = 0 -enable.rmempty = false - -listen_addr = s:option(Value, "listen_addr", translate("Listen Address")) -listen_addr.description = translate("proto://[addr][:port]") -listen_addr.rmempty = false - -server_addr = s:option(Value, "server_addr", translate("Server Address")) -server_addr.description = translate("proto://user:pass@hostname[:port]") -server_addr.rmempty = false - -extra_argument = s:option(Value, "extra_argument", translate("Extra Argument")) -extra_argument.description = translate("Appends extra argument to NaiveProxy") - -return mp diff --git a/package/ctcgfw/luci-app-naiveproxy/luasrc/view/naiveproxy/naiveproxy_status.htm b/package/ctcgfw/luci-app-naiveproxy/luasrc/view/naiveproxy/naiveproxy_status.htm deleted file mode 100644 index 2ebbdc86d6..0000000000 --- a/package/ctcgfw/luci-app-naiveproxy/luasrc/view/naiveproxy/naiveproxy_status.htm +++ /dev/null @@ -1,22 +0,0 @@ - - -
-

- <%:Collecting data...%> -

-
\ No newline at end of file diff --git a/package/ctcgfw/luci-app-naiveproxy/po/en/naiveproxy.po b/package/ctcgfw/luci-app-naiveproxy/po/en/naiveproxy.po deleted file mode 100644 index 5c04430518..0000000000 --- a/package/ctcgfw/luci-app-naiveproxy/po/en/naiveproxy.po +++ /dev/null @@ -1,26 +0,0 @@ -msgid "NaiveProxy" -msgstr "" - -msgid "NaïveProxy uses Chrome's network stack to camouflage traffic with strong censorship resistance and low detectability. Reusing Chrome's stack also ensures best practices in performance and security." -msgstr "" - -msgid "RUNNING" -msgstr "" - -msgid "NOT RUNNING" -msgstr "" - -msgid "Enable" -msgstr "" - -msgid "Listen Address" -msgstr "" - -msgid "Server Address" -msgstr "" - -msgid "Extra Argument" -msgstr "" - -msgid "Appends extra argument to NaiveProxy" -msgstr "" diff --git a/package/ctcgfw/luci-app-naiveproxy/po/zh_Hans/naiveproxy.po b/package/ctcgfw/luci-app-naiveproxy/po/zh_Hans/naiveproxy.po deleted file mode 100644 index c5db92aacd..0000000000 --- a/package/ctcgfw/luci-app-naiveproxy/po/zh_Hans/naiveproxy.po +++ /dev/null @@ -1,26 +0,0 @@ -msgid "NaiveProxy" -msgstr "NaiveProxy" - -msgid "NaïveProxy uses Chrome's network stack to camouflage traffic with strong censorship resistance and low detectability. Reusing Chrome's stack also ensures best practices in performance and security." -msgstr "NaïveProxy 使用 Chrome 网络堆栈强大的反审查功能和低可检测性来伪装流量,同时确保在性能和安全方面达到最佳。" - -msgid "RUNNING" -msgstr "运行中" - -msgid "NOT RUNNING" -msgstr "未运行" - -msgid "Enable" -msgstr "启用" - -msgid "Listen Address" -msgstr "监听地址" - -msgid "Server Address" -msgstr "服务器地址" - -msgid "Extra Argument" -msgstr "额外参数" - -msgid "Appends extra argument to NaiveProxy" -msgstr "追加额外参数到 NaiveProxy" diff --git a/package/ctcgfw/luci-app-naiveproxy/root/etc/uci-defaults/naiveproxy b/package/ctcgfw/luci-app-naiveproxy/root/etc/uci-defaults/naiveproxy deleted file mode 100644 index 96db99b1c7..0000000000 --- a/package/ctcgfw/luci-app-naiveproxy/root/etc/uci-defaults/naiveproxy +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@naiveproxy[-1] - add ucitrack naiveproxy - set ucitrack.@naiveproxy[-1].init=naiveproxy - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-naiveproxy/root/usr/share/rpcd/acl.d/luci-app-naiveproxy.json b/package/ctcgfw/luci-app-naiveproxy/root/usr/share/rpcd/acl.d/luci-app-naiveproxy.json deleted file mode 100644 index 07eb96cc77..0000000000 --- a/package/ctcgfw/luci-app-naiveproxy/root/usr/share/rpcd/acl.d/luci-app-naiveproxy.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-naiveproxy": { - "description": "Grant UCI access for luci-app-naiveproxy", - "read": { - "uci": [ "naiveproxy" ] - }, - "write": { - "uci": [ "naiveproxy" ] - } - } -} diff --git a/package/ctcgfw/luci-app-oled/Makefile b/package/ctcgfw/luci-app-oled/Makefile deleted file mode 100644 index 316a36a0e3..0000000000 --- a/package/ctcgfw/luci-app-oled/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# -# Copyright (C) 2020 Nate Ding -# -# This is free software, licensed under the GUN General Public License v3. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -PKG_NAME:=luci-app-oled -LUCI_Title:=LuCI support for ssd1306 0.91\' 138x32 display -LUCI_PKGARCH:=all -LUCI_DEPENDS:=+i2c-tools +coreutils-nohup +libuci -PKG_VERSION:=1.0 -PKG_RELEASE:=1.0 - -PKG_LICENSE:=GPLv3 -PKG_LINCESE_FILES:=LICENSE -PKF_MAINTAINER:=natelol - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-oled/luasrc/controller/oled.lua b/package/ctcgfw/luci-app-oled/luasrc/controller/oled.lua deleted file mode 100644 index 835b054c10..0000000000 --- a/package/ctcgfw/luci-app-oled/luasrc/controller/oled.lua +++ /dev/null @@ -1,17 +0,0 @@ -module("luci.controller.oled", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/oled") then - return - end - entry({"admin", "services", "oled"}, alias("admin", "services", "oled", "setting"),_("OLED"), 10).dependent = true - entry({"admin", "services", "oled", "status"}, call("act_status")) - entry({"admin", "services", "oled", "setting"}, cbi("oled/setting"),_("Setting"),30).leaf = true -end - -function act_status() - local e={} - e.running = luci.sys.call("pgrep -f /usr/bin/oled > /dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-oled/luasrc/model/cbi/oled/setting.lua b/package/ctcgfw/luci-app-oled/luasrc/model/cbi/oled/setting.lua deleted file mode 100644 index 7bc8fbf05f..0000000000 --- a/package/ctcgfw/luci-app-oled/luasrc/model/cbi/oled/setting.lua +++ /dev/null @@ -1,100 +0,0 @@ -m = Map("oled", translate("OLED"), translate("A LuCI app that helps you config your oled display (SSD1306, 0.91', 128X32) with screensavers!

Any issues, please go to: ")..[[luci-app-oled]]) - ---m.chain("luci") - -m:section(SimpleSection).template="oled/status" - -s = m:section(TypedSection, "oled", translate("")) -s.anonymous=true -s.addremove=false - ---OPTIONS -s:tab("info", translate("Info Display")) -s:tab("screensaver", translate("screensaver")) - -o = s:taboption("info", Flag, "enable", translate("Enable")) -o.default=0 -o = s:taboption("info", Flag, "autoswitch", translate("Enable Auto switch")) -o.default=0 -from = s:taboption("info", ListValue, "from", translate("From")) -to = s:taboption("info", ListValue, "to", translate("To")) -for i=0,23 do - for j=0,30,30 do - from:value(i*60+j,string.format("%02d:%02d",i,j)) - to:value(i*60+j,string.format("%02d:%02d",i,j)) - end -end -from:value(1440,"24:00") -to:value(1440,"24:00") -from:depends("autoswitch",'1') -to:depends("autoswitch",'1') -from.default=0 -to.default=1440 - ---informtion options---- -o = s:taboption("info", Flag, "date", translate("Date"), translate('Format YYYY-MM-DD HH:MM:SS')) -o.default=0 -o = s:taboption("info", Flag, "lanip", translate("IP"), translate("LAN IP address")) -o.default=0 -o = s:taboption("info", Flag, "cputemp", translate("CPU temperature")) -o.default=0 -o = s:taboption("info", Flag, "cpufreq", translate("CPU frequency")) -o.default=0 -o = s:taboption("info", Flag, "netspeed", translate("Network speed"), translate("1Mbps(m/s)=1,000Kbps(k/s)=1,000,000bps(b/s)")) -o.default=0 -o = s:taboption("info", ListValue, "netsource", translate("which eth to monitor")) -o:value("eth0","eth0") -o:value("eth1","eth1") -o:depends("netspeed",'1') -o.default='eth0' -o = s:taboption("info", Value, "time", translate("Display interval(s)"), translate('Screensaver will activate in set seconds')) -o.default=0 - ---screensaver options-- -o = s:taboption("screensaver", Flag, "scroll", translate("Scroll Text")) -o.default=1 -o = s:taboption("screensaver", Value, "text", translate("Text you want to scroll")) -o:depends("scroll",'1') -o.default='OPENWRT' -o = s:taboption("screensaver", Flag, "drawline", translate("Draw Many Lines")) -o.default=0 -o = s:taboption("screensaver", Flag, "drawrect", translate("Draw Rectangles")) -o.default=0 -o = s:taboption("screensaver", Flag, "fillrect", translate("Draw Multiple Rectangles")) -o.default=0 -o = s:taboption("screensaver", Flag, "drawcircle", translate("Draw Multiple Circles")) -o.default=0 -o = s:taboption("screensaver", Flag, "drawroundrect", translate("Draw a white circle, 10 pixel radius")) -o.default=0 -o = s:taboption("screensaver", Flag, "fillroundrect", translate("Fill the Round Rectangles")) -o.default=0 -o = s:taboption("screensaver", Flag, "drawtriangle", translate("Draw Triangles")) -o.default=0 -o = s:taboption("screensaver", Flag, "filltriangle", translate("Fill Triangles")) -o.default=0 -o = s:taboption("screensaver", Flag, "displaybitmap", translate("Display miniature bitmap")) -o.default=0 -o = s:taboption("screensaver", Flag, "displayinvertnormal", translate("Invert Display Normalize it")) -o.default=0 -o = s:taboption("screensaver", Flag, "drawbitmapeg", translate("Draw a bitmap and animate")) -o.default=0 - -return m - - - - - - - - - - - - - - - - - ---- diff --git a/package/ctcgfw/luci-app-oled/luasrc/view/oled/status.htm b/package/ctcgfw/luci-app-oled/luasrc/view/oled/status.htm deleted file mode 100644 index 0da0c6426f..0000000000 --- a/package/ctcgfw/luci-app-oled/luasrc/view/oled/status.htm +++ /dev/null @@ -1,22 +0,0 @@ - - -
-

- <%:Collecting data...%> -

-
diff --git a/package/ctcgfw/luci-app-oled/po/zh_Hans/oled.po b/package/ctcgfw/luci-app-oled/po/zh_Hans/oled.po deleted file mode 100644 index bc3f8b056a..0000000000 --- a/package/ctcgfw/luci-app-oled/po/zh_Hans/oled.po +++ /dev/null @@ -1,143 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:1 -msgid "" -"A LuCI app that helps you config your oled display (SSD1306, 0.91', 128X32) " -"with screensavers!

Any issues, please go to:" -msgstr "这是一款支持在ssd1306,0.91寸,128x32像素的oled显示屏上显示你要的信息,包含屏保的程序。

任何问题请到:" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:24 -msgid "CPU frequency" -msgstr "CPU频率" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:22 -msgid "CPU temperature" -msgstr "CPU温度" - -msgid "Scroll Text" -msgstr "文字滚动" - -msgid "Enable Auto switch" -msgstr "启用定时开关" - -msgid "From" -msgstr "起始时间" - -msgid "To" -msgstr "结束时间" - -msgid "Text you want to scroll" -msgstr "你想要显示的文字" - -msgid "which eth to monitor" -msgstr "选择监控哪个网口" - -#: ../../package/new/luci-app-oled/luasrc/view/oled/status.htm:20 -msgid "Collecting data..." -msgstr "" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:18 -msgid "Date" -msgstr "时间" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:48 -msgid "Display miniature bitmap" -msgstr "小图案" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:28 -msgid "Display interval(s)" -msgstr "信息显示间隔(秒)" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:28 -msgid "Screensaver will activate in set seconds" -msgstr "屏保每间隔设置的时间运行一次" -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:32 -msgid "Draw Many Lines" -msgstr "直线" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:38 -msgid "Draw Multiple Circles" -msgstr "多圆" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:36 -msgid "Draw Multiple Rectangles" -msgstr "多方块" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:34 -msgid "Draw Rectangles" -msgstr "方块" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:44 -msgid "Draw Triangles" -msgstr "三角形" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:54 -msgid "Draw a bitmap and animate" -msgstr "动图" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:52 -msgid "Draw a bitmap and animate movement" -msgstr "变化图" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:40 -msgid "Draw a white circle, 10 pixel radius" -msgstr "实心圆" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:15 -msgid "Enable" -msgstr "启用" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:46 -msgid "Fill Triangles" -msgstr "三角填充" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:42 -msgid "Fill the Round Rectangles" -msgstr "方形填充" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:18 -msgid "Format YYYY-MM-DD HH:MM:SS" -msgstr "日期格式 YYYY-MM-DD HH:MM:SS" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:20 -msgid "IP" -msgstr "" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:12 -msgid "Info Display" -msgstr "显示信息" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:50 -msgid "Invert Display Normalize it" -msgstr "反转" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:20 -msgid "LAN IP address" -msgstr "LAN地址" - -#: ../../package/new/luci-app-oled/luasrc/view/oled/status.htm:10 -msgid "NOT RUNNING" -msgstr "" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:26 -msgid "Network speed" -msgstr "网速" - -#: ../../package/new/luci-app-oled/luasrc/controller/oled.lua:7 -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:1 -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:7 -msgid "OLED" -msgstr "" - -#: ../../package/new/luci-app-oled/luasrc/view/oled/status.htm:7 -msgid "RUNNING" -msgstr "" - -#: ../../package/new/luci-app-oled/luasrc/controller/oled.lua:9 -msgid "Setting" -msgstr "设置" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:13 -msgid "screensaver" -msgstr "屏保" diff --git a/package/ctcgfw/luci-app-oled/po/zh_Hant/oled.po b/package/ctcgfw/luci-app-oled/po/zh_Hant/oled.po deleted file mode 100644 index 4a24e35fb0..0000000000 --- a/package/ctcgfw/luci-app-oled/po/zh_Hant/oled.po +++ /dev/null @@ -1,135 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:1 -msgid "" -"A LuCI app that helps you config your oled display (SSD1306, 0.91', 128X32) " -"with screensavers!

Any issues, please go to:" -msgstr "這是壹款支持在ssd1306,0.91寸,128x32像素的oled顯示屏上顯示妳要的信息,包含屏保的程序。

任何問題請到:" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:24 -msgid "CPU frequency" -msgstr "CPU頻率" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:22 -msgid "CPU temperature" -msgstr "CPU溫度" - -msgid "Scroll Text" -msgstr "文字滾動" - -msgid "Text you want to scroll" -msgstr "妳想要顯示的文字" - -msgid "which eth to monitor" -msgstr "選擇監控哪個網口" - -#: ../../package/new/luci-app-oled/luasrc/view/oled/status.htm:20 -msgid "Collecting data..." -msgstr "" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:18 -msgid "Date" -msgstr "時間" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:48 -msgid "Display miniature bitmap" -msgstr "小圖案" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:28 -msgid "Display interval(s)" -msgstr "信息顯示間隔(秒)" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:28 -msgid "Screensaver will activate in set seconds" -msgstr "屏保每間隔設置的時間運行壹次" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:32 -msgid "Draw Many Lines" -msgstr "直線" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:38 -msgid "Draw Multiple Circles" -msgstr "多圓" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:36 -msgid "Draw Multiple Rectangles" -msgstr "多方塊" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:34 -msgid "Draw Rectangles" -msgstr "方塊" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:44 -msgid "Draw Triangles" -msgstr "三角形" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:54 -msgid "Draw a bitmap and animate" -msgstr "動圖" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:52 -msgid "Draw a bitmap and animate movement" -msgstr "變化圖" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:40 -msgid "Draw a white circle, 10 pixel radius" -msgstr "實心圓" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:15 -msgid "Enable" -msgstr "啟用" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:46 -msgid "Fill Triangles" -msgstr "三角填充" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:42 -msgid "Fill the Round Rectangles" -msgstr "方形填充" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:18 -msgid "Format YYYY-MM-DD HH:MM:SS" -msgstr "日期格式 YYYY-MM-DD HH:MM:SS" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:20 -msgid "IP" -msgstr "" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:12 -msgid "Info Display" -msgstr "顯示信息" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:50 -msgid "Invert Display Normalize it" -msgstr "反轉" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:20 -msgid "LAN IP address" -msgstr "LAN地址" - -#: ../../package/new/luci-app-oled/luasrc/view/oled/status.htm:10 -msgid "NOT RUNNING" -msgstr "" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:26 -msgid "Network speed" -msgstr "網速" - -#: ../../package/new/luci-app-oled/luasrc/controller/oled.lua:7 -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:1 -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:7 -msgid "OLED" -msgstr "" - -#: ../../package/new/luci-app-oled/luasrc/view/oled/status.htm:7 -msgid "RUNNING" -msgstr "" - -#: ../../package/new/luci-app-oled/luasrc/controller/oled.lua:9 -msgid "Setting" -msgstr "設置" - -#: ../../package/new/luci-app-oled/luasrc/model/cbi/oled/setting.lua:13 -msgid "screensaver" -msgstr "屏保" diff --git a/package/ctcgfw/luci-app-oled/root/etc/config/oled b/package/ctcgfw/luci-app-oled/root/etc/config/oled deleted file mode 100644 index fd5b0daa68..0000000000 --- a/package/ctcgfw/luci-app-oled/root/etc/config/oled +++ /dev/null @@ -1,22 +0,0 @@ -config oled - option drawline '0' - option drawrect '0' - option fillrect '0' - option drawcircle '0' - option drawroundrect '0' - option fillroundrect '0' - option drawtriangle '0' - option filltriangle '0' - option displaybitmap '0' - option displayinvertnormal '0' - option drawbitmapeg '0' - option date '1' - option netspeed '0' - option lanip '1' - option cpufreq '1' - option cputemp '1' - option time '60' - option enable '0' - option from '0' - option to '1440' - option autoswitch '0' diff --git a/package/ctcgfw/luci-app-oled/root/etc/init.d/oled b/package/ctcgfw/luci-app-oled/root/etc/init.d/oled deleted file mode 100755 index 018962edaf..0000000000 --- a/package/ctcgfw/luci-app-oled/root/etc/init.d/oled +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/sh /etc/rc.common -START=1OO - -PROG=/usr/bin/oled - -stop() { - kill -2 $(pgrep /usr/bin/oled) - kill -9 $(pgrep -f /usr/sbin/netspeed) - echo "oled exit..." -} - -start() { - enabled=$(uci get oled.@oled[0].enable) - if [ $enabled -eq 0 ]; then - exit 0 - fi - - autoswitch=$(uci get oled.@oled[0].autoswitch) - from=$(uci get oled.@oled[0].from) - to=$(uci get oled.@oled[0].to) - - if [ ${autoswitch} -eq 1 ]; then - hour=$(date +"%H") - min=$(date +"%M") - ihour=`expr $hour + 0` - imin=`expr $min + 0` - now=$(($ihour*60+$imin)) - if [[ $now -lt $from || $now -gt $to ]]; then - stop - exit 0 - fi - fi - - #crontab daemon - if ! grep "/etc/init.d/oled \+restart" /etc/crontabs/root >/dev/null 2>&1; then - echo "*/5 * * * * /etc/init.d/oled restart >/dev/null 2>&1" >> /etc/crontabs/root - fi - - date=$(uci get oled.@oled[0].date) - lanip=$(uci get oled.@oled[0].lanip) - cputemp=$(uci get oled.@oled[0].cputemp) - cpufreq=$(uci get oled.@oled[0].cpufreq) - netspeed=$(uci get oled.@oled[0].netspeed) - time=$(uci get oled.@oled[0].time) - drawline=$(uci get oled.@oled[0].drawline) - drawrect=$(uci get oled.@oled[0].drawrect) - fillrect=$(uci get oled.@oled[0].fillrect) - drawcircle=$(uci get oled.@oled[0].drawcircle) - drawroundrect=$(uci get oled.@oled[0].drawroundrect) - fillroundrect=$(uci get oled.@oled[0].fillroundrect) - drawtriangle=$(uci get oled.@oled[0].drawtriangle) - filltriangle=$(uci get oled.@oled[0].filltriangle) - displaybitmap=$(uci get oled.@oled[0].displaybitmap) - displayinvertnormal=$(uci get oled.@oled[0].displayinvertnormal) - drawbitmapeg=$(uci get oled.@oled[0].drawbitmapeg) - scroll=$(uci get oled.@oled[0].scroll) - text=$(uci get oled.@oled[0].text) - netsource=$(uci get oled.@oled[0].netsource) - - - if [ ${netspeed} -eq 1 ]; then - nohup /usr/sbin/netspeed ${netsource} >/dev/null 2>&1 & - else - kill -9 $(pgrep -f /usr/sbin/netspeed) - rm -f /tmp/netspeed - fi - nohup ${PROG} ${date} ${lanip} ${cputemp} ${cpufreq} ${netspeed} ${time} ${drawline} ${drawrect} ${fillrect} ${drawcircle} ${drawroundrect} ${fillroundrect} ${drawtriangle} ${filltriangle} ${displaybitmap} ${displayinvertnormal} ${drawbitmapeg} ${scroll} "${text}" "${netsource}" 1 > /dev/null 2>&1 & -} - - - - -restart(){ - enabled=$(uci get oled.@oled[0].enable) - pgrep -f ${PROG} >/dev/null - if [ $? -eq 0 ]; then - if [ $enabled -eq 1 ]; then - autoswitch=$(uci get oled.@oled[0].autoswitch) - from=$(uci get oled.@oled[0].from) - to=$(uci get oled.@oled[0].to) - if [ ${autoswitch} -eq 1 ]; then - hour=$(date +"%H") - min=$(date +"%M") - ihour=`expr $hour + 0` - imin=`expr $min + 0` - now=$(($ihour*60+$imin)) - if [[ $now -lt $from || $now -gt $to ]]; then - stop - exit 0 - fi - fi - - date=$(uci get oled.@oled[0].date) - lanip=$(uci get oled.@oled[0].lanip) - cputemp=$(uci get oled.@oled[0].cputemp) - cpufreq=$(uci get oled.@oled[0].cpufreq) - netspeed=$(uci get oled.@oled[0].netspeed) - time=$(uci get oled.@oled[0].time) - drawline=$(uci get oled.@oled[0].drawline) - drawrect=$(uci get oled.@oled[0].drawrect) - fillrect=$(uci get oled.@oled[0].fillrect) - drawcircle=$(uci get oled.@oled[0].drawcircle) - drawroundrect=$(uci get oled.@oled[0].drawroundrect) - fillroundrect=$(uci get oled.@oled[0].fillroundrect) - drawtriangle=$(uci get oled.@oled[0].drawtriangle) - filltriangle=$(uci get oled.@oled[0].filltriangle) - displaybitmap=$(uci get oled.@oled[0].displaybitmap) - displayinvertnormal=$(uci get oled.@oled[0].displayinvertnormal) - drawbitmapeg=$(uci get oled.@oled[0].drawbitmapeg) - scroll=$(uci get oled.@oled[0].scroll) - text=$(uci get oled.@oled[0].text) - netsource=$(uci get oled.@oled[0].netsource) - - - kill -9 $(pgrep /usr/bin/oled) - kill -9 $(pgrep -f /usr/sbin/netspeed) - - if [ ${netspeed} -eq 1 ]; then - nohup /usr/sbin/netspeed ${netsource} >/dev/null 2>&1 & - else - kill -9 $(pgrep -f /usr/sbin/netspeed) - rm -f /tmp/netspeed - fi - nohup ${PROG} ${date} ${lanip} ${cputemp} ${cpufreq} ${netspeed} ${time} ${drawline} ${drawrect} ${fillrect} ${drawcircle} ${drawroundrect} ${fillroundrect} ${drawtriangle} ${filltriangle} ${displaybitmap} ${displayinvertnormal} ${drawbitmapeg} ${scroll} "${text}" "${netsource}" 0 > /dev/null 2>&1 & - else - stop - fi - - else - if [ $enabled -eq 1 ]; then - start - else - exit 0 - fi - fi -} diff --git a/package/ctcgfw/luci-app-oled/root/etc/uci-defaults/oled b/package/ctcgfw/luci-app-oled/root/etc/uci-defaults/oled deleted file mode 100644 index 81bc0a23f5..0000000000 --- a/package/ctcgfw/luci-app-oled/root/etc/uci-defaults/oled +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@oled[-1] - add ucitrack oled - set ucitrack.@oled[-1].init=oled - commit ucitrack -EOF - -rm -rf /tmp/luci-* -exit 0 diff --git a/package/ctcgfw/luci-app-oled/root/usr/sbin/netspeed b/package/ctcgfw/luci-app-oled/root/usr/sbin/netspeed deleted file mode 100755 index 6be8ca48d5..0000000000 --- a/package/ctcgfw/luci-app-oled/root/usr/sbin/netspeed +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/ash -IF=$1 -if [ -z "$IF" ]; then - IF=`ls -1 /sys/class/net/ | head -1` -fi -RXPREV=-1 -TXPREV=-1 -echo "Listening $IF..." -while [ 1 == 1 ] ; do - RX=`cat /sys/class/net/${IF}/statistics/rx_bytes` - TX=`cat /sys/class/net/${IF}/statistics/tx_bytes` - if [ $RXPREV -ne -1 ] ; then - let BWRX=$RX-$RXPREV - let BWTX=$TX-$TXPREV - echo "$BWRX $BWTX">/tmp/netspeed - fi - RXPREV=$RX - TXPREV=$TX - sleep 1 -done diff --git a/package/ctcgfw/luci-app-oled/root/usr/share/rpcd/acl.d/luci-app-oled.json b/package/ctcgfw/luci-app-oled/root/usr/share/rpcd/acl.d/luci-app-oled.json deleted file mode 100644 index 7c436b871a..0000000000 --- a/package/ctcgfw/luci-app-oled/root/usr/share/rpcd/acl.d/luci-app-oled.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-oled": { - "description": "Grant UCI access for luci-app-oled", - "read": { - "uci": [ "oled" ] - }, - "write": { - "uci": [ "oled" ] - } - } -} diff --git a/package/ctcgfw/luci-app-oled/src/Example_Code/Main.c b/package/ctcgfw/luci-app-oled/src/Example_Code/Main.c deleted file mode 100644 index 9bf87e697e..0000000000 --- a/package/ctcgfw/luci-app-oled/src/Example_Code/Main.c +++ /dev/null @@ -1,232 +0,0 @@ -/* - * Main.c - * - * Created on : Sep 6, 2017 - * Author : Vinay Divakar - * Description : Example usage of the SSD1306 Driver API's - * Website : www.deeplyembedded.org - */ - -/* Lib Includes */ -#include -#include -#include -#include -#include - -/* Header Files */ -#include "I2C.h" -#include "SSD1306_OLED.h" -#include "example_app.h" - -/* Oh Compiler-Please leave me as is */ -volatile unsigned char flag = 0; - -/* Alarm Signal Handler */ -void ALARMhandler(int sig) -{ - /* Set flag */ - flag = 5; -} - -void BreakDeal(int sig) -{ - clearDisplay(); - usleep(1000000); - Display(); - exit(0); -} - - -int main(int argc, char* argv[]) -{ - int date=atoi(argv[1]); - int lanip=atoi(argv[2]); - int cputemp=atoi(argv[3]); - int cpufreq=atoi(argv[4]); - int netspeed=atoi(argv[5]); - int time=atoi(argv[6]); - int drawline=atoi(argv[7]); - int drawrect=atoi(argv[8]); - int fillrect=atoi(argv[9]); - int drawcircle=atoi(argv[10]); - int drawroundcircle=atoi(argv[11]); - int fillroundcircle=atoi(argv[12]); - int drawtriangle=atoi(argv[13]); - int filltriangle=atoi(argv[14]); - int displaybitmap=atoi(argv[15]); - int displayinvertnormal=atoi(argv[16]); - int drawbitmapeg=atoi(argv[17]); - int scroll=atoi(argv[18]); - char *text=argv[19]; - char *eth = argv[20]; - int needinit=atoi(argv[21]); - - - /* Initialize I2C bus and connect to the I2C Device */ - if(init_i2c_dev(I2C_DEV0_PATH, SSD1306_OLED_ADDR) == 0) - { - printf("(Main)i2c-2: Bus Connected to SSD1306\r\n"); - } - else - { - printf("(Main)i2c-2: OOPS! Something Went Wrong\r\n"); - exit(1); - } - - /* Register the Alarm Handler */ - signal(SIGALRM, ALARMhandler); - signal(SIGINT, BreakDeal); - //signal(SIGTERM, BreakDeal); -/* Run SDD1306 Initialization Sequence */ - if (needinit==1) {display_Init_seq();} - - /* Clear display */ - clearDisplay(); - - // draw a single pixel -// drawPixel(0, 1, WHITE); -// Display(); -// usleep(1000000); -// clearDisplay(); - - // draw many lines - while(1){ - - if(scroll){ - testscrolltext(text); - usleep(1000000); - clearDisplay(); - } - - if(drawline){ - testdrawline(); - usleep(1000000); - clearDisplay(); - } - - - // draw rectangles - if(drawrect){ - testdrawrect(); - usleep(1000000); - clearDisplay(); - } - - // draw multiple rectangles - if(fillrect){ - testfillrect(); - usleep(1000000); - clearDisplay(); - } - - // draw mulitple circles - if(drawcircle){ - testdrawcircle(); - usleep(1000000); - clearDisplay(); - } - - - // draw a white circle, 10 pixel radius - if(drawroundcircle){ - testdrawroundrect(); - usleep(1000000); - clearDisplay(); - } - - - // Fill the round rectangle - if(fillroundcircle){ - testfillroundrect(); - usleep(1000000); - clearDisplay(); - } - - // Draw triangles - if(drawtriangle){ - testdrawtriangle(); - usleep(1000000); - clearDisplay(); - } - // Fill triangles - if(filltriangle){ - testfilltriangle(); - usleep(1000000); - clearDisplay(); - } - - // Display miniature bitmap - if(displaybitmap){ - display_bitmap(); - Display(); - usleep(1000000); - }; - // Display Inverted image and normalize it back - if(displayinvertnormal){ - display_invert_normal(); - clearDisplay(); - usleep(1000000); - Display(); - - } - - // Generate Signal after 20 Seconds - - // draw a bitmap icon and 'animate' movement - if(drawbitmapeg){ - alarm(10); - flag=0; - testdrawbitmap_eg(); - clearDisplay(); - usleep(1000000); - Display(); - } - - - //setCursor(0,0); - setTextColor(WHITE); - // info display - int sum = date+lanip+cpufreq+cputemp+netspeed; - if (sum == 0) {clearDisplay(); return 0;} - for(int i = 1; i < time; i++){ - if (sum == 1){//only one item for display - if (date) testdate(CENTER, 8); - if (lanip) testlanip(CENTER, 8); - if (cpufreq) testcpufreq(CENTER, 8); - if (cputemp) testcputemp(CENTER, 8); - if (netspeed) testnetspeed(SPLIT,0); - Display(); - usleep(1000000); - clearDisplay(); - }else if (sum == 2){//two items for display - if(date) {testdate(CENTER, 16*(date-1));} - if(lanip) {testlanip(CENTER, 16*(date+lanip-1));} - if(cpufreq) {testcpufreq(CENTER, 16*(date+lanip+cpufreq-1));} - if(cputemp) {testcputemp(CENTER, 16*(date+lanip+cpufreq+cputemp-1));} - if(netspeed) {testnetspeed(MERGE, 16*(date+lanip+cpufreq+cputemp+netspeed-1));} - Display(); - usleep(1000000); - clearDisplay(); - } - else{//more than two items for display - if(date) {testdate(FULL, 8*(date-1));} - if(lanip) {testlanip(FULL, 8*(date+lanip-1));} - if(cpufreq && cputemp) { - testcpu(8*(date+lanip)); - if(netspeed) {testnetspeed(FULL, 8*(date+lanip+1+netspeed-1));} - } - else{ - if(cpufreq) {testcpufreq(FULL, 8*(date+lanip+cpufreq-1));} - if(cputemp) {testcputemp(FULL, 8*(date+lanip+cpufreq+cputemp-1));} - if(netspeed) {testnetspeed(FULL, 8*(date+lanip+cpufreq+cputemp+netspeed-1));} - } - - Display(); - usleep(1000000); - clearDisplay(); - } - } - } - -} diff --git a/package/ctcgfw/luci-app-oled/src/Example_Code/example_app.c b/package/ctcgfw/luci-app-oled/src/Example_Code/example_app.c deleted file mode 100644 index 9ce62d0251..0000000000 --- a/package/ctcgfw/luci-app-oled/src/Example_Code/example_app.c +++ /dev/null @@ -1,650 +0,0 @@ -/* - * MIT License - -Copyright (c) 2017 DeeplyEmbedded - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - * example_app.c - * - * Created on : Sep 6, 2017 - * Author : Vinay Divakar - * Website : www.deeplyembedded.org - */ - -/* Lib Includes */ -#include -#include -#include -#include -#include -#include -#include -#include "SSD1306_OLED.h" -#include "example_app.h" - -#define BUFMAX SSD1306_LCDWIDTH*SSD1306_LCDHEIGHT - -/* MACRO's */ -#define LOGO16_GLCD_HEIGHT 16 -#define LOGO16_GLCD_WIDTH 16 -#define NUMFLAKES 10 -#define XPOS 0 -#define YPOS 1 -#define DELTAY 2 - - - -#define TIMESIZE 64 -//temperature -#define TEMPPATH "/sys/class/thermal/thermal_zone0/temp" -#define TEMPSIZE 5 -//cpu -#define FREQSIZE 8 -#define FREQPATH "cat /sys/devices/system/cpu/cpu[04]/cpufreq/cpuinfo_cur_freq" -//ip -#define IPPATH "ifconfig br-lan|grep 'inet addr:'|cut -d: -f2|awk '{print $1}'" -#define IPSIZE 20 -//netspeed -#define NETPATH "cat /tmp/netspeed" - -/* Extern volatile */ -extern volatile unsigned char flag; - -/* Bit Map - Taken from Adafruit SSD1306 OLED Library */ -static const unsigned char logo16_glcd_bmp[] = -{ - 0b00000000, 0b11000000, - 0b00000001, 0b11000000, - 0b00000001, 0b11000000, - 0b00000011, 0b11100000, - 0b11110011, 0b11100000, - 0b11111110, 0b11111000, - 0b01111110, 0b11111111, - 0b00110011, 0b10011111, - 0b00011111, 0b11111100, - 0b00001101, 0b01110000, - 0b00011011, 0b10100000, - 0b00111111, 0b11100000, - 0b00111111, 0b11110000, - 0b01111100, 0b11110000, - 0b01110000, 0b01110000, - 0b00000000, 0b00110000 -}; - -FILE *fp; -char content_buff[BUFMAX]; -char buf[BUFMAX]; -int display_offset =7; -/* draw many lines */ -void testdrawline() -{ - short i = 0; - for (i=0; i=0; i-=4) - { - drawLine(0, SSD1306_LCDHEIGHT-1, SSD1306_LCDWIDTH-1, i, WHITE); - Display(); - usleep(1000); - } - usleep(250000); - - clearDisplay(); - for (i=SSD1306_LCDWIDTH-1; i>=0; i-=4) - { - drawLine(SSD1306_LCDWIDTH-1, SSD1306_LCDHEIGHT-1, i, 0, WHITE); - Display(); - usleep(1000); - } - for (i=SSD1306_LCDHEIGHT-1; i>=0; i-=4) - { - drawLine(SSD1306_LCDWIDTH-1, SSD1306_LCDHEIGHT-1, 0, i, WHITE); - Display(); - usleep(1000); - } - usleep(250000); - - clearDisplay(); - for (i=0; i0; i-=5) - { - fillTriangle(SSD1306_LCDWIDTH/2, SSD1306_LCDHEIGHT/2-i, - SSD1306_LCDWIDTH/2-i, SSD1306_LCDHEIGHT/2+i, - SSD1306_LCDWIDTH/2+i, SSD1306_LCDHEIGHT/2+i, WHITE); - if (color == WHITE) - color = BLACK; - else - color = WHITE; - Display(); - usleep(1000); - } -} - -/* Display a bunch of characters and emoticons */ -void testdrawchar() -{ - unsigned char i = 0; - setTextSize(1); - setTextColor(WHITE); - setCursor(0,0); - - for (i=0; i < 168; i++) - { - if (i == '\n') - continue; - oled_write(i); - if ((i > 0) && (i % 21 == 0)) - println(); - } - Display(); - usleep(1000); -} - -/* Display "scroll" and scroll around */ -void testscrolltext(char* str) -{ - setTextSize(2); - setTextColor(WHITE); - setCursor(10,8); - sprintf(buf,"%s",str); - print_strln(buf); - Display(); - usleep(1000); - startscrollright(0x00, 0x0F); - usleep(5000000); - stopscroll(); - usleep(1000000); - startscrollleft(0x00, 0x0F); - usleep(5000000); - stopscroll(); - usleep(1000000); - startscrolldiagright(0x00, 0x07); - usleep(5000000); - startscrolldiagleft(0x00, 0x07); - usleep(5000000); - stopscroll(); -} - - - -/* Display Texts */ -void display_texts() -{ - setTextSize(1); - setTextColor(WHITE); - setCursor(10,0); - print_str("HELLO FELLAS!"); - println(); - printFloat_ln(3.141592, 4); //Print 4 No's after the decimal Pt. - printNumber_L_ln(-1234, DEC); - printNumber_UC_ln(170, BIN); - setTextSize(2); - setTextColor(WHITE); - print_str("0x"); - printNumber_UL_ln(0xDEADBEEF, HEX); -} - -/* Display miniature bitmap */ -void display_bitmap() -{ - drawBitmap(30, 16, logo16_glcd_bmp, 16, 16, 1); -} - -/* Invert Display and Normalize it */ -void display_invert_normal() -{ - invertDisplay(SSD1306_INVERT_DISPLAY); - usleep(1000000); - invertDisplay(SSD1306_NORMALIZE_DISPLAY); - usleep(1000000); -} - -/* Draw a bitmap and 'animate' movement */ -void testdrawbitmap(const unsigned char *bitmap, unsigned char w, unsigned char h) -{ - unsigned char icons[NUMFLAKES][3], f = 0; - - // initialize - for (f=0; f< NUMFLAKES; f++) - { - icons[f][XPOS] = rand() % SSD1306_LCDWIDTH; - icons[f][YPOS] = 0; - icons[f][DELTAY] = (rand() % 5) + 1; - - /* Looks kinna ugly to me - Un-Comment if you need it */ - //print_str("x: "); - //printNumber_UC(icons[f][XPOS], DEC); - //print_str("y: "); - //printNumber_UC(icons[f][YPOS], DEC); - //print_str("dy: "); - //printNumber_UC(icons[f][DELTAY], DEC); - } - - while (flag != 5) - { - // draw each icon - for (f=0; f< NUMFLAKES; f++) - { - drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, WHITE); - } - Display(); - usleep(200000); - - // then erase it + move it - for (f=0; f< NUMFLAKES; f++) - { - drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, BLACK); - - // move it - icons[f][YPOS] += icons[f][DELTAY]; - - // if its gone, reinit - if (icons[f][YPOS] > SSD1306_LCDHEIGHT) - { - icons[f][XPOS] = rand() % SSD1306_LCDWIDTH; - icons[f][YPOS] = 0; - icons[f][DELTAY] = (rand() % 5) + 1; - } - } - } -} - -/* Draw bitmap and animate */ -void testdrawbitmap_eg() -{ - setTextSize(1); - setTextColor(WHITE); - setCursor(10,0); - testdrawbitmap(logo16_glcd_bmp, LOGO16_GLCD_HEIGHT, LOGO16_GLCD_WIDTH); -} - -/* Intro */ -void deeplyembedded_credits() -{ - setTextSize(1); - setTextColor(WHITE); - setCursor(1,0); - print_strln("deeplyembedded.org"); - println(); - print_strln("Author:Vinay Divakar"); - println(); - println(); - print_strln("THANK YOU"); -} - - -void testdate(int mode, int y) -{ - time_t rawtime; - time_t curtime; - uint8_t timebuff[TIMESIZE]; - curtime = time(NULL); - time(&rawtime); - switch (mode) - { - case CENTER: - setTextSize(2); - strftime(timebuff,80,"%H:%M",localtime(&rawtime)); - sprintf(buf,"%s",timebuff); - setCursor((127-strlen(buf)*11)/2-4, y); - break; - case FULL: - setTextSize(1); - strftime(timebuff,80,"%Y-%m-%d %H:%M:%S",localtime(&rawtime)); - sprintf(buf,"%s",timebuff); - setCursor(display_offset, y); - } - print_strln(buf); -} - - -void testlanip(int mode, int y) -{ - setTextSize(1); - if((fp=popen(IPPATH,"r"))!=NULL) - { - fscanf(fp,"%s",content_buff); - fclose(fp); - //ipbuff[strlen(ipbuff)-1]=32; - switch(mode) - { - case CENTER: - setTextSize(1); - sprintf(buf,"%s",content_buff); - setCursor((127-strlen(buf)*6)/2, y+4); - break; - - case FULL: - setTextSize(1); - sprintf(buf,"IP:%s",content_buff); - setCursor(display_offset, y); - } - print_strln(buf); - } - -} - - -void testcputemp(int mode, int y) -{ - if((fp=fopen(TEMPPATH,"r"))!=NULL) - { - fgets(content_buff,TEMPSIZE,fp); - fclose(fp); - switch (mode) - { - case CENTER: - setTextSize(2); - sprintf(buf, "%.2f",atoi(content_buff)/100.0); - setCursor((127-(strlen(buf)+2)*11)/2-4, y); - print_str(buf); - oled_write(0); - oled_write(67); - drawCircle(getCursorX()-16, getCursorY()+3, 2, WHITE); - break; - case FULL: - setTextSize(1); - sprintf(buf,"CPU TEMP:%.2f",atoi(content_buff)/100.0); - setCursor(display_offset, y); - print_str(buf); - oled_write(0); - oled_write(67); - drawCircle(getCursorX()-8, getCursorY()+1, 1, WHITE); - } - - } - -} - - -void testcpufreq(int mode, int y) -{ - if((fp=popen(FREQPATH,"r")) != NULL) - { - fgets(content_buff,FREQSIZE,fp); - fclose(fp); - switch(mode) - { - case CENTER: - setTextSize(2); - sprintf(buf,"%4dMHz",atoi(content_buff)/1000); - setCursor((127-strlen(buf)*11)/2-4, y); - break; - case FULL: - setTextSize(1); - sprintf(buf,"CPU FREQ:%4dMHz",atoi(content_buff)/1000); - setCursor(display_offset, y); - } - print_strln(buf); - } - -} - -void testnetspeed(int mode, int y) -{ - int rx,tx; - if((fp=popen(NETPATH,"r")) != NULL) - { - fscanf(fp,"%d %d", &rx, &tx); - fclose(fp); - rx = rx; - tx = tx; - switch(mode) - { - case SPLIT: - setTextSize(2); - if (tx < 1000) sprintf(buf, "%03dB", tx); - else if (tx > 1000000) sprintf(buf, "%03dM", tx/1000000); - else sprintf(buf, "%03dK", tx/1000); - setCursor((127-(strlen(buf)+1)*11)/2,0); - oled_write(24); - print_str(buf); - - if (rx < 1000) sprintf(buf, "%03dB", rx); - else if (rx > 1000000) sprintf(buf, "%03dM", rx/1000000); - else sprintf(buf, "%03dK", rx/1000); - setCursor((127-(strlen(buf)+1)*11)/2,16); - oled_write(25); - print_str(buf); - break; - case MERGE: - setTextSize(1); - if (tx < 1000) sprintf(buf, "%03dB ", tx); - else if (tx > 1000000) sprintf(buf, "%03dM", tx/1000000); - else sprintf(buf, "%03dK ", tx/1000); - setCursor((127-(2*strlen(buf)-1)*6)/2-4, y+4); - oled_write(24); - print_str(buf); - - if (rx < 1000) sprintf(buf, "%03dB", rx); - else if (rx > 1000000) sprintf(buf, "%03dM", rx/1000000); - else sprintf(buf, "%03dK", rx/1000); - oled_write(25); - print_str(buf); - break; - case FULL: - setTextSize(1); - setCursor(display_offset, y); - oled_write(24); - if (tx < 1000) sprintf(buf, "%03dB ", tx); - else if (tx > 1000000) sprintf(buf, "%03dM", tx/1000000); - else sprintf(buf, "%03dK ", tx/1000); - print_str(buf); - - oled_write(25); - if (rx < 1000) sprintf(buf, "%03dB", rx); - else if (rx > 1000000) sprintf(buf, "%03dM", rx/1000000); - else sprintf(buf, "%03dK", rx/1000); - print_str(buf); - } - } -} -void testcpu(int y) -{ -//freq - setTextSize(1); - setCursor(display_offset, y); - if((fp=popen(FREQPATH,"r")) != NULL) - { - fgets(content_buff,FREQSIZE,fp); - fclose(fp); - sprintf(buf,"CPU:%4dMHz ", atoi(content_buff)/1000); - print_str(buf); - } - - -//temp - if((fp=fopen(TEMPPATH,"r"))!=NULL) - { - fgets(content_buff,TEMPSIZE,fp); - fclose(fp); - sprintf(buf, "%.2f",atoi(content_buff)/100.0); - print_str(buf); - oled_write(0); - oled_write(67); - drawCircle(getCursorX()-8, getCursorY()+1, 1, WHITE); - } -} - -void testprintinfo() -{ - setTextSize(1); - setTextColor(WHITE); - setCursor(0,0); -//DATE - - time_t rawtime; - time_t curtime; - uint8_t timebuff[TIMESIZE]; - curtime = time(NULL); - time(&rawtime); - strftime(timebuff,80,"%Y-%m-%d_%w %H:%M:%S",localtime(&rawtime)); - sprintf(buf,"%s",timebuff); - print_strln(buf); - - //br-lan ip - if((fp=popen(IPPATH,"r"))!=NULL) - { - fscanf(fp,"%s",content_buff); - fclose(fp); - //ipbuff[strlen(ipbuff)-1]=32; - sprintf(buf,"IP:%s",content_buff); - print_strln(buf); - } - - //CPU temp - if((fp=popen(FREQPATH,"r")) != NULL) - { - fgets(content_buff,FREQSIZE,fp); - fclose(fp); - sprintf(buf,"CPU freq:%d MHz ",atoi(content_buff)/1000); - print_strln(buf); - } - - //cpu freq - if((fp=fopen(TEMPPATH,"r"))!=NULL) - { - fgets(content_buff,TEMPSIZE,fp); - fclose(fp); - sprintf(buf,"CPU temp:%.2f C",atoi(content_buff)/100.0); - print_strln(buf); - } - - - -} - diff --git a/package/ctcgfw/luci-app-oled/src/Example_Code/example_app.h b/package/ctcgfw/luci-app-oled/src/Example_Code/example_app.h deleted file mode 100644 index eb0435826f..0000000000 --- a/package/ctcgfw/luci-app-oled/src/Example_Code/example_app.h +++ /dev/null @@ -1,30 +0,0 @@ -#define CENTER 0 //single item display -#define SPLIT 1 //two items -#define MERGE 2 -#define FULL 3 - -void testdrawline(); -void testdrawrect(); -void testfillrect(); -void testdrawcircle(); -void testdrawroundrect(); -void testfillroundrect(); -void testdrawtriangle(); -void testfilltriangle(); -void testdrawchar(); -void testscrolltext(char *str); -void display_texts(); -void display_bitmap(); -void display_invert_normal(); -void testdrawbitmap(const unsigned char *bitmap, unsigned char w, unsigned char h); -void testdrawbitmap_eg(); -void deeplyembedded_credits(); -void testprintinfo(); -void testdate(int mode, int y); -void testlanip(int mode, int y); -void testcpufreq(int mode, int y); -void testcputemp(int mode, int y); -void testnetspeed(int mode, int y); -void testcpu(int y); - - diff --git a/package/ctcgfw/luci-app-oled/src/I2C_Library/I2C.c b/package/ctcgfw/luci-app-oled/src/I2C_Library/I2C.c deleted file mode 100644 index 7177f84242..0000000000 --- a/package/ctcgfw/luci-app-oled/src/I2C_Library/I2C.c +++ /dev/null @@ -1,281 +0,0 @@ -/* - * MIT License - -Copyright (c) 2017 DeeplyEmbedded - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - * I2C.c - * - * Created on : September 19, 2017 - * Author : Vinay Divakar - * Description : This is an I2C Library for the BeagleBone that consists of the API's to support the standard - * I2C operations. - * Website : www.deeplyembedded.org - */ - -/*Libs Includes*/ -#include -#include -#include -#include -#include -// heuristic to guess what version of i2c-dev.h we have: -// the one installed with `apt-get install libi2c-dev` -// would conflict with linux/i2c.h, while the stock -// one requires linus/i2c.h -#ifndef I2C_SMBUS_BLOCK_MAX -// If this is not defined, we have the "stock" i2c-dev.h -// so we include linux/i2c.h -#include -typedef unsigned char i2c_char_t; -#else -typedef char i2c_char_t; -#endif - -/* Header Files */ -#include "I2C.h" - - -/* Exposed objects for i2c-x */ -I2C_DeviceT I2C_DEV_2; - -/**************************************************************** - * Function Name : Open_device - * Description : Opens the I2C device to use - * Returns : 0 on success, -1 on failure - * Params @i2c_dev_path: Path to the I2C device - * @fd: Variable to store the file handler - ****************************************************************/ -int Open_device(char *i2c_dev_path, int *fd) -{ - if((*fd = open(i2c_dev_path, O_RDWR))<0) - return -1; - else - return 0; -} - - -/**************************************************************** - * Function Name : Close_device - * Description : Closes the I2C device in use - * Returns : 0 on success, -1 on failure - * Params : @fd: file descriptor - ****************************************************************/ -int Close_device(int fd) -{ - if(close(fd) == -1) - return -1; - else - return 0; -} - - -/**************************************************************** - * Function Name : Set_slave_addr - * Description : Connect to the Slave device - * Returns : 0 on success, -1 on failure - * Params @fd: File descriptor - * @slave_addr: Address of the slave device to - * talk to. - ****************************************************************/ -int Set_slave_addr(int fd, unsigned char slave_addr) -{ - if(ioctl(fd, I2C_SLAVE, slave_addr) < 0) - return -1; - else - return 0; -} - - -/**************************************************************** - * Function Name : i2c_write - * Description : Write a byte on SDA - * Returns : No. of bytes written on success, -1 on failure - * Params @fd: File descriptor - * @data: data to write on SDA - ****************************************************************/ -int i2c_write(int fd, unsigned char data) -{ - int ret = 0; - ret = write(fd, &data, I2C_ONE_BYTE); - if((ret == -1) || (ret != 1)) - return -1; - else - return(ret); -} - - -/**************************************************************** - * Function Name : i2c_read - * Description : Read a byte on SDA - * Returns : No. of bytes read on success, -1 on failure - * Params @fd: File descriptor - * @read_data: Points to the variable that stores - * the read data byte - ****************************************************************/ -int i2c_read(int fd, unsigned char *read_data) -{ - int ret = 0; - ret = read(fd, &read_data, I2C_ONE_BYTE); - if(ret == -1) - perror("I2C: Failed to read |"); - if(ret == 0) - perror("I2C: End of FILE |"); - return(ret); -} - - -/**************************************************************** - * Function Name : i2c_read_register - * Description : Read a single register of the slave device - * Returns : No. of bytes read on success, -1 on failure - * Params @fd: File descriptor - * @read_addr: Register address to be read - * @read_data: Points to the variable that stores - * the read data byte - ****************************************************************/ -int i2c_read_register(int fd, unsigned char read_addr, unsigned char *read_data) -{ - int ret = 0; - if(i2c_write(fd, read_addr) == -1) - { - perror("I2C: Failed to write |"); - return -1; - } - ret = read(fd, &read_data, I2C_ONE_BYTE); - if(ret == -1) - perror("I2C: Failed to read |"); - if(ret == 0) - perror("I2C: End of FILE |"); - return(ret); -} - - -/**************************************************************** - * Function Name : i2c_read_registers - * Description : Read a multiple registers on the slave device - * from starting address - * Returns : No. of bytes read on success, -1 on failure - * Params @fd: File descriptor - * @num: Number of registers/bytes to read from. - * @starting_addr: Starting address to read from - * @buff_Ptr: Buffer to store the read bytes - ****************************************************************/ -int i2c_read_registers(int fd, int num, unsigned char starting_addr, - unsigned char *buff_Ptr) -{ - int ret = 0; - if(i2c_write(fd, starting_addr) == -1) - { - perror("I2C: Failed to write |"); - return -1; - } - ret = read(fd, buff_Ptr, num); - if(ret == -1) - perror("I2C: Failed to read |"); - if(ret == 0) - perror("I2C: End of FILE |"); - return(ret); -} - - -/**************************************************************** - * Function Name : i2c_multiple_writes - * Description : Write multiple bytes on SDA - * Returns : No. of bytes written on success, -1 on failure - * Params @fd: file descriptor - * @num: No. of bytes to write - * @Ptr_buff: Pointer to the buffer containing the - * bytes to be written on the SDA - ****************************************************************/ -int i2c_multiple_writes(int fd, int num, unsigned char *Ptr_buff) -{ - int ret = 0; - ret = write(fd, Ptr_buff, num); - if((ret == -1) || (ret != num)) - return -1; - else - return(ret); -} - - -/**************************************************************** - * Function Name : i2c_write_register - * Description : Write a control byte or byte to a register - * Returns : No. of bytes written on success, -1 on failure - * Params @fd: file descriptor - * @reg_addr_or_cntrl: Control byte or Register - * address to be written - * @val: Command or value to be written in the - * addressed register - ****************************************************************/ -int i2c_write_register(int fd, unsigned char reg_addr_or_cntrl, unsigned char val) -{ - unsigned char buff[2]; - int ret = 0; - buff[0] = reg_addr_or_cntrl; - buff[1] = val; - ret = write(fd, buff, I2C_TWO_BYTES); - if((ret == -1) || (ret != I2C_TWO_BYTES)) - return -1; - else - return(ret); -} - - -/**************************************************************** - * Function Name : config_i2c_struct - * Description : Initialize the I2C device structure - * Returns : NONE - * Params @i2c_dev_path: Device path - * @slave_addr: Slave device address - * @i2c_dev: Pointer to the device structure - ****************************************************************/ -void config_i2c_struct(char *i2c_dev_path, unsigned char slave_addr, I2C_DevicePtr i2c_dev) -{ - i2c_dev->i2c_dev_path = i2c_dev_path; - i2c_dev->fd_i2c = 0; - i2c_dev->i2c_slave_addr = slave_addr; -} - - -/**************************************************************** - * Function Name : init_i2c_dev - * Description : Connect the i2c bus to the slave device - * Returns : 0 on success, -1 on failure - * Params @i2c_path: the path to the device - * @slave_addr: Slave device address - ****************************************************************/ -int init_i2c_dev(const char* i2c_path, unsigned char slave_address) -{ - config_i2c_struct((char*)i2c_path, slave_address, &I2C_DEV_2); - if(Open_device(I2C_DEV_2.i2c_dev_path, &I2C_DEV_2.fd_i2c) == -1) - { - perror("I2C: Failed to open device |"); - return -1; - } - if(Set_slave_addr(I2C_DEV_2.fd_i2c, I2C_DEV_2.i2c_slave_addr) == -1) - { - perror("I2C: Failed to connect to slave device |"); - return -1; - } - - return 0; -} diff --git a/package/ctcgfw/luci-app-oled/src/I2C_Library/I2C.h b/package/ctcgfw/luci-app-oled/src/I2C_Library/I2C.h deleted file mode 100644 index ffcc459339..0000000000 --- a/package/ctcgfw/luci-app-oled/src/I2C_Library/I2C.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * MIT License - -Copyright (c) 2017 DeeplyEmbedded - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - * I2C.h - * - * Created on : Sep 4, 2017 - * Author : Vinay Divakar - * Website : www.deeplyembedded.org - */ - -#ifndef I2C_H_ -#define I2C_H_ - -#include - -/* No. of bytes per transaction */ -#define I2C_ONE_BYTE 1 -#define I2C_TWO_BYTES 2 -#define I2C_THREE_BYTES 3 - -/*Definitions specific to i2c-x */ -#define I2C_DEV0_PATH "/dev/i2c-0" -#define I2C_DEV1_PATH "/dev/i2c-1" -#define I2C_DEV2_PATH "/dev/i2c-2" - -/*I2C device configuration structure*/ -typedef struct{ - char* i2c_dev_path; - int fd_i2c; - unsigned char i2c_slave_addr; -}I2C_DeviceT, *I2C_DevicePtr; - -/* Exposed Generic I2C Functions */ -extern int Open_device(char *i2c_dev_path, int *fd); -extern int Close_device(int fd); -extern int Set_slave_addr(int fd, unsigned char slave_addr); -extern int i2c_write(int fd, unsigned char data); -extern int i2c_read(int fd, unsigned char *read_data); -extern int i2c_read_register(int fd, unsigned char read_addr, unsigned char *read_data); -extern int i2c_read_registers(int fd, int num, unsigned char starting_addr, - unsigned char *buff_Ptr); -extern void config_i2c_struct(char *i2c_dev_path, unsigned char slave_addr, I2C_DevicePtr i2c_dev); -extern int i2c_multiple_writes(int fd, int num, unsigned char *Ptr_buff); -extern int i2c_write_register(int fd, unsigned char reg_addr_or_cntrl, unsigned char val); - -/* Exposed I2C-x Specific Functions */ -extern int init_i2c_dev(const char* i2c_path, unsigned char slave_address); - -#endif /* I2C_H_ */ diff --git a/package/ctcgfw/luci-app-oled/src/LICENSE b/package/ctcgfw/luci-app-oled/src/LICENSE deleted file mode 100644 index e99e91b40f..0000000000 --- a/package/ctcgfw/luci-app-oled/src/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 DeeplyEmbedded - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/package/ctcgfw/luci-app-oled/src/Makefile b/package/ctcgfw/luci-app-oled/src/Makefile deleted file mode 100644 index 0f1b25559b..0000000000 --- a/package/ctcgfw/luci-app-oled/src/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -CC = gcc -LD = gcc - -SOURCES = SSD1306_OLED_Library/SSD1306_OLED.c Example_Code/Main.c Example_Code/example_app.c I2C_Library/I2C.c -OBJS := $(SOURCES:.c=.o) -CPPFLAGS := -I SSD1306_OLED_Library -I I2C_Library -CFLAGS := -g - -oled: $(OBJS) - $(CC) $^ -o $@ - -clean: - rm -rf oled $(OBJS) - -compile: oled - -install: compile - mkdir -p $(DESTDIR)/usr/bin - cp oled $(DESTDIR)/usr/bin/oled diff --git a/package/ctcgfw/luci-app-oled/src/README.md b/package/ctcgfw/luci-app-oled/src/README.md deleted file mode 100644 index 080474f064..0000000000 --- a/package/ctcgfw/luci-app-oled/src/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# SSD1306-OLED-display-driver-for-BeagleBone -This is a SSD1306 OLED Display Library fully compatible with the BeagleBone. - -The Library has 3 components: -1. I2C component for enabling communication between the BeagleBone and display. -2. Control component for sending I2C commands to configure and control the display. -3. Graphics component for drawing geometrical figures, bitmaps, texts, characters, emoticons and numbers. - -Author: Vinay Divakar - -References: -1. https://github.com/adafruit/Adafruit_SSD1306 -2. https://github.com/adafruit/Adafruit-GFX-Library - -Youtube demo: https://youtu.be/sDKf6zW6Pyg - -MIT license, check LICENSE file for more information - -This Library is written in C. To use it, just include the I2C and SSD1306 Libraries in your project. - -Enjoy :) diff --git a/package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/SSD1306_OLED.c b/package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/SSD1306_OLED.c deleted file mode 100644 index 0cbd92bf22..0000000000 --- a/package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/SSD1306_OLED.c +++ /dev/null @@ -1,2713 +0,0 @@ -/* - * MIT License - -Copyright (c) 2017 DeeplyEmbedded - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - * SSD1306_OLED.c - * - * Created on : Sep 26, 2017 - * Author : Vinay Divakar - * Description : SSD1306 OLED Driver, Graphics API's. - * Website : www.deeplyembedded.org - */ - -/* Lib Includes */ -#include -#include -#include -#include -#include -#include "I2C.h" -#include "SSD1306_OLED.h" -#include "gfxfont.h" - -/* Enable or Disable DEBUG Prints */ -//#define SSD1306_DBG - -/* MACROS */ -#define SWAP(x,y) {short temp; temp = x; x = y; y = temp;} -#define pgm_read_byte(addr) (*(const unsigned char *)(addr)) -#define pgm_read_word(addr) (*(const unsigned long *)(addr)) -#define pgm_read_dword(addr) (*(const unsigned long *)(addr)) -#define pgm_read_pointer(addr) ((void *)pgm_read_word(addr)) - -/* static Variables */ -static unsigned char _rotation = 0,textsize = 0; -static short _width = SSD1306_LCDWIDTH; -static short _height = SSD1306_LCDHEIGHT; -static short cursor_x = 0, cursor_y = 0, textcolor = 0, textbgcolor = 0; -static bool _cp437 = false, wrap = true; - -/* static struct objects */ -static GFXfontPtr gfxFont; - -/* Externs - I2C.c */ -extern I2C_DeviceT I2C_DEV_2; - -/* Chunk Buffer */ -static unsigned char chunk[17] = {0}; - -/* Memory buffer for displaying data on LCD - This is an Apple - Fruit */ -static unsigned char screen[DISPLAY_BUFF_SIZE] ={0}; - -/* Static Functions */ -static void transfer(); -static void drawFastVLine(short x, short y,short h, short color); -static void writeFastVLine(short x, short y, short h, short color); -static void drawFastHLine(short x, short y,short w, short color); -static void writeFastHLine(short x, short y, short w, short color); -static short print(const unsigned char *buffer, short size); - -// Standard ASCII 5x7 font -static const unsigned char ssd1306_font5x7[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, //space - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, - 0x18, 0x3C, 0x7E, 0x3C, 0x18, - 0x1C, 0x57, 0x7D, 0x57, 0x1C, - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, - 0x00, 0x18, 0x3C, 0x18, 0x00, - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, - 0x00, 0x18, 0x24, 0x18, 0x00, - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, - 0x30, 0x48, 0x3A, 0x06, 0x0E, - 0x26, 0x29, 0x79, 0x29, 0x26, - 0x40, 0x7F, 0x05, 0x05, 0x07, - 0x40, 0x7F, 0x05, 0x25, 0x3F, - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, - 0x14, 0x22, 0x7F, 0x22, 0x14, - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, - 0x06, 0x09, 0x7F, 0x01, 0x7F, - 0x00, 0x66, 0x89, 0x95, 0x6A, - 0x60, 0x60, 0x60, 0x60, 0x60, - 0x94, 0xA2, 0xFF, 0xA2, 0x94, - 0x08, 0x04, 0x7E, 0x04, 0x08,//up INDEX 24 - 0x10, 0x20, 0x7E, 0x20, 0x10,//down INDEX 25 - 0x08, 0x08, 0x2A, 0x1C, 0x08, - 0x08, 0x1C, 0x2A, 0x08, 0x08, - 0x1E, 0x10, 0x10, 0x10, 0x10, - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, - 0x30, 0x38, 0x3E, 0x38, 0x30, - 0x06, 0x0E, 0x3E, 0x0E, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5F, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x07, 0x00, - 0x14, 0x7F, 0x14, 0x7F, 0x14, - 0x24, 0x2A, 0x7F, 0x2A, 0x12, - 0x23, 0x13, 0x08, 0x64, 0x62, - 0x36, 0x49, 0x56, 0x20, 0x50, - 0x00, 0x08, 0x07, 0x03, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, - 0x08, 0x08, 0x3E, 0x08, 0x08, - 0x00, 0x80, 0x70, 0x30, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, - 0x00, 0x00, 0x60, 0x60, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, - 0x3E, 0x51, 0x49, 0x45, 0x3E, - 0x00, 0x42, 0x7F, 0x40, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, - 0x21, 0x41, 0x49, 0x4D, 0x33, - 0x18, 0x14, 0x12, 0x7F, 0x10, - 0x27, 0x45, 0x45, 0x45, 0x39, - 0x3C, 0x4A, 0x49, 0x49, 0x31, - 0x41, 0x21, 0x11, 0x09, 0x07, - 0x36, 0x49, 0x49, 0x49, 0x36, - 0x46, 0x49, 0x49, 0x29, 0x1E, - 0x00, 0x00, 0x14, 0x00, 0x00, - 0x00, 0x40, 0x34, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, - 0x14, 0x14, 0x14, 0x14, 0x14, - 0x00, 0x41, 0x22, 0x14, 0x08, - 0x02, 0x01, 0x59, 0x09, 0x06, - 0x3E, 0x41, 0x5D, 0x59, 0x4E, - 0x7C, 0x12, 0x11, 0x12, 0x7C, - 0x7F, 0x49, 0x49, 0x49, 0x36, - 0x3E, 0x41, 0x41, 0x41, 0x22,//C - 0x7F, 0x41, 0x41, 0x41, 0x3E,//D - 0x7F, 0x49, 0x49, 0x49, 0x41,//E - 0x7F, 0x09, 0x09, 0x09, 0x01,//F - 0x3E, 0x41, 0x41, 0x51, 0x73, - 0x7F, 0x08, 0x08, 0x08, 0x7F, - 0x00, 0x41, 0x7F, 0x41, 0x00, - 0x20, 0x40, 0x41, 0x3F, 0x01, - 0x7F, 0x08, 0x14, 0x22, 0x41, - 0x7F, 0x40, 0x40, 0x40, 0x40, - 0x7F, 0x02, 0x1C, 0x02, 0x7F, - 0x7F, 0x04, 0x08, 0x10, 0x7F, - 0x3E, 0x41, 0x41, 0x41, 0x3E, - 0x7F, 0x09, 0x09, 0x09, 0x06, - 0x3E, 0x41, 0x51, 0x21, 0x5E, - 0x7F, 0x09, 0x19, 0x29, 0x46, - 0x26, 0x49, 0x49, 0x49, 0x32, - 0x03, 0x01, 0x7F, 0x01, 0x03, - 0x3F, 0x40, 0x40, 0x40, 0x3F, - 0x1F, 0x20, 0x40, 0x20, 0x1F, - 0x3F, 0x40, 0x38, 0x40, 0x3F, - 0x63, 0x14, 0x08, 0x14, 0x63, - 0x03, 0x04, 0x78, 0x04, 0x03, - 0x61, 0x59, 0x49, 0x4D, 0x43, - 0x00, 0x7F, 0x41, 0x41, 0x41, - 0x02, 0x04, 0x08, 0x10, 0x20, - 0x00, 0x41, 0x41, 0x41, 0x7F, - 0x04, 0x02, 0x01, 0x02, 0x04, - 0x40, 0x40, 0x40, 0x40, 0x40, - 0x00, 0x03, 0x07, 0x08, 0x00, - 0x20, 0x54, 0x54, 0x78, 0x40, - 0x7F, 0x28, 0x44, 0x44, 0x38, - 0x38, 0x44, 0x44, 0x44, 0x28, - 0x38, 0x44, 0x44, 0x28, 0x7F, - 0x38, 0x54, 0x54, 0x54, 0x18, - 0x00, 0x08, 0x7E, 0x09, 0x02, - 0x18, 0xA4, 0xA4, 0x9C, 0x78, - 0x7F, 0x08, 0x04, 0x04, 0x78, - 0x00, 0x44, 0x7D, 0x40, 0x00, - 0x20, 0x40, 0x40, 0x3D, 0x00, - 0x7F, 0x10, 0x28, 0x44, 0x00, - 0x00, 0x41, 0x7F, 0x40, 0x00, - 0x7C, 0x04, 0x78, 0x04, 0x78, - 0x7C, 0x08, 0x04, 0x04, 0x78, - 0x38, 0x44, 0x44, 0x44, 0x38, - 0xFC, 0x18, 0x24, 0x24, 0x18, - 0x18, 0x24, 0x24, 0x18, 0xFC, - 0x7C, 0x08, 0x04, 0x04, 0x08, - 0x48, 0x54, 0x54, 0x54, 0x24, - 0x04, 0x04, 0x3F, 0x44, 0x24, - 0x3C, 0x40, 0x40, 0x20, 0x7C, - 0x1C, 0x20, 0x40, 0x20, 0x1C, - 0x3C, 0x40, 0x30, 0x40, 0x3C, - 0x44, 0x28, 0x10, 0x28, 0x44, - 0x4C, 0x90, 0x90, 0x90, 0x7C, - 0x44, 0x64, 0x54, 0x4C, 0x44, - 0x00, 0x08, 0x36, 0x41, 0x00, - 0x00, 0x00, 0x77, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, - 0x02, 0x01, 0x02, 0x04, 0x02, - 0x3C, 0x26, 0x23, 0x26, 0x3C, - 0x1E, 0xA1, 0xA1, 0x61, 0x12, - 0x3A, 0x40, 0x40, 0x20, 0x7A, - 0x38, 0x54, 0x54, 0x55, 0x59, - 0x21, 0x55, 0x55, 0x79, 0x41, - 0x22, 0x54, 0x54, 0x78, 0x42, // a-umlaut - 0x21, 0x55, 0x54, 0x78, 0x40, - 0x20, 0x54, 0x55, 0x79, 0x40, - 0x0C, 0x1E, 0x52, 0x72, 0x12, - 0x39, 0x55, 0x55, 0x55, 0x59, - 0x39, 0x54, 0x54, 0x54, 0x59, - 0x39, 0x55, 0x54, 0x54, 0x58, - 0x00, 0x00, 0x45, 0x7C, 0x41, - 0x00, 0x02, 0x45, 0x7D, 0x42, - 0x00, 0x01, 0x45, 0x7C, 0x40, - 0x7D, 0x12, 0x11, 0x12, 0x7D, // A-umlaut - 0xF0, 0x28, 0x25, 0x28, 0xF0, - 0x7C, 0x54, 0x55, 0x45, 0x00, - 0x20, 0x54, 0x54, 0x7C, 0x54, - 0x7C, 0x0A, 0x09, 0x7F, 0x49, - 0x32, 0x49, 0x49, 0x49, 0x32, - 0x3A, 0x44, 0x44, 0x44, 0x3A, // o-umlaut - 0x32, 0x4A, 0x48, 0x48, 0x30, - 0x3A, 0x41, 0x41, 0x21, 0x7A, - 0x3A, 0x42, 0x40, 0x20, 0x78, - 0x00, 0x9D, 0xA0, 0xA0, 0x7D, - 0x3D, 0x42, 0x42, 0x42, 0x3D, // O-umlaut - 0x3D, 0x40, 0x40, 0x40, 0x3D, - 0x3C, 0x24, 0xFF, 0x24, 0x24, - 0x48, 0x7E, 0x49, 0x43, 0x66, - 0x2B, 0x2F, 0xFC, 0x2F, 0x2B, - 0xFF, 0x09, 0x29, 0xF6, 0x20, - 0xC0, 0x88, 0x7E, 0x09, 0x03, - 0x20, 0x54, 0x54, 0x79, 0x41, - 0x00, 0x00, 0x44, 0x7D, 0x41, - 0x30, 0x48, 0x48, 0x4A, 0x32, - 0x38, 0x40, 0x40, 0x22, 0x7A, - 0x00, 0x7A, 0x0A, 0x0A, 0x72, - 0x7D, 0x0D, 0x19, 0x31, 0x7D, - 0x26, 0x29, 0x29, 0x2F, 0x28, - 0x26, 0x29, 0x29, 0x29, 0x26, - 0x30, 0x48, 0x4D, 0x40, 0x20, - 0x38, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x38, - 0x2F, 0x10, 0xC8, 0xAC, 0xBA, - 0x2F, 0x10, 0x28, 0x34, 0xFA, - 0x00, 0x00, 0x7B, 0x00, 0x00, - 0x08, 0x14, 0x2A, 0x14, 0x22, - 0x22, 0x14, 0x2A, 0x14, 0x08, - 0x55, 0x00, 0x55, 0x00, 0x55, // #176 (25% block) missing in old code - 0xAA, 0x55, 0xAA, 0x55, 0xAA, // 50% block - 0xFF, 0x55, 0xFF, 0x55, 0xFF, // 75% block - 0x00, 0x00, 0x00, 0xFF, 0x00, - 0x10, 0x10, 0x10, 0xFF, 0x00, - 0x14, 0x14, 0x14, 0xFF, 0x00, - 0x10, 0x10, 0xFF, 0x00, 0xFF, - 0x10, 0x10, 0xF0, 0x10, 0xF0, - 0x14, 0x14, 0x14, 0xFC, 0x00, - 0x14, 0x14, 0xF7, 0x00, 0xFF, - 0x00, 0x00, 0xFF, 0x00, 0xFF, - 0x14, 0x14, 0xF4, 0x04, 0xFC, - 0x14, 0x14, 0x17, 0x10, 0x1F, - 0x10, 0x10, 0x1F, 0x10, 0x1F, - 0x14, 0x14, 0x14, 0x1F, 0x00, - 0x10, 0x10, 0x10, 0xF0, 0x00, - 0x00, 0x00, 0x00, 0x1F, 0x10, - 0x10, 0x10, 0x10, 0x1F, 0x10, - 0x10, 0x10, 0x10, 0xF0, 0x10, - 0x00, 0x00, 0x00, 0xFF, 0x10, - 0x10, 0x10, 0x10, 0x10, 0x10, - 0x10, 0x10, 0x10, 0xFF, 0x10, - 0x00, 0x00, 0x00, 0xFF, 0x14, - 0x00, 0x00, 0xFF, 0x00, 0xFF, - 0x00, 0x00, 0x1F, 0x10, 0x17, - 0x00, 0x00, 0xFC, 0x04, 0xF4, - 0x14, 0x14, 0x17, 0x10, 0x17, - 0x14, 0x14, 0xF4, 0x04, 0xF4, - 0x00, 0x00, 0xFF, 0x00, 0xF7, - 0x14, 0x14, 0x14, 0x14, 0x14, - 0x14, 0x14, 0xF7, 0x00, 0xF7, - 0x14, 0x14, 0x14, 0x17, 0x14, - 0x10, 0x10, 0x1F, 0x10, 0x1F, - 0x14, 0x14, 0x14, 0xF4, 0x14, - 0x10, 0x10, 0xF0, 0x10, 0xF0, - 0x00, 0x00, 0x1F, 0x10, 0x1F, - 0x00, 0x00, 0x00, 0x1F, 0x14, - 0x00, 0x00, 0x00, 0xFC, 0x14, - 0x00, 0x00, 0xF0, 0x10, 0xF0, - 0x10, 0x10, 0xFF, 0x10, 0xFF, - 0x14, 0x14, 0x14, 0xFF, 0x14, - 0x10, 0x10, 0x10, 0x1F, 0x00, - 0x00, 0x00, 0x00, 0xF0, 0x10, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x38, 0x44, 0x44, 0x38, 0x44, - 0xFC, 0x4A, 0x4A, 0x4A, 0x34, // sharp-s or beta - 0x7E, 0x02, 0x02, 0x06, 0x06, - 0x02, 0x7E, 0x02, 0x7E, 0x02, - 0x63, 0x55, 0x49, 0x41, 0x63, - 0x38, 0x44, 0x44, 0x3C, 0x04, - 0x40, 0x7E, 0x20, 0x1E, 0x20, - 0x06, 0x02, 0x7E, 0x02, 0x02, - 0x99, 0xA5, 0xE7, 0xA5, 0x99, - 0x1C, 0x2A, 0x49, 0x2A, 0x1C, - 0x4C, 0x72, 0x01, 0x72, 0x4C, - 0x30, 0x4A, 0x4D, 0x4D, 0x30, - 0x30, 0x48, 0x78, 0x48, 0x30, - 0xBC, 0x62, 0x5A, 0x46, 0x3D, - 0x3E, 0x49, 0x49, 0x49, 0x00, - 0x7E, 0x01, 0x01, 0x01, 0x7E, - 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, - 0x44, 0x44, 0x5F, 0x44, 0x44, - 0x40, 0x51, 0x4A, 0x44, 0x40, - 0x40, 0x44, 0x4A, 0x51, 0x40, - 0x00, 0x00, 0xFF, 0x01, 0x03, - 0xE0, 0x80, 0xFF, 0x00, 0x00, - 0x08, 0x08, 0x6B, 0x6B, 0x08, - 0x36, 0x12, 0x36, 0x24, 0x36, - 0x06, 0x0F, 0x09, 0x0F, 0x06, - 0x00, 0x00, 0x18, 0x18, 0x00, - 0x00, 0x00, 0x10, 0x10, 0x00, - 0x30, 0x40, 0xFF, 0x01, 0x01, - 0x00, 0x1F, 0x01, 0x01, 0x1E, - 0x00, 0x19, 0x1D, 0x17, 0x12, - 0x00, 0x3C, 0x3C, 0x3C, 0x3C, - 0x00, 0x00, 0x00, 0x00, 0x00 // #255 NBSP -}; - -/**************************************************************** - * Function Name : clearDisplay - * Description : Clear the display memory buffer - * Returns : NONE. - * Params : NONE. - ****************************************************************/ -void clearDisplay() -{ - memset(screen, 0x00, DISPLAY_BUFF_SIZE); -} - -/**************************************************************** - * Function Name : display_Init_seq - * Description : Performs SSD1306 OLED Initialization Sequence - * Returns : NONE. - * Params : NONE. - ****************************************************************/ -void display_Init_seq() -{ - /* Add the reset code, If needed */ - - /* Send display OFF command */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_DISPLAY_OFF) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display OFF Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display OFF Command Failed\r\n"); -#endif - exit(1); - } - - /* Set display clock frequency */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_DISP_CLK) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display CLK Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display CLK Command Failed\r\n"); -#endif - exit(1); - } - - /* Send display CLK command parameter */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_DISPCLK_DIV) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display CLK Command Parameter Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display CLK Command Parameter Failed\r\n"); -#endif - exit(1); - } - - /* Set display multiplex */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_MULTIPLEX) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display MULT Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display MULT Command Failed\r\n"); -#endif - exit(1); - } - - /* Send display MULT command parameter */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_MULT_DAT) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display MULT Command Parameter Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display MULT Command Parameter Failed\r\n"); -#endif - exit(1); - } - - /* Set display OFFSET */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_DISP_OFFSET) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display OFFSET Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display OFFSET Command Failed\r\n"); -#endif - exit(1); - } - - /* Send display OFFSET command parameter */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_DISP_OFFSET_VAL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display OFFSET Command Parameter Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display OFFSET Command Parameter Failed\r\n"); -#endif - exit(1); - } - - /* Set display START LINE - Check this command if something weird happens */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_DISP_START_LINE) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display START LINE Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display START LINE Command Failed\r\n"); -#endif - exit(1); - } - - /* Enable CHARGEPUMP*/ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_CONFIG_CHARGE_PUMP) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display CHARGEPUMP Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display CHARGEPUMP Command Failed\r\n"); -#endif - exit(1); - } - - /* Send display CHARGEPUMP command parameter */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_CHARGE_PUMP_EN) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display CHARGEPUMP Command Parameter Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display CHARGEPUMP Command Parameter Failed\r\n"); -#endif - exit(1); - } - - /* Set display MEMORYMODE */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_MEM_ADDR_MODE) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display MEMORYMODE Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display MEMORYMODE Command Failed\r\n"); -#endif - exit(1); - } - - /* Send display HORIZONTAL MEMORY ADDR MODE command parameter */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_HOR_MM) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display HORIZONTAL MEMORY ADDR MODE Command Parameter Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display HORIZONTAL MEMORY ADDR MODE Command Parameter Failed\r\n"); -#endif - exit(1); - } - - /* Set display SEG_REMAP */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SEG_REMAP) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display SEG_REMAP Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display SEG_REMAP Command Failed\r\n"); -#endif - exit(1); - } - - /* Set display DIR */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_COMSCANDEC) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display DIR Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display DIR Command Failed\r\n"); -#endif - exit(1); - } - - /* Set display COM */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_COMPINS) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display COM Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display COM Command Failed\r\n"); -#endif - exit(1); - } - - /* Send display COM command parameter */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_CONFIG_COM_PINS) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display COM Command Parameter Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display COM Command Parameter Failed\r\n"); -#endif - exit(1); - } - - /* Set display CONTRAST */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_CONTRAST) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display CONTRAST Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display CONTRAST Command Failed\r\n"); -#endif - exit(1); - } - - /* Send display CONTRAST command parameter */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_CONTRAST_VAL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display CONTRAST Command Parameter Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display CONTRAST Command Parameter Failed\r\n"); -#endif - exit(1); - } - - /* Set display PRECHARGE */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_PRECHARGE) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display PRECHARGE Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display PRECHARGE Command Failed\r\n"); -#endif - exit(1); - } - - /* Send display PRECHARGE command parameter */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_PRECHARGE_VAL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display PRECHARGE Command Parameter Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display PRECHARGE Command Parameter Failed\r\n"); -#endif - exit(1); - } - - /* Set display VCOMH */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_VCOMDETECT) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display VCOMH Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display VCOMH Command Failed\r\n"); -#endif - exit(1); - } - - /* Send display VCOMH command parameter */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_VCOMH_VAL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display VCOMH Command Parameter Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display VCOMH Command Parameter Failed\r\n"); -#endif - exit(1); - } - - /* Set display ALL-ON */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_DISPLAYALLON_RESUME) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display ALL-ON Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display ALL-ON Command Failed\r\n"); -#endif - exit(1); - } - - /* Set display to NORMAL-DISPLAY */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_NORMAL_DISPLAY) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display NORMAL-DISPLAY Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display NORMAL-DISPLAY Command Failed\r\n"); -#endif - exit(1); - } - - /* Set display to DEACTIVATE_SCROLL */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_DEACTIVATE_SCROLL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display DEACTIVATE_SCROLL Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display DEACTIVATE_SCROLL Command Failed\r\n"); -#endif - exit(1); - } - - /* Set display to TURN-ON */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_DISPLAYON) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display TURN-ON Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display TURN-ON Command Failed\r\n"); -#endif - exit(1); - } -} - -/**************************************************************** - * Function Name : transfer - * Description : Transfer the frame buffer onto the display - * Returns : NONE. - * Params : NONE. - ****************************************************************/ -void transfer() -{ - short loop_1 = 0, loop_2 = 0; - short index = 0x00; - for (loop_1 = 0; loop_1 < 1024; loop_1++) - { - chunk[0] = 0x40; - for(loop_2 = 1; loop_2 < 17; loop_2++) - chunk[loop_2] = screen[index++]; - if(i2c_multiple_writes(I2C_DEV_2.fd_i2c, 17, chunk) == 17) - { -#ifdef SSD1306_DBG - printf("Chunk written to RAM - Completed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Chunk written to RAM - Failed\r\n"); -#endif - exit(1); - } - - memset(chunk,0x00,17); - if(index == 1024) - break; - } -} - - -/**************************************************************** - * Function Name : Display - * Description : 1. Resets the column and page addresses. - * 2. Displays the contents of the memory buffer. - * Returns : NONE. - * Params : NONE. - * Note : Each new form can be preceded by a clearDisplay. - ****************************************************************/ -void Display() -{ - Init_Col_PG_addrs(SSD1306_COL_START_ADDR,SSD1306_COL_END_ADDR, - SSD1306_PG_START_ADDR,SSD1306_PG_END_ADDR); - transfer(); -} - -/**************************************************************** - * Function Name : Init_Col_PG_addrs - * Description : Sets the column and page, start and - * end addresses. - * Returns : NONE. - * Params : @col_start_addr: Column start address - * @col_end_addr: Column end address - * @pg_start_addr: Page start address - * @pg_end_addr: Page end address - ****************************************************************/ -void Init_Col_PG_addrs(unsigned char col_start_addr, unsigned char col_end_addr, - unsigned char pg_start_addr, unsigned char pg_end_addr) -{ - /* Send COLMN address setting command */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_COL_ADDR) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display COLMN Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display COLMN Command Failed\r\n"); -#endif - exit(1); - } - - /* Set COLMN start address */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, col_start_addr) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display COLMN Start Address param Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display COLMN Start Address param Failed\r\n"); -#endif - exit(1); - } - - /* Set COLMN end address */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, col_end_addr) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display COLMN End Address param Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display COLMN End Address param Failed\r\n"); -#endif - exit(1); - } - - /* Send PAGE address setting command */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_PAGEADDR) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display PAGE Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display PAGE Command Failed\r\n"); -#endif - exit(1); - } - - /* Set PAGE start address */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, pg_start_addr) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display PAGE Start Address param Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display PAGE Start Address param Failed\r\n"); -#endif - exit(1); - } - - /* Set PAGE end address */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, pg_end_addr) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display PAGE End Address param Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display PAGE End Address param Failed\r\n"); -#endif - exit(1); - } -} - -/**************************************************************** - * Function Name : setRotation - * Description : Set the display rotation - * Returns : NONE. - * Params : @x: Display rotation parameter - ****************************************************************/ -void setRotation(unsigned char x) -{ - _rotation = x & 3; - switch(_rotation) - { - case 0: - case 2: - _width = SSD1306_LCDWIDTH; - _height = SSD1306_LCDHEIGHT; - break; - case 1: - case 3: - _width = SSD1306_LCDHEIGHT; - _height = SSD1306_LCDWIDTH; - break; - } -} - -/**************************************************************** - * Function Name : startscrollright - * Description : Activate a right handed scroll for rows start - * through stop - * Returns : NONE. - * Params : @start: Start location - * @stop: Stop location - * HINT. : the display is 16 rows tall. To scroll the whole - * display, run: display.scrollright(0x00, 0x0F) - ****************************************************************/ -void startscrollright(unsigned char start, unsigned char stop) -{ - /* Send SCROLL horizontal right command */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_RIGHT_HORIZONTAL_SCROLL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display HORIZONTAL SCROLL RIGHT Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display HORIZONTAL SCROLL RIGHT Command Failed\r\n"); -#endif - exit(1); - } - - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_1 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_1 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, start) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_2 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_2 Passed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_3 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_3 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, stop) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_4 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_4 Passed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_5 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_5 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0xFF) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_6 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_6 Passed\r\n"); -#endif - exit(1); - } - /* Send SCROLL Activate command */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_ACTIVATE_SCROLL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("SCROLL Activate Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("SCROLL Activate Command Failed\r\n"); -#endif - exit(1); - } -} - -/**************************************************************** - * Function Name : startscrollleft - * Description : Activate a left handed scroll for rows start - * through stop - * Returns : NONE. - * Params : @start: Start location - * @stop: Stop location - * HINT. : the display is 16 rows tall. To scroll the whole - * display, run: display.scrollright(0x00, 0x0F) - ****************************************************************/ -void startscrollleft(unsigned char start, unsigned char stop) -{ - /* Send SCROLL horizontal left command */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_LEFT_HORIZONTAL_SCROLL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display HORIZONTAL SCROLL LEFT Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display HORIZONTAL SCROLL LEFT Command Failed\r\n"); -#endif - exit(1); - } - - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_1 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_1 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, start) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_2 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_2 Passed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_3 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_3 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, stop) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_4 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_4 Passed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_5 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_5 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0xFF) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_6 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("HORI_SR Param_6 Passed\r\n"); -#endif - exit(1); - } - /* Send SCROLL Activate command */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_ACTIVATE_SCROLL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("SCROLL Activate Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("SCROLL Activate Command Failed\r\n"); -#endif - exit(1); - } -} - -/**************************************************************** - * Function Name : startscrolldiagright - * Description : Activate a diagonal scroll for rows start - * through stop - * Returns : NONE. - * Params : @start: Start location - * @stop: Stop location - * HINT. : the display is 16 rows tall. To scroll the whole - * display, run: display.scrollright(0x00, 0x0F) - ****************************************************************/ -void startscrolldiagright(unsigned char start, unsigned char stop) -{ - /* Send SCROLL diagonal right command */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_VERTICAL_SCROLL_AREA) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display DIAGONAL SCROLL RIGHT Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display DIAGONAL SCROLL RIGHT Command Failed\r\n"); -#endif - exit(1); - } - - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_1 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_1 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_LCDHEIGHT) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_2 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_2 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Cmd Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Cmd Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_3 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_3 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, start) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_4 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_4 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_5 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_5 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, stop) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_6 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_6 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x01) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_5 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_5 Failed\r\n"); -#endif - exit(1); - } - - /* Send SCROLL Activate command */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_ACTIVATE_SCROLL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("SCROLL Activate Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("SCROLL Activate Command Failed\r\n"); -#endif - exit(1); - } -} - -/**************************************************************** - * Function Name : startscrolldiagleft - * Description : Activate a diagonal scroll for rows start - * through stop - * Returns : NONE. - * Params : @start: Start location - * @stop: Stop location - * HINT. : the display is 16 rows tall. To scroll the whole - * display, run: display.scrollright(0x00, 0x0F) - ****************************************************************/ -void startscrolldiagleft(unsigned char start, unsigned char stop) -{ - /* Send SCROLL diagonal right command */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_SET_VERTICAL_SCROLL_AREA) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Display DIAGONAL SCROLL RIGHT Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Display DIAGONAL SCROLL RIGHT Command Failed\r\n"); -#endif - exit(1); - } - - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_1 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_1 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_LCDHEIGHT) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_2 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_2 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("Cmd Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("Cmd Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_3 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_3 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, start) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_4 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_4 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x00) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_5 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_5 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, stop) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_6 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_6 Failed\r\n"); -#endif - exit(1); - } - - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, 0x01) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_5 Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("DIAG_SR Param_5 Failed\r\n"); -#endif - exit(1); - } - - /* Send SCROLL Activate command */ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_ACTIVATE_SCROLL) == I2C_TWO_BYTES) - { -#ifdef SSD1306_DBG - printf("SCROLL Activate Command Passed\r\n"); -#endif - } - else - { -#ifdef SSD1306_DBG - printf("SCROLL Activate Command Failed\r\n"); -#endif - exit(1); - } -} - -/**************************************************************** - * Function Name : stopscroll - * Description : Stop scrolling - * Returns : NONE. - * Params : NONE. - ****************************************************************/ -void stopscroll() -{ - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_DEACTIVATE_SCROLL) == I2C_TWO_BYTES) - { - printf("De-activate SCROLL Command Passed\r\n"); - } - else - { - printf("De-activate SCROLL Command Passed Failed\r\n"); - exit(1); - } -} - -/**************************************************************** - * Function Name : invertDisplay - * Description : Invert or Normalize the display - * Returns : NONE. - * Params : @i: 0x00 to Normal and 0x01 for Inverting - ****************************************************************/ -void invertDisplay(unsigned char i) -{ - if (i) - { - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_INVERTDISPLAY) == I2C_TWO_BYTES) - { - printf("Display Inverted - Passed\r\n"); - } - else - { - printf("Display Inverted - Failed\r\n"); - exit(1); - } - } - else - { - if(i2c_write_register(I2C_DEV_2.fd_i2c, SSD1306_CNTRL_CMD, SSD1306_NORMAL_DISPLAY) == I2C_TWO_BYTES) - { - printf("Display Normal - Passed\r\n"); - } - else - { - printf("Display Normal - Failed\r\n"); - exit(1); - } - } -} - -/**************************************************************** - * Function Name : drawPixel - * Description : Draw a pixel - * Returns : -1 on error and 0 on success - * Params : @x: X - Co-ordinate - * @y: Y - Co-ordinate - * @color: Color - ****************************************************************/ -signed char drawPixel(short x, short y, short color) -{ - /* Return if co-ordinates are out of display dimension's range */ - if ((x < 0) || (x >= _width) || (y < 0) || (y >= _height)) - return -1; - switch(_rotation) - { - case 1: - SWAP(x,y); - x = _width - x - 1; - break; - case 2: - x = _width - x - 1; - y = _height - y - 1; - break; - case 3: - SWAP(x,y); - y = _height - y - 1; - break; - } - - /* x is the column */ - switch(color) - { - case WHITE: screen[x+ (y/8)*SSD1306_LCDWIDTH] |= (1 << (y&7)); break; - case BLACK: screen[x+ (y/8)*SSD1306_LCDWIDTH] &= ~(1 << (y&7)); break; - case INVERSE: screen[x+ (y/8)*SSD1306_LCDWIDTH] ^= (1 << (y&7)); break; - } - return 0; -} - -/**************************************************************** - * Function Name : writeLine - * Description : Bresenham's algorithm - * Returns : NONE - * Params : @x0: X0 Co-ordinate - * @y0: Y0 Co-ordinate - * @x1: X1 Co-ordinate - * @y1: Y1 Co-ordinate - * @color: Pixel color - ****************************************************************/ -void writeLine(short x0, short y0, short x1, short y1, short color) -{ - short steep = 0, dx = 0, dy = 0, err = 0, ystep = 0; - steep = abs(y1 - y0) > abs(x1 - x0); - if (steep) - { - SWAP(x0, y0); - SWAP(x1, y1); - } - - if (x0 > x1) - { - SWAP(x0, x1); - SWAP(y0, y1); - } - dx = x1 - x0; - dy = abs(y1 - y0); - - err = dx / 2; - - if (y0 < y1) - { - ystep = 1; - } else - { - ystep = -1; - } - - for (; x0<=x1; x0++) - { - if (steep) - { - drawPixel(y0, x0, color); - } else - { - drawPixel(x0, y0, color); - } - err -= dy; - if (err < 0) - { - y0 += ystep; - err += dx; - } - } -} - -/* (x,y) is topmost point; if unsure, calling function -should sort endpoints or call writeLine() instead */ -void drawFastVLine(short x, short y,short h, short color) -{ - //startWrite(); - writeLine(x, y, x, y+h-1, color); - //endWrite(); -} - -/* (x,y) is topmost point; if unsure, calling function -should sort endpoints or call writeLine() instead */ -void writeFastVLine(short x, short y, short h, short color) -{ - drawFastVLine(x, y, h, color); -} - -/* (x,y) is leftmost point; if unsure, calling function - should sort endpoints or call writeLine() instead */ -void drawFastHLine(short x, short y,short w, short color) -{ - //startWrite(); - writeLine(x, y, x+w-1, y, color); - //endWrite(); -} - -// (x,y) is leftmost point; if unsure, calling function -// should sort endpoints or call writeLine() instead -void writeFastHLine(short x, short y, short w, short color) -{ - drawFastHLine(x, y, w, color); -} - -/**************************************************************** - * Function Name : drawCircleHelper - * Description : Draw a.... - * Returns : NONE - * Params : @x: X Co-ordinate - * @y: Y Co-ordinate - * @w: Width - * @h: height - * @r: Corner radius - * @color: Pixel color - ****************************************************************/ -void drawCircleHelper( short x0, short y0, short r, unsigned char cornername, short color) -{ - short f = 1 - r; - short ddF_x = 1; - short ddF_y = -2 * r; - short x = 0; - short y = r; - - while (x= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - if (cornername & 0x4) - { - drawPixel(x0 + x, y0 + y, color); - drawPixel(x0 + y, y0 + x, color); - } - if (cornername & 0x2) - { - drawPixel(x0 + x, y0 - y, color); - drawPixel(x0 + y, y0 - x, color); - } - if (cornername & 0x8) - { - drawPixel(x0 - y, y0 + x, color); - drawPixel(x0 - x, y0 + y, color); - } - if (cornername & 0x1) - { - drawPixel(x0 - y, y0 - x, color); - drawPixel(x0 - x, y0 - y, color); - } - } -} - -/**************************************************************** - * Function Name : drawLine - * Description : Draw line between two points - * Returns : NONE - * Params : @x0: X0 Starting X Co-ordinate - * @y0: Y0 Starting Y Co-ordinate - * @x1: X1 Ending X Co-ordinate - * @y1: Y1 Ending Y Co-ordinate - * @color: Pixel color - ****************************************************************/ -void drawLine(short x0, short y0, short x1, short y1, short color) -{ - if(x0 == x1) - { - if(y0 > y1) - SWAP(y0, y1); - drawFastVLine(x0, y0, y1 - y0 + 1, color); - } - else if(y0 == y1) - { - if(x0 > x1) SWAP(x0, x1); - drawFastHLine(x0, y0, x1 - x0 + 1, color); - } - else - { - //startWrite(); - writeLine(x0, y0, x1, y1, color); - //endWrite(); - } -} - -/**************************************************************** - * Function Name : drawRect - * Description : Draw a rectangle - * Returns : NONE - * Params : @x: Corner X Co-ordinate - * @y: Corner Y Co-ordinate - * @w: Width in pixels - * @h: Height in pixels - * @color: Pixel color - ****************************************************************/ -void drawRect(short x, short y, short w, short h, short color) -{ - //startWrite(); - writeFastHLine(x, y, w, color); - writeFastHLine(x, y+h-1, w, color); - writeFastVLine(x, y, h, color); - writeFastVLine(x+w-1, y, h, color); - //endWrite(); -} - -/**************************************************************** - * Function Name : fillRect - * Description : Fill the rectangle - * Returns : NONE - * Params : @x: Starting X Co-ordinate - * @y: Starting Y Co-ordinate - * @w: Width in pixels - * @h: Height in pixels - * @color: Pixel color - ****************************************************************/ -void fillRect(short x, short y, short w, short h, short color) -{ - short i = 0; - //startWrite(); - for (i=x; i= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - drawPixel(x0 + x, y0 + y, color); - drawPixel(x0 - x, y0 + y, color); - drawPixel(x0 + x, y0 - y, color); - drawPixel(x0 - x, y0 - y, color); - drawPixel(x0 + y, y0 + x, color); - drawPixel(x0 - y, y0 + x, color); - drawPixel(x0 + y, y0 - x, color); - drawPixel(x0 - y, y0 - x, color); - } - //endWrite(); -} - -/**************************************************************** - * Function Name : fillCircleHelper - * Description : Used to do circles and roundrects - * Returns : NONE - * Params : @x: Center X Co-ordinate - * @y: Center Y Co-ordinate - * @r: Radius in pixels - * @cornername: Corner radius in pixels - * @color: Pixel color - ****************************************************************/ -void fillCircleHelper(short x0, short y0, short r, unsigned char cornername, short delta, short color) -{ - - short f = 1 - r; - short ddF_x = 1; - short ddF_y = -2 * r; - short x = 0; - short y = r; - - while (x= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - if (cornername & 0x1) - { - writeFastVLine(x0+x, y0-y, 2*y+1+delta, color); - writeFastVLine(x0+y, y0-x, 2*x+1+delta, color); - } - if (cornername & 0x2) - { - writeFastVLine(x0-x, y0-y, 2*y+1+delta, color); - writeFastVLine(x0-y, y0-x, 2*x+1+delta, color); - } - } -} - -/**************************************************************** - * Function Name : fillCircle - * Description : Fill the circle - * Returns : NONE - * Params : @x0: Center X Co-ordinate - * @y0: Center Y Co-ordinate - * @r: Radius in pixels - * @color: Pixel color - ****************************************************************/ -void fillCircle(short x0, short y0, short r, short color) -{ - //startWrite(); - writeFastVLine(x0, y0-r, 2*r+1, color); - fillCircleHelper(x0, y0, r, 3, 0, color); - //endWrite(); -} - -/**************************************************************** - * Function Name : drawTriangle - * Description : Draw a triangle - * Returns : NONE - * Params : @x0: Corner-1 X Co-ordinate - * @y0: Corner-1 Y Co-ordinate - * @x1: Corner-2 X Co-ordinate - * @y1: Corner-2 Y Co-ordinate - * @x2: Corner-3 X Co-ordinate - * @y2: Corner-3 Y Co-ordinate - * @color: Pixel color - ****************************************************************/ -void drawTriangle(short x0, short y0, short x1, short y1, short x2, short y2, short color) -{ - drawLine(x0, y0, x1, y1, color); - drawLine(x1, y1, x2, y2, color); - drawLine(x2, y2, x0, y0, color); -} - -/**************************************************************** - * Function Name : fillTriangle - * Description : Fill a triangle - * Returns : NONE - * Params : @x0: Corner-1 X Co-ordinate - * @y0: Corner-1 Y Co-ordinate - * @x1: Corner-2 X Co-ordinate - * @y1: Corner-2 Y Co-ordinate - * @x2: Corner-3 X Co-ordinate - * @y2: Corner-3 Y Co-ordinate - * @color: Pixel color - ****************************************************************/ -void fillTriangle(short x0, short y0, short x1, short y1, short x2, short y2, short color) -{ - short a, b, y, last, dx01, dy01, dx02, dy02, dx12, dy12; - int sa, sb; - - // Sort coordinates by Y order (y2 >= y1 >= y0) - if (y0 > y1) - { - SWAP(y0, y1); - SWAP(x0, x1); - } - if (y1 > y2) - { - SWAP(y2, y1); - SWAP(x2, x1); - } - if (y0 > y1) - { - SWAP(y0, y1); - SWAP(x0, x1); - } - - //startWrite(); - if(y0 == y2) - { // Handle awkward all-on-same-line case as its own thing - a = b = x0; - if(x1 < a) - a = x1; - else if(x1 > b) - b = x1; - if(x2 < a) - a = x2; - else if(x2 > b) - b = x2; - writeFastHLine(a, y0, b-a+1, color); - // endWrite(); - return; - } - - dx01 = x1 - x0; - dy01 = y1 - y0; - dx02 = x2 - x0; - dy02 = y2 - y0; - dx12 = x2 - x1; - dy12 = y2 - y1; - sa = 0; - sb = 0; - - // For upper part of triangle, find scanline crossings for segments - // 0-1 and 0-2. If y1=y2 (flat-bottomed triangle), the scanline y1 - // is included here (and second loop will be skipped, avoiding a /0 - // error there), otherwise scanline y1 is skipped here and handled - // in the second loop...which also avoids a /0 error here if y0=y1 - // (flat-topped triangle). - if(y1 == y2) - last = y1; // Include y1 scanline - else - last = y1-1; // Skip it - - for(y=y0; y<=last; y++) - { - a = x0 + sa / dy01; - b = x0 + sb / dy02; - sa += dx01; - sb += dx02; - /* longhand: - a = x0 + (x1 - x0) * (y - y0) / (y1 - y0); - b = x0 + (x2 - x0) * (y - y0) / (y2 - y0); - */ - if(a > b) - SWAP(a,b); - writeFastHLine(a, y, b-a+1, color); - } - - // For lower part of triangle, find scanline crossings for segments - // 0-2 and 1-2. This loop is skipped if y1=y2. - sa = dx12 * (y - y1); - sb = dx02 * (y - y0); - for(; y<=y2; y++) - { - a = x1 + sa / dy12; - b = x0 + sb / dy02; - sa += dx12; - sb += dx02; - /* longhand: - a = x1 + (x2 - x1) * (y - y1) / (y2 - y1); - b = x0 + (x2 - x0) * (y - y0) / (y2 - y0); - */ - if(a > b) - SWAP(a,b); - writeFastHLine(a, y, b-a+1, color); - } - //endWrite(); -} - -/**************************************************************** - * Function Name : drawRoundRect - * Description : Draw a rounded rectangle - * Returns : NONE - * Params : @x: X Co-ordinate - * @y: Y Co-ordinate - * @w: Width - * @h: height - * @r: Corner radius - * @color: Pixel color - ****************************************************************/ -void drawRoundRect(short x, short y, short w, short h, short r, short color) -{ - // smarter version - //startWrite(); - writeFastHLine(x+r , y , w-2*r, color); // Top - writeFastHLine(x+r , y+h-1, w-2*r, color); // Bottom - writeFastVLine(x , y+r , h-2*r, color); // Left - writeFastVLine(x+w-1, y+r , h-2*r, color); // Right - // draw four corners - drawCircleHelper(x+r , y+r , r, 1, color); - drawCircleHelper(x+w-r-1, y+r , r, 2, color); - drawCircleHelper(x+w-r-1, y+h-r-1, r, 4, color); - drawCircleHelper(x+r , y+h-r-1, r, 8, color); - //endWrite(); -} - -/**************************************************************** - * Function Name : fillRoundRect - * Description : Fill a rounded rectangle - * Returns : NONE - * Params : @x: X Co-ordinate - * @y: Y Co-ordinate - * @w: Width - * @h: height - * @r: Corner radius - * @color: Pixel color - ****************************************************************/ -void fillRoundRect(short x, short y, short w, short h, short r, short color) -{ - // smarter version - //startWrite(); - fillRect(x+r, y, w-2*r, h, color); - - // draw four corners - fillCircleHelper(x+w-r-1, y+r, r, 1, h-2*r-1, color); - fillCircleHelper(x+r , y+r, r, 2, h-2*r-1, color); - //endWrite(); -} - -/*---------------------------------------------------------------------------- - * BITMAP API's - ----------------------------------------------------------------------------*/ - -/**************************************************************** - * Function Name : drawBitmap - * Description : Draw a bitmap - * Returns : NONE - * Params : @x: X Co-ordinate - * @y: Y Co-ordinate - * @bitmap: bitmap to display - * @w: Width - * @h: height - * @color: Pixel color - ****************************************************************/ -void drawBitmap(short x, short y, const unsigned char bitmap[], short w, short h, short color) -{ - short byteWidth = 0, j = 0, i = 0; - unsigned char byte = 0; - byteWidth = (w + 7) / 8; // Bitmap scanline pad = whole byte - - for(j=0; j 0) ? s : 1; -} - -/**************************************************************** - * Function Name : setTextColor - * Description : Set text color - * Returns : @c - Color - ****************************************************************/ -void setTextColor(short c) -{ - // For 'transparent' background, we'll set the bg - // to the same as fg instead of using a flag - textcolor = textbgcolor = c; -} - -/**************************************************************** - * Function Name : setTextWrap - * Description : Wraps the text - * Returns : @w - enable or disbale wrap - ****************************************************************/ -void setTextWrap(bool w) -{ - wrap = w; -} - -/**************************************************************** - * Function Name : getRotation - * Description : Get the rotation value - * Returns : NONE. - ****************************************************************/ -unsigned char getRotation() -{ - return _rotation; -} - -/**************************************************************** - * Function Name : drawBitmap - * Description : Draw a character - * Returns : NONE - * Params : @x: X Co-ordinate - * @y: Y Co-ordinate - * @c: Character - * @size: Scaling factor - * @bg: Background color - * @color: Pixel color - ****************************************************************/ -void drawChar(short x, short y, unsigned char c, short color, short bg, unsigned char size) -{ - unsigned char line = 0, *bitmap = NULL, w = 0, h = 0, xx = 0, yy = 0, bits = 0, bit = 0; - char i = 0, j = 0, xo = 0, yo = 0; - short bo = 0, xo16 = 0, yo16 = 0; - GFXglyphPtr glyph; - if(!gfxFont) - { - // 'Classic' built-in font - if((x >= _width) || (y >= _height) || ((x + 6 * size - 1) < 0) || ((y + 8 * size - 1) < 0)) - return; - - // Handle 'classic' charset behavior - if(!_cp437 && (c >= 176)) - c++; - - // Char bitmap = 5 columns - for(i=0; i<5; i++ ) - { - line = pgm_read_byte(&ssd1306_font5x7[c * 5 + i]); - for(j=0; j<8; j++, line >>= 1) - { - if(line & 1) - { - if(size == 1) - drawPixel(x+i, y+j, color); - else - fillRect(x+i*size, y+j*size, size, size, color); - } - else if(bg != color) - { - if(size == 1) - drawPixel(x+i, y+j, bg); - else - fillRect(x+i*size, y+j*size, size, size, bg); - } - } - } - - // If opaque, draw vertical line for last column - if(bg != color) - { - if(size == 1) - writeFastVLine(x+5, y, 8, bg); - else - fillRect(x+5*size, y, size, 8*size, bg); - } - - } - // Custom font - else - { - // Character is assumed previously filtered by write() to eliminate - // newlines, returns, non-printable characters, etc. Calling - // drawChar() directly with 'bad' characters of font may cause mayhem! - - c -= (unsigned char)pgm_read_byte(&gfxFont->first); - glyph = &(((GFXglyphT *)pgm_read_pointer(&gfxFont->glyph))[c]); - bitmap = (unsigned char *)pgm_read_pointer(&gfxFont->bitmap); - bo = pgm_read_word(&glyph->bitmapOffset); - w = pgm_read_byte(&glyph->width); - h = pgm_read_byte(&glyph->height); - xo = pgm_read_byte(&glyph->xOffset); - yo = pgm_read_byte(&glyph->yOffset); - - if(size > 1) - { - xo16 = xo; - yo16 = yo; - } - - // Todo: Add character clipping here - - // NOTE: THERE IS NO 'BACKGROUND' COLOR OPTION ON CUSTOM FONTS. - // THIS IS ON PURPOSE AND BY DESIGN. The background color feature - // has typically been used with the 'classic' font to overwrite old - // screen contents with new data. This ONLY works because the - // characters are a uniform size; it's not a sensible thing to do with - // proportionally-spaced fonts with glyphs of varying sizes (and that - // may overlap). To replace previously-drawn text when using a custom - // font, use the getTextBounds() function to determine the smallest - // rectangle encompassing a string, erase the area with fillRect(), - // then draw new text. This WILL unfortunately 'blink' the text, but - // is unavoidable. Drawing 'background' pixels will NOT fix this, - // only creates a new set of problems. Have an idea to work around - // this (a canvas object type for MCUs that can afford the RAM and - // displays supporting setAddrWindow() and pushColors()), but haven't - // implemented this yet. - for(yy=0; yy _width)) - { - // Off right? - cursor_x = 0; // Reset x to zero, - cursor_y += textsize * 8; // advance y one line - } - drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize); - cursor_x += textsize * 6; // Advance x one char - } - - } - else - { - // Custom font - if(c == '\n') - { - cursor_x = 0; - cursor_y += (short)textsize *(unsigned char)pgm_read_byte(&gfxFont->yAdvance); - } - else if(c != '\r') - { - first = pgm_read_byte(&gfxFont->first); - if((c >= first) && (c <= (unsigned char)pgm_read_byte(&gfxFont->last))) - { - glyph = &(((GFXglyphT*)pgm_read_pointer(&gfxFont->glyph))[c - first]); - w = pgm_read_byte(&glyph->width); - h = pgm_read_byte(&glyph->height); - if((w > 0) && (h > 0)) - { - // Is there an associated bitmap? - xo = (char)pgm_read_byte(&glyph->xOffset); // sic - if(wrap && ((cursor_x + textsize * (xo + w)) > _width)) - { - cursor_x = 0; - cursor_y += (short)textsize *(unsigned char)pgm_read_byte(&gfxFont->yAdvance); - } - drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize); - } - cursor_x += (unsigned char)pgm_read_byte(&glyph->xAdvance) * (short)textsize; - } - } - } - return 1; -} - -/**************************************************************** - * Function Name : print - * Description : Base function for printing strings - * Returns : No. of characters printed - * Params : @buffer: Ptr to buffer containing the string - * @size: Length of the string. - ****************************************************************/ -short print(const unsigned char *buffer, short size) -{ - short n = 0; - while(size--) - { - if(oled_write(*buffer++)) - n++; - else - break; - } - return (n); -} - -/**************************************************************** - * Function Name : print_str - * Description : Print strings - * Returns : No. of characters printed - * Params : @strPtr: Ptr to buffer containing the string - ****************************************************************/ -short print_str(const unsigned char *strPtr) -{ - return print(strPtr, strlen(strPtr)); -} - -/**************************************************************** - * Function Name : println - * Description : Move to next line - * Returns : No. of characters printed - * Params : NONE. - ****************************************************************/ -short println() -{ - return print_str("\r\n"); -} - -/**************************************************************** - * Function Name : print_strln - * Description : Print strings and move to next line - * Returns : No. of characters printed - * Params : @strPtr: Ptr to buffer containing the string - ****************************************************************/ -short print_strln(const unsigned char *strPtr) -{ - short n = 0; - n = print(strPtr, strlen(strPtr)); - n += print_str("\r\n"); - return (n); -} - -/*---------------------------------------------------------------------------- - * NUMBERS HANDLING API's - ----------------------------------------------------------------------------*/ - -/**************************************************************** - * Function Name : printNumber - * Description : Base function to print unsigned numbers - * Returns : No. of characters printed - * Params : @n: Number - * @base: Base e.g. HEX, BIN... - ****************************************************************/ -short printNumber(unsigned long n, unsigned char base) -{ - unsigned long m = 0; - char c = 0; - char buf[8 * sizeof(long) + 1]; // Assumes 8-bit chars plus zero byte. - char *str = &buf[sizeof(buf) - 1]; - - *str = '\0'; - - // prevent crash if called with base == 1 - if(base < 2) - base = 10; - do - { - m = n; - n /= base; - c = m - base * n; - *--str = c < 10 ? c + '0' : c + 'A' - 10; - } - while(n); - //return oled_write((unsigned char)str); - return print_str(str); -} - -/**************************************************************** - * Function Name : printNumber_UL - * Description : Print unsigned long data types - * Returns : No. of characters printed - * Params : @n: Number - * @base: Base e.g. HEX, BIN... - ****************************************************************/ -short printNumber_UL(unsigned long n, int base) -{ - if(base == 0) - return oled_write(n); - else - return printNumber(n, base); -} - -/**************************************************************** - * Function Name : printNumber_UL_ln - * Description : Print unsigned long & advance to next line - * Returns : No. of characters printed - * Params : @n: Number - * @base: Base e.g. HEX, BIN... - ****************************************************************/ -short printNumber_UL_ln(unsigned long num, int base) -{ - short n = 0; - n = printNumber(num, base); - n += println(); - return (n); -} - -/**************************************************************** - * Function Name : printNumber_UI - * Description : Print unsigned int data types - * Returns : No. of characters printed - * Params : @n: Number - * @base: Base e.g. HEX, BIN... - ****************************************************************/ -short printNumber_UI(unsigned int n, int base) -{ - return printNumber((unsigned long) n, base); -} - -/**************************************************************** - * Function Name : printNumber_UI_ln - * Description : Print unsigned int & advance to next line - * Returns : No. of characters printed - * Params : @n: Number - * @base: Base e.g. HEX, BIN... - ****************************************************************/ -short printNumber_UI_ln(unsigned int n, int base) -{ - short a = 0; - a = printNumber((unsigned long) n, base); - a += println(); - return (a); -} - -/**************************************************************** - * Function Name : printNumber_UC - * Description : Print unsigned char data types - * Returns : No. of characters printed - * Params : @n: Number - * @base: Base e.g. HEX, BIN... - ****************************************************************/ -short printNumber_UC(unsigned char b, int base) -{ - return printNumber((unsigned long) b, base); -} - -/**************************************************************** - * Function Name : printNumber_UC_ln - * Description : Print unsigned char & advance to next line - * Returns : No. of characters printed - * Params : @n: Number - * @base: Base e.g. HEX, BIN... - ****************************************************************/ -short printNumber_UC_ln(unsigned char b, int base) -{ - short n = 0; - n = printNumber((unsigned long) b, base); - n += println(); - return (n); -} - -/**************************************************************** - * Function Name : printNumber_L - * Description : Print Long data types - * Returns : No. of characters printed - * Params : @n: Number - * @base: Base e.g. HEX, BIN... - ****************************************************************/ -short printNumber_L(long n, int base) -{ - int t = 0; - if(base == 0) - { - return oled_write(n); - } - else if(base == 10) - { - if(n < 0) - { - t = oled_write('-'); - n = -n; - return printNumber(n, 10) + t; - } - return printNumber(n, 10); - } - else - { - return printNumber(n, base); - } -} - -/**************************************************************** - * Function Name : printNumber_UC_ln - * Description : Print long & advance to next line - * Returns : No. of characters printed - * Params : @n: Number - * @base: Base e.g. HEX, BIN... - ****************************************************************/ -short printNumber_L_ln(long num, int base) -{ - short n = 0; - n = printNumber_L(num, base); - n += println(); - return n; -} - -/**************************************************************** - * Function Name : printNumber_I - * Description : Print int data types - * Returns : No. of characters printed - * Params : @n: Number - * @base: Base e.g. HEX, BIN... - ****************************************************************/ -short printNumber_I(int n, int base) -{ - return printNumber_L((long) n, base); -} - -/**************************************************************** - * Function Name : printNumber_I_ln - * Description : Print int & advance to next line - * Returns : No. of characters printed - * Params : @n: Number - * @base: Base e.g. HEX, BIN... - ****************************************************************/ -short printNumber_I_ln(int n, int base) -{ - short a = 0; - a = printNumber_L((long) n, base); - a += println(); - return a; -} - -/**************************************************************** - * Function Name : printFloat - * Description : Print floating Pt. No's. - * Returns : No. of characters printed - * Params : @n: Number - * @digits: Resolution - ****************************************************************/ -short printFloat(double number, unsigned char digits) -{ - unsigned char i = 0; - short n = 0; - unsigned long int_part = 0; - double remainder = 0.0; - int toPrint = 0; - - // Round correctly so that print(1.999, 2) prints as "2.00" - double rounding = 0.5; - - if(isnan(number)) - return print_str("nan"); - if(isinf(number)) - return print_str("inf"); - if(number > 4294967040.0) - return print_str("ovf"); // constant determined empirically - if(number < -4294967040.0) - return print_str("ovf"); // constant determined empirically - - // Handle negative numbers - if(number < 0.0) - { - n += oled_write('-'); - number = -number; - } - - - for(i = 0; i < digits; ++i) - rounding /= 10.0; - - number += rounding; - - // Extract the integer part of the number and print it - int_part = (unsigned long) number; - remainder = number - (double) int_part; - n += printNumber_UL(int_part,DEC); - - // Print the decimal point, but only if there are digits beyond - if(digits > 0) - { - n += print_str("."); - } - - // Extract digits from the remainder one at a time - while(digits-- > 0) - { - remainder *= 10.0; - toPrint = (int)remainder; - n += printNumber_I(toPrint,DEC); - remainder -= toPrint; - } - return n; -} - -/**************************************************************** - * Function Name : printFloat_ln - * Description : Print floating Pt. No and advance to next line - * Returns : No. of characters printed - * Params : @n: Number - * @digits: Resolution - ****************************************************************/ -short printFloat_ln(double num, int digits) -{ - short n = 0; - n = printFloat(num, digits); - n += println(); - return n; -} diff --git a/package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/SSD1306_OLED.h b/package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/SSD1306_OLED.h deleted file mode 100644 index 9becaf4a0b..0000000000 --- a/package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/SSD1306_OLED.h +++ /dev/null @@ -1,202 +0,0 @@ -/* - * MIT License - -Copyright (c) 2017 DeeplyEmbedded - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - * SSD1306_OLED.h - * - * Created on : Sep 21, 2017 - * Author : Vinay Divakar - * Website : www.deeplyembedded.org - */ - -#ifndef SSD1306_OLED_H_ -#define SSD1306_OLED_H_ - -/* Lib's */ -#include - -/* Find Min and Max - MACROS */ -#define MIN(a,b) (((a)<(b))?(a):(b)) -#define MAX(a,b) (((a)>(b))?(a):(b)) - -/* I2C Address of SSD1306 */ -#define SSD1306_OLED_ADDR 0x3C -#define DISPLAY_BUFF_SIZE (SSD1306_LCDWIDTH*SSD1306_LCDHEIGHT/8) - -/* COLOR MACROS */ -#define WHITE 1 -#define BLACK 0 -#define INVERSE 2 - -/* Number output format */ -#define DEC 10 -#define HEX 16 -#define OCT 8 -#define BIN 2 -#define DEFAULT 0 - -/*D/C# bit is '0' indicating that following - * byte is a command. '1' is for data - */ -#define SSD1306_CNTRL_CMD 0x00 -#define SSD1306_CNTRL_DATA 0x40 - - -/*-----------------------Enable the WxL of the Display ---------------------------*/ -//#define SSD1306_128_64 -#define SSD1306_128_32 -//#define SSD1306_96_16 -/*--------------------------------------------------------------------------------*/ - -/* LCD HxW i.e. 64x128 || WxL i.e. 128x64 */ -#if defined SSD1306_128_64 -#define SSD1306_LCDWIDTH 128 -#define SSD1306_LCDHEIGHT 64 -#endif -#if defined SSD1306_128_32 - #define SSD1306_LCDWIDTH 128 - #define SSD1306_LCDHEIGHT 32 -#endif -#if defined SSD1306_96_16 - #define SSD1306_LCDWIDTH 96 - #define SSD1306_LCDHEIGHT 16 -#endif - -/* SSD1306 Commands */ -#define SSD1306_DISPLAY_OFF 0xAE -#define SSD1306_SET_DISP_CLK 0xD5 -#define SSD1306_SET_MULTIPLEX 0xA8 -#define SSD1306_SET_DISP_OFFSET 0xD3 -#define SSD1306_SET_DISP_START_LINE 0x40// | 0x00) -#define SSD1306_CONFIG_CHARGE_PUMP 0x8D -#define SSD1306_SET_MEM_ADDR_MODE 0x20 -#define SSD1306_SEG_REMAP (0xA0 | 0x01) //Rotate 180 Degrees -#define SSD1306_SET_COMSCANDEC 0xC8 -#define SSD1306_SET_COMPINS 0xDA -#define SSD1306_SET_CONTRAST 0x81 -#define SSD1306_SET_PRECHARGE 0xD9 -#define SSD1306_SET_VCOMDETECT 0xDB -#define SSD1306_DISPLAYALLON_RESUME 0xA4 -#define SSD1306_NORMAL_DISPLAY 0xA6 -#define SSD1306_DISPLAYON 0xAF -#define SSD1306_SET_COL_ADDR 0x21 -#define SSD1306_PAGEADDR 0x22 -#define SSD1306_INVERT_DISPLAY 0x01 -#define SSD1306_NORMALIZE_DISPLAY 0x00 - -/* SDD1306 Scroll Commands */ -#define SSD1306_SET_VERTICAL_SCROLL_AREA 0xA3 -#define SSD1306_ACTIVATE_SCROLL 0x2F -#define SSD1306_DEACTIVATE_SCROLL 0x2E -#define SSD1306_RIGHT_HORIZONTAL_SCROLL 0x26 -#define SSD1306_LEFT_HORIZONTAL_SCROLL 0x27 -#define SSD1306_VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL 0x29 -#define SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL 0x2A -#define SSD1306_INVERTDISPLAY 0xA7 - -/* SSD1306 Configuration Commands */ -#define SSD1306_DISPCLK_DIV 0x80 -#if defined SSD1306_128_64 -#define SSD1306_MULT_64 0x3F -#endif -#if defined SSD1306_128_32 - #define SSD1306_MULT_64 0x1F -#endif -#define SSD1306_MULT_64 0x1F -#define SSD1306_DISP_OFFSET_VAL 0x00 -#define SSD1306_COL_START_ADDR 0x00 //Reset to = 0 -#define SSD1306_COL_END_ADDR (SSD1306_LCDWIDTH - 1) //Reset to = 127 -#define SSD1306_PG_START_ADDR 0x00 -#define SSD1306_PG_END_ADDR 7 -#define SSD1306_CHARGE_PUMP_EN 0x14 -#if defined SSD1306_128_64 -#define SSD1306_CONFIG_COM_PINS 0x12 -#endif -#if defined SSD1306_128_32 - #define SSD1306_CONFIG_COM_PINS 0x02 -#endif -#define SSD1306_CONTRAST_VAL 0xCF //207 -#define SSD1306_PRECHARGE_VAL 0xF1 -#define SSD1306_VCOMH_VAL 0x40 -#define SSD1306_MULT_DAT (SSD1306_LCDHEIGHT - 1) -#define SSD1306_HOR_MM 0x00 - -/*SSD1306 Display API's */ -extern void clearDisplay(); -extern void display_Init_seq(); -extern void Display(); -extern void Init_Col_PG_addrs(unsigned char col_start_addr, unsigned char col_end_addr, - unsigned char pg_start_addr, unsigned char pg_end_addr); -extern void setRotation(unsigned char x); -extern void startscrollright(unsigned char start, unsigned char stop); -extern void startscrollleft(unsigned char start, unsigned char stop); -extern void startscrolldiagright(unsigned char start, unsigned char stop); -extern void startscrolldiagleft(unsigned char start, unsigned char stop); -extern void stopscroll(); -extern void setCursor(short x, short y); -extern short getCursorX(); -extern short getCursorY(); -extern unsigned char getRotation(); -extern void invertDisplay(unsigned char i); - -/*SSD1306 Graphics Handling API's */ -extern signed char drawPixel(short x, short y, short color); -extern void writeLine(short x0, short y0, short x1, short y1, short color); -extern void drawCircleHelper( short x0, short y0, short r, unsigned char cornername, short color); -extern void drawLine(short x0, short y0, short x1, short y1, short color); -extern void drawRect(short x, short y, short w, short h, short color); -extern void fillRect(short x, short y, short w, short h, short color); -extern void drawCircle(short x0, short y0, short r, short color); -extern void fillCircleHelper(short x0, short y0, short r, unsigned char cornername, short delta, short color); -extern void fillCircle(short x0, short y0, short r, short color); -extern void drawTriangle(short x0, short y0, short x1, short y1, short x2, short y2, short color); -extern void fillTriangle(short x0, short y0, short x1, short y1, short x2, short y2, short color); -extern void drawRoundRect(short x, short y, short w, short h, short r, short color); -extern void fillRoundRect(short x, short y, short w, short h, short r, short color); -extern void drawBitmap(short x, short y, const unsigned char bitmap[], short w, short h, short color); -extern short oled_write(unsigned char c); - -/*SSD1306 Text and Character Handling API's */ -extern void setTextSize(unsigned char s); -extern void setTextColor(short c); -extern void setTextWrap(bool w); -extern void drawChar(short x, short y, unsigned char c, short color, short bg, unsigned char size); -extern short print_str(const unsigned char *strPtr); -extern short println(); -extern short print_strln(const unsigned char *strPtr); - -/*SSD1306 Number Handling API's */ -extern short printNumber(unsigned long n, unsigned char base); -extern short printNumber_UL(unsigned long n, int base); -extern short printNumber_UL_ln(unsigned long num, int base); -extern short printNumber_UI(unsigned int n, int base); -extern short printNumber_UI_ln(unsigned int n, int base); -extern short printNumber_UC(unsigned char b, int base); -extern short printNumber_UC_ln(unsigned char b, int base); -extern short printNumber_L(long n, int base); -extern short printNumber_L_ln(long num, int base); -extern short printNumber_I(int n, int base); -extern short printNumber_I_ln(int n, int base); -extern short printFloat(double number, unsigned char digits); -extern short printFloat_ln(double num, int digits); -#endif /* SSD1306_OLED_H_ */ - diff --git a/package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/gfxfont.h b/package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/gfxfont.h deleted file mode 100644 index e66128a884..0000000000 --- a/package/ctcgfw/luci-app-oled/src/SSD1306_OLED_Library/gfxfont.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _GFXFONT_H_ -#define _GFXFONT_H_ - -typedef struct { // Data stored PER GLYPH - unsigned short bitmapOffset; // Pointer into GFXfont->bitmap - unsigned char width, height; // Bitmap dimensions in pixels - unsigned char xAdvance; // Distance to advance cursor (x axis) - char xOffset, yOffset; // Dist from cursor pos to UL corner -} GFXglyphT, *GFXglyphPtr; - -typedef struct { // Data stored for FONT AS A WHOLE: - unsigned char *bitmap; // Glyph bitmaps, concatenated - GFXglyphPtr glyph; // Glyph array - unsigned char first, last; // ASCII extents - unsigned char yAdvance; // Newline distance (y axis) -} GFXfontT, *GFXfontPtr; - -#endif // _GFXFONT_H_ diff --git a/package/ctcgfw/luci-app-onliner/Makefile b/package/ctcgfw/luci-app-onliner/Makefile deleted file mode 100644 index 11a9647e04..0000000000 --- a/package/ctcgfw/luci-app-onliner/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI support arp online -LUCI_DEPENDS:=+luci-app-wrtbwmon -LUCI_PKGARCH:=all -PKG_NAME:=luci-app-onliner -PKG_VERSION:=1.1 -PKG_RELEASE:=5 - -define Package/luci-app-onliner/install - $(INSTALL_DIR) $(1)/usr/lib/lua/luci - cp -pR ./luasrc/* $(1)/usr/lib/lua/luci - $(INSTALL_DIR) $(1)/ - cp -pR ./root/* $(1)/ -endef - -define Package/luci-app-onliner/postinst -#!/bin/sh - rm -f /tmp/luci-indexcache - rm -f /tmp/luci-modulecache/* - chmod -R 755 /usr/share/onliner/* -exit 0 -endef -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature - diff --git a/package/ctcgfw/luci-app-onliner/luasrc/controller/onliner.lua b/package/ctcgfw/luci-app-onliner/luasrc/controller/onliner.lua deleted file mode 100644 index 79f5f6f50f..0000000000 --- a/package/ctcgfw/luci-app-onliner/luasrc/controller/onliner.lua +++ /dev/null @@ -1,17 +0,0 @@ -module("luci.controller.onliner",package.seeall) -nixio=require"nixio" -function index() -entry({"admin","status","onliner"},alias("admin","status","onliner","onliner"),_("Connection info")) -entry({"admin","status","onliner","onliner"},template("onliner/onliner"),_("Online User"),1) -entry({"admin", "status","onliner","speed"}, template("onliner/display"), _("Speed monitor"), 2) -entry({"admin", "status","onliner","setnlbw"}, call("set_nlbw")) -end -function set_nlbw() - if nixio.fs.access("/var/run/onsetnlbw") then - nixio.fs.writefile("/var/run/onsetnlbw","1"); - else - io.popen("/usr/share/onliner/setnlbw.sh &") - end - luci.http.prepare_content("application/json") - luci.http.write('') -end diff --git a/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm b/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm deleted file mode 100644 index 29b738e845..0000000000 --- a/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm +++ /dev/null @@ -1,921 +0,0 @@ -<%# - Copyright 2017 Jo-Philipp Wich - Licensed to the public under the Apache License 2.0. --%> - -<% css = [[ - - #chartjs-tooltip { - opacity: 0; - position: absolute; - background: rgba(0, 0, 0, .7); - color: white; - padding: 3px; - border-radius: 3px; - -webkit-transition: all .1s ease; - transition: all .1s ease; - pointer-events: none; - -webkit-transform: translate(-50%, 0); - transform: translate(-50%, 0); - z-index: 200; - } - - #chartjs-tooltip.above { - -webkit-transform: translate(-50%, -100%); - transform: translate(-50%, -100%); - } - - #chartjs-tooltip.above:before { - border: solid; - border-color: #111 transparent; - border-color: rgba(0, 0, 0, .8) transparent; - border-width: 8px 8px 0 8px; - bottom: 1em; - content: ""; - display: block; - left: 50%; - top: 100%; - position: absolute; - z-index: 99; - -webkit-transform: translate(-50%, 0); - transform: translate(-50%, 0); - } - - table { - border: 1px solid #999; - border-collapse: collapse; - margin: 0 0 2px !important; - } - - th, td, table table td { - border: 1px solid #999; - text-align: right; - padding: 1px 3px !important; - white-space: nowrap; - } - - tbody td { - border-bottom-color: #ccc; - } - tbody td:nth-last-child(4) { - width: 10%; - } - tbody td:nth-last-child(3) { - width: 10%; - } - tbody td:nth-last-child(2) { - width: 10%; - } - tbody td:nth-last-child(1) { - width: 10%; - } - tbody td[rowspan] { - border-bottom-color: #999; - } - - tbody tr:last-child td { - border-bottom-color: #999; - } - - .kpi { - display: inline-block; - vertical-align: top; - } - - .kpi ul { - list-style: none; - } - - .kpi li { - margin: 10px; - display: none; - } - - .kpi big { - font-weight: bold; - } - - #detail-bubble { - position: absolute; - opacity: 0; - visibility: hidden; - } - - #detail-bubble.in { - opacity: 1; - visibility: visible; - transition: opacity 0.5s; - } - - #detail-bubble > div { - border: 1px solid #ccc; - border-radius: 2px; - padding: 5px; - background: #fcfcfc; - } - - #detail-bubble .head { - text-align: center; - white-space: nowrap; - position: relative; - } - - #detail-bubble .head .dismiss { - top: 0; - right: 0; - width: 20px; - line-height: 20px; - text-align: center; - text-decoration: none; - font-weight: bold; - color: #000; - position: absolute; - font-size: 20px; - } - #detail-bubble .kpi { - margin: 40px 5px 5px; - font-size: smaller; - text-align: left; - } - - #detail-bubble .kpi ul { - margin: 0; - } - - #bubble-arrow { - border: 1px solid #ccc; - border-width: 1px 0 0 1px; - background: #fcfcfc; - width: 15px; - height: 15px; - position: absolute; - left: 0; - top: -8px; - transform: rotate(45deg); - margin: 0 0 0 -8px; - } - - tr.active > td { - border-bottom: 2px solid red; - } - - tr.active > td.active { - border: 2px solid red; - border-bottom: none; - } - - td.detail { - border: 2px solid red; - border-top: none; - opacity: 0; - transition: opacity 0.5s; - } - - td.detail.in { - opacity: 1; - } - - th.hostname, - td.hostname { - text-align: left; - } - -]] -%> - -<%+header%> - - - - - -

<%:Netlink Bandwidth Monitor%>

- -
- -
-
- × -
-
    -
  • <%_Hostname: example.org%>
  • -
  • <%_Vendor: Example Corp.%>
  • -
-
-
-
-
-
- - - -
-
-
-
    -
  • <%_0 hosts%>
  • -
  • <%_0 download%>
  • -
  • <%_0 upload%>
  • -
  • <%_0 connections%>
  • -
-
-
- - - - - - - - -
<%:Host%><%:MAC%><%:Connections%><%:Download (Bytes / Packets)%><%:Upload (Bytes / Packets)%>
-
- - - - - - - -<%+footer%> diff --git a/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm b/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm deleted file mode 100644 index b6d9f3d9ff..0000000000 --- a/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm +++ /dev/null @@ -1,99 +0,0 @@ -<%# - Copyright 2008 Steven Barth - Copyright 2008-2011 Jo-Philipp Wich - Licensed to the public under the Apache License 2.0. --%> - -<% -local util = require "luci.util" -local function online_data() - local rv = { } - local fd = util.execi('/usr/bin/awk \'BEGIN{while ((getline < "/tmp/dhcp.leases") > 0){a[$2]=$4;}while ((getline < "/proc/net/arp") > 0){if (!a[$4]){a[$4]="\?";}if (match($3,"0x[26]")){"ping -q -c 1 "$1" &";if (b[$4]){b[$4]=b[$4]"/"$1;}else{b[$4]=$1;}c[$4]=$6;}}while (("ip -6 neighbor show | grep -v fe80" | getline) > 0){if (b[$5]) {"ping -q -c 1 "$1" &";b[$5]=b[$5]"/"$1;}}for (mac in b){print(a[mac],b[mac],mac,c[mac]);}}\' ') - while true do - local ln = fd() - if ln == nil then break end - local name,ip,mac,dev = ln:match("^(%S+) (%S+) (%S+) (%S+)") - if mac and ip and name and dev then - rv[#rv+1] = { - hostname = name, - device = dev, - macaddr = mac, - ipaddr = ip - } - end - end - return rv -end - - -if luci.http.formvalue("status") == "1" then - local rv = { - onlines = online_data() - } - luci.http.prepare_content("application/json") - luci.http.write_json(rv) - return -end --%> - -<%+header%> - - - - -

<%:Status%>

- -
- <%:Online User%> - - - - - - - - - - - -
<%:Hostname%><%:IPv4-Address%><%:MAC-Address%><%:Interface%>

<%:Collecting data...%>
-
- -<%+footer%> diff --git a/package/ctcgfw/luci-app-onliner/po/zh_Hans/onliner.po b/package/ctcgfw/luci-app-onliner/po/zh_Hans/onliner.po deleted file mode 100644 index ae0df5ec64..0000000000 --- a/package/ctcgfw/luci-app-onliner/po/zh_Hans/onliner.po +++ /dev/null @@ -1,219 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh_Hans\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:769 -msgid "%d IPv4-only hosts" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:776 -msgid "%d IPv6-only hosts" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:783 -msgid "%d dual-stack hosts" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:260 -msgid "%s and %s" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:258 -msgid "%s, %s and %s" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:836 -msgid "0 connections" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:833 -msgid "0 hosts" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:877 -msgid "0% IPv6 support rate among hosts" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:879 -msgid "0B total IPv6 download" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:878 -msgid "0% of the total traffic is IPv6" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:880 -msgid "0B total IPv6 upload" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:858 -msgid "0 cause the most connections" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:856 -msgid "0 cause the most download" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:857 -msgid "0 cause the most upload" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:855 -msgid "0 different application protocols" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:834 -msgid "0 download" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:835 -msgid "0 upload" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:864 -msgid "Application" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:825 -msgid "Application Protocols" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm:94 -msgid "Collecting data..." -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:434 -msgid "Conn." -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/controller/onliner.lua:4 -msgid "Connection info" -msgstr "连接信息" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:844 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:865 -msgid "Connections" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:435 -msgid "Down. (Bytes / Pkts.)" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:845 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:866 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:889 -msgid "Download (Bytes / Packets)" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:888 -msgid "Family" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:577 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:633 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:747 -msgid "Force reload…" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:842 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:886 -msgid "Host" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm:88 -msgid "Hostname" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:814 -msgid "Hostname: example.org" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm:89 -msgid "IPv4-Address" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:826 -msgid "IPv6" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm:91 -msgid "Interface" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:843 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:887 -msgid "MAC" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm:90 -msgid "MAC-Address" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:805 -msgid "Netlink Bandwidth Monitor" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:577 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:633 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:747 -msgid "No data recorded yet." -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/controller/onliner.lua:5 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm:84 -msgid "Online User" -msgstr "在线用户" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:545 -msgid "Protocol" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:538 -msgid "Source IP" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/controller/onliner.lua:6 -msgid "Speed monitor" -msgstr "宽带监视" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm:81 -msgid "Status" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/onliner.htm:74 -msgid "There is no one online now." -msgstr "当前无任何设备在线。" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:824 -msgid "Traffic Distribution" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:436 -msgid "Up. (Bytes / Pkts.)" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:846 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:867 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:890 -msgid "Upload (Bytes / Packets)" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:815 -msgid "Vendor: Example Corp." -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:443 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:451 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:456 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:539 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:607 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:612 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-onliner/luasrc/view/onliner/display.htm:615 -msgid "other" -msgstr "" diff --git a/package/ctcgfw/luci-app-onliner/root/usr/share/onliner/setnlbw.sh b/package/ctcgfw/luci-app-onliner/root/usr/share/onliner/setnlbw.sh deleted file mode 100755 index cd49e40b48..0000000000 --- a/package/ctcgfw/luci-app-onliner/root/usr/share/onliner/setnlbw.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -PATH="/usr/sbin:/usr/bin:/sbin:/bin" -echo "1">/var/run/onsetnlbw -interval=$(uci get nlbwmon.@nlbwmon[0].refresh_interval) -uci set nlbwmon.@nlbwmon[0].refresh_interval="2s" -/etc/init.d/nlbwmon reload -while true -do - sleep 12 - watchdog=$(cat /var/run/onsetnlbw) - if [ "$watchdog"x == "0"x ]; then - uci set nlbwmon.@nlbwmon[0].refresh_interval=$interval - uci commit nlbwmon - /etc/init.d/nlbwmon reload - rm -f /var/run/onsetnlbw - exit 0 - else - echo "0">/var/run/onsetnlbw - fi -done diff --git a/package/ctcgfw/luci-app-openclash/Makefile b/package/ctcgfw/luci-app-openclash/Makefile deleted file mode 100644 index 4378a26bdf..0000000000 --- a/package/ctcgfw/luci-app-openclash/Makefile +++ /dev/null @@ -1,104 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-openclash -PKG_VERSION:=0.42.03 -PKG_RELEASE:=beta -PKG_MAINTAINER:=vernesong - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) - -include $(INCLUDE_DIR)/package.mk - -define Package/$(PKG_NAME)/config - select PACKAGE_libcap-bin -endef - -define Package/$(PKG_NAME) - CATEGORY:=LuCI - SUBMENU:=3. Applications - TITLE:=LuCI support for clash - PKGARCH:=all - DEPENDS:=+iptables +dnsmasq-full +coreutils +coreutils-nohup +bash +curl +jsonfilter +ca-certificates +ipset +ip-full +iptables-mod-tproxy +iptables-mod-extra +libcap +ruby +ruby-yaml - MAINTAINER:=vernesong -endef - -define Package/$(PKG_NAME)/description - A LuCI support for clash -endef - -define Build/Prepare - $(CP) $(CURDIR)/root $(PKG_BUILD_DIR) - $(CP) $(CURDIR)/luasrc $(PKG_BUILD_DIR) - $(foreach po,$(wildcard ${CURDIR}/po/zh-cn/*.po), \ - po2lmo $(po) $(PKG_BUILD_DIR)/$(patsubst %.po,%.lmo,$(notdir $(po)));) - chmod 0755 $(PKG_BUILD_DIR)/root/etc/init.d/openclash - chmod -R 0755 $(PKG_BUILD_DIR)/root/usr/share/openclash/ - mkdir -p $(PKG_BUILD_DIR)/root/etc/openclash/config - mkdir -p $(PKG_BUILD_DIR)/root/etc/openclash/rule_provider - mkdir -p $(PKG_BUILD_DIR)/root/etc/openclash/backup - mkdir -p $(PKG_BUILD_DIR)/root/etc/openclash/core - mkdir -p $(PKG_BUILD_DIR)/root/usr/share/openclash/backup - cp -f "$(PKG_BUILD_DIR)/root/etc/config/openclash" "$(PKG_BUILD_DIR)/root/usr/share/openclash/backup/openclash" >/dev/null 2>&1 - cp -f "$(PKG_BUILD_DIR)/root/etc/openclash/custom/openclash_custom_rules.list" "$(PKG_BUILD_DIR)/root/usr/share/openclash/backup/openclash_custom_rules.list" >/dev/null 2>&1 - cp -f "$(PKG_BUILD_DIR)/root/etc/openclash/custom/openclash_custom_rules_2.list" "$(PKG_BUILD_DIR)/root/usr/share/openclash/backup/openclash_custom_rules_2.list" >/dev/null 2>&1 - cp -f "$(PKG_BUILD_DIR)/root/etc/openclash/custom/openclash_custom_hosts.list" "$(PKG_BUILD_DIR)/root/usr/share/openclash/backup/openclash_custom_hosts.list" >/dev/null 2>&1 - cp -f "$(PKG_BUILD_DIR)/root/etc/openclash/custom/openclash_custom_fake_filter.list" "$(PKG_BUILD_DIR)/root/usr/share/openclash/backup/openclash_custom_fake_filter.list" >/dev/null 2>&1 - cp -f "$(PKG_BUILD_DIR)/root/etc/openclash/custom/openclash_custom_domain_dns.list" "$(PKG_BUILD_DIR)/root/usr/share/openclash/backup/openclash_custom_domain_dns.list" >/dev/null 2>&1 -endef - -define Build/Configure -endef - -define Build/Compile -endef - -define Package/$(PKG_NAME)/conffiles -endef - -define Package/$(PKG_NAME)/preinst -#!/bin/sh -if [ -f "/etc/config/openclash" ]; then - cp -f "/etc/config/openclash" "/tmp/openclash.bak" >/dev/null 2>&1 - cp -rf "/etc/openclash" "/tmp/openclash" >/dev/null 2>&1 -fi -endef - -define Package/$(PKG_NAME)/postinst -endef - -define Package/$(PKG_NAME)/prerm -#!/bin/sh - uci -q set openclash.config.enable=0 - uci -q commit openclash - cp -f "/etc/config/openclash" "/tmp/openclash.bak" >/dev/null 2>&1 - cp -rf "/etc/openclash" "/tmp/openclash" >/dev/null 2>&1 -endef - -define Package/$(PKG_NAME)/postrm -#!/bin/sh - rm -rf /etc/openclash - rm -rf /tmp/openclash.log - rm -rf /tmp/openclash_start.log - rm -rf /tmp/openclash_last_version - rm -rf /tmp/Proxy_Group - rm -rf /tmp/rules_name - rm -rf /tmp/rule_providers_name - rm -rf /tmp/clash_last_version - rm -rf /usr/share/openclash/backup - rm -rf /tmp/openclash_fake_filter.list - rm -rf /tmp/openclash_servers_fake_filter.conf - uci -q delete firewall.openclash - uci -q commit firewall - uci -q delete ucitrack.@openclash[-1] - uci -q commit ucitrack - rm -rf /tmp/luci-* -endef - -define Package/$(PKG_NAME)/install - $(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n - $(INSTALL_DATA) $(PKG_BUILD_DIR)/*.*.lmo $(1)/usr/lib/lua/luci/i18n/ - $(CP) $(PKG_BUILD_DIR)/root/* $(1)/ - $(CP) $(PKG_BUILD_DIR)/luasrc/* $(1)/usr/lib/lua/luci/ -endef - -$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/package/ctcgfw/luci-app-openclash/luasrc/controller/openclash.lua b/package/ctcgfw/luci-app-openclash/luasrc/controller/openclash.lua deleted file mode 100644 index 9c625fe284..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/controller/openclash.lua +++ /dev/null @@ -1,467 +0,0 @@ -module("luci.controller.openclash", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/openclash") then - return - end - - local page - - page = entry({"admin", "services", "openclash"}, alias("admin", "services", "openclash", "client"), _("OpenClash"), 50) - page.dependent = true - page.acl_depends = { "luci-app-openclash" } - entry({"admin", "services", "openclash", "client"},cbi("openclash/client"),_("Overviews"), 20).leaf = true - entry({"admin", "services", "openclash", "status"},call("action_status")).leaf=true - entry({"admin", "services", "openclash", "state"},call("action_state")).leaf=true - entry({"admin", "services", "openclash", "startlog"},call("action_start")).leaf=true - entry({"admin", "services", "openclash", "refresh_log"},call("action_refresh_log")) - entry({"admin", "services", "openclash", "del_log"},call("action_del_log")) - entry({"admin", "services", "openclash", "close_all_connection"},call("action_close_all_connection")) - entry({"admin", "services", "openclash", "restore_history"},call("action_restore_history")) - entry({"admin", "services", "openclash", "get_history"},call("action_get_history")) - entry({"admin", "services", "openclash", "reload_firewall"},call("action_reload_firewall")) - entry({"admin", "services", "openclash", "update_subscribe"},call("action_update_subscribe")) - entry({"admin", "services", "openclash", "update_other_rules"},call("action_update_other_rules")) - entry({"admin", "services", "openclash", "update_geoip"},call("action_update_geoip")) - entry({"admin", "services", "openclash", "currentversion"},call("action_currentversion")) - entry({"admin", "services", "openclash", "lastversion"},call("action_lastversion")) - entry({"admin", "services", "openclash", "update"},call("action_update")) - entry({"admin", "services", "openclash", "update_ma"},call("action_update_ma")) - entry({"admin", "services", "openclash", "opupdate"},call("action_opupdate")) - entry({"admin", "services", "openclash", "coreupdate"},call("action_coreupdate")) - entry({"admin", "services", "openclash", "coretunupdate"},call("action_core_tun_update")) - entry({"admin", "services", "openclash", "coregameupdate"},call("action_core_game_update")) - entry({"admin", "services", "openclash", "ping"}, call("act_ping")) - entry({"admin", "services", "openclash", "download_rule"}, call("action_download_rule")) - entry({"admin", "services", "openclash", "restore"}, call("action_restore_config")) - entry({"admin", "services", "openclash", "one_key_update"}, call("action_one_key_update")) - entry({"admin", "services", "openclash", "one_key_update_check"}, call("action_one_key_update_check")) - entry({"admin", "services", "openclash", "switch_mode"}, call("action_switch_mode")) - entry({"admin", "services", "openclash", "op_mode"}, call("action_op_mode")) - entry({"admin", "services", "openclash", "settings"},cbi("openclash/settings"),_("Global Settings"), 30).leaf = true - entry({"admin", "services", "openclash", "servers"},cbi("openclash/servers"),_("Servers and Groups"), 40).leaf = true - entry({"admin", "services", "openclash", "other-rules-edit"},cbi("openclash/other-rules-edit"), nil).leaf = true - entry({"admin", "services", "openclash", "rule-providers-settings"},cbi("openclash/rule-providers-settings"),_("Rule Providers and Groups"), 50).leaf = true - entry({"admin", "services", "openclash", "game-rules-manage"},form("openclash/game-rules-manage"), nil).leaf = true - entry({"admin", "services", "openclash", "rule-providers-manage"},form("openclash/rule-providers-manage"), nil).leaf = true - entry({"admin", "services", "openclash", "proxy-provider-file-manage"},form("openclash/proxy-provider-file-manage"), nil).leaf = true - entry({"admin", "services", "openclash", "rule-providers-file-manage"},form("openclash/rule-providers-file-manage"), nil).leaf = true - entry({"admin", "services", "openclash", "config-subscribe"},cbi("openclash/config-subscribe"),_("Config Update"), 60).leaf = true - entry({"admin", "services", "openclash", "config-subscribe-edit"},cbi("openclash/config-subscribe-edit"), nil).leaf = true - entry({"admin", "services", "openclash", "servers-config"},cbi("openclash/servers-config"), nil).leaf = true - entry({"admin", "services", "openclash", "groups-config"},cbi("openclash/groups-config"), nil).leaf = true - entry({"admin", "services", "openclash", "proxy-provider-config"},cbi("openclash/proxy-provider-config"), nil).leaf = true - entry({"admin", "services", "openclash", "rule-providers-config"},cbi("openclash/rule-providers-config"), nil).leaf = true - entry({"admin", "services", "openclash", "config"},form("openclash/config"),_("Config Manage"), 70).leaf = true - entry({"admin", "services", "openclash", "log"},cbi("openclash/log"),_("Server Logs"), 80).leaf = true - -end -local fs = require "luci.openclash" - -local core_path_mode = luci.sys.exec("uci get openclash.config.small_flash_memory 2>/dev/null |tr -d '\n'") -if core_path_mode ~= "1" then - dev_core_path="/etc/openclash/core/clash" - tun_core_path="/etc/openclash/core/clash_tun" - game_core_path="/etc/openclash/core/clash_game" -else - dev_core_path="/tmp/etc/openclash/core/clash" - tun_core_path="/tmp/etc/openclash/core/clash_tun" - game_core_path="/tmp/etc/openclash/core/clash_game" -end - -local function is_running() - return luci.sys.call("pidof clash >/dev/null") == 0 -end - -local function is_web() - return luci.sys.call("pidof clash >/dev/null") == 0 -end - -local function restricted_mode() - return luci.sys.exec("uci get openclash.config.restricted_mode 2>/dev/null |tr -d '\n'") -end - -local function is_watchdog() - local ps_version = luci.sys.exec("ps --version 2>&1 |grep -c procps-ng |tr -d '\n'") - if ps_version == "0" then - return luci.sys.call("ps |grep openclash_watchdog.sh |grep -v grep >/dev/null") == 0 - else - return luci.sys.call("ps -ef |grep openclash_watchdog.sh |grep -v grep >/dev/null") == 0 - end -end - -local function cn_port() - return luci.sys.exec("uci get openclash.config.cn_port 2>/dev/null |tr -d '\n'") -end - -local function mode() - return luci.sys.exec("uci get openclash.config.en_mode 2>/dev/null") -end - -local function ipdb() - return os.date("%Y-%m-%d %H:%M:%S",fs.mtime("/etc/openclash/Country.mmdb")) -end - -local function lhie1() - return os.date("%Y-%m-%d %H:%M:%S",fs.mtime("/usr/share/openclash/res/lhie1.yaml")) -end - -local function ConnersHua() - return os.date("%Y-%m-%d %H:%M:%S",fs.mtime("/usr/share/openclash/res/ConnersHua.yaml")) -end - -local function ConnersHua_return() - return os.date("%Y-%m-%d %H:%M:%S",fs.mtime("/usr/share/openclash/res/ConnersHua_return.yaml")) -end - -local function chnroute() - return os.date("%Y-%m-%d %H:%M:%S",fs.mtime("/etc/openclash/rule_provider/ChinaIP.yaml")) -end - -local function daip() - local daip = luci.sys.exec("ifstatus lan 2>/dev/null |jsonfilter -e '@[\"ipv4-address\"][0].address' 2>/dev/null") - if not daip or daip == "" then - local daip = luci.sys.exec("uci get network.lan.ipaddr 2>/dev/null |awk -F '/' '{print $1}' 2>/dev/null |tr -d '\n'") - end - return daip -end - -local function uh_port() - local uh_port = luci.sys.exec("uci get uhttpd.main.listen_http |awk -F ':' '{print $NF}'") - if uh_port ~= "80" then - return ":" .. uh_port - end -end - -local function dase() - return luci.sys.exec("uci get openclash.config.dashboard_password 2>/dev/null") -end - -local function check_lastversion() - luci.sys.exec("sh /usr/share/openclash/openclash_version.sh 2>/dev/null") - return luci.sys.exec("sed -n '/^https:/,$p' /tmp/openclash_last_version 2>/dev/null") -end - -local function check_currentversion() - return luci.sys.exec("sed -n '/^data:image/,$p' /usr/share/openclash/res/openclash_version 2>/dev/null") -end - -local function startlog() - return luci.sys.exec("sed -n '$p' /tmp/openclash_start.log 2>/dev/null") -end - -local function coremodel() - local coremodel = luci.sys.exec("cat /usr/lib/os-release 2>/dev/null |grep OPENWRT_ARCH 2>/dev/null |awk -F '\"' '{print $2}' 2>/dev/null") - local coremodel2 = luci.sys.exec("opkg status libc 2>/dev/null |grep 'Architecture' |awk -F ': ' '{print $2}' 2>/dev/null") - if not coremodel or coremodel == "" then - return coremodel2 .. "," .. coremodel2 - else - return coremodel .. "," .. coremodel2 - end -end - -local function corecv() -if not nixio.fs.access(dev_core_path) then - return "0" -else - return luci.sys.exec(string.format("%s -v 2>/dev/null |awk -F ' ' '{print $2}'",dev_core_path)) -end -end - -local function coretuncv() -if not nixio.fs.access(tun_core_path) then - return "0" -else - return luci.sys.exec(string.format("%s -v 2>/dev/null |awk -F ' ' '{print $2}'",tun_core_path)) -end -end - -local function coregamecv() -if not nixio.fs.access(game_core_path) then - return "0" -else - return luci.sys.exec(string.format("%s -v 2>/dev/null |awk -F ' ' '{print $2}'",game_core_path)) -end -end - -local function corelv() - luci.sys.call("sh /usr/share/openclash/clash_version.sh") - local core_lv = luci.sys.exec("sed -n 1p /tmp/clash_last_version 2>/dev/null") - local core_tun_lv = luci.sys.exec("sed -n 2p /tmp/clash_last_version 2>/dev/null") - local core_game_lv = luci.sys.exec("sed -n 3p /tmp/clash_last_version 2>/dev/null") - return core_lv .. "," .. core_tun_lv .. "," .. core_game_lv -end - -local function opcv() - return luci.sys.exec("sed -n 1p /usr/share/openclash/res/openclash_version 2>/dev/null") -end - -local function oplv() - local new = luci.sys.call(string.format("sh /usr/share/openclash/openclash_version.sh")) - local oplv = luci.sys.exec("sed -n 1p /tmp/openclash_last_version 2>/dev/null") - return oplv .. "," .. new -end - -local function opup() - luci.sys.call("rm -rf /tmp/*_last_version 2>/dev/null && sh /usr/share/openclash/openclash_version.sh >/dev/null 2>&1") - return luci.sys.call("sh /usr/share/openclash/openclash_update.sh >/dev/null 2>&1 &") -end - -local function coreup() - luci.sys.call("uci set openclash.config.enable=1 && uci commit openclash && rm -rf /tmp/*_last_version 2>/dev/null && sh /usr/share/openclash/clash_version.sh >/dev/null 2>&1") - return luci.sys.call("/usr/share/openclash/openclash_core.sh >/dev/null 2>&1 &") -end - -local function coretunup() - luci.sys.call("uci set openclash.config.enable=1 && uci commit openclash && rm -rf /tmp/*_last_version 2>/dev/null && sh /usr/share/openclash/clash_version.sh >/dev/null 2>&1") - return luci.sys.call("/usr/share/openclash/openclash_core.sh 'Tun' >/dev/null 2>&1 &") -end - -local function coregameup() - luci.sys.call("uci set openclash.config.enable=1 && uci commit openclash && rm -rf /tmp/*_last_version 2>/dev/null && sh /usr/share/openclash/clash_version.sh >/dev/null 2>&1") - return luci.sys.call("/usr/share/openclash/openclash_core.sh 'Game' >/dev/null 2>&1 &") -end - -local function corever() - return luci.sys.exec("uci get openclash.config.core_version 2>/dev/null") -end - -local function upchecktime() - local corecheck = os.date("%Y-%m-%d %H:%M:%S",fs.mtime("/tmp/clash_last_version")) - local opcheck - if not corecheck or corecheck == "" then - opcheck = os.date("%Y-%m-%d %H:%M:%S",fs.mtime("/tmp/openclash_last_version")) - if not opcheck or opcheck == "" then - return "1" - else - return opcheck - end - else - return corecheck - end -end - -local function historychecktime() - local CONFIG_FILE = string.sub(luci.sys.exec("uci get openclash.config.config_path 2>/dev/null"), 1, -2) - local CONFIG_NAME = fs.basename(CONFIG_FILE) - local HISTORY_PATH = "/etc/openclash/history/" .. CONFIG_NAME - if not nixio.fs.access(HISTORY_PATH) then - return "0" - else - return os.date("%Y-%m-%d %H:%M:%S",fs.mtime(HISTORY_PATH)) - end -end - -function download_rule() - local filename = luci.http.formvalue("filename") - local state = luci.sys.call(string.format('/usr/share/openclash/openclash_download_rule_list.sh "%s" >/dev/null 2>&1',filename)) - return state -end - -function action_restore_config() - luci.sys.call("/etc/init.d/openclash stop >/dev/null 2>&1") - luci.sys.call("cp '/usr/share/openclash/backup/openclash' '/etc/config/openclash' >/dev/null 2>&1 &") - luci.sys.call("cp '/usr/share/openclash/backup/openclash_custom_rules.list' '/etc/openclash/custom/openclash_custom_rules.list' >/dev/null 2>&1 &") - luci.sys.call("cp '/usr/share/openclash/backup/openclash_custom_rules_2.list' '/etc/openclash/custom/openclash_custom_rules_2.list' >/dev/null 2>&1 &") - luci.sys.call("cp '/usr/share/openclash/backup/openclash_custom_fake_black.conf' '/etc/openclash/custom/openclash_custom_fake_black.conf' >/dev/null 2>&1 &") - luci.sys.call("cp '/usr/share/openclash/backup/openclash_custom_hosts.list' '/etc/openclash/custom/openclash_custom_hosts.list' >/dev/null 2>&1 &") - luci.sys.call("cp '/usr/share/openclash/backup/openclash_custom_domain_dns.list' '/etc/openclash/custom/openclash_custom_domain_dns.list' >/dev/null 2>&1 &") -end - -function action_one_key_update() - return luci.sys.call("sh /usr/share/openclash/openclash_update.sh 'one_key_update' >/dev/null 2>&1 &") -end - -function action_one_key_update_check() - luci.sys.call("rm -rf /tmp/*_last_version 2>/dev/null") - luci.http.prepare_content("application/json") - luci.http.write_json({ - corever = corever(), - corelv = corelv(), - oplv = oplv(); - }) -end - -function action_op_mode() - local op_mode = luci.sys.exec("uci get openclash.config.operation_mode 2>/dev/null |tr -d '\n'") - luci.http.prepare_content("application/json") - luci.http.write_json({ - op_mode = op_mode; - }) -end - -function action_switch_mode() - local switch_mode = luci.sys.exec("uci get openclash.config.operation_mode 2>/dev/null |tr -d '\n'") - if switch_mode == "redir-host" then - luci.sys.call("uci set openclash.config.operation_mode=fake-ip >/dev/null 2>&1 && uci commit openclash") - else - luci.sys.call("uci set openclash.config.operation_mode=redir-host >/dev/null 2>&1 && uci commit openclash") - end - luci.http.prepare_content("application/json") - luci.http.write_json({ - switch_mode = switch_mode; - }) -end - -function action_status() - luci.http.prepare_content("application/json") - luci.http.write_json({ - clash = is_running(), - watchdog = is_watchdog(), - daip = daip(), - dase = dase(), - uh_port = uh_port(), - web = is_web(), - cn_port = cn_port(), - restricted_mode = restricted_mode(), - mode = mode(); - }) -end - -function action_state() - luci.http.prepare_content("application/json") - luci.http.write_json({ - lhie1 = lhie1(), - ConnersHua = ConnersHua(), - ConnersHua_return = ConnersHua_return(), - ipdb = ipdb(), - historychecktime = historychecktime(), - chnroute = chnroute(); - }) -end - -function action_lastversion() - luci.http.prepare_content("application/json") - luci.http.write_json({ - lastversion = check_lastversion(); - }) -end - -function action_currentversion() - luci.http.prepare_content("application/json") - luci.http.write_json({ - currentversion = check_currentversion(); - }) -end - -function action_start() - luci.http.prepare_content("application/json") - luci.http.write_json({ - startlog = startlog(); - }) -end - -function action_update() - luci.http.prepare_content("application/json") - luci.http.write_json({ - coremodel = coremodel(), - corecv = corecv(), - coretuncv = coretuncv(), - coregamecv = coregamecv(), - opcv = opcv(), - corever = corever(), - upchecktime = upchecktime(), - corelv = corelv(), - oplv = oplv(); - }) -end - -function action_update_ma() - luci.http.prepare_content("application/json") - luci.http.write_json({ - oplv = oplv(), - corelv = corelv(), - corever = corever(); - }) -end - -function action_opupdate() - luci.http.prepare_content("application/json") - luci.http.write_json({ - opup = opup(); - }) -end - -function action_coreupdate() - luci.http.prepare_content("application/json") - luci.http.write_json({ - coreup = coreup(); - }) -end - -function action_core_tun_update() - luci.http.prepare_content("application/json") - luci.http.write_json({ - coretunup = coretunup(); - }) -end - -function action_core_game_update() - luci.http.prepare_content("application/json") - luci.http.write_json({ - coregameup = coregameup(); - }) -end - -function action_close_all_connection() - return luci.sys.call("sh /usr/share/openclash/openclash_history_set.sh close_all_conection") -end - -function action_restore_history() - return luci.sys.call("sh /usr/share/openclash/openclash_history_set.sh") -end - -function action_get_history() - return luci.sys.call("sh /usr/share/openclash/openclash_history_get.sh") -end - -function action_reload_firewall() - return luci.sys.call("/etc/init.d/openclash reload") -end - -function action_update_subscribe() - fs.unlink("/tmp/Proxy_Group") - return luci.sys.call("/usr/share/openclash/openclash.sh >/dev/null 2>&1") -end - -function action_update_other_rules() - return luci.sys.call("/usr/share/openclash/openclash_rule.sh >/dev/null 2>&1") -end - -function action_update_geoip() - return luci.sys.call("/usr/share/openclash/openclash_ipdb.sh >/dev/null 2>&1") -end - -function act_ping() - local e={} - e.index=luci.http.formvalue("index") - e.ping=luci.sys.exec("ping -c 1 -W 1 %q 2>&1 | grep -o 'time=[0-9]*.[0-9]' | awk -F '=' '{print$2}'"%luci.http.formvalue("domain")) - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end - -function action_download_rule() - luci.http.prepare_content("application/json") - luci.http.write_json({ - rule_download_status = download_rule(); - }) -end - -function action_refresh_log() - local logfile="/tmp/openclash.log" - if not fs.access(logfile) then - luci.http.write("") - return - end - luci.http.prepare_content("text/plain; charset=utf-8") - local f=io.open(logfile, "r+") - f:seek("set") - local a=f:read(2048000) or "" - f:close() - luci.http.write(a) -end - -function action_del_log() - luci.sys.exec(": > /tmp/openclash.log") - return -end \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/client.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/client.lua deleted file mode 100644 index f03014c7f2..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/client.lua +++ /dev/null @@ -1,132 +0,0 @@ - -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local UTIL = require "luci.util" -local fs = require "luci.openclash" -local uci = require("luci.model.uci").cursor() - -m = Map("openclash") -m.title = translate("OpenClash") -m.description = translate("A Clash Client For OpenWrt") -m.pageaction = false - -m:section(SimpleSection).template = "openclash/status" - -function IsYamlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-5,-1)) - return e == ".yaml" -end -function IsYmlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-4,-1)) - return e == ".yml" -end - -function config_check(CONFIG_FILE) - local yaml = fs.isfile(CONFIG_FILE) - if yaml then - yaml = SYS.exec(string.format('ruby -ryaml -E UTF-8 -e "puts YAML.load_file(\'%s\')" 2>/dev/null',CONFIG_FILE)) - if yaml ~= "false\n" and yaml ~= "" then - return "Config Normal" - else - return "Config Abnormal" - end - elseif (yaml ~= 0) then - return "File Not Exist" - end -end - -local e,a={} -for t,o in ipairs(fs.glob("/etc/openclash/config/*"))do -a=fs.stat(o) -if a then -e[t]={} -e[t].num=string.format(t) -e[t].name=fs.basename(o) -BACKUP_FILE="/etc/openclash/backup/".. e[t].name -CONFIG_FILE="/etc/openclash/config/".. e[t].name -if fs.mtime(BACKUP_FILE) then - e[t].mtime=os.date("%Y-%m-%d %H:%M:%S",fs.mtime(BACKUP_FILE)) -else - e[t].mtime=os.date("%Y-%m-%d %H:%M:%S",a.mtime) -end -if string.sub(SYS.exec("uci get openclash.config.config_path 2>/dev/null"), 23, -2) == e[t].name then - e[t].state=translate("Enable") -else - e[t].state=translate("Disable") -end -e[t].check=translate(config_check(CONFIG_FILE)) -end -end - -form = Map("openclash") -form.pageaction = false -tb=form:section(Table,e) -st=tb:option(DummyValue,"state",translate("State")) -st.template="openclash/cfg_check" -nm=tb:option(DummyValue,"name",translate("Config Alias")) -mt=tb:option(DummyValue,"mtime",translate("Update Time")) -ck=tb:option(DummyValue,"check",translate("Grammar Check")) -ck.template="openclash/cfg_check" - -btnis=tb:option(Button,"switch",translate("Switch Config")) -btnis.template="openclash/other_button" -btnis.render=function(o,t,a) -if not e[t] then return false end -if IsYamlFile(e[t].name) or IsYmlFile(e[t].name) then -a.display="" -else -a.display="none" -end -o.inputstyle="apply" -Button.render(o,t,a) -end -btnis.write=function(a,t) -fs.unlink("/tmp/Proxy_Group") -SYS.exec(string.format('uci set openclash.config.config_path="/etc/openclash/config/%s"',e[t].name)) -uci:set("openclash", "config", "enable", 1) -uci:commit("openclash") -SYS.call("/etc/init.d/openclash restart >/dev/null 2>&1 &") -HTTP.redirect(luci.dispatcher.build_url("admin", "services", "openclash", "client")) -end - -s = Map("openclash") -s.pageaction = false -s:section(SimpleSection).template = "openclash/myip" - -local t = { - {enable, disable} -} - -ap = Map("openclash") -ap.pageaction = false - -ss = ap:section(Table, t) - -o = ss:option(Button, "enable") -o.inputtitle = translate("Enable Clash") -o.inputstyle = "apply" -o.write = function() - uci:set("openclash", "config", "enable", 1) - uci:commit("openclash") - SYS.call("/etc/init.d/openclash restart >/dev/null 2>&1 &") -end - -o = ss:option(Button, "disable") -o.inputtitle = translate("Disable Clash") -o.inputstyle = "reset" -o.write = function() - uci:set("openclash", "config", "enable", 0) - uci:commit("openclash") - SYS.call("/etc/init.d/openclash stop >/dev/null 2>&1 &") -end - -d = Map("openclash") -d.title = translate("Technical Support") -d.pageaction = false -d:section(SimpleSection).template = "openclash/developer" - -return m, form, s, ap, d diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config-subscribe-edit.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config-subscribe-edit.lua deleted file mode 100644 index 921d64f655..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config-subscribe-edit.lua +++ /dev/null @@ -1,145 +0,0 @@ - -local m, s, o -local openclash = "openclash" -local uci = luci.model.uci.cursor() -local fs = require "luci.openclash" -local sys = require "luci.sys" -local sid = arg[1] - -font_red = [[]] -font_off = [[]] -bold_on = [[]] -bold_off = [[]] - - -m = Map(openclash, translate("Config Subscribe Edit")) -m.pageaction = false -m.description=translate("Convert Subscribe function of Online is Supported By subconverter Written By tindy X") .. translate("
\ -
API By tindy X & lhie1 \ -
\ -
subconverter 外部配置(订阅转换模板)说明:https://github.com/tindy2013/subconverter#external-configuration-file \ -
\ -
如需自定义外部配置文件(订阅转换模板),请按照说明编写后上传至外部网络可访问的位置,并在使用时正确填写地址 \ -
\ -
如您有值得推荐的外部配置文件(订阅转换模板),可以按照 /usr/share/openclash/res/sub_ini.list 的文件格式修改后提交PR") -m.redirect = luci.dispatcher.build_url("admin/services/openclash/config-subscribe") -if m.uci:get(openclash, sid) ~= "config_subscribe" then - luci.http.redirect(m.redirect) - return -end - --- [[ Config Subscribe Setting ]]-- -s = m:section(NamedSection, sid, "config_subscribe") -s.anonymous = true -s.addremove = false - ----- name -o = s:option(Value, "name", translate("Config Alias")) -o.description = font_red..bold_on..translate("(Name For Distinguishing)")..bold_off..font_off -o.placeholder = translate("config") -o.rmempty = true - ----- address -o = s:option(Value, "address", translate("Subscribe Address")) -o.description = font_red..bold_on..translate("(Not Null)")..bold_off..font_off -o.placeholder = translate("Not Null") -o.datatype = "or(host, string)" -o.rmempty = false - ----- subconverter -o = s:option(Flag, "sub_convert", translate("Subscribe Convert Online")) -o.description = translate("Convert Subscribe Online With Template, Mix Proxies and Keep Settings options Will Not Effect") -o.default=0 - ----- Template -o = s:option(ListValue, "template", translate("Template Name")) -o.rmempty = true -o:depends("sub_convert", "1") -file = io.open("/usr/share/openclash/res/sub_ini.list", "r"); -for l in file:lines() do - if l ~= "" and l ~= nil then - o:value(string.sub(luci.sys.exec(string.format("echo '%s' |awk -F ',' '{print $1}' 2>/dev/null",l)),1,-2)) - end -end -file:close() -o:value("0", translate("Custom Template")) - ----- Custom Template -o = s:option(Value, "custom_template_url", translate("Custom Template URL")) -o.rmempty = true -o.placeholder = translate("Not Null") -o.datatype = "or(host, string)" -o:depends("template", "0") - ----- emoji -o = s:option(ListValue, "emoji", translate("Emoji")) -o.rmempty = false -o:value("false", translate("Disable")) -o:value("true", translate("Enable")) -o.default=0 -o:depends("sub_convert", "1") - ----- udp -o = s:option(ListValue, "udp", translate("UDP Enable")) -o.rmempty = false -o:value("false", translate("Disable")) -o:value("true", translate("Enable")) -o.default=0 -o:depends("sub_convert", "1") - ----- skip-cert-verify -o = s:option(ListValue, "skip_cert_verify", translate("skip-cert-verify")) -o.rmempty = false -o:value("false", translate("Disable")) -o:value("true", translate("Enable")) -o.default=0 -o:depends("sub_convert", "1") - ----- sort -o = s:option(ListValue, "sort", translate("Sort")) -o.rmempty = false -o:value("false", translate("Disable")) -o:value("true", translate("Enable")) -o.default=0 -o:depends("sub_convert", "1") - ----- node type -o = s:option(ListValue, "node_type", translate("Append Node Type")) -o.rmempty = false -o:value("false", translate("Disable")) -o:value("true", translate("Enable")) -o.default=0 -o:depends("sub_convert", "1") - ----- key -o = s:option(DynamicList, "keyword", font_red..bold_on..translate("Keyword Match")..bold_off..font_off) -o.description = font_red..bold_on..translate("(eg: hk or tw&bgp)")..bold_off..font_off -o.rmempty = true - ----- exkey -o = s:option(DynamicList, "ex_keyword", font_red..bold_on..translate("Exclude Keyword Match")..bold_off..font_off) -o.description = font_red..bold_on..translate("(eg: hk or tw&bgp)")..bold_off..font_off -o.rmempty = true - -local t = { - {Commit, Back} -} -a = m:section(Table, t) - -o = a:option(Button,"Commit") -o.inputtitle = translate("Commit Configurations") -o.inputstyle = "apply" -o.write = function() - m.uci:commit(openclash) - luci.http.redirect(m.redirect) -end - -o = a:option(Button,"Back") -o.inputtitle = translate("Back Configurations") -o.inputstyle = "reset" -o.write = function() - m.uci:revert(openclash) - luci.http.redirect(m.redirect) -end - -return m diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config-subscribe.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config-subscribe.lua deleted file mode 100644 index 0d446d4e08..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config-subscribe.lua +++ /dev/null @@ -1,141 +0,0 @@ - -local m, s, o -local openclash = "openclash" -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local UTIL = require "luci.util" -local fs = require "luci.openclash" -local uci = require "luci.model.uci".cursor() - -font_red = [[]] -font_off = [[]] -bold_on = [[]] -bold_off = [[]] - -m = Map(openclash, translate("Config Update")) -m.pageaction = false - -s = m:section(TypedSection, "openclash") -s.anonymous = true - ----- update Settings -o = s:option(Flag, "auto_update", translate("Auto Update")) -o.description = translate("Auto Update Server subscription") -o.default=0 - -o = s:option(ListValue, "config_auto_update_mode", translate("Update Mode")) -o:depends("auto_update", "1") -o:value("0", translate("Appointment Mode")) -o:value("1", translate("Loop Mode")) -o.default=0 -o.rmempty = true - -o = s:option(ListValue, "config_update_week_time", translate("Update Time (Every Week)")) -o:depends("config_auto_update_mode", "0") -o:value("*", translate("Every Day")) -o:value("1", translate("Every Monday")) -o:value("2", translate("Every Tuesday")) -o:value("3", translate("Every Wednesday")) -o:value("4", translate("Every Thursday")) -o:value("5", translate("Every Friday")) -o:value("6", translate("Every Saturday")) -o:value("0", translate("Every Sunday")) -o.default=1 -o.rmempty = true - -o = s:option(ListValue, "auto_update_time", translate("Update time (every day)")) -o:depends("config_auto_update_mode", "0") -for t = 0,23 do -o:value(t, t..":00") -end -o.default=0 -o.rmempty = true - -o = s:option(Value, "config_update_interval", translate("Update Interval(min)")) -o.default="60" -o.datatype = "integer" -o:depends("config_auto_update_mode", "1") -o.rmempty = true - --- [[ Edit Server ]] -- -s = m:section(TypedSection, "config_subscribe", translate("Config Subscribe Edit")) -s.anonymous = true -s.addremove = true -s.sortable = true -s.template = "cbi/tblsection" -s.extedit = luci.dispatcher.build_url("admin/services/openclash/config-subscribe-edit/%s") -function s.create(...) - local sid = TypedSection.create(...) - if sid then - luci.http.redirect(s.extedit % sid) - return - end -end - ----- enable flag -o = s:option(Flag, "enabled", translate("Enable")) -o.rmempty = false -o.default = o.enabled -o.cfgvalue = function(...) - return Flag.cfgvalue(...) or "1" -end - ----- name -o = s:option(DummyValue, "name", translate("Config Alias")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("config") -end - ----- address -o = s:option(Value, "address", translate("Subscribe Address")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - ----- template -o = s:option(DummyValue, "template", translate("Template Name")) -function o.cfgvalue(...) - if Value.cfgvalue(...) ~= "0" then - return Value.cfgvalue(...) or translate("None") - else - return translate("Custom Template") - end -end - -local t = { - {Commit, Apply} -} - -a = m:section(Table, t) - -o = a:option(Button, "Commit") -o.inputtitle = translate("Commit Configurations") -o.inputstyle = "apply" -o.write = function() - fs.unlink("/tmp/Proxy_Group") - m.uci:commit("openclash") -end - -o = a:option(Button, "Apply") -o.inputtitle = translate("Apply Configurations") -o.inputstyle = "apply" -o.write = function() - fs.unlink("/tmp/Proxy_Group") - m.uci:set("openclash", "config", "enable", 1) - m.uci:commit("openclash") - uci:foreach("openclash", "config_subscribe", - function(s) - if s.name ~= "" and s.name ~= nil and s.enabled == "1" then - local back_cfg_path_yaml="/etc/openclash/backup/" .. s.name .. ".yaml" - local back_cfg_path_yml="/etc/openclash/backup/" .. s.name .. ".yml" - fs.unlink(back_cfg_path_yaml) - fs.unlink(back_cfg_path_yml) - end - end) - SYS.call("/usr/share/openclash/openclash.sh >/dev/null 2>&1 &") - HTTP.redirect(DISP.build_url("admin", "services", "openclash")) -end - -return m diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config.lua deleted file mode 100644 index 81b2432cbd..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/config.lua +++ /dev/null @@ -1,398 +0,0 @@ - -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local UTIL = require "luci.util" -local fs = require "luci.openclash" -local uci = require("luci.model.uci").cursor() -local CHIF = "0" - -font_green = [[]] -font_off = [[]] -bold_on = [[]] -bold_off = [[]] -align_mid = [[

]] -align_mid_off = [[

]] - -function IsYamlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-5,-1)) - return e == ".yaml" -end -function IsYmlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-4,-1)) - return e == ".yml" -end - -function default_config_set(f) - local cf=string.sub(SYS.exec("uci get openclash.config.config_path 2>/dev/null"), 1, -2) - if cf == "/etc/openclash/config/"..f or not cf or cf == "" or not fs.isfile(cf) then - if CHIF == "1" and cf == "/etc/openclash/config/"..f then - return - end - local fis = fs.glob("/etc/openclash/config/*")[1] - if fis ~= nil then - fcf = fs.basename(fis) - if fcf then - SYS.exec(string.format('uci set openclash.config.config_path="/etc/openclash/config/%s"',fcf)) - uci:commit("openclash") - end - else - SYS.exec("uci set openclash.config.config_path=/etc/openclash/config/config.yaml") - uci:commit("openclash") - end - end -end - -function config_check(CONFIG_FILE) - local yaml = fs.isfile(CONFIG_FILE) - if yaml then - yaml = SYS.exec(string.format('ruby -ryaml -E UTF-8 -e "puts YAML.load_file(\'%s\')" 2>/dev/null',CONFIG_FILE)) - if yaml ~= "false\n" and yaml ~= "" then - return "Config Normal" - else - return "Config Abnormal" - end - elseif (yaml ~= 0) then - return "File Not Exist" - end -end - -ful = SimpleForm("upload", translate("Config Manage"), nil) -ful.reset = false -ful.submit = false - -sul =ful:section(SimpleSection, "") -o = sul:option(FileUpload, "") -o.template = "openclash/upload" -um = sul:option(DummyValue, "", nil) -um.template = "openclash/dvalue" - -local dir, fd, clash -clash = "/etc/openclash/clash" -dir = "/etc/openclash/config/" -bakck_dir="/etc/openclash/backup" -proxy_pro_dir="/etc/openclash/proxy_provider/" -rule_pro_dir="/etc/openclash/rule_provider/" -create_bakck_dir=fs.mkdir(bakck_dir) -create_proxy_pro_dir=fs.mkdir(proxy_pro_dir) -create_rule_pro_dir=fs.mkdir(rule_pro_dir) - - -HTTP.setfilehandler( - function(meta, chunk, eof) - local fp = HTTP.formvalue("file_type") - if not fd then - if not meta then return end - - if fp == "config" then - if meta and chunk then fd = nixio.open(dir .. meta.file, "w") end - elseif fp == "proxy-provider" then - if meta and chunk then fd = nixio.open(proxy_pro_dir .. meta.file, "w") end - elseif fp == "rule-provider" then - if meta and chunk then fd = nixio.open(rule_pro_dir .. meta.file, "w") end - end - - if not fd then - um.value = translate("upload file error.") - return - end - end - if chunk and fd then - fd:write(chunk) - end - if eof and fd then - fd:close() - fd = nil - if fp == "config" then - CHIF = "1" - if IsYamlFile(meta.file) then - local yamlbackup="/etc/openclash/backup/" .. meta.file - local c=fs.copy(dir .. meta.file,yamlbackup) - default_config_set(meta.file) - end - if IsYmlFile(meta.file) then - local ymlname=string.lower(string.sub(meta.file,0,-5)) - local ymlbackup="/etc/openclash/backup/".. ymlname .. ".yaml" - local c=fs.rename(dir .. meta.file,"/etc/openclash/config/".. ymlname .. ".yaml") - local c=fs.copy("/etc/openclash/config/".. ymlname .. ".yaml",ymlbackup) - local yamlname=ymlname .. ".yaml" - default_config_set(yamlname) - end - um.value = translate("File saved to") .. ' "/etc/openclash/config/"' - elseif fp == "proxy-provider" then - um.value = translate("File saved to") .. ' "/etc/openclash/proxy_provider/"' - elseif fp == "rule-provider" then - um.value = translate("File saved to") .. ' "/etc/openclash/rule_provider/"' - end - fs.unlink("/tmp/Proxy_Group") - end - end -) - -if HTTP.formvalue("upload") then - local f = HTTP.formvalue("ulfile") - if #f <= 0 then - um.value = translate("No specify upload file.") - end -end - -local function i(e) -local t=0 -local a={' KB',' MB',' GB',' TB'} -repeat -e=e/1024 -t=t+1 -until(e<=1024) -return string.format("%.1f",e)..a[t] -end - -local e,a={} -for t,o in ipairs(fs.glob("/etc/openclash/config/*"))do -a=fs.stat(o) -if a then -e[t]={} -e[t].name=fs.basename(o) -BACKUP_FILE="/etc/openclash/backup/".. e[t].name -CONFIG_FILE="/etc/openclash/config/".. e[t].name -if fs.mtime(BACKUP_FILE) then - e[t].mtime=os.date("%Y-%m-%d %H:%M:%S",fs.mtime(BACKUP_FILE)) -else - e[t].mtime=os.date("%Y-%m-%d %H:%M:%S",a.mtime) -end -if string.sub(SYS.exec("uci get openclash.config.config_path 2>/dev/null"), 23, -2) == e[t].name then - e[t].state=translate("Enable") -else - e[t].state=translate("Disable") -end -e[t].size=i(a.size) -e[t].check=translate(config_check(CONFIG_FILE)) -e[t].remove=0 -end -end - -form=SimpleForm("config_file_list",translate("Config File List")) -form.reset=false -form.submit=false -tb=form:section(Table,e) -st=tb:option(DummyValue,"state",translate("State")) -st.template="openclash/cfg_check" -nm=tb:option(DummyValue,"name",translate("Config Alias")) -mt=tb:option(DummyValue,"mtime",translate("Update Time")) -sz=tb:option(DummyValue,"size",translate("Size")) -ck=tb:option(DummyValue,"check",translate("Grammar Check")) -ck.template="openclash/cfg_check" - -btnis=tb:option(Button,"switch",translate("Switch Config")) -btnis.template="openclash/other_button" -btnis.render=function(o,t,a) -if not e[t] then return false end -if IsYamlFile(e[t].name) or IsYmlFile(e[t].name) then -a.display="" -else -a.display="none" -end -o.inputstyle="apply" -Button.render(o,t,a) -end -btnis.write=function(a,t) -fs.unlink("/tmp/Proxy_Group") -SYS.exec(string.format('uci set openclash.config.config_path="/etc/openclash/config/%s"',e[t].name)) -uci:commit("openclash") -HTTP.redirect(luci.dispatcher.build_url("admin", "services", "openclash", "config")) -end - -btndl = tb:option(Button,"download",translate("Download Config")) -btndl.template="openclash/other_button" -btndl.render=function(e,t,a) -e.inputstyle="remove" -Button.render(e,t,a) -end -btndl.write = function (a,t) - local sPath, sFile, fd, block - sPath = "/etc/openclash/config/"..e[t].name - sFile = NXFS.basename(sPath) - if fs.isdirectory(sPath) then - fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r") - sFile = sFile .. ".tar.gz" - else - fd = nixio.open(sPath, "r") - end - if not fd then - return - end - HTTP.header('Content-Disposition', 'attachment; filename="%s"' % {sFile}) - HTTP.prepare_content("application/octet-stream") - while true do - block = fd:read(nixio.const.buffersize) - if (not block) or (#block ==0) then - break - else - HTTP.write(block) - end - end - fd:close() - HTTP.close() -end - -btndlr = tb:option(Button,"download_run",translate("Download Running Config")) -btndlr.template="openclash/other_button" -btndlr.render=function(c,t,a) - if string.sub(SYS.exec("uci get openclash.config.config_path 2>/dev/null"), 23, -2) == e[t].name then - a.display="" - else - a.display="none" - end -c.inputstyle="remove" -Button.render(c,t,a) -end -btndlr.write = function (a,t) - local sPath, sFile, fd, block - sPath = "/etc/openclash/"..e[t].name - sFile = NXFS.basename(sPath) - if fs.isdirectory(sPath) then - fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r") - sFile = sFile .. ".tar.gz" - else - fd = nixio.open(sPath, "r") - end - if not fd then - return - end - HTTP.header('Content-Disposition', 'attachment; filename="%s"' % {sFile}) - HTTP.prepare_content("application/octet-stream") - while true do - block = fd:read(nixio.const.buffersize) - if (not block) or (#block ==0) then - break - else - HTTP.write(block) - end - end - fd:close() - HTTP.close() -end - -btnrm=tb:option(Button,"remove",translate("Remove")) -btnrm.render=function(e,t,a) -e.inputstyle="reset" -Button.render(e,t,a) -end -btnrm.write=function(a,t) - fs.unlink("/tmp/Proxy_Group") - fs.unlink("/etc/openclash/backup/"..fs.basename(e[t].name)) - fs.unlink("/etc/openclash/history/"..fs.basename(e[t].name)) - fs.unlink("/etc/openclash/"..fs.basename(e[t].name)) - local a=fs.unlink("/etc/openclash/config/"..fs.basename(e[t].name)) - default_config_set(fs.basename(e[t].name)) - if a then table.remove(e,t)end - HTTP.redirect(DISP.build_url("admin", "services", "openclash","config")) -end - -p = SimpleForm("provider_file_manage",translate("Provider File Manage")) -p.reset = false -p.submit = false - -local provider_manage = { - {proxy_mg, rule_mg} -} - -promg = p:section(Table, provider_manage) - -o = promg:option(Button, "proxy_mg") -o.inputtitle = translate("Proxy Provider File List") -o.inputstyle = "reload" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "proxy-provider-file-manage")) -end - -o = promg:option(Button, "rule_mg") -o.inputtitle = translate("Rule Providers File List") -o.inputstyle = "reload" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "rule-providers-file-manage")) -end - -m = SimpleForm("openclash",translate("Config File Edit")) -m.reset = false -m.submit = false - -local tab = { - {user, default} -} - -s = m:section(Table, tab) -s.description = align_mid..translate("Support syntax check, press").." "..font_green..bold_on.."F11"..bold_off..font_off.." "..translate("to enter full screen editing mode")..align_mid_off -s.anonymous = true -s.addremove = false - -local conf = string.sub(SYS.exec("uci get openclash.config.config_path 2>/dev/null"), 1, -2) -local dconf = "/usr/share/openclash/res/default.yaml" -local conf_name = fs.basename(conf) -if not conf_name or conf == "" then conf_name = "config.yaml" conf = "/etc/openclash/config/config.yaml" end -local sconf = "/etc/openclash/"..conf_name - -sev = s:option(TextValue, "user") -sev.description = translate("Modify Your Config file:").." "..font_green..bold_on..conf_name..bold_off..font_off.." "..translate("Here, Except The Settings That Were Taken Over") -sev.rows = 40 -sev.wrap = "off" -sev.cfgvalue = function(self, section) - return NXFS.readfile(conf) or NXFS.readfile(dconf) or "" -end -sev.write = function(self, section, value) -if (CHIF == "0") then - value = value:gsub("\r\n?", "\n") - local old_value = NXFS.readfile(conf) - if value ~= old_value then - NXFS.writefile(conf, value) - end -end -end - -def = s:option(TextValue, "default") -if fs.isfile(sconf) then - def.description = translate("Config File Edited By OpenClash For Running") -else - def.description = translate("Default Config File With Correct Template") -end -def.rows = 40 -def.wrap = "off" -def.readonly = true -def.cfgvalue = function(self, section) - return NXFS.readfile(sconf) or NXFS.readfile(dconf) or "" -end -def.write = function(self, section, value) -end - -o = s:option(DummyValue, "") -o.anonymous=true -o.template = "openclash/config_editor" - -local t = { - {Commit, Apply} -} - -a = m:section(Table, t) - -o = a:option(Button, "Commit") -o.inputtitle = translate("Commit Configurations") -o.inputstyle = "apply" -o.write = function() - fs.unlink("/tmp/Proxy_Group") - uci:commit("openclash") -end - -o = a:option(Button, "Apply") -o.inputtitle = translate("Apply Configurations") -o.inputstyle = "apply" -o.write = function() - fs.unlink("/tmp/Proxy_Group") - uci:set("openclash", "config", "enable", 1) - uci:commit("openclash") - SYS.call("/etc/init.d/openclash restart >/dev/null 2>&1 &") - HTTP.redirect(DISP.build_url("admin", "services", "openclash")) -end - -return ful , form , p , m diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/game-rules-manage.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/game-rules-manage.lua deleted file mode 100644 index 061aea51c1..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/game-rules-manage.lua +++ /dev/null @@ -1,96 +0,0 @@ - -local form, m -local openclash = "openclash" -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local UTIL = require "luci.util" -local fs = require "luci.openclash" -local uci = require "luci.model.uci".cursor() - -m = SimpleForm("openclash", translate("Game Rules List")) -m.description=translate("规则项目: SSTap-Rule ( https://github.com/FQrabbit/SSTap-Rule )
") -m.reset = false -m.submit = false - -local t = { - {Refresh, Apply} -} - -a = m:section(Table, t) - -o = a:option(Button, "Refresh") -o.inputtitle = translate("Refresh Page") -o.inputstyle = "apply" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "game-rules-manage")) -end - -o = a:option(Button, "Apply") -o.inputtitle = translate("Back Configurations") -o.inputstyle = "reset" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "rule-providers-settings")) -end - -if not NXFS.access("/tmp/rules_name") then - SYS.call("awk -F ',' '{print $1}' /usr/share/openclash/res/game_rules.list > /tmp/rules_name 2>/dev/null") -end -file = io.open("/tmp/rules_name", "r"); - ----- Rules List -local e={},o,t -if NXFS.access("/tmp/rules_name") then -for o in file:lines() do -table.insert(e,o) -end -for t,o in ipairs(e) do -e[t]={} -e[t].num=string.format(t) -e[t].name=o -e[t].filename=string.sub(luci.sys.exec(string.format("grep -F '%s,' /usr/share/openclash/res/game_rules.list |awk -F ',' '{print $3}' 2>/dev/null",e[t].name)),1,-2) -if e[t].filename == "" then -e[t].filename=string.sub(luci.sys.exec(string.format("grep -F '%s,' /usr/share/openclash/res/game_rules.list |awk -F ',' '{print $2}' 2>/dev/null",e[t].name)),1,-2) -end -RULE_FILE="/etc/openclash/game_rules/".. e[t].filename -if fs.mtime(RULE_FILE) then -e[t].mtime=os.date("%Y-%m-%d %H:%M:%S",fs.mtime(RULE_FILE)) -else -e[t].mtime="/" -end -if fs.isfile(RULE_FILE) then - e[t].exist=translate("Exist") -else - e[t].exist=translate("Not Exist") -end -e[t].remove=0 -end -end -file:close() - -form=SimpleForm("filelist") -form.reset=false -form.submit=false -tb=form:section(Table,e) -nu=tb:option(DummyValue,"num",translate("Order Number")) -st=tb:option(DummyValue,"exist",translate("State")) -st.template="openclash/cfg_check" -nm=tb:option(DummyValue,"name",translate("Rule Name")) -fm=tb:option(DummyValue,"filename",translate("File Name")) -mt=tb:option(DummyValue,"mtime",translate("Update Time")) - -btnis=tb:option(DummyValue,"filename",translate("Download Rule")) -btnis.template="openclash/download_rule" - -btnrm=tb:option(Button,"remove",translate("Remove")) -btnrm.render=function(e,t,a) -e.inputstyle="reset" -Button.render(e,t,a) -end -btnrm.write=function(a,t) -fs.unlink("/etc/openclash/game_rules/"..e[t].filename) -HTTP.redirect(DISP.build_url("admin", "services", "openclash", "game-rules-manage")) -end - -return m, form diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/groups-config.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/groups-config.lua deleted file mode 100644 index 164f875475..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/groups-config.lua +++ /dev/null @@ -1,131 +0,0 @@ - -local m, s, o -local openclash = "openclash" -local uci = luci.model.uci.cursor() -local fs = require "luci.openclash" -local sys = require "luci.sys" -local sid = arg[1] - -font_red = [[]] -font_off = [[]] -bold_on = [[]] -bold_off = [[]] - -function IsYamlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-5,-1)) - return e == ".yaml" -end -function IsYmlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-4,-1)) - return e == ".yml" -end - -m = Map(openclash, translate("Edit Group")) -m.pageaction = false -m.redirect = luci.dispatcher.build_url("admin/services/openclash/servers") -if m.uci:get(openclash, sid) ~= "groups" then - luci.http.redirect(m.redirect) - return -end - --- [[ Groups Setting ]]-- -s = m:section(NamedSection, sid, "groups") -s.anonymous = true -s.addremove = false - -o = s:option(ListValue, "config", translate("Config File")) -o:value("all", translate("Use For All Config File")) -local e,a={} -for t,f in ipairs(fs.glob("/etc/openclash/config/*"))do - a=fs.stat(f) - if a then - e[t]={} - e[t].name=fs.basename(f) - if IsYamlFile(e[t].name) or IsYmlFile(e[t].name) then - o:value(e[t].name) - end - end -end - -o = s:option(ListValue, "type", translate("Group Type")) -o.rmempty = true -o.description = translate("Choose The Operation Mode") -o:value("select", translate("Manual-Select")) -o:value("url-test", translate("URL-Test")) -o:value("fallback", translate("Fallback")) -o:value("load-balance", translate("Load-Balance")) -o:value("relay", translate("Relay-Traffic")) - -o = s:option(ListValue, "strategy", translate("Strategy Type")) -o.rmempty = true -o.description = translate("Choose The Load-Balance's Strategy Type") -o:value("consistent-hashing", translate("Consistent-hashing")) -o:value("round-robin", translate("Round-robin")) -o:depends("type", "load-balance") - -o = s:option(Value, "name", translate("Group Name")) -o.rmempty = false - -o = s:option(ListValue, "disable_udp", translate("Disable UDP")) -o:value("false", translate("Disable")) -o:value("true", translate("Enable")) -o.default = "false" -o.rmempty = false - -o = s:option(Value, "test_url", translate("Test URL")) -o:value("http://www.gstatic.com/generate_204") -o:value("https://cp.cloudflare.com/generate_204") -o.rmempty = false -o:depends("type", "url-test") -o:depends("type", "fallback") -o:depends("type", "load-balance") - -o = s:option(Value, "test_interval", translate("Test Interval(s)")) -o.default = "300" -o.rmempty = false -o:depends("type", "url-test") -o:depends("type", "fallback") -o:depends("type", "load-balance") - -o = s:option(Value, "tolerance", translate("Tolerance(ms)")) -o.default = "150" -o.rmempty = true -o:depends("type", "url-test") - -o = s:option(DynamicList, "other_group", translate("Other Group")) -o.description = font_red..bold_on..translate("The Added Proxy Groups Must Exist Except 'DIRECT' & 'REJECT'")..bold_off..font_off -uci:foreach("openclash", "groups", - function(s) - if s.name ~= "" and s.name ~= nil and s.name ~= m.uci:get(openclash, sid, "name") then - o:value(s.name) - end - end) -o:value("DIRECT") -o:value("REJECT") -o.rmempty = true - -local t = { - {Commit, Back} -} -a = m:section(Table, t) - -o = a:option(Button,"Commit") -o.inputtitle = translate("Commit Configurations") -o.inputstyle = "apply" -o.write = function() - m.uci:commit(openclash) - sys.call("/usr/share/openclash/yml_groups_name_ch.sh") - luci.http.redirect(m.redirect) -end - -o = a:option(Button,"Back") -o.inputtitle = translate("Back Configurations") -o.inputstyle = "reset" -o.write = function() - m.uci:revert(openclash) - luci.http.redirect(m.redirect) -end - -return m \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/log.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/log.lua deleted file mode 100644 index adcd73dd21..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/log.lua +++ /dev/null @@ -1,19 +0,0 @@ --- -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" - -m = Map("openclash", translate("Server Logs")) -s = m:section(TypedSection, "openclash") -m.pageaction = false -s.anonymous = true -s.addremove=false - -log = s:option(TextValue, "clog") -log.readonly=true -log.pollcheck=true -log.template="openclash/log" -log.description = translate("") -log.rows = 29 - -return m \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/other-rules-edit.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/other-rules-edit.lua deleted file mode 100644 index 1ffbed74f1..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/other-rules-edit.lua +++ /dev/null @@ -1,296 +0,0 @@ - -local m, s, o -local openclash = "openclash" -local uci = luci.model.uci.cursor() -local fs = require "luci.openclash" -local sys = require "luci.sys" -local sid = arg[1] - -font_red = [[]] -font_green = [[]] -font_off = [[]] -bold_on = [[]] -bold_off = [[]] - -function IsYamlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-5,-1)) - return e == ".yaml" -end -function IsYmlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-4,-1)) - return e == ".yml" -end - -m = Map(openclash, translate("Other Rules Edit")) -m.pageaction = false -m.redirect = luci.dispatcher.build_url("admin/services/openclash/settings") -if m.uci:get(openclash, sid) ~= "other_rules" then - luci.http.redirect(m.redirect) - return -end - --- [[ Other Rules Setting ]]-- -s = m:section(NamedSection, sid, "other_rules") -s.anonymous = true -s.addremove = false - -o = s:option(Value, "Note", translate("Note")) -o.default = "default" -o.rmempty = false - -o = s:option(ListValue, "config", translate("Config File")) -local e,a={} -local groupnames,filename -for t,f in ipairs(fs.glob("/etc/openclash/config/*"))do - a=fs.stat(f) - if a then - e[t]={} - e[t].name=fs.basename(f) - if IsYamlFile(e[t].name) or IsYmlFile(e[t].name) then - o:value(e[t].name) - end - if e[t].name == m.uci:get(openclash, sid, "config") then - filename = e[t].name - groupnames = sys.exec(string.format('ruby -ryaml -E UTF-8 -e "YAML.load_file(\'%s\')[\'proxy-groups\'].each do |i| puts i[\'name\']+\'##\' end" 2>/dev/null',f)) - end - end -end - -o = s:option(Button, translate("Get Group Names")) -o.title = translate("Get Group Names") -o.inputtitle = translate("Get Group Names") -o.description = translate("Get Group Names After Select Config File") -o.inputstyle = "reload" -o.write = function() - m.uci:commit("openclash") - luci.http.redirect(luci.dispatcher.build_url("admin/services/openclash/other-rules-edit/%s") % sid) -end - -if groupnames ~= nil and filename ~= nil then -o = s:option(ListValue, "rule_name", translate("Other Rules Name")) -o.rmempty = true -o:value("lhie1", translate("lhie1 Rules")) -o:value("ConnersHua", translate("ConnersHua(Provider-type) Rules")) -o:value("ConnersHua_return", translate("ConnersHua Return Rules")) - -o = s:option(ListValue, "GlobalTV", translate("GlobalTV")) -o:depends("rule_name", "lhie1") -o:depends("rule_name", "ConnersHua") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "AsianTV", translate("AsianTV")) -o:depends("rule_name", "lhie1") -o:depends("rule_name", "ConnersHua") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Proxy", translate("Proxy")) -o:depends("rule_name", "lhie1") -o:depends("rule_name", "ConnersHua") -o:depends("rule_name", "ConnersHua_return") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Youtube", translate("Youtube")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Apple", translate("Apple")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Scholar", translate("Scholar")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Microsoft", translate("Microsoft")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Netflix", translate("Netflix")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Disney", translate("Disney")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Spotify", translate("Spotify")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Steam", translate("Steam")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Speedtest", translate("Speedtest")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Telegram", translate("Telegram")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "PayPal", translate("PayPal")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "AdBlock", translate("AdBlock")) -o:depends("rule_name", "lhie1") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Domestic", translate("Domestic")) -o:depends("rule_name", "lhie1") -o:depends("rule_name", "ConnersHua") -o.rmempty = true -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -o = s:option(ListValue, "Others", translate("Others")) -o:depends("rule_name", "lhie1") -o:depends("rule_name", "ConnersHua") -o:depends("rule_name", "ConnersHua_return") -o.rmempty = true -o.description = translate("Choose Proxy Groups, Base On Your Config File").." ( "..font_green..bold_on..filename..bold_off..font_off.." )" -for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do - if groupname ~= nil and groupname ~= "" then - o:value(groupname) - end -end -o:value("DIRECT") -o:value("REJECT") - -end - -local t = { - {Commit, Back} -} -a = m:section(Table, t) - -o = a:option(Button,"Commit") -o.inputtitle = translate("Commit Configurations") -o.inputstyle = "apply" -o.write = function() - m.uci:commit(openclash) - --luci.http.redirect(m.redirect) -end - -o = a:option(Button,"Back") -o.inputtitle = translate("Back Configurations") -o.inputstyle = "reset" -o.write = function() - m.uci:revert(openclash) - luci.http.redirect(m.redirect) -end - -return m \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-config.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-config.lua deleted file mode 100644 index a51d0486c6..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-config.lua +++ /dev/null @@ -1,131 +0,0 @@ - -local m, s, o -local openclash = "openclash" -local uci = luci.model.uci.cursor() -local sys = require "luci.sys" -local sid = arg[1] -local fs = require "luci.openclash" - -font_red = [[]] -font_off = [[]] -bold_on = [[]] -bold_off = [[]] - -function IsYamlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-5,-1)) - return e == ".yaml" -end -function IsYmlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-4,-1)) - return e == ".yml" -end - -m = Map(openclash, translate("Edit Proxy-Provider")) -m.pageaction = false -m.redirect = luci.dispatcher.build_url("admin/services/openclash/servers") -if m.uci:get(openclash, sid) ~= "proxy-provider" then - luci.http.redirect(m.redirect) - return -end - --- [[ Provider Setting ]]-- -s = m:section(NamedSection, sid, "proxy-provider") -s.anonymous = true -s.addremove = false - -o = s:option(ListValue, "config", translate("Config File")) -o:value("all", translate("Use For All Config File")) -local e,a={} -for t,f in ipairs(fs.glob("/etc/openclash/config/*"))do - a=fs.stat(f) - if a then - e[t]={} - e[t].name=fs.basename(f) - if IsYamlFile(e[t].name) or IsYmlFile(e[t].name) then - o:value(e[t].name) - end - end -end - -o = s:option(ListValue, "type", translate("Provider Type")) -o.rmempty = true -o.description = translate("Choose The Provider Type") -o:value("http") -o:value("file") - -o = s:option(Value, "name", translate("Provider Name")) -o.rmempty = false - -o = s:option(ListValue, "path", translate("Provider Path")) -o.description = translate("Update Your Proxy Provider File From Config Luci Page") -local p,h={} -for t,f in ipairs(fs.glob("/etc/openclash/proxy_provider/*"))do - h=fs.stat(f) - if h then - p[t]={} - p[t].name=fs.basename(f) - if IsYamlFile(p[t].name) or IsYmlFile(p[t].name) then - o:value("./proxy_provider/"..p[t].name) - end - end -end -o.rmempty = false -o:depends("type", "file") - -o = s:option(Value, "provider_url", translate("Provider URL")) -o.rmempty = false -o:depends("type", "http") - -o = s:option(Value, "provider_interval", translate("Provider Interval(s)")) -o.default = "3600" -o.rmempty = false -o:depends("type", "http") - -o = s:option(ListValue, "health_check", translate("Provider Health Check")) -o:value("false", translate("Disable")) -o:value("true", translate("Enable")) -o.default=true - -o = s:option(Value, "health_check_url", translate("Health Check URL")) -o:value("http://www.gstatic.com/generate_204") -o:value("https://cp.cloudflare.com/generate_204") -o.rmempty = false - -o = s:option(Value, "health_check_interval", translate("Health Check Interval(s)")) -o.default = "300" -o.rmempty = false - -o = s:option(DynamicList, "groups", translate("Proxy Group")) -o.description = font_red..bold_on..translate("No Need Set when Config Create, The added Proxy Groups Must Exist")..bold_off..font_off -o.rmempty = true -m.uci:foreach("openclash", "groups", - function(s) - if s.name ~= "" and s.name ~= nil then - o:value(s.name) - end - end) - -local t = { - {Commit, Back} -} -a = m:section(Table, t) - -o = a:option(Button,"Commit") -o.inputtitle = translate("Commit Configurations") -o.inputstyle = "apply" -o.write = function() - m.uci:commit(openclash) - luci.http.redirect(m.redirect) -end - -o = a:option(Button,"Back") -o.inputtitle = translate("Back Configurations") -o.inputstyle = "reset" -o.write = function() - m.uci:revert(openclash) - luci.http.redirect(m.redirect) -end - -return m diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-file-manage.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-file-manage.lua deleted file mode 100644 index 0f3ac40220..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/proxy-provider-file-manage.lua +++ /dev/null @@ -1,115 +0,0 @@ - -local proxy_form -local openclash = "openclash" -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local UTIL = require "luci.util" -local fs = require "luci.openclash" -local uci = require "luci.model.uci".cursor() - -local function i(e) -local t=0 -local a={' KB',' MB',' GB',' TB'} -repeat -e=e/1024 -t=t+1 -until(e<=1024) -return string.format("%.1f",e)..a[t] -end - -local p,r={} -for x,y in ipairs(fs.glob("/etc/openclash/proxy_provider/*"))do -r=fs.stat(y) -if r then -p[x]={} -p[x].name=fs.basename(y) -p[x].mtime=os.date("%Y-%m-%d %H:%M:%S",r.mtime) -p[x].size=i(r.size) -p[x].remove=0 -p[x].enable=false -end -end - -proxy_form=SimpleForm("proxy_provider_file_list",translate("Proxy Provider File List")) -proxy_form.reset=false -proxy_form.submit=false -tb1=proxy_form:section(Table,p) -nm1=tb1:option(DummyValue,"name",translate("File Name")) -mt1=tb1:option(DummyValue,"mtime",translate("Update Time")) -sz1=tb1:option(DummyValue,"size",translate("Size")) - -btndl1 = tb1:option(Button,"download1",translate("Download Config")) -btndl1.template="openclash/other_button" -btndl1.render=function(y,x,r) -y.inputstyle="remove" -Button.render(y,x,r) -end -btndl1.write = function (r,x) - local sPath, sFile, fd, block - sPath = "/etc/openclash/proxy_provider/"..p[x].name - sFile = NXFS.basename(sPath) - if fs.isdirectory(sPath) then - fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r") - sFile = sFile .. ".tar.gz" - else - fd = nixio.open(sPath, "r") - end - if not fd then - return - end - HTTP.header('Content-Disposition', 'attachment; filename="%s"' % {sFile}) - HTTP.prepare_content("application/octet-stream") - while true do - block = fd:read(nixio.const.buffersize) - if (not block) or (#block ==0) then - break - else - HTTP.write(block) - end - end - fd:close() - HTTP.close() -end - -btnrm1=tb1:option(Button,"remove1",translate("Remove")) -btnrm1.render=function(p,x,r) -p.inputstyle="reset" -Button.render(p,x,r) -end -btnrm1.write=function(r,x) -local r=fs.unlink("/etc/openclash/proxy_provider/"..luci.openclash.basename(p[x].name)) -if r then table.remove(p,x)end -return r -end - -local t = { - {Refresh, Delete_all, Apply} -} - -a = proxy_form:section(Table, t) - -o = a:option(Button, "Refresh") -o.inputtitle = translate("Refresh Page") -o.inputstyle = "apply" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "proxy-provider-file-manage")) -end - -o = a:option(Button, "Delete_all") -o.inputtitle = translate("Delete All File") -o.inputstyle = "remove" -o.write = function() - luci.sys.call("rm -rf /etc/openclash/proxy_provider/* >/dev/null 2>&1") - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "proxy-provider-file-manage")) -end - -o = a:option(Button, "Apply") -o.inputtitle = translate("Back Configurations") -o.inputstyle = "reset" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "config")) -end - -return proxy_form diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-config.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-config.lua deleted file mode 100644 index b4095ee84a..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-config.lua +++ /dev/null @@ -1,128 +0,0 @@ - -local m, s, o -local openclash = "openclash" -local uci = luci.model.uci.cursor() -local fs = require "luci.openclash" -local sys = require "luci.sys" -local sid = arg[1] - -font_red = [[]] -font_off = [[]] -bold_on = [[]] -bold_off = [[]] - -function IsYamlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-5,-1)) - return e == ".yaml" -end -function IsYmlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-4,-1)) - return e == ".yml" -end - -m = Map(openclash, translate("Edit Rule Providers")) -m.pageaction = false -m.description=translate("规则集使用介绍:https://lancellc.gitbook.io/clash/clash-config-file/rule-provider") -m.redirect = luci.dispatcher.build_url("admin/services/openclash/rule-providers-settings") -if m.uci:get(openclash, sid) ~= "rule_providers" then - luci.http.redirect(m.redirect) - return -end - --- [[ Rule Providers Setting ]]-- -s = m:section(NamedSection, sid, "rule_providers") -s.anonymous = true -s.addremove = false - -o = s:option(ListValue, "config", translate("Config File")) -o:value("all", translate("Use For All Config File")) -local e,a={} -for t,f in ipairs(fs.glob("/etc/openclash/config/*"))do - a=fs.stat(f) - if a then - e[t]={} - e[t].name=fs.basename(f) - if IsYamlFile(e[t].name) or IsYmlFile(e[t].name) then - o:value(e[t].name) - end - end -end - -o = s:option(Value, "name", translate("Rule Providers Name")) -o.rmempty = false - -o = s:option(ListValue, "type", translate("Rule Providers Type")) -o.rmempty = true -o.description = translate("Choose The Rule Providers Type") -o:value("http", translate("http")) -o:value("file", translate("file")) - -o = s:option(ListValue, "behavior", translate("Rule Behavior")) -o.rmempty = true -o.description = translate("Choose The Rule Behavior") -o:value("domain") -o:value("ipcidr") -o:value("classical") - -o = s:option(ListValue, "path", translate("Rule Providers Path")) -o.description = translate("Update Your Rule Providers File From Config Luci Page") -local p,h={} -for t,f in ipairs(fs.glob("/etc/openclash/rule_provider/*"))do - h=fs.stat(f) - if h then - p[t]={} - p[t].name=fs.basename(f) - if IsYamlFile(p[t].name) or IsYmlFile(p[t].name) then - o:value("./rule_provider/"..p[t].name) - end - end -end -o.rmempty = false -o:depends("type", "file") - -o = s:option(Value, "url", translate("Rule Providers URL")) -o.rmempty = false -o:depends("type", "http") - -o = s:option(Value, "interval", translate("Rule Providers Interval(s)")) -o.default = "86400" -o.rmempty = false -o:depends("type", "http") - -o = s:option(ListValue, "group", translate("Set Proxy Group")) -o.description = font_red..bold_on..translate("The Added Proxy Groups Must Exist Except 'DIRECT' & 'REJECT'")..bold_off..font_off -o.rmempty = true -m.uci:foreach("openclash", "groups", - function(s) - if s.name ~= "" and s.name ~= nil then - o:value(s.name) - end - end) -o:value("DIRECT") -o:value("REJECT") - -local t = { - {Commit, Back} -} -a = m:section(Table, t) - -o = a:option(Button,"Commit") -o.inputtitle = translate("Commit Configurations") -o.inputstyle = "apply" -o.write = function() - m.uci:commit(openclash) - sys.call("/usr/share/openclash/yml_groups_name_ch.sh") - luci.http.redirect(m.redirect) -end - -o = a:option(Button,"Back") -o.inputtitle = translate("Back Configurations") -o.inputstyle = "reset" -o.write = function() - m.uci:revert(openclash) - luci.http.redirect(m.redirect) -end - -return m diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-file-manage.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-file-manage.lua deleted file mode 100644 index 6dfc8bbcd7..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-file-manage.lua +++ /dev/null @@ -1,115 +0,0 @@ - -local rule_form -local openclash = "openclash" -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local UTIL = require "luci.util" -local fs = require "luci.openclash" -local uci = require "luci.model.uci".cursor() - -local function i(e) -local t=0 -local a={' KB',' MB',' GB',' TB'} -repeat -e=e/1024 -t=t+1 -until(e<=1024) -return string.format("%.1f",e)..a[t] -end - -local g,h={} -for n,m in ipairs(fs.glob("/etc/openclash/rule_provider/*"))do -h=fs.stat(m) -if h then -g[n]={} -g[n].name=fs.basename(m) -g[n].mtime=os.date("%Y-%m-%d %H:%M:%S",h.mtime) -g[n].size=i(h.size) -g[n].remove=0 -g[n].enable=false -end -end - -rule_form=SimpleForm("rule_provider_file_list",translate("Rule Providers File List")) -rule_form.reset=false -rule_form.submit=false -tb2=rule_form:section(Table,g) -nm2=tb2:option(DummyValue,"name",translate("File Name")) -mt2=tb2:option(DummyValue,"mtime",translate("Update Time")) -sz2=tb2:option(DummyValue,"size",translate("Size")) - -btndl2 = tb2:option(Button,"download2",translate("Download Config")) -btndl2.template="openclash/other_button" -btndl2.render=function(m,n,h) -m.inputstyle="remove" -Button.render(m,n,h) -end -btndl2.write = function (h,n) - local sPath, sFile, fd, block - sPath = "/etc/openclash/rule_provider/"..g[n].name - sFile = NXFS.basename(sPath) - if fs.isdirectory(sPath) then - fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r") - sFile = sFile .. ".tar.gz" - else - fd = nixio.open(sPath, "r") - end - if not fd then - return - end - HTTP.header('Content-Disposition', 'attachment; filename="%s"' % {sFile}) - HTTP.prepare_content("application/octet-stream") - while true do - block = fd:read(nixio.const.buffersize) - if (not block) or (#block ==0) then - break - else - HTTP.write(block) - end - end - fd:close() - HTTP.close() -end - -btnrm2=tb2:option(Button,"remove2",translate("Remove")) -btnrm2.render=function(g,n,h) -g.inputstyle="reset" -Button.render(g,n,h) -end -btnrm2.write=function(h,n) -local h=fs.unlink("/etc/openclash/rule_provider/"..luci.openclash.basename(g[n].name)) -if h then table.remove(g,n)end -return h -end - -local t = { - {Refresh, Delete_all, Apply} -} - -a = rule_form:section(Table, t) - -o = a:option(Button, "Refresh") -o.inputtitle = translate("Refresh Page") -o.inputstyle = "apply" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "rule-providers-file-manage")) -end - -o = a:option(Button, "Delete_all") -o.inputtitle = translate("Delete All File") -o.inputstyle = "remove" -o.write = function() - luci.sys.call("rm -rf /etc/openclash/rule_provider/* >/dev/null 2>&1") - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "rule-providers-file-manage")) -end - -o = a:option(Button, "Apply") -o.inputtitle = translate("Back Configurations") -o.inputstyle = "reset" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "config")) -end - -return rule_form diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-manage.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-manage.lua deleted file mode 100644 index 0858ddcf2d..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-manage.lua +++ /dev/null @@ -1,115 +0,0 @@ - -local form, m -local openclash = "openclash" -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local UTIL = require "luci.util" -local fs = require "luci.openclash" -local uci = require "luci.model.uci".cursor() - -m = SimpleForm("openclash", translate("Other Rule Providers List")) -m.description=translate("规则项目: ConnersHua ( https://github.com/DivineEngine/Profiles ) \ -
规则项目: lhie1 ( https://github.com/lhie1/Rules )") -m.reset = false -m.submit = false - -local t = { - {Apply} -} - -a = m:section(Table, t) - -o = a:option(Button, "Refresh") -o.inputtitle = translate("Refresh Page") -o.inputstyle = "apply" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "rule-providers-manage")) -end - -o = a:option(Button, "Apply") -o.inputtitle = translate("Back Configurations") -o.inputstyle = "reset" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "rule-providers-settings")) -end - -if not NXFS.access("/tmp/rule_providers_name") then - SYS.call("awk -v d=',' -F ',' '{print $4d$5}' /usr/share/openclash/res/rule_providers.list > /tmp/rule_providers_name 2>/dev/null") -end -file = io.open("/tmp/rule_providers_name", "r"); - -local function i(e) -local t=0 -local a={' KB',' MB',' GB',' TB'} -repeat -e=e/1024 -t=t+1 -until(e<=1024) -return string.format("%.1f",e)..a[t] -end - ----- Rules List -local e={},o,t -if NXFS.access("/tmp/rule_providers_name") then -for o in file:lines() do -table.insert(e,o) -end -for t,o in ipairs(e) do -e[t]={} -e[t].num=string.format(t) -e[t].name=string.sub(luci.sys.exec(string.format("grep -F '%s' /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $1}' 2>/dev/null",o)),1,-2) -e[t].lfilename=string.sub(luci.sys.exec(string.format("grep -F '%s' /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $6}' 2>/dev/null",o)),1,-2) -if e[t].lfilename == "" then -e[t].lfilename=string.sub(luci.sys.exec(string.format("grep -F '%s' /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $5}' 2>/dev/null",o)),1,-2) -end -e[t].filename=o -e[t].author=string.sub(luci.sys.exec(string.format("grep -F '%s' /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $2}' 2>/dev/null",o)),1,-2) -e[t].rule_type=string.sub(luci.sys.exec(string.format("grep -F '%s' /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $3}' 2>/dev/null",o)),1,-2) -RULE_FILE="/etc/openclash/rule_provider/".. e[t].lfilename -if fs.mtime(RULE_FILE) then -e[t].size=i(fs.stat(RULE_FILE).size) -e[t].mtime=os.date("%Y-%m-%d %H:%M:%S",fs.mtime(RULE_FILE)) -else -e[t].size="/" -e[t].mtime="/" -end -if fs.isfile(RULE_FILE) then - e[t].exist=translate("Exist") -else - e[t].exist=translate("Not Exist") -end -e[t].remove=0 -end -end -file:close() - -form=SimpleForm("filelist") -form.reset=false -form.submit=false -tb=form:section(Table,e) -nu=tb:option(DummyValue,"num",translate("Order Number")) -st=tb:option(DummyValue,"exist",translate("State")) -st.template="openclash/cfg_check" -tp=tb:option(DummyValue,"rule_type",translate("Rule Type")) -nm=tb:option(DummyValue,"name",translate("Rule Name")) -au=tb:option(DummyValue,"author",translate("Rule Author")) -fm=tb:option(DummyValue,"lfilename",translate("File Name")) -sz=tb:option(DummyValue,"size",translate("Size")) -mt=tb:option(DummyValue,"mtime",translate("Update Time")) - -btnis=tb:option(DummyValue,"filename",translate("Download Rule")) -btnis.template="openclash/download_rule" - -btnrm=tb:option(Button,"remove",translate("Remove")) -btnrm.render=function(e,t,a) -e.inputstyle="reset" -Button.render(e,t,a) -end -btnrm.write=function(a,t) -fs.unlink("/etc/openclash/rule_provider/"..e[t].lfilename) -HTTP.redirect(DISP.build_url("admin", "services", "openclash", "rule-providers-manage")) -end - -return m, form diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-settings.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-settings.lua deleted file mode 100644 index 7d5937777f..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/rule-providers-settings.lua +++ /dev/null @@ -1,265 +0,0 @@ - -local m, s, o -local openclash = "openclash" -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local UTIL = require "luci.util" -local fs = require "luci.openclash" -local uci = require "luci.model.uci".cursor() - -m = Map(openclash, translate("Rule Providers and Groups")) -m.pageaction = false -m.description=translate("注意事项:
游戏代理为测试功能,不保证规则可用性 \ -
准备步骤:\ -
1、在《服务器与策略组管理》页面创建您准备使用的策略组和节点,并应用配置(节点添加时必须选择要加入的策略组),策略组类型建议:FallBack,游戏节点必须支持UDP \ -
2、点击《管理第三方游戏规则》或者《管理第三方规则集》按钮进入规则列表下载您要使用的规则 \ -
3、在此页面设置您已下载的规则的对应配置文件、策略组并保存设置 \ -
\ -
在普通模式下使用(仅游戏规则): \ -
1、在《全局设置》-《模式设置》-《运行模式》中选择普通模式并启用UDP流量代理,然后重新启动 \ -
\ -
在TUN模式下使用: \ -
1、在全局设置-版本更新标签先下载、安装对应模式内核 \ -
2、在《全局设置》-《模式设置》-《运行模式》中选择混合模式、TUN模式或者游戏模式并重新启动 \ -
\ -
本页设置时如策略组为空,请先到《服务器与策略组管理》页面进行添加 \ -
\ -
规则集使用介绍:https://lancellc.gitbook.io/clash/clash-config-file/rule-provider") - - -function IsRuleFile(e) -e=e or"" -local e=string.lower(string.sub(e,-6,-1)) -return e==".rules" -end - -function IsYamlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-5,-1)) - return e == ".yaml" -end - -function IsYmlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-4,-1)) - return e == ".yml" -end - --- [[ Edit Game Rule ]] -- -s = m:section(TypedSection, "game_config", translate("Game Rules and Groups")) -s.anonymous = true -s.addremove = true -s.sortable = true -s.template = "cbi/tblsection" -s.rmempty = false - ----- enable flag -o = s:option(Flag, "enabled", translate("Enable")) -o.rmempty = false -o.default = o.enabled -o.cfgvalue = function(...) - return Flag.cfgvalue(...) or "1" -end - ----- config -o = s:option(ListValue, "config", translate("Config File")) -o:value("all", translate("Use For All Config File")) -local e,a={} -for t,f in ipairs(fs.glob("/etc/openclash/config/*"))do - a=fs.stat(f) - if a then - e[t]={} - e[t].name=fs.basename(f) - if IsYamlFile(e[t].name) or IsYmlFile(e[t].name) then - o:value(e[t].name) - end - end -end - ----- rule name -o = s:option(DynamicList, "rule_name", translate("Game Rule's Name")) -local e,a={} -for t,f in ipairs(fs.glob("/etc/openclash/game_rules/*"))do - a=fs.stat(f) - if a then - e[t]={} - e[t].filename=fs.basename(f) - if IsRuleFile(e[t].filename) then - e[t].name=string.gsub(luci.sys.exec(string.format("grep ',%s$' /usr/share/openclash/res/game_rules.list |awk -F ',' '{print $1}' 2>/dev/null",e[t].filename)), "[\r\n]", "") - if e[t].name ~= "" and e[t].name ~= nil then - o:value(e[t].name) - end - end - end -end - -o.rmempty = true - ----- Proxy Group -o = s:option(ListValue, "group", translate("Select Proxy Group")) -uci:foreach("openclash", "groups", - function(s) - if s.name ~= "" and s.name ~= nil then - o:value(s.name) - end - end) -o:value("DIRECT") -o:value("REJECT") -o.rmempty = true - --- [[ Edit Other Rule Provider ]] -- -s = m:section(TypedSection, "rule_provider_config", translate("Other Rule Providers and Groups")) -s.anonymous = true -s.addremove = true -s.sortable = true -s.template = "cbi/tblsection" -s.rmempty = false - ----- enable flag -o = s:option(Flag, "enabled", translate("Enable")) -o.rmempty = false -o.default = o.enabled -o.cfgvalue = function(...) - return Flag.cfgvalue(...) or "1" -end - ----- config -o = s:option(ListValue, "config", translate("Config File")) -o:value("all", translate("Use For All Config File")) -local e,a={} -for t,f in ipairs(fs.glob("/etc/openclash/config/*"))do - a=fs.stat(f) - if a then - e[t]={} - e[t].name=fs.basename(f) - if IsYamlFile(e[t].name) or IsYmlFile(e[t].name) then - o:value(e[t].name) - end - end -end - ----- rule name -o = s:option(DynamicList, "rule_name", translate("Rule Provider's Name")) -local e,a={} -for t,f in ipairs(fs.glob("/etc/openclash/rule_provider/*"))do - a=fs.stat(f) - if a then - e[t]={} - e[t].filename=fs.basename(f) - if IsYamlFile(e[t].filename) or IsYmlFile(e[t].filename) then - e[t].name=string.gsub(luci.sys.exec(string.format("grep ',%s$' /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $1}' 2>/dev/null",e[t].filename)), "[\r\n]", "") - if e[t].name ~= "" and e[t].name ~= nil then - o:value(e[t].name) - end - end - end -end - -o.rmempty = true - ----- Proxy Group -o = s:option(ListValue, "group", translate("Select Proxy Group")) -uci:foreach("openclash", "groups", - function(s) - if s.name ~= "" and s.name ~= nil then - o:value(s.name) - end - end) -o:value("DIRECT") -o:value("REJECT") -o.rmempty = true - -o = s:option(Value, "interval", translate("Rule Providers Interval(s)")) -o.default = "86400" -o.rmempty = false - ----- position -o = s:option(ListValue, "position", translate("Append Position")) -o.rmempty = false -o:value("0", translate("Priority Match")) -o:value("1", translate("Extended Match")) - --- [[ Edit Custom Rule Provider ]] -- -s = m:section(TypedSection, "rule_providers", translate("Custom Rule Providers and Groups")) -s.anonymous = true -s.addremove = true -s.sortable = true -s.template = "cbi/tblsection" -s.extedit = luci.dispatcher.build_url("admin/services/openclash/rule-providers-config/%s") -function s.create(...) - local sid = TypedSection.create(...) - if sid then - luci.http.redirect(s.extedit % sid) - return - end -end - ----- enable flag -o = s:option(Flag, "enabled", translate("Enable")) -o.rmempty = false -o.default = o.enabled -o.cfgvalue = function(...) - return Flag.cfgvalue(...) or "1" -end - -o = s:option(DummyValue, "config", translate("Config File")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("all") -end - -o = s:option(DummyValue, "name", translate("Rule Providers Name")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - -o = s:option(ListValue, "position", translate("Append Position")) -o.rmempty = false -o:value("0", translate("Priority Match")) -o:value("1", translate("Extended Match")) - -local rm = { - {rule_mg, pro_mg} -} - -rmg = m:section(Table, rm) - -o = rmg:option(Button, "rule_mg") -o.inputtitle = translate("Game Rules Manage") -o.inputstyle = "reload" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "game-rules-manage")) -end - -o = rmg:option(Button, "pro_mg") -o.inputtitle = translate("Other Rule Provider Manage") -o.inputstyle = "reload" -o.write = function() - HTTP.redirect(DISP.build_url("admin", "services", "openclash", "rule-providers-manage")) -end - -local t = { - {Commit, Apply} -} - -ss = m:section(Table, t) - -o = ss:option(Button, "Commit") -o.inputtitle = translate("Commit Configurations") -o.inputstyle = "apply" -o.write = function() - m.uci:commit("openclash") -end - -o = ss:option(Button, "Apply") -o.inputtitle = translate("Apply Configurations") -o.inputstyle = "apply" -o.write = function() - m.uci:set("openclash", "config", "enable", 1) - m.uci:commit("openclash") - SYS.call("/etc/init.d/openclash restart >/dev/null 2>&1 &") - HTTP.redirect(DISP.build_url("admin", "services", "openclash")) -end - -return m diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/servers-config.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/servers-config.lua deleted file mode 100644 index 8949ec6136..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/servers-config.lua +++ /dev/null @@ -1,367 +0,0 @@ - -local m, s, o -local openclash = "openclash" -local uci = luci.model.uci.cursor() -local fs = require "luci.openclash" -local sys = require "luci.sys" -local sid = arg[1] -local uuid = luci.sys.exec("cat /proc/sys/kernel/random/uuid") - -font_red = [[]] -font_off = [[]] -bold_on = [[]] -bold_off = [[]] - -function IsYamlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-5,-1)) - return e == ".yaml" -end -function IsYmlFile(e) - e=e or"" - local e=string.lower(string.sub(e,-4,-1)) - return e == ".yml" -end - -local encrypt_methods_ss = { - - -- stream - "rc4-md5", - "aes-128-cfb", - "aes-192-cfb", - "aes-256-cfb", - "aes-128-ctr", - "aes-192-ctr", - "aes-256-ctr", - "aes-128-gcm", - "aes-192-gcm", - "aes-256-gcm", - "chacha20-ietf", - "xchacha20", - "chacha20-ietf-poly1305", - "xchacha20-ietf-poly1305", -} - -local encrypt_methods_ssr = { - - "rc4-md5", - "aes-128-cfb", - "aes-192-cfb", - "aes-256-cfb", - "aes-128-ctr", - "aes-192-ctr", - "aes-256-ctr", - "chacha20-ietf", - "xchacha20", -} - -local securitys = { - "auto", - "none", - "aes-128-gcm", - "chacha20-poly1305" -} - -local protocols = { - "origin", - "auth_sha1_v4", - "auth_aes128_md5", - "auth_aes128_sha1", - "auth_chain_a", - "auth_chain_b", -} - -local obfs = { - "plain", - "http_simple", - "http_post", - "random_head", - "tls1.2_ticket_auth", - "tls1.2_ticket_fastauth", -} - -m = Map(openclash, translate("Edit Server")) -m.pageaction = false -m.redirect = luci.dispatcher.build_url("admin/services/openclash/servers") - -if m.uci:get(openclash, sid) ~= "servers" then - luci.http.redirect(m.redirect) - return -end - --- [[ Servers Setting ]] -- -s = m:section(NamedSection, sid, "servers") -s.anonymous = true -s.addremove = false - -o = s:option(ListValue, "config", translate("Config File")) -o:value("all", translate("Use For All Config File")) -local e,a={} -for t,f in ipairs(fs.glob("/etc/openclash/config/*"))do - a=fs.stat(f) - if a then - e[t]={} - e[t].name=fs.basename(f) - if IsYamlFile(e[t].name) or IsYmlFile(e[t].name) then - o:value(e[t].name) - end - end -end - -o = s:option(ListValue, "type", translate("Server Node Type")) -o:value("ss", translate("Shadowsocks")) -o:value("ssr", translate("ShadowsocksR")) -o:value("vmess", translate("Vmess")) -o:value("trojan", translate("trojan")) -o:value("snell", translate("Snell")) -o:value("socks5", translate("Socks5")) -o:value("http", translate("HTTP(S)")) -o.description = translate("Using incorrect encryption mothod may causes service fail to start") - -o = s:option(Value, "name", translate("Server Alias")) -o.rmempty = false - -o = s:option(Value, "server", translate("Server Address")) -o.datatype = "host" -o.rmempty = false - -o = s:option(Value, "port", translate("Server Port")) -o.datatype = "port" -o.rmempty = false -o.default = 443 - -o = s:option(Value, "password", translate("Password")) -o.password = true -o.rmempty = false -o:depends("type", "ss") -o:depends("type", "ssr") -o:depends("type", "trojan") - -o = s:option(Value, "psk", translate("Psk")) -o.rmempty = false -o:depends("type", "snell") - -o = s:option(ListValue, "cipher", translate("Encrypt Method")) -for _, v in ipairs(encrypt_methods_ss) do o:value(v) end -o.rmempty = true -o:depends("type", "ss") - -o = s:option(ListValue, "cipher_ssr", translate("Encrypt Method")) -for _, v in ipairs(encrypt_methods_ssr) do o:value(v) end -o.rmempty = true -o:depends("type", "ssr") - -o = s:option(ListValue, "protocol", translate("Protocol")) -for _, v in ipairs(protocols) do o:value(v) end -o.rmempty = true -o:depends("type", "ssr") - -o = s:option(Value, "protocol_param", translate("Protocol param(optional)")) -o:depends("type", "ssr") - -o = s:option(ListValue, "securitys", translate("Encrypt Method")) -for _, v in ipairs(securitys) do o:value(v) end -o.rmempty = true -o:depends("type", "vmess") - -o = s:option(ListValue, "obfs_ssr", translate("Obfs")) -for _, v in ipairs(obfs) do o:value(v) end -o.rmempty = true -o:depends("type", "ssr") - -o = s:option(Value, "obfs_param", translate("Obfs param(optional)")) -o:depends("type", "ssr") - --- AlterId -o = s:option(Value, "alterId", translate("AlterId")) -o.datatype = "port" -o.default = 32 -o.rmempty = true -o:depends("type", "vmess") - --- VmessId -o = s:option(Value, "uuid", translate("VmessId (UUID)")) -o.rmempty = true -o.default = uuid -o:depends("type", "vmess") - -o = s:option(ListValue, "udp", translate("UDP Enable")) -o.rmempty = true -o.default = "false" -o:value("true") -o:value("false") -o:depends("type", "ss") -o:depends("type", "ssr") -o:depends("type", "vmess") -o:depends("type", "socks5") -o:depends("type", "trojan") - -o = s:option(ListValue, "obfs", translate("obfs-mode")) -o.rmempty = true -o.default = "none" -o:value("none") -o:value("tls") -o:value("http") -o:value("websocket", translate("websocket (ws)")) -o:depends("type", "ss") - -o = s:option(ListValue, "obfs_snell", translate("obfs-mode")) -o.rmempty = true -o.default = "none" -o:value("none") -o:value("tls") -o:value("http") -o:depends("type", "snell") - -o = s:option(ListValue, "obfs_vmess", translate("obfs-mode")) -o.rmempty = true -o.default = "none" -o:value("none") -o:value("websocket", translate("websocket (ws)")) -o:value("http", translate("http")) -o:value("h2", translate("h2")) -o:depends("type", "vmess") - -o = s:option(Value, "host", translate("obfs-hosts")) -o.datatype = "host" -o.rmempty = true -o:depends("obfs", "tls") -o:depends("obfs", "http") -o:depends("obfs", "websocket") -o:depends("obfs_snell", "tls") -o:depends("obfs_snell", "http") - --- vmess路径 -o = s:option(Value, "path", translate("path")) -o.rmempty = true -o:depends("obfs", "websocket") -o:depends("obfs_vmess", "websocket") - -o = s:option(DynamicList, "h2_host", translate("host")) -o.rmempty = true -o.datatype = "host" -o:depends("obfs_vmess", "h2") - -o = s:option(Value, "h2_path", translate("path")) -o.rmempty = true -o.default = "/" -o:depends("obfs_vmess", "h2") - -o = s:option(DynamicList, "http_path", translate("path")) -o.rmempty = true -o:value("/") -o:value("/video") -o:depends("obfs_vmess", "http") - -o = s:option(Value, "custom", translate("headers")) -o.rmempty = true -o:depends("obfs", "websocket") -o:depends("obfs_vmess", "websocket") - --- [[ skip-cert-verify ]]-- -o = s:option(ListValue, "skip_cert_verify", translate("skip-cert-verify")) -o.rmempty = true -o.default = "false" -o:value("true") -o:value("false") -o:depends("obfs", "websocket") -o:depends("obfs_vmess", "none") -o:depends("obfs_vmess", "websocket") -o:depends("type", "socks5") -o:depends("type", "http") -o:depends("type", "trojan") - --- [[ TLS ]]-- -o = s:option(ListValue, "tls", translate("tls")) -o.rmempty = true -o.default = "false" -o:value("true") -o:value("false") -o:depends("obfs", "websocket") -o:depends("obfs_vmess", "none") -o:depends("obfs_vmess", "websocket") -o:depends("obfs_vmess", "http") -o:depends("type", "socks5") -o:depends("type", "http") - -o = s:option(Value, "servername", translate("sni")) -o.rmempty = true -o.datatype = "host" -o.placeholder = translate("example.com") -o:depends("obfs_vmess", "websocket") - -o = s:option(Value, "keep_alive", translate("keep-alive")) -o.rmempty = true -o.default = "true" -o:value("true") -o:value("false") -o:depends("obfs_vmess", "http") - --- [[ MUX ]]-- -o = s:option(ListValue, "mux", translate("mux")) -o.rmempty = true -o.default = "false" -o:value("true") -o:value("false") -o:depends("obfs", "websocket") - --- [[ sni ]]-- -o = s:option(Value, "sni", translate("sni")) -o.datatype = "host" -o.placeholder = translate("example.com") -o.rmempty = true -o:depends("type", "trojan") -o:depends("type", "http") - --- 验证用户名 -o = s:option(Value, "auth_name", translate("Auth Username")) -o:depends("type", "socks5") -o:depends("type", "http") -o.rmempty = true - --- 验证密码 -o = s:option(Value, "auth_pass", translate("Auth Password")) -o:depends("type", "socks5") -o:depends("type", "http") -o.rmempty = true - --- [[ alpn ]]-- -o = s:option(DynamicList, "alpn", translate("alpn")) -o.rmempty = true -o:value("h2") -o:value("http/1.1") -o:depends("type", "trojan") - -o = s:option(DynamicList, "groups", translate("Proxy Group")) -o.description = font_red..bold_on..translate("No Need Set when Config Create, The added Proxy Groups Must Exist")..bold_off..font_off -o.rmempty = true -m.uci:foreach("openclash", "groups", - function(s) - if s.name ~= "" and s.name ~= nil then - o:value(s.name) - end - end) - -local t = { - {Commit, Back} -} -a = m:section(Table, t) - -o = a:option(Button,"Commit") -o.inputtitle = translate("Commit Configurations") -o.inputstyle = "apply" -o.write = function() - m.uci:commit(openclash) - sys.call("/usr/share/openclash/cfg_servers_address_fake_filter.sh &") - luci.http.redirect(m.redirect) -end - -o = a:option(Button,"Back") -o.inputtitle = translate("Back Configurations") -o.inputstyle = "reset" -o.write = function() - m.uci:revert(openclash) - luci.http.redirect(m.redirect) -end - -return m diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/servers.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/servers.lua deleted file mode 100644 index fd99dbc83e..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/servers.lua +++ /dev/null @@ -1,260 +0,0 @@ - -local m, s, o -local openclash = "openclash" -local uci = luci.model.uci.cursor() -local fs = require "luci.openclash" - -font_red = [[]] -font_off = [[]] -bold_on = [[]] -bold_off = [[]] - -m = Map(openclash, translate("Servers manage and Config create")) -m.pageaction = false - -s = m:section(TypedSection, "openclash") -s.anonymous = true - -o = s:option(Flag, "create_config", translate("Create Config")) -o.description = font_red .. bold_on .. translate("Create Config By One-Click Only Need Proxys") .. bold_off .. font_off -o.default=0 - -o = s:option(ListValue, "rule_sources", translate("Choose Template For Create Config")) -o.description = translate("Use Other Rules To Create Config") -o:depends("create_config", 1) -o:value("lhie1", translate("lhie1 Rules")) -o:value("ConnersHua", translate("ConnersHua(Provider-type) Rules")) -o:value("ConnersHua_return", translate("ConnersHua Return Rules")) - -o = s:option(Flag, "mix_proxies", translate("Mix Proxies")) -o.description = font_red .. bold_on .. translate("Mix This Page's Proxies") .. bold_off .. font_off -o:depends("create_config", 1) -o.default=0 - -o = s:option(Flag, "servers_update", translate("Keep Settings")) -o.description = font_red .. bold_on .. translate("Only Update Servers Below When Subscription") .. bold_off .. font_off -o.default=0 - -o = s:option(DynamicList, "new_servers_group", translate("New Servers Group")) -o.description = translate("Set The New Subscribe Server's Default Proxy Groups") -o.rmempty = true -o:depends("servers_update", 1) -m.uci:foreach("openclash", "groups", - function(s) - o:value(s.name) - end) - --- [[ Groups Manage ]]-- -s = m:section(TypedSection, "groups", translate("Proxy Groups(No Need Set when Config Create)")) -s.anonymous = true -s.addremove = true -s.sortable = true -s.template = "cbi/tblsection" -s.extedit = luci.dispatcher.build_url("admin/services/openclash/groups-config/%s") -function s.create(...) - local sid = TypedSection.create(...) - if sid then - luci.http.redirect(s.extedit % sid) - return - end -end - -o = s:option(DummyValue, "config", translate("Config File")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("all") -end - -o = s:option(DummyValue, "type", translate("Group Type")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - -o = s:option(DummyValue, "name", translate("Group Name")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - --- [[ Proxy-Provider Manage ]]-- -s = m:section(TypedSection, "proxy-provider", translate("Proxy-Provider")) -s.anonymous = true -s.addremove = true -s.sortable = true -s.template = "cbi/tblsection" -s.extedit = luci.dispatcher.build_url("admin/services/openclash/proxy-provider-config/%s") -function s.create(...) - local sid = TypedSection.create(...) - if sid then - luci.http.redirect(s.extedit % sid) - return - end -end - -o = s:option(Flag, "enabled", translate("Enable")) -o.rmempty = false -o.default = o.enabled -o.cfgvalue = function(...) - return Flag.cfgvalue(...) or "1" -end - -o = s:option(DummyValue, "config", translate("Config File")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("all") -end - -o = s:option(DummyValue, "type", translate("Provider Type")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - -o = s:option(DummyValue, "name", translate("Provider Name")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - --- [[ Servers Manage ]]-- -s = m:section(TypedSection, "servers", translate("Proxys")) -s.anonymous = true -s.addremove = true -s.sortable = true -s.template = "cbi/tblsection" -s.extedit = luci.dispatcher.build_url("admin/services/openclash/servers-config/%s") -function s.create(...) - local sid = TypedSection.create(...) - if sid then - luci.http.redirect(s.extedit % sid) - return - end -end - ----- enable flag -o = s:option(Flag, "enabled", translate("Enable")) -o.rmempty = false -o.default = o.enabled -o.cfgvalue = function(...) - return Flag.cfgvalue(...) or "1" -end - -o = s:option(DummyValue, "config", translate("Config File")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("all") -end - -o = s:option(DummyValue, "type", translate("Type")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - -o = s:option(DummyValue, "name", translate("Server Alias")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - -o = s:option(DummyValue, "server", translate("Server Address")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - -o = s:option(DummyValue, "port", translate("Server Port")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - -o = s:option(DummyValue, "udp", translate("UDP Support")) -function o.cfgvalue(...) - if Value.cfgvalue(...) == "true" then - return translate("支持") - elseif Value.cfgvalue(...) == "false" then - return translate("不支持") - else - return translate("None") - end -end - -o = s:option(DummyValue,"server",translate("Ping Latency")) -o.template="openclash/ping" -o.width="10%" - -local tt = { - {Delete_Unused_Servers, Delete_Servers, Delete_Proxy_Provider, Delete_Groups} -} - -b = m:section(Table, tt) - -o = b:option(Button,"Delete_Unused_Servers") -o.inputtitle = translate("Delete Unused Servers") -o.inputstyle = "reset" -o.write = function() - m.uci:set("openclash", "config", "enable", 0) - m.uci:commit("openclash") - luci.sys.call("sh /usr/share/openclash/cfg_unused_servers_del.sh 2>/dev/null") - luci.http.redirect(luci.dispatcher.build_url("admin", "services", "openclash", "servers")) -end - -o = b:option(Button,"Delete_Servers") -o.inputtitle = translate("Delete Servers") -o.inputstyle = "reset" -o.write = function() - m.uci:set("openclash", "config", "enable", 0) - m.uci:delete_all("openclash", "servers", function(s) return true end) - m.uci:commit("openclash") - luci.http.redirect(luci.dispatcher.build_url("admin", "services", "openclash", "servers")) -end - -o = b:option(Button,"Delete_Proxy_Provider") -o.inputtitle = translate("Delete Proxy Provider") -o.inputstyle = "reset" -o.write = function() - m.uci:set("openclash", "config", "enable", 0) - m.uci:delete_all("openclash", "proxy-provider", function(s) return true end) - m.uci:commit("openclash") - luci.http.redirect(luci.dispatcher.build_url("admin", "services", "openclash", "servers")) -end - -o = b:option(Button,"Delete_Groups") -o.inputtitle = translate("Delete Groups") -o.inputstyle = "reset" -o.write = function() - m.uci:set("openclash", "config", "enable", 0) - m.uci:delete_all("openclash", "groups", function(s) return true end) - m.uci:commit("openclash") - luci.http.redirect(luci.dispatcher.build_url("admin", "services", "openclash", "servers")) -end - -local t = { - {Load_Config, Commit, Apply} -} - -a = m:section(Table, t) - -o = a:option(Button,"Load_Config") -o.inputtitle = translate("Load Config") -o.inputstyle = "apply" -o.write = function() - m.uci:set("openclash", "config", "enable", 0) - m.uci:commit("openclash") - luci.sys.call("/usr/share/openclash/yml_groups_get.sh 2>/dev/null &") - luci.http.redirect(luci.dispatcher.build_url("admin", "services", "openclash")) -end - -o = a:option(Button, "Commit") -o.inputtitle = translate("Commit Configurations") -o.inputstyle = "apply" -o.write = function() - fs.unlink("/tmp/Proxy_Group") - m.uci:set("openclash", "config", "enable", 0) - m.uci:commit("openclash") -end - -o = a:option(Button, "Apply") -o.inputtitle = translate("Apply Configurations") -o.inputstyle = "apply" -o.write = function() - fs.unlink("/tmp/Proxy_Group") - m.uci:set("openclash", "config", "enable", 0) - m.uci:commit("openclash") - luci.sys.call("/usr/share/openclash/yml_groups_set.sh >/dev/null 2>&1 &") - luci.http.redirect(luci.dispatcher.build_url("admin", "services", "openclash")) -end - -m:append(Template("openclash/server_list")) -return m diff --git a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/settings.lua b/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/settings.lua deleted file mode 100644 index da17f7f20e..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/model/cbi/openclash/settings.lua +++ /dev/null @@ -1,708 +0,0 @@ - -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local UTIL = require "luci.util" -local fs = require "luci.openclash" -local uci = require "luci.model.uci".cursor() - -font_green = [[]] -font_red = [[]] -font_off = [[]] -bold_on = [[]] -bold_off = [[]] - -local op_mode = string.sub(luci.sys.exec('uci get openclash.config.operation_mode 2>/dev/null'),0,-2) -if not op_mode then op_mode = "redir-host" end - -m = Map("openclash", translate("Global Settings(Will Modify The Config File Or Subscribe According To The Settings On This Page)")) -m.pageaction = false -s = m:section(TypedSection, "openclash") -s.anonymous = true - -s:tab("op_mode", translate("Operation Mode")) -s:tab("settings", translate("General Settings")) -s:tab("dns", translate("DNS Setting")) -s:tab("lan_ac", translate("Access Control")) -if op_mode == "fake-ip" then -s:tab("rules", translate("Rules Setting(Access Control)")) -else -s:tab("rules", translate("Rules Setting")) -end -s:tab("dashboard", translate("Dashboard Settings")) -s:tab("rules_update", translate("Rules Update")) -s:tab("geo_update", translate("GEOIP Update")) -s:tab("chnr_update", translate("Chnroute Update")) -s:tab("auto_restart", translate("Auto Restart")) -s:tab("version_update", translate("Version Update")) -s:tab("debug", translate("Debug Logs")) - -o = s:taboption("op_mode", ListValue, "en_mode", font_red..bold_on..translate("Select Mode")..bold_off..font_off) -o.description = translate("Select Mode For OpenClash Work, Try Flush DNS Cache If Network Error") -if op_mode == "redir-host" then -o:value("redir-host", translate("redir-host")) -o:value("redir-host-tun", translate("redir-host(tun mode)")) -o:value("redir-host-vpn", translate("redir-host-vpn(game mode)")) -o:value("redir-host-mix", translate("redir-host-mix(tun mix mode)")) -o.default = "redir-host" -else -o:value("fake-ip", translate("fake-ip")) -o:value("fake-ip-tun", translate("fake-ip(tun mode)")) -o:value("fake-ip-vpn", translate("fake-ip-vpn(game mode)")) -o:value("fake-ip-mix", translate("fake-ip-mix(tun mix mode)")) -o.default = "fake-ip" -end - -o = s:taboption("op_mode", Flag, "enable_udp_proxy", font_red..bold_on..translate("Proxy UDP Traffics")..bold_off..font_off) -o.description = translate("Select Mode For UDP Traffics, The Servers Must Support UDP while Choose Proxy") -o:depends("en_mode", "redir-host") -o:depends("en_mode", "fake-ip") -o.default=1 - -o = s:taboption("op_mode", ListValue, "stack_type", translate("Select Stack Type")) -o.description = translate("Select Stack Type For Tun Mode, According To The Running Speed on Your Machine") -o:depends("en_mode", "redir-host-tun") -o:depends("en_mode", "fake-ip-tun") -o:depends("en_mode", "redir-host-mix") -o:depends("en_mode", "fake-ip-mix") -o:value("system", translate("System ")) -o:value("gvisor", translate("Gvisor")) -o.default = "system" - -o = s:taboption("op_mode", ListValue, "proxy_mode", font_red..bold_on..translate("Proxy Mode")..bold_off..font_off) -o.description = translate("Select Proxy Mode, Use Script Mode Could Prevent Proxy BT traffics If Rules Support, eg.lhie1's") -o:value("rule", translate("Rule Proxy Mode")) -o:value("global", translate("Global Proxy Mode")) -o:value("direct", translate("Direct Proxy Mode")) -o:value("script", translate("Script Proxy Mode (Tun Core Only)")) -o.default = "rule" - -o = s:taboption("op_mode", Flag, "enable_rule_proxy", font_red..bold_on..translate("Rule Match Proxy Mode")..bold_off..font_off) -o.description = translate("Only Proxy Rules Match, Prevent BT/P2P Passing") -o.default=0 - -o = s:taboption("op_mode", Flag, "common_ports", font_red..bold_on..translate("Common Ports Proxy Mode")..bold_off..font_off) -o.description = translate("Only Common Ports, Prevent BT/P2P Passing") -o.default=0 -o:depends("en_mode", "redir-host") -o:depends("en_mode", "redir-host-tun") -o:depends("en_mode", "redir-host-vpn") -o:depends("en_mode", "redir-host-mix") - -o = s:taboption("op_mode", Flag, "china_ip_route", translate("China IP Route")) -o.description = translate("Bypass The China Network Flows, Improve Performance") -o.default=0 -o:depends("en_mode", "redir-host") -o:depends("en_mode", "redir-host-tun") -o:depends("en_mode", "redir-host-vpn") -o:depends("en_mode", "redir-host-mix") - -o = s:taboption("op_mode", Flag, "small_flash_memory", translate("Small Flash Memory")) -o.description = translate("Move Core And GEOIP Data File To /tmp/etc/openclash For Small Flash Memory Device") -o.default=0 - ----- Operation Mode -switch_mode = s:taboption("op_mode", DummyValue, "", nil) -switch_mode.template = "openclash/switch_mode" - ----- General Settings -local cpu_model=SYS.exec("opkg status libc 2>/dev/null |grep 'Architecture' |awk -F ': ' '{print $2}' 2>/dev/null") -o = s:taboption("settings", ListValue, "core_version", font_red..bold_on..translate("Chose to Download")..bold_off..font_off) -o.description = translate("CPU Model")..': '..font_green..bold_on..cpu_model..bold_off..font_off..', '..translate("Select Based On Your CPU Model For Core Update, Wrong Version Will Not Work") -o:value("linux-386") -o:value("linux-amd64", translate("linux-amd64(x86-64)")) -o:value("linux-armv5") -o:value("linux-armv6") -o:value("linux-armv7") -o:value("linux-armv8") -o:value("linux-mips-hardfloat") -o:value("linux-mips-softfloat") -o:value("linux-mips64") -o:value("linux-mips64le") -o:value("linux-mipsle-softfloat") -o:value("linux-mipsle-hardfloat") -o:value("0", translate("Not Set")) -o.default=0 - -o = s:taboption("settings", ListValue, "interface_name", font_red..bold_on..translate("Bind Network Interface")..bold_off..font_off) -local de_int = SYS.exec("ip route |grep 'default' |awk '{print $5}' 2>/dev/null") -o.description = translate("Default Interface Name:").." "..font_green..bold_on..de_int..bold_off..font_off..translate(",Try Enable If Network Loopback") -local interfaces = SYS.exec("ls -l /sys/class/net/ 2>/dev/null |awk '{print $9}' 2>/dev/null") -for interface in string.gmatch(interfaces, "%S+") do - o:value(interface) -end -o:value("0", translate("Disable")) -o.default=0 - -o = s:taboption("settings", ListValue, "log_level", translate("Log Level")) -o.description = translate("Select Core's Log Level") -o:value("info", translate("Info Mode")) -o:value("warning", translate("Warning Mode")) -o:value("error", translate("Error Mode")) -o:value("debug", translate("Debug Mode")) -o:value("silent", translate("Silent Mode")) -o.default = "silent" - -o = s:taboption("settings", Value, "log_size", translate("Log Size (KB)")) -o.description = translate("Set Log File Size (KB)") -o.default=1024 - -o = s:taboption("settings", Flag, "intranet_allowed", translate("Only intranet allowed")) -o.description = translate("When Enabled, The Control Panel And The Connection Broker Port Will Not Be Accessible From The Public Network") -o.default=0 - -o = s:taboption("settings", Value, "dns_port") -o.title = translate("DNS Port") -o.default = 7874 -o.datatype = "port" -o.rmempty = false -o.description = translate("Please Make Sure Ports Available") - -o = s:taboption("settings", Value, "proxy_port") -o.title = translate("Redir Port") -o.default = 7892 -o.datatype = "port" -o.rmempty = false -o.description = translate("Please Make Sure Ports Available") - -o = s:taboption("settings", Value, "http_port") -o.title = translate("HTTP(S) Port") -o.default = 7890 -o.datatype = "port" -o.rmempty = false -o.description = translate("Please Make Sure Ports Available") - -o = s:taboption("settings", Value, "socks_port") -o.title = translate("SOCKS5 Port") -o.default = 7891 -o.datatype = "port" -o.rmempty = false -o.description = translate("Please Make Sure Ports Available") - -o = s:taboption("settings", Value, "mixed_port") -o.title = translate("Mixed Port") -o.default = 7893 -o.datatype = "port" -o.rmempty = false -o.description = translate("Please Make Sure Ports Available") - ----- DNS Settings -o = s:taboption("dns", Flag, "enable_redirect_dns", font_red..bold_on..translate("Redirect Local DNS Setting")..bold_off..font_off) -o.description = translate("Set Local DNS Redirect") -o.default=1 - -o = s:taboption("dns", Flag, "enable_custom_dns", font_red..bold_on..translate("Custom DNS Setting")..bold_off..font_off) -o.description = font_red..bold_on..translate("Set OpenClash Upstream DNS Resolve Server")..bold_off..font_off -o.default=0 - -o = s:taboption("dns", Flag, "ipv6_enable", translate("Enable ipv6 Resolve")) -o.description = font_red..bold_on..translate("Enable Clash to Resolve ipv6 DNS Requests")..bold_off..font_off -o.default=0 - -o = s:taboption("dns", Flag, "disable_masq_cache", translate("Disable Dnsmasq's DNS Cache")) -o.description = translate("Recommended Enabled For Avoiding Some Connection Errors")..font_red..bold_on..translate("(Maybe Incompatible For Your Firmware)")..bold_off..font_off -o.default=0 - -o = s:taboption("dns", Flag, "dns_advanced_setting", translate("Advanced Setting")) -o.description = translate("DNS Advanced Settings")..font_red..bold_on..translate("(Please Don't Modify it at Will)")..bold_off..font_off -o.default=0 - -if op_mode == "fake-ip" then -o = s:taboption("dns", Button, translate("Fake-IP-Filter List Update")) -o.title = translate("Fake-IP-Filter List Update") -o:depends("dns_advanced_setting", "1") -o.inputtitle = translate("Check And Update") -o.inputstyle = "reload" -o.write = function() - m.uci:set("openclash", "config", "enable", 1) - m.uci:commit("openclash") - SYS.call("rm -rf /tmp/openclash_fake_filter.list >/dev/null 2>&1 && /etc/init.d/openclash restart >/dev/null 2>&1 &") - HTTP.redirect(DISP.build_url("admin", "services", "openclash")) -end - -custom_fake_black = s:taboption("dns", Value, "custom_fake_filter") -custom_fake_black.template = "cbi/tvalue" -custom_fake_black.description = translate("Domain Names In The List Do Not Return Fake-IP, One rule per line") -custom_fake_black.rows = 20 -custom_fake_black.wrap = "off" -custom_fake_black:depends("dns_advanced_setting", "1") - -function custom_fake_black.cfgvalue(self, section) - return NXFS.readfile("/etc/openclash/custom/openclash_custom_fake_filter.list") or "" -end -function custom_fake_black.write(self, section, value) - - if value then - value = value:gsub("\r\n?", "\n") - local old_value = NXFS.readfile("/etc/openclash/custom/openclash_custom_fake_filter.list") - if value ~= old_value then - NXFS.writefile("/etc/openclash/custom/openclash_custom_fake_filter.list", value) - end - end -end -end - -o = s:taboption("dns", Value, "custom_domain_dns_server", translate("Specify DNS Server")) -o.description = translate("Specify DNS Server For List and Server Nodes With Fake-IP Mode, Only One IP Server Address Support") -o.default="114.114.114.114" -o.placeholder = translate("114.114.114.114 or 127.0.0.1#5300") -o:depends("dns_advanced_setting", "1") - -custom_domain_dns = s:taboption("dns", Value, "custom_domain_dns") -custom_domain_dns.template = "cbi/tvalue" -custom_domain_dns.description = translate("Domain Names In The List Use The Custom DNS Server, One rule per line") -custom_domain_dns.rows = 20 -custom_domain_dns.wrap = "off" -custom_domain_dns:depends("dns_advanced_setting", "1") - -function custom_domain_dns.cfgvalue(self, section) - return NXFS.readfile("/etc/openclash/custom/openclash_custom_domain_dns.list") or "" -end -function custom_domain_dns.write(self, section, value) - - if value then - value = value:gsub("\r\n?", "\n") - local old_value = NXFS.readfile("/etc/openclash/custom/openclash_custom_domain_dns.list") - if value ~= old_value then - NXFS.writefile("/etc/openclash/custom/openclash_custom_domain_dns.list", value) - end - end -end - ----- Access Control -if op_mode == "redir-host" then -o = s:taboption("lan_ac", ListValue, "lan_ac_mode", translate("LAN Access Control Mode")) -o:value("0", translate("Black List Mode")) -o:value("1", translate("White List Mode")) -o.default=0 - -ip_b = s:taboption("lan_ac", DynamicList, "lan_ac_black_ips", translate("LAN Bypassed Host List")) -ip_b:depends("lan_ac_mode", "0") -ip_b.datatype = "ipaddr" - -mac_b = s:taboption("lan_ac", DynamicList, "lan_ac_black_macs", translate("LAN Bypassed Mac List")) -mac_b.datatype = "list(macaddr)" -mac_b.rmempty = true -mac_b:depends("lan_ac_mode", "0") - -ip_w = s:taboption("lan_ac", DynamicList, "lan_ac_white_ips", translate("LAN Proxied Host List")) -ip_w:depends("lan_ac_mode", "1") -ip_w.datatype = "ipaddr" - -mac_w = s:taboption("lan_ac", DynamicList, "lan_ac_white_macs", translate("LAN Proxied Mac List")) -mac_w.datatype = "list(macaddr)" -mac_w.rmempty = true -mac_w:depends("lan_ac_mode", "1") - -luci.ip.neighbors({ family = 4 }, function(n) - if n.mac and n.dest then - ip_b:value(n.dest:string()) - ip_w:value(n.dest:string()) - mac_b:value(n.mac, "%s (%s)" %{ n.mac, n.dest:string() }) - mac_w:value(n.mac, "%s (%s)" %{ n.mac, n.dest:string() }) - end -end) -end - -o = s:taboption("lan_ac", DynamicList, "wan_ac_black_ips", translate("WAN Bypassed Host List")) -o.datatype = "ipaddr" -o.description = translate("In The Fake-IP Mode, Only Pure IP Requests Are Supported") - ----- Rules Settings -o = s:taboption("rules", Flag, "rule_source", translate("Enable Other Rules")) -o.description = translate("Use Other Rules") -o.default=0 - -if op_mode == "fake-ip" then -o = s:taboption("rules", Flag, "enable_custom_clash_rules", font_red..bold_on..translate("Custom Clash Rules(Access Control)")..bold_off..font_off) -else -o = s:taboption("rules", Flag, "enable_custom_clash_rules", font_red..bold_on..translate("Custom Clash Rules")..bold_off..font_off) -end -o.description = translate("Use Custom Rules") -o.default=0 - -custom_rules = s:taboption("rules", Value, "custom_rules") -custom_rules:depends("enable_custom_clash_rules", 1) -custom_rules.template = "cbi/tvalue" -custom_rules.description = translate("Custom Rules Here, For More Go Github:https://github.com/Dreamacro/clash/blob/master/README.md, IP To CIDR: http://ip2cidr.com") -custom_rules.rows = 20 -custom_rules.wrap = "off" - -function custom_rules.cfgvalue(self, section) - return NXFS.readfile("/etc/openclash/custom/openclash_custom_rules.list") or "" -end -function custom_rules.write(self, section, value) - if value then - value = value:gsub("\r\n?", "\n") - local old_value = NXFS.readfile("/etc/openclash/custom/openclash_custom_rules.list") - if value ~= old_value then - NXFS.writefile("/etc/openclash/custom/openclash_custom_rules.list", value) - end - end -end - -custom_rules_2 = s:taboption("rules", Value, "custom_rules_2") -custom_rules_2:depends("enable_custom_clash_rules", 1) -custom_rules_2.template = "cbi/tvalue" -custom_rules_2.description = translate("Custom Rules 2 Here, For More Go Github:https://github.com/Dreamacro/clash/blob/master/README.md, IP To CIDR: http://ip2cidr.com") -custom_rules_2.rows = 20 -custom_rules_2.wrap = "off" - -function custom_rules_2.cfgvalue(self, section) - return NXFS.readfile("/etc/openclash/custom/openclash_custom_rules_2.list") or "" -end -function custom_rules_2.write(self, section, value) - if value then - value = value:gsub("\r\n?", "\n") - local old_value = NXFS.readfile("/etc/openclash/custom/openclash_custom_rules_2.list") - if value ~= old_value then - NXFS.writefile("/etc/openclash/custom/openclash_custom_rules_2.list", value) - end - end -end - ----- update Settings -o = s:taboption("rules_update", Flag, "other_rule_auto_update", translate("Auto Update")) -o.description = font_red..bold_on..translate("Auto Update Other Rules")..bold_off..font_off -o.default=0 - -o = s:taboption("rules_update", ListValue, "other_rule_update_week_time", translate("Update Time (Every Week)")) -o:value("*", translate("Every Day")) -o:value("1", translate("Every Monday")) -o:value("2", translate("Every Tuesday")) -o:value("3", translate("Every Wednesday")) -o:value("4", translate("Every Thursday")) -o:value("5", translate("Every Friday")) -o:value("6", translate("Every Saturday")) -o:value("0", translate("Every Sunday")) -o.default=1 - -o = s:taboption("rules_update", ListValue, "other_rule_update_day_time", translate("Update time (every day)")) -for t = 0,23 do -o:value(t, t..":00") -end -o.default=0 - -o = s:taboption("rules_update", Button, translate("Other Rules Update")) -o.title = translate("Update Other Rules") -o.inputtitle = translate("Check And Update") -o.description = translate("Other Rules Update(Only in Use)") -o.inputstyle = "reload" -o.write = function() - m.uci:set("openclash", "config", "enable", 1) - m.uci:commit("openclash") - SYS.call("/usr/share/openclash/openclash_rule.sh >/dev/null 2>&1 &") - HTTP.redirect(DISP.build_url("admin", "services", "openclash")) -end - -o = s:taboption("geo_update", Flag, "geo_auto_update", translate("Auto Update")) -o.description = translate("Auto Update GEOIP Database") -o.default=0 - -o = s:taboption("geo_update", ListValue, "geo_update_week_time", translate("Update Time (Every Week)")) -o:value("*", translate("Every Day")) -o:value("1", translate("Every Monday")) -o:value("2", translate("Every Tuesday")) -o:value("3", translate("Every Wednesday")) -o:value("4", translate("Every Thursday")) -o:value("5", translate("Every Friday")) -o:value("6", translate("Every Saturday")) -o:value("0", translate("Every Sunday")) -o.default=1 - -o = s:taboption("geo_update", ListValue, "geo_update_day_time", translate("Update time (every day)")) -for t = 0,23 do -o:value(t, t..":00") -end -o.default=0 - -o = s:taboption("geo_update", Value, "geo_custom_url") -o.title = translate("Custom GEOIP URL") -o.rmempty = false -o.description = translate("Custom GEOIP Data URL, Click Button Below To Refresh After Edit") -o:value("http://www.ideame.top/mmdb/Country.mmdb", translate("Alecthw-Version")..translate("(Default)")) -o:value("https://cdn.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/Country.mmdb", translate("Hackl0us-Version")..translate("(Only CN)")) -o:value("https://static.clash.to/GeoIP2/GeoIP2-Country.mmdb", translate("Static.clash.to")) -o:value("https://geolite.clash.dev/Country.mmdb", translate("Geolite.clash.dev")) -o.default = "http://www.ideame.top/mmdb/Country.mmdb" - -o = s:taboption("geo_update", Button, translate("GEOIP Update")) -o.title = translate("Update GEOIP Database") -o.inputtitle = translate("Check And Update") -o.inputstyle = "reload" -o.write = function() - m.uci:set("openclash", "config", "enable", 1) - m.uci:commit("openclash") - SYS.call("/usr/share/openclash/openclash_ipdb.sh >/dev/null 2>&1 &") - HTTP.redirect(DISP.build_url("admin", "services", "openclash")) -end - -if op_mode == "redir-host" then -o = s:taboption("chnr_update", Flag, "chnr_auto_update", translate("Auto Update")) -o.description = translate("Auto Update Chnroute Lists") -o.default=0 - -o = s:taboption("chnr_update", ListValue, "chnr_update_week_time", translate("Update Time (Every Week)")) -o:value("*", translate("Every Day")) -o:value("1", translate("Every Monday")) -o:value("2", translate("Every Tuesday")) -o:value("3", translate("Every Wednesday")) -o:value("4", translate("Every Thursday")) -o:value("5", translate("Every Friday")) -o:value("6", translate("Every Saturday")) -o:value("0", translate("Every Sunday")) -o.default=1 - -o = s:taboption("chnr_update", ListValue, "chnr_update_day_time", translate("Update time (every day)")) -for t = 0,23 do -o:value(t, t..":00") -end -o.default=0 - -o = s:taboption("chnr_update", Value, "chnr_custom_url") -o.title = translate("Custom Chnroute Lists URL") -o.rmempty = false -o.description = translate("Custom Chnroute Lists URL, Click Button Below To Refresh After Edit") -o:value("https://ispip.clang.cn/all_cn.txt", translate("Clang-CN")..translate("(Default)")) -o:value("https://ispip.clang.cn/all_cn_cidr.txt", translate("Clang-CN-CIDR")) -o:value("https://cdn.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/CN-ip-cidr.txt", translate("Hackl0us-CN-CIDR")..translate("(Large Size)")) -o.default = "https://ispip.clang.cn/all_cn.txt" - -o = s:taboption("chnr_update", Button, translate("Chnroute Lists Update")) -o.title = translate("Update Chnroute Lists") -o.inputtitle = translate("Check And Update") -o.inputstyle = "reload" -o.write = function() - m.uci:set("openclash", "config", "enable", 1) - m.uci:commit("openclash") - SYS.call("/usr/share/openclash/openclash_chnroute.sh >/dev/null 2>&1 &") - HTTP.redirect(DISP.build_url("admin", "services", "openclash")) -end -end - -o = s:taboption("auto_restart", Flag, "auto_restart", translate("Auto Restart")) -o.description = translate("Auto Restart OpenClash") -o.default=0 - -o = s:taboption("auto_restart", ListValue, "auto_restart_week_time", translate("Restart Time (Every Week)")) -o:value("*", translate("Every Day")) -o:value("1", translate("Every Monday")) -o:value("2", translate("Every Tuesday")) -o:value("3", translate("Every Wednesday")) -o:value("4", translate("Every Thursday")) -o:value("5", translate("Every Friday")) -o:value("6", translate("Every Saturday")) -o:value("0", translate("Every Sunday")) -o.default=1 - -o = s:taboption("auto_restart", ListValue, "auto_restart_day_time", translate("Restart time (every day)")) -for t = 0,23 do -o:value(t, t..":00") -end -o.default=0 - ----- Dashboard Settings -local lan_ip=SYS.exec("uci get network.lan.ipaddr 2>/dev/null |awk -F '/' '{print $1}' 2>/dev/null |tr -d '\n'") -local cn_port=SYS.exec("uci get openclash.config.cn_port 2>/dev/null |tr -d '\n'") -o = s:taboption("dashboard", Value, "cn_port") -o.title = translate("Dashboard Port") -o.default = 9090 -o.datatype = "port" -o.rmempty = false -o.description = translate("Dashboard Address Example:").." "..font_green..bold_on..lan_ip.."/luci-static/openclash、"..lan_ip..':'..cn_port..'/ui'..bold_off..font_off - -o = s:taboption("dashboard", Value, "dashboard_password") -o.title = translate("Dashboard Secret") -o.rmempty = true -o.description = translate("Set Dashboard Secret") - ----- version update -core_update = s:taboption("version_update", DummyValue, "", nil) -core_update.template = "openclash/update" - ----- debug -debug_log = s:taboption("debug", Value, "debug_log") -debug_log.template = "cbi/tvalue" -debug_log.readonly=true -debug_log.rows = 30 -debug_log.wrap = "off" -function debug_log.cfgvalue(self, section) - return NXFS.readfile("/tmp/openclash_debug.log") or "" -end - -o = s:taboption("debug", Button, translate("Generate Logs")) -o.title = translate("Generate Logs") -o.inputtitle = translate("Click to Generate") -o.inputstyle = "reload" -o.write = function() - SYS.call("/usr/share/openclash/openclash_debug.sh") -end - --- [[ Edit Server ]] -- -s = m:section(TypedSection, "dns_servers", translate("Add Custom DNS Servers")..translate("(Take Effect After Choose Above)")) -s.anonymous = true -s.addremove = true -s.sortable = false -s.template = "cbi/tblsection" -s.rmempty = false - ----- enable flag -o = s:option(Flag, "enabled", translate("Enable"), font_red..bold_on..translate("(Enable or Disable)")..bold_off..font_off) -o.rmempty = false -o.default = o.enabled -o.cfgvalue = function(...) - return Flag.cfgvalue(...) or "1" -end - ----- group -o = s:option(ListValue, "group", translate("DNS Server Group")) -o.description = font_red..bold_on..translate("(NameServer Group Must Be Set)")..bold_off..font_off -o:value("nameserver", translate("NameServer")) -o:value("fallback", translate("FallBack")) -o.default = "nameserver" -o.rempty = false - ----- IP address -o = s:option(Value, "ip", translate("DNS Server Address")) -o.description = font_red..bold_on..translate("(Do Not Add Type Ahead)")..bold_off..font_off -o.placeholder = translate("Not Null") -o.datatype = "or(host, string)" -o.rmempty = true - ----- port -o = s:option(Value, "port", translate("DNS Server Port")) -o.description = font_red..bold_on..translate("(Require When Use Non-Standard Port)")..bold_off..font_off -o.datatype = "port" -o.rempty = true - ----- type -o = s:option(ListValue, "type", translate("DNS Server Type")) -o.description = font_red..bold_on..translate("(Communication protocol)")..bold_off..font_off -o:value("udp", translate("UDP")) -o:value("tcp", translate("TCP")) -o:value("tls", translate("TLS")) -o:value("https", translate("HTTPS")) -o.default = "udp" -o.rempty = false - --- [[ Other Rules Manage ]]-- -ss = m:section(TypedSection, "other_rules", translate("Other Rules Edit")..translate("(Take Effect After Choose Above)")) -ss.anonymous = true -ss.addremove = true -ss.sortable = true -ss.template = "cbi/tblsection" -ss.extedit = luci.dispatcher.build_url("admin/services/openclash/other-rules-edit/%s") -function ss.create(...) - local sid = TypedSection.create(...) - if sid then - luci.http.redirect(ss.extedit % sid) - return - end -end - -o = ss:option(Flag, "enabled", translate("Enable")) -o.rmempty = false -o.default = o.enabled -o.cfgvalue = function(...) - return Flag.cfgvalue(...) or "1" -end - -o = ss:option(DummyValue, "config", translate("Config File")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - -o = ss:option(DummyValue, "rule_name", translate("Other Rules Name")) -function o.cfgvalue(...) - if Value.cfgvalue(...) == "lhie1" then - return translate("lhie1 Rules") - elseif Value.cfgvalue(...) == "ConnersHua" then - return translate("ConnersHua(Provider-type) Rules") - elseif Value.cfgvalue(...) == "ConnersHua_return" then - return translate("ConnersHua Return Rules") - else - return translate("None") - end -end - -o = ss:option(DummyValue, "Note", translate("Note")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("None") -end - --- [[ Edit Authentication ]] -- -s = m:section(TypedSection, "authentication", translate("Set Authentication of SOCKS5/HTTP(S)")) -s.anonymous = true -s.addremove = true -s.sortable = false -s.template = "cbi/tblsection" -s.rmempty = false - ----- enable flag -o = s:option(Flag, "enabled", translate("Enable")) -o.rmempty = false -o.default = o.enabled -o.cfgvalue = function(...) - return Flag.cfgvalue(...) or "1" -end - ----- username -o = s:option(Value, "username", translate("Username")) -o.placeholder = translate("Not Null") -o.rempty = true - ----- password -o = s:option(Value, "password", translate("Password")) -o.placeholder = translate("Not Null") -o.rmempty = true - -if op_mode == "redir-host" then -s = m:section(TypedSection, "openclash", translate("Set Custom Hosts, Only Work with Redir-Host Mode")) -s.anonymous = true - -custom_hosts = s:option(Value, "custom_hosts") -custom_hosts.template = "cbi/tvalue" -custom_hosts.description = translate("Custom Hosts Here, For More Go Github:https://github.com/Dreamacro/clash/blob/master/README.md") -custom_hosts.rows = 20 -custom_hosts.wrap = "off" - -function custom_hosts.cfgvalue(self, section) - return NXFS.readfile("/etc/openclash/custom/openclash_custom_hosts.list") or "" -end -function custom_hosts.write(self, section, value) - if value then - value = value:gsub("\r\n?", "\n") - local old_value = NXFS.readfile("/etc/openclash/custom/openclash_custom_hosts.list") - if value ~= old_value then - NXFS.writefile("/etc/openclash/custom/openclash_custom_hosts.list", value) - end - end -end -end - -local t = { - {Commit, Apply} -} - -a = m:section(Table, t) - -o = a:option(Button, "Commit") -o.inputtitle = translate("Commit Configurations") -o.inputstyle = "apply" -o.write = function() - m.uci:commit("openclash") -end - -o = a:option(Button, "Apply") -o.inputtitle = translate("Apply Configurations") -o.inputstyle = "apply" -o.write = function() - m.uci:set("openclash", "config", "enable", 1) - m.uci:commit("openclash") - SYS.call("/etc/init.d/openclash restart >/dev/null 2>&1 &") - HTTP.redirect(DISP.build_url("admin", "services", "openclash")) -end -return m - - diff --git a/package/ctcgfw/luci-app-openclash/luasrc/openclash.lua b/package/ctcgfw/luci-app-openclash/luasrc/openclash.lua deleted file mode 100644 index c9bd2c4c4e..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/openclash.lua +++ /dev/null @@ -1,244 +0,0 @@ ---[[ -LuCI - Filesystem tools - -Description: -A module offering often needed filesystem manipulation functions - -FileId: -$Id$ - -License: -Copyright 2008 Steven Barth - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -]]-- - -local io = require "io" -local os = require "os" -local ltn12 = require "luci.ltn12" -local fs = require "nixio.fs" -local nutil = require "nixio.util" - -local type = type - ---- LuCI filesystem library. -module "luci.openclash" - ---- Test for file access permission on given path. --- @class function --- @name access --- @param str String value containing the path --- @return Number containing the return code, 0 on sucess or nil on error --- @return String containing the error description (if any) --- @return Number containing the os specific errno (if any) -access = fs.access - ---- Evaluate given shell glob pattern and return a table containing all matching --- file and directory entries. --- @class function --- @name glob --- @param filename String containing the path of the file to read --- @return Table containing file and directory entries or nil if no matches --- @return String containing the error description (if no matches) --- @return Number containing the os specific errno (if no matches) -function glob(...) - local iter, code, msg = fs.glob(...) - if iter then - return nutil.consume(iter) - else - return nil, code, msg - end -end - ---- Checks wheather the given path exists and points to a regular file. --- @param filename String containing the path of the file to test --- @return Boolean indicating wheather given path points to regular file -function isfile(filename) - return fs.stat(filename, "type") == "reg" -end - ---- Checks wheather the given path exists and points to a directory. --- @param dirname String containing the path of the directory to test --- @return Boolean indicating wheather given path points to directory -function isdirectory(dirname) - return fs.stat(dirname, "type") == "dir" -end - ---- Read the whole content of the given file into memory. --- @param filename String containing the path of the file to read --- @return String containing the file contents or nil on error --- @return String containing the error message on error -readfile = fs.readfile - ---- Write the contents of given string to given file. --- @param filename String containing the path of the file to read --- @param data String containing the data to write --- @return Boolean containing true on success or nil on error --- @return String containing the error message on error -writefile = fs.writefile - ---- Copies a file. --- @param source Source file --- @param dest Destination --- @return Boolean containing true on success or nil on error -copy = fs.datacopy - ---- Renames a file. --- @param source Source file --- @param dest Destination --- @return Boolean containing true on success or nil on error -rename = fs.move - ---- Get the last modification time of given file path in Unix epoch format. --- @param path String containing the path of the file or directory to read --- @return Number containing the epoch time or nil on error --- @return String containing the error description (if any) --- @return Number containing the os specific errno (if any) -function mtime(path) - return fs.stat(path, "mtime") -end - ---- Set the last modification time of given file path in Unix epoch format. --- @param path String containing the path of the file or directory to read --- @param mtime Last modification timestamp --- @param atime Last accessed timestamp --- @return 0 in case of success nil on error --- @return String containing the error description (if any) --- @return Number containing the os specific errno (if any) -function utime(path, mtime, atime) - return fs.utimes(path, atime, mtime) -end - ---- Return the last element - usually the filename - from the given path with --- the directory component stripped. --- @class function --- @name basename --- @param path String containing the path to strip --- @return String containing the base name of given path --- @see dirname -basename = fs.basename - ---- Return the directory component of the given path with the last element --- stripped of. --- @class function --- @name dirname --- @param path String containing the path to strip --- @return String containing the directory component of given path --- @see basename -dirname = fs.dirname - ---- Return a table containing all entries of the specified directory. --- @class function --- @name dir --- @param path String containing the path of the directory to scan --- @return Table containing file and directory entries or nil on error --- @return String containing the error description on error --- @return Number containing the os specific errno on error -function dir(...) - local iter, code, msg = fs.dir(...) - if iter then - local t = nutil.consume(iter) - t[#t+1] = "." - t[#t+1] = ".." - return t - else - return nil, code, msg - end -end - ---- Create a new directory, recursively on demand. --- @param path String with the name or path of the directory to create --- @param recursive Create multiple directory levels (optional, default is true) --- @return Number with the return code, 0 on sucess or nil on error --- @return String containing the error description on error --- @return Number containing the os specific errno on error -function mkdir(path, recursive) - return recursive and fs.mkdirr(path) or fs.mkdir(path) -end - ---- Remove the given empty directory. --- @class function --- @name rmdir --- @param path String containing the path of the directory to remove --- @return Number with the return code, 0 on sucess or nil on error --- @return String containing the error description on error --- @return Number containing the os specific errno on error -rmdir = fs.rmdir - -local stat_tr = { - reg = "regular", - dir = "directory", - lnk = "link", - chr = "character device", - blk = "block device", - fifo = "fifo", - sock = "socket" -} ---- Get information about given file or directory. --- @class function --- @name stat --- @param path String containing the path of the directory to query --- @return Table containing file or directory properties or nil on error --- @return String containing the error description on error --- @return Number containing the os specific errno on error -function stat(path, key) - local data, code, msg = fs.stat(path) - if data then - data.mode = data.modestr - data.type = stat_tr[data.type] or "?" - end - return key and data and data[key] or data, code, msg -end - ---- Set permissions on given file or directory. --- @class function --- @name chmod --- @param path String containing the path of the directory --- @param perm String containing the permissions to set ([ugoa][+-][rwx]) --- @return Number with the return code, 0 on sucess or nil on error --- @return String containing the error description on error --- @return Number containing the os specific errno on error -chmod = fs.chmod - ---- Create a hard- or symlink from given file (or directory) to specified target --- file (or directory) path. --- @class function --- @name link --- @param path1 String containing the source path to link --- @param path2 String containing the destination path for the link --- @param symlink Boolean indicating wheather to create a symlink (optional) --- @return Number with the return code, 0 on sucess or nil on error --- @return String containing the error description on error --- @return Number containing the os specific errno on error -function link(src, dest, sym) - return sym and fs.symlink(src, dest) or fs.link(src, dest) -end - ---- Remove the given file. --- @class function --- @name unlink --- @param path String containing the path of the file to remove --- @return Number with the return code, 0 on sucess or nil on error --- @return String containing the error description on error --- @return Number containing the os specific errno on error -unlink = fs.unlink - ---- Retrieve target of given symlink. --- @class function --- @name readlink --- @param path String containing the path of the symlink to read --- @return String containing the link target or nil on error --- @return String containing the error description on error --- @return Number containing the os specific errno on error -readlink = fs.readlink diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/cfg_check.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/cfg_check.htm deleted file mode 100644 index 504f125d4b..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/cfg_check.htm +++ /dev/null @@ -1,18 +0,0 @@ -<%+cbi/valueheader%> -
-<% - local val = self:cfgvalue(section) - if val == "启用" or val == "Enable" or val == "检查通过" or val == "Config Normal" or val == "Exist" or val == "已下载" then -%> -
-<% - else -%> -
-<% - end - write(pcdata(val)) -%> -
-
-<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/config_editor.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/config_editor.htm deleted file mode 100644 index 6608147391..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/config_editor.htm +++ /dev/null @@ -1,67 +0,0 @@ -<%+cbi/valueheader%> - - - - - - - - - - - - - - - - - - - -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/developer.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/developer.htm deleted file mode 100644 index a56778b5b3..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/developer.htm +++ /dev/null @@ -1,114 +0,0 @@ -
- - - - - - - - - - - - - - - -
<%:Collecting data...%><%:Collecting data...%><%:Collecting data...%><%:Collecting data...%><%:Collecting data...%><%:Collecting data...%><%:Collecting data...%><%:Collecting data...%><%:Collecting data...%><%:Collecting data...%><%:Collecting data...%><%:Collecting data...%>
-
- - \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/download_rule.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/download_rule.htm deleted file mode 100644 index ccad4d2c1d..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/download_rule.htm +++ /dev/null @@ -1,41 +0,0 @@ -<%+cbi/valueheader%> - - - - - - -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/dvalue.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/dvalue.htm deleted file mode 100644 index 44b1cd6e13..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/dvalue.htm +++ /dev/null @@ -1,13 +0,0 @@ -<%+cbi/valueheader%> -
-
-<%:Only Support yaml what would be save to /etc/openclash/%> -
-
-<% - local val = self:cfgvalue(section) or self.default or "" - write(pcdata(val)) -%> -
-
-<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/log.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/log.htm deleted file mode 100644 index e7bf865f8e..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/log.htm +++ /dev/null @@ -1,123 +0,0 @@ -<%+cbi/valueheader%> - -
- - - - - - - -
- - - - - - - -
-
- - - - -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/myip.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/myip.htm deleted file mode 100644 index 2bd1d6a4b9..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/myip.htm +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - IP 地址查询 - - -
- - -
- -
-
-

<%:IP Address%>

-

- IPIP      <%:Mainland%>: -

-

- IP.PC    <%:Mainland%>: -

-

- IP.SB    <%:Abroad%>: -

-

- IPIFY    <%:Abroad%>: -

-
-
-

<%:Website Access Check%>

-

- <%:Baidu Search%>: -

-

- <%:NetEase Music%>: -

-

- GitHub: -

-

- YouTube: -

-
-
-
-

Powered by ip.skk.moe

-
-
-
- - - - - - diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/other_button.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/other_button.htm deleted file mode 100644 index 1c391ad984..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/other_button.htm +++ /dev/null @@ -1,7 +0,0 @@ -<%+cbi/valueheader%> - <% if self:cfgvalue(section) ~= false then %> - " style="display: <%= display %>" type="submit"<%= attr("name", cbid) .. attr("id", cbid) .. attr("value", self.inputtitle or self.title)%> /> - <% else %> - - - <% end %> -<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/ping.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/ping.htm deleted file mode 100644 index 8c86aee74a..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/ping.htm +++ /dev/null @@ -1,3 +0,0 @@ -<%+cbi/valueheader%> --- ms -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/server_list.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/server_list.htm deleted file mode 100644 index c5430f044c..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/server_list.htm +++ /dev/null @@ -1,32 +0,0 @@ -<%# - Copyright 2018-2019 Lienol - Licensed to the public under the Apache License 2.0. --%> - -<% -local dsp = require "luci.dispatcher" --%> - - \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/status.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/status.htm deleted file mode 100644 index bad80f1ddb..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/status.htm +++ /dev/null @@ -1,544 +0,0 @@ - -
- - - - - - - - - - - - - - - - - - - - -
-

- -

-

- <%:Collecting data...%> -

-
-

- Wiki -     - star -     - Telegram -     - -

-
-

- <%:Tip: after started, please wait patiently until the connection is normal%> -

-
<%:Main Program%><%:Collecting data...%><%:Control Panel Login IP%><%:Collecting data...%>
<%:Core Daemons%><%:Collecting data...%><%:Control Panel Login Port%><%:Collecting data...%>
<%:Core Running Mode%><%:Collecting data...%><%:Control Panel Login Secret%><%:Collecting data...%>
<%:Yacd Control Panel%><%:Collecting data...%><%:Dashboard Control Panel%><%:Collecting data...%>

Show More

<%:Quick Operation%>

<%:Collecting data...%><%:Collecting data...%><%:Collecting data...%><%:Collecting data...%>
<%:Collecting data...%><%:Collecting data...%><%:Collecting data...%><%:Collecting data...%>
-
-
- - - - - -
-

- <%:Please ensure that all items are displayed normally before running. If you need to update, please go to the global settings page%> -

-
<%:Node Select Backup%><%:Collecting data...%><%:lhie1 Rule Update%><%:Collecting data...%>
<%:ConnersHua Rule Update%><%:Collecting data...%><%:ConnersHua Return Rule Update%><%:Collecting data...%>
<%:Mainland IP Update%><%:Collecting data...%><%:GEOIP(By MaxMind)Data Update%><%:Collecting data...%>
-
- - diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/switch_mode.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/switch_mode.htm deleted file mode 100644 index 2b42439230..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/switch_mode.htm +++ /dev/null @@ -1,45 +0,0 @@ - -
- - -
-

- <%:Collecting data...%> -

-
-
- - - \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/update.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/update.htm deleted file mode 100644 index 3854d05f85..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/update.htm +++ /dev/null @@ -1,394 +0,0 @@ - -
- - - - - - - - - - - - - -
-

- <%:Note: if the update fails, you can manually download and upload%> -

-
<%:Compiled Version Selected%><%:Collecting data...%><%:Last Check Update%><%:Collecting data...%>
<%:CPU Architecture (OS)%><%:Collecting data...%><%:CPU Architecture (OPKG)%><%:Collecting data...%>
-

- <%:Core path:%> /etc/openclash/core/clash -

-
[dev] <%:Current Core%><%:Collecting data...%>[dev] <%:Latest Core%><%:Collecting data...%>
<%:Update Core%><%:Collecting data...%><%:Download Latest Core%><%:Collecting data...%>
-

- <%:Core path:%>/etc/openclash/core/clash_tun -

-
[TUN] <%:Current Core%><%:Collecting data...%>[TUN] <%:Latest Core%><%:Collecting data...%>
<%:Update Core%><%:Collecting data...%><%:Download Latest Core%><%:Collecting data...%>
-

- <%:Core path:%>/etc/openclash/core/clash_game -

-
[Game] <%:Current Core%> <%:Collecting data...%>[Game] <%:Latest Core%><%:Collecting data...%>
<%:Update Core%><%:Collecting data...%><%:Download Latest Core%><%:Collecting data...%>
-
-
- - - - -
-

- <%:Client Update%> -

-
<%:Current Client%><%:Collecting data...%><%:Latest Client%><%:Collecting data...%>
<%:Update Client%><%:Collecting data...%><%:Download Latest Client%><%:Collecting data...%>
-
-
- - - -
-

- <%:Collecting data...%> -

-
-

- <%:Collecting data...%> -

-
-
- - - \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/upload.htm b/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/upload.htm deleted file mode 100644 index b26dc442a7..0000000000 --- a/package/ctcgfw/luci-app-openclash/luasrc/view/openclash/upload.htm +++ /dev/null @@ -1,12 +0,0 @@ -<%+cbi/valueheader%> -
-
-<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-openclash/po/zh-cn/openclash.zh-cn.po b/package/ctcgfw/luci-app-openclash/po/zh-cn/openclash.zh-cn.po deleted file mode 100644 index 243c7c923c..0000000000 --- a/package/ctcgfw/luci-app-openclash/po/zh-cn/openclash.zh-cn.po +++ /dev/null @@ -1,1459 +0,0 @@ -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" - -msgid "OpenClash" -msgstr "OpenClash" - -msgid "A Clash Client For OpenWrt" -msgstr "一个运行在OpenWrt上的Clash客户端,兼容Shadowsocks、ShadowsocksR、Vmess、Trojan、Snell等协议,根据灵活的规则配置实现策略代理" - -msgid "Global Settings(Will Modify The Config File Or Subscribe According To The Settings On This Page)" -msgstr "全局设置(将按照本页设置自动修改配置文件和获取订阅)" - -msgid "Technical Support" -msgstr "技术支持" - -msgid "Overviews" -msgstr "运行状态" - -msgid "Global Settings" -msgstr "全局设置" - -msgid "Rule Providers and Groups" -msgstr "规则集与策略组管理" - -msgid "Game Rules and Groups" -msgstr "游戏规则与策略组管理" - -msgid "Other Rule Providers and Groups" -msgstr "第三方规则集与策略组管理" - -msgid "Custom Rule Providers and Groups" -msgstr "自定义规则集与策略组管理" - -msgid "General Settings" -msgstr "常规设置" - -msgid "DNS Setting" -msgstr "DNS设置" - -msgid "Config Update" -msgstr "配置文件订阅" - -msgid "Config Subscribe Edit" -msgstr "编辑配置文件订阅信息" - -msgid "Rules Update" -msgstr "第三方规则订阅" - -msgid "Dashboard Settings" -msgstr "外部控制" - -msgid "GEOIP数据库订阅" -msgstr "外部控制" - -msgid "Enable" -msgstr "启用" - -msgid "Disable" -msgstr "停用" - -msgid "Running" -msgstr "运行中" - -msgid "Not Running" -msgstr "未运行" - -msgid "(Enable or Disable)" -msgstr "(仅添加选中的设置)" - -msgid "Config Normal" -msgstr "检查通过" - -msgid "Config Abnormal" -msgstr "检查失败" - -msgid "File Not Exist" -msgstr "文件不存在" - -msgid "Not Set" -msgstr "未设置" - -msgid "Server Logs" -msgstr "运行日志" - -msgid "Debug Logs" -msgstr "调试日志" - -msgid "Generate Logs" -msgstr "生成日志" - -msgid "Click to Generate" -msgstr "点击生成" - -msgid "Enable Clash" -msgstr "启动 OpenClash" - -msgid "Disable Clash" -msgstr "关闭 OpenClash" - -msgid "Commit Configurations" -msgstr "保存配置" - -msgid "Apply Configurations" -msgstr "应用配置" - -msgid "Download Config" -msgstr "下载配置" - -msgid "Download Running Config" -msgstr "下载运行配置" - -msgid "Select Mode" -msgstr "*运行模式" - -msgid "redir-host" -msgstr "Redir-Host(兼容)模式" - -msgid "fake-ip" -msgstr "Fake-IP(增强)模式" - -msgid "redir-host(tun mode)" -msgstr "Redir-Host(TUN)模式【依赖kmod-tun】" - -msgid "fake-ip(tun mode)" -msgstr "Fake-IP(TUN)模式【依赖kmod-tun】" - -msgid "redir-host-vpn(game mode)" -msgstr "Redir-Host(游戏)模式【依赖kmod-tun】" - -msgid "fake-ip-vpn(game mode)" -msgstr "Fake-IP(游戏)模式【依赖kmod-tun】" - -msgid "redir-host-mix(tun mix mode)" -msgstr "Redir-Host(TUN-混合)模式【依赖kmod-tun】【UDP-TUN,TCP-转发】" - -msgid "fake-ip-mix(tun mix mode)" -msgstr "Fake-IP(TUN-混合)模式【依赖kmod-tun】【UDP-TUN,TCP-转发】" - -msgid "Select Mode For OpenClash Work, Try Flush DNS Cache If Network Error" -msgstr "选择运行模式,如客户端的网络异常请尝试清除DNS缓存" - -msgid "Proxy Mode" -msgstr "*代理模式" - -msgid "Select Proxy Mode, Use Script Mode Could Prevent Proxy BT traffics If Rules Support, eg.lhie1's" -msgstr "选择默认代理模式,如果规则支持,使用脚本模式可以阻止代理BT流量,比如lhie1规则" - -msgid "Rule Proxy Mode" -msgstr "Rule【策略代理】" - -msgid "Global Proxy Mode" -msgstr "Global【全局代理(需前往控制面板手动指定节点)】" - -msgid "Direct Proxy Mode" -msgstr "Direct【全局直连】" - -msgid "Script Proxy Mode (Tun Core Only)" -msgstr "Script【脚本模式 - 仅Tun内核】" - -msgid "Select Stack Type" -msgstr "网络栈类型" - -msgid "Select Stack Type For Tun Mode, According To The Running Speed on Your Machine" -msgstr "请自行根据运行速度为Tun模式选择合适的网络栈" - -msgid "China IP Route" -msgstr "实验性:绕过中国大陆IP" - -msgid "Bypass The China Network Flows, Improve Performance" -msgstr "启用后中国大陆流量将不再经过内核,提升系统性能" - -msgid "Log Level" -msgstr "日志等级" - -msgid "Info Mode" -msgstr "Info【信息】" - -msgid "Warning Mode" -msgstr "Warning【警告】" - -msgid "Error Mode" -msgstr "Error【错误】" - -msgid "Debug Mode" -msgstr "Debug【调试】" - -msgid "Silent Mode" -msgstr "Silent【静默】" - -msgid "Select Core's Log Level" -msgstr "选择内核日志的默认输出模式" - -msgid "Only intranet allowed" -msgstr "仅允许内网" - -msgid "When Enabled, The Control Panel And The Connection Broker Port Will Not Be Accessible From The Public Network" -msgstr "启用后将禁止从公网访问控制面板和连接代理端口" - -msgid "Redirect Local DNS Setting" -msgstr "*本地DNS劫持" - -msgid "Set Local DNS Redirect" -msgstr "默认启用,将自动设置Dnsmasq的上游服务器,如和其他插件冲突可停用,但须将OpenClash作为冲突插件的唯一上游服务器" - -msgid "Disable Dnsmasq's DNS Cache" -msgstr "禁止Dnsmasq缓存DNS" - -msgid "Recommended Enabled For Avoiding Some Connection Errors" -msgstr "推荐启用,防止因缓存造成连接错误" - -msgid "(Maybe Incompatible For Your Firmware)" -msgstr "(部分固件可能不兼容)" - -msgid "Custom DNS Setting" -msgstr "自定义上游DNS服务器" - -msgid "Use Custom Rules" -msgstr "启用后将把自定义规则增加到配置文件,规则请到下方文本框编辑" - -msgid "Add Custom DNS Servers" -msgstr "设置自定义上游DNS服务器" - -msgid "(Take Effect After Choose Above)" -msgstr "(在上方设置中启用本功能后生效)" - -msgid "Advanced Setting" -msgstr "高级设置" - -msgid "DNS Advanced Settings" -msgstr "DNS高级设置" - -msgid "(Please Don't Modify it at Will)" -msgstr "(如您不知道选项有何用,请不要随意修改)" - -msgid "Specify DNS Server" -msgstr "指定(第二)DNS服务器" - -msgid "Specify DNS Server For List and Server Nodes With Fake-IP Mode, Only One IP Server Address Support" -msgstr "指定下方列表中域名和Fake-IP模式下非代理集内节点的DNS服务器,只支持填写一个IP地址" - -msgid "Domain Names In The List Do Not Return Fake-IP, One rule per line" -msgstr "每行请只填写一个域名,列表中的域名在(Fake-IP模式)下查询DNS时将返回真实IP地址,更改后点击上方按钮生效" - -msgid "Domain Names In The List Use The Custom DNS Server, One rule per line" -msgstr "每行请只填写一个域名,列表中的域名将使用上方指定的DNS进行查询" - -msgid "Fake-IP-Filter List Update" -msgstr "更新Fake-IP域名黑名单" - -msgid "Set OpenClash Upstream DNS Resolve Server" -msgstr "启用将覆盖配置文件内的设置,请先在下方配置好服务器" - -msgid "DNS Server Group" -msgstr "服务器分组" - -msgid "(NameServer Group Must Be Set)" -msgstr "(NameServer 组必须设置)" - -msgid "DNS Server Address" -msgstr "服务器地址" - -msgid "(Do Not Add Type Ahead)" -msgstr "(请勿添加类型前缀)" - -msgid "DNS Server Port" -msgstr "服务器端口" - -msgid "(Require When Use Non-Standard Port)" -msgstr "(使用非标准端口时必须填写)" - -msgid "DNS Server Type" -msgstr "服务器类型" - -msgid "(Communication protocol)" -msgstr "(通讯协议)" - -msgid "Enable ipv6 Resolve" -msgstr "允许IPV6类型DNS解析" - -msgid "Enable Clash to Resolve ipv6 DNS Requests" -msgstr "" -"固件须配置好IPV6的NAT,如你不使用IPV6请关闭固件的相关服务,避免客户端连接出现异常" - -msgid "Rules Setting" -msgstr "规则设置" - -msgid "Rules Setting(Access Control)" -msgstr "规则设置(访问控制)" - -msgid "Config Manage" -msgstr "配置文件管理" - -msgid "Upload File Type" -msgstr "上传文件类型" - -msgid "Proxy Provider File" -msgstr "代理集文件" - -msgid "Rule Provider File" -msgstr "规则集文件" - -msgid "Upload" -msgstr "上传" - -msgid "File saved to" -msgstr "文件已成功上传到" - -msgid "upload file error." -msgstr "文件上传失败" - -msgid "No specify upload file." -msgstr "未指定上传文件" - -msgid "" -"Only Support yaml what would be save to /etc/openclash/" -msgstr "注意:只支持【yaml】后缀的文件,文件将被保存到 /etc/openclash/" - -msgid "Proxy Provider File List" -msgstr "代理集文件列表" - -msgid "Rule Providers File List" -msgstr "规则集文件列表" - -msgid "Please Make Sure Ports Available" -msgstr "请确保端口可用" - -msgid "Update Subcription" -msgstr "更新订阅配置" - -msgid "Update time (every day)" -msgstr "更新时间(每天)" - -msgid "Update Interval(min)" -msgstr "更新间隔(分钟)" - -msgid "Update Mode" -msgstr "更新模式" - -msgid "Appointment Mode" -msgstr "预约" - -msgid "Loop Mode" -msgstr "循环" - -msgid "Auto Update" -msgstr "自动更新" - -msgid "Check And Update" -msgstr "检查并更新" - -msgid "After clash start running, wait a moment for servers to resolve,enjoy" -msgstr "运行后,请等待服务器上线" - -msgid "Redir Port" -msgstr "流量转发端口" - -msgid "SOCKS5 Port" -msgstr "SOCKS5 代理端口" - -msgid "HTTP(S) Port" -msgstr "HTTP(S) 代理端口" - -msgid "Mixed Port" -msgstr "HTTP(S)&SOCKS5 混合代理端口" - -msgid "Set Authentication of SOCKS5/HTTP(S)" -msgstr "设置SOCKS5/HTTP(S)认证信息" - -msgid "Not Null" -msgstr "空值无效" - -msgid "Server Subscription Address" -msgstr "配置文件订阅地址" - -msgid "Auto Update Server subscription" -msgstr "自动更新配置文件" - -msgid "Modify Your Config file:" -msgstr "您可以在下方直接修改配置文件:" - -msgid "Here, Except The Settings That Were Taken Over" -msgstr ",仅支持未被接管的设置" - -msgid "Default Config File With Correct Template" -msgstr "参考配置文件,方便您查询各项参数注释和正确的设置、顺序" - -msgid "Config File Edited By OpenClash For Running" -msgstr "OpenClash修改后用于启动的配置文件" - -msgid "Dashboard Secret" -msgstr "管理页面登录密钥" - -msgid "Set Dashboard Secret" -msgstr "设置您的管理页面登录密钥" - -msgid "Dashboard Address Example:" -msgstr "管理页面地址示例:" - -msgid "Dashboard Port" -msgstr "管理页面端口" - -msgid "GEOIP Update" -msgstr "GEOIP数据库订阅" - -msgid "Auto Update GEOIP Database" -msgstr "自动更新GEOIP数据库" - -msgid "Update GEOIP Database" -msgstr "更新GEOIP数据库" - -msgid "Auto Update Chnroute Lists" -msgstr "自动更新大陆白名单" - -msgid "Update Chnroute Lists" -msgstr "更新大陆白名单" - -msgid "Chnroute Update" -msgstr "大陆白名单订阅" - -msgid "Other Rules Update(Only in Use)" -msgstr "正在使用第三方规则时才能更新" - -msgid "Enable Other Rules" -msgstr "第三方规则" - -msgid "Use Other Rules" -msgstr "将覆盖配置文件内的所有规则 (不包括自定义规则),启用前请先在此页面下方创建配置" - -msgid "lhie1 Rules" -msgstr "lhie1 规则" - -msgid "ConnersHua Rules" -msgstr "ConnersHua 规则" - -msgid "ConnersHua(Provider-type) Rules" -msgstr "ConnersHua(规则集) 规则" - -msgid "ConnersHua Return Rules" -msgstr "ConnersHua 回国规则" - -msgid "Auto Update Other Rules" -msgstr "正在使用第三方规则时更新设置才会生效" - -msgid "Update Time (Every Week)" -msgstr "更新时间(每周)" - -msgid "Every Day" -msgstr "每天" - -msgid "Every Monday" -msgstr "每周一" - -msgid "Every Tuesday" -msgstr "每周二" - -msgid "Every Wednesday" -msgstr "每周三" - -msgid "Every Thursday" -msgstr "每周四" - -msgid "Every Friday" -msgstr "每周五" - -msgid "Every Saturday" -msgstr "每周六" - -msgid "Every Sunday" -msgstr "每周日" - -msgid "Update Other Rules" -msgstr "更新第三方规则" - -msgid "GlobalTV" -msgstr "国际流媒体流量" - -msgid "AsianTV" -msgstr "亚洲流媒体流量" - -msgid "Proxy" -msgstr "必须代理的流量" - -msgid "Youtube" -msgstr "Youtube流量" - -msgid "Apple" -msgstr "苹果服务流量" - -msgid "Scholar" -msgstr "学术网站流量" - -msgid "Microsoft" -msgstr "微软服务流量" - -msgid "Netflix" -msgstr "Netflix流量" - -msgid "Disney" -msgstr "Disney流量" - -msgid "Spotify" -msgstr "Spotify流量" - -msgid "Steam" -msgstr "Steam流量(非下载流量)" - -msgid "Netease Music" -msgstr "网易云音乐流量" - -msgid "Speedtest" -msgstr "测速流量" - -msgid "Telegram" -msgstr "Telegram流量" - -msgid "PayPal" -msgstr "PayPal流量" - -msgid "AdBlock" -msgstr "广告流量" - -msgid "Domestic" -msgstr "国内流量" - -msgid "Others" -msgstr "未匹配到规则的流量" - -msgid "Choose Proxy Groups, Base On Your Config File" -msgstr "指定流量(策略)的代理方式,只支持选择(策略组),信息来源于您的配置文件" - -msgid "Custom Clash Rules" -msgstr "自定义规则" - -msgid "Custom Clash Rules(Access Control)" -msgstr "自定义规则(访问控制)" - -msgid "Custom Rules Here, For More Go Github:https://github.com/Dreamacro/clash/blob/master/README.md, IP To CIDR: http://ip2cidr.com" -msgstr "设置自定义规则(顶部),详细信息请前往Github( https://github.com/Dreamacro/clash/blob/master/README.md )查询,在线IP段转CIDR地址:http://ip2cidr.com" - -msgid "Custom Rules 2 Here, For More Go Github:https://github.com/Dreamacro/clash/blob/master/README.md, IP To CIDR: http://ip2cidr.com" -msgstr "设置自定义规则(底部),详细信息请前往Github( https://github.com/Dreamacro/clash/blob/master/README.md )查询,在线IP段转CIDR地址:http://ip2cidr.com" - -msgid "Custom Hosts Here, For More Go Github:https://github.com/Dreamacro/clash/blob/master/README.md" -msgstr "设置自定义Hosts,详细信息请前往Github( https://github.com/Dreamacro/clash/blob/master/README.md )查询" - -msgid "Set Custom Rules" -msgstr "设置自定义规则(在上方规则设置中启用本功能后生效)" - -msgid "Set Custom Hosts, Only Work with Redir-Host Mode" -msgstr "设置自定义Hosts,仅在Redir-Host模式下生效(不会覆盖配置文件设置)" - -msgid "Version Update" -msgstr "版本更新" - -msgid "CPU Model" -msgstr "处理器架构" - -msgid "Model Not Found" -msgstr "处理器架构识别失败" - -msgid "Current Core Version" -msgstr "当前内核版本" - -msgid "Last Core Version" -msgstr "最新内核版本" - -msgid "Unknown" -msgstr "查询失败" - -msgid "Check Failed" -msgstr "查询更新失败" - -msgid "" -msgstr "<可更新>" - -msgid "Chose to Download" -msgstr "*选择内核编译版本" - -msgid "Select Based On Your CPU Model For Core Update, Wrong Version Will Not Work" -msgstr "请根据处理器架构选择以便下载、更新对应内核,错误的版本将不能正常运行" - -msgid "Update Core File" -msgstr "更新内核" - -msgid "Download Form https://github.com/vernesong/OpenClash/releases/tag/Clash If Fail" -msgstr "" -"如下载失败可前往 https://github.com/vernesong/OpenClash/releases/tag/Clash 手动下载并上传" - -msgid "Last OpenClash Version" -msgstr "最新客户端版本" - -msgid "Current OpenClash Version" -msgstr "当前客户端版本" - -msgid "Update OpenClash" -msgstr "更新客户端" - -msgid "Only For IPK Install Type Or Not Release Memory" -msgstr "" -"只支持通过IPK安装的版本进行更新,因为随系统编译的版本更新后不会释放旧版本的闪存空间" - -msgid "Servers and Groups" -msgstr "服务器与策略组管理" - -msgid "Load Config" -msgstr "读取配置" - -msgid "Delete Unused Servers" -msgstr "删除未启用节点" - -msgid "Delete Servers" -msgstr "清空服务器配置" - -msgid "Delete Proxy Provider" -msgstr "清空代理集配置" - -msgid "Delete Groups" -msgstr "清空策略组配置" - -msgid "Back Configurations" -msgstr "返回概览" - -msgid "Refresh Page" -msgstr "刷新页面" - -msgid "Servers manage and Config create" -msgstr "服务器&策略组管理(支持配置文件一键生成)" - -msgid "Keep Settings" -msgstr "保留配置" - -msgid "Only Update Servers Below When Subscription" -msgstr "订阅时仅更新节点和代理集,保留下方策略组设置,不修改顺序" - -msgid "New Servers Group" -msgstr "新节点默认策略组" - -msgid "Set The New Subscribe Server's Default Proxy Groups" -msgstr "选择符合订阅要求的新节点的默认策略组(请勿重复添加)" - -msgid "Choose Template For Create Config" -msgstr "选择配置文件模板" - -msgid "Use Other Rules To Create Config" -msgstr "使用第三方规则快速创建配置文件(创建后可在全局设置页面调整参数)" - -msgid "Disable Create Config" -msgstr "只更新配置文件服务器节点信息" - -msgid "Mix Proxies" -msgstr "混合节点" - -msgid "Mix This Page's Proxies" -msgstr "一键生成配置文件时合并本页下方的所有代理服务器信息(不区分配置文件)" - -msgid "Type" -msgstr "节点类型" - -msgid "Server Alias" -msgstr "别名(请勿重名)" - -msgid "Server Address" -msgstr "服务器地址" - -msgid "Server Port" -msgstr "服务器端口" - -msgid "UDP Support" -msgstr "UDP支持" - -msgid "Ping Latency" -msgstr "服务器延迟" - -msgid "Edit Server" -msgstr "编辑服务器配置" - -msgid "Server Node Type" -msgstr "服务器节点类型" - -msgid "Using incorrect encryption mothod may causes service fail to start" -msgstr "输入不正确的参数组合可能会导致服务无法启动" - -msgid "Password" -msgstr "密码" - -msgid "Encrypt Method" -msgstr "加密方式" - -msgid "Protocol" -msgstr "协议" - -msgid "Protocol param(optional)" -msgstr "传输协议参数(可选)" - -msgid "Obfs" -msgstr "混淆插件" - -msgid "Obfs param(optional)" -msgstr "混淆参数(可选)" - -msgid "UDP Enable" -msgstr "UDP支持" - -msgid "obfs-mode" -msgstr "传输协议" - -msgid "obfs-hosts" -msgstr "混淆参数(HOST)" - -msgid "Auth Username" -msgstr "登录用户名" - -msgid "Auth Password" -msgstr "登录密码" - -msgid "None" -msgstr "未配置" - -msgid "Create Config" -msgstr "一键生成配置文件" - -msgid "Create Config By One-Click Only Need Proxys" -msgstr "一键生成配置文件功能只需要配置服务器节点信息或代理集信息" - -msgid "Proxy Groups(No Need Set when Config Create)" -msgstr "策略组配置(使用一键生成配置文件功能时无需设置)" - -msgid "Proxys" -msgstr "服务器节点配置" - -msgid "Edit Rule Providers" -msgstr "编辑规则集配置" - -msgid "Rule Providers Type" -msgstr "规则集类型" - -msgid "Choose The Rule Providers Type" -msgstr "选择规则集类型" - -msgid "Append Position" -msgstr "规则集匹配顺序" - -msgid "Priority Match" -msgstr "优先(覆盖)" - -msgid "Extended Match" -msgstr "扩展(补充)" - -msgid "Rule Providers Name" -msgstr "别名(请勿重名)" - -msgid "Rule Behavior" -msgstr "规则类型" - -msgid "Choose The Rule Behavior" -msgstr "选择规则类型" - -msgid "Rule Providers Path" -msgstr "规则集路径" - -msgid "Update Your Rule Providers File From Config Luci Page" -msgstr "请先在配置文件管理页面上传您的规则集文件" - -msgid "Rule Providers URL" -msgstr "规则集地址" - -msgid "Rule Providers Interval(s)" -msgstr "规则集更新时间(秒)" - -msgid "Edit Group" -msgstr "编辑策略组配置" - -msgid "Group Type" -msgstr "策略组类型" - -msgid "Choose The Operation Mode" -msgstr "设置策略组挑选服务器节点的工作方式" - -msgid "Group Name" -msgstr "别名(请勿重名)" - -msgid "Disable UDP" -msgstr "禁用UDP连接" - -msgid "Test URL" -msgstr "检测地址(URL)" - -msgid "Test Interval(s)" -msgstr "检测频率(秒)" - -msgid "Tolerance(ms)" -msgstr "节点切换容忍值(毫秒)" - -msgid "Manual-Select" -msgstr "Select【手动选择】" - -msgid "URL-Test" -msgstr "URL-Test【最低延迟】" - -msgid "Fallback" -msgstr "Fallback【故障切换】" - -msgid "Load-Balance" -msgstr "Load-Balance【负载均衡】" - -msgid "Relay-Traffic" -msgstr "Relay【嵌套中转】" - -msgid "Other Group" -msgstr "包含其他策略组(请勿重复添加)" - -msgid "The Added Proxy Groups Must Exist Except 'DIRECT' & 'REJECT'" -msgstr "注意:除'DIRECT'和'REJECT'外,修改配置文件前添加的其他策略组必须已创建" - -msgid "The Added Proxy Provider Must Exist" -msgstr "修改配置文件前添加的代理集必须已创建" - -msgid "Proxy Group" -msgstr "添加到策略组(请勿重复添加)" - -msgid "Set Proxy Group" -msgstr "指定策略组" - -msgid "No Need Set when Config Create, The added Proxy Groups Must Exist" -msgstr "注意:使用一键生成配置文件功能时无需设置此项,修改配置文件前添加的策略组必须已创建" - -msgid "Clean Log" -msgstr "清理日志" - -msgid "Stop Refresh Log" -msgstr "停止刷新" - -msgid "Start Refresh Log" -msgstr "开始刷新" - -msgid "Config File" -msgstr "配置文件" - -msgid "State" -msgstr "状态" - -msgid "Update Time" -msgstr "更新时间" - -msgid "File Name" -msgstr "文件名" - -msgid "Grammar Check" -msgstr "语法检查" - -msgid "Switch Config" -msgstr "切换" - -msgid "Size" -msgstr "文件大小" - -msgid "Remove" -msgstr "移除" - -msgid "(Enable or Disable Subscribe)" -msgstr "(启用或禁用更新)" - -msgid "Config Alias" -msgstr "配置文件名" - -msgid "(Name For Distinguishing)" -msgstr "(用于区分,请勿重名)" - -msgid "Subscribe Address" -msgstr "订阅地址" - -msgid "(Not Null)" -msgstr "(空值无效)" - -msgid "Keyword Match" -msgstr "筛选节点" - -msgid "Exclude Keyword Match" -msgstr "排除节点" - -msgid "(eg: hk or tw&bgp)" -msgstr "(格式示例:香港 或 台湾&bgp 或 新加坡&bgp&奈飞)" - -msgid "Config File List" -msgstr "配置文件列表" - -msgid "Use For All Config File" -msgstr "添加到所有配置文件" - -msgid "Proxy-Provider" -msgstr "代理集配置" - -msgid "Edit Proxy-Provider" -msgstr "编辑代理集配置" - -msgid "Provider Type" -msgstr "代理集类型" - -msgid "Choose The Provider Type" -msgstr "选择代理集的类型" - -msgid "Provider Name" -msgstr "代理集别名(请勿重名)" - -msgid "Provider Path" -msgstr "代理集路径(Path)" - -msgid "Update Your Proxy Provider File From Config Luci Page" -msgstr "请先在配置文件管理页面上传您的代理集文件" - -msgid "Provider URL" -msgstr "代理集URL" - -msgid "Provider Interval(s)" -msgstr "代理集更新间隔(s)" - -msgid "Provider Health Check" -msgstr "代理集状态检查" - -msgid "Health Check URL" -msgstr "状态检查URL" - -msgid "Health Check Interval(s)" -msgstr "状态检查间隔(s)" - -msgid "Game Rule's Name" -msgstr "选择游戏规则" - -msgid "Rule Provider's Name" -msgstr "选择规则集(请勿重复添加)" - -msgid "Select Proxy Group" -msgstr "选择策略组" - -msgid "Game Rules List" -msgstr "游戏规则列表" - -msgid "Rule Name" -msgstr "规则名称" - -msgid "Rule Type" -msgstr "规则类型" - -msgid "Rule Author" -msgstr "规则作者" - -msgid "Download Rule" -msgstr "下载规则" - -msgid "Exist" -msgstr "已下载" - -msgid "Not Exist" -msgstr "未下载" - -msgid "Order Number" -msgstr "序号" - -msgid "Game Rules Manage" -msgstr "管理第三方游戏规则" - -msgid "Other Rule Provider Manage" -msgstr "管理第三方规则集" - -msgid "Other Rule Providers List" -msgstr "第三方规则集列表" - -msgid "Proxy UDP Traffics" -msgstr "*UDP流量转发" - -msgid "Select Mode For UDP Traffics, The Servers Must Support UDP while Choose Proxy" -msgstr "启用时服务器必须支持UDP转发" - -msgid "Operation Mode" -msgstr "模式设置" - -msgid "Select Operation Mode" -msgstr "*页面操作模式" - -msgid "Select Mode For Page Settings, Switch By Click the Button Bellow" -msgstr "选择全局设置的操作模式,单击下面的按钮进行切换" - -msgid "redir-host mode" -msgstr "Redir-Host 模式" - -msgid "fake-ip mode" -msgstr "Fake-IP 模式" - -msgid "Switch Operation Mode" -msgstr "切换操作模式" - -msgid "Switch Mode" -msgstr "切换" - -msgid "Access Control" -msgstr "访问控制" - -msgid "LAN Access Control Mode" -msgstr "局域网访问控制模式" - -msgid "Black List Mode" -msgstr "黑名单模式" - -msgid "White List Mode" -msgstr "白名单模式" - -msgid "LAN Bypassed Host List" -msgstr "不走代理的局域网设备 IP" - -msgid "LAN Proxied Host List" -msgstr "走代理的局域网设备 IP" - -msgid "WAN Bypassed Host List" -msgstr "不走代理的WAN IP" - -msgid "LAN Bypassed Mac List" -msgstr "不走代理的局域网设备 Mac" - -msgid "LAN Proxied Mac List" -msgstr "走代理的局域网设备 Mac" - -msgid "In The Fake-IP Mode, Only Pure IP Requests Are Supported" -msgstr "在Fake-IP模式下,只支持过滤纯IP类型的请求" - -msgid "Rule Match Proxy Mode" -msgstr "*仅代理命中规则流量" - -msgid "Only Proxy Rules Match, Prevent BT/P2P Passing" -msgstr "仅允许代理命中规则的流量,防止BT、P2P下载流量经过代理" - -msgid "Common Ports Proxy Mode" -msgstr "*仅允许常用端口流量" - -msgid "Only Common Ports, Prevent BT/P2P Passing" -msgstr "仅允许常用端口的流量经过Clash,防止BT、P2P下载流量经过代理" - -msgid "Provider File Manage" -msgstr "代理(规则)集文件管理" - -msgid "Config File Edit" -msgstr "配置文件编辑" - -msgid "Delete All File" -msgstr "删除所有文件" - -msgid "Template Name" -msgstr "订阅转换模板" - -msgid "Subscribe Convert Online" -msgstr "在线订阅转换" - -msgid "Custom Template URL" -msgstr "自定义模板地址" - -msgid "Custom Template" -msgstr "自定义模板" - -msgid "Emoji" -msgstr "添加Emoji" - -msgid "skip-cert-verify" -msgstr "跳过证书验证" - -msgid "Sort" -msgstr "排序" - -msgid "Append Node Type" -msgstr "插入节点类型" - -msgid "Convert Subscribe Online With Template, Mix Proxies and Keep Settings options Will Not Effect" -msgstr "根据模板在线转换配置文件,混合节点和保留配置功能将不可用" - -msgid "Convert Subscribe function of Online is Supported By subconverter Written By tindy X" -msgstr "在线订阅转换功能由tindy X通过subconverter提供支持" - -msgid "Small Flash Memory" -msgstr "小闪存模式" - -msgid "Move Core And GEOIP Data File To /tmp/etc/openclash For Small Flash Memory Device" -msgstr "针对闪存空间不够的设备,移动内核和GEOIP数据库文件到 /tmp/etc/openclash 文件夹" - -msgid "Round-robin" -msgstr "轮询(轮流使用全部代理)" - -msgid "Consistent-hashing" -msgstr "哈希匹配(访问相同网站时使用同一个代理)" - -msgid "Strategy Type" -msgstr "策略类型" - -msgid "Choose The Load-Balance's Strategy Type" -msgstr "选择负载均衡的策略类型" - -msgid "Main Program" -msgstr "OpenClash 主程序" - -msgid "Core Daemons" -msgstr "OpenClash 守护程序" - -msgid "Core Running Mode" -msgstr "OpenClash 运行模式" - -msgid "Yacd Control Panel" -msgstr "Yacd 控制面板" - -msgid "Dashboard Control Panel" -msgstr "Dashboard 控制面板" - -msgid "Control Panel Login IP" -msgstr "控制面板登录IP" - -msgid "Control Panel Login Port" -msgstr "控制面板登录端口" - -msgid "Control Panel Login Secret" -msgstr "控制面板登录密钥" - -msgid "Dashboard Control Panel" -msgstr "Dashboard 控制面板" - -msgid "Quick Operation" -msgstr "常用操作快捷按钮" - -msgid "Please ensure that all items are displayed normally before running. If you need to update, please go to the global settings page" -msgstr "组件的状态显示,运行前请确保各项目显示正常,需要更新请到全局设置页面操作" - -msgid "Node Select Backup" -msgstr "策略组节点选择 备份日期" - -msgid "ConnersHua Rule Update" -msgstr "ConnersHua 规则更新日期" - -msgid "Mainland IP Update" -msgstr "大陆IP白名单 更新日期" - -msgid "lhie1 Rule Update" -msgstr "lhie1 规则更新日期" - -msgid "ConnersHua Return Rule Update" -msgstr "ConnersHua 回国规则更新日期" - -msgid "GEOIP(By MaxMind)Data Update" -msgstr "GEOIP(By MaxMind)数据库日期" - -msgid "No Backup" -msgstr "暂未备份" - -msgid "" -msgstr "<功能受限状态>" - -msgid "Fake-IP (Enhance)" -msgstr "Fake-IP(增强)模式" - -msgid "Redir-Host (Compatible)" -msgstr "Redir-Host(兼容)模式" - -msgid "Redir-Host (TUN)" -msgstr "Redir-Host(TUN)模式" - -msgid "Fake-IP (TUN)" -msgstr "Fake-IP(TUN)模式" - -msgid "Redir-Host (Game)" -msgstr "Redir-Host(游戏)模式" - -msgid "Fake-IP (Game)" -msgstr "Fake-IP(游戏)模式" - -msgid "Fake-IP (TUN-Mix)" -msgstr "Fake-IP(TUN-混合)模式" - -msgid "Redir-Host (TUN-Mix)" -msgstr "Redir-Host(TUN-混合)模式" - -msgid "Open Panel" -msgstr "打开控制面板" - -msgid "Close All Connections" -msgstr "重置所有链接" - -msgid "Restore Nodes Selection" -msgstr "还原策略组节点选择" - -msgid "Save Nodes Selection" -msgstr "保存策略组节点选择" - -msgid "Reload Firewall Rules" -msgstr "重置防火墙规则" - -msgid "Check All Components Update" -msgstr "插件和内核检查更新" - -msgid "Check Config Update" -msgstr "配置文件检查更新" - -msgid "Check Third Party Rules Update" -msgstr "第三方规则检查更新" - -msgid "Check GEOIP Data Update" -msgstr "GEOIP数据库检查更新" - -msgid "Check and update all Cores and plug-ins?" -msgstr "确定要一键检查并更新所有内核及插件吗?" - -msgid "Check failed, Please try again later!" -msgstr "一键检查更新失败,请稍后再试!" - -msgid "No compiled version is selected. Please configure it in the General Settings tab!" -msgstr "未选择编译版本,请到常规设置标签中配置!" - -msgid "Checking..." -msgstr "正在检查更新..." - -msgid "Reloading..." -msgstr "正在重置..." - -msgid "Restoring..." -msgstr "正在还原..." - -msgid "Saving..." -msgstr "正在保存..." - -msgid "Firewall Rules Reset Failed" -msgstr "防火墙规则重置失败" - -msgid "Close All Connections Railed" -msgstr "重置所有链接失败" - -msgid "Restore Nodes Selection Railed" -msgstr "还原失败" - -msgid "Save Nodes Selection Failed" -msgstr "备份失败" - -msgid "Tip: after started, please wait patiently until the connection is normal" -msgstr "Tip: OpenClash 成功启动后请耐心等待下方网站访问检查连接正常后再使用" - -msgid "Tip: You can modify the profile on the profile page (for content that is not taken over)" -msgstr "Tip: 您可以在配置文件页面直接修改配置文件(适用于没被接管的内容)" - -msgid "Tip: click the version icon above to jump to the client publishing page" -msgstr "Tip: 点击上方版本图标可跳转到客户端发布页面" - -msgid "Tip: do not write configuration files? Try to create one click on the server page" -msgstr "Tip: 不会编写配置文件?试试在【服务器与策略组管理】页面一键创建" - -msgid "Tip: some website are abnormal? Try switching modes or using third-party rules" -msgstr "Tip: 某些网站链接出现异常? 试试切换模式或者使用第三方规则" - -msgid "Tip: using the fake IP mode can get a faster access experience" -msgstr "Tip: 使用 Fake-IP 模式可以获得更加快速的访问体验" - -msgid "Tip: query DNS by TLS & TCP & HTTPS can get better anti pollution effect" -msgstr "Tip: 使用 TLS & TCP & HTTPS 方式查询DNS可以获得更好的抗污染效果" - -msgid "Tip: openlash will check the configuration file parameters to ensure that it works properly" -msgstr "Tip: OpenClash 启动时会检查配置文件参数【服务器(策略)组、规则、DNS设置】以确保能够正常工作" - -msgid "Tip: the nameserver group must have at least one server set when using custom DNS" -msgstr "Tip: 使用自定义DNS上游服务器时NameServer组必须设置至少一个服务器" - -msgid "Tip: the website access check shows the connection of the device currently logged in to the Luci page" -msgstr "Tip: 网站访问检查展示的是当前登录LUCI页面设备的连接情况" - -msgid "Tip: if you don not use IPv6, please turn off the DHCP service of IPv6, otherwise the connection will be abnormal" -msgstr "Tip: 如果不使用IPV6,请关闭IPV6的DHCP服务,否则会造成连接异常" - -msgid "Tip: you can update the version in the global settings page" -msgstr "Tip: 您可以在全局设置页面进行版本更新操作" - -msgid "Note: if the update fails, you can manually download and upload" -msgstr "注意:如更新失败可手动下载并上传" - -msgid "Note: the client may not support update, because the firmware with squashfs format will not release flash space after updating" -msgstr "注意:客户端可能无法更新,因为squashfs格式的固件更新后不会释放闪存空间" - -msgid "Compiled Version Selected" -msgstr "已选择编译版本" - -msgid "CPU Architecture (OS)" -msgstr "处理器架构(OS)" - -msgid "Last Check Update" -msgstr "上次检查更新时间" - -msgid "CPU Architecture (OPKG)" -msgstr "处理器架构(OPKG)" - -msgid "Current Core" -msgstr "当前内核版本" - -msgid "Latest Core" -msgstr "最新内核版本" - -msgid "Core path:" -msgstr "内核路径:" - -msgid "Update Core" -msgstr "更新内核" - -msgid "Download Latest Core" -msgstr "下载最新版本内核" - -msgid "Client Update" -msgstr "客户端版本更新" - -msgid "Current Client" -msgstr "当前客户端版本" - -msgid "Update Client" -msgstr "更新客户端" - -msgid "Latest Client" -msgstr "最新客户端版本" - -msgid "Download Latest Client" -msgstr "下载最新版本客户端" - -msgid "Download" -msgstr "下载到本地" - -msgid "Restore Default Configuration" -msgstr "还原默认配置" - -msgid "One Click Check Update" -msgstr "一键检查更新" - -msgid "Failed to get the latest version. Please try again later!" -msgstr "最新版本获取失败,请稍后再试!" - -msgid "Are you sure want to restore the default configuration?" -msgstr "确定要还原默认配置吗?" - -msgid "Restore succeeded!" -msgstr "还原默认配置成功!" - -msgid "Restore failed!" -msgstr "还原默认配置失败!" - -msgid "Support syntax check, press" -msgstr "支持语法检查,按下" - -msgid "to enter full screen editing mode" -msgstr "进入全屏编辑模式" - -msgid "Switch page to Fake-IP mode" -msgstr "切换页面到 Fake-IP 模式" - -msgid "Switch page to Redir-Host mode" -msgstr "切换页面到 Redir-Host 模式" - -msgid "Page has been switched to Fake-IP mode!" -msgstr "页面已切换为Fake-IP模式!" - -msgid "Page has been switched to Redir-Host mode!" -msgstr "页面已切换为Redir-Host模式!" - -msgid "IP Address" -msgstr "IP 地址" - -msgid "Mainland" -msgstr "国内" - -msgid "Abroad" -msgstr "国外" - -msgid "Website Access Check" -msgstr "网站访问检查" - -msgid "Baidu Search" -msgstr "百度搜索" - -msgid "NetEase Music" -msgstr "网易云音乐" - -msgid "Querying..." -msgstr "查询中..." - -msgid "Testing..." -msgstr "检测中..." - -msgid "Access Timed Out" -msgstr "连接超时" - -msgid "Access Normal" -msgstr "连接正常" - -msgid "Access Denied" -msgstr "无法访问" - -msgid "Bind Network Interface" -msgstr "绑定网络接口" - -msgid "Default Interface Name:" -msgstr "当前系统默认接口:" - -msgid ",Try Enable If Network Loopback" -msgstr ", 如发生回环死机请尝试启用" - -msgid "Custom GEOIP URL" -msgstr "GEOIP数据库更新URL" - -msgid "Custom Chnroute Lists URL" -msgstr "大陆IP段更新URL" - -msgid "Custom GEOIP Data URL, Click Button Below To Refresh After Edit" -msgstr "自定义GEOIP数据库的更新来源,编辑后点击下方按钮生效" - -msgid "Custom Chnroute Lists URL, Click Button Below To Refresh After Edit" -msgstr "自定义大陆IP段的更新来源,编辑后点击下方按钮生效" - -msgid "(Default)" -msgstr "(默认)" - -msgid "(Only CN)" -msgstr "(仅中国数据)" - -msgid "(Large Size)" -msgstr "(18MB大文件,请确保足够的剩余空间)" - -msgid "Other Rules Edit" -msgstr "设置第三方规则" - -msgid "Get Group Names" -msgstr "获取策略组" - -msgid "Get Group Names After Select Config File" -msgstr "选择配置文件后请点击以获取对应的策略组" - -msgid "Other Rules Name" -msgstr "第三方规则" - -msgid "Note" -msgstr "备注" - -msgid "Auto Restart" -msgstr "定时重启" - -msgid "Auto Restart OpenClash" -msgstr "定时重启插件" - -msgid "Restart Time (Every Week)" -msgstr "重启时间(每周)" - -msgid "Restart time (every day)" -msgstr "重启时间(每天)" - -msgid "DNS Port" -msgstr "DNS监听端口" - -msgid "Log Size (KB)" -msgstr "日志大小(KB)" - -msgid "Set Log File Size (KB)" -msgstr "设置日志文件大小(KB)" - -msgid "Download Log" -msgstr "下载日志" \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/config/openclash b/package/ctcgfw/luci-app-openclash/root/etc/config/openclash deleted file mode 100644 index caae603116..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/config/openclash +++ /dev/null @@ -1,103 +0,0 @@ - -config openclash 'config' - option proxy_port '7892' - option mixed_port '7893' - option socks_port '7891' - option http_port '7890' - option dns_port '7874' - option enable '0' - option update '0' - option en_mode '0' - option auto_update '0' - option auto_update_time '0' - option cn_port '9090' - option dashboard_password '123456' - option rule_source '0' - option enable_custom_dns '0' - option ipv6_enable '0' - option enable_custom_clash_rules '0' - option other_rule_auto_update '0' - option core_version '0' - option en_mode 'redir-host' - option enable_redirect_dns '1' - option dns_advanced_setting '0' - option servers_if_update '0' - option disable_masq_cache '0' - option servers_update '0' - option log_level 'silent' - option proxy_mode 'rule' - option intranet_allowed '0' - option enable_udp_proxy '1' - option lan_ac_mode '0' - option operation_mode 'redir-host' - option enable_rule_proxy '0' - option redirect_dns '0' - option small_flash_memory '0' - option interface_name '0' - option common_ports '0' - option log_size '1024' - option geo_custom_url 'http://www.ideame.top/mmdb/Country.mmdb' - option chnr_custom_url 'https://ispip.clang.cn/all_cn.txt' - -config dns_servers - option group 'nameserver' - option type 'udp' - option ip '114.114.114.114' - option enabled '1' - -config dns_servers - option group 'nameserver' - option type 'udp' - option ip '119.29.29.29' - option enabled '1' - -config dns_servers - option group 'nameserver' - option type 'udp' - option ip '119.28.28.28' - option enabled '0' - -config dns_servers - option group 'nameserver' - option type 'udp' - option ip '223.5.5.5' - option enabled '0' - -config dns_servers - option type 'https' - option group 'fallback' - option enabled '1' - option ip 'cloudflare-dns.com/dns-query' - -config dns_servers - option group 'fallback' - option enabled '1' - option ip 'dns.google/dns-query' - option type 'https' - -config dns_servers - option enabled '0' - option group 'fallback' - option ip 'dns.google' - option port '853' - option type 'tls' - -config dns_servers - option enabled '1' - option group 'fallback' - option type 'https' - option ip '1.1.1.1/dns-query' - -config dns_servers - option enabled '0' - option group 'fallback' - option ip '1.1.1.1' - option port '853' - option type 'tls' - -config dns_servers - option enabled '1' - option group 'fallback' - option ip '8.8.8.8' - option port '853' - option type 'tls' diff --git a/package/ctcgfw/luci-app-openclash/root/etc/init.d/openclash b/package/ctcgfw/luci-app-openclash/root/etc/init.d/openclash deleted file mode 100755 index 4a14a33d92..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/init.d/openclash +++ /dev/null @@ -1,1790 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (c) 2019 vernesong -. /usr/share/openclash/openclash_ps.sh -. /usr/share/openclash/ruby.sh - -START=99 -STOP=15 - -LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") -CLASH="/etc/openclash/clash" -CLASH_CONFIG="/etc/openclash" -CRON_FILE="/etc/crontabs/root" -RAW_CONFIG_FILE=$(uci -q get openclash.config.config_path) -BACKUP_FILE="/etc/openclash/backup/$(uci -q get openclash.config.config_path |awk -F '/' '{print $5}' 2>/dev/null)" -LOG_FILE="/tmp/openclash.log" -START_LOG="/tmp/openclash_start.log" -CONFIG_FILE="/etc/openclash/$(uci -q get openclash.config.config_path |awk -F '/' '{print $5}' 2>/dev/null)" -RULE_PROVIDER_FILE="/tmp/yaml_rule_provider.yaml" -DNS_FILE="/tmp/yaml_dns.yaml" -GAME_RULE_FILE="/tmp/yaml_game_rule.yaml" -FALLBACK_FILTER_FILE="/tmp/yaml_fallback_filter_file.yaml" -LOCK_FILE=/tmp/lock/openclash.lock -PROXY_FWMARK="0x162" -PROXY_ROUTE_TABLE="0x162" - -set_lock() { - exec 888>"$LOCK_FILE" 2>/dev/null - flock -x 888 2>/dev/null -} - -del_lock() { - flock -u 888 2>/dev/null - rm -rf "$LOCK_FILE" -} - -add_cron() -{ - [ "$(tail -n1 /etc/crontabs/root | wc -l)" -eq 0 ] && [ -n "$(cat /etc/crontabs/root 2>/dev/null)" ] && echo >> /etc/crontabs/root - [ -z "$(grep "openclash.sh" "$CRON_FILE" 2>/dev/null)" ] && { - [ "$(uci -q get openclash.config.auto_update)" -eq 1 ] && [ "$(uci -q get openclash.config.config_auto_update_mode)" -ne 1 ] && echo "0 $(uci -q get openclash.config.auto_update_time) * * $(uci -q get openclash.config.config_update_week_time) /usr/share/openclash/openclash.sh" >> $CRON_FILE - } - [ -z "$(grep "openclash_rule.sh" "$CRON_FILE" 2>/dev/null)" ] && { - [ "$(uci -q get openclash.config.other_rule_auto_update)" -eq 1 ] && echo "0 $(uci -q get openclash.config.other_rule_update_day_time) * * $(uci -q get openclash.config.other_rule_update_week_time) /usr/share/openclash/openclash_rule.sh" >> $CRON_FILE - } - [ -z "$(grep "openclash_ipdb.sh" "$CRON_FILE" 2>/dev/null)" ] && { - [ "$(uci -q get openclash.config.geo_auto_update)" -eq 1 ] && echo "0 $(uci -q get openclash.config.geo_update_day_time) * * $(uci -q get openclash.config.geo_update_week_time) /usr/share/openclash/openclash_ipdb.sh" >> $CRON_FILE - } - [ -z "$(grep "openclash_chnroute.sh" "$CRON_FILE" 2>/dev/null)" ] && { - [ "$(uci -q get openclash.config.chnr_auto_update)" -eq 1 ] && echo "0 $(uci -q get openclash.config.chnr_update_day_time) * * $(uci -q get openclash.config.chnr_update_week_time) /usr/share/openclash/openclash_chnroute.sh" >> $CRON_FILE - } - [ -z "$(grep "/etc/init.d/openclash" "$CRON_FILE" 2>/dev/null)" ] && { - [ "$(uci -q get openclash.config.auto_restart)" -eq 1 ] && echo "0 $(uci -q get openclash.config.auto_restart_day_time) * * $(uci -q get openclash.config.auto_restart_week_time) /etc/init.d/openclash restart 2>/dev/null" >> $CRON_FILE - } - crontab $CRON_FILE - nohup /usr/share/openclash/openclash_watchdog.sh & -} - -del_cron() -{ - sed -i '/openclash.sh/d' $CRON_FILE 2>/dev/null - sed -i '/openclash_rule.sh/d' $CRON_FILE 2>/dev/null - sed -i '/openclash_ipdb.sh/d' $CRON_FILE 2>/dev/null - sed -i '/openclash_chnroute.sh/d' $CRON_FILE 2>/dev/null - /etc/init.d/cron restart -} - -change_dns() { - if [ "$1" -eq 1 ]; then - uci -q del dhcp.@dnsmasq[-1].server - uci -q add_list dhcp.@dnsmasq[0].server=127.0.0.1#"$dns_port" - uci -q delete dhcp.@dnsmasq[0].resolvfile - uci -q set dhcp.@dnsmasq[0].noresolv=1 - uci -q set openclash.config.redirect_dns=1 - else - uci -q set openclash.config.redirect_dns=0 - fi - if [ "$2" -eq 1 ]; then - uci -q set dhcp.@dnsmasq[0].cachesize=0 - fi - - uci -q commit dhcp - uci -q commit openclash - - /usr/share/openclash/openclash_custom_domain_dns.sh >/dev/null 2>&1 -} - -revert_dns() { - - [ "$1" -eq 1 ] && { - uci -q del_list dhcp.@dnsmasq[0].server=127.0.0.1#"$3" - } - - [ "$1" -eq 1 ] && [ "$4" -eq 0 ] && { - uci -q set openclash.config.redirect_dns=0 - } - - [ "$(uci -q get dhcp.@dnsmasq[0].cachesize)" = "0" ] && { - uci -q delete dhcp.@dnsmasq[0].cachesize - } - - [ "$1" -eq 1 ] && { - if [ -s "/tmp/resolv.conf.d/resolv.conf.auto" ] && [ -n "$(grep "nameserver" /tmp/resolv.conf.d/resolv.conf.auto)" ]; then - uci -q set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.d/resolv.conf.auto - elif [ -s "/tmp/resolv.conf.auto" ] && [ -n "$(grep "nameserver" /tmp/resolv.conf.auto)" ]; then - uci -q set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto - else - rm -rf /tmp/resolv.conf.auto - touch /tmp/resolv.conf.auto 2>/dev/null - cat >> "/tmp/resolv.conf.auto" <<-EOF -# Interface lan -nameserver 114.114.114.114 -nameserver 119.29.29.29 -EOF - uci -q set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto - fi - uci -q set dhcp.@dnsmasq[0].noresolv=0 - } - - uci -q commit dhcp - uci -q commit openclash - rm -rf /tmp/dnsmasq.d/dnsmasq_openclash.conf - rm -rf /tmp/dnsmasq.d/dnsmasq_openclash_custom_domain.conf -} - -kill_clash() -{ - clash_pids=$(pidof clash |sed 's/$//g') - for clash_pid in $clash_pids; do - kill -9 "$clash_pid" 2>/dev/null - done >/dev/null 2>&1 - sleep 1 -} - -start_fail() -{ - kill_clash - stop - del_lock - exit 0 -} - -yml_dns_check() -{ - #检查DNS服务 - if [ -z "$(ruby_read "$1" "['dns']['nameserver']")" ]; then - echo "检测到DNS选项下的Nameserver未设置服务器,开始补全..." >$START_LOG - echo " nameserver:" > "$DNS_FILE" 2>/dev/null - cat >> "$DNS_FILE" <<-EOF - - 114.114.114.114 - - 119.29.29.29 - fallback: - - https://cloudflare-dns.com/dns-query - - https://dns.google/dns-query - - https://1.1.1.1/dns-query - - tls://8.8.8.8:853 -EOF - if [ -z "$(ruby_read "$1" "['dns']")" ]; then - ruby_cover "$1" "['dns']" "$DNS_FILE" - else - ruby_merge "$1" "['dns']" "$DNS_FILE" - fi - fi - - #fallback-filter - if [ -n "$(ruby_read "$CONFIG_FILE" "['dns']['fallback']")" ] && [ -z "$(ruby_read "$CONFIG_FILE" "['dns']['fallback-filter']")" ]; then -cat >> "$2" <<-EOF - fallback-filter: - geoip: false - ipcidr: - - 0.0.0.0/8 - - 10.0.0.0/8 - - 100.64.0.0/10 - - 127.0.0.0/8 - - 169.254.0.0/16 - - 172.16.0.0/12 - - 192.0.0.0/24 - - 192.0.2.0/24 - - 192.88.99.0/24 - - 192.168.0.0/16 - - 198.18.0.0/15 - - 198.51.100.0/24 - - 203.0.113.0/24 - - 224.0.0.0/4 - - 240.0.0.0/4 - - 255.255.255.255/32 - domain: - - '+.google.com' - - '+.facebook.com' - - '+.youtube.com' - - '+.githubusercontent.com' -EOF - ruby_merge "$CONFIG_FILE" "['dns']" "$2" - fi -} - -#修改集路径 -yml_provider_path() -{ - - #provider_num=$(ruby_read "$1" "['$2'].count") - #local i=0 - #while [ $i -le "$provider_num" ] - #do - # provider_path=$(ruby_read "$1" "['$2'].values[$i]['path']") - # if [ "$(echo "$provider_path" |awk -F '/' '{print $(NF-1)}')" != "$3" ]; then - # provider_name=$(echo "$provider_path" |awk -F '/' '{print $NF}') - # ruby_edit "$1" "['$2'].values[$i]['path']='./${3}/${provider_name}'" - # uci set openclash.config.config_reload=0 2>/dev/null - # uci commit openclash - # fi - # let i++ - #done - ruby -ryaml -E UTF-8 -e " - begin - Value = YAML.load_file('$1'); - if Value.key?('$2') then - Value_1 = Marshal.load(Marshal.dump(Value['$2'])); - Value['$2'].values.each{ - |x,v| - unless x['path'].include? '$3' then - v=File.basename(x['path']) - x['path']='./$3/'+v - end - }; - if not Value_1.eql?(Value['$2']) then - File.open('$1','w') {|f| YAML.dump(Value, f)} - end - end; - rescue Exception => e - puts '${LOGTIME} Edit Provider Path Error: ' + e.message - end - " 2>/dev/null >> $LOG_FILE -} - -#检查集文件防止启动失败 -yml_provider_check() -{ -provider_path_line=$(ruby_read "$CONFIG_FILE" ".key?('$2')") -local provider_path_check provider_path_check_num=0 -if "$provider_path_line"; then - while ( [ -n "$(pidof clash)" ] && [ "$provider_path_check_num" -le 5 ] ) - do - provider_path_check=$(ruby -ryaml -E UTF-8 -e " - Value = YAML.load_file('$CONFIG_FILE'); - Value['$2'].values.each{|x,v| - if not x['path'].empty? then - if x['path'].split('/')[0] == '.' then - v = '/etc/openclash/'+x['path'].split('./')[1] - else - v = x['path'] - end - end; - if File::exist?(v) then - if not YAML.load_file(v).key?('$3') then - puts false - break - end - else - puts false - break - end - } - " 2>/dev/null) - if [ "$provider_path_check" = "false" ]; then - let provider_path_check_num++ - sleep 2 - else - break - fi - done -fi - -if [ -z "$(pidof clash)" ] && [ -n "$provider_path_check" ]; then - if [ "$2" = "proxy-providers" ]; then - echo "错误: 代理集文件下载失败,请到日志页面查看详细错误信息!" >$START_LOG - echo "${LOGTIME} Error: Faild to Download Proxy-Provider File, Please Check The Error Info And Try Again" >> $LOG_FILE - else - echo "错误: 规则集文件下载失败,请到日志页面查看详细错误信息!" >$START_LOG - echo "${LOGTIME} Error: Faild to Download Rule-Provider File, Please Check The Error Info And Try Again" >> $LOG_FILE - fi - sleep 5 - start_fail -elif [ "$provider_path_check_num" -gt 5 ]; then - echo "警告: 代理集文件检查超时,如启动失败请到日志页面查看详细信息!" >$START_LOG - sleep 3 -fi - -} - -#获取自定义DNS设置 -yml_dns_get() -{ - - local section="$1" - local enabled port type ip group dns_type dns_address - config_get_bool "enabled" "$section" "enabled" "1" - config_get "port" "$section" "port" "" - config_get "type" "$section" "type" "" - config_get "ip" "$section" "ip" "" - config_get "group" "$section" "group" "" - - if [ "$enabled" = "0" ]; then - return - fi - - if [ -z "$ip" ]; then - return - fi - - if [ "$type" = "tcp" ]; then - dns_type="- tcp://" - elif [ "$type" = "tls" ]; then - dns_type="- tls://" - elif [ "$type" = "udp" ]; then - dns_type="- " - elif [ "$type" = "https" ]; then - dns_type="- https://" - fi - - if [ -n "$port" ] && [ -n "$ip" ]; then - dns_address="$ip:$port" - elif [ -z "$port" ] && [ -n "$ip" ]; then - dns_address="$ip" - else - return - fi - - if [ -n "$group" ]; then - if [ "$group" = "nameserver" ]; then - if [ -z "$(grep "^ \{0,\}nameserver:$" /tmp/yaml_config.namedns.yaml 2>/dev/null)" ]; then - echo " nameserver:" >/tmp/yaml_config.namedns.yaml - fi - echo " $dns_type$dns_address" >>/tmp/yaml_config.namedns.yaml - else - if [ -z "$(grep "^ \{0,\}fallback:$" /tmp/yaml_config.falldns.yaml 2>/dev/null)" ]; then - echo " fallback:" >/tmp/yaml_config.falldns.yaml - fi - echo " $dns_type$dns_address" >>/tmp/yaml_config.falldns.yaml - fi - else - return - fi -} - -#添加自定义DNS设置 -yml_dns_custom() -{ - if [ "$1" = 1 ]; then - config_load "openclash" - config_foreach yml_dns_get "dns_servers" - if [ -f "/tmp/yaml_config.namedns.yaml" ]; then - if [ -z "$(ruby_read "$CONFIG_FILE" "['dns']")" ]; then - ruby_cover "$CONFIG_FILE" "['dns']" "/tmp/yaml_config.namedns.yaml" - ruby_merge "$CONFIG_FILE" "['dns']" "/tmp/yaml_config.falldns.yaml" - else - ruby_edit "$CONFIG_FILE" "['dns']['nameserver'].clear" - ruby_edit "$CONFIG_FILE" "['dns']['fallback'].clear" - ruby_merge "$CONFIG_FILE" "['dns']" "/tmp/yaml_config.namedns.yaml" - ruby_merge "$CONFIG_FILE" "['dns']" "/tmp/yaml_config.falldns.yaml" - fi - else - echo "错误: 配置文件DNS选项下的Nameserver必须设置服务器,已停止设置自定义DNS服务器!" >$START_LOG - echo "${LOGTIME} Error: Nameserver Option Must Be Setted, Stop Customing DNS Servers" >>$LOG_FILE - sleep 2 - fi - fi -} - -#获取认证信息 -yml_auth_get() -{ - local section="$1" - local enabled username password - config_get_bool "enabled" "$section" "enabled" "1" - config_get "username" "$section" "username" "" - config_get "password" "$section" "password" "" - - if [ "$enabled" = "0" ]; then - return - fi - - if [ -z "$username" ] || [ -z "$password" ]; then - return - else - echo " - $username:$password" >>/tmp/config.auth - fi -} - -#添加认证信息 -yml_auth_custom() -{ - if [ -n "$(ruby_read "$1" "['authentication']")" ]; then - ruby_edit "$1" "['authentication'].clear" - fi - if [ -f /tmp/config.auth ]; then - sed -i '/^dns:/i\authentication:' "$1" 2>/dev/null - ruby_cover "$1" "['authentication']" "/tmp/config.auth" - rm -rf /tmp/config.auth 2>/dev/null - fi -} - -get_rule_file() -{ - if [ -z "$1" ]; then - return - fi - - GAME_RULE_FILE_NAME=$(grep "^$1," /usr/share/openclash/res/game_rules.list |awk -F ',' '{print $3}' 2>/dev/null) - - if [ -z "$GAME_RULE_FILE_NAME" ]; then - GAME_RULE_FILE_NAME=$(grep "^$1," /usr/share/openclash/res/game_rules.list |awk -F ',' '{print $2}' 2>/dev/null) - fi - - GAME_RULE_PATH="/etc/openclash/game_rules/$GAME_RULE_FILE_NAME" - - sed '/^#/d' "$GAME_RULE_PATH" 2>/dev/null |sed '/^ *$/d' |awk '{print "- IP-CIDR,"$0}' |awk -v tag="$2" '{print $0","'tag'""}' >> $GAME_RULE_FILE 2>/dev/null -} - -yml_game_rule_get() -{ - local section="$1" - local enabled group config - config_get_bool "enabled" "$section" "enabled" "1" - config_get "group" "$section" "group" "" - config_get "config" "$section" "config" "" - - if [ "$enabled" = "0" ]; then - return - fi - - if [ -n "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then - return - fi - - if [ -z "$group" ]; then - return - fi - - config_list_foreach "$section" "rule_name" get_rule_file "$group" -} - -yml_rule_group_get() -{ - local section="$1" - local enabled group config - config_get_bool "enabled" "$section" "enabled" "1" - config_get "group" "$section" "group" "" - config_get "config" "$section" "config" "" - - if [ "$enabled" = "0" ]; then - return - fi - - if [ -n "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then - return - fi - - if [ -z "$group" ] || [ "$group" = "DIRECT" ] || [ "$group" = "REJECT" ]; then - return - fi - - /usr/share/openclash/yml_groups_set.sh >/dev/null 2>&1 "$group" -} - -yml_game_custom() -{ -#处理游戏规则 -config_load "openclash" -config_foreach yml_game_rule_get "game_config" -[ -f "$GAME_RULE_FILE" ] && { -ruby -ryaml -E UTF-8 -e " -begin -Value = YAML.load_file('$CONFIG_FILE'); -Value_1 = YAML.load_file('$GAME_RULE_FILE'); -if Value.has_key?('rules') and not Value['rules'].to_a.empty? then - ruby_add_index = Value['rules'].index(Value['rules'].grep(/(GEOIP|MATCH|FINAL)/).first) - ruby_add_index ||= -1 - Value_2 = Value_1.reverse! - Value_2.each{|x| Value['rules'].insert(ruby_add_index,x)} - Value['rules']=Value['rules'].uniq; -else - Value['rules'] = Value_1 -end; -File.open('$CONFIG_FILE','w') {|f| YAML.dump(Value, f)} -rescue Exception => e -puts '${LOGTIME} Game Rule Merge Error: ' + e.message -end -" 2>/dev/null >> $LOG_FILE -} - -#处理游戏节点与策略组 -config_load "openclash" -config_foreach yml_rule_group_get "rule_provider_config" -config_foreach yml_rule_group_get "game_config" -if [ -f "/tmp/yaml_groups.yaml" ] || [ -f "/tmp/yaml_servers.yaml" ] || [ -f "/tmp/yaml_provider.yaml" ]; then -ruby -ryaml -E UTF-8 -e " -begin -Value = YAML.load_file('$CONFIG_FILE'); -if File::exist?('/tmp/yaml_groups.yaml') then - Value_1 = YAML.load_file('/tmp/yaml_groups.yaml'); - if Value.has_key?('proxy-groups') and not Value['proxy-groups'].to_a.empty? then - Value['proxy-groups'] = Value['proxy-groups']+Value_1 - Value['proxy-groups'].uniq - else - Value['proxy-groups']=Value_1 - end -end; -if File::exist?('/tmp/yaml_servers.yaml') then - Value_2 = YAML.load_file('/tmp/yaml_servers.yaml'); - if Value.has_key?('proxies') and not Value['proxies'].to_a.empty? then - Value['proxies'] = Value['proxies']+Value_2['proxies'] - Value['proxies'].uniq - else - Value['proxies']=Value_2['proxies'] - end -end; -if File::exist?('/tmp/yaml_provider.yaml') then - Value_3 = YAML.load_file('/tmp/yaml_provider.yaml'); - if Value.has_key?('proxy-providers') and not Value['proxy-providers'].to_a.empty? then - Value['proxy-providers'].merge!(Value_3['proxy-providers']) - Value['proxy-providers'].uniq - else - Value['proxy-providers']=Value_3['proxy-providers'] - end -end; -File.open('$CONFIG_FILE','w') {|f| YAML.dump(Value, f)} -rescue Exception => e -puts '${LOGTIME} Game Proxy Merge Error: ' + e.message -end" 2>/dev/null >> $LOG_FILE -fi -} - -yml_rule_set_add() -{ -ruby -ryaml -E UTF-8 -e " -begin -Value = YAML.load_file('$CONFIG_FILE'); -if Value.has_key?('rules') and not Value['rules'].to_a.empty? then - if $3 == 1 then - ruby_add_index = Value['rules'].index(Value['rules'].grep(/(GEOIP|MATCH|FINAL)/).first) - ruby_add_index ||= -1 - Value['rules'].insert(ruby_add_index,'RULE-SET,$1,$2') - else - Value['rules'].insert(0,'RULE-SET,$1,$2') - end -else - Value_1 = {'rules'=>['RULE-SET,$1,$2']} - Value.merge!(Value_1); -end; -File.open('$CONFIG_FILE','w') {|f| YAML.dump(Value, f)} -rescue Exception => e -puts '${LOGTIME} Rule Set Add Error: ' + e.message -end -" 2>/dev/null >> $LOG_FILE -} - -yml_gen_rule_provider_file() -{ - if [ -z "$1" ]; then - return - fi - - RULE_PROVIDER_FILE_NAME=$(grep "^$1," /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $6}' 2>/dev/null) - if [ -z "$RULE_PROVIDER_FILE_NAME" ]; then - RULE_PROVIDER_FILE_NAME=$(grep "^$1," /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $5}' 2>/dev/null) - fi - RULE_PROVIDER_FILE_BEHAVIOR=$(grep ",$RULE_PROVIDER_FILE_NAME$" /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $3}' 2>/dev/null) - RULE_PROVIDER_FILE_PATH="/etc/openclash/rule_provider/$RULE_PROVIDER_FILE_NAME" - RULE_PROVIDER_FILE_URL_PATH="$(grep ",$RULE_PROVIDER_FILE_NAME$" /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $4$5}' 2>/dev/null)" - RULE_PROVIDER_FILE_URL="https://cdn.jsdelivr.net/gh/"$(echo "$RULE_PROVIDER_FILE_URL_PATH" |awk -F '/master' '{print $1}' 2>/dev/null)"@master"$(echo "$RULE_PROVIDER_FILE_URL_PATH" |awk -F 'master' '{print $2}')"" - if [ -n "$(grep "$RULE_PROVIDER_FILE_URL" $RULE_PROVIDER_FILE 2>/dev/null)" ]; then - return - fi - -cat >> "$RULE_PROVIDER_FILE" <<-EOF - $1: - type: http - behavior: $RULE_PROVIDER_FILE_BEHAVIOR - path: $RULE_PROVIDER_FILE_PATH - url: $RULE_PROVIDER_FILE_URL -EOF - if [ -z "$3" ]; then -cat >> "$RULE_PROVIDER_FILE" <<-EOF - interval=86400 -EOF - else -cat >> "$RULE_PROVIDER_FILE" <<-EOF - interval: $3 -EOF - fi - yml_rule_set_add "$1" "$2" "$4" -} - -yml_get_rule_provider() -{ - local section="$1" - local enabled group config interval position - config_get_bool "enabled" "$section" "enabled" "1" - config_get "group" "$section" "group" "" - config_get "config" "$section" "config" "" - config_get "interval" "$section" "interval" "" - config_get "position" "$section" "position" "" - - if [ "$enabled" = "0" ]; then - return - fi - - if [ -n "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then - return - fi - - if [ -z "$group" ]; then - return - fi - - config_list_foreach "$section" "rule_name" yml_gen_rule_provider_file "$group" "$interval" "$position" -} - -#处理自定义规则集 -yml_set_custom_rule_provider() -{ - local section="$1" - local enabled name config type behavior path url interval group position - config_get_bool "enabled" "$section" "enabled" "1" - config_get "name" "$section" "name" "" - config_get "config" "$section" "config" "" - config_get "type" "$section" "type" "" - config_get "behavior" "$section" "behavior" "" - config_get "path" "$section" "path" "" - config_get "url" "$section" "url" "" - config_get "interval" "$section" "interval" "" - config_get "group" "$section" "group" "" - config_get "position" "$section" "position" "" - - if [ "$enabled" = "0" ]; then - return - fi - - if [ -n "$(grep "$url" "$RULE_PROVIDER_FILE" 2>/dev/null)" ] && [ -n "$url" ]; then - return - fi - - if [ -n "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then - return - fi - - if [ -z "$name" ] || [ -z "$type" ] || [ -z "$behavior" ]; then - return - fi - - if [ "$type" = "http" ] && [ -z "$url" ]; then - return - fi - - if [ "$path" != "./rule_provider/$name.yaml" ] && [ "$type" = "http" ]; then - path="./rule_provider/$name.yaml" - elif [ -z "$path" ]; then - return - fi - - if [ -n "$(grep "$path" "$RULE_PROVIDER_FILE" 2>/dev/null)" ]; then - return - fi - - if [ -z "$interval" ] && [ "$type" = "http" ]; then - interval=86400 - fi - -cat >> "$RULE_PROVIDER_FILE" <<-EOF - $name: - type: $type - behavior: $behavior - path: $path -EOF - if [ "$type" = "http" ]; then -cat >> "$RULE_PROVIDER_FILE" <<-EOF - url: $url - interval: $interval -EOF - fi - - yml_rule_set_add "$name" "$group" "$position" -} - -#处理规则集 -yml_custom_rule_provider() -{ - config_load "openclash" - config_foreach yml_get_rule_provider "rule_provider_config" - config_foreach yml_set_custom_rule_provider "rule_providers" - if [ -f "$RULE_PROVIDER_FILE" ]; then - ruby -ryaml -E UTF-8 -e " - begin - Value = YAML.load_file('$CONFIG_FILE'); - Value_1 = YAML.load_file('$RULE_PROVIDER_FILE'); - if Value.has_key?('rule-providers') and not Value['rule-providers'].to_a.empty? then - Value['rule-providers'].merge!(Value_1) - else - Value['rule-providers']=Value_1 - end; - File.open('$CONFIG_FILE','w') {|f| YAML.dump(Value, f)} - rescue Exception => e - puts '${LOGTIME} Custom Rule Provider Merge Error: ' + e.message - end - " 2>/dev/null >> $LOG_FILE - fi -} - -#获取订阅配置 -sub_info_get() -{ - local section="$1" address enabled name - config_get_bool "enabled" "$section" "enabled" "1" - config_get "address" "$section" "address" "" - config_get "name" "$section" "name" "" - - if [ "$subscribe_enable" = "1" ]; then - return - fi - - if [ "$enabled" -eq 0 ]; then - return - fi - - if [ -z "$address" ]; then - return - fi - - if [ -z "$name" ]; then - CONFIG_NAME="config" - RAW_CONFIG_FILE="/etc/openclash/config/config.yaml" - CONFIG_FILE="/etc/openclash/config.yaml" - else - CONFIG_NAME="$name" - RAW_CONFIG_FILE="/etc/openclash/config/$name.yaml" - CONFIG_FILE="/etc/openclash/$name.yaml" - fi - - uci -q set openclash.config.config_path="$RAW_CONFIG_FILE" - uci -q commit openclash - subscribe_enable=1 -} - -#配置文件选择 -config_choose() -{ -if [ -z "$RAW_CONFIG_FILE" ] || [ ! -f "$RAW_CONFIG_FILE" ]; then - CONFIG_NAME=$(ls -lt /etc/openclash/config/ | grep -E '.yaml|.yml' | head -n 1 |awk '{print $9}') - if [ -n "$CONFIG_NAME" ]; then - uci -q set openclash.config.config_path="/etc/openclash/config/$CONFIG_NAME" - uci -q commit openclash - RAW_CONFIG_FILE="/etc/openclash/config/$CONFIG_NAME" - CONFIG_FILE="/etc/openclash/$CONFIG_NAME" - fi -fi 2>/dev/null -CONFIG_NAME=$(echo "$RAW_CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) - -if [ ! -f "$RAW_CONFIG_FILE" ]; then - config_load "openclash" - config_foreach sub_info_get "config_subscribe" - subscribe_auto_update=$(uci get openclash.config.auto_update 2>/dev/null) - if [ "$subscribe_enable" = "1" ] && [ "$subscribe_auto_update" -eq 1 ]; then - echo "配置文件不存在,您已设置订阅信息,准备开始下载..." >$START_LOG - sleep 3 - nohup /usr/share/openclash/openclash.sh & - del_lock - exit 0 - else - echo "错误: 缺少配置文件,请上传或更新配置文件!" >$START_LOG - echo "${LOGTIME} Error: Config Not Found" >> $LOG_FILE - sleep 5 - del_lock - exit 0 - fi -fi - -#创建启动配置 -#rm -rf "/etc/openclash/*.y*" 2>/dev/null -cp "$RAW_CONFIG_FILE" "$CONFIG_FILE" -ruby -ryaml -E UTF-8 -e " -begin -YAML.load_file('$RAW_CONFIG_FILE'); -rescue Exception => e -puts '${LOGTIME} Error: Unable To Parse Config File ' + e.message -system 'rm -rf ${CONFIG_FILE}' -end -" 2>/dev/null >> $LOG_FILE -if [ $? -ne 0 ]; then - echo "${LOGTIME} Error: Ruby Works Abnormally, Please Check The Ruby Library Depends And Try Again!" >> $LOG_FILE - echo "Ruby依赖异常,请确认ruby依赖工作正常后重试!" > $START_LOG - sleep 3 - start_fail -elif [ ! -f "$CONFIG_FILE" ] || [ ! -s "$CONFIG_FILE" ]; then - echo "配置文件校验失败,请检查配置文件后重试!" > $START_LOG - sleep 3 - start_fail -fi -} - -yml_other_rules_get() -{ - local section="$1" - local enabled config - config_get_bool "enabled" "$section" "enabled" "1" - config_get "config" "$section" "config" "" - - if [ "$enabled" = "0" ] || [ "$config" != "$2" ]; then - return - fi - - if [ -n "$rule_name" ]; then - return - fi - - config_get "rule_name" "$section" "rule_name" "" -} - -#运行模式处理 -do_run_mode() -{ - en_mode=$(uci -q get openclash.config.en_mode) - - if [ "$en_mode" = "fake-ip-tun" ]; then - en_mode_tun="1" - en_mode="fake-ip" - fi - - if [ "$en_mode" = "redir-host-tun" ]; then - en_mode_tun="1" - en_mode="redir-host" - fi - - if [ "$en_mode" = "redir-host-mix" ]; then - en_mode_tun="3" - en_mode="redir-host" - fi - - if [ "$en_mode" = "redir-host-vpn" ]; then - en_mode_tun="2" - en_mode="redir-host" - fi - - if [ "$en_mode" = "fake-ip-vpn" ]; then - en_mode_tun="2" - en_mode="fake-ip" - fi - - if [ "$en_mode" = "fake-ip-mix" ]; then - en_mode_tun="3" - en_mode="fake-ip" - fi -} - -do_run_file() -{ - - if [ "$small_flash_memory" != "1" ]; then - dev_core_path="/etc/openclash/core/clash" - tun_core_path="/etc/openclash/core/clash_tun" - game_core_path="/etc/openclash/core/clash_game" - geoip_path="/etc/openclash/Country.mmdb" - chnr_path="/etc/openclash/china_ip_route.ipset" - rm -rf "/tmp/etc/openclash" - else - dev_core_path="/tmp/etc/openclash/core/clash" - tun_core_path="/tmp/etc/openclash/core/clash_tun" - game_core_path="/tmp/etc/openclash/core/clash_game" - geoip_path="/tmp/etc/openclash/Country.mmdb" - chnr_path="/tmp/etc/openclash/china_ip_route.ipset" - rm -rf "/etc/openclash/Country.mmdb" - rm -rf "/etc/openclash/china_ip_route.ipset" - rm -rf "/etc/openclash/core" - fi - - rm -rf "/etc/openclash/clash" 2>/dev/null - - if [ "$en_mode_tun" = "1" ] || [ "$en_mode_tun" = "3" ]; then - ln -s "$tun_core_path" /etc/openclash/clash 2>/dev/null - core_type="Tun" - core_start_log="检测到配置了【Tun】内核专属功能,调用【Tun】内核启动..." - fi - - if [ "$en_mode_tun" = "2" ]; then - ln -s "$game_core_path" /etc/openclash/clash 2>/dev/null - core_type="Game" - core_start_log="检测到配置了【Game】内核专属功能,调用【Game】内核启动..." - fi - - if [ "$rule_source" != "0" ]; then - config_load "openclash" - config_foreach yml_other_rules_get "other_rules" "$CONFIG_NAME" - fi - - if [ "$proxy_mode" = "script" ] || [ "$rule_name" = "ConnersHua" ] || [ "$rule_name" = "lhie1" ] || [ -n "$(ruby_read "$CONFIG_FILE" "['rules'].grep(/^RULE-SET,/)")" ]; then - if [ "$en_mode_tun" != "2" ]; then - rm -rf "/etc/openclash/clash" - ln -s "$tun_core_path" /etc/openclash/clash 2>/dev/null - core_type="Tun" - core_start_log="检测到配置了【Tun】内核专属功能,调用【Tun】内核启动..." - fi - fi - - if [ ! -f "/etc/openclash/clash" ] && [ -f "$dev_core_path" ] && [ -z "$core_type" ]; then - ln -s "$dev_core_path" /etc/openclash/clash 2>/dev/null - core_start_log="未检测到特殊配置,调用【Dev】内核启动..." - fi - - if [ ! -f "/etc/openclash/clash" ] && [ -f "$tun_core_path" ] && [ "$core_type" != "Game" ]; then - ln -s "$tun_core_path" /etc/openclash/clash 2>/dev/null - core_type="Tun" - core_start_log="检测到【Dev】内核未安装,调用【Tun】内核启动..." - fi - - if [ ! -f "/etc/openclash/clash" ] && [ -f "$game_core_path" ] && [ "$core_type" != "Tun" ]; then - ln -s "$game_core_path" /etc/openclash/clash 2>/dev/null - core_type="Game" - core_start_log="检测到【Dev】内核未安装,调用【Game】内核启动..." - fi - -#权限检查 - [ ! -x "$tun_core_path" ] && chmod 4755 "$tun_core_path" 2>/dev/null - [ ! -x "$game_core_path" ] && chmod 4755 "$game_core_path" 2>/dev/null - [ ! -x "$dev_core_path" ] && chmod 4755 "$dev_core_path" 2>/dev/null - -#文件检查 - [ -f "$geoip_path" ] && [ "$small_flash_memory" = "1" ] && { - ln -s "$geoip_path" /etc/openclash/Country.mmdb 2>/dev/null - } - - [ -f "$chnr_path" ] && [ "$small_flash_memory" = "1" ] && { - ln -s "$chnr_path" /etc/openclash/china_ip_route.ipset 2>/dev/null - } - - [ ! -f "$geoip_path" ] && { - echo "检测到GEOIP数据库文件不存在,准备开始下载..." >$START_LOG - nofile=1 - nohup /usr/share/openclash/openclash_ipdb.sh & - } - - [ ! -f "$CLASH" ] && { - echo "检测到内核文件不存在,准备开始下载..." >$START_LOG - nofile=1 - rm -rf "/tmp/clash_last_version" - nohup /usr/share/openclash/openclash_core.sh "$core_type" & - } - - if [ "$china_ip_route" = "1" ] && [ ! -f "$chnr_path" ]; then - echo "检测到大陆白名单列表不存在,准备开始下载..." >$START_LOG - nofile=1 - nohup /usr/share/openclash/openclash_chnroute.sh & - fi - - if [ "$nofile" = "1" ]; then - del_lock - exit 0 - fi - - if ! capsh --is-uid=0 >/dev/null || ! capsh --has-ambient >/dev/null; then - echo "错误:Capsh异常,请尝试重新安装依赖【libcap】和相应的Capsh库,终止启动..." >$START_LOG - echo "${LOGTIME} Error: Could Not Load The Capsh Library, Please Verify The Capsh Shell Library Work Well" >> $LOG_FILE - echo "${LOGTIME} Tip: You Could Download And Re-Install The libcap & libcap-bin Library From The Address Below:" >> $LOG_FILE - echo "" >> $LOG_FILE - echo "---------- https://mirrors.cloud.tencent.com/lede/snapshots/packages/ ----------" >> $LOG_FILE - echo "" >> $LOG_FILE - sleep 5 - start_fail - fi - - #创建原始备份 - if [ ! -f "$2" ]; then - cp "$1" "$2" - fi - -} - -#绑定interface防止回环 -check_interface_name() -{ - if [ -n "$interface_name" ] && [ "$interface_name" != "0" ]; then - ruby_edit "$CONFIG_FILE" "['interface-name']='$interface_name'" - else - sed -i "/^interface-name:/d" "$CONFIG_FILE" 2>/dev/null - fi -} - -start_run_core() -{ - echo "$core_start_log" >$START_LOG - sleep 2 - ulimit -SHn 65535 2>/dev/null - ulimit -v unlimited 2>/dev/null - modprobe tun >/dev/null 2>&1 - check_interface_name - config_reload=$(uci get openclash.config.config_reload 2>/dev/null) - if [ -n "$(pidof clash)" ] && [ "$core_type" != "Tun" ] && [ "$config_reload" != "0" ]; then - curl -s --connect-timeout 5 -m 5 -H 'Content-Type: application/json' -H "Authorization: Bearer ${da_password}" -XPUT http://"$lan_ip":"$cn_port"/configs -d "{\"path\": \"$CONFIG_FILE\"}" 2>/dev/null - else - kill_clash - #防止赋权失败 - touch /tmp/openclash.log 2>/dev/null - chmod o+w /etc/openclash/proxy_provider/* 2>/dev/null - chmod o+w /etc/openclash/rule_provider/* 2>/dev/null - chmod o+w /tmp/openclash.log 2>/dev/null - chown nobody:nogroup /etc/openclash/core/* 2>/dev/null - #使用nobody启动内核方便代理路由自身流量 - capabilties="cap_sys_resource,cap_dac_override,cap_net_raw,cap_net_bind_service,cap_net_admin" - capsh --caps="${capabilties}+eip" -- -c "capsh --user=nobody --addamb='${capabilties}' -- -c 'nohup $CLASH -d $CLASH_CONFIG -f \"$CONFIG_FILE\" >> $LOG_FILE 2>&1 &'" >> $LOG_FILE 2>&1 - fi - uci -q set openclash.config.config_reload=1 - uci -q commit openclash -} - -check_core_status() -{ - check_time=1 - while ( [ "$check_time" -le 3 ] && [ -n "$(pidof clash)" ] ) - do - sleep 1 - let check_time++ - done -} - -#不修改配置文件启动 -raw_config_start() -{ - cp "$RAW_CONFIG_FILE" "$CONFIG_FILE" - dns_port=$(ruby_read "$CONFIG_FILE" "['dns']['listen'].split(':')[1]") - en_mode=$(ruby_read "$CONFIG_FILE" "['dns']['enhanced-mode']") - proxy_port=$(ruby_read "$CONFIG_FILE" "['redir-port']") - - if [ -z "$dns_port" ] || [ -z "$en_mode" ] || [ -z "$proxy_port" ]; then - if [ -z "$dns_port" ]; then - echo "错误: 无法获取DNS部分的监听端口设置, OpenClash 使用原始配置文件启动失败" >$START_LOG - echo "${LOGTIME} Error: Get DNS 'listen' Option Error, OpenClash Can Not Start With Raw Config File" >> $LOG_FILE - sleep 3 - fi - if [ -z "$en_mode" ]; then - echo "错误: 无法获取DNS部分的运行模式设置, OpenClash 使用原始配置文件启动失败" >$START_LOG - echo "${LOGTIME} Error: Get DNS 'enhanced-mode' Option Error, OpenClash Can Not Start With Raw Config File" >> $LOG_FILE - sleep 3 - fi - if [ -z "$proxy_port" ]; then - echo "错误: 无法获取General部分的转发端口设置, OpenClash 使用原始配置文件启动失败" >$START_LOG - echo "${LOGTIME} Error: Get General 'redir-port' Option Error, OpenClash Can Not Start With Raw Config File" >> $LOG_FILE - sleep 3 - fi - start_fail - fi - - start_run_core - check_core_status - - if ! pidof clash >/dev/null; then - echo "错误: OpenClash 启动失败,请到日志页面查看详细错误信息!" >$START_LOG - echo "${LOGTIME} Error: OpenClash Can Not Start, Please Check The Error Info And Try Again" >> $LOG_FILE - sleep 5 - start_fail - fi - - if [ "$en_mode" = "redir-host" ]; then - case $en_mode_tun in - "1") - uci -q set openclash.config.en_mode=redir-host-tun - ;; - "2") - uci -q set openclash.config.en_mode=redir-host-vpn - ;; - "3") - uci -q set openclash.config.en_mode=redir-host-mix - ;; - *) - uci -q set openclash.config.en_mode=redir-host - esac - elif [ "$en_mode" = "fake-ip" ]; then - case $en_mode_tun in - "1") - uci -q set openclash.config.en_mode=fake-ip-tun - ;; - "2") - uci -q set openclash.config.en_mode=fake-ip-vpn - ;; - "3") - uci -q set openclash.config.en_mode=fake-ip-mix - ;; - *) - uci -q set openclash.config.en_mode=fake-ip - esac - fi - - dase=$(ruby_read "$CONFIG_FILE" "['secret']") - uci -q set openclash.config.dashboard_password="$dase" - - cn_port=$(ruby_read "$CONFIG_FILE" "['external-controller'].split(':')[1]") - uci -q set openclash.config.cn_port="$cn_port" - - uci -q set openclash.config.proxy_port="$proxy_port" - uci -q set openclash.config.restricted_mode=1 - - uci commit openclash -} - -try_restore_start() -{ - if [ -z "$(pidof clash)" ]; then - if [ "$rule_source" = 0 ] && [ "$enable_custom_clash_rules" = 0 ]; then - echo "错误: OpenClash 启动失败,尝试使用原始配置文件启动..." >$START_LOG - echo "${LOGTIME} Error: OpenClash Can Not Start, Try Use Raw Config Restart Again" >> $LOG_FILE - sleep 3 - raw_config_start - else - echo "错误: OpenClash 启动失败,尝试还原第三方规则并重新启动 Clash 主程序..." >$START_LOG - echo "${LOGTIME} Error: OpenClash Can Not Start, Try Use Backup Rules Start Again" >> $LOG_FILE - ruby -ryaml -E UTF-8 -e " - begin - Value = YAML.load_file('$RAW_CONFIG_FILE'); - Value_1 = YAML.load_file('$CONFIG_FILE'); - if Value.has_key?('rule-providers') then - Value_1['rule-providers'] = Value.select {|x| 'rule-providers' == x}['rule-providers'] - end; - if Value.has_key?('script') then - Value_1['script'] = Value.select {|x| 'script' == x}['script'] - end; - if Value.has_key?('rules') then - Value_1['rules'] = Value.select {|x| 'rules' == x}['rules'] - end; - File.open('$CONFIG_FILE','w') {|f| YAML.dump(Value_1, f)} - rescue Exception => e - puts '${LOGTIME} Restore Backup Rules Error: ' + e.message - end - " 2>/dev/null >> $LOG_FILE - start_run_core - check_core_status - if ! pidof clash >/dev/null; then - echo "错误: OpenClash 启动失败,尝试使用原始配置文件启动..." >$START_LOG - echo "${LOGTIME} Error: OpenClash Can Not Start, Try Use Raw Config Restart Again" >> $LOG_FILE - sleep 3 - raw_config_start - fi - fi - fi -} - -#防火墙设置部分 -ac_add() -{ - if [ -z "$1" ]; then - return - fi - - ipset add "$2" "$1" 2>/dev/null -} - -firewall_rule_exclude() -{ - local section="$1" - local name src src_port dest dest_port proto target enabled - - config_get "name" "$section" "name" "" - config_get "src" "$section" "src" "" - config_get "src_port" "$section" "src_port" "" - config_get "dest" "$section" "dest" "" - config_get "dest_port" "$section" "dest_port" "" - config_get "proto" "$section" "proto" "" - config_get "target" "$section" "target" "" - config_get "enabled" "$section" "enabled" "" - - if [ a"$target" != aACCEPT ] || [ a"$enabled" == a0 ]; then - return - fi - - local e_udp=false - local e_tcp=false - for p in $proto; do - if [ $p == tcp ]; then e_tcp=true; fi - if [ $p == udp ]; then e_udp=true; fi - done - - if ! $e_udp && ! $e_tcp ; then - return - fi - - if [ -z "$en_mode_tun" ] || [ "$en_mode_tun" -eq 3 ]; then - if $e_tcp ; then - iptables -t nat -I openclash_output -p tcp --sport "$dest_port" -j RETURN >/dev/null 2>&1 - fi - if $e_udp ; then - iptables -t mangle -I openclash_output -p udp --sport "$dest_port" -j RETURN >/dev/null 2>&1 - iptables -t mangle -I openclash -p udp --dport "$dest_port" -j RETURN >/dev/null 2>&1 - fi - elif [ "$en_mode_tun" -ne 3 ]; then - if $e_tcp ; then - iptables -t mangle -I openclash_output -p tcp --sport "$dest_port" -j RETURN >/dev/null 2>&1 - iptables -t mangle -I openclash -p tcp --dport "$dest_port" -j RETURN >/dev/null 2>&1 - fi - if $e_udp ; then - iptables -t mangle -I openclash_output -p udp --sport "$dest_port" -j RETURN >/dev/null 2>&1 - iptables -t mangle -I openclash -p udp --dport "$dest_port" -j RETURN >/dev/null 2>&1 - fi - fi -} - -firewall_redirect_exclude() -{ - local section="$1" - local src_dport - config_get "src_dport" "$section" "src_dport" "" - - if [ -z "$src_dport" ]; then - return - fi - - if [ -z "$en_mode_tun" ] || [ "$en_mode_tun" -eq 3 ]; then - iptables -t nat -I openclash_output -p tcp --sport "$src_dport" -j RETURN >/dev/null 2>&1 - iptables -t mangle -I openclash_output -p udp --sport "$src_dport" -j RETURN >/dev/null 2>&1 - iptables -t mangle -I openclash -p udp --dport "$src_dport" -j RETURN >/dev/null 2>&1 - elif [ "$en_mode_tun" -ne 3 ]; then - iptables -t mangle -I openclash_output -p tcp --sport "$src_dport" -j RETURN >/dev/null 2>&1 - iptables -t mangle -I openclash_output -p udp --sport "$src_dport" -j RETURN >/dev/null 2>&1 - iptables -t mangle -I openclash -p tcp --dport "$src_dport" -j RETURN >/dev/null 2>&1 - iptables -t mangle -I openclash -p udp --dport "$src_dport" -j RETURN >/dev/null 2>&1 - fi - -} - -set_firewall() -{ - -DNSPORT="$(uci get dhcp.@dnsmasq[0].port 2>/dev/null || echo 53)" -if [ "$enable_redirect_dns" -eq 1 ] && [ -z "$(iptables -t nat -nL PREROUTING --line-number |grep 'dns_hijack')"]; then - iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports "$DNSPORT" -m comment --comment dns_hijack - iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports "$DNSPORT" -m comment --comment dns_hijack -fi - -if [ "$(iptables -t nat -nL PREROUTING --line-number | grep "redir port $DNSPORT" | wc -l)" -gt 2 ] && [ "$enable_redirect_dns" -eq 1 ]; then - echo "发现53端口被劫持,清理防火墙规则..." >$START_LOG - pre_lines=$(iptables -nvL PREROUTING -t nat |sed 1,2d | sed -n "/redir port $DNSPORT/=" 2>/dev/null |sort -rn) - for pre_line in $pre_lines; do - iptables -t nat -D PREROUTING "$pre_line" >/dev/null 2>&1 - done -fi - -if [ -z "$(uci -q get firewall.openclash)" ] || [ -z "$(uci -q get ucitrack.@openclash[-1].init)" ]; then - uci -q delete ucitrack.@openclash[-1] - uci -q add ucitrack openclash - uci -q set ucitrack.@openclash[-1].init=openclash - uci -q commit ucitrack - uci -q delete firewall.openclash - uci -q set firewall.openclash=include - uci -q set firewall.openclash.type=script - uci -q set firewall.openclash.path=/var/etc/openclash.include - uci -q set firewall.openclash.reload=1 -fi - -if [ "$(uci -q get firewall.@defaults[0].forward)" != "ACCEPT" ]; then - uci -q set firewall.@defaults[0].forward=ACCEPT - uci -q commit firewall - /etc/init.d/firewall reload >/dev/null 2>&1 -fi - -mkdir -p /var/etc -cat > "/var/etc/openclash.include" <<-EOF -/etc/init.d/openclash reload >/dev/null 2>&1 -EOF - -if [ "$china_ip_route" = "1" ] && [ -f "/etc/openclash/china_ip_route.ipset" ]; then - ipset -! flush china_ip_route 2>/dev/null - ipset -! restore /dev/null -fi - -#lan_ac -if [ "$operation_mode" = "redir-host" ] && [ "$en_mode" = "redir-host" ]; then - if [ "$lan_ac_mode" = "0" ]; then - if [ -n "$(uci -q get openclash.config.lan_ac_black_ips)" ]; then - ipset create lan_ac_black_ips hash:net - config_load "openclash" - config_list_foreach "config" "lan_ac_black_ips" ac_add "lan_ac_black_ips" - fi - if [ -n "$(uci -q get openclash.config.lan_ac_black_macs)" ]; then - ipset create lan_ac_black_macs hash:mac - config_load "openclash" - config_list_foreach "config" "lan_ac_black_macs" ac_add "lan_ac_black_macs" - fi - elif [ "$lan_ac_mode" = "1" ]; then - if [ -n "$(uci -q get openclash.config.lan_ac_white_ips)" ]; then - ipset create lan_ac_white_ips hash:net - config_load "openclash" - config_list_foreach "config" "lan_ac_white_ips" ac_add "lan_ac_white_ips" - fi - if [ -n "$(uci -q get openclash.config.lan_ac_white_macs)" ]; then - ipset create lan_ac_white_macs hash:mac - config_load "openclash" - config_list_foreach "config" "lan_ac_white_macs" ac_add "lan_ac_white_macs" - fi - fi -fi - -#wan ac -if [ -n "$(uci -q get openclash.config.wan_ac_black_ips)" ]; then - ipset create wan_ac_black_ips hash:net - config_load "openclash" - config_list_foreach "config" "wan_ac_black_ips" ac_add "wan_ac_black_ips" -fi - -#local - ipset create localnetwork hash:net - ipset add localnetwork 0.0.0.0/8 - ipset add localnetwork 127.0.0.0/8 - ipset add localnetwork 10.0.0.0/8 - ipset add localnetwork 169.254.0.0/16 - ipset add localnetwork 192.168.0.0/16 - ipset add localnetwork 224.0.0.0/4 - ipset add localnetwork 240.0.0.0/4 - ipset add localnetwork 172.16.0.0/12 - - if [ -n "$wan_ip4" ]; then - for wan_ip4s in $wan_ip4; do - ipset add localnetwork "$wan_ip4s" 2>/dev/null - done - fi - -#common ports -if [ "$common_ports" = "1" ]; then - common_port="21 22 23 53 80 123 143 194 443 465 587 853 993 995 998 2052 2053 2082 2083 2086 2095 2096 5222 5228 5229 5230 8080 8443 8880 8888 8889" - ipset create common_ports bitmap:port range 0-65535 - for i in $common_port; do - ipset add common_ports $i - done -fi - -if [ -z "$en_mode_tun" ] || [ "$en_mode_tun" -eq 3 ]; then - #tcp - iptables -t nat -N openclash - iptables -t nat -F openclash - iptables -t nat -A openclash -m set --match-set localnetwork dst -j RETURN - iptables -t nat -A openclash -m set --match-set wan_ac_black_ips dst -j RETURN >/dev/null 2>&1 - iptables -t nat -A openclash -m set --match-set lan_ac_black_ips src -j RETURN >/dev/null 2>&1 - iptables -t nat -A openclash -m set --match-set lan_ac_black_macs src -j RETURN >/dev/null 2>&1 - iptables -t nat -A openclash -m set ! --match-set lan_ac_white_macs src -j RETURN >/dev/null 2>&1 - iptables -t nat -A openclash -m set ! --match-set lan_ac_white_ips src -j RETURN >/dev/null 2>&1 - if [ "$en_mode" = "redir-host" ]; then - iptables -t nat -A openclash -m set ! --match-set common_ports dst -j RETURN >/dev/null 2>&1 - iptables -t nat -A openclash -m set --match-set china_ip_route dst -j RETURN >/dev/null 2>&1 - fi - iptables -t nat -A openclash -p tcp -j REDIRECT --to-ports "$proxy_port" - iptables -t nat -A PREROUTING -p tcp -j openclash - if [ -z "$en_mode_tun" ]; then - #Google dns - iptables -t nat -I PREROUTING -p tcp -d 8.8.8.8 --dport 53 -j REDIRECT --to-ports "$proxy_port" - iptables -t nat -I PREROUTING -p tcp -d 8.8.4.4 --dport 53 -j REDIRECT --to-ports "$proxy_port" - #udp - if [ "$enable_udp_proxy" -eq 1 ]; then - modprobe xt_TPROXY >/dev/null 2>&1 - ip rule add fwmark "$PROXY_FWMARK" table "$PROXY_ROUTE_TABLE" - ip route add local 0.0.0.0/0 dev lo table "$PROXY_ROUTE_TABLE" - iptables -t mangle -N openclash - iptables -t mangle -F openclash - iptables -t mangle -A openclash -m set --match-set localnetwork dst -j RETURN - iptables -t mangle -A openclash -m set --match-set wan_ac_black_ips dst -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set --match-set lan_ac_black_macs src -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set --match-set lan_ac_black_ips src -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set ! --match-set lan_ac_white_ips src -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set ! --match-set lan_ac_white_macs src -j RETURN >/dev/null 2>&1 - if [ "$en_mode" = "redir-host" ]; then - iptables -t mangle -A openclash -m set ! --match-set common_ports dst -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set --match-set china_ip_route dst -j RETURN >/dev/null 2>&1 - fi - iptables -t mangle -A openclash -p udp --dport 53 -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -p udp -j TPROXY --on-port "$proxy_port" --tproxy-mark "$PROXY_FWMARK" - iptables -t mangle -A PREROUTING -p udp -j openclash - fi - fi - - iptables -t nat -N openclash_output - iptables -t nat -F openclash_output - iptables -t nat -A openclash_output -m set --match-set localnetwork dst -j RETURN - if [ "$en_mode" = "fake-ip" ]; then - if [ "$intranet_allowed" -eq 1 ]; then - iptables -t nat -A openclash_output -m owner ! --uid-owner 65534 -p tcp -d 198.18.0.0/16 -j DNAT --to-destination "$lan_ip:$proxy_port" - else - iptables -t nat -A openclash_output -m owner ! --uid-owner 65534 -p tcp -d 198.18.0.0/16 -j REDIRECT --to-ports "$proxy_port" - fi - fi - iptables -t nat -A openclash_output -m owner ! --uid-owner 65534 -m set ! --match-set common_ports dst -j RETURN >/dev/null 2>&1 - if [ "$en_mode" = "redir-host" ]; then - iptables -t nat -A openclash_output -m set --match-set china_ip_route dst -j RETURN >/dev/null 2>&1 - fi - if [ "$intranet_allowed" -eq 1 ]; then - iptables -t nat -A openclash_output -m owner ! --uid-owner 65534 -p tcp -j DNAT --to-destination "$lan_ip:$proxy_port" - else - iptables -t nat -A openclash_output -m owner ! --uid-owner 65534 -p tcp -j REDIRECT --to-ports "$proxy_port" - fi - iptables -t nat -I OUTPUT -j openclash_output - - #if [ "$ipv6_enable" -eq 1 ]; then - # #tcp - # ip6tables -t nat -N openclash - # if [ -n "$lan_ip6" ]; then - # for lan_ip6s in $lan_ip6; do - # ip6tables -t nat -A openclash -d "$lan_ip6s" -j RETURN 2>/dev/null - # done - # fi - # ip6tables -t nat -A openclash -p tcp -j REDIRECT --to-ports "$proxy_port" - # ip6tables -t nat -A PREROUTING -p tcp -j openclash - - #udp - #if [ "$enable_udp_proxy" -eq 1 ]; then - # ip6tables -t mangle -N openclash - # if [ -n "$lan_ip6" ]; then - # for lan_ip6s in $lan_ip6; do - # if [ "$enable_udp_proxy" -eq 1 ]; then - # ip6tables -t mangle -A openclash -d "$lan_ip6s" -j RETURN 2>/dev/null - # fi - # done - # fi - # ip6tables -t mangle -A openclash -p udp -j TPROXY --on-port "$proxy_port" --tproxy-mark "$PROXY_FWMARK" - # ip6tables -t mangle -A PREROUTING -p udp -j openclash - #fi - #fi 2>/dev/null -fi -if [ -n "$en_mode_tun" ]; then - #TUN模式 - #启动TUN - if [ "$en_mode_tun" -eq 2 ]; then - ip tuntap add user root mode tun clash0 - ip link set clash0 up - ip route replace default dev clash0 table "$PROXY_ROUTE_TABLE" - elif [ "$en_mode_tun" -eq 1 ] || [ "$en_mode_tun" -eq 3 ]; then - TUN_WAIT=0 - while ( [ -n "$(pidof clash)" ] && [ -z "$(ip route list |grep utun)" ] && [ "$TUN_WAIT" -le 3 ] ) - do - let TUN_WAIT++ - sleep 2 - done - ip route replace default dev utun table "$PROXY_ROUTE_TABLE" - fi - ip rule add fwmark "$PROXY_FWMARK" table "$PROXY_ROUTE_TABLE" - - #设置防火墙 - if [ "$en_mode" = "fake-ip" ]; then - iptables -t mangle -N openclash_output - iptables -t mangle -F openclash_output - iptables -t mangle -A openclash_output -m set --match-set localnetwork dst -j RETURN - if [ "$en_mode_tun" -ne 3 ]; then - iptables -t mangle -A openclash_output -m owner ! --uid-owner 65534 -d 198.18.0.0/16 -j MARK --set-mark "$PROXY_FWMARK" - iptables -t mangle -A openclash_output -m owner ! --uid-owner 65534 -m set ! --match-set common_ports dst -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash_output -m owner ! --uid-owner 65534 -p tcp -j MARK --set-mark "$PROXY_FWMARK" - else - iptables -t mangle -A openclash_output -m owner ! --uid-owner 65534 -p udp -d 198.18.0.0/16 -j MARK --set-mark "$PROXY_FWMARK" - fi - iptables -t mangle -I OUTPUT -j openclash_output - elif [ "$en_mode" = "redir-host" ] && [ "$en_mode_tun" -ne 3 ]; then - iptables -t mangle -N openclash_output - iptables -t mangle -F openclash_output - iptables -t mangle -A openclash_output -m set --match-set localnetwork dst -j RETURN - iptables -t mangle -A openclash_output -m owner ! --uid-owner 65534 -m set ! --match-set common_ports dst -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set --match-set china_ip_route dst -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash_output -m owner ! --uid-owner 65534 -p tcp -j MARK --set-mark "$PROXY_FWMARK" - iptables -t mangle -I OUTPUT -j openclash_output - fi - - iptables -t mangle -N openclash - iptables -t mangle -F openclash - iptables -t mangle -N openclash_dns_hijack - iptables -t mangle -F openclash_dns_hijack - #其他流量 - iptables -t mangle -A openclash -m set --match-set localnetwork dst -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set --match-set wan_ac_black_ips dst -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set --match-set lan_ac_black_ips src -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set --match-set lan_ac_black_macs src -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set ! --match-set lan_ac_white_ips src -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set ! --match-set lan_ac_white_macs src -j RETURN >/dev/null 2>&1 - if [ "$en_mode" = "redir-host" ]; then - iptables -t mangle -A openclash -m set ! --match-set common_ports dst -j RETURN >/dev/null 2>&1 - iptables -t mangle -A openclash -m set --match-set china_ip_route dst -j RETURN >/dev/null 2>&1 - fi - iptables -t mangle -A openclash -j MARK --set-mark "$PROXY_FWMARK" - - if [ "$en_mode_tun" -ne 3 ]; then - iptables -t mangle -I PREROUTING -j openclash - iptables -t nat -I PREROUTING -p tcp --dport 53 -j ACCEPT - else - iptables -t mangle -I PREROUTING -p tcp --dport 53 -j openclash_dns_hijack - iptables -t mangle -A openclash_dns_hijack -d 8.8.8.8 -j MARK --set-mark "$PROXY_FWMARK" - iptables -t mangle -A openclash_dns_hijack -d 8.8.4.4 -j MARK --set-mark "$PROXY_FWMARK" - iptables -t mangle -I PREROUTING -p udp -j openclash - iptables -t nat -I PREROUTING -p tcp --dport 53 -d 8.8.8.8 -j ACCEPT - iptables -t nat -I PREROUTING -p tcp --dport 53 -d 8.8.4.4 -j ACCEPT - fi - - #ipv6 - # if [ "$ipv6_enable" -eq 1 ]; then - # ip6tables -t mangle -I PREROUTING -j MARK --set-mark "$PROXY_FWMARK" - # fi - - #snat routerself for tun while bindaddress enable - if [ "$en_mode_tun" -ne 3 ] && [ "$intranet_allowed" -eq 1 ]; then - iptables -t nat -N openclash_post - iptables -t nat -F openclash_post - iptables -t nat -A openclash_post -m owner ! --uid-owner 65534 -i lo -d 127.0.0.1 -j SNAT --to-source "$lan_ip" - iptables -t nat -A POSTROUTING -j openclash_post - fi -fi - -#端口转发 -config_load "firewall" -config_foreach firewall_redirect_exclude "redirect" -config_foreach firewall_rule_exclude "rule" -} - -revert_firewall() -{ - rm -rf /var/etc/openclash.include - - #ipv4 - - ip rule del fwmark "$PROXY_FWMARK" table "$PROXY_ROUTE_TABLE" >/dev/null 2>&1 - ip route del local 0.0.0.0/0 dev lo table "$PROXY_ROUTE_TABLE" >/dev/null 2>&1 - - iptables -t nat -D PREROUTING -p tcp --dport 53 -j ACCEPT >/dev/null 2>&1 - - out_lines=$(iptables -nvL OUTPUT -t nat |sed 1,2d |sed -n '/openclash/=' 2>/dev/null |sort -rn) - for out_line in $out_lines; do - iptables -t nat -D OUTPUT "$out_line" >/dev/null 2>&1 - done >/dev/null 2>&1 - iptables -t nat -D OUTPUT -j openclash_output >/dev/null 2>&1 - - out_lines=$(iptables -nvL OUTPUT -t mangle |sed 1,2d |sed -n '/openclash/=' 2>/dev/null |sort -rn) - for out_line in $out_lines; do - iptables -t mangle -D OUTPUT "$out_line" >/dev/null 2>&1 - done >/dev/null 2>&1 - iptables -t mangle -D OUTPUT -j openclash_output >/dev/null 2>&1 - - pre_lines=$(iptables -nvL PREROUTING -t nat |sed 1,2d |sed -n '/8\.8\./=' 2>/dev/null |sort -rn) - for pre_line in $pre_lines; do - iptables -t nat -D PREROUTING "$pre_line" >/dev/null 2>&1 - done >/dev/null 2>&1 - - pre_lines=$(iptables -nvL PREROUTING -t mangle |sed 1,2d |sed -n '/openclash/=' 2>/dev/null |sort -rn) - for pre_line in $pre_lines; do - iptables -t mangle -D PREROUTING "$pre_line" >/dev/null 2>&1 - done >/dev/null 2>&1 - - pre_lines=$(iptables -nvL PREROUTING -t nat |sed 1,2d |sed -n '/openclash/=' 2>/dev/null |sort -rn) - for pre_line in $pre_lines; do - iptables -t nat -D PREROUTING "$pre_line" >/dev/null 2>&1 - done >/dev/null 2>&1 - iptables -t nat -D PREROUTING -p tcp -j openclash >/dev/null 2>&1 - - pre_lines=$(iptables -nvL PREROUTING -t nat |sed 1,2d |sed -n '/dns_hijack/=' 2>/dev/null |sort -rn) - for pre_line in $pre_lines; do - iptables -t nat -D PREROUTING "$pre_line" >/dev/null 2>&1 - done >/dev/null 2>&1 - - #ipv6 - #ip6tables -t mangle -F openclash >/dev/null 2>&1 - #ip6tables -t mangle -D PREROUTING -p udp -j openclash >/dev/null 2>&1 - #ip6tables -t mangle -X openclash >/dev/null 2>&1 - - iptables -t nat -F openclash >/dev/null 2>&1 - iptables -t nat -X openclash >/dev/null 2>&1 - - iptables -t nat -F openclash_output >/dev/null 2>&1 - iptables -t nat -X openclash_output >/dev/null 2>&1 - - iptables -t nat -F openclash_post >/dev/null 2>&1 - iptables -t nat -X openclash_post >/dev/null 2>&1 - iptables -t nat -D POSTROUTING -j openclash_post >/dev/null 2>&1 - - ip6tables -t nat -F openclash >/dev/null 2>&1 - ip6tables -t nat -D PREROUTING -p tcp -j openclash >/dev/null 2>&1 - ip6tables -t nat -X openclash >/dev/null 2>&1 - - #TUN - ip route del default dev clash0 table "$PROXY_ROUTE_TABLE" >/dev/null 2>&1 - ip route del default dev utun table "$PROXY_ROUTE_TABLE" >/dev/null 2>&1 - ip rule del fwmark "$PROXY_FWMARK" table "$PROXY_ROUTE_TABLE" >/dev/null 2>&1 - ip link set dev clash0 down >/dev/null 2>&1 - ip tuntap del clash0 mode tun >/dev/null 2>&1 - - iptables -t mangle -D OUTPUT -j openclash_output >/dev/null 2>&1 - iptables -t mangle -D PREROUTING -j openclash >/dev/null 2>&1 - iptables -t mangle -D PREROUTING -p udp -j openclash >/dev/null 2>&1 - iptables -t mangle -D PREROUTING -p tcp --dport 53 -j openclash_dns_hijack >/dev/null 2>&1 - iptables -t mangle -F openclash >/dev/null 2>&1 - iptables -t mangle -X openclash >/dev/null 2>&1 - iptables -t mangle -F openclash_dns_hijack >/dev/null 2>&1 - iptables -t mangle -X openclash_dns_hijack >/dev/null 2>&1 - iptables -t mangle -F openclash_output >/dev/null 2>&1 - iptables -t mangle -X openclash_output >/dev/null 2>&1 - - #ip6tables -t mangle -D PREROUTING -j MARK --set-mark "$PROXY_FWMARK" >/dev/null 2>&1 - - ipset destroy localnetwork >/dev/null 2>&1 - ipset destroy china_ip_route >/dev/null 2>&1 - ipset destroy lan_ac_white_ips >/dev/null 2>&1 - ipset destroy lan_ac_black_ips >/dev/null 2>&1 - ipset destroy lan_ac_white_macs >/dev/null 2>&1 - ipset destroy lan_ac_black_macs >/dev/null 2>&1 - ipset destroy wan_ac_black_ips >/dev/null 2>&1 - ipset destroy common_ports >/dev/null 2>&1 -} - -get_config() -{ - rule_source=$(uci -q get openclash.config.rule_source) - enable_custom_dns=$(uci -q get openclash.config.enable_custom_dns) - enable_custom_clash_rules=$(uci -q get openclash.config.enable_custom_clash_rules) - da_password=$(uci -q get openclash.config.dashboard_password) - cn_port=$(uci -q get openclash.config.cn_port) - proxy_port=$(uci -q get openclash.config.proxy_port) - proxy_mode=$(uci -q get openclash.config.proxy_mode) - ipv6_enable=$(uci -q get openclash.config.ipv6_enable) - http_port=$(uci -q get openclash.config.http_port) - socks_port=$(uci -q get openclash.config.socks_port) - enable_redirect_dns=$(uci -q get openclash.config.enable_redirect_dns) - lan_ip=$(uci -q get network.lan.ipaddr |awk -F '/' '{print $1}' 2>/dev/null) - wan_ip4=$(ifconfig | grep 'inet addr' | awk '{print $2}' | cut -d: -f2 2>/dev/null) - lan_ip6=$(ifconfig | grep 'inet6 addr' | awk '{print $3}' 2>/dev/null) - disable_masq_cache=$(uci -q get openclash.config.disable_masq_cache) - log_level=$(uci -q get openclash.config.log_level) - intranet_allowed=$(uci -q get openclash.config.intranet_allowed) - enable_udp_proxy=$(uci -q get openclash.config.enable_udp_proxy) - operation_mode=$(uci -q get openclash.config.operation_mode) - lan_ac_mode=$(uci -q get openclash.config.lan_ac_mode) - enable_rule_proxy=$(uci -q get openclash.config.enable_rule_proxy) - stack_type=$(uci -q get openclash.config.stack_type) - china_ip_route=$(uci -q get openclash.config.china_ip_route) - small_flash_memory=$(uci -q get openclash.config.small_flash_memory) - mixed_port=$(uci -q get openclash.config.mixed_port) - interface_name=$(uci -q get openclash.config.interface_name) - common_ports=$(uci -q get openclash.config.common_ports) - dns_port=$(uci -q get openclash.config.dns_port) - [ -z "$dns_port" ] && dns_port=7874 && uci -q set openclash.config.dns_port=7874 - uci -q set openclash.config.restricted_mode=0 && uci -q commit openclash -} - -start() -{ - - enable=$(uci -q get openclash.config.enable) - [ "$enable" != "1" ] && echo "${LOGTIME} Warning: OpenClash Now Disabled, Need Start From Luci Page, Exit..." >> $LOG_FILE && del_lock && exit 0 - - config_choose - - echo "OpenClash 开始启动..." >$START_LOG - do_run_mode - - echo "第一步: 获取配置..." >$START_LOG - get_config - - echo "第二步: 组件运行前检查..." >$START_LOG - #检查文件是否存在 - do_run_file "$CONFIG_FILE" "$BACKUP_FILE" - - echo "第三步: 修改配置文件..." >$START_LOG - config_load "openclash" - config_foreach yml_auth_get "authentication" - yml_auth_custom "$CONFIG_FILE" - yml_dns_custom "$enable_custom_dns" "$CONFIG_FILE" - /usr/share/openclash/yml_change.sh 2>/dev/null "$LOGTIME" "$en_mode" "$enable_custom_dns" "$da_password" "$cn_port" "$proxy_port" "$CONFIG_FILE" "$ipv6_enable" "$http_port" "$socks_port" "$lan_ip" "$log_level" "$proxy_mode" "$intranet_allowed" "$en_mode_tun" "$stack_type" "$dns_port" "$core_type" "$mixed_port" - /usr/share/openclash/yml_rules_change.sh 2>/dev/null "$LOGTIME" "$rule_source" "$enable_custom_clash_rules" "$CONFIG_FILE" "$enable_rule_proxy" "$CONFIG_NAME" - yml_custom_rule_provider - yml_game_custom - yml_provider_path "$CONFIG_FILE" "proxy-providers" "proxy_provider" - yml_provider_path "$CONFIG_FILE" "rule-providers" "rule_provider" - yml_dns_check "$CONFIG_FILE" "$FALLBACK_FILTER_FILE" - - echo "第四步: 启动主程序..." >$START_LOG - start_run_core - - echo "第五步: 检查内核启动状态..." >$START_LOG - check_core_status - - #检测proxy_provider配置文件状态 - echo "第六步: 等待主程序下载外部文件..." >$START_LOG - yml_provider_check "$CONFIG_FILE" "proxy-providers" "proxies" - yml_provider_check "$CONFIG_FILE" "rule-providers" "payload" - try_restore_start - - echo "第七步: 设置控制面板..." >$START_LOG - ln -s /usr/share/openclash/yacd /www/luci-static/openclash 2>/dev/null - - echo "第八步: 设置防火墙规则..." >$START_LOG - set_firewall - - echo "第九步: 重启 Dnsmasq 程序..." >$START_LOG - change_dns "$enable_redirect_dns" "$disable_masq_cache" - /etc/init.d/dnsmasq restart >/dev/null 2>&1 - - echo "第十步: 还原策略组节点状态..." >$START_LOG - /usr/share/openclash/openclash_history_set.sh - - echo "第十一步: 添加计划任务,启动进程守护程序..." >$START_LOG - add_cron - if [ -z "$(uci -q get dhcp.lan.dhcpv6)" ] && [ "$(uci -q get openclash.config.restricted_mode)" != "1" ]; then - echo "OpenClash 启动成功,请等待服务器上线!" >$START_LOG - echo "${LOGTIME} OpenClash Start Successful" >> $LOG_FILE - sleep 5 - elif [ -n "$(uci -q get dhcp.lan.dhcpv6)" ]; then - echo "OpenClash 启动成功,检测到您启用了IPV6的DHCP服务,可能会造成连接异常!" >$START_LOG - echo "${LOGTIME} Warning: OpenClash Start Successful, Please Note That Network May Abnormal With IPV6's DHCP Server" >> $LOG_FILE - sleep 5 - fi - if [ "$(uci -q get openclash.config.restricted_mode)" = "1" ]; then - echo "OpenClash 使用原始配置文件启动成功,部分设置可能未生效!" >$START_LOG - echo "${LOGTIME} Warning: OpenClash Start Successful With Raw Config File, Please Note That It's Restricted Mode Now" >> $LOG_FILE - sleep 5 - fi - echo "OpenClash Already Start" - echo "" >$START_LOG - rm -rf /tmp/yaml_* -} - -stop() -{ - - enable=$(uci -q get openclash.config.enable) - - echo "OpenClash 开始关闭..." >$START_LOG - echo "第一步: 备份当前节点状态..." >$START_LOG - /usr/share/openclash/openclash_history_get.sh 2>/dev/null - - echo "第二步: 删除 OpenClash 防火墙规则..." >$START_LOG - revert_firewall - - echo "第三步: 关闭 OpenClash 守护程序..." >$START_LOG - watchdog_pids=$(unify_ps_pids "openclash_watchdog.sh") - for watchdog_pid in $watchdog_pids; do - kill -9 "$watchdog_pid" >/dev/null 2>&1 - done >/dev/null 2>&1 - - echo "第四步: 关闭 Clash 主程序..." >$START_LOG - if [ "$enable" != "1" ]; then - kill_clash - fi - - echo "第五步: 重启 Dnsmasq 程序..." >$START_LOG - dns_port=$(uci -q get openclash.config.dns_port) - redirect_dns=$(uci -q get openclash.config.redirect_dns) - masq_cache=$(uci -q get openclash.config.masq_cache) - revert_dns "$redirect_dns" "$masq_cache" "$dns_port" "$enable" - /etc/init.d/dnsmasq restart >/dev/null 2>&1 - - echo "第六步:删除 OpenClash 残留文件..." >$START_LOG - if [ "$enable" != "1" ]; then - rm -rf $LOG_FILE - rm -rf /tmp/openclash_debug.log - rm -rf /www/luci-static/openclash - rm -rf /tmp/openclash_last_version - rm -rf /tmp/clash_last_version - rm -rf /tmp/Proxy_Group - rm -rf /tmp/rules_name - rm -rf /tmp/rule_providers_name - rm -rf /tmp/openclash_fake_filter.list - rm -rf /tmp/openclash_servers_fake_filter.conf - del_lock - echo "OpenClash 关闭成功!" >$START_LOG - sleep 5 - fi - - del_cron - rm -rf /tmp/yaml_* - rm -rf $START_LOG - echo "OpenClash Already Stop" -} - - -restart() -{ - [ -f "$LOCK_FILE" ] && echo "${LOGTIME} Warning: Multiple Restart Scripts Running, Exit..." >> $LOG_FILE && exit 0 - mkdir -p /tmp/lock - touch $LOCK_FILE - set_lock - stop - start - del_lock -} - -reload() -{ - if pidof clash >/dev/null; then - revert_firewall 2>/dev/null - do_run_mode 2>/dev/null - get_config 2>/dev/null - set_firewall 2>/dev/null - /etc/init.d/dnsmasq restart >/dev/null 2>&1 - echo "${LOGTIME} Reload OpenClash Firewall Rules" >> $LOG_FILE - echo "" >$START_LOG - fi -} diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/Country.mmdb b/package/ctcgfw/luci-app-openclash/root/etc/openclash/Country.mmdb deleted file mode 100644 index b3776bfc782e4e40bd8bce61bb909404daed5b72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3905934 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

|t<-K4tDK?NnQeDat5UnuqKbUg`BNK4 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

7Lb$DvVe{H8a)nRI^YmNHr_f+*Gqs%}F&om3aR8 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

h8ezJ=GqV)Hm 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

XDINLM56Pr9mWcAq@cy&_$m)PlbUQb*Ub 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≦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

?gd}$&J5% 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

qx0WH<4zhk)3}X>%2c}C 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

O^dfW-gJ0#;Z2XHRvk~S8SwsR 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 hqB_ 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%0Dp-pi~zKO>TT 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

  • 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
    <%:客户端名%>
    <%:MAC%>
    <%:IP%>
    <%:总计流量%>
    <%:在线时间%>
    -$js_str -
    -EOF -} - -# 重启网络服务 -function network_restart(){ -cat>${dir}network_restart</dev/null 2>&1 & -/etc/init.d/firewall restart >/dev/null 2>&1 & -/etc/init.d/dnsmasq restart >/dev/null 2>&1 & -EOF - chmod 0755 ${dir}network_restart && ${dir}network_restart - rm -f ${dir}network_restart >/dev/null 2>&1 -} - -# 查看无人值守任务设备是否在线 -function geterrdevicealiases(){ - [ -z "$err_device_aliases" ] && return - [ -f ${dir}ipAddress ] && local logrow=$(grep -c "" ${dir}ipAddress) || local logrow="0";[ $logrow -eq "0" ] && return - local MACLIST=`cat ${dir}ipAddress|awk '{print $2}'|grep -v "^$"|sort -u` - for mac in $MACLIST; do - [ -z "$err_mac" ] && [ ! -z "$mac" ] && local err_mac=`echo "$err_device_aliases"|grep -i $mac|grep -v "^$"|sort -u|head -n1` - done - # 进入免打扰时间已经超过一小时 - if [ ! -z "$sheep_starttime" ] && [ "$((`date +%s`-$sheep_starttime))" -ge "3600" ]; then - > ${dir}sheep_usage - local MACLIST=`echo "$err_device_aliases"|grep -v "^$"|sort -u` - for mac in $MACLIST; do - [ ! -z "$mac" ] && local tmptotal=`usage get ${mac} bytes` - [ ! -z "$tmptotal" ] && awk 'BEGIN{printf "%.0f\n",'$tmptotal'/'204800'}' 2>/dev/null >> ${dir}sheep_usage - done - old_sheep_usage=`cat ${dir}old_sheep_usage` 2>/dev/null - sheep_usage=`cat ${dir}sheep_usage` 2>/dev/null - [ "$old_sheep_usage" == "$sheep_usage" ] && [ -z "$sheep_nousage_starttime" ] && sheep_nousage_starttime=`date +%s` - [ "$old_sheep_usage" != "$sheep_usage" ] && unset sheep_nousage_starttime && cat ${dir}sheep_usage 2>/dev/null > ${dir}old_sheep_usage - [ ! -z "$sheep_nousage_starttime" ] && [ "$((`date +%s`-$sheep_nousage_starttime))" -ge "300" ] && unset err_mac - fi - [ -z "$err_mac" ] -} - -# 无人值守任务 -function unattended(){ - [ -z "$err_enable" ] || [ "$err_enable" -ne "1" ] && return - [ ! -z "$err_sheep_enable" ] && [ "$err_sheep_enable" -eq "1" ] && [ -z "$sheep_starttime" ] && return - geterrdevicealiases;[ $? -eq "1" ] && return - - if [ ! -z "$system_time_event" ]; then - local interfaceuptime=`getinterfaceuptime` - if [ ! -z "$autoreboot_time" ] && [ `cat /proc/uptime|awk -F. '{run_hour=$1/3600;printf("%d",run_hour)}'` -ge "$autoreboot_time" ] && [ "$system_time_event" -eq "1" ]; then - echo "`date "+%Y-%m-%d %H:%M:%S"` 【无人值守任务】重启路由器咯" >> ${logfile} - cat ${logfile} > /usr/bin/serverchan/errlog - sleep 2 && reboot && exit - elif [ ! -z "$network_restart_time" ] && [ ! -z "$interfaceuptime" ] && [ `echo "$interfaceuptime"|awk -F. '{run_hour=$1/3600;printf("%d",run_hour)}'` -ge "$network_restart_time" ] && [ "$system_time_event" -eq "2" ]; then - echo "`date "+%Y-%m-%d %H:%M:%S"` 【无人值守任务】重新拨号咯" >> ${logfile} - ifup wan >/dev/null 2>&1 - sleep 60 - fi - fi - - [ -z "$public_ip_today" ] && public_ip_today=`date +"%d"` - [ -z "$public_ip_count" ] && public_ip_count="0" - [ $public_ip_today -ne `date +"%d"` ] && public_ip_today=`date +"%d"` && public_ip_count=1 - if [ ! -z "$public_ip_event" ] && [ ! -z "$public_ip_retry_count" ] && [ "$public_ip_count" -le "$public_ip_retry_count" ]; then - public_ip_count=`expr $public_ip_count + 1` - local wanIP=`getip wanipv4` - local hostIP=`getip hostipv4` - if [ ! -z "$wanIP" ] && [ ! -z "$hostIP" ] && ( ! echo "$wanIP"|grep -q -w ${hostIP} );then - echo "`date "+%Y-%m-%d %H:%M:%S"` 【无人值守任务】重拨尝试获取公网 ip,当前第 $public_ip_count 次 " >> ${logfile} - ifup wan >/dev/null 2>&1 - sleep 60 - local wanIP=`getip wanipv4` && local hostIP=`getip hostipv4` - [ ! -z "$serverchan_ipv4" ] && [ "$serverchan_ipv4" -eq "1" ] && local IPv4=${wanIP} - [ ! -z "$serverchan_ipv4" ] && [ "$serverchan_ipv4" -eq "2" ] && local IPv4=${hostIP} - [ ! -z "$serverchan_ipv6" ] && [ "$serverchan_ipv6" -eq "1" ] && local IPv6=`getip wanipv6` - [ ! -z "$serverchan_ipv6" ] && [ "$serverchan_ipv6" -eq "2" ] && local IPv6=`getip hostipv6` - [ ! -z "$wanIP" ] && [ ! -z "$hostIP" ] && ( ! echo "$wanIP"|grep -q -w ${hostIP} ) && echo IPv4 $IPv4 > ${dir}ip && echo -e IPv6 $last_IPv6 >> ${dir}ip - fi - fi -} - -# 检测网络状态 -function rand_geturl(){ - local urllist="https://www.163.com https://www.qq.com https://www.baidu.com https://www.qidian.com https://www.douban.com" - local url_str=$( echo "$urllist"|awk -v i="`awk 'BEGIN{srand();sum=rand()*5+ 1;printf("%d",sum)}'`" '{print $i}' ) - function getcheck(){ - echo `curl -k -s -w "%{http_code}" ${url_str} -A "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11" -o /dev/null` - } - local check=`getcheck` - while [ -z "$check" ] || [ "$check" -ne "200" ]; do - local check=`getcheck` - if [ ! -z "$check" ] && [ "$check" -eq "200" ]; then - [ ! -z "$network_enable" ] && [ "$network_enable" -eq "404" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【网络状态】网络恢复正常.." >> ${logfile} - local network_enable="200" - else - [ -z "$network_enable" ] || [ "$network_enable" -eq "200" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】当前网络不通!停止检测! " >> ${logfile} - local network_enable="404" - [ -z "$network_err_time" ] && network_err_time=`date +%s` - if [ ! -z "$network_err_event" ] && [ "$((`date +%s`-$network_err_time))" -ge "600" ]; then - > ${dir}send_enable.lock && serverchan_first && deltemp - geterrdevicealiases - if [ "$?" -eq "0" ]; then - [ -f /usr/bin/serverchan/autoreboot_count ] && retry_count=`cat /usr/bin/serverchan/autoreboot_count` && rm -f /usr/bin/serverchan/autoreboot_count >/dev/null 2>&1 - [ ! -z ${retry_count} ] && retry_count=0;retry_count=`expr $retry_count + 1` - if [ "$network_err_event" -eq "1" ] ;then - if [ "$retry_count" -lt "3" ] ;then - echo "$retry_count" > /usr/bin/serverchan/autoreboot_count - echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】正在尝试重启路由,当前第 $retry_count 次 " >> ${logfile} - cat ${logfile} > /usr/bin/serverchan/errlog - sleep 2 && reboot && exit - fi - [ "$retry_count" -eq "3" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】已经重启路由2次,修复失败,请主人自行修复哦" >> ${logfile} - elif [ "$network_err_event" -eq "2" ] ;then - [ "$retry_count" -lt "3" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】正在尝试重启网络,当前第 $retry_count 次 " >> ${logfile} && ifup wan >/dev/null 2>&1 - [ "$retry_count" -eq "3" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】已经重启网络2次,修复失败,请主人自行修复哦 " >> ${logfile} - elif [ "$network_err_event" -eq "3" ] ;then - if [ "$retry_count" -eq "1" ] ;then - echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】正在尝试修复网络,当前第 1 次,重启网络服务中 " >> ${logfile} && network_restart - elif [ "$retry_count" -eq "2" ] ;then - echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】正在尝试修复网络,当前第 2 次,关闭可能造成网络断开的软件" >> ${logfile} - [ `uci get koolproxy.@global[0].enabled 2>/dev/null` -eq "1" ] && [ `uci get koolproxy.@global[0].koolproxy_mode 2>/dev/null` -eq "1" ] && /etc/init.d/koolproxy stop >/dev/null 2>&1 - [ `uci get adbyby.@adbyby[0].enable 2>/dev/null` -eq "1" ] && [ `uci get adbyby.@adbyby[0].wan_mode 2>/dev/null` -eq "0" ] && /etc/init.d/adbyby stop >/dev/null 2>&1 - [ `uci get passwall.@global[0].enabled 2>/dev/null` -eq "1" ] && [ `uci get passwall.@global[0].proxy_mode 2>/dev/null|grep global` ] && /etc/init.d/koolproxy stop >/dev/null 2>&1 - local shadowsocksr_enabled=`uci get shadowsocksr.@global[0].global_server 2>/dev/null|grep nil` - local shadowsocksr_run_mode=`uci get shadowsocksr.@global[0].run_mode 2>/dev/null|grep all` - [ -z "$shadowsocksr_enabled" ] && [ ! -z "$shadowsocksr_run_mode" ] && /etc/init.d/shadowsocksr stop >/dev/null 2>&1 - sleep 60 && network_restart - elif [ "$retry_count" -eq "3" ] ;then - echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】正在尝试修复网络,当前第 3 次,备份设置项,并修改相关设置" >> ${logfile} - mkdir -p /usr/bin/serverchan/configbak - cp -p -f /etc/config/network /usr/bin/serverchan/configbak/network - cp -p -f /etc/config/dhcp /usr/bin/serverchan/configbak/dhcp - cp -p -f /etc/config/firewall /usr/bin/serverchan/configbak/firewall - cp -p -f /etc/firewall.user /usr/bin/serverchan/configbak/firewall.user - uci set network.wan.peerdns='0' - uci delete network.wan.dns - uci add_list network.wan.dns='223.5.5.5' - uci add_list network.wan.dns='119.29.29.29' - uci delete network.wan.mtu - uci commit network - uci set dhcp.@dnsmasq[0].port='53' - uci set dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.d/resolv.conf.auto' - uci delete dhcp.@dnsmasq[0].server - uci delete dhcp.@dnsmasq[0].noresolv - uci commit dhcp - uci delete firewall.redirect - >/etc/firewall.user - uci commit firewall - sleep 60 && network_restart - elif [ "$retry_count" -eq "4" ] ;then - echo "$retry_count" > /usr/bin/serverchan/autoreboot_count - cat ${logfile} > /usr/bin/serverchan/errlog - sleep 2 && reboot && exit - elif [ "$retry_count" -eq "5" ] ;then - echo "$retry_count" > /usr/bin/serverchan/autoreboot_count - echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!!】修复失败,还原设置中,请自行检查网络设置" >> ${logfile} - cp -p -f /usr/bin/serverchan/configbak/network /etc/config/network - cp -p -f /usr/bin/serverchan/configbak/dhcp /etc/config/dhcp - cp -p -f /usr/bin/serverchan/configbak/firewall /etc/config/firewall - cp -p -f /usr/bin/serverchan/configbak/firewall.user /etc/firewall.user - cat ${logfile} > /usr/bin/serverchan/errlog - sleep 2 && reboot && exit - fi - fi - fi - elif [ -f /usr/bin/serverchan/autoreboot_count ]; then - network_err_time=`expr $network_err_time - 600` && sleep 60 - fi - enable_detection - sleep 60 - fi - continue - done - rm -f /usr/bin/serverchan/autoreboot_count >/dev/null 2>&1 -} - -# 检测 ip 状况 -function ip_changes(){ - [ ! -z "$serverchan_ipv4" ] && [ "$serverchan_ipv4" -eq "1" ] && local IPv4=`getip wanipv4` - [ ! -z "$serverchan_ipv4" ] && [ "$serverchan_ipv4" -eq "2" ] && local IPv4=`getip hostipv4` - [ ! -z "$serverchan_ipv6" ] && [ "$serverchan_ipv6" -eq "1" ] && local IPv6=`getip wanipv6` - [ ! -z "$serverchan_ipv6" ] && [ "$serverchan_ipv6" -eq "2" ] && local IPv6=`getip hostipv6` - - if [ -f ${dir}ip ]; then - local last_IPv4=$(cat "${dir}ip"|grep IPv4|awk '{print $2}'|grep -v "^$"|sort -u|head -n1) - local last_IPv6=$(cat "${dir}ip"|grep IPv6|awk '{print $2}'|grep -v "^$"|sort -u|head -n1) - if [ ! -z "$serverchan_ipv4" ] && [ "$serverchan_ipv4" -ne "0" ] && [ ! -z "$IPv4" ] && ( ! echo ${IPv4}|grep -w -q ${last_IPv4} ); then - echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}当前IP:${IPv4}" >> ${logfile} - echo IPv4 $IPv4 > ${dir}ip && echo -e IPv6 $last_IPv6 >> ${dir}ip - title="IP 地址变化" - content="${content}${markdown_splitline}#### IP 地址变化${markdown_linefeed}${markdown_tab}当前 IP:${IPv4}" - elif [ ! -z "$serverchan_ipv4" ] && [ "$serverchan_ipv4" -ne "0" ] && [ -z "$IPv4" ]; then - echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】获取 IPv4 地址失败" >> ${logfile} - fi - - if [ ! -z "$serverchan_ipv6" ] && [ "$serverchan_ipv6" -ne "0" ] && [ ! -z "$IPv6" ] && ( ! echo "$IPv6"|grep -w -q ${last_IPv6} ); then - echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}当前IPv6:${IPv6}" >> ${logfile} - echo IPv4 $IPv4 > ${dir}ip && echo -e IPv6 $IPv6 >> ${dir}ip - [ -z "$title" ] && title="IPv6 地址变化" - [ ! -z "$title" ] && title="IP 地址变化" - content="${content}${markdown_splitline}#### IPv6 地址变化${markdown_linefeed}${markdown_tab}当前 IPv6:${IPv6}" - elif [ ! -z "$serverchan_ipv6" ] && [ "$serverchan_ipv6" -ne "0" ] && [ -z "$IPv6" ]; then - echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】获取 IPv6 地址失败" >> ${logfile} - fi - - else - echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}路由器已经重启!" >> ${logfile} - [ ! -z "$serverchan_ipv4" ] && [ "$serverchan_ipv4" -ne "0" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 当前IP: ${IPv4}" >> ${logfile} - [ ! -z "$serverchan_ipv6" ] && [ "$serverchan_ipv6" -ne "0" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 当前IPv6: ${IPv6}" >> ${logfile} - echo IPv4 $IPv4 > ${dir}ip && echo -e IPv6 $IPv6 >> ${dir}ip - title="路由器重新启动" - content="${content}${markdown_splitline}#### 路由器重新启动" - [ ! -z "$serverchan_ipv4" ] && [ "$serverchan_ipv4" -ne "0" ] && content="${content}${markdown_linefeed}${markdown_tab}当前IP:${IPv4}" - [ ! -z "$serverchan_ipv6" ] && [ "$serverchan_ipv6" -ne "0" ] && content="${content}${markdown_linefeed}${markdown_tab}当前IPv6:${IPv6}" - fi - - if [ ! -z "$content" ] ;then - [ -z "$ddns_enabled" ] && ddns_enabled=$(uci show ddns|grep "enabled"|grep "1") - [ -z "$ddns_enabled" ] && ddns_logrow=0 || ddns_logrow=$(echo "$ddns_enabled"|wc -l) - if [ $ddns_logrow -ge 1 ]; then - /etc/init.d/ddns stop >/dev/null 2>&1 - sleep 10 - /etc/init.d/ddns start >/dev/null 2>&1 - fi - fi -} - -# 检测设备上线 -function up(){ - [ -f ${dir}ipAddress ] && ( cat ${dir}ipAddress|grep -q -w $1 ) && return - local ip_mac=`getmac $1` - local ip_interface=`getinterface ${ip_mac}` - getping ${1} ${up_timeout} "1";local ping_online=$? - if [ "$ping_online" -eq "0" ]; then - LockFile lock - [ -f "${dir}tmp_downlist" ] && local tmp_downip=`cat ${dir}tmp_downlist|grep -w ${1}|grep -v "^$"|sort -u|head -n1` - if [ ! -z "$tmp_downip" ]; then - cat ${dir}tmp_downlist|grep -w ${1}|grep -v "^$"|sort -u|head -n1 >> ${dir}ipAddress - sed -i "/^${1} /d" ${dir}tmp_downlist - else - usage down $1 - local ip_name=`getname ${1} ${ip_mac}` - blackwhitelist ${ip_mac};local ip_blackwhite=$? - echo "$1 ${ip_mac} ${ip_name} `date +%s` ${ip_interface}" >> ${dir}ipAddress - [ -f "${dir}send_enable.lock" ] || [ -z "$serverchan_up" ] || [ -z "$ip_blackwhite" ] && LockFile unlock && return - [ ! -z "$serverchan_up" ] && [ "$serverchan_up" -ne "1" ] && LockFile unlock && return - [ ! -z "$ip_blackwhite" ] && [ "$ip_blackwhite" -ne "0" ] && LockFile unlock && return - [ -f "${dir}title" ] && local title=`cat ${dir}title` - [ -f "${dir}content" ] && local content=`cat ${dir}content` - if [ -z "$title" ]; then - local title="$ip_name 连接了你的路由器" - local content="${markdown_splitline}#### 新设备连接${markdown_linefeed}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${1}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}${markdown_linefeed}${markdown_tab}网络接口:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_interface}" - elif ( echo ${title}|grep -q "连接了你的路由器" ); then - local title="${ip_name} ${title}" - local content="${markdown_splitline}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${1}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}${markdown_linefeed}${markdown_tab}网络接口:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_interface}" - else - local title="设备状态变化" - local content="${markdown_splitline}#### 新设备连接${markdown_linefeed}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${1}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}${markdown_linefeed}${markdown_tab}网络接口:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_interface}" - fi - echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}新设备 ${ip_name} ${1} 连接了">> ${logfile} - #[ ! -z "$serverchan_blacklist" ] && local title="你偷偷关注的设备上线了" - [ ! -z "$title" ] && echo "$title" >${dir}title - [ ! -z "$content" ] && echo -n "$content" >>${dir}content - fi - fi - LockFile unlock -} - -# 检测设备离线 -function down(){ - local ip_mac=`getmac $1` - local ip_name=`getname ${1} ${ip_mac}` - local ip_interface=`getinterface ${ip_mac}` - getping ${1} ${down_timeout} ${timeout_retry_count};local ping_online=$? - if [ "$ping_online" -eq "1" ]; then - LockFile lock - [ ! -f "${dir}send_enable.lock" ] && cat ${dir}ipAddress|grep -w ${1}|grep -v "^$"|sort -u|head -n1 >> ${dir}tmp_downlist - sed -i "/^${1} /d" ${dir}ipAddress - LockFile unlock - else - local tmp_name=`cat ${dir}ipAddress|grep -w ${1}|awk '{print $3}'|grep -v "^$"|sort -u|head -n1` - if [ "$ip_name" != "$tmp_name" ]; then - LockFile lock - local tmp_str=$(echo "$1 ${ip_mac} ${ip_name} `cat ${dir}ipAddress|grep -w ${1}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` ${ip_interface}") - sed -i "/^${1} /d" ${dir}ipAddress - echo "$tmp_str" >> ${dir}ipAddress - LockFile unlock - fi - fi -} - -# 设备离线通知 -function down_send(){ - [ ! -f "${dir}tmp_downlist" ] && return - local IPLIST=`cat ${dir}tmp_downlist|awk '{print $1}'` - for ip in $IPLIST; do - local ip_mac=`getmac ${ip}` - blackwhitelist ${ip_mac};local ip_blackwhite=$? - [ -z "$serverchan_down" ] || [ -z "$ip_blackwhite" ] && continue - [ ! -z "$serverchan_down" ] && [ "$serverchan_down" -ne "1" ] && continue - [ ! -z "$ip_blackwhite" ] && [ "$ip_blackwhite" -ne "0" ] && continue - local ip_name=`getname ${ip} ${ip_mac}` - local time_up=`cat ${dir}tmp_downlist|grep -w ${ip}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` - local ip_total=`usage get $ip_mac` && [ ! -z "$ip_total" ] && local ip_total="${markdown_linefeed}${markdown_tab}总计流量: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_total}" - local time1=`date +%s` - local time1=$(time_for_humans `expr ${time1} - ${time_up}`) - if [ -z "$title" ]; then - title="${ip_name} 断开连接" - content="${content}${markdown_splitline}#### 设备断开连接${markdown_linefeed}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}$ip_total${markdown_linefeed}${markdown_tab}在线时间: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${time1}" - elif ( echo "$title"|grep -q "断开连接" ); then - title="${ip_name} ${title}" - content="${content}${markdown_splitline}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}$ip_total${markdown_linefeed}${markdown_tab}在线时间: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${time1}" - else - title="设备状态变化" - content="${content}${markdown_splitline}#### 设备断开连接${markdown_linefeed}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}$ip_total${markdown_linefeed}${markdown_tab}在线时间: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${time1}" - fi - echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}设备 ${ip_name} ${ip} 断开连接 " >> ${logfile} - done - rm -f ${dir}tmp_downlist >/dev/null 2>&1 -} - -# 当前设备列表 -function current_device(){ - [ -f ${dir}ipAddress ] && local logrow=$(grep -c "" ${dir}ipAddress) || local logrow="0";[ $logrow -eq "0" ] && return - [ -f ${dir}usage.db ] && local ip_total_db="总计流量${markdown_space}${markdown_space}${markdown_space}${markdown_space}" - content="${content}${markdown_splitline}#### 现有在线设备 ${logrow} 台,具体如下${markdown_linefeed}${markdown_tab}IP 地址${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_total_db}客户端名" - local IPLIST=`cat ${dir}ipAddress|awk '{print $1}'` - for ip in $IPLIST; do - local ip_mac=`getmac ${ip}` - local ip_total=`usage get ${ip_mac}` - local ip_name=`getname ${ip} ${ip_mac}` - local ip_name=`cut_str $ip_name 15` - if [ "${#ip}" -lt "15" ]; then - local n=`expr 15 - ${#ip}` - for i in `seq 1 $n`; do - local ip="${ip}${markdown_space}" - done - unset i n - fi - if [ ! -z "$ip_total" ]; then - local n=`expr 11 - ${#ip_total}` - for i in `seq 1 $n`; do - local ip_total="${ip_total}${markdown_space}" - done - fi - content="${content}${markdown_linefeed}${markdown_tab}${ip}${ip_total}${ip_name}" - unset i n ip_total ip_mac ip_name - done -} - -# 检测 cpu 状态 -function cpu_load(){ - if [ ! -z "$temperature_enable" ] && [ "$temperature_enable" -eq "1" ] && [ ! -z "$temperature" ]; then - [ -z "$temperature_time" ] && temperature_time=`date +%s` - local cpu_wendu=`soc_temp`; - [ -z "$cpu_wendu" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】无法读取设备温度,请检查命令" >> ${logfile} - - if [ "$cpu_wendu" -gt "$temperature" ]; then - echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!警报!!】 CPU 温度过高: ${cpu_wendu}" >> ${logfile} - else - temperature_time=`date +%s` - fi - - if [ "$((`date +%s`-$temperature_time))" -ge "300" ] && [ -z "$temperaturecd_time" ]; then - title="CPU 温度过高!" - temperaturecd_time=`date +%s` - echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text} CPU 温 度过高: ${cpu_wendu}" >> ${logfile} - content="${content}${markdown_splitline}#### CPU 温度过高${markdown_linefeed}${markdown_tab}CPU 温度已连续五分钟超过预设${markdown_linefeed}${markdown_tab}接下来一小时不再提示${markdown_linefeed}${markdown_tab}当前温度:${cpu_wendu}" - elif [ ! -z "$temperaturecd_time" ] && [ "$((`date +%s`-$temperaturecd_time))" -ge "3300" ] ;then - unset temperaturecd_time - fi - fi - - if [ ! -z "$cpuload_enable" ] && [ "$cpuload_enable" -eq "1" ] && [ ! -z "$cpuload" ]; then - [ -z "$cpuload_time" ] && cpuload_time=`date +%s` - local cpu_fuzai=`cat /proc/loadavg|awk '{print $1}'` 2>/dev/null - [ -z "$cpu_fuzai" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】无法读取设备负载,请检查命令" >> ${logfile} - - if [ `expr $cpu_fuzai \> $cpuload` -eq "1" ]; then - echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!警报!!】 CPU 负载过高: ${cpu_fuzai}" >> ${logfile} - cputop log - else - cpuload_time=`date +%s` - fi - - if [ "$((`date +%s`-$cpuload_time))" -ge "300" ] && [ -z "$cpucd_time" ]; then - unset getlogtop - if [ ! -z "$title" ] && ( echo "$title"|grep -q "过高" ); then - title="设备报警!" - else - title="CPU 负载过高!" - fi - cpucd_time=`date +%s` - echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text} CPU 负 载过高: ${cpu_fuzai}" >> ${logfile} - content="${content}${markdown_splitline}#### CPU 负载过高${markdown_linefeed}${markdown_tab}CPU 负载已连续五分钟超过预设${markdown_linefeed}${markdown_tab}接下来一小时不再提示${markdown_linefeed}${markdown_tab}当前负载:${cpu_fuzai}" - cputop - elif [ ! -z "$cpucd_time" ] && [ "$((`date +%s`-$cpucd_time))" -ge "3300" ] ;then - unset cpucd_time - fi - fi -} - -function cputop(){ - [ -z "$1" ] && content="${content}${markdown_splitline}#### 当前 CPU 占用前三的进程" - local i=1 && local top_i=5 && `top -bn 1 > ${dir}top` >/dev/null 2>&1 - while [ $i -le 3 ]; do - if ( ! cat ${dir}top|awk 'NR=='${top_i}|grep -q "top -bn 1" ); then - local top_name=`cat ${dir}top|awk 'NR=='${top_i}|awk '{print $8}'`;[ "$top_name" == "/bin/sh" ] || [ "$top_name" == "/bin/bash" ] && local top_name=`cat ${dir}top|awk 'NR=='${top_i}|awk '{print $9}'` - local top_load=`cat ${dir}top|awk 'NR=='${top_i}|awk '{print $7}'` - local temp_top="${top_name} ${top_load}" - [ ! -z "$1" ] && local logtop="$logtop $temp_top" - [ -z "$1" ] && content="${content}${markdown_linefeed}${markdown_tab}${temp_top}25" - local i=`expr ${i} + 1` - fi - local top_i=`expr ${top_i} + 1` - done - [ ! -z "$1" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!警报!!】 CPU 占用前三: ${logtop}" >> ${logfile} - rm -f ${dir}top >/dev/null 2>&1 -} - -# 发送定时数据 -function send(){ - echo "`date "+%Y-%m-%d %H:%M:%S"` 【定时数据】创建定时任务" >> ${logfile} - serverchan_disturb;local send_disturb=$? - get_config "send_title" "router_status" "client_list" "router_temp" "router_wan" - - [ -z "$send_title" ] && local send_title="路由状态:" - [ ! -z "$client_list" ] && [ "$client_list" -eq "1" ] && > ${dir}send_enable.lock && serverchan_first & - - if [ ! -z "$router_status" ] && [ "$router_status" -eq "1" ]; then - local systemload=`cat /proc/loadavg|awk '{print $1" "$2" "$3}'` - local cpuload=`getcpu` - local ramload=`free -m|sed -n '2p'|awk '{printf "%.2f%%\n",($3/$2)*100}'` - local systemstatustime=`cat /proc/uptime|awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("运行时间:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'`;unset run_days run_hour run_minute run_second - local send_content="${send_content}${markdown_splitline}#### 系统运行状态" - local send_content="${send_content}${markdown_linefeed}${markdown_tab}平均负载:${systemload}" - local send_content="${send_content}${markdown_linefeed}${markdown_tab}CPU占用:${cpuload}25" - local send_content="${send_content}${markdown_linefeed}${markdown_tab}内存占用:${ramload}25" - local send_content="${send_content}${markdown_linefeed}${markdown_tab}${systemstatustime}" - fi - - [ ! -z "$router_temp" ] && [ "$router_temp" -eq "1" ] && local cputemp=`soc_temp` && local send_content="${send_content}${markdown_splitline}#### 设备温度${markdown_linefeed}${markdown_tab}CPU:${cputemp}%e2%84%83" #%e2%84%83="℃" - - if [ ! -z "$router_wan" ] && [ "$router_wan" -eq "1" ]; then - local send_wanIP=`getip wanipv4`;local send_hostIP=`getip hostipv4` - local send_content="${send_content}${markdown_splitline}#### WAN 口信息${markdown_linefeed}${markdown_tab}接口ip:${send_wanIP}" - local send_content="${send_content}${markdown_linefeed}${markdown_tab}外网ip:${send_hostIP}" - if [ ! -z "$serverchan_ipv6" ] && [ "$serverchan_ipv6" -ne "0" ]; then - local send_wanIPv6=`getip wanipv6`;local send_hostIPv6=`getip hostipv6` - local send_content="${send_content}${markdown_linefeed}${markdown_tab}ipv6 :${send_wanIPv6}" - local send_content="${send_content}${markdown_linefeed}${markdown_tab}外网v6:${send_hostIPv6}" - fi - ( ! echo "$send_wanIP"|grep -q -w ${send_hostIP} ) && local send_content="${send_content}${markdown_linefeed}${markdown_tab}外网 ip 与接口 ip 不一致,你的 ip 不是公网 ip" - local interfaceuptime=`getinterfaceuptime` - [ ! -z "$interfaceuptime" ] && local wanstatustime=`getinterfaceuptime|awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("在线时间:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'` && unset run_days run_hour run_minute run_second - local send_content="${send_content}${markdown_linefeed}${markdown_tab}${wanstatustime}" - fi - - if [ ! -z "$client_list" ] && [ "$client_list" -eq "1" ]; then - wait - local IPLIST=`cat ${dir}ipAddress 2>/dev/null|awk '{print $1}'` - [ -z "$IPLIST" ] && local send_content="${send_content}${markdown_splitline}#### 当前无在线设备" || local send_content="${send_content}${markdown_splitline}#### 在线设备" - for ip in $IPLIST; do - local time_up=`cat ${dir}ipAddress|grep -w ${ip}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` - local time1=`date +%s` - local time1=$(time_for_humans `expr ${time1} - ${time_up}`) - local ip_mac=`getmac ${ip}` - local ip_name=`getname ${ip} ${ip_mac}` - local ip_total=`usage get ${ip_mac}`;[ ! -z "$ip_total" ] && local ip_total="总计流量:${ip_total} " - local ip_name=`cut_str $ip_name 18` - local send_content="${send_content}${markdown_linefeed}${markdown_tab}【${ip_name}】 ${ip}${markdown_linefeed}${markdown_tab}${ip_total}在线 ${time1}" - unset ip_total time_down time_up time1 ip_mac ip_name - done - fi - [ ! -z "$device_name" ] && local send_title="【$device_name】${send_title}" - local send_title=`echo "$send_title"|sed $'s/\ /%20/g'|sed $'s/\"/%22/g'|sed $'s/\#/%23/g'|sed $'s/\&/%26/g'|sed $'s/\,/%2C/g'|sed $'s/\//%2F/g'|sed $'s/\:/%3A/g'|sed $'s/\;/%3B/g'|sed $'s/\=/%3D/g'|sed $'s/\@/%40/g'` - [ -z "$send_content" ] && local send_content="${markdown_splitline}#### 我遇到了一个难题${markdown_linefeed}${markdown_tab}定时发送选项错误,你没有选择需要发送的项目,该怎么办呢${markdown_splitline}" - local nowtime=`date "+%Y-%m-%d %H:%M:%S"` - [ "$send_disturb" -eq "0" ] && [ ! -z "$sckey" ] && curl -s "${sckey_url}?text=${send_title}" -d "&desp=${nowtime}${markdown_linefeed}${send_content}" >/dev/null 2>&1 - [ "$send_disturb" -eq "0" ] && [ ! -z "$tg_token" ] && curl -s "https://api.telegram.org/bot${tg_token}/sendMessage" -d "chat_id=${chat_id}&text=${send_title}${nowtime}${send_content}" >/dev/null 2>&1 - deltemp - echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}定时推送任务完成" >> ${logfile} -} - -# 初始化 -read_config -deltemp -serverchan_cron - -# 限制并发进程 -[ -z "$thread_num" ] || [ "$thread_num" -eq "0" ] && thread_num=5 -[ -e ${dir}fd1 ] || mkfifo ${dir}fd1 -exec 5<>${dir}fd1 -rm -f ${dir}fd1 >/dev/null 2>&1 -for i in `seq 1 $thread_num`; do - echo >&5 -done -unset i - -# 启动参数 -if [ "$1" ] ;then - [ $1 == "send" ] && send - [ $1 == "soc" ] && echo `soc_temp` > ${dir}soc_tmp - [ $1 == "client" ] && get_client - exit -fi - -# 载入在线设备 -serverchan_init;[ $? -eq 1 ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】读取设置出错,请检查设置项 " >> ${logfile} && exit -echo "`date "+%Y-%m-%d %H:%M:%S"` 【初始化】载入在线设备" >> ${logfile} -> ${dir}send_enable.lock && serverchan_first && deltemp -echo "`date "+%Y-%m-%d %H:%M:%S"` 【初始化】初始化完成" >> ${logfile} - -# 循环 -while [ "$serverchan_enable" -eq "1" ]; do - deltemp - usage update - serverchan_disturb;disturb=$? - - # 外网IP变化检测 - if [ ! -z "$serverchan_ipv4" ] && [ ! -z "$serverchan_ipv6" ] && [ "$serverchan_ipv4" -ne "0" ] || [ "$serverchan_ipv6" -ne "0" ]; then - rand_geturl - ip_changes - fi - - # 设备列表 - if [ ! -f "${dir}send_enable.lock" ]; then - [ ! -z "$title" ] && echo "$title" > ${dir}title - [ ! -z "$content" ] && echo "$content" > ${dir}content - serverchan_first - [ -f "${dir}title" ] && title=`cat ${dir}title` && rm -f ${dir}title >/dev/null 2>&1 - [ -f "${dir}content" ] && content=`cat ${dir}content` && rm -f ${dir}content >/dev/null 2>&1 - fi - - # 离线缓存区推送 - [ ! -f "${dir}send_enable.lock" ] && down_send - - # 当前设备列表 - [ ! -z "$content" ] && [ ! -f "${dir}send_enable.lock" ] && current_device - - # 无人值守任务 - [ ! -f "${dir}send_enable.lock" ] && unattended - - # CPU 检测 - [ ! -f "${dir}send_enable.lock" ] && cpu_load - - # 异常流量检测 - [ ! -f "${dir}send_enable.lock" ] && get_client_usage - - if [ ! -f "${dir}send_enable.lock" ] && [ ! -z "$title" ] && [ ! -z "$content" ]; then - nowtime=`date "+%Y-%m-%d %H:%M:%S"` - [ ! -z "$device_name" ] && title="【$device_name】$title" - title=`echo "$title"|sed $'s/\ /%20/g'|sed $'s/\"/%22/g'|sed $'s/\#/%23/g'|sed $'s/\&/%26/g'|sed $'s/\,/%2C/g'|sed $'s/\//%2F/g'|sed $'s/\:/%3A/g'|sed $'s/\;/%3B/g'|sed $'s/\=/%3D/g'|sed $'s/\@/%40/g'` - [ "$disturb" -eq "0" ] && [ ! -z "$sckey" ] && curl -s "${sckey_url}?text=${title}" -d "desp=${nowtime}${markdown_linefeed}${content}" >/dev/null 2>&1 - [ "$disturb" -eq "0" ] && [ ! -z "$tg_token" ] && curl -s "https://api.telegram.org/bot${tg_token}/sendMessage" -d "chat_id=${chat_id}&text=${title}${nowtime}${content}" >/dev/null 2>&1 - - fi - - while [ -f "${dir}send_enable.lock" ]; do - sleep $sleeptime - done - sleep $sleeptime -done - diff --git a/package/ctcgfw/luci-app-serverchan/root/usr/share/rpcd/acl.d/luci-app-serverchan.json b/package/ctcgfw/luci-app-serverchan/root/usr/share/rpcd/acl.d/luci-app-serverchan.json deleted file mode 100644 index 200ccd56ff..0000000000 --- a/package/ctcgfw/luci-app-serverchan/root/usr/share/rpcd/acl.d/luci-app-serverchan.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-serverchan": { - "description": "Grant UCI access for luci-app-serverchan", - "read": { - "uci": [ "serverchan" ] - }, - "write": { - "uci": [ "serverchan" ] - } - } -} diff --git a/package/ctcgfw/luci-app-smstool/Makefile b/package/ctcgfw/luci-app-smstool/Makefile deleted file mode 100644 index 81b828d6ac..0000000000 --- a/package/ctcgfw/luci-app-smstool/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=SMS Tool for 3G Modem -LUCI_DESCRIPTION:=This package contains sms tool for 3G Modem -LUCI_PKGARCH:=all - -PKG_NAME:=luci-app-smstool -PKG_VERSION:=1.0 -PKG_RELEASE:=2 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature - diff --git a/package/ctcgfw/luci-app-smstool/luasrc/controller/sms.lua b/package/ctcgfw/luci-app-smstool/luasrc/controller/sms.lua deleted file mode 100644 index 0fd60cf882..0000000000 --- a/package/ctcgfw/luci-app-smstool/luasrc/controller/sms.lua +++ /dev/null @@ -1,10 +0,0 @@ -module("luci.controller.sms", package.seeall) - -function index() - entry({"admin", "status", "sms"}, template("sms"), _("SMS Tool"), 100) -end - -function action_sms() - luci.template.render("sms") -end - diff --git a/package/ctcgfw/luci-app-smstool/luasrc/view/sms.htm b/package/ctcgfw/luci-app-smstool/luasrc/view/sms.htm deleted file mode 100644 index 932d1601fb..0000000000 --- a/package/ctcgfw/luci-app-smstool/luasrc/view/sms.htm +++ /dev/null @@ -1,14 +0,0 @@ -<% - require "luci.util" - local sms = luci.util.exec("sms_tool recv") - local signal_strength = luci.util.exec("sms_tool status") --%> - -<%+header%> -

    <%:SMS%>

    -Signal : <%=signal_strength:pcdata()%>
    -
    - -
    -<%+footer%> - diff --git a/package/ctcgfw/luci-app-ssocks/Makefile b/package/ctcgfw/luci-app-ssocks/Makefile deleted file mode 100644 index ba721b5a25..0000000000 --- a/package/ctcgfw/luci-app-ssocks/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is a free software, use it under GNU General Public License v3.0. -# -# Created By ImmortalWrt -# https://github.com/project-openwrt - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI support for sSocks -LUCI_DEPENDS:=+busybox +iptables +ssocksd -LUCI_PKGARCH:=all -PKG_NAME:=luci-app-ssocks -PKG_VERSION:=1.0 -PKG_RELEASE:=1 - -PKG_MAINTAINER:=ImmortalWrt - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-ssocks/luasrc/controller/ssocks.lua b/package/ctcgfw/luci-app-ssocks/luasrc/controller/ssocks.lua deleted file mode 100644 index 8af4b2a41f..0000000000 --- a/package/ctcgfw/luci-app-ssocks/luasrc/controller/ssocks.lua +++ /dev/null @@ -1,23 +0,0 @@ --- This is a free software, use it under GNU General Public License v3.0. --- Created By ImmortalWrt --- https://github.com/immortalwrt - -module("luci.controller.ssocks", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/ssocks") then - return - end - local page - page = entry({"admin", "services", "ssocks"}, cbi("ssocks"), _("sSocks Server"), 100) - page.i18n = "ssocks" - page.dependent = true - entry({"admin", "services", "ssocks", "status"},call("act_status")).leaf=true -end - -function act_status() - local e={} - e.running=luci.sys.call("ps |grep ssocks |grep -v grep >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua b/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua deleted file mode 100644 index 3ff85a778b..0000000000 --- a/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua +++ /dev/null @@ -1,45 +0,0 @@ --- This is a free software, use it under GNU General Public License v3.0. --- Created By ImmortalWrt --- https://github.com/immortalwrt - -mp = Map("ssocks", translate("sSocks Server")) -mp.description = translate("sSocks Server is a simple, small, and easy-to-use Socks5 server program, but supports TCP on IPv4 only.") - -mp:section(SimpleSection).template = "ssocks/ssocks_status" - -s = mp:section(TypedSection, "ssocks") -s.anonymous=true -s.addremove=false - -enable = s:option(Flag, "enable", translate("Enable")) -enable.default = 0 -enable.rmempty = false - -bind_addr = s:option(ListValue, "bind_addr", translate("Bind Address")) -bind_addr:value("lan", translate("LAN")) -bind_addr:value("wan", translate("WAN")) -bind_addr.description = translate("The address that sSocks Server binded.") -bind_addr.default = "wan" -bind_addr.rmempty = false - -listen_port = s:option(Value, "listen_port", translate("Listen Port")) -listen_port.description = translate("The port that sSocks Server listened at, don't reuse the port with other program.") -listen_port.placeholder = "10800" -listen_port.default = "10800" -listen_port.datatype = "port" -listen_port.rmempty = false - -username = s:option(Value, "username", translate("Username")) -username.description = translate("The authorization username, leave blank to deauthorize.") -username.placeholder = "Username" -username.default = "ctcgfw" -username.datatype = "string" - -password = s:option(Value, "password", translate("Password")) -password.description = translate("The authorization password, leave blank to deauthorize.") -password.placeholder = "Password" -password.default = "password" -password.datatype = "string" -password.password = true - -return mp diff --git a/package/ctcgfw/luci-app-ssocks/luasrc/view/ssocks/ssocks_status.htm b/package/ctcgfw/luci-app-ssocks/luasrc/view/ssocks/ssocks_status.htm deleted file mode 100644 index 6c319de5db..0000000000 --- a/package/ctcgfw/luci-app-ssocks/luasrc/view/ssocks/ssocks_status.htm +++ /dev/null @@ -1,22 +0,0 @@ - - -
    -

    - <%:Collecting data...%> -

    -
    diff --git a/package/ctcgfw/luci-app-ssocks/po/zh_Hans/ssocks.po b/package/ctcgfw/luci-app-ssocks/po/zh_Hans/ssocks.po deleted file mode 100644 index 0d0f380d90..0000000000 --- a/package/ctcgfw/luci-app-ssocks/po/zh_Hans/ssocks.po +++ /dev/null @@ -1,83 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh_Hans\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:18 -msgid "Bind Address" -msgstr "绑定地址" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/view/ssocks/ssocks_status.htm:20 -msgid "Collecting data..." -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:14 -msgid "Enable" -msgstr "启用" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:19 -msgid "LAN" -msgstr "局域网" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:25 -msgid "Listen Port" -msgstr "监听端口" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/view/ssocks/ssocks_status.htm:10 -msgid "NOT RUNNING" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:38 -msgid "Password" -msgstr "密码" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/view/ssocks/ssocks_status.htm:7 -msgid "RUNNING" -msgstr "" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:21 -msgid "The address that sSocks Server binded." -msgstr "sSocks服务端所绑定的地址。" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:39 -msgid "The authorization password, leave blank to deauthorize." -msgstr "连接密码,留空以取消身份验证。" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:33 -msgid "The authorization username, leave blank to deauthorize." -msgstr "连接用户名,留空以取消身份验证。" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:26 -msgid "" -"The port that sSocks Server listened at, don't reuse the port with other " -"program." -msgstr "sSocks服务端所监听的端口,不可与其他程序共用一个端口。" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:32 -msgid "Username" -msgstr "用户名" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:20 -msgid "WAN" -msgstr "广域网" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/controller/ssocks.lua:12 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:5 -msgid "sSocks Server" -msgstr "sSocks服务端" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua:6 -msgid "" -"sSocks Server is a simple, small, and easy-to-use Socks5 server program, but " -"supports TCP on IPv4 only." -msgstr "" -"sSocks服务端是一个简单、小巧且易于使用的Socks5服务器程序,但它仅支持IPv4上的" -"TCP协议。" - -#~ msgid "Base Setting" -#~ msgstr "基本设置" diff --git a/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks b/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks deleted file mode 100644 index b891e9bfc4..0000000000 --- a/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks +++ /dev/null @@ -1,7 +0,0 @@ - -config ssocks - option enable '0' - option bind_addr 'wan' - option listen_port '10800' - option username 'ctcgfw' - option password 'password' diff --git a/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks-authorization b/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks-authorization deleted file mode 100644 index 8aea68e7ed..0000000000 --- a/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks-authorization +++ /dev/null @@ -1 +0,0 @@ -ctcgfw:password \ No newline at end of file diff --git a/package/ctcgfw/luci-app-ssocks/root/etc/init.d/ssocks b/package/ctcgfw/luci-app-ssocks/root/etc/init.d/ssocks deleted file mode 100755 index 4a20b65c72..0000000000 --- a/package/ctcgfw/luci-app-ssocks/root/etc/init.d/ssocks +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh /etc/rc.common -# Created By ImmortalWrt -# https://github.com/immortalwrt - -START=99 -STOP=10 - -enable="$(uci get ssocks.@ssocks[0].enable)" -bind_addr="$(uci get ssocks.@ssocks[0].bind_addr)" -listen_port="$(uci get ssocks.@ssocks[0].listen_port)" -username="$(uci get ssocks.@ssocks[0].username)" -password="$(uci get ssocks.@ssocks[0].password)" -lan_addr="$(uci get network.lan.ipaddr)" - -start() -{ - stop - [ "${enable}" -eq "0" ] && exit 0 - - mkdir -p "/tmp/" - mkdir -p "/var/etc/" - [ "${bind_addr}" == "lan" ] && bind_address="${lan_addr}" || bind_address="0.0.0.0" - if [ -n "${username}" ] && [ -n "${password}" ]; then - rm -f /etc/config/ssocks-authorization - echo "${username}:${password}" > /etc/config/ssocks-authorization - auth_arg="--auth /etc/config/ssocks-authorization" - fi - /usr/bin/ssocksd --port "${listen_port}" --bind "${bind_address}" ${auth_arg} >/dev/null 2>&1 & - iptables -I INPUT -p tcp --dport "${listen_port}" -j ACCEPT - cat <<-EOF > "/var/etc/ssocks.include" -iptables -I INPUT -p tcp --dport "${listen_port}" -j ACCEPT - EOF -} - -stop() -{ - killall -9 ssocksd >/dev/null 2>&1 - rm -f "/etc/config/ssocks-authorization" - rm -f "/var/etc/ssocks.include" -} diff --git a/package/ctcgfw/luci-app-ssocks/root/etc/uci-defaults/ssocks b/package/ctcgfw/luci-app-ssocks/root/etc/uci-defaults/ssocks deleted file mode 100755 index 30222805b0..0000000000 --- a/package/ctcgfw/luci-app-ssocks/root/etc/uci-defaults/ssocks +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@ssocks[-1] - add ucitrack ssocks - set ucitrack.@ssocks[-1].init=ssocks - commit ucitrack - delete firewall.ssocks - set firewall.ssocks=include - set firewall.ssocks.type=script - set firewall.ssocks.path=/var/etc/ssocks.include - set firewall.ssocks.reload=1 - commit firewall -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-ssocks/root/usr/share/rpcd/acl.d/luci-app-ssocks.json b/package/ctcgfw/luci-app-ssocks/root/usr/share/rpcd/acl.d/luci-app-ssocks.json deleted file mode 100644 index 8d5cd46e91..0000000000 --- a/package/ctcgfw/luci-app-ssocks/root/usr/share/rpcd/acl.d/luci-app-ssocks.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-ssocks": { - "description": "Grant UCI access for luci-app-ssocks", - "read": { - "uci": [ "ssocks" ] - }, - "write": { - "uci": [ "ssocks" ] - } - } -} diff --git a/package/ctcgfw/luci-app-syncthing/Makefile b/package/ctcgfw/luci-app-syncthing/Makefile deleted file mode 100644 index 90985e501b..0000000000 --- a/package/ctcgfw/luci-app-syncthing/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI support for syncthing -LUCI_DEPENDS:=+syncthing -LUCI_PKGARCH:=all -PKG_VERSION:=1.0 -PKG_RELEASE:=2 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature - diff --git a/package/ctcgfw/luci-app-syncthing/luasrc/controller/syncthing.lua b/package/ctcgfw/luci-app-syncthing/luasrc/controller/syncthing.lua deleted file mode 100644 index 877adb0e07..0000000000 --- a/package/ctcgfw/luci-app-syncthing/luasrc/controller/syncthing.lua +++ /dev/null @@ -1,18 +0,0 @@ - -module("luci.controller.syncthing", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/syncthing") then - return - end - - entry({"admin", "nas", "syncthing"}, cbi("syncthing"), _("Syncthing"), 10).dependent = true - entry({"admin","nas","syncthing","status"},call("act_status")).leaf=true -end - -function act_status() - local e={} - e.running=luci.sys.call("pgrep syncthing >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-syncthing/luasrc/model/cbi/syncthing.lua b/package/ctcgfw/luci-app-syncthing/luasrc/model/cbi/syncthing.lua deleted file mode 100644 index a85c101f76..0000000000 --- a/package/ctcgfw/luci-app-syncthing/luasrc/model/cbi/syncthing.lua +++ /dev/null @@ -1,19 +0,0 @@ --- Copyright 2008 Yanira --- Licensed to the public under the Apache License 2.0. - -require("nixio.fs") - -m = Map("syncthing", translate("SyncThing Synchronization Tool")) - -m:section(SimpleSection).template = "syncthing/syncthing_status" - -s = m:section(TypedSection, "setting", translate("Settings")) -s.anonymous = true - -s:option(Flag, "enabled", translate("Enable")) - -s:option(Value, "port", translate("port")).default = 8384 -s.rmempty = true - - -return m diff --git a/package/ctcgfw/luci-app-syncthing/luasrc/view/syncthing/syncthing_status.htm b/package/ctcgfw/luci-app-syncthing/luasrc/view/syncthing/syncthing_status.htm deleted file mode 100644 index bf52579b51..0000000000 --- a/package/ctcgfw/luci-app-syncthing/luasrc/view/syncthing/syncthing_status.htm +++ /dev/null @@ -1,27 +0,0 @@ - - -
    -

    - <%:Collecting data...%> -

    -
    diff --git a/package/ctcgfw/luci-app-syncthing/po/zh_Hans/syncthing.po b/package/ctcgfw/luci-app-syncthing/po/zh_Hans/syncthing.po deleted file mode 100644 index 2ca4381771..0000000000 --- a/package/ctcgfw/luci-app-syncthing/po/zh_Hans/syncthing.po +++ /dev/null @@ -1,8 +0,0 @@ -msgid "Syncthing" -msgstr "储存同步" - -msgid "SyncThing Synchronization Tool" -msgstr "syncthing同步工具" - -msgid "Open Web Interface" -msgstr "打开管理页面" diff --git a/package/ctcgfw/luci-app-syncthing/root/etc/config/syncthing b/package/ctcgfw/luci-app-syncthing/root/etc/config/syncthing deleted file mode 100644 index 8aa906951f..0000000000 --- a/package/ctcgfw/luci-app-syncthing/root/etc/config/syncthing +++ /dev/null @@ -1,4 +0,0 @@ - -config setting 'config' - option enabled '0' - option port '8384' diff --git a/package/ctcgfw/luci-app-syncthing/root/etc/init.d/syncthing b/package/ctcgfw/luci-app-syncthing/root/etc/init.d/syncthing deleted file mode 100755 index e43569dad8..0000000000 --- a/package/ctcgfw/luci-app-syncthing/root/etc/init.d/syncthing +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh /etc/rc.common -START=50 - -run_syncthing() -{ - local enabled - config_get_bool enabled $1 enabled - if [ $enabled = 1 ]; then - local port - config_get port $1 port - state=`pgrep syncthing | wc -l` - if [ $state = 0 ] ; then - export HOME="/root" - syncthing -gui-address="0.0.0.0:$port" -logfile="/var/log/syncthing.log" -no-browser >/dev/null & - echo "启动中..." - start=`pgrep syncthing | wc -l` - if [ $start = 0 ] ; then - echo "启动失败" - else - echo "启动成功" - fi - else - echo "已在运行" - fi - fi -} - -start() -{ - config_load syncthing - config_foreach run_syncthing setting -} - -stop() -{ - kill -9 `pgrep syncthing` - stop=`pgrep syncthing | wc -l` - if [ $stop = 0 ] ; then - echo "已停止运行" - else - echo "未停止运行" - fi -} diff --git a/package/ctcgfw/luci-app-syncthing/root/etc/uci-defaults/luci-syncthing b/package/ctcgfw/luci-app-syncthing/root/etc/uci-defaults/luci-syncthing deleted file mode 100755 index fe2f1f19b2..0000000000 --- a/package/ctcgfw/luci-app-syncthing/root/etc/uci-defaults/luci-syncthing +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -touch /etc/config/syncthing - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@syncthing[-1] - add ucitrack syncthing - set ucitrack.@syncthing[-1].exec='/etc/init.d/syncthing restart' - commit ucitrack -EOF -# remove LuCI cache -rm -f /tmp/luci* -exit 0 diff --git a/package/ctcgfw/luci-app-syncthing/root/usr/share/rpcd/acl.d/luci-app-syncthing.json b/package/ctcgfw/luci-app-syncthing/root/usr/share/rpcd/acl.d/luci-app-syncthing.json deleted file mode 100644 index 9fc9cc5490..0000000000 --- a/package/ctcgfw/luci-app-syncthing/root/usr/share/rpcd/acl.d/luci-app-syncthing.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-syncthing": { - "description": "Grant UCI access for luci-app-syncthing", - "read": { - "uci": [ "syncthing" ] - }, - "write": { - "uci": [ "syncthing" ] - } - } -} diff --git a/package/ctcgfw/luci-app-turboacc/Makefile b/package/ctcgfw/luci-app-turboacc/Makefile deleted file mode 100644 index 7e07b87fee..0000000000 --- a/package/ctcgfw/luci-app-turboacc/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-turboacc -PKG_VERSION:=1.0 -PKG_RELEASE:=2 - -PKG_LICENSE:=GPLv3.0+ - -LUCI_TITLE:=LuCI support for Flow Offload / Shortcut-FE -LUCI_DEPENDS:=+pdnsd-alt \ - +PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe:kmod-fast-classifier \ - +PACKAGE_$(PKG_NAME)_INCLUDE_flow-offload:kmod-ipt-offload \ - +PACKAGE_$(PKG_NAME)_INCLUDE_bbr-cca:kmod-tcp-bbr \ - +PACKAGE_$(PKG_NAME)_INCLUDE_dnsforwarder:dnsforwarder -LUCI_PKGARCH:=all - -define Package/$(PKG_NAME)/config -config PACKAGE_$(PKG_NAME)_INCLUDE_flow-offload - bool "Include Flow Offload" - depends on PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe=n - default y - -config PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe - bool "Include Shortcut-FE" - default n - -config PACKAGE_$(PKG_NAME)_INCLUDE_bbr-cca - bool "Include BBR CCA" - default y - -config PACKAGE_$(PKG_NAME)_INCLUDE_dnsforwarder - bool "Include DNSForwarder" - default n -endef - -PKG_CONFIG_DEPENDS:= \ - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe \ - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_flow-offload \ - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_bbr-cca \ - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_dnsforwarder - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-turboacc/luasrc/controller/turboacc.lua b/package/ctcgfw/luci-app-turboacc/luasrc/controller/turboacc.lua deleted file mode 100644 index 1a43b74659..0000000000 --- a/package/ctcgfw/luci-app-turboacc/luasrc/controller/turboacc.lua +++ /dev/null @@ -1,40 +0,0 @@ -module("luci.controller.turboacc", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/turboacc") then - return - end - local page - page = entry({"admin", "network", "turboacc"}, cbi("turboacc"), _("Turbo ACC Center"), 101) - page.i18n = "turboacc" - page.dependent = true - page.acl_depends = { "luci-app-turboacc" } - - entry({"admin", "network", "turboacc", "status"}, call("action_status")) -end - -local function fastpath_status() - return luci.sys.call("{ [ -e /sys/module/xt_FLOWOFFLOAD/refcnt ] && [ x$(cat /sys/module/xt_FLOWOFFLOAD/refcnt 2>/dev/null) != x0 ]; } || lsmod | grep -q fast_classifier") == 0 -end - -local function bbr_status() - return luci.sys.call("[ x$(cat /proc/sys/net/ipv4/tcp_congestion_control 2>/dev/null) = xbbr ]") == 0 -end - -local function fullconebat_status() - return luci.sys.call("[ -e /sys/module/xt_FULLCONENAT/refcnt ] && [ x$(cat /sys/module/xt_FULLCONENAT/refcnt 2>/dev/null) != x0 ]") == 0 -end - -local function dnscaching_status() - return luci.sys.call("pgrep dnscache >/dev/null") == 0 -end - -function action_status() - luci.http.prepare_content("application/json") - luci.http.write_json({ - fastpath_state = fastpath_status(), - bbr_state = bbr_status(), - fullconenat_state = fullconebat_status(), - dnscaching_state = dnscaching_status() - }) -end diff --git a/package/ctcgfw/luci-app-turboacc/luasrc/model/cbi/turboacc.lua b/package/ctcgfw/luci-app-turboacc/luasrc/model/cbi/turboacc.lua deleted file mode 100644 index 12892733a1..0000000000 --- a/package/ctcgfw/luci-app-turboacc/luasrc/model/cbi/turboacc.lua +++ /dev/null @@ -1,87 +0,0 @@ -local kernel_version = luci.sys.exec("echo -n $(uname -r)") - -m = Map("turboacc") -m.title = translate("Turbo ACC Acceleration Settings") -m.description = translate("Opensource Flow Offloading driver (Fast Path or Hardware NAT)") - -m:append(Template("turboacc/status")) - -s = m:section(TypedSection, "turboacc", "") -s.addremove = false -s.anonymous = true - -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/xt_FLOWOFFLOAD.ko") then -sw_flow = s:option(Flag, "sw_flow", translate("Software flow offloading")) -sw_flow.default = 0 -sw_flow.description = translate("Software based offloading for routing/NAT") -sw_flow:depends("sfe_flow", 0) -end - -if luci.sys.call("cat /proc/cpuinfo | grep -q MT76") == 0 then -hw_flow = s:option(Flag, "hw_flow", translate("Hardware flow offloading")) -hw_flow.default = 0 -hw_flow.description = translate("Requires hardware NAT support. Implemented at least for mt76xx") -hw_flow:depends("sw_flow", 1) -end - -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/fast-classifier.ko") then -sfe_flow = s:option(Flag, "sfe_flow", translate("Shortcut-FE flow offloading")) -sfe_flow.default = 0 -sfe_flow.description = translate("Shortcut-FE based offloading for routing/NAT") -sfe_flow:depends("sw_flow", 0) -end - -sfe_bridge = s:option(Flag, "sfe_bridge", translate("Bridge Acceleration")) -sfe_bridge.default = 0 -sfe_bridge.description = translate("Enable Bridge Acceleration (may be functional conflict with bridge-mode VPN server)") -sfe_bridge:depends("sfe_flow", 1) - -if nixio.fs.access("/proc/sys/net/ipv6") then -sfe_ipv6 = s:option(Flag, "sfe_ipv6", translate("IPv6 Acceleration")) -sfe_ipv6.default = 0 -sfe_ipv6.description = translate("Enable IPv6 Acceleration") -sfe_ipv6:depends("sfe_flow", 1) -end - -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/tcp_bbr.ko") then -bbr_cca = s:option(Flag, "bbr_cca", translate("BBR CCA")) -bbr_cca.default = 0 -bbr_cca.description = translate("Using BBR CCA can improve TCP network performance effectively") -end - -if nixio.fs.access("/lib/modules/" .. kernel_version .. "/xt_FULLCONENAT.ko") then -fullcone_nat = s:option(Flag, "fullcone_nat", translate("FullCone NAT")) -fullcone_nat.default = 0 -fullcone_nat.description = translate("Using FullCone NAT can improve gaming performance effectively") -end - -dns_acc = s:option(Flag, "dns_acc", translate("DNS Acceleration")) -dns_acc.default = 0 -dns_acc.rmempty = false -dns_acc.description = translate("Using optimized DNS records for GoogleHosts (Don't use under Clash Fake-IP mode)") - -dns_caching = s:option(Flag, "dns_caching", translate("DNS Caching")) -dns_caching.default = 0 -dns_caching.rmempty = false -dns_caching.description = translate("Enable DNS Caching and anti ISP DNS pollution") - -dns_caching_mode = s:option(ListValue, "dns_caching_mode", translate("Resolve DNS Mode"), translate("Only PDNSD and DNSForwarder is supported now")) -dns_caching_mode:value("1", translate("Using PDNSD to query and cache")) -if nixio.fs.access("/usr/bin/dnsforwarder") then -dns_caching_mode:value("2", translate("Using DNSForwarder to query and cache")) -end -dns_caching_mode.default = 1 -dns_caching_mode:depends("dns_caching", 1) - -dns_caching_v4_dns = s:option(Value, "dns_caching_v4_dns", translate("Upsteam IPv4 DNS Server")) -dns_caching_v4_dns.default = "114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8" -dns_caching_v4_dns.description = translate("Muitiple IPv4 DNS server can saperate with ','") -dns_caching_v4_dns:depends("dns_caching_mode", 1) -dns_caching_v4_dns:depends("dns_caching_mode", 2) - -dns_caching_v6_dns = s:option(Value, "dns_caching_v6_dns", translate("Upsteam IPv6 DNS Server")) -dns_caching_v6_dns.default = "2001:4860:4860::8888,2001:4860:4860::8844,2001:2001::1111,2001:2001::1001,2400:da00::6666,240C::6666,240C::6644" -dns_caching_v6_dns.description = translate("Muitiple IPv6 DNS server can saperate with ','") -dns_caching_v6_dns:depends("dns_caching_mode", 2) - -return m diff --git a/package/ctcgfw/luci-app-turboacc/luasrc/view/turboacc/status.htm b/package/ctcgfw/luci-app-turboacc/luasrc/view/turboacc/status.htm deleted file mode 100644 index 9a834888d9..0000000000 --- a/package/ctcgfw/luci-app-turboacc/luasrc/view/turboacc/status.htm +++ /dev/null @@ -1,25 +0,0 @@ -
    - <%:Running Status%> - - - - - -
    <%:Flow Offloading%><%:Collecting data...%>
    <%:BBR CCA%><%:Collecting data...%>
    <%:FullCone NAT%><%:Collecting data...%>
    <%:DNS Caching%><%:Collecting data...%>
    -
    - - diff --git a/package/ctcgfw/luci-app-turboacc/po/zh_Hans/turboacc.po b/package/ctcgfw/luci-app-turboacc/po/zh_Hans/turboacc.po deleted file mode 100644 index 2b533be79e..0000000000 --- a/package/ctcgfw/luci-app-turboacc/po/zh_Hans/turboacc.po +++ /dev/null @@ -1,107 +0,0 @@ -msgid "Turbo ACC Center" -msgstr "Turbo ACC 网络加速" - -msgid "Turbo ACC Acceleration Settings" -msgstr "Turbo ACC 网络加速设置" - -msgid "Linux Flow Offload Forwarding Engine Settings" -msgstr "Linux Flow Offload Forwarding 转发加速引擎设置" - -msgid "Opensource Flow Offloading driver (Fast Path or Hardware NAT)" -msgstr "开源流量分载驱动 (支持 Fast Path 或者 硬件 NAT)" - -msgid "Software flow offloading" -msgstr "软件流量分载" - -msgid "Software based offloading for routing/NAT" -msgstr "基于软件的 Routing/NAT 分载" - -msgid "Hardware flow offloading" -msgstr "硬件流量分载" - -msgid "Requires hardware NAT support. Implemented at least for mt76xx" -msgstr "需要硬件 NAT 支持。目前 mt76xx 已实现" - -msgid "Shortcut-FE flow offloading" -msgstr "Shortcut-FE 流量分载" - -msgid "Shortcut-FE based offloading for routing/NAT" -msgstr "基于 Shortcut-FE 的 Routing/NAT 分载" - -msgid "Bridge Acceleration" -msgstr "桥接加速" - -msgid "Enable Bridge Acceleration (may be functional conflict with bridge-mode VPN server)" -msgstr "启用桥接加速 (可能会和路由器上桥接模式的VPN服务器冲突)" - -msgid "IPv6 Acceleration" -msgstr "IPv6 加速" - -msgid "Enable IPv6 Acceleration" -msgstr "启用 IPv6 加速" - -msgid "BBR CCA" -msgstr "BBR 拥塞控制算法" - -msgid "Using BBR CCA can improve TCP network performance effectively" -msgstr "使用 BBR 拥塞控制算法可以有效提升 TCP 网络性能" - -msgid "FullCone NAT" -msgstr "全锥形 NAT" - -msgid "Using FullCone NAT can improve gaming performance effectively" -msgstr "使用全锥形 NAT 可以有效提升游戏体验" - -msgid "DNS Acceleration" -msgstr "DNS 加速" - -msgid "Using optimized DNS records for GoogleHosts (Don't use under Clash Fake-IP mode)" -msgstr "使用来自 GoogleHosts 的优质 DNS 记录(请勿在 Clash Fake-IP 模式下使用)" - -msgid "DNS Caching" -msgstr "DNS 缓存" - -msgid "Enable DNS Caching and anti ISP DNS pollution" -msgstr "启用 DNS 多线程查询、缓存,并防止 ISP 的 DNS 广告和域名劫持" - -msgid "Resolve DNS Mode" -msgstr "DNS 解析方式" - -msgid "Only PDNSD and DNSForwarder is supported now" -msgstr "目前仅支持 PDNSD 和 DNSForwarder" - -msgid "Using PDNSD to query and cache" -msgstr "使用 PDNSD 解析" - -msgid "Using DNSForwarder to query and cache" -msgstr "使用 DNSForwarder 解析" - -msgid "Upsteam IPv4 DNS Server" -msgstr "上游 IPv4 DNS 服务器" - -msgid "Muitiple IPv4 DNS server can saperate with ','" -msgstr "多个上游 IPv4 DNS 服务器请用 ',' 分隔(注意用英文逗号)" - -msgid "Upsteam IPv6 DNS Server" -msgstr "上游 IPv6 DNS 服务器" - -msgid "Muitiple IPv6 DNS server can saperate with ','" -msgstr "多个上游 IPv6 DNS 服务器请用 ',' 分隔(注意用英文逗号)" - -msgid "Running Status" -msgstr "运行状态" - -msgid "Flow Offloading" -msgstr "流量分载" - -msgid "BBR CCA" -msgstr "BBR 拥塞控制算法" - -msgid "FullCone NAT" -msgstr "全锥型 NAT" - -msgid "DNS Caching" -msgstr "DNS 缓存" - -msgid "Open Web Interface" -msgstr "打开 Web 界面" diff --git a/package/ctcgfw/luci-app-turboacc/root/etc/config/turboacc b/package/ctcgfw/luci-app-turboacc/root/etc/config/turboacc deleted file mode 100644 index 067aad2763..0000000000 --- a/package/ctcgfw/luci-app-turboacc/root/etc/config/turboacc +++ /dev/null @@ -1,14 +0,0 @@ - -config turboacc 'config' - option sw_flow '1' - option hw_flow '1' - option sfe_flow '1' - option sfe_bridge '1' - option sfe_ipv6 '0' - option bbr_cca '1' - option fullcone_nat '1' - option dns_acc '0' - option dns_caching '0' - option dns_caching_mode '1' - option dns_caching_v4_dns '114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8' - option dns_caching_v6_dns '240c::6666,240c::6644,2001:da8::666,2001:da8:202:10::36,2001:da8:8000:1:202:120:2:100' diff --git a/package/ctcgfw/luci-app-turboacc/root/etc/init.d/turboacc b/package/ctcgfw/luci-app-turboacc/root/etc/init.d/turboacc deleted file mode 100755 index 3064f305cc..0000000000 --- a/package/ctcgfw/luci-app-turboacc/root/etc/init.d/turboacc +++ /dev/null @@ -1,295 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (c) 2011-2015 OpenWrt.org - -START=90 -STOP=10 - -restart_utils="true" - -inital_conf(){ - config_load "turboacc" - config_get "sw_flow" "config" "sw_flow" "0" - config_get "hw_flow" "config" "hw_flow" "0" - config_get "sfe_flow" "config" "sfe_flow" "0" - config_get "sfe_bridge" "config" "sfe_bridge" "0" - config_get "sfe_ipv6" "config" "sfe_ipv6" "0" - config_get "bbr_cca" "config" "bbr_cca" "0" - config_get "fullcone_nat" "config" "fullcone_nat" "0" - config_get "dns_acc" "config" "dns_acc" "0" - config_get "dns_caching" "config" "dns_caching" "0" - config_get "dns_caching_mode" "config" "dns_caching_mode" "0" - config_get "dns_caching_v4_dns" "config" "dns_caching_v4_dns" - config_get "dns_caching_v6_dns" "config" "dns_caching_v6_dns" - - [ ! -e "/lib/modules/$(uname -r)/xt_FLOWOFFLOAD.ko" ] && { sw_flow="0"; hw_flow="0"; } - [ ! -e "/lib/modules/$(uname -r)/fast-classifier.ko" ] && { sfe_flow="0"; sfe_bridge="0"; sfe_ipv6="0"; } - [ ! -e "/lib/modules/$(uname -r)/tcp_bbr.ko" ] && bbr_cca="0" - [ ! -e "/lib/modules/$(uname -r)/xt_FULLCONENAT.ko" ] && fullcone_nat="0" -} - -start_pdnsd() { - [ -d "/var/etc" ] || mkdir -p "/var/etc" - cat > "/var/etc/dnscache.conf" < "/var/dnscache/pdnsd.cache" - chown -R nobody.nogroup "/var/dnscache" - fi - - [ -d "/var/sbin" ] || mkdir -p "/var/sbin" && cp -a "/usr/sbin/pdnsd" "/var/sbin/dnscache" - /var/sbin/dnscache -c "/var/etc/dnscache.conf" & - echo "PDNSD: Start DNS Caching" -} - -start_dnsforwarder() { - mkdir -p "/var/run/dnscache" - cat > "/var/run/dnscache/dnscache.conf" <"/dev/null" - kill -9 $(ps | grep dnscache-while.sh | grep -v "grep" | awk '{print $1}') 2>"/dev/null" - rm -rf "/var/dnscache" "/var/run/dnscache" - echo "Stop DNS Caching" -} - -change_dns() { - uci -q delete dhcp.@dnsmasq[0].server - uci add_list dhcp.@dnsmasq[0].server="127.0.0.1#5333" - uci set dhcp.@dnsmasq[0].noresolv="1" - uci commit dhcp - -} - -revert_dns() { - uci -q del_list dhcp.@dnsmasq[0].server="127.0.0.1#5333" - uci set dhcp.@dnsmasq[0].resolvfile="/tmp/resolv.conf.d/resolv.conf.auto" - uci set dhcp.@dnsmasq[0].noresolv="0" - uci commit dhcp -} - -start(){ - inital_conf - - uci set firewall.@defaults[0].flow_offloading="${sw_flow}" - uci set firewall.@defaults[0].flow_offloading_hw="${hw_flow}" - uci set firewall.@defaults[0].fullcone="${fullcone_nat}" - uci commit firewall - - [ "${sw_flow}" -ne "1" ] && [ "${sfe_flow}" -eq "1" ] && { - lsmod | grep -q fast_classifier || modprobe fast_classifier 2>"/dev/null" - echo "${sfe_bridge}" > "/sys/fast_classifier/skip_to_bridge_ingress" 2>"/dev/null" - if [ "${sfe_ipv6}" -eq "1" ]; then - [ ! -e "/dev/sfe_ipv6" ] && mknod "/dev/sfe_ipv6" "c" "$(cat "/sys/sfe_ipv6/debug_dev")" "0" - else - rm -f "/dev/sfe_ipv6" - fi -} - - if [ "${bbr_cca}" -eq "1" ]; then - sysctl -w net.ipv4.tcp_congestion_control="bbr" - else - sysctl -w net.ipv4.tcp_congestion_control="cubic" - fi - - [ "${dns_acc}" -eq "1" ] && { - mkdir -p "/tmp/dnsmasq.d" - wget-ssl -q -t "20" -T "5" "https://cdn.jsdelivr.net/gh/googlehosts/hosts@master/hosts-files/dnsmasq.conf" -O "/tmp/dnsmasq.d/dnsmasq-googlehosts.conf" & -} - - if [ "${dns_caching}" -eq "1" ]; then - stop_dnscache - sleep 1 - rm -f "/var/log/dnscache.file" - if [ "${dns_caching_mode}" = "1" ]; then - start_pdnsd - elif [ "${dns_caching_mode}" = "2" ]; then - start_dnsforwarder - fi - change_dns - nohup "/usr/share/dnscache/dnscache-while.sh" > "/var/log/dnscache.file" 2>&1 & - else - stop_dnscache - revert_dns - fi - - if [ "${restart_utils}" = "true" ]; then - /etc/init.d/dnsmasq restart >/dev/null 2>&1 && echo "DNSMASQ change" - /etc/init.d/firewall restart >/dev/null 2>&1 - fi -} - -stop(){ - inital_conf - - uci set firewall.@defaults[0].flow_offloading="${sw_flow}" - uci set firewall.@defaults[0].flow_offloading_hw="${hw_flow}" - uci set firewall.@defaults[0].fullcone="${fullcone_nat}" - uci commit firewall - - [ "${sfe_flow}" -ne "1" ] && { - echo "0" > "/sys/fast_classifier/skip_to_bridge_ingress" 2>"/dev/null" - rm -f "/dev/sfe_ipv6" - rmmod "fast_classifier" 2>"/dev/null" -} - - [ "${dns_acc}" -eq "0" ] && rm -f "/tmp/dnsmasq.d/dnsmasq-googlehosts.conf" - - stop_dnscache - revert_dns - - if [ "${restart_utils}" = "true" ]; then - /etc/init.d/dnsmasq restart >/dev/null 2>&1 && echo "DNSMASQ revert" - /etc/init.d/firewall restart >/dev/null 2>&1 - fi -} - -restart(){ - restart_utils="false" - stop - start - /etc/init.d/dnsmasq restart >/dev/null 2>&1 && echo "DNSMASQ restart" - /etc/init.d/firewall restart >/dev/null 2>&1 -} diff --git a/package/ctcgfw/luci-app-turboacc/root/etc/uci-defaults/turboacc b/package/ctcgfw/luci-app-turboacc/root/etc/uci-defaults/turboacc deleted file mode 100755 index 37a556f42f..0000000000 --- a/package/ctcgfw/luci-app-turboacc/root/etc/uci-defaults/turboacc +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@turboacc[-1] - add ucitrack turboacc - set ucitrack.@turboacc[-1].init=turboacc - commit ucitrack -EOF - -exit 0 diff --git a/package/ctcgfw/luci-app-turboacc/root/usr/share/dnscache/dnscache-while.sh b/package/ctcgfw/luci-app-turboacc/root/usr/share/dnscache/dnscache-while.sh deleted file mode 100755 index f8952e834e..0000000000 --- a/package/ctcgfw/luci-app-turboacc/root/usr/share/dnscache/dnscache-while.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -sleeptime=60 -logfile="/var/log/dnscache.file" -dns_caching="$(uci -q get turboacc.config.dns_caching)" -dns_caching_mode="$(uci -q get turboacc.config.dns_caching_mode 2>/dev/null)" - -clean_log(){ -logrow="$(grep -c "" "${logfile}")" -if [ "${logrow}" -ge "500" ];then - echo "${curtime} Log条数超限,清空处理!" > "${logfile}" -fi -} - -while [ "${dns_caching}" -eq "1" ]; -do - curtime="$(date "+%H:%M:%S")" - echo "${curtime} online!" - pidof dnscache>/dev/null || { - if [ "${dns_caching_mode}" = "1" ]; then - /var/sbin/dnscache -c "/var/etc/dnscache.conf" & - elif [ "${dns_caching_mode}" = "2" ]; then - /var/sbin/dnscache -f "/var/run/dnscache/dnscache.conf" & - fi - echo "${curtime} 重启服务!" >> ${logfile} -} - - clean_log - sleep "${sleeptime}" - continue -done diff --git a/package/ctcgfw/luci-app-turboacc/root/usr/share/rpcd/acl.d/luci-app-turboacc.json b/package/ctcgfw/luci-app-turboacc/root/usr/share/rpcd/acl.d/luci-app-turboacc.json deleted file mode 100644 index 5b2e313a95..0000000000 --- a/package/ctcgfw/luci-app-turboacc/root/usr/share/rpcd/acl.d/luci-app-turboacc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-turboacc": { - "description": "Grant UCI access for luci-app-turboacc", - "read": { - "uci": [ "turboacc" ] - }, - "write": { - "uci": [ "turboacc" ] - } - } -} diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile b/package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile deleted file mode 100644 index 8cf4b88b39..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is a free software, use it under GNU General Public License v3.0. -# -# Created By ImmortalWrt -# https://github.com/project-openwrt - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-unblockneteasemusic-mini -PKG_VERSION:=1.2 -PKG_RELEASE:=9 -LUCI_TITLE:=LuCI support for UnblockNeteaseMusic(-Go) -LUCI_DEPENDS:=+busybox +dnsmasq-full +ipset +iptables +wget -LUCI_PKGARCH:=all - -PKG_MAINTAINER:=ImmortalWrt - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/controller/unblockneteasemusic-mini.lua b/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/controller/unblockneteasemusic-mini.lua deleted file mode 100644 index 9def636203..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/controller/unblockneteasemusic-mini.lua +++ /dev/null @@ -1,23 +0,0 @@ --- This is a free software, use it under GNU General Public License v3.0. --- Created By ImmortalWrt --- https://github.com/immortalwrt - -module("luci.controller.unblockneteasemusic-mini", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/unblockneteasemusic-mini") then - return - end - - local page - page = entry({"admin", "services", "unblockneteasemusic-mini"}, cbi("unblockneteasemusic-mini"), _("解除网易云音乐播放限制 (Mini)"), 100) - page.dependent = true - entry({"admin", "services", "unblockneteasemusic-mini", "status"},call("act_status")).leaf=true -end - -function act_status() - local e={} - e.running=luci.sys.call("iptables -t nat -L -v -n |grep unblock_netease_music |grep -v grep >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua b/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua deleted file mode 100644 index 9b23d95916..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/model/cbi/unblockneteasemusic-mini.lua +++ /dev/null @@ -1,27 +0,0 @@ --- Created By ImmortalWrt --- https://github.com/immortalwrt - -mp = Map("unblockneteasemusic-mini", translate("解除网易云音乐播放限制 (Mini)")) -mp.description = translate("原理:采用 [QQ/酷狗/酷我/咪咕] 等音源,替换网易云音乐 无版权/收费 歌曲链接
    由 Project ImmortalWrt 提供服务器支持
    详细说明参见:https://github.com/immortalwrt/luci-app-unblockneteasemusic-mini") - -mp:section(SimpleSection).template = "unblockneteasemusic-mini/unblockneteasemusic_mini_status" - -s = mp:section(TypedSection, "unblockneteasemusic-mini") -s.anonymous=true -s.addremove=false - -enable = s:option(Flag, "enable", translate("启用本插件")) -enable.description = translate("启用本插件以解除网易云音乐播放限制") -enable.default = 0 -enable.rmempty = false - -select_server = s:option(ListValue, "select_server", translate("服务器位置")) -select_server:value("ucloud_guangzhou_nodejs", translate("UCloud广州(高音质)")) -select_server.description = translate("请合理使用本插件与各个服务器,请勿滥用") -select_server.default = "tencent_shanghai_nodejs" -select_server.rmempty = false - -download_certificate=s:option(DummyValue,"opennewwindow",translate("")) -download_certificate.description = translate("Linux/iOS/MacOSX设备在信任根证书后方可正常使用解锁功能。") - -return mp diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/view/unblockneteasemusic-mini/unblockneteasemusic_mini_status.htm b/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/view/unblockneteasemusic-mini/unblockneteasemusic_mini_status.htm deleted file mode 100644 index 8ec9125908..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/luasrc/view/unblockneteasemusic-mini/unblockneteasemusic_mini_status.htm +++ /dev/null @@ -1,22 +0,0 @@ - - -
    -

    - <%:Collecting data...%> -

    -
    diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini deleted file mode 100644 index 3766496e4d..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/config/unblockneteasemusic-mini +++ /dev/null @@ -1,5 +0,0 @@ - -config unblockneteasemusic-mini - option enable '0' - option select_server 'tencent_shanghai_nodejs' - diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini deleted file mode 100755 index 52ba64ce02..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/init.d/unblockneteasemusic-mini +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/sh /etc/rc.common -# Created By ImmortalWrt -# https://github.com/immortalwrt - -START=92 -STOP=10 - -enable="$(uci get unblockneteasemusic-mini.@unblockneteasemusic-mini[0].enable)" -select_server="$(uci get unblockneteasemusic-mini.@unblockneteasemusic-mini[0].select_server)" - -if [ "${select_server}" = "ucloud_guangzhou_nodejs" ]; then - unblock_server_ip="$(ping "uc-gz.service.project-openwrt.eu.org" -c 1 | sed '1{s/[^(]*(//;s/).*//;q}')" - [ -z "${unblock_server_ip}" ] && unblock_server_ip="106.75.156.183" - unblock_server_http_port="30000" - unblock_server_https_port="30001" -fi - -set_ipset(){ - if [ "${set_type}" = "start" ]; then - mkdir -p "/tmp/dnsmasq.d" - rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-mini.conf" - cat <<-EOF > "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-mini.conf" -ipset=/.music.163.com/neteasemusic -ipset=/interface.music.163.com/neteasemusic -ipset=/interface3.music.163.com/neteasemusic -ipset=/apm.music.163.com/neteasemusic -ipset=/apm3.music.163.com/neteasemusic -ipset=/clientlog.music.163.com/neteasemusic -ipset=/clientlog3.music.163.com/neteasemusic - EOF - /etc/init.d/dnsmasq restart >/dev/null 2>&1 - - if ! ipset list "neteasemusic" >/dev/null; then ipset create "neteasemusic" hash:ip; fi - wget-ssl -t 5 -T 10 "http://httpdns.n.netease.com/httpdns/v2/d?domain=music.163.com,interface.music.163.com,interface3.music.163.com,apm.music.163.com,apm3.music.163.com,clientlog.music.163.com,clientlog3.music.163.com" -O- |grep -Eo '[0-9]+?\.[0-9]+?\.[0-9]+?\.[0-9]+?' |sort |uniq |awk '{print "ipset add neteasemusic "$1}' |sh - iptables -t nat -N "unblock_netease_music" - iptables -t nat -A "unblock_netease_music" -d 0.0.0.0/8 -j RETURN - iptables -t nat -A "unblock_netease_music" -d 10.0.0.0/8 -j RETURN - iptables -t nat -A "unblock_netease_music" -d 127.0.0.0/8 -j RETURN - iptables -t nat -A "unblock_netease_music" -d 169.254.0.0/16 -j RETURN - iptables -t nat -A "unblock_netease_music" -d 172.16.0.0/12 -j RETURN - iptables -t nat -A "unblock_netease_music" -d 192.168.0.0/16 -j RETURN - iptables -t nat -A "unblock_netease_music" -d 224.0.0.0/4 -j RETURN - iptables -t nat -A "unblock_netease_music" -d 240.0.0.0/4 -j RETURN - iptables -t nat -A "unblock_netease_music" -p tcp --dport 80 -j DNAT --to ${unblock_server_ip}:${unblock_server_http_port} - iptables -t nat -A "unblock_netease_music" -p tcp --dport 443 -j DNAT --to ${unblock_server_ip}:${unblock_server_https_port} - [ -z "$(iptables -t nat -L "ADBYBY" | grep "UnblockMusic" | sed 's/\/.*//')" ] && iptables -t nat -I "ADBYBY" -m set --match-set "neteasemusic" dst -j RETURN -m comment --comment "AD for UnblockMusic" - [ -z "$(iptables -t nat -L "KOOLPROXY" | grep "UnblockMusic" | sed 's/\/.*//')" ] && iptables -t nat -I "KOOLPROXY" -m set --match-set "neteasemusic" dst -j RETURN -m comment --comment "KP for UnblockMusic" - iptables -t nat -I "PREROUTING" -p tcp -m set --match-set "neteasemusic" dst -j "unblock_netease_music" - - mkdir -p /var/etc - echo -e "/etc/init.d/unblockneteasemusic-mini restart" > "/var/etc/unblockneteasemusic-mini.include" - elif [ "${set_type}" = "stop" ]; then - iptables -t nat -D "ADBYBY" -m set --match-set "neteasemusic" dst -j RETURN -m comment --comment "AD for UnblockMusic" - iptables -t nat -D "KOOLPROXY" -m set --match-set "neteasemusic" dst -j RETURN -m comment --comment "KP for UnblockMusic" - iptables -t nat -D "PREROUTING" -p tcp -m set --match-set "neteasemusic" dst -j "unblock_netease_music" - iptables -t nat -F "unblock_netease_music" - iptables -t nat -X "unblock_netease_music" - ipset destroy "neteasemusic" - - echo "" > "/var/etc/unblockneteasemusic-mini.include" - rm -f "/tmp/dnsmasq.d/dnsmasq-unblockneteasemusic-mini.conf" - /etc/init.d/dnsmasq reload >/dev/null 2>&1 - fi -} - -start() -{ - stop - - [ "${enable}" -ne "1" ] && exit 0 - set_type="start" - set_ipset >/dev/null 2>&1 -} - -stop() -{ - set_type="stop" - set_ipset >/dev/null 2>&1 -} diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/uci-defaults/unblockneteasemusic-mini b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/uci-defaults/unblockneteasemusic-mini deleted file mode 100755 index e347775e1f..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/etc/uci-defaults/unblockneteasemusic-mini +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@unblockneteasemusic-mini[-1] - add ucitrack unblockneteasemusic-mini - set ucitrack.@unblockneteasemusic-mini[-1].init=unblockneteasemusic-mini - commit ucitrack - delete firewall.unblockneteasemusic_mini - set firewall.unblockneteasemusic_mini=include - set firewall.unblockneteasemusic_mini.type=script - set firewall.unblockneteasemusic_mini.path=/var/etc/unblockneteasemusic-mini.include - set firewall.unblockneteasemusic_mini.reload=1 - commit firewall -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/usr/share/rpcd/acl.d/luci-app-unblockneteasemusic-mini.json b/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/usr/share/rpcd/acl.d/luci-app-unblockneteasemusic-mini.json deleted file mode 100644 index ca139ee7a0..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic-mini/root/usr/share/rpcd/acl.d/luci-app-unblockneteasemusic-mini.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-unblockneteasemusic-mini": { - "description": "Grant UCI access for luci-app-unblockneteasemusic-mini", - "read": { - "uci": [ "unblockneteasemusic-mini" ] - }, - "write": { - "uci": [ "unblockneteasemusic-mini" ] - } - } -} diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile b/package/ctcgfw/luci-app-unblockneteasemusic/Makefile deleted file mode 100644 index 00a0e89c38..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# -# Copyright (C) 2021 ImmortalWrt -# (https://immortalwrt.org) -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI support for UnblockNeteaseMusic -LUCI_DEPENDS:=+bash +busybox +coreutils +coreutils-nohup +curl +dnsmasq-full +ipset +libopenssl +node -LUCI_PKGARCH:=all - -PKG_NAME:=luci-app-unblockneteasemusic -PKG_VERSION:=2.8 -PKG_RELEASE:=10 - -PKG_MAINTAINER:=CN_SZTL - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/controller/unblockneteasemusic.lua b/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/controller/unblockneteasemusic.lua deleted file mode 100644 index 3846300d24..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/controller/unblockneteasemusic.lua +++ /dev/null @@ -1,85 +0,0 @@ --- This is a free software, use it under GNU General Public License v3.0. --- Created By ImmortalWrt --- https://github.com/immortalwrt - -module("luci.controller.unblockneteasemusic", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/unblockneteasemusic") then - return - end - - entry({"admin", "services", "unblockneteasemusic"},firstchild(), _("解除网易云音乐播放限制"), 50).dependent = false - - entry({"admin", "services", "unblockneteasemusic", "general"},cbi("unblockneteasemusic/unblockneteasemusic"), _("基本设定"), 1) - entry({"admin", "services", "unblockneteasemusic", "upgrade"},form("unblockneteasemusic/unblockneteasemusic_upgrade"), _("更新组件"), 2).leaf = true - entry({"admin", "services", "unblockneteasemusic", "log"},form("unblockneteasemusic/unblockneteasemusiclog"), _("日志"), 3) - - entry({"admin", "services", "unblockneteasemusic", "status"},call("act_status")).leaf=true - entry({"admin", "services", "unblockneteasemusic", "update_luci"},call("act_update_luci")) - entry({"admin", "services", "unblockneteasemusic", "update_core"},call("act_update_core")) -end - -function act_status() - local e={} - e.running=luci.sys.call("ps |grep unblockneteasemusic |grep app.js |grep -v grep >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end - -function update_luci() - luci_cloud_ver=luci.sys.exec("curl -s 'https://github.com/immortalwrt/luci-app-unblockneteasemusic/releases/latest'| grep -Eo '[0-9\.]+\-[0-9]+'") - if not luci_cloud_ver then - return "1" - else - luci_local_ver=luci.sys.exec("opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: '") - if not luci_local_ver or (luci_local_ver ~= luci_cloud_ver) then - luci.sys.call("rm -f /usr/share/unblockneteasemusic/update_luci_successfully") - luci.sys.call("/bin/bash /usr/share/unblockneteasemusic/update.sh update_luci") - if not nixio.fs.access("/usr/share/unblockneteasemusic/update_luci_successfully") then - return "2" - else - luci.sys.call("rm -f /usr/share/unblockneteasemusic/update_luci_successfully") - return luci_cloud_ver - end - else - return "0" - end - end -end - -function act_update_luci() - luci.http.prepare_content("application/json") - luci.http.write_json({ - ret = update_luci(); - }) -end - -function update_core() - core_cloud_ver=luci.sys.exec("curl -s 'https://github.com/1715173329/UnblockNeteaseMusic/commits/enhanced' |tr -d '\n' |grep -Eo 'commit\/[0-9a-z]+' |sed -n 1p |sed 's#commit/##g'") - core_cloud_ver_mini=string.sub(core_cloud_ver, 1, 7) - if not core_cloud_ver or not core_cloud_ver_mini then - return "1" - else - core_local_ver=luci.sys.exec("cat '/usr/share/unblockneteasemusic/core_local_ver'") - if not core_local_ver or (core_local_ver ~= core_cloud_ver) then - luci.sys.call("rm -f /usr/share/unblockneteasemusic/update_core_successfully") - luci.sys.call("/bin/bash /usr/share/unblockneteasemusic/update.sh update_core_from_luci") - if not nixio.fs.access("/usr/share/unblockneteasemusic/update_core_successfully") then - return "2" - else - luci.sys.call("rm -f /usr/share/unblockneteasemusic/update_core_successfully") - return core_cloud_ver_mini - end - else - return "0" - end - end -end - -function act_update_core() - luci.http.prepare_content("application/json") - luci.http.write_json({ - ret = update_core(); - }) -end diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusic.lua b/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusic.lua deleted file mode 100644 index b496ecc098..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusic.lua +++ /dev/null @@ -1,210 +0,0 @@ -mp = Map("unblockneteasemusic", translate("解除网易云音乐播放限制")) -mp.description = translate("原理:采用 [QQ/虾米/百度/酷狗/酷我/咪咕/JOOX] 等音源,替换网易云音乐 无版权/收费 歌曲链接
    具体使用方法参见:https://github.com/immortalwrt/luci-app-unblockneteasemusic") - -mp:section(SimpleSection).template = "unblockneteasemusic/unblockneteasemusic_status" - -s = mp:section(TypedSection, "unblockneteasemusic") -s.anonymous=true -s.addremove=false - -enable = s:option(Flag, "enable", translate("启用本插件")) -enable.description = translate("启用本插件以解除网易云音乐播放限制") -enable.default = 0 -enable.rmempty = false - -music_source = s:option(Value, "music_source", translate("音源接口")) -music_source:value("default", translate("默认")) -music_source:value("netease", translate("网易云音乐")) -music_source:value("qq", translate("QQ音乐")) -music_source:value("kuwo", translate("酷我音乐")) -music_source:value("migu", translate("咪咕音乐")) -music_source:value("kugou", translate("酷狗音乐")) -music_source:value("xiami", translate("虾米音乐")) -music_source:value("baidu", translate("百度音乐")) -music_source:value("joox", translate("JOOX音乐")) -music_source:value("youtube", translate("Youtube音乐")) -music_source:value("bilibili", translate("Bilibili音乐")) -music_source.description = translate("自定义模式下,多个音源请用空格隔开") -music_source.default = "default" -music_source.rmempty = false - -enable_flac = s:option(Flag, "enable_flac", translate("启用无损音质")) -enable_flac.description = translate("目前仅支持QQ、酷我、咪咕音源") -enable_flac.default = 0 -enable_flac.rmempty = false - -replace_music_source = s:option(ListValue, "replace_music_source", translate("强制音乐音源替换")) -replace_music_source:value("dont_replace", translate("不强制替换音乐音源")) -replace_music_source:value("lower_than_192kbps", translate("当音质低于192Kbps(中)时")) -replace_music_source:value("lower_than_320kbps", translate("当音质低于320Kbps(高)时")) -replace_music_source:value("lower_than_999kbps", translate("当音质低于999Kbps(无损)时")) -replace_music_source:value("replace_all", translate("替换所有音乐音源")) -replace_music_source.description = translate("当音乐音质低于指定数值时,尝试强制使用其他平台的高音质版本进行替换") -replace_music_source.default = "dont_replace" -replace_music_source.rmempty = false - -use_custom_cookie = s:option(Flag, "use_custom_cookie", translate("使用自定义 Cookie")) -use_custom_cookie.description = translate("使用自定义 Cookie 请求音源接口") -use_custom_cookie.default = 0 -use_custom_cookie.rmempty = false - -neteasemusic_cookie = s:option(Value, "neteasemusic_cookie", translate("NeteaseMusic Cookie")) -neteasemusic_cookie.description = translate("在 music.163.com 获取,需要MUSIC_U值") -neteasemusic_cookie.datatype = "string" -neteasemusic_cookie:depends("use_custom_cookie", 1) - -qq_cookie = s:option(Value, "qq_cookie", translate("QQ Cookie")) -qq_cookie.description = translate("在 y.qq.com 获取,需要uin和qm_keyst值") -qq_cookie.placeholder = "uin=; qm_keyst=" -qq_cookie.datatype = "string" -qq_cookie:depends("use_custom_cookie", 1) - -youtube_key = s:option(Value, "youtube_key", translate("Youtube API Key")) -youtube_key.description = translate("API Key申请地址:https://developers.google.com/youtube/v3/getting-started#before-you-start") -youtube_key.datatype = "string" -youtube_key:depends("use_custom_cookie", 1) - -auto_update = s:option(Flag, "auto_update", translate("启用自动更新")) -auto_update.description = translate("启用后,每天将定时自动检查最新版本并更新") -auto_update.default = 0 -auto_update.rmempty = false - -update_time = s:option(ListValue, "update_time", translate("检查更新时间")) -for update_time_hour = 0,23 do - update_time:value(update_time_hour, update_time_hour..":00") -end -update_time.default = "3" -update_time.description = translate("设定每天自动检查更新时间") -update_time:depends("auto_update", 1) - -daemon_enable = s:option(Flag, "daemon_enable", translate("启用进程守护")) -daemon_enable.description = translate("开启后,附属程序会自动检测主程序运行状态,在主程序退出时自动重启") -daemon_enable.default = 0 -daemon_enable.rmempty = false - -download_cert = s:option(Button,"certificate",translate("HTTPS 证书")) -download_cert.inputtitle = translate("下载 CA 根证书") -download_cert.description = translate("Linux/iOS/MacOSX在信任根证书后方可正常使用") -download_cert.inputstyle = "reload" -download_cert.write = function() - act_download_cert() -end - -function act_download_cert() - local t,e - t=nixio.open("/usr/share/unblockneteasemusic/core/ca.crt","r") - luci.http.header('Content-Disposition','attachment; filename="ca.crt"') - luci.http.prepare_content("application/octet-stream") - while true do - e=t:read(nixio.const.buffersize) - if(not e)or(#e==0)then - break - else - luci.http.write(e) - end - end - t:close() - luci.http.close() -end - -advanced_mode = s:option(Flag, "advanced_mode", translate("启用进阶设置")) -advanced_mode.description = translate("仅推荐高级玩家使用") -advanced_mode.default = 0 -advanced_mode.rmempty = false - -http_port = s:option(Value, "http_port", translate("HTTP 监听端口")) -http_port.description = translate("程序监听的HTTP端口,不可与 其他程序/HTTPS 共用一个端口") -http_port.placeholder = "5200" -http_port.default = "5200" -http_port.datatype = "port" -http_port:depends("advanced_mode", 1) - -https_port = s:option(Value, "https_port", translate("HTTPS 监听端口")) -https_port.description = translate("程序监听的HTTPS端口,不可与 其他程序/HTTP 共用一个端口") -https_port.placeholder = "5201" -https_port.default = "5201" -https_port.datatype = "port" -https_port:depends("advanced_mode", 1) - -endpoint_url = s:option(Value, "endpoint_url", translate("EndPoint")) -endpoint_url.description = translate("具体说明参见:https://github.com/nondanee/UnblockNeteaseMusic") -endpoint_url.default = "http://music.163.com" -endpoint_url.placeholder = "http://music.163.com" -endpoint_url.datatype = "string" -endpoint_url:depends("advanced_mode", 1) - -hijack = s:option(ListValue, "hijack_ways", translate("劫持方法")) -hijack:value("dont_hijack", translate("不开启劫持")) -hijack:value("use_ipset", translate("使用IPSet劫持")) -hijack:value("use_hosts", translate("使用Hosts劫持")) -hijack.description = translate("如果使用Hosts劫持,程序监听的HTTP/HTTPS端口将被锁定为80/443") -hijack.default = "dont_hijack" -hijack:depends("advanced_mode", 1) - -keep_core_when_upgrade = s:option(Flag, "keep_core_when_upgrade", translate("升级时保留核心程序")) -keep_core_when_upgrade.description = translate("默认情况下,在OpenWrt升级后会导致核心程序丢失,开启此选项后会保留当前下载的核心程序") -keep_core_when_upgrade.default = 0 -keep_core_when_upgrade.rmempty = false -keep_core_when_upgrade:depends("advanced_mode", 1) - -pub_access = s:option(Flag, "pub_access", translate("部署到公网")) -pub_access.description = translate("默认仅监听局域网,如需提供公开访问请勾选此选项") -pub_access.default = 0 -pub_access.rmempty = false -pub_access:depends("advanced_mode", 1) - -strict_mode = s:option(Flag, "strict_mode", translate("启用严格模式")) -strict_mode.description = translate("若将服务部署到公网,则强烈建议使用严格模式,此模式下仅放行网易云音乐所属域名的请求;注意:该模式下不能使用全局代理") -strict_mode.default = 0 -strict_mode.rmempty = false -strict_mode:depends("advanced_mode", 1) - -netease_server_ip = s:option(Value, "netease_server_ip", translate("网易云服务器IP")) -netease_server_ip.description = translate("通过 ping music.163.com 即可获得IP地址,仅限填写一个") -netease_server_ip.placeholder = "59.111.181.38" -netease_server_ip.datatype = "ipaddr" -netease_server_ip:depends("advanced_mode", 1) - -proxy_server_ip = s:option(Value, "proxy_server_ip", translate("代理服务器地址")) -proxy_server_ip.description = translate("使用代理服务器获取音乐信息") -proxy_server_ip.placeholder = "http(s)://host:port" -proxy_server_ip.datatype = "string" -proxy_server_ip:depends("advanced_mode", 1) - -self_issue_cert_crt = s:option(Value, "self_issue_cert_crt", translate("自签发证书公钥位置")) -self_issue_cert_crt.description = translate("[公钥] 默认使用UnblockNeteaseMusic项目提供的CA证书,您可以指定为您自己的证书") -self_issue_cert_crt.placeholder = "/usr/share/unblockneteasemusic/core/server.crt" -self_issue_cert_crt.datatype = "file" -self_issue_cert_crt:depends("advanced_mode", 1) - -self_issue_cert_key = s:option(Value, "self_issue_cert_key", translate("自签发证书私钥位置")) -self_issue_cert_key.description = translate("[私钥] 默认使用UnblockNeteaseMusic项目提供的CA证书,您可以指定为您自己的证书") -self_issue_cert_key.placeholder = "/usr/share/unblockneteasemusic/core/server.key" -self_issue_cert_key.datatype = "file" -self_issue_cert_key:depends("advanced_mode", 1) - -acl_rule = mp:section(TypedSection,"acl_rule",translate("例外客户端规则"), translate("可以为局域网客户端分别设置不同的例外模式,默认无需设置")) -acl_rule.template="cbi/tblsection" -acl_rule.sortable=true -acl_rule.anonymous=true -acl_rule.addremove=true - -acl_ip_addr=acl_rule:option(Value, "ip_addr", translate("IP 地址")) -acl_ip_addr.width = "40%" -acl_ip_addr.datatype = "ip4addr" -acl_ip_addr.placeholder = "0.0.0.0/0" -luci.ip.neighbors({ family = 4 }, function(entry) - if entry.reachable then - acl_ip_addr:value(entry.dest:string()) - end -end) - -acl_filter_mode = acl_rule:option(ListValue, "filter_mode", translate("规则")) -acl_filter_mode.width = "40%" -acl_filter_mode.default = "disable_all" -acl_filter_mode.rmempty = false -acl_filter_mode:value("disable_all", translate("不代理HTTP和HTTPS")) -acl_filter_mode:value("disable_http", translate("不代理HTTP")) -acl_filter_mode:value("disable_https", translate("不代理HTTPS")) - -return mp diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusic_upgrade.lua b/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusic_upgrade.lua deleted file mode 100644 index d28ab28ae3..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusic_upgrade.lua +++ /dev/null @@ -1,19 +0,0 @@ -local m, up_core - -m = SimpleForm("Version") -m.reset = false -m.submit = false - -up_core=m:field(DummyValue,"update_luci",translate("更新LuCI")) -up_core.rawhtml = true -up_core.template = "unblockneteasemusic/update_luci" -up_core.value = translate("未检查") -up_core.description = "更新完毕后请手动刷新该界面" - -up_core=m:field(DummyValue,"update_core",translate("更新主程序")) -up_core.rawhtml = true -up_core.template = "unblockneteasemusic/update_core" -up_core.value = translate("未检查") -up_core.description = "更新完毕后会自动在后台重启插件,无需手动重启" - -return m diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusiclog.lua b/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusiclog.lua deleted file mode 100644 index 65df21d852..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic/unblockneteasemusiclog.lua +++ /dev/null @@ -1,14 +0,0 @@ -local fs = require "nixio.fs" -local conffile = "/tmp/unblockneteasemusic.log" - -f = SimpleForm("logview") - -t = f:field(TextValue, "conf") -t.rmempty = true -t.rows = 15 -function t.cfgvalue() - return fs.readfile(conffile) or "" -end -t.readonly="readonly" - -return f diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/unblockneteasemusic_status.htm b/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/unblockneteasemusic_status.htm deleted file mode 100644 index b9e979e090..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/unblockneteasemusic_status.htm +++ /dev/null @@ -1,22 +0,0 @@ - - -
    -

    - <%:Collecting data...%> -

    -
    diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/update_core.htm b/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/update_core.htm deleted file mode 100644 index 1e9fecd14b..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/update_core.htm +++ /dev/null @@ -1,36 +0,0 @@ -<%+cbi/valueheader%> - - - - - -<%=self.value%> - -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/update_luci.htm b/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/update_luci.htm deleted file mode 100644 index c555b867bd..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/view/unblockneteasemusic/update_luci.htm +++ /dev/null @@ -1,36 +0,0 @@ -<%+cbi/valueheader%> - - - - - -<%=self.value%> - -<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/config/unblockneteasemusic b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/config/unblockneteasemusic deleted file mode 100644 index f62f9a207c..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/config/unblockneteasemusic +++ /dev/null @@ -1,11 +0,0 @@ - -config unblockneteasemusic - option enable '0' - option music_source 'default' - option enable_flac '0' - option replace_music_source 'dont_replace' - option use_custom_cookie '0' - option auto_update '1' - option update_time '3' - option daemon_enable '1' - option advanced_mode '0' diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic deleted file mode 100755 index fc67f9f9ab..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic +++ /dev/null @@ -1,267 +0,0 @@ -#!/bin/sh /etc/rc.common -# Created By ImmortalWrt -# https://github.com/immortalwrt - -START=92 -STOP=10 - -NAME="unblockneteasemusic" -UPGRADE_CONF="/lib/upgrade/keep.d/$NAME" - -uci_get_by_type() { - local "ret" - ret="$(uci get "$NAME".@"$1"[0]."$2" 2>/dev/null)" - echo "${ret:=$3}" -} - -uci_get_by_name() { - local "index" - index=0 - if [ -n "$4" ]; then - index="$4" - fi - ret="$(uci get "$NAME".@"$1"["${index}"]."$2" 2>/dev/null)" - echo "${ret:=$3}" -} - -lan_addr="$(uci get network.lan.ipaddr)" - -enable="$(uci_get_by_type "$NAME" "enable" "0")" - -music_source="$(uci_get_by_type "$NAME" "music_source" "default")" - -enable_flac="$(uci_get_by_type "$NAME" "enable_flac" "0")" -[ "${enable_flac}" -eq "1" ] && export ENABLE_FLAC="true" -replace_music_source="$(uci_get_by_type "$NAME" "replace_music_source" "dont_replace")" - -use_remote_qq_server="$(uci_get_by_type "$NAME" "use_remote_qq_server")" - -auto_update="$(uci_get_by_type "$NAME" "auto_update" "1")" -update_time="$(uci_get_by_type "$NAME" "update_time" "3")" - -http_port="$(uci_get_by_type "$NAME" "http_port" "5200")" -https_port="$(uci_get_by_type "$NAME" "https_port" "5201")" - -endpoint_url="$(uci_get_by_type "$NAME" "endpoint_url" "http://music.163.com")" -hijack_ways="$(uci_get_by_type "$NAME" "hijack_ways" "use_ipset")" - -neteasemusic_cookie="$(uci_get_by_type "$NAME" "neteasemusic_cookie")" -qq_cookie="$(uci_get_by_type "$NAME" "qq_cookie")" -[ -n "${qq_cookie}" ] && export QQ_COOKIE="${qq_cookie}" -youtube_key="$(uci_get_by_type "$NAME" "youtube_key")" -[ -n "${youtube_key}" ] && export YOUTUBE_KEY="${youtube_key}" - -keep_core_when_upgrade="$(uci_get_by_type "$NAME" "keep_core_when_upgrade")" -[ "$(uci_get_by_type "$NAME" "pub_access")" = "1" ] && addr="0.0.0.0" || addr="${lan_addr}" -[ "$(uci_get_by_type "$NAME" "strict_mode")" = "1" ] && strict_mode="-s" - -netease_server_ip="$(uci_get_by_type "$NAME" "netease_server_ip")" -[ -n "${netease_server_ip}" ] && netease_server_ip="-f ${netease_server_ip}" -proxy_server_ip="$(uci_get_by_type "$NAME" "proxy_server_ip")" -[ -n "${proxy_server_ip}" ] && proxy_server_ip="-u ${proxy_server_ip}" - -self_issue_cert_crt="$(uci_get_by_type "$NAME" "self_issue_cert_crt")" -self_issue_cert_key="$(uci_get_by_type "$NAME" "self_issue_cert_key")" - -set_ipset() -{ - if [ "${set_type}" = "start" ]; then - mkdir -p "/tmp/dnsmasq.d" - rm -f "/tmp/dnsmasq.d/dnsmasq-$NAME.conf" - cat <<-EOF > "/tmp/dnsmasq.d/dnsmasq-$NAME.conf" -dhcp-option=252,http://${lan_addr}:${http_port}/proxy.pac -ipset=/.music.163.com/neteasemusic -ipset=/interface.music.163.com/neteasemusic -ipset=/interface3.music.163.com/neteasemusic -ipset=/apm.music.163.com/neteasemusic -ipset=/apm3.music.163.com/neteasemusic -ipset=/clientlog.music.163.com/neteasemusic -ipset=/clientlog3.music.163.com/neteasemusic - EOF - /etc/init.d/dnsmasq reload > "/dev/null" 2>&1 - - if ! ipset list "acl_neteasemusic_http" > "/dev/null"; then ipset create "acl_neteasemusic_http" hash:ip; fi - if ! ipset list "acl_neteasemusic_https" > "/dev/null"; then ipset create "acl_neteasemusic_https" hash:ip; fi - ip_addr_num="$(uci show "$NAME" | grep -c "filter_mode")" - let ip_addr_num="ip_addr_num-1" - [ "${ip_addr_num}" -ge "0" ] && for i in $(seq 0 "${ip_addr_num}") - do - ip_addr="$(uci_get_by_name "acl_rule" "ip_addr" "" "$i")" - filter_mode="$(uci_get_by_name "acl_rule" "filter_mode" "" "$i")" - case "${filter_mode}" in - "disable_http") - ipset -! add "acl_neteasemusic_http" "${ip_addr}" - ;; - "disable_https") - ipset -! add "acl_neteasemusic_https" "${ip_addr}" - ;; - "disable_all") - ipset -! add "acl_neteasemusic_http" "${ip_addr}" - ipset -! add "acl_neteasemusic_https" "${ip_addr}" - ;; - esac - done - - if ! ipset list "neteasemusic" > "/dev/null"; then ipset create "neteasemusic" hash:ip; fi - curl --retry "5" --retry-delay "3" -s "http://httpdns.n.netease.com/httpdns/v2/d?domain=music.163.com,interface.music.163.com,interface3.music.163.com,apm.music.163.com,apm3.music.163.com,clientlog.music.163.com,clientlog3.music.163.com" |grep -Eo '[0-9]+?\.[0-9]+?\.[0-9]+?\.[0-9]+?' |sort |uniq |awk '{print "ipset add neteasemusic "$1}' |bash > "/dev/null" 2>&1 - iptables -t "nat" -N "netease_cloud_music" - iptables -t "nat" -A "netease_cloud_music" -d "0.0.0.0/8" -j "RETURN" - iptables -t "nat" -A "netease_cloud_music" -d "10.0.0.0/8" -j "RETURN" - iptables -t "nat" -A "netease_cloud_music" -d "127.0.0.0/8" -j "RETURN" - iptables -t "nat" -A "netease_cloud_music" -d "169.254.0.0/16" -j "RETURN" - iptables -t "nat" -A "netease_cloud_music" -d "172.16.0.0/12" -j "RETURN" - iptables -t "nat" -A "netease_cloud_music" -d "192.168.0.0/16" -j "RETURN" - iptables -t "nat" -A "netease_cloud_music" -d "224.0.0.0/4" -j "RETURN" - iptables -t "nat" -A "netease_cloud_music" -d "240.0.0.0/4" -j "RETURN" - iptables -t "nat" -A "netease_cloud_music" -p "tcp" -m "set" ! --match-set "acl_neteasemusic_http" "src" --dport "80" -j "REDIRECT" --to-ports "${http_port}" - iptables -t "nat" -A "netease_cloud_music" -p "tcp" -m "set" ! --match-set "acl_neteasemusic_https" "src" --dport "443" -j "REDIRECT" --to-ports "${https_port}" - iptables -t "nat" -I "PREROUTING" -p "tcp" -m "set" --match-set "neteasemusic" "dst" -j "netease_cloud_music" - [ -z "$(iptables -t "nat" -L "KOOLPROXY" | grep "UnblockMusic" | sed 's/\/.*//')" ] && iptables -t "nat" -I "KOOLPROXY" -m "set" --match-set "neteasemusic" "dst" -j "RETURN" -m "comment" --comment "KP for UnblockMusic" - - mkdir -p "/var/etc/" - echo "/etc/init.d/$NAME restart" > "/var/etc/$NAME.include" - elif [ "${set_type}" = "stop" ]; then - iptables -t "nat" -D "PREROUTING" -p "tcp" -m set --match-set "neteasemusic" "dst" -j "netease_cloud_music" - iptables -t "nat" -D "KOOLPROXY" -m "set" --match-set "neteasemusic" "dst" -j "RETURN" -m "comment" --comment "KP for UnblockMusic" - iptables -t "nat" -F "netease_cloud_music" - iptables -t "nat" -X "netease_cloud_music" - ipset destroy "neteasemusic" - ipset destroy "acl_neteasemusic_http" - ipset destroy "acl_neteasemusic_https" - - echo "" > "/var/etc/$NAME.include" - rm -f "/tmp/dnsmasq.d/dnsmasq-$NAME.conf" - /etc/init.d/dnsmasq reload > "/dev/null" 2>&1 - fi -} - -set_hosts() -{ - if [ "${set_type}" = "start" ]; then - mkdir -p "/tmp/dnsmasq.d" - rm -f "/tmp/dnsmasq.d/dnsmasq-$NAME.conf" - cat <<-EOF > "/tmp/dnsmasq.d/dnsmasq-$NAME.conf" -dhcp-option=252,http://${lan_addr}:${http_port}/proxy.pac -address=/music.163.com/${lan_addr} -address=/interface.music.163.com/${lan_addr} -address=/interface3.music.163.com/${lan_addr} -address=/apm.music.163.com/${lan_addr} -address=/apm3.music.163.com/${lan_addr} -address=/clientlog.music.163.com/${lan_addr} -address=/clientlog3.music.163.com/${lan_addr} -address=/music.httpdns.c.163.com/0.0.0.0 - EOF - /etc/init.d/dnsmasq reload > "/dev/null" 2>&1 - - ip route add "223.252.199.10" dev lo - elif [ "${set_type}" = "stop" ]; then - rm -f "/tmp/dnsmasq.d/dnsmasq-$NAME.conf" - /etc/init.d/dnsmasq reload > "/dev/null" 2>&1 - - ip route del "223.252.199.10" - fi -} - -set_ports() -{ - if [ "${set_type}" = "start" ]; then - iptables -I "INPUT" -p "tcp" --dport "${http_port}" -j "ACCEPT" - iptables -I "INPUT" -p "tcp" --dport "${https_port}" -j "ACCEPT" - - mkdir -p "/var/etc/" - echo "/etc/init.d/$NAME restart" > "/var/etc/$NAME.include" - elif [ "${set_type}" = "stop" ]; then - iptables -D "INPUT" -p "tcp" --dport "${http_port}" -j "ACCEPT" - iptables -D "INPUT" -p "tcp" --dport "${https_port}" -j "ACCEPT" - - echo "" > "/var/etc/$NAME.include" - fi -} - -start() -{ - stop - - [ "${enable}" -ne "1" ] && exit 0 - - sed -i "/$NAME/d" /etc/crontabs/root - [ "${auto_update}" -eq "1" ] && echo "0 ${update_time} * * * /usr/share/$NAME/update.sh update_core" >> "/etc/crontabs/root" - echo "*/5 * * * * /usr/share/$NAME/log_check.sh" >> "/etc/crontabs/root" - /etc/init.d/cron restart > "/dev/null" 2>&1 - - [ ! -e "/usr/share/$NAME/core/app.js" ] && { rm -f "/usr/share/$NAME/local_ver"; bash "/usr/share/$NAME/update.sh" "update_core_non_restart"; } - [ ! -e "/usr/share/$NAME/core/app.js" ] && { echo "Core Not Found, please download it before starting." >> "/tmp/$NAME.log"; exit 1; } - - [ -n "${neteasemusic_cookie}" ] && { - ub_cookie_line="$(sed -n -e "/netease.path.includes('song\/enhance')/=" "/usr/share/$NAME/core/src/hook.js")"; - [ -n "${ub_cookie_line}" ] && { let ub_cookie_endline="ub_cookie_line+6"; sed -i "${ub_cookie_line},${ub_cookie_endline}d" "/usr/share/$NAME/core/src/hook.js"; } - sed -i "/netease.path == '\/api\/song\/enhance\/download\/url'/i\\\t\\t\\t\\tif (netease.path.includes('song\/enhance')) {" "/usr/share/$NAME/core/src/hook.js" - sed -i "/if (netease.path.includes('song\/enhance')) {/a\\\t\\t\\t\\t\\treq.headers.cookie = [" "/usr/share/$NAME/core/src/hook.js" - sed -i "/req.headers.cookie = \[/a\\\t\\t\\t\\t\\t\\t'MUSIC_U=${neteasemusic_cookie}'," "/usr/share/$NAME/core/src/hook.js" - sed -i "/'MUSIC_U=${neteasemusic_cookie}',/a\\\t\\t\\t\\t\\t\\treq.headers.cookie.replace(\/\\\s*MUSIC_\\\w=[^\\\s;]+;*\/g, '')" "/usr/share/$NAME/core/src/hook.js" - sed -i "/req.headers.cookie.replace(\/\\\s\\*MUSIC_\\\w=[^\\\s;]\\+/a\\\t\\t\\t\\t\\t].filter(line => line).join('; ')" "/usr/share/$NAME/core/src/hook.js" - sed -i "/].filter(line => line).join('; ')/a\\\t\\t\\t\\t}\\n" "/usr/share/$NAME/core/src/hook.js" -} - - quality_check_line="$(awk "/target == 0 \|\| item.id == target/{print NR}" "/usr/share/$NAME/core/src/hook.js")" - sed -i "${quality_check_line}d" "/usr/share/$NAME/core/src/hook.js" - if [ "${replace_music_source}" = "dont_replace" ]; then - sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo) && (target == 0 || item.id == target)) {" "/usr/share/$NAME/core/src/hook.js" - elif [ "${replace_music_source}" = "lower_than_192kbps" ]; then - sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo || item.br < 192000) && (target == 0 || item.id == target)) {" "/usr/share/$NAME/core/src/hook.js" - elif [ "${replace_music_source}" = "lower_than_320kbps" ]; then - sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo || item.br < 320000) && (target == 0 || item.id == target)) {" "/usr/share/$NAME/core/src/hook.js" - elif [ "${replace_music_source}" = "lower_than_999kbps" ]; then - sed -i -e "${quality_check_line}i \\\t\\tif ((item.code != 200 || item.freeTrialInfo || item.br < 999000) && (target == 0 || item.id == target)) {" "/usr/share/$NAME/core/src/hook.js" - elif [ "${replace_music_source}" = "replace_all" ]; then - sed -i -e "${quality_check_line}i \\\t\\tif (target == 0 || item.id == target) {" "/usr/share/$NAME/core/src/hook.js" - fi - - { [ -f "${self_issue_cert_crt}" ] && [ -f "${self_issue_cert_key}" ]; } && { - { [ "${self_issue_cert_crt}" != "/usr/share/$NAME/core/server.crt" ] && [ "${self_issue_cert_key}" != "/usr/share/$NAME/core/server.key" ]; } && { - ln -sf "${self_issue_cert_crt}" "/usr/share/$NAME/core/server.crt" - ln -sf "${self_issue_cert_key}" "/usr/share/$NAME/core/server.key" - } - } - - [ "${hijack_ways}" = "use_hosts" ] && { http_port="80"; https_port="443"; } - [ "${music_source}" = "default" ] && music_source="" || music_source="-o ${music_source}" - nohup node "/usr/share/$NAME/core/app.js" -a "${addr}" -p "${http_port}":"${https_port}" ${music_source} -e "${endpoint_url}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >> "/tmp/$NAME.log" 2>&1 & - - set_type="start" - if [ "${hijack_ways}" = "use_ipset" ]; then - set_ipset > "/dev/null" 2>&1 - elif [ "${hijack_ways}" = "use_hosts" ]; then - set_hosts > "/dev/null" 2>&1 - fi - [ "$(uci_get_by_type "$NAME" pub_access)" = "1" ] && set_ports > "/dev/null" 2>&1 -} - -stop() -{ - { ps |grep "$NAME" |grep "app.js" |grep -v "grep" |awk '{print $1}' |xargs kill -9; } > "/dev/null" 2>&1 - - sed -i "/$NAME/d" "/etc/crontabs/root" - /etc/init.d/cron restart > "/dev/null" 2>&1 - - [ ! -f "${UPGRADE_CONF}" ] && touch "${UPGRADE_CONF}" - sed -i "/$NAME\/core/d;/$NAME\/local_ver/d" "${UPGRADE_CONF}" - [ "${keep_core_when_upgrade}" -eq "1" ] && { echo "/usr/share/$NAME/core/" >> "${UPGRADE_CONF}"; echo "/usr/share/$NAME/local_ver" >> "${UPGRADE_CONF}"; } - - { [ -f "${self_issue_cert_crt}" ] && [ -f "${self_issue_cert_key}" ]; } && { - { [ "${self_issue_cert_crt}" != "/usr/share/$NAME/core/server.crt" ] && [ "${self_issue_cert_key}" != "/usr/share/$NAME/core/server.key" ]; } && { - sed -i "/${self_issue_cert_crt//\//\\/}/d" "${UPGRADE_CONF}" - echo "${self_issue_cert_crt}" >> "${UPGRADE_CONF}" - - sed -i "/${self_issue_cert_key//\//\\/}/d" "${UPGRADE_CONF}" - echo "${self_issue_cert_key}" >> "${UPGRADE_CONF}" - } - } - - rm -f "/tmp/$NAME.log" - - set_type="stop" - set_ipset > "/dev/null" 2>&1 - set_hosts > "/dev/null" 2>&1 - set_ports > "/dev/null" 2>&1 -} diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/uci-defaults/unblockneteasemusic b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/uci-defaults/unblockneteasemusic deleted file mode 100755 index 1e5c082856..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/uci-defaults/unblockneteasemusic +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@unblockneteasemusic[-1] - add ucitrack unblockneteasemusic - set ucitrack.@unblockneteasemusic[-1].init=unblockneteasemusic - commit ucitrack - delete firewall.unblockneteasemusic - set firewall.unblockneteasemusic=include - set firewall.unblockneteasemusic.type=script - set firewall.unblockneteasemusic.path=/var/etc/unblockneteasemusic.include - set firewall.unblockneteasemusic.reload=1 - commit firewall -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/rpcd/acl.d/luci-app-unblockneteasemusic.json b/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/rpcd/acl.d/luci-app-unblockneteasemusic.json deleted file mode 100644 index 06f074232c..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/rpcd/acl.d/luci-app-unblockneteasemusic.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-unblockneteasemusic": { - "description": "Grant UCI access for luci-app-unblockneteasemusic", - "read": { - "uci": [ "unblockneteasemusic" ] - }, - "write": { - "uci": [ "unblockneteasemusic" ] - } - } -} diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/log_check.sh b/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/log_check.sh deleted file mode 100755 index 772b7b51bb..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/log_check.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -# Created By ImmortalWrt -# https://github.com/immortalwrt - -NAME="unblockneteasemusic" - -log_max_size="4" #使用KB计算 -log_file="/tmp/$NAME.log" - -(( log_size = "$(ls -l "${log_file}" | awk -F ' ' '{print $5}')" / "1024" )) -(( "${log_size}" >= "${log_max_size}" )) && echo "" > "${log_file}" - -[ "*$(uci get $NAME.@$NAME[0].daemon_enable 2>/dev/null)*" == "*1*" ] && { [ -z "$(ps |grep "$NAME" |grep "app.js" |grep -v "grep")" ] && /etc/init.d/$NAME restart; } diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh b/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh deleted file mode 100755 index 8b3bd22c80..0000000000 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/usr/share/unblockneteasemusic/update.sh +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/bash -# Created By ImmortalWrt -# https://github.com/immortalwrt - -NAME="unblockneteasemusic" - -function check_core_if_already_running(){ - running_tasks="$(ps |grep "$NAME" |grep "update.sh" |grep "update_core" |grep -v "grep" |awk '{print $1}' |wc -l)" - [ "${running_tasks}" -gt "2" ] && { echo -e "\nA task is already running." >> "/tmp/$NAME.log"; exit 2; } -} - -function check_luci_if_already_running(){ - running_tasks="$(ps |grep "$NAME" |grep "update.sh" |grep "update_luci" |grep -v "grep" |awk '{print $1}' |wc -l)" - [ "${running_tasks}" -gt "2" ] && { echo -e "\nA task is already running." >> "/tmp/$NAME.log"; exit 2; } -} - -function clean_log(){ - echo "" > "/tmp/$NAME.log" -} - -function check_luci_latest_version(){ - luci_latest_ver="$(curl -s 'https://github.com/immortalwrt/luci-app-unblockneteasemusic/releases/latest'| grep -Eo '[0-9\.]+\-[0-9]+')" - [ -z "${luci_latest_ver}" ] && { echo -e "\nFailed to check latest LuCI version, please try again later." >> "/tmp/$NAME.log"; exit 1; } - if [ "$(opkg info "luci-app-unblockneteasemusic" |sed -n "2p" |tr -d "Version: ")" != "${luci_latest_ver}" ]; then - clean_log - echo -e "Local LuCI version: $(opkg info "luci-app-unblockneteasemusic" |sed -n "2p" |tr -d "Version: "), cloud LuCI version: ${luci_latest_ver}." >> "/tmp/$NAME.log" - update_luci - else - echo -e "\nLocal LuCI version: $(opkg info "luci-app-unblockneteasemusic" |sed -n "2p" |tr -d "Version: "), cloud LuCI version: ${luci_latest_ver}." >> "/tmp/$NAME.log" - echo -e "You're already using the latest LuCI version." >> "/tmp/$NAME.log" - exit 3 - fi -} - -function update_luci(){ - echo -e "Updating LuCI..." >> "/tmp/$NAME.log" - - mkdir -p "/tmp" > "/dev/null" 2>&1 - - curl -sL "https://github.com/immortalwrt/luci-app-unblockneteasemusic/releases/download/v${luci_latest_ver}/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" -o "/tmp/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" > "/dev/null" 2>&1 - opkg install "/tmp/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" - rm -f "/tmp/luci-app-unblockneteasemusic_${luci_latest_ver}_all.ipk" - rm -rf "/tmp/luci-indexcache" "/tmp/luci-modulecache" - - if [ "$(opkg info 'luci-app-unblockneteasemusic' |sed -n '2p' |tr -d 'Version: ')" != "${luci_latest_ver}" ]; then - echo -e "Failed to update LuCI." >> "/tmp/$NAME.log" - exit 1 - else - touch "/usr/share/$NAME/update_luci_successfully" - /etc/init.d/firewall restart > "/dev/null" 2>&1 - fi - - echo -e "Succeeded in updating LuCI." > "/tmp/$NAME.log" - echo -e "Current LuCI version: ${luci_latest_ver}.\n" >> "/tmp/$NAME.log" -} - -function check_core_latest_version(){ - core_latest_ver="$(curl -s https://github.com/1715173329/UnblockNeteaseMusic/commits/enhanced |tr -d '\n' |grep -Eo 'commit\/[0-9a-z]+' |sed -n 1p |sed 's#commit/##g')" - [ -z "${core_latest_ver}" ] && { echo -e "\nFailed to check latest core version, please try again later." >> "/tmp/$NAME.log"; exit 1; } - if [ ! -e "/usr/share/$NAME/core_local_ver" ]; then - clean_log - echo -e "Local version: NOT FOUND, cloud version: ${core_latest_ver}." >> "/tmp/$NAME.log" - update_core - else - if [ "$(cat /usr/share/$NAME/core_local_ver)" != "${core_latest_ver}" ]; then - clean_log - echo -e "Local core version: $(cat /usr/share/$NAME/core_local_ver 2>"/dev/null"), cloud core version: ${core_latest_ver}." >> "/tmp/$NAME.log" - update_core - else - echo -e "\nLocal core version: $(cat /usr/share/$NAME/core_local_ver 2>"/dev/null"), cloud core version: ${core_latest_ver}." >> "/tmp/$NAME.log" - echo -e "You're already using the latest core version." >> "/tmp/$NAME.log" - exit 3 - fi - fi -} - -function update_core(){ - echo -e "Updating core..." >> "/tmp/$NAME.log" - - mkdir -p "/usr/share/$NAME/core" > "/dev/null" 2>&1 - rm -rf /usr/share/$NAME/core/* > "/dev/null" 2>&1 - - curl -sL "https://github.com/1715173329/UnblockNeteaseMusic/archive/enhanced.tar.gz" -o "/usr/share/$NAME/core/core.tar.gz" > "/dev/null" 2>&1 - tar -zxf "/usr/share/$NAME/core/core.tar.gz" -C "/usr/share/$NAME/core/" > "/dev/null" 2>&1 - mv /usr/share/$NAME/core/UnblockNeteaseMusic-enhanced/* "/usr/share/$NAME/core/" - rm -rf "/usr/share/$NAME/core/core.tar.gz" "/usr/share/$NAME/core/UnblockNeteaseMusic-enhanced" > "/dev/null" 2>&1 - - if [ ! -e "/usr/share/$NAME/core/app.js" ]; then - echo -e "Failed to download core." >> "/tmp/$NAME.log" - exit 1 - else - [ "${update_core_from_luci}" == "y" ] && touch "/usr/share/$NAME/update_core_successfully" - echo -e "${core_latest_ver}" > "/usr/share/$NAME/core_local_ver" - [ "${non_restart}" != "y" ] && /etc/init.d/$NAME restart - fi - - echo -e "Succeeded in updating core." > "/tmp/$NAME.log" - echo -e "Current core version: ${core_latest_ver}.\n" >> "/tmp/$NAME.log" -} - -case "$1" in - "update_luci") - check_luci_if_already_running - check_luci_latest_version - ;; - "update_core") - check_core_if_already_running - check_core_latest_version - ;; - "update_core_non_restart") - non_restart="y" - check_core_if_already_running - check_core_latest_version - ;; - "update_core_from_luci") - update_core_from_luci="y" - check_core_if_already_running - check_core_latest_version - ;; - *) - echo -e "Usage: ./update.sh {update_luci|update_core}" - ;; -esac diff --git a/package/ctcgfw/luci-app-usb3disable/Makefile b/package/ctcgfw/luci-app-usb3disable/Makefile deleted file mode 100644 index d722b88e62..0000000000 --- a/package/ctcgfw/luci-app-usb3disable/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI support disable usb3 -LUCI_DEPENDS:= -LUCI_PKGARCH:=all -PKG_NAME:=luci-app-usb3disable -PKG_VERSION:=1.0 -PKG_RELEASE:=1 - -define Package/luci-app-usb3disable/install - $(INSTALL_DIR) $(1)/usr/lib/lua/luci - cp -pR ./luasrc/* $(1)/usr/lib/lua/luci - $(INSTALL_DIR) $(1)/ - cp -pR ./root/* $(1)/ -endef - -define Package/luci-app-usb3disable/postinst -#!/bin/sh - rm -f /tmp/luci-indexcache - rm -f /tmp/luci-modulecache/* -exit 0 -endef -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature - diff --git a/package/ctcgfw/luci-app-usb3disable/luasrc/controller/usb3disable.lua b/package/ctcgfw/luci-app-usb3disable/luasrc/controller/usb3disable.lua deleted file mode 100644 index 4c5fd59b90..0000000000 --- a/package/ctcgfw/luci-app-usb3disable/luasrc/controller/usb3disable.lua +++ /dev/null @@ -1,6 +0,0 @@ -module("luci.controller.usb3disable",package.seeall) -nixio=require"nixio" -function index() -entry({"admin","system","usb3disable"},alias("admin","system","usb3disable","usb3disable"),_("usb3disable")) -entry({"admin","system","usb3disable","usb3disable"},cbi("usb3disable"),_("usb3disable"),1) -end \ No newline at end of file diff --git a/package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua b/package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua deleted file mode 100644 index 1b3126dbe3..0000000000 --- a/package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua +++ /dev/null @@ -1,45 +0,0 @@ -local sys=require("luci.sys") -local m,s,o,d,e,p -m=Map("usb3disable","usb3disable") - -s=m:section(TypedSection,"usb3disable") -s.anonymous=true -s.addremove=false -e=sys.exec("cat /etc/modules.d/$(ls /etc/modules.d | grep usb3) >/tmp/run/usb3module ; lsmod | awk '{gsub(\"_\",\"-\",$1);print $1}' >>/tmp/run/usb3module ; sort /tmp/run/usb3module | uniq -d | sort -n ; rm /tmp/run/usb3module") -if e=="" then - o=s:option(Button,"enabled",translate("enable now")) - o.optional=false - o.inputtitle=translate("enable") - o.write=function() - sys.exec("cat /etc/modules.d/$(ls /etc/modules.d | grep usb3) | awk '{print \"insmod \"$0}' >/var/run/usb3module ; sh /var/run/usb3module; rm /var/run/usb3module") - luci.http.redirect(luci.dispatcher.build_url("admin","system","usb3disable")) - end -else - o=s:option(Button,"disabled",translate("disable now")) - o.optional=false - o.inputtitle=translate("Disable") - o.write=function() - sys.exec("cat /etc/modules.d/$(ls /etc/modules.d | grep usb3) | sed -n '1!G;h;$p' | awk '{print \"rmmod \"$0}' >/var/run/usb3module ; sh /var/run/usb3module; rm /var/run/usb3module") - luci.http.redirect(luci.dispatcher.build_url("admin","system","usb3disable")) - end -end -d=sys.exec("ls /etc/modules-boot.d | grep usb3") -if d=="" then - o=s:option(Button,"enabledstartup",translate("enable on boot")) - o.optional=false - o.inputtitle=translate("Enable") - o.write=function() - sys.exec("ln -s /etc/modules.d/*usb3 /etc/modules-boot.d/") - luci.http.redirect(luci.dispatcher.build_url("admin","system","usb3disable")) - end -else -o=s:option(Button,"disabledstartup",translate("disable on boot")) - o.optional=false - o.inputtitle=translate("Disable") - o.write=function() - sys.exec("rm /etc/modules-boot.d/*-usb3") - luci.http.redirect(luci.dispatcher.build_url("admin","system","usb3disable")) - end - -end -return m \ No newline at end of file diff --git a/package/ctcgfw/luci-app-usb3disable/po/zh_Hans/usb3disable.po b/package/ctcgfw/luci-app-usb3disable/po/zh_Hans/usb3disable.po deleted file mode 100644 index b2ef874f93..0000000000 --- a/package/ctcgfw/luci-app-usb3disable/po/zh_Hans/usb3disable.po +++ /dev/null @@ -1,43 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh_Hans\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua:20 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua:38 -msgid "Disable" -msgstr "禁用" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua:30 -msgid "Enable" -msgstr "启用" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua:18 -msgid "disable now" -msgstr "立即禁用" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua:36 -msgid "disable on boot" -msgstr "开机时禁用" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua:12 -msgid "enable" -msgstr "启用" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua:10 -msgid "enable now" -msgstr "立即启用" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-usb3disable/luasrc/model/cbi/usb3disable.lua:28 -msgid "enable on boot" -msgstr "开机时启用" - -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-usb3disable/luasrc/controller/usb3disable.lua:4 -#: /mnt/A/openwrt-latest/package/ctcgfw/luci-app-usb3disable/luasrc/controller/usb3disable.lua:5 -msgid "usb3disable" -msgstr "禁用USB3" diff --git a/package/ctcgfw/luci-app-usb3disable/root/etc/config/usb3disable b/package/ctcgfw/luci-app-usb3disable/root/etc/config/usb3disable deleted file mode 100644 index 02ecf5d222..0000000000 --- a/package/ctcgfw/luci-app-usb3disable/root/etc/config/usb3disable +++ /dev/null @@ -1,2 +0,0 @@ - -config usb3disable 'usb3disable' diff --git a/package/ctcgfw/luci-app-usb3disable/root/usr/share/rpcd/acl.d/luci-app-usb3disable.json b/package/ctcgfw/luci-app-usb3disable/root/usr/share/rpcd/acl.d/luci-app-usb3disable.json deleted file mode 100644 index c2c4383984..0000000000 --- a/package/ctcgfw/luci-app-usb3disable/root/usr/share/rpcd/acl.d/luci-app-usb3disable.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-usb3disable": { - "description": "Grant UCI access for luci-app-usb3disable", - "read": { - "uci": [ "usb3disable" ] - }, - "write": { - "uci": [ "usb3disable" ] - } - } -} diff --git a/package/ctcgfw/luci-app-verysync/Makefile b/package/ctcgfw/luci-app-verysync/Makefile deleted file mode 100644 index 7c37c8d845..0000000000 --- a/package/ctcgfw/luci-app-verysync/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI support for Verysync -LUCI_DEPENDS:=+verysync -LUCI_PKGARCH:=all -PKG_VERSION:=1.0 -PKG_RELEASE:=4 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-verysync/luasrc/controller/verysync.lua b/package/ctcgfw/luci-app-verysync/luasrc/controller/verysync.lua deleted file mode 100644 index 04518d5bbf..0000000000 --- a/package/ctcgfw/luci-app-verysync/luasrc/controller/verysync.lua +++ /dev/null @@ -1,17 +0,0 @@ -module("luci.controller.verysync", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/verysync") then - return - end - - entry({"admin", "nas", "verysync"}, cbi("verysync"), _("Verysync"), 10).dependent = true - entry({"admin","nas","verysync","status"},call("act_status")).leaf=true -end - -function act_status() - local e={} - e.running=luci.sys.call("pgrep verysync >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end diff --git a/package/ctcgfw/luci-app-verysync/luasrc/model/cbi/verysync.lua b/package/ctcgfw/luci-app-verysync/luasrc/model/cbi/verysync.lua deleted file mode 100644 index 097d6f1885..0000000000 --- a/package/ctcgfw/luci-app-verysync/luasrc/model/cbi/verysync.lua +++ /dev/null @@ -1,27 +0,0 @@ --- Copyright 2008 Yanira --- Copyright 2020 KFERMercer --- Licensed to the public under the Apache License 2.0. - -m = Map("verysync") -m.title = translate("Verysync") -m.description = translate("Simple and easy-to-use multi-platform file synchronization software, astonishing transmission speed is different from the greatest advantage of other products. Micro-force synchronization of intelligent P2P technology to accelerate synchronization, will split the file into several KB-only data synchronization, and the file will be AES encryption processing.") - -m:section(SimpleSection).template = "verysync/verysync_status" - -s = m:section(TypedSection, "verysync") -s.addremove = false -s.anonymous = true - -o = s:option(Flag, "enabled", translate("Enable")) -o.rmempty = false - -o = s:option(Value, "port", translate("Port")) -o.datatype = "port" -o.placeholder = "8886" -o.default = "8886" -o.rmempty = false - -o = s:option(Value, "profile", translate("Store configuration files in the Path")) -o.default = '/etc/verysync/' - -return m diff --git a/package/ctcgfw/luci-app-verysync/luasrc/view/verysync/verysync_status.htm b/package/ctcgfw/luci-app-verysync/luasrc/view/verysync/verysync_status.htm deleted file mode 100644 index 65d8cbee65..0000000000 --- a/package/ctcgfw/luci-app-verysync/luasrc/view/verysync/verysync_status.htm +++ /dev/null @@ -1,28 +0,0 @@ - - -
    -

    - <%:Collecting data...%> -

    -
    diff --git a/package/ctcgfw/luci-app-verysync/po/zh_Hans/verysync.po b/package/ctcgfw/luci-app-verysync/po/zh_Hans/verysync.po deleted file mode 100644 index 647e401ff4..0000000000 --- a/package/ctcgfw/luci-app-verysync/po/zh_Hans/verysync.po +++ /dev/null @@ -1,11 +0,0 @@ -msgid "Verysync" -msgstr "微力同步" - -msgid "Simple and easy-to-use multi-platform file synchronization software, astonishing transmission speed is different from the greatest advantage of other products. Micro-force synchronization of intelligent P2P technology to accelerate synchronization, will split the file into several KB-only data synchronization, and the file will be AES encryption processing." -msgstr "简单易用的多平台文件同步软件, 惊人的传输速度是不同于其他产品的最大优势. 微力同步的智能 P2P 加速同步技术会将文件分割成若干份仅 KB 的数据进行传输, 同时会使用 AES 加密处理." - -msgid "Open Verysync page" -msgstr "打开微力同步页面" - -msgid "Store configuration files in the Path" -msgstr "配置文件存放路径" diff --git a/package/ctcgfw/luci-app-verysync/root/etc/config/verysync b/package/ctcgfw/luci-app-verysync/root/etc/config/verysync deleted file mode 100644 index 7d6720ee2b..0000000000 --- a/package/ctcgfw/luci-app-verysync/root/etc/config/verysync +++ /dev/null @@ -1,2 +0,0 @@ - -config verysync 'config' diff --git a/package/ctcgfw/luci-app-verysync/root/etc/init.d/verysync b/package/ctcgfw/luci-app-verysync/root/etc/init.d/verysync deleted file mode 100755 index 146ddc3506..0000000000 --- a/package/ctcgfw/luci-app-verysync/root/etc/init.d/verysync +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=50 -STOP=10 - -start() { - local enabled="$(uci get verysync.config.enabled)" - local port="$(uci get verysync.config.port)" - local profile="$(uci get verysync.config.profile)" - stop - [ "${enabled}" == "1" ] || exit 0 - export HOME="/root/" - verysync -gui-address="0.0.0.0:${port}" -logfile="/var/log/verysync.log" -home="${profile}" -no-browser >/dev/null 2>&1 & -} - -stop() { - kill -9 `pgrep verysync` >/dev/null 2>&1 -} diff --git a/package/ctcgfw/luci-app-verysync/root/etc/uci-defaults/luci-verysync b/package/ctcgfw/luci-app-verysync/root/etc/uci-defaults/luci-verysync deleted file mode 100755 index 52e9dbffcd..0000000000 --- a/package/ctcgfw/luci-app-verysync/root/etc/uci-defaults/luci-verysync +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@verysync[-1] - add ucitrack verysync - set ucitrack.@verysync[-1].init=verysync - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-verysync/root/usr/share/rpcd/acl.d/luci-app-verysync.json b/package/ctcgfw/luci-app-verysync/root/usr/share/rpcd/acl.d/luci-app-verysync.json deleted file mode 100644 index f900200160..0000000000 --- a/package/ctcgfw/luci-app-verysync/root/usr/share/rpcd/acl.d/luci-app-verysync.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-verysync": { - "description": "Grant UCI access for luci-app-verysync", - "read": { - "uci": [ "verysync" ] - }, - "write": { - "uci": [ "verysync" ] - } - } -} diff --git a/package/ctcgfw/luci-app-vssr/Makefile b/package/ctcgfw/luci-app-vssr/Makefile deleted file mode 100644 index ab96294d45..0000000000 --- a/package/ctcgfw/luci-app-vssr/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-vssr -PKG_VERSION:=1.22 -PKG_RELEASE:=20210227 - -PKG_CONFIG_DEPENDS:= \ - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun \ - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server \ - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Trojan \ - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Xray \ - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Xray_plugin - -LUCI_TITLE:=A New SS/SSR/Xray/Trojan LuCI interface -LUCI_PKGARCH:=all -LUCI_DEPENDS:= \ - +bash +coreutils +coreutils-base64 +dnsmasq-full +ip-full +ipset +iptables-mod-tproxy \ - +lua +lua-maxminddb +luasocket +pdnsd-alt +shadowsocksr-libev-ssr-check +shadowsocksr-libev-ssr-redir \ - +shadowsocks-libev-ss-local +shadowsocksr-libev-ssr-local +shadowsocks-libev-ss-redir +simple-obfs +wget-ssl \ - +PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun:kcptun-client \ - +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server:shadowsocksr-libev-ssr-server \ - +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan:trojan \ - +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan:ipt2socks \ - +PACKAGE_$(PKG_NAME)_INCLUDE_Xray:xray-core \ - +PACKAGE_$(PKG_NAME)_INCLUDE_Xray_plugin:xray-plugin - -define Package/$(PKG_NAME)/config - -config PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun - bool "Include Kcptun" - default n - -config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server - bool "Include ShadowsocksR Server" - default y if i386||x86_64||arm||aarch64 - -config PACKAGE_$(PKG_NAME)_INCLUDE_Trojan - bool "Include Trojan" - default y if i386||x86_64||arm||aarch64 - -config PACKAGE_$(PKG_NAME)_INCLUDE_Xray - bool "Include Xray" - default y if i386||x86_64||arm||aarch64 - -config PACKAGE_$(PKG_NAME)_INCLUDE_Xray_plugin - bool "Include Shadowsocks Xray Plugin" - default y if i386||x86_64||arm||aarch64 -endef - -define Package/$(PKG_NAME)/conffiles -/etc/vssr/ -/etc/config/vssr -endef - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-vssr/luasrc/controller/vssr.lua b/package/ctcgfw/luci-app-vssr/luasrc/controller/vssr.lua deleted file mode 100644 index 7c5df5e781..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/controller/vssr.lua +++ /dev/null @@ -1,315 +0,0 @@ --- Copyright (C) 2018 jerrykuku --- Licensed to the public under the GNU General Public License v3. -module('luci.controller.vssr', package.seeall) - -function index() - if not nixio.fs.access('/etc/config/vssr') then - return - end - - if nixio.fs.access('/usr/bin/ssr-redir') then - entry({'admin', 'services', 'vssr'}, alias('admin', 'services', 'vssr', 'client'), _('Hello World'), 0).dependent = true -- 首页 - entry({'admin', 'services', 'vssr', 'client'}, cbi('vssr/client'), _('SSR Client'), 10).leaf = true -- 基本设置 - entry({'admin', 'services', 'vssr', 'servers'}, cbi('vssr/servers'), _('Severs Nodes'), 11).leaf = true -- 服务器节点 - entry({'admin', 'services', 'vssr', 'servers'}, arcombine(cbi('vssr/servers'), cbi('vssr/client-config')), _('Severs Nodes'), 11).leaf = true -- 编辑节点 - entry({'admin', 'services', 'vssr', 'subscribe_config'}, cbi('vssr/subscribe-config', {hideapplybtn = true, hidesavebtn = true, hideresetbtn = true}), _('Subscribe'), 12).leaf = true -- 订阅设置 - entry({'admin', 'services', 'vssr', 'control'}, cbi('vssr/control'), _('Access Control'), 13).leaf = true -- 访问控制 - entry({'admin', 'services', 'vssr', 'router'}, cbi('vssr/router'), _('Router Config'), 14).leaf = true -- 访问控制 - if nixio.fs.access('/usr/bin/xray') or nixio.fs.access('/usr/bin/xray/xray') then - entry({'admin', 'services', 'vssr', 'socks5'}, cbi('vssr/socks5'), _('Local Proxy'), 15).leaf = true -- Socks5代理 - end - entry({'admin', 'services', 'vssr', 'advanced'}, cbi('vssr/advanced'), _('Advanced Settings'), 16).leaf = true -- 高级设置 - elseif nixio.fs.access('/usr/bin/ssr-server') then - entry({'admin', 'services', 'vssr'}, alias('admin', 'services', 'vssr', 'server'), _('vssr'), 10).dependent = true - else - return - end - - if nixio.fs.access('/usr/bin/ssr-server') then - entry({'admin', 'services', 'vssr', 'server'}, arcombine(cbi('vssr/server'), cbi('vssr/server-config')), _('SSR Server'), 20).leaf = true - end - - entry({'admin', 'services', 'vssr', 'log'}, cbi('vssr/log'), _('Log'), 30).leaf = true - --entry({'admin', 'services', 'vssr', 'licence'}, template('vssr/licence'), _('Licence'), 40).leaf = true - - entry({'admin', 'services', 'vssr', 'refresh'}, call('refresh_data')) -- 更新白名单和GFWLIST - entry({'admin', 'services', 'vssr', 'checkport'}, call('check_port')) -- 检测单个端口并返回Ping - entry({'admin', 'services', 'vssr', 'run'}, call('act_status')) -- 检测全局服务器状态 - entry({'admin', 'services', 'vssr', 'change'}, call('change_node')) -- 切换节点 - entry({'admin', 'services', 'vssr', 'allserver'}, call('get_servers')) -- 获取所有节点Json - entry({'admin', 'services', 'vssr', 'subscribe'}, call('get_subscribe')) -- 执行订阅 - entry({'admin', 'services', 'vssr', 'flag'}, call('get_flag')) -- 获取节点国旗 iso code - entry({'admin', 'services', 'vssr', 'ip'}, call('check_ip')) -- 获取ip情况 - entry({'admin', 'services', 'vssr', 'switch'}, call('switch')) -- 设置节点为自动切换 - entry({'admin', 'services', 'vssr', 'delnode'}, call('del_node')) -- 删除某个节点 -end - --- 执行订阅 -function get_subscribe() - local cjson = require 'luci.jsonc' - local e = {} - local name = 'vssr' - local uci = luci.model.uci.cursor() - local auto_update = luci.http.formvalue('auto_update') - local auto_update_time = luci.http.formvalue('auto_update_time') - local proxy = luci.http.formvalue('proxy') - local subscribe_url = luci.http.formvalue('subscribe_url') - local filter_words = luci.http.formvalue('filter_words') - if subscribe_url ~= '[]' then - uci:delete(name, '@server_subscribe[0]', subscribe_url) - uci:set(name, '@server_subscribe[0]', 'auto_update', auto_update) - uci:set(name, '@server_subscribe[0]', 'auto_update_time', auto_update_time) - uci:set(name, '@server_subscribe[0]', 'proxy', proxy) - uci:set(name, '@server_subscribe[0]', 'filter_words', filter_words) - uci:set_list(name, '@server_subscribe[0]', 'subscribe_url', cjson.parse(subscribe_url)) - uci:commit(name) - luci.sys.exec('/usr/bin/lua /usr/share/vssr/subscribe.lua >/www/check_update.htm 2>/dev/null &') - e.error = 0 - else - e.error = 1 - end - luci.http.prepare_content('application/json') - luci.http.write_json(e) -end - --- 获取所有节点 -function get_servers() - local uci = luci.model.uci.cursor() - local server_table = {} - uci:foreach( - 'vssr', - 'servers', - function(s) - local e = {} - e['name'] = s['.name'] - table.insert(server_table, e) - end - ) - luci.http.prepare_content('application/json') - luci.http.write_json(server_table) -end - --- 删除指定节点 -function del_node() - local e = {} - local uci = luci.model.uci.cursor() - local node = luci.http.formvalue('node') - e.status = false - e.node = node - if node ~= '' then - uci:delete('vssr', node) - uci:save('vssr') - uci:commit('vssr') - e.status = true - end - luci.http.prepare_content('application/json') - luci.http.write_json(e) -end - --- 切换节点 -function change_node() - local sockets = require 'socket' - local e = {} - local uci = luci.model.uci.cursor() - local sid = luci.http.formvalue('set') - local server = luci.http.formvalue('server') - e.status = false - e.sid = sid - if sid ~= '' and server ~= '' then - uci:set('vssr', '@global[0]', server .. '_server', sid) - if (server ~= 'global' and server ~= 'udp_relay') then - uci:set('vssr', '@global[0]', 'v2ray_flow', '1') - end - uci:commit('vssr') - luci.sys.call('/etc/init.d/vssr restart >/www/restartlog.htm 2>&1') - e.status = true - end - luci.http.prepare_content('application/json') - luci.http.write_json(e) -end - --- 设置节点为自动切换 -function switch() - local e = {} - local uci = luci.model.uci.cursor() - local sid = luci.http.formvalue('node') - local isSwitch = uci:get('vssr', sid, 'switch_enable') - local toSwitch = (isSwitch == '1') and '0' or '1' - uci:set('vssr', sid, 'switch_enable', toSwitch) - uci:commit('vssr') - if isSwitch == '1' then - e.switch = false - else - e.switch = true - end - e.status = true - luci.http.prepare_content('application/json') - luci.http.write_json(e) -end - --- 检测全局服务器状态 -function act_status() - math.randomseed(os.time()) - local e = {} - -- 全局服务器 - e.global = luci.sys.call('busybox ps -w | grep vssr_t | grep -v grep >/dev/null') == 0 - -- 检测PDNSD状态 - e.pdnsd = luci.sys.call('pidof pdnsd >/dev/null') == 0 - -- 检测游戏模式状态 - e.game = luci.sys.call('busybox ps -w | grep vssr_u | grep -v grep >/dev/null') == 0 - -- 检测Socks5 - e.socks5 = luci.sys.call('busybox ps -w | grep vssr_s | grep -v grep >/dev/null') == 0 - luci.http.prepare_content('application/json') - luci.http.write_json(e) -end - --- 检测单个节点状态并返回连接速度 -function check_port() - local sockets = require 'socket' - local vssr = require 'vssrutil' - local set = luci.http.formvalue('host') - local port = luci.http.formvalue('port') - local retstring = '' - local t0 = sockets.gettime() - ret = vssr.check_site(set, port) - local t1 = sockets.gettime() - retstring = tostring(ret) == 'true' and '1' or '0' - local tt = t1 - t0 - luci.http.prepare_content('application/json') - luci.http.write_json({ret = retstring, used = math.floor(tt * 1000 + 0.5)}) -end - -function get_iso(ip) - local mm = require 'maxminddb' - local db = mm.open('/usr/share/vssr/GeoLite2-Country.mmdb') - local res = db:lookup(ip) - return string.lower(res:get('country', 'iso_code')) -end - -function get_cname(ip) - local mm = require 'maxminddb' - local db = mm.open('/usr/share/vssr/GeoLite2-Country.mmdb') - local res = db:lookup(ip) - return string.lower(res:get('country', 'names', 'zh-CN')) -end - --- 获取当前代理状态 与节点ip -function check_ip() - local e = {} - local d = {} - local vssr = require 'vssrutil' - local port = 80 - local ip = vssr.wget('http://api.ipify.org/') - d.flag = 'un' - d.country = 'Unknown' - if (ip ~= '') then - local status, code = pcall(get_iso, ip) - if (status) then - d.flag = code - end - local status1, country = pcall(get_cname, ip) - if (status1) then - d.country = country - end - end - e.outboard = ip - e.outboardip = d - e.baidu = vssr.check_site('www.baidu.com', port) - e.taobao = vssr.check_site('www.taobao.com', port) - e.google = vssr.check_site('www.google.com', port) - e.youtube = vssr.check_site('www.youtube.com', port) - luci.http.prepare_content('application/json') - luci.http.write_json(e) -end - --- 获取节点国旗 iso code -function get_flag() - local e = {} - local vssr = require 'vssrutil' - local host = luci.http.formvalue('host') - local remark = luci.http.formvalue('remark') - e.host = host - e.flag = vssr.get_flag(remark, host) - luci.http.prepare_content('application/json') - luci.http.write_json(e) -end - --- 刷新检测文件 - -function refresh_data() - local set = luci.http.formvalue('set') - local icount = 0 - - if set == 'gfw_data' then - refresh_cmd = 'wget-ssl --no-check-certificate https://cdn.jsdelivr.net/gh/gfwlist/gfwlist/gfwlist.txt -O /tmp/gfw.b64' - sret = luci.sys.call(refresh_cmd .. ' 2>/dev/null') - if sret == 0 then - luci.sys.call('/usr/bin/vssr-gfw') - icount = luci.sys.exec('cat /tmp/gfwnew.txt | wc -l') - if tonumber(icount) > 1000 then - oldcount = luci.sys.exec('cat /etc/vssr/gfw_list.conf | wc -l') - if tonumber(icount) ~= tonumber(oldcount) then - luci.sys.exec('cp -f /tmp/gfwnew.txt /etc/vssr/gfw_list.conf') - retstring = tostring(math.ceil(tonumber(icount) / 2)) - else - retstring = '0' - end - else - retstring = '-1' - end - luci.sys.exec('rm -f /tmp/gfwnew.txt ') - else - retstring = '-1' - end - elseif set == 'ip_data' then - refresh_cmd = "wget-ssl -O- 'https://ispip.clang.cn/all_cn.txt' > /tmp/china_ssr.txt 2>/dev/null" - sret = luci.sys.call(refresh_cmd) - icount = luci.sys.exec('cat /tmp/china_ssr.txt | wc -l') - if sret == 0 and tonumber(icount) > 1000 then - oldcount = luci.sys.exec('cat /etc/vssr/china_ssr.txt | wc -l') - if tonumber(icount) ~= tonumber(oldcount) then - luci.sys.exec('cp -f /tmp/china_ssr.txt /etc/vssr/china_ssr.txt') - retstring = tostring(tonumber(icount)) - else - retstring = '0' - end - else - retstring = '-1' - end - luci.sys.exec('rm -f /tmp/china_ssr.txt ') - else - local need_process = 0 - refresh_cmd = 'wget-ssl --no-check-certificate -O - https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt > /tmp/adnew.conf' - need_process = 1 - sret = luci.sys.call(refresh_cmd .. ' 2>/dev/null') - if sret == 0 then - if need_process == 1 then - luci.sys.call('/usr/bin/vssr-ad') - end - icount = luci.sys.exec('cat /tmp/ad.conf | wc -l') - if tonumber(icount) > 1000 then - if nixio.fs.access('/etc/vssr/ad.conf') then - oldcount = luci.sys.exec('cat /etc/vssr/ad.conf | wc -l') - else - oldcount = 0 - end - if tonumber(icount) ~= tonumber(oldcount) then - luci.sys.exec('cp -f /tmp/ad.conf /etc/vssr/ad.conf') - retstring = tostring(math.ceil(tonumber(icount))) - if oldcount == 0 then - luci.sys.call('/etc/init.d/dnsmasq restart') - end - else - retstring = '0' - end - else - retstring = '-1' - end - luci.sys.exec('rm -f /tmp/ad.conf') - else - retstring = '-1' - end - end - luci.http.prepare_content('application/json') - luci.http.write_json({ret = retstring, retcount = icount}) -end diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/advanced.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/advanced.lua deleted file mode 100644 index 1489811092..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/advanced.lua +++ /dev/null @@ -1,94 +0,0 @@ -local vssr = 'vssr' -local uci = luci.model.uci.cursor() -local server_table = {} - -local gfwmode = 0 -local gfw_count = 0 -local ip_count = 0 -local ad_count = 0 -local server_count = 0 - -if nixio.fs.access('/etc/vssr/gfw_list.conf') then - gfwmode = 1 -end - -local sys = require 'luci.sys' - -if gfwmode == 1 then - gfw_count = tonumber(sys.exec('cat /etc/vssr/gfw_list.conf | wc -l')) / 2 - if nixio.fs.access('/etc/vssr/ad.conf') then - ad_count = tonumber(sys.exec('cat /etc/vssr/ad.conf | wc -l')) - end -end - -if nixio.fs.access('/etc/vssr/china_ssr.txt') then - ip_count = sys.exec('cat /etc/vssr/china_ssr.txt | wc -l') -end - -uci:foreach( - 'vssr', - 'servers', - function(s) - server_count = server_count + 1 - end -) - -m = Map(vssr) - --- [[ 服务器节点故障自动切换设置 ]]-- - -s = m:section(TypedSection, 'global', translate('Server failsafe auto swith settings')) -s.anonymous = true - -o = s:option(Flag, 'monitor_enable', translate('Enable Process Deamon')) -o.rmempty = false - -o = s:option(Flag, 'enable_switch', translate('Enable Auto Switch')) -o.rmempty = false - -o = s:option(Value, 'switch_time', translate('Switch check cycly(second)')) -o.datatype = 'uinteger' -o:depends('enable_switch', '1') -o.default = 3600 - -o = s:option(Value, 'switch_timeout', translate('Check timout(second)')) -o.datatype = 'uinteger' -o:depends('enable_switch', '1') -o.default = 5 - -o = s:option(Value, 'switch_try_count', translate('Check Try Count')) -o.datatype = 'uinteger' -o:depends('enable_switch', '1') -o.default = 3 - - --- [[ adblock ]]-- -s = m:section(TypedSection, 'global', translate('adblock settings')) -s.anonymous = true - -o = s:option(Flag, 'adblock', translate('Enable adblock')) -o.rmempty = false - --- [[ 更新设置 ]]-- - -s = m:section(TypedSection, 'socks5_proxy', translate('Update Setting')) -s.anonymous = true - -o = s:option(Button, 'gfw_data', translate('GFW List Data')) -o.rawhtml = true -o.template = 'vssr/refresh' -o.value = tostring(math.ceil(gfw_count)) .. ' ' .. translate('Records') - -o = s:option(Button, 'ip_data', translate('China IP Data')) -o.rawhtml = true -o.template = 'vssr/refresh' -o.value = ip_count .. ' ' .. translate('Records') - -if uci:get_first('vssr', 'global', 'adblock', '') == '1' then - o = s:option(Button, 'ad_data', translate('Advertising Data')) - o.rawhtml = true - o.template = 'vssr/refresh' - o.value = ad_count .. ' ' .. translate('Records') -end - -return m diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/client-config.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/client-config.lua deleted file mode 100644 index f5452ecd3e..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/client-config.lua +++ /dev/null @@ -1,482 +0,0 @@ --- Copyright (C) 2017 yushi studio github.com/ywb94 --- Licensed to the public under the GNU General Public License v3. -local m, s, o, kcp_enable -local vssr = 'vssr' -local uci = luci.model.uci.cursor() - -local fs = require 'nixio.fs' -local sys = require 'luci.sys' -local sid = arg[1] -local uuid = luci.sys.exec('cat /proc/sys/kernel/random/uuid') - -local function isKcptun(file) - if not fs.access(file, 'rwx', 'rx', 'rx') then - fs.chmod(file, 755) - end - - local str = sys.exec(file .. " -v | awk '{printf $1}'") - return (str:lower() == 'kcptun') -end - -local server_table = {} -local encrypt_methods = { - 'none', - 'table', - 'rc4', - 'rc4-md5-6', - 'rc4-md5', - 'aes-128-cfb', - 'aes-192-cfb', - 'aes-256-cfb', - 'aes-128-ctr', - 'aes-192-ctr', - 'aes-256-ctr', - 'bf-cfb', - 'camellia-128-cfb', - 'camellia-192-cfb', - 'camellia-256-cfb', - 'cast5-cfb', - 'des-cfb', - 'idea-cfb', - 'rc2-cfb', - 'seed-cfb', - 'salsa20', - 'chacha20', - 'chacha20-ietf' -} - -local encrypt_methods_ss = { - -- aead - 'aes-128-gcm', - 'aes-192-gcm', - 'aes-256-gcm', - 'chacha20-ietf-poly1305', - 'xchacha20-ietf-poly1305', -- stream - 'table', - 'rc4', - 'rc4-md5', - 'aes-128-cfb', - 'aes-192-cfb', - 'aes-256-cfb', - 'aes-128-ctr', - 'aes-192-ctr', - 'aes-256-ctr', - 'bf-cfb', - 'camellia-128-cfb', - 'camellia-192-cfb', - 'camellia-256-cfb', - 'salsa20', - 'chacha20', - 'chacha20-ietf' -} - -local protocol = { - 'origin', - 'verify_deflate', - 'auth_sha1_v4', - 'auth_aes128_sha1', - 'auth_aes128_md5', - 'auth_chain_a', - 'auth_chain_b', - 'auth_chain_c', - 'auth_chain_d', - 'auth_chain_e', - 'auth_chain_f' -} - -obfs = { - 'plain', - 'http_simple', - 'http_post', - 'random_head', - 'tls1.2_ticket_auth' -} -local securitys = { - 'auto', - 'none', - 'aes-128-gcm', - 'chacha20-poly1305' -} - -local flows = { - 'xtls-rprx-origin', - 'xtls-rprx-origin-udp443', - 'xtls-rprx-direct', - 'xtls-rprx-direct-udp443', - 'xtls-rprx-splice', - 'xtls-rprx-splice-udp443' -} - -m = Map(vssr, translate('Edit vssr Server')) -m.redirect = luci.dispatcher.build_url('admin/services/vssr/servers') -if m.uci:get(vssr, sid) ~= 'servers' then - luci.http.redirect(m.redirect) - return -end - --- [[ Servers Setting ]]-- -s = m:section(NamedSection, sid, 'servers') -s.anonymous = true -s.addremove = false - -o = s:option(DummyValue, 'ssr_url', translate('Configuration Url')) -o.rawhtml = true -o.template = 'vssr/ssrurl' -o.value = sid - -o = s:option(ListValue, 'type', translate('Server Node Type')) -o:value('ssr', translate('ShadowsocksR')) -if nixio.fs.access('/usr/bin/ss-redir') then - o:value('ss', translate('Shadowsocks New Version')) -end -if nixio.fs.access('/usr/bin/v2ray/v2ray') or nixio.fs.access('/usr/bin/v2ray') or nixio.fs.access('/usr/bin/xray') or nixio.fs.access('/usr/bin/xray/xray') then - o:value('v2ray', translate('V2Ray')) - o:value('vless', translate('VLESS')) -end - -if nixio.fs.access('/usr/sbin/trojan') then - o:value('trojan', translate('Trojan')) -end - -o.description = translate('Using incorrect encryption mothod may causes service fail to start') - -o = s:option(Value, 'alias', translate('Alias(optional)')) - -o = s:option(Value, 'flag', translate('Area')) -o.description = translate('请自己指定。格式:cn us hk 等') -o.rmempty = true - -o = s:option(Value, 'server', translate('Server Address')) -o.datatype = 'host' -o.rmempty = false - -o = s:option(Value, 'server_port', translate('Server Port')) -o.datatype = 'port' -o.rmempty = false - -o = s:option(Value, 'password', translate('Password')) -o.password = true -o.rmempty = true -o:depends('type', 'ssr') -o:depends('type', 'ss') -o:depends('type', 'trojan') - -o = s:option(Value, 'peer', translate('Peer')) -o.datatype = 'host' -o.rmempty = true -o:depends('type', 'trojan') - -o = s:option(ListValue, 'encrypt_method', translate('Encrypt Method')) -for _, v in ipairs(encrypt_methods) do - o:value(v) -end -o.rmempty = true -o:depends('type', 'ssr') - -o = s:option(ListValue, 'encrypt_method_ss', translate('Encrypt Method')) -for _, v in ipairs(encrypt_methods_ss) do - o:value(v) -end -o.rmempty = true -o:depends('type', 'ss') - --- Shadowsocks Plugin -o = s:option(Value, 'plugin', translate('Plugin')) -o.rmempty = true -o:depends('type', 'ss') - -o = s:option(Value, 'plugin_opts', translate('Plugin Opts')) -o.rmempty = true -o:depends('type', 'ss') - -o = s:option(ListValue, 'protocol', translate('Protocol')) -for _, v in ipairs(protocol) do - o:value(v) -end -o.rmempty = true -o:depends('type', 'ssr') - -o = s:option(Value, 'protocol_param', translate('Protocol param(optional)')) -o:depends('type', 'ssr') - -o = s:option(ListValue, 'obfs', translate('Obfs')) -for _, v in ipairs(obfs) do - o:value(v) -end -o.rmempty = true -o:depends('type', 'ssr') - -o = s:option(Value, 'obfs_param', translate('Obfs param(optional)')) -o:depends('type', 'ssr') - --- AlterId -o = s:option(Value, 'alter_id', translate('AlterId')) -o.datatype = 'port' -o.default = 16 -o.rmempty = true -o:depends('type', 'v2ray') - --- VmessId -o = s:option(Value, 'vmess_id', translate('VMESS/VLESS ID (UUID)')) -o.rmempty = true -o.default = uuid -o:depends('type', 'v2ray') -o:depends('type', 'vless') -o:depends('type', 'xray') - --- VLESS 加密方式 -o = s:option(Value, 'vless_encryption', translate('VLESS Encryption')) -o.rmempty = true -o.default = 'none' -o:depends('type', 'vless') -o:depends('type', 'xray') - --- 加密方式 -o = s:option(ListValue, 'security', translate('Encrypt Method')) -for _, v in ipairs(securitys) do - o:value(v, v:upper()) -end -o.rmempty = true -o:depends('type', 'v2ray') - --- 传输协议 -o = s:option(ListValue, 'transport', translate('Transport')) -o:value('tcp', 'TCP') -o:value('kcp', 'mKCP') -o:value('ws', 'WebSocket') -o:value('h2', 'HTTP/2') -o:value('quic', 'QUIC') -o.rmempty = true -o:depends('type', 'v2ray') -o:depends('type', 'vless') -o:depends('type', 'xray') - --- [[ TCP部分 ]]-- - --- TCP伪装 -o = s:option(ListValue, 'tcp_guise', translate('Camouflage Type')) -o:depends('transport', 'tcp') -o:value('none', translate('None')) -o:value('http', 'HTTP') -o.rmempty = true - --- HTTP域名 -o = s:option(DynamicList, 'http_host', translate('HTTP Host')) -o:depends('tcp_guise', 'http') -o.rmempty = true - --- HTTP路径 -o = s:option(DynamicList, 'http_path', translate('HTTP Path')) -o:depends('tcp_guise', 'http') -o.rmempty = true - --- [[ WS部分 ]]-- - --- WS域名 -o = s:option(Value, 'ws_host', translate('WebSocket Host')) -o:depends('transport', 'ws') -o.rmempty = true - --- WS路径 -o = s:option(Value, 'ws_path', translate('WebSocket Path')) -o:depends('transport', 'ws') -o.rmempty = true - --- [[ H2部分 ]]-- - --- H2域名 -o = s:option(DynamicList, 'h2_host', translate('HTTP/2 Host')) -o:depends('transport', 'h2') -o.rmempty = true - --- H2路径 -o = s:option(Value, 'h2_path', translate('HTTP/2 Path')) -o:depends('transport', 'h2') -o.rmempty = true - --- [[ QUIC部分 ]]-- - -o = s:option(ListValue, 'quic_security', translate('QUIC Security')) -o:depends('transport', 'quic') -o.rmempty = true -o:value('none', translate('None')) -o:value('aes-128-gcm', translate('aes-128-gcm')) -o:value('chacha20-poly1305', translate('chacha20-poly1305')) - -o = s:option(Value, 'quic_key', translate('QUIC Key')) -o:depends('transport', 'quic') -o.rmempty = true - -o = s:option(ListValue, 'quic_guise', translate('Header')) -o:depends('transport', 'quic') -o.rmempty = true -o:value('none', translate('None')) -o:value('srtp', translate('VideoCall (SRTP)')) -o:value('utp', translate('BitTorrent (uTP)')) -o:value('wechat-video', translate('WechatVideo')) -o:value('dtls', 'DTLS 1.2') -o:value('wireguard', 'WireGuard') --- [[ mKCP部分 ]]-- - -o = s:option(ListValue, 'kcp_guise', translate('Camouflage Type')) -o:depends('transport', 'kcp') -o:value('none', translate('None')) -o:value('srtp', translate('VideoCall (SRTP)')) -o:value('utp', translate('BitTorrent (uTP)')) -o:value('wechat-video', translate('WechatVideo')) -o:value('dtls', 'DTLS 1.2') -o:value('wireguard', 'WireGuard') -o.rmempty = true - -o = s:option(Value, 'mtu', translate('MTU')) -o.datatype = 'uinteger' -o:depends('transport', 'kcp') -o.default = 1350 -o.rmempty = true - -o = s:option(Value, 'tti', translate('TTI')) -o.datatype = 'uinteger' -o:depends('transport', 'kcp') -o.default = 50 -o.rmempty = true - -o = s:option(Value, 'uplink_capacity', translate('Uplink Capacity')) -o.datatype = 'uinteger' -o:depends('transport', 'kcp') -o.default = 5 -o.rmempty = true - -o = s:option(Value, 'downlink_capacity', translate('Downlink Capacity')) -o.datatype = 'uinteger' -o:depends('transport', 'kcp') -o.default = 20 -o.rmempty = true - -o = s:option(Value, 'read_buffer_size', translate('Read Buffer Size')) -o.datatype = 'uinteger' -o:depends('transport', 'kcp') -o.default = 2 -o.rmempty = true - -o = s:option(Value, 'write_buffer_size', translate('Write Buffer Size')) -o.datatype = 'uinteger' -o:depends('transport', 'kcp') -o.default = 2 -o.rmempty = true - -o = s:option(Value, 'seed', translate('Seed')) -o:depends('transport', 'kcp') -o.default = '' -o.rmempty = true - -o = s:option(Flag, 'congestion', translate('Congestion')) -o:depends('transport', 'kcp') -o.rmempty = true - --- [[ allowInsecure ]]-- -o = s:option(Flag, 'insecure', translate('allowInsecure')) -o.rmempty = false -o:depends('type', 'v2ray') -o:depends('type', 'trojan') -o:depends('type', 'vless') -o:depends('type', 'xray') - --- [[ TLS ]]-- -o = s:option(Flag, 'tls', translate('TLS')) -o.rmempty = true -o.default = '0' -o:depends('type', 'v2ray') -o:depends('type', 'trojan') -o:depends('type', 'vless') -o:depends('type', 'xray') - -o = s:option(Value, 'tls_host', translate('TLS Host')) ---o:depends("type", "trojan") -o:depends('tls', '1') -o.rmempty = true - --- XTLS -o = s:option(Flag, 'xtls', translate('XTLS')) -o.rmempty = true -o.default = '0' -o:depends({type = 'vless', tls = '1'}) -o:depends({type = 'xray', tls = '1'}) - --- Flow -o = s:option(Value, 'vless_flow', translate('Flow')) -for _, v in ipairs(flows) do - o:value(v, v) -end -o.rmempty = true -o.default = 'xtls-rprx-origin' -o:depends('xtls', '1') - --- [[ Mux ]]-- -o = s:option(Flag, 'mux', translate('Mux')) -o.rmempty = true -o.default = '0' -o:depends('type', 'v2ray') -o:depends('type', 'vless') - -o = s:option(Value, 'concurrency', translate('Concurrency')) -o.datatype = 'uinteger' -o.rmempty = true -o.default = '8' -o:depends('mux', '1') - --- [[NO self cert]] - -o = s:option(Flag, 'fast_open', translate('TCP Fast Open')) -o.rmempty = true -o.default = '0' -o:depends('type', 'ssr') -o:depends('type', 'ss') -o:depends('type', 'trojan') - -o = s:option(Flag, 'switch_enable', translate('Enable Auto Switch')) -o.rmempty = false -o.default = '1' - -o = s:option(Value, 'local_port', translate('Local Port')) -o.datatype = 'port' -o.default = 1234 -o.rmempty = false - -if nixio.fs.access('/usr/bin/kcptun-client') then - kcp_enable = s:option(Flag, 'kcp_enable', translate('KcpTun Enable'), translate('bin:/usr/bin/kcptun-client')) - kcp_enable.rmempty = true - kcp_enable.default = '0' - kcp_enable:depends('type', 'ssr') - kcp_enable:depends('type', 'ss') - - o = s:option(Value, 'kcp_port', translate('KcpTun Port')) - o.datatype = 'port' - o.default = 4000 - function o.validate(self, value, section) - local kcp_file = '/usr/bin/kcptun-client' - local enable = kcp_enable:formvalue(section) or kcp_enable.disabled - if enable == kcp_enable.enabled then - if not fs.access(kcp_file) then - return nil, translate("Haven't a Kcptun executable file") - elseif not isKcptun(kcp_file) then - return nil, translate('Not a Kcptun executable file') - end - end - - return value - end - o:depends('type', 'ssr') - o:depends('type', 'ss') - - o = s:option(Value, 'kcp_password', translate('KcpTun Password')) - o.password = true - o:depends('type', 'ssr') - o:depends('type', 'ss') - - o = s:option(Value, 'kcp_param', translate('KcpTun Param')) - o.default = '--nocomp' - o:depends('type', 'ssr') - o:depends('type', 'ss') -end - -return m diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/client.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/client.lua deleted file mode 100644 index 49fa54338c..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/client.lua +++ /dev/null @@ -1,139 +0,0 @@ --- Copyright (C) 2017 yushi studio github.com/ywb94 --- Copyright (C) 2018 lean github.com/coolsnowwolf --- Licensed to the public under the GNU General Public License v3. -local m, s, sec, o, kcp_enable -local vssr = 'vssr' -local gfwmode = 0 - - -if nixio.fs.access('/etc/vssr/gfw_list.conf') then - gfwmode = 1 -end - -local uci = luci.model.uci.cursor() - -m = Map(vssr) - -m:section(SimpleSection).template = 'vssr/status_top' - -local server_table = {} -local tw_table = {} -local tvb_table = {} - - -local server_table = {} -uci:foreach( - 'vssr', - 'servers', - function(s) - if s.type ~= nil then - s['name'] = s['.name'] - local alias = (s.alias ~= nil) and s.alias or "未命名节点" - s['gname'] = '[%s]:%s' % {string.upper(s.type), alias} - table.insert(server_table, s) - end - end -) -function my_sort(a,b) - if(a.alias ~= nil and b.alias ~= nil) then - return a.alias < b.alias - end -end -table.sort(server_table, my_sort) - - -local route_name = { - 'youtube_server', - 'tw_video_server', - 'netflix_server', - 'disney_server', - 'prime_server', - 'tvb_server', - 'custom_server' -} -local route_label = { - 'Youtube Proxy', - 'TaiWan Video Proxy', - 'Netflix Proxy', - 'Disney+ Proxy', - 'Prime Video Proxy', - 'TVB Video Proxy', - 'Custom Proxy' -} - --- [[ Global Setting ]]-- -s = m:section(TypedSection, 'global', translate('Basic Settings [SS|SSR|Xray|Trojan]')) -s.anonymous = true - -o = s:option(ListValue, 'global_server', translate('Main Server')) -o:value('nil', translate('Disable')) -for _, key in pairs(server_table) do - o:value(key.name, key.gname) -end -o.default = 'nil' -o.rmempty = false - -o = s:option(ListValue, 'udp_relay_server', translate('Game Mode UDP Server')) -o:value('', translate('Disable')) -o:value('same', translate('Same as Main Server')) -for _, key in pairs(server_table) do - o:value(key.name, key.gname) -end - -o = s:option(Flag, 'v2ray_flow', translate('Open v2ray route')) -o.rmempty = false -o.description = translate('When open v2ray routed,Apply may take more time.') - -for i, v in pairs(route_name) do - o = s:option(ListValue, v, translate(route_label[i])) - o:value('nil', translate('Same as Main Server')) - for _, key in pairs(server_table) do - o:value(key.name, key.gname) - end - o:depends('v2ray_flow', '1') - o.default = 'nil' -end - -o = s:option(ListValue, 'threads', translate('Multi Threads Option')) -o:value('0', translate('Auto Threads')) -o:value('1', translate('1 Thread')) -o:value('2', translate('2 Threads')) -o:value('4', translate('4 Threads')) -o:value('8', translate('8 Threads')) -o.default = '0' -o.rmempty = false - -o = s:option(ListValue, 'run_mode', translate('Running Mode')) -o:value('gfw', translate('GFW List Mode')) -o:value('router', translate('IP Route Mode')) -o:value('all', translate('Global Mode')) -o:value('oversea', translate('Oversea Mode')) -o.default = 'router' -o = s:option(ListValue, 'dports', translate('Proxy Ports')) -o:value('1', translate('All Ports')) -o:value('2', translate('Only Common Ports')) -o.default = 1 - -o = s:option(ListValue, 'pdnsd_enable', translate('Resolve Dns Mode')) -o:value('1', translate('Use Pdnsd tcp query and cache')) -o:value('0', translate('Use Local DNS Service listen port 5335')) -o.default = 1 - -o = s:option(Value, 'tunnel_forward', translate('Anti-pollution DNS Server')) -o:value('8.8.4.4:53', translate('Google Public DNS (8.8.4.4)')) -o:value('8.8.8.8:53', translate('Google Public DNS (8.8.8.8)')) -o:value('208.67.222.222:53', translate('OpenDNS (208.67.222.222)')) -o:value('208.67.220.220:53', translate('OpenDNS (208.67.220.220)')) -o:value('209.244.0.3:53', translate('Level 3 Public DNS (209.244.0.3)')) -o:value('209.244.0.4:53', translate('Level 3 Public DNS (209.244.0.4)')) -o:value('4.2.2.1:53', translate('Level 3 Public DNS (4.2.2.1)')) -o:value('4.2.2.2:53', translate('Level 3 Public DNS (4.2.2.2)')) -o:value('4.2.2.3:53', translate('Level 3 Public DNS (4.2.2.3)')) -o:value('4.2.2.4:53', translate('Level 3 Public DNS (4.2.2.4)')) -o:value('1.1.1.1:53', translate('Cloudflare DNS (1.1.1.1)')) -o:value('114.114.114.114:53', translate('Oversea Mode DNS-1 (114.114.114.114)')) -o:value('114.114.115.115:53', translate('Oversea Mode DNS-2 (114.114.115.115)')) -o:depends('pdnsd_enable', '1') - -m:section(SimpleSection).template = 'vssr/status_bottom' -return m diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/control.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/control.lua deleted file mode 100644 index 2ee6581431..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/control.lua +++ /dev/null @@ -1,101 +0,0 @@ -local m, s, o -local NXFS = require 'nixio.fs' - -m = Map('vssr', translate('IP black-and-white list')) - -s = m:section(TypedSection, 'access_control') -s.anonymous = true - --- Part of WAN -s:tab('wan_ac', translate('WAN IP AC')) - -o = s:taboption('wan_ac', DynamicList, 'wan_bp_ips', translate('WAN White List IP')) -o.datatype = 'ip4addr' - -o = s:taboption('wan_ac', DynamicList, 'wan_fw_ips', translate('WAN Force Proxy IP')) -o.datatype = 'ip4addr' - --- Part of LAN -s:tab('lan_ac', translate('LAN IP AC')) - -o = s:taboption("lan_ac", ListValue, "lan_ac_mode", translate("LAN Access Control")) -o:value("0", translate("Disable")) -o:value("w", translate("Allow listed only")) -o:value("b", translate("Allow all except listed")) -o.rmempty = false - -o = s:taboption("lan_ac", DynamicList, "lan_ac_ips", translate("LAN Host List")) -o.datatype = "ipaddr" -luci.ip.neighbors({ family = 4 }, function(entry) - if entry.reachable then - o:value(entry.dest:string()) - end -end) -o:depends("lan_ac_mode", "w") -o:depends("lan_ac_mode", "b") - -o = s:taboption('lan_ac', DynamicList, 'lan_fp_ips', translate('LAN Force Proxy Host List')) -o.datatype = 'ipaddr' -luci.ip.neighbors( - {family = 4}, - function(entry) - if entry.reachable then - o:value(entry.dest:string()) - end - end -) - -o = s:taboption('lan_ac', DynamicList, 'lan_gm_ips', translate('Game Mode Host List')) -o.datatype = 'ipaddr' -luci.ip.neighbors( - {family = 4}, - function(entry) - if entry.reachable then - o:value(entry.dest:string()) - end - end -) - --- Part of Self --- s:tab("self_ac", translate("Router Self AC")) --- o = s:taboption("self_ac",ListValue, "router_proxy", translate("Router Self Proxy")) --- o:value("1", translatef("Normal Proxy")) --- o:value("0", translatef("Bypassed Proxy")) --- o:value("2", translatef("Forwarded Proxy")) --- o.rmempty = false - -s:tab('esc', translate('Bypass Domain List')) - -local escconf = '/etc/vssr/white.list' -o = s:taboption('esc', TextValue, 'escconf') -o.rows = 13 -o.wrap = 'off' -o.rmempty = true -o.cfgvalue = function(self, section) - return NXFS.readfile(escconf) or '' -end -o.write = function(self, section, value) - NXFS.writefile(escconf, value:gsub('\r\n', '\n')) -end -o.remove = function(self, section, value) - NXFS.writefile(escconf, '') -end - -s:tab('block', translate('Black Domain List')) - -local blockconf = '/etc/vssr/black.list' -o = s:taboption('block', TextValue, 'blockconf') -o.rows = 13 -o.wrap = 'off' -o.rmempty = true -o.cfgvalue = function(self, section) - return NXFS.readfile(blockconf) or ' ' -end -o.write = function(self, section, value) - NXFS.writefile(blockconf, value:gsub('\r\n', '\n')) -end -o.remove = function(self, section, value) - NXFS.writefile(blockconf, '') -end - -return m \ No newline at end of file diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/log.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/log.lua deleted file mode 100644 index e56eb1be77..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/log.lua +++ /dev/null @@ -1,16 +0,0 @@ -local fs = require 'nixio.fs' -local conffile = '/tmp/ssrpro.log' - -f = SimpleForm('logview') -f.submit = false -f.reset = false -t = f:field(TextValue, 'conf') -t.rmempty = true -t.rows = 20 -function t.cfgvalue() - luci.sys.exec("[ -f /tmp/vssr.log ] && sed '1!G;h;$!d' /tmp/vssr.log > /tmp/ssrpro.log") - return fs.readfile(conffile) or '' -end -t.readonly = 'readonly' - -return f diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/router.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/router.lua deleted file mode 100644 index 9d5d162085..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/router.lua +++ /dev/null @@ -1,73 +0,0 @@ -local m, s, o -local NXFS = require 'nixio.fs' -local router_table = { - a1 = { - name = 'youtube', - des = 'Youtube Domain' - }, - a2 = { - name = 'tw_video', - des = 'Tw Video Domain' - }, - a3 = { - name = 'netflix', - des = 'Netflix Domain' - }, - a4 = { - name = 'disney', - des = 'Disney+ Domain' - }, - a5 = { - name = 'prime', - des = 'Prime Video Domain' - }, - a6 = { - name = 'tvb', - des = 'TVB Domain' - }, - a7 = { - name = 'custom', - des = 'Custom Domain' - } -} - -m = Map('vssr', translate('Router domain config')) -s = m:section(TypedSection, 'access_control') -s.anonymous = true -for _, v in pairs(router_table) do - s:tab(v.name, translate(v.des)) - local conf = '/etc/vssr/'.. v.name ..'_domain.list' - o = s:taboption(v.name, TextValue, v.name ..'conf') - o.rows = 13 - o.description = translate('↑ Put your domain list here') - o.wrap = 'off' - o.rmempty = true - o.cfgvalue = function(self, section) - return NXFS.readfile(conf) or ' ' - end - o.write = function(self, section, value) - NXFS.writefile(conf, value:gsub('\r\n', '\n')) - end - o.remove = function(self, section, value) - NXFS.writefile(conf, '') - end - - - local conf1 = '/etc/vssr/'.. v.name ..'_ip.list' - o = s:taboption(v.name, TextValue, v.name ..'conf1') - o.rows = 13 - o.wrap = 'off' - o.description = translate('↑ Put your IP list here') - o.rmempty = true - o.cfgvalue = function(self, section) - return NXFS.readfile(conf1) or ' ' - end - o.write = function(self, section, value) - NXFS.writefile(conf1, value:gsub('\r\n', '\n')) - end - o.remove = function(self, section, value) - NXFS.writefile(conf1, '') - end -end - -return m diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/server-config.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/server-config.lua deleted file mode 100644 index 5dfafaec70..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/server-config.lua +++ /dev/null @@ -1,90 +0,0 @@ --- Copyright (C) 2017 yushi studio --- Licensed to the public under the GNU General Public License v3. -local m, s, o -local vssr = 'vssr' -local sid = arg[1] - -local encrypt_methods = { - 'rc4-md5', - 'rc4-md5-6', - 'rc4', - 'table', - 'aes-128-cfb', - 'aes-192-cfb', - 'aes-256-cfb', - 'aes-128-ctr', - 'aes-192-ctr', - 'aes-256-ctr', - 'bf-cfb', - 'camellia-128-cfb', - 'camellia-192-cfb', - 'camellia-256-cfb', - 'cast5-cfb', - 'des-cfb', - 'idea-cfb', - 'rc2-cfb', - 'seed-cfb', - 'salsa20', - 'chacha20', - 'chacha20-ietf' -} - -local protocol = {'origin'} - -obfs = {'plain', 'http_simple', 'http_post'} - -m = Map(vssr, translate('Edit vssr Server')) - -m.redirect = luci.dispatcher.build_url('admin/services/vssr/server') -if m.uci:get(vssr, sid) ~= 'server_config' then - luci.http.redirect(m.redirect) - return -end - --- [[ Server Setting ]]-- -s = m:section(NamedSection, sid, 'server_config') -s.anonymous = true -s.addremove = false - -o = s:option(Flag, 'enable', translate('Enable')) -o.default = 1 -o.rmempty = false - -o = s:option(Value, 'server_port', translate('Server Port')) -o.datatype = 'port' -o.default = 8388 -o.rmempty = false - -o = s:option(Value, 'timeout', translate('Connection Timeout')) -o.datatype = 'uinteger' -o.default = 60 -o.rmempty = false - -o = s:option(Value, 'password', translate('Password')) -o.password = true -o.rmempty = false - -o = s:option(ListValue, 'encrypt_method', translate('Encrypt Method')) -for _, v in ipairs(encrypt_methods) do - o:value(v) -end -o.rmempty = false - -o = s:option(ListValue, 'protocol', translate('Protocol')) -for _, v in ipairs(protocol) do - o:value(v) -end -o.rmempty = false - -o = s:option(ListValue, 'obfs', translate('Obfs')) -for _, v in ipairs(obfs) do - o:value(v) -end -o.rmempty = false - -o = s:option(Value, 'obfs_param', translate('Obfs param(optional)')) - -o = s:option(Flag, 'fast_open', translate('TCP Fast Open')) -o.rmempty = false - -return m diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/server.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/server.lua deleted file mode 100644 index 55f0cb497f..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/server.lua +++ /dev/null @@ -1,101 +0,0 @@ --- Copyright (C) 2017 yushi studio --- Licensed to the public under the GNU General Public License v3. -local m, sec, o -local vssr = 'vssr' -local uci = luci.model.uci.cursor() -local ipkg = require('luci.model.ipkg') - -m = Map(vssr, translate('vssr Server')) - -local encrypt_methods = { - 'table', - 'rc4', - 'rc4-md5', - 'rc4-md5-6', - 'aes-128-cfb', - 'aes-192-cfb', - 'aes-256-cfb', - 'aes-128-ctr', - 'aes-192-ctr', - 'aes-256-ctr', - 'bf-cfb', - 'camellia-128-cfb', - 'camellia-192-cfb', - 'camellia-256-cfb', - 'cast5-cfb', - 'des-cfb', - 'idea-cfb', - 'rc2-cfb', - 'seed-cfb', - 'salsa20', - 'chacha20', - 'chacha20-ietf' -} - -local protocol = { - 'origin', - 'verify_deflate', - 'auth_sha1_v4', - 'auth_aes128_sha1', - 'auth_aes128_md5', - 'auth_chain_a' -} - -obfs = { - 'plain', - 'http_simple', - 'http_post', - 'random_head', - 'tls1.2_ticket_auth', - 'tls1.2_ticket_fastauth' -} - --- [[ Global Setting ]]-- -sec = m:section(TypedSection, 'server_global', translate('Global Setting')) -sec.anonymous = true - -o = sec:option(Flag, 'enable_server', translate('Enable Server')) -o.rmempty = false - --- [[ Server Setting ]]-- -sec = m:section(TypedSection, 'server_config', translate('Server Setting')) -sec.anonymous = true -sec.addremove = true -sec.template = 'cbi/tblsection' -sec.extedit = luci.dispatcher.build_url('admin/services/vssr/server/%s') -function sec.create(...) - local sid = TypedSection.create(...) - if sid then - luci.http.redirect(sec.extedit % sid) - return - end -end - -o = sec:option(Flag, 'enable', translate('Enable')) -function o.cfgvalue(...) - return Value.cfgvalue(...) or translate('0') -end -o.rmempty = false - -o = sec:option(DummyValue, 'server_port', translate('Server Port')) -function o.cfgvalue(...) - return Value.cfgvalue(...) or '?' -end - -o = sec:option(DummyValue, 'encrypt_method', translate('Encrypt Method')) -function o.cfgvalue(...) - local v = Value.cfgvalue(...) - return v and v:upper() or '?' -end - -o = sec:option(DummyValue, 'protocol', translate('Protocol')) -function o.cfgvalue(...) - return Value.cfgvalue(...) or '?' -end - -o = sec:option(DummyValue, 'obfs', translate('Obfs')) -function o.cfgvalue(...) - return Value.cfgvalue(...) or '?' -end - -return m diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/servers.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/servers.lua deleted file mode 100644 index 5d2b0c6d50..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/servers.lua +++ /dev/null @@ -1,62 +0,0 @@ --- Licensed to the public under the GNU General Public License v3. -local m, s, o -local vssr = 'vssr' -local json = require 'luci.jsonc' - -local uci = luci.model.uci.cursor() -local server_count = 0 -local server_table = {} -uci:foreach( - 'vssr', - 'servers', - function(s) - server_count = server_count + 1 - s['name'] = s['.name'] - if(s.alias == nil) then - s.alias = "未命名节点" - end - table.insert(server_table, s) - end -) - -local name = '' -uci:foreach( - 'vssr', - 'global', - function(s) - name = s['.name'] - end -) -function my_sort(a,b) - if(a.alias ~= nil and b.alias ~= nil) then - return a.alias < b.alias - end -end -table.sort(server_table, my_sort) -m = Map(vssr) - -m:section(SimpleSection).template = 'vssr/status_top' - --- [[ Servers List ]]-- -s = m:section(TypedSection, 'servers') -s.anonymous = true -s.addremove = true -s.sortable = false - -s.des = server_count -s.current = uci:get('vssr', name, 'global_server') -s.serverTable = server_table -s.servers = json.stringify(server_table) -s.template = 'vssr/tblsection' -s.extedit = luci.dispatcher.build_url('admin/services/vssr/servers/%s') -function s.create(...) - local sid = TypedSection.create(...) - if sid then - luci.http.redirect(s.extedit % sid) - return - end -end - -m:section(SimpleSection).template = 'vssr/status_bottom' - -return m diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/socks5.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/socks5.lua deleted file mode 100644 index 1a813d443d..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/socks5.lua +++ /dev/null @@ -1,73 +0,0 @@ ---[[ -Author: your name -Date: 2019-11-11 09:33:07 -LastEditTime: 2021-01-14 18:50:06 -LastEditors: Please set LastEditors -Description: In User Settings Edit -FilePath: \luci-app-vssr\luasrc\model\cbi\vssr\socks5.lua ---]] -local vssr = 'vssr' -local uci = luci.model.uci.cursor() -local server_table = {} - -local sys = require 'luci.sys' - -m = Map(vssr) - --- [[ SOCKS5 Proxy ]]-- -if nixio.fs.access('/usr/bin/xray') or nixio.fs.access('/usr/bin/xray/xray') then - s = m:section(TypedSection, 'socks5_proxy', translate('Xray SOCKS5 Proxy')) - s.anonymous = true - - o = s:option(Flag, 'enable_server', translate('Enable Servers')) - o.rmempty = false - - o = s:option(Flag, 'enable_auth', translate('Enable Auth')) - o.rmempty = false - - o = s:option(Value, 'Socks_user', translate('Socks user')) - o.default = 'user' - o.rmempty = true - o:depends('enable_auth', '1') - - o = s:option(Value, 'Socks_pass', translate('Socks pass')) - o.default = 'password' - o.password = true - o.rmempty = true - o:depends('enable_auth', '1') - - o = s:option(Value, 'local_port', translate('Local Port')) - o.datatype = 'port' - o.default = 1080 - o.rmempty = false -end - --- [[ Http Proxy ]]-- -if nixio.fs.access('/usr/bin/xray') or nixio.fs.access('/usr/bin/xray/xray') then - s = m:section(TypedSection, 'http_proxy', translate('Xray HTTP Proxy')) - s.anonymous = true - - o = s:option(Flag, 'enable_server', translate('Enable Servers')) - o.rmempty = false - - o = s:option(Flag, 'enable_auth', translate('Enable Auth')) - o.rmempty = false - - o = s:option(Value, 'http_user', translate('HTTP user')) - o.default = 'user' - o.rmempty = true - o:depends('enable_auth', '1') - - o = s:option(Value, 'http_pass', translate('HTTP pass')) - o.default = 'password' - o.password = true - o.rmempty = true - o:depends('enable_auth', '1') - - o = s:option(Value, 'local_port', translate('Local Port')) - o.datatype = 'port' - o.default = 1088 - o.rmempty = false -end - -return m diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/subscribe-config.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/subscribe-config.lua deleted file mode 100644 index 9b8d5eb5a9..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/subscribe-config.lua +++ /dev/null @@ -1,77 +0,0 @@ -local vssr = 'vssr' -local uci = luci.model.uci.cursor() -local server_table = {} - -local gfwmode = 0 -local gfw_count = 0 -local ip_count = 0 -local ad_count = 0 -local server_count = 0 - -local sys = require 'luci.sys' - -uci:foreach( - 'vssr', - 'servers', - function(s) - server_count = server_count + 1 - end -) - -m = Map(vssr) - --- [[ 节点订阅 ]]-- - -s = m:section(TypedSection, 'server_subscribe', translate('Servers subscription and manage')) -s.anonymous = true - -o = s:option(Flag, 'auto_update', translate('Auto Update')) -o.rmempty = false -o.description = translate('Auto Update Server subscription, GFW list and CHN route') - -o = s:option(ListValue, 'auto_update_time', translate('Update time (every day)')) -for t = 0, 23 do - o:value(t, t .. ':00') -end -o.default = 2 -o.rmempty = false - -o = s:option(DynamicList, 'subscribe_url', translate('Subscribe URL')) -o.rmempty = true -o.description = translate('You can manually add group names in front of the URL, splited by ,') - -o = s:option(Value, 'filter_words', translate('Subscribe Filter Words')) -o.rmempty = true -o.description = translate('Filter Words splited by /') - -o = s:option(Flag, 'proxy', translate('Through proxy update')) -o.rmempty = false -o.description = translate('Through proxy update list, Not Recommended ') - -o = s:option(DummyValue, '', '') -o.rawhtml = true -o.template = 'vssr/update_subscribe' - -o = s:option(Button, 'delete', translate('Delete All Subscribe Severs')) -o.inputstyle = 'reset' -o.description = string.format(translate('Server Count') .. ': %d', server_count) -o.write = function() - uci:delete_all( - 'vssr', - 'servers', - function(s) - if s.hashkey or s.isSubscribe then - return true - else - return false - end - end - ) - uci:save('vssr') - uci:commit('vssr') - luci.sys.exec('/etc/init.d/vssr restart') - luci.http.redirect(luci.dispatcher.build_url('admin', 'services', 'vssr', 'servers')) - return -end - -return m diff --git a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/cell_valuefooter.htm b/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/cell_valuefooter.htm deleted file mode 100644 index 04f5b84499..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/cell_valuefooter.htm +++ /dev/null @@ -1 +0,0 @@ -

    gzE`yK4Zv0ub~0{a>4C$Wnk{}1nAH49)ri~W3|W7qZH9;pBJOW1E< zzl{AVc2)cp{2I1d{FnVoc@ta9e%ssv4CwD-e~ew!{|`07_Z9rXa18bs?2oEVGmKBL zKgU-6H+%G1y+>bQ>-RtQmt`<^vHmaq^VirTfc+g#j{QAOQ9OUZnGpL&?0>O;!u|vM zXY60GH3d}X;y3JZ>%aXc_TSiljhptLdJO-WU2y(~Gro-K76500GC<-)I3sZ;#+jrP zaWIByIHFc2#hF6NWa8wdE_+IxsRlNu!C44rTAVp>ro)*9XL_6&ab_?vf95MR102 z7R6btYHM1Jsz=hmY2!3;wD=!8LJP+(GuQcDoCwFm@$0q$PB?B%jALp(PBPF}z5aJP zIGf{iaaO|V;Vg&K$5{$zG>)nHIExRoGIN1aEiKnFI925@V{n$Q16EMjinYEn&N?`& z;H-(WDvnw98-8S>K4&+1U_hqv2M@FgZ8D*%Zgj z0t1m-;Ov95CC*MbTj6Ynv$cY^!KvzhopXDf9dULjHwQB8jI$@sE;zg4>{|9!cyV^e zsVaY+p{oBld)G=4b~w(yI0xeFhjReV{==E;n1gT*#W@(~kWv{Y&S7=T5ru(sq<9q0 z(N#=!Mvle(5a&2tALn?SPjF7axew<=oGWln!Z{n~WSrA+PQj^G{z`RPd8}~Gz){(E z&a5(5$N3zbi*U}xxd7)p9CH^ia0D(K4#v3{=Thaoq!e*3!@0c7Un^JQ+=_D*&J8$M z<6MVx4bHVylJcyX^LTw7eh-^KKhBFd58yn3^B~TnI1k}Gf}>l2x|gC0oX2n;uf|^;=O=NV!FdX2-1WcnERNRy z&U5wHivRyr6;+&g>| zjFItyXl4Wje}tpOe|@ZQKE<61=QEstaX!cS5$6k>Z*acEF|&YLeO($#^)1f#INupX zUWq@{{r-gWJI>EIze?8>V2;vn1Hpgb{EhP`&N#(i9sN`1`44vl?*DKnGFY?<|MIB1GvUsn9?iYLa6;VKaOadhJFa;^H0;Hl3s;N(D#N_EL%8$dE{r=r?t-|c z{tq|7U8rn}y9n-LxMuNRdT~|!wTaunZR0kL*BpUr7QnS|ogyCBuJgFK-f$AR0^Fh$ zgt(jGMz|~D#<+{)Cb&6nYPvHS>iX|?aQnDj++LNZ+(FatXcKIVC2*I<)s29=)NpsW z%iu1LyDaW?0NkSf--mlV?q#?q;GT_pBJSz9 zC*hugYip>; zLUS0+T%eqnoKVKS4ZPr-1l+cGhJ882c@AVWAKU#<|Dio?#FnO;(mhrC+?@XKjVIe`z`M0xL@IZ zfm^No>t4Rbt=Iom=I?NS#Qh%khv6=C5PmXEsxki}S!LkMe*jvTM%zPyagoAUj>v$%v%U=;Zng{#H6b9#qgSVqww_1#~Z48)bXj~+j#5Z zS$Ip~*?1j12QR{N@yyB}ubKt$0=#hCeq+28FR9X+oz3v_;Y~H~;`Q+~1ytu{G~N<& zEnbhaTKpHAcuV80ink2j@_5xP0N!$SJ?d@m9xM6K{=S z7v5UNuJ;{pozliz4{ukz_3^gC+W>D9ybbX-s=f7B0A_5P;%$Mq8Q$jAK90?{WgWjY z-u8Ig;MLE6yzNYIbw+l;+X+v_zfyL_+hurEMHt?0cn9F^j<*lq9(a36G|z&HFubu- z0A8`VpTvD@@BYT9BCGn3cM#sec=h_f@*alwD&FCESKu9icN*T2ct;m)@s6r99D{cv z-m!SctC!SU{8?3!Y8dCJ?YX6hcRt=F zco*PZgs1iY*du itlo?=rk`*Z9F;XRG_Fy3Q$ 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

    mx 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 Pt?Sop+qi3L_mTe>;$J41 diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/china_ip_route.ipset b/package/ctcgfw/luci-app-openclash/root/etc/openclash/china_ip_route.ipset deleted file mode 100644 index 3f713bad66..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/china_ip_route.ipset +++ /dev/null @@ -1,8579 +0,0 @@ -create china_ip_route hash:net family inet hashsize 1024 maxelem 65536 -add china_ip_route 1.0.1.0/24 -add china_ip_route 1.0.2.0/23 -add china_ip_route 1.0.8.0/21 -add china_ip_route 1.0.32.0/19 -add china_ip_route 1.1.0.0/24 -add china_ip_route 1.1.2.0/23 -add china_ip_route 1.1.4.0/22 -add china_ip_route 1.1.8.0/24 -add china_ip_route 1.1.9.0/24 -add china_ip_route 1.1.10.0/23 -add china_ip_route 1.1.12.0/22 -add china_ip_route 1.1.16.0/20 -add china_ip_route 1.1.32.0/19 -add china_ip_route 1.2.0.0/23 -add china_ip_route 1.2.2.0/24 -add china_ip_route 1.2.4.0/24 -add china_ip_route 1.2.5.0/24 -add china_ip_route 1.2.6.0/23 -add china_ip_route 1.2.8.0/24 -add china_ip_route 1.2.9.0/24 -add china_ip_route 1.2.10.0/23 -add china_ip_route 1.2.12.0/22 -add china_ip_route 1.2.16.0/20 -add china_ip_route 1.2.32.0/19 -add china_ip_route 1.2.64.0/18 -add china_ip_route 1.3.0.0/16 -add china_ip_route 1.4.1.0/24 -add china_ip_route 1.4.2.0/23 -add china_ip_route 1.4.4.0/24 -add china_ip_route 1.4.5.0/24 -add china_ip_route 1.4.6.0/23 -add china_ip_route 1.4.8.0/21 -add china_ip_route 1.4.16.0/20 -add china_ip_route 1.4.32.0/19 -add china_ip_route 1.4.64.0/18 -add china_ip_route 1.8.0.0/16 -add china_ip_route 1.10.0.0/21 -add china_ip_route 1.10.8.0/23 -add china_ip_route 1.10.11.0/24 -add china_ip_route 1.10.12.0/22 -add china_ip_route 1.10.16.0/20 -add china_ip_route 1.10.32.0/19 -add china_ip_route 1.10.64.0/18 -add china_ip_route 1.12.0.0/14 -add china_ip_route 1.24.0.0/13 -add china_ip_route 1.45.0.0/16 -add china_ip_route 1.48.0.0/15 -add china_ip_route 1.50.0.0/16 -add china_ip_route 1.51.0.0/16 -add china_ip_route 1.56.0.0/13 -add china_ip_route 1.68.0.0/14 -add china_ip_route 1.80.0.0/13 -add china_ip_route 1.88.0.0/14 -add china_ip_route 1.92.0.0/15 -add china_ip_route 1.94.0.0/15 -add china_ip_route 1.116.0.0/15 -add china_ip_route 1.118.0.0/16 -add china_ip_route 1.119.0.0/17 -add china_ip_route 1.119.128.0/17 -add china_ip_route 1.180.0.0/14 -add china_ip_route 1.184.0.0/15 -add china_ip_route 1.188.0.0/14 -add china_ip_route 1.192.0.0/13 -add china_ip_route 1.202.0.0/15 -add china_ip_route 1.204.0.0/14 -add china_ip_route 14.0.0.0/21 -add china_ip_route 14.0.12.0/22 -add china_ip_route 14.1.0.0/22 -add china_ip_route 14.1.24.0/22 -add china_ip_route 14.1.96.0/22 -add china_ip_route 14.1.108.0/22 -add china_ip_route 14.16.0.0/12 -add china_ip_route 14.102.128.0/22 -add china_ip_route 14.102.156.0/22 -add china_ip_route 14.102.180.0/22 -add china_ip_route 14.103.0.0/16 -add china_ip_route 14.104.0.0/13 -add china_ip_route 14.112.0.0/12 -add china_ip_route 14.130.0.0/15 -add china_ip_route 14.134.0.0/15 -add china_ip_route 14.144.0.0/12 -add china_ip_route 14.192.60.0/22 -add china_ip_route 14.192.76.0/22 -add china_ip_route 14.196.0.0/15 -add china_ip_route 14.204.0.0/15 -add china_ip_route 14.208.0.0/12 -add china_ip_route 27.0.128.0/22 -add china_ip_route 27.0.132.0/22 -add china_ip_route 27.0.160.0/22 -add china_ip_route 27.0.164.0/22 -add china_ip_route 27.0.188.0/22 -add china_ip_route 27.0.204.0/22 -add china_ip_route 27.0.208.0/22 -add china_ip_route 27.0.212.0/22 -add china_ip_route 27.8.0.0/13 -add china_ip_route 27.16.0.0/12 -add china_ip_route 27.34.232.0/21 -add china_ip_route 27.36.0.0/14 -add china_ip_route 27.40.0.0/13 -add china_ip_route 27.50.40.0/21 -add china_ip_route 27.50.128.0/17 -add china_ip_route 27.54.72.0/21 -add china_ip_route 27.54.152.0/21 -add china_ip_route 27.54.192.0/18 -add china_ip_route 27.98.208.0/20 -add china_ip_route 27.98.224.0/19 -add china_ip_route 27.99.128.0/17 -add china_ip_route 27.103.0.0/16 -add china_ip_route 27.106.128.0/18 -add china_ip_route 27.106.204.0/22 -add china_ip_route 27.109.32.0/19 -add china_ip_route 27.109.124.0/22 -add china_ip_route 27.112.0.0/18 -add china_ip_route 27.112.80.0/20 -add china_ip_route 27.112.112.0/22 -add china_ip_route 27.112.116.0/22 -add china_ip_route 27.113.128.0/18 -add china_ip_route 27.115.0.0/17 -add china_ip_route 27.116.44.0/22 -add china_ip_route 27.121.72.0/21 -add china_ip_route 27.121.120.0/21 -add china_ip_route 27.128.0.0/15 -add china_ip_route 27.131.220.0/22 -add china_ip_route 27.144.0.0/16 -add china_ip_route 27.148.0.0/14 -add china_ip_route 27.152.0.0/13 -add china_ip_route 27.184.0.0/13 -add china_ip_route 27.192.0.0/11 -add china_ip_route 27.224.0.0/14 -add china_ip_route 36.0.0.0/22 -add china_ip_route 36.0.8.0/21 -add china_ip_route 36.0.16.0/20 -add china_ip_route 36.0.32.0/19 -add china_ip_route 36.0.64.0/18 -add china_ip_route 36.0.128.0/17 -add china_ip_route 36.1.0.0/16 -add china_ip_route 36.4.0.0/14 -add china_ip_route 36.16.0.0/12 -add china_ip_route 36.32.0.0/14 -add china_ip_route 36.36.0.0/16 -add china_ip_route 36.37.0.0/19 -add china_ip_route 36.37.36.0/23 -add china_ip_route 36.37.39.0/24 -add china_ip_route 36.37.40.0/21 -add china_ip_route 36.37.48.0/20 -add china_ip_route 36.40.0.0/13 -add china_ip_route 36.48.0.0/15 -add china_ip_route 36.51.0.0/16 -add china_ip_route 36.56.0.0/13 -add china_ip_route 36.96.0.0/11 -add china_ip_route 36.128.0.0/10 -add china_ip_route 36.192.0.0/11 -add china_ip_route 36.248.0.0/14 -add china_ip_route 36.254.0.0/16 -add china_ip_route 36.255.116.0/22 -add china_ip_route 36.255.128.0/22 -add china_ip_route 36.255.164.0/22 -add china_ip_route 36.255.172.0/22 -add china_ip_route 36.255.176.0/22 -add china_ip_route 39.0.0.0/24 -add china_ip_route 39.0.2.0/23 -add china_ip_route 39.0.4.0/22 -add china_ip_route 39.0.8.0/21 -add china_ip_route 39.0.16.0/20 -add china_ip_route 39.0.32.0/19 -add china_ip_route 39.0.64.0/18 -add china_ip_route 39.0.128.0/17 -add china_ip_route 39.64.0.0/11 -add china_ip_route 39.96.0.0/13 -add china_ip_route 39.104.0.0/14 -add china_ip_route 39.108.0.0/16 -add china_ip_route 39.128.0.0/10 -add china_ip_route 40.72.0.0/15 -add china_ip_route 40.125.128.0/17 -add china_ip_route 40.126.64.0/18 -add china_ip_route 42.0.0.0/22 -add china_ip_route 42.0.8.0/21 -add china_ip_route 42.0.16.0/21 -add china_ip_route 42.0.24.0/22 -add china_ip_route 42.0.32.0/19 -add china_ip_route 42.0.128.0/17 -add china_ip_route 42.1.0.0/19 -add china_ip_route 42.1.32.0/20 -add china_ip_route 42.1.48.0/21 -add china_ip_route 42.1.56.0/22 -add china_ip_route 42.1.128.0/17 -add china_ip_route 42.4.0.0/14 -add china_ip_route 42.48.0.0/15 -add china_ip_route 42.50.0.0/16 -add china_ip_route 42.51.0.0/16 -add china_ip_route 42.52.0.0/14 -add china_ip_route 42.56.0.0/14 -add china_ip_route 42.62.0.0/17 -add china_ip_route 42.62.128.0/19 -add china_ip_route 42.62.160.0/20 -add china_ip_route 42.62.180.0/22 -add china_ip_route 42.62.184.0/21 -add china_ip_route 42.63.0.0/16 -add china_ip_route 42.80.0.0/15 -add china_ip_route 42.83.64.0/20 -add china_ip_route 42.83.80.0/22 -add china_ip_route 42.83.88.0/21 -add china_ip_route 42.83.96.0/19 -add china_ip_route 42.83.128.0/17 -add china_ip_route 42.84.0.0/14 -add china_ip_route 42.88.0.0/13 -add china_ip_route 42.96.64.0/19 -add china_ip_route 42.96.96.0/21 -add china_ip_route 42.96.108.0/22 -add china_ip_route 42.96.112.0/20 -add china_ip_route 42.96.128.0/17 -add china_ip_route 42.97.0.0/16 -add china_ip_route 42.99.0.0/18 -add china_ip_route 42.99.64.0/19 -add china_ip_route 42.99.96.0/20 -add china_ip_route 42.99.112.0/22 -add china_ip_route 42.99.120.0/21 -add china_ip_route 42.100.0.0/14 -add china_ip_route 42.120.0.0/15 -add china_ip_route 42.122.0.0/16 -add china_ip_route 42.123.0.0/19 -add china_ip_route 42.123.36.0/22 -add china_ip_route 42.123.40.0/21 -add china_ip_route 42.123.48.0/20 -add china_ip_route 42.123.64.0/18 -add china_ip_route 42.123.128.0/17 -add china_ip_route 42.128.0.0/12 -add china_ip_route 42.156.0.0/19 -add china_ip_route 42.156.36.0/22 -add china_ip_route 42.156.40.0/21 -add china_ip_route 42.156.48.0/20 -add china_ip_route 42.156.64.0/18 -add china_ip_route 42.156.128.0/17 -add china_ip_route 42.157.0.0/16 -add china_ip_route 42.158.0.0/16 -add china_ip_route 42.159.0.0/16 -add china_ip_route 42.160.0.0/12 -add china_ip_route 42.176.0.0/13 -add china_ip_route 42.184.0.0/15 -add china_ip_route 42.186.0.0/16 -add china_ip_route 42.187.0.0/18 -add china_ip_route 42.187.64.0/19 -add china_ip_route 42.187.96.0/20 -add china_ip_route 42.187.112.0/21 -add china_ip_route 42.187.120.0/22 -add china_ip_route 42.187.128.0/17 -add china_ip_route 42.192.0.0/15 -add china_ip_route 42.194.0.0/21 -add china_ip_route 42.194.8.0/22 -add china_ip_route 42.194.12.0/22 -add china_ip_route 42.194.16.0/20 -add china_ip_route 42.194.32.0/19 -add china_ip_route 42.194.64.0/18 -add china_ip_route 42.194.128.0/17 -add china_ip_route 42.195.0.0/16 -add china_ip_route 42.196.0.0/14 -add china_ip_route 42.201.0.0/17 -add china_ip_route 42.202.0.0/15 -add china_ip_route 42.204.0.0/14 -add china_ip_route 42.208.0.0/12 -add china_ip_route 42.224.0.0/12 -add china_ip_route 42.240.0.0/17 -add china_ip_route 42.240.128.0/17 -add china_ip_route 42.242.0.0/15 -add china_ip_route 42.244.0.0/14 -add china_ip_route 42.248.0.0/13 -add china_ip_route 43.136.0.0/13 -add china_ip_route 43.144.0.0/12 -add china_ip_route 43.160.0.0/11 -add china_ip_route 43.224.12.0/22 -add china_ip_route 43.224.24.0/22 -add china_ip_route 43.224.44.0/22 -add china_ip_route 43.224.52.0/22 -add china_ip_route 43.224.56.0/22 -add china_ip_route 43.224.64.0/22 -add china_ip_route 43.224.68.0/22 -add china_ip_route 43.224.72.0/22 -add china_ip_route 43.224.80.0/22 -add china_ip_route 43.224.100.0/22 -add china_ip_route 43.224.144.0/22 -add china_ip_route 43.224.160.0/22 -add china_ip_route 43.224.176.0/22 -add china_ip_route 43.224.184.0/22 -add china_ip_route 43.224.200.0/22 -add china_ip_route 43.224.204.0/22 -add china_ip_route 43.224.208.0/22 -add china_ip_route 43.224.212.0/22 -add china_ip_route 43.224.216.0/22 -add china_ip_route 43.224.240.0/22 -add china_ip_route 43.225.76.0/22 -add china_ip_route 43.225.84.0/22 -add china_ip_route 43.225.120.0/22 -add china_ip_route 43.225.124.0/22 -add china_ip_route 43.225.140.0/22 -add china_ip_route 43.225.172.0/22 -add china_ip_route 43.225.180.0/22 -add china_ip_route 43.225.208.0/22 -add china_ip_route 43.225.216.0/22 -add china_ip_route 43.225.220.0/22 -add china_ip_route 43.225.224.0/22 -add china_ip_route 43.225.228.0/22 -add china_ip_route 43.225.232.0/22 -add china_ip_route 43.225.236.0/22 -add china_ip_route 43.225.240.0/22 -add china_ip_route 43.225.244.0/22 -add china_ip_route 43.225.252.0/22 -add china_ip_route 43.226.32.0/22 -add china_ip_route 43.226.36.0/22 -add china_ip_route 43.226.40.0/22 -add china_ip_route 43.226.44.0/22 -add china_ip_route 43.226.48.0/22 -add china_ip_route 43.226.52.0/22 -add china_ip_route 43.226.56.0/22 -add china_ip_route 43.226.60.0/22 -add china_ip_route 43.226.64.0/22 -add china_ip_route 43.226.68.0/22 -add china_ip_route 43.226.72.0/22 -add china_ip_route 43.226.76.0/22 -add china_ip_route 43.226.80.0/22 -add china_ip_route 43.226.84.0/22 -add china_ip_route 43.226.88.0/22 -add china_ip_route 43.226.92.0/22 -add china_ip_route 43.226.96.0/22 -add china_ip_route 43.226.100.0/22 -add china_ip_route 43.226.104.0/22 -add china_ip_route 43.226.108.0/22 -add china_ip_route 43.226.112.0/22 -add china_ip_route 43.226.116.0/22 -add china_ip_route 43.226.120.0/22 -add china_ip_route 43.226.128.0/22 -add china_ip_route 43.226.132.0/22 -add china_ip_route 43.226.136.0/22 -add china_ip_route 43.226.140.0/22 -add china_ip_route 43.226.144.0/22 -add china_ip_route 43.226.148.0/22 -add china_ip_route 43.226.152.0/22 -add china_ip_route 43.226.156.0/22 -add china_ip_route 43.226.160.0/22 -add china_ip_route 43.226.164.0/22 -add china_ip_route 43.226.168.0/22 -add china_ip_route 43.226.172.0/22 -add china_ip_route 43.226.176.0/22 -add china_ip_route 43.226.180.0/22 -add china_ip_route 43.226.184.0/22 -add china_ip_route 43.226.188.0/22 -add china_ip_route 43.226.192.0/22 -add china_ip_route 43.226.196.0/22 -add china_ip_route 43.226.200.0/22 -add china_ip_route 43.226.204.0/22 -add china_ip_route 43.226.208.0/22 -add china_ip_route 43.226.212.0/22 -add china_ip_route 43.226.236.0/22 -add china_ip_route 43.226.240.0/22 -add china_ip_route 43.226.244.0/22 -add china_ip_route 43.226.248.0/22 -add china_ip_route 43.226.252.0/22 -add china_ip_route 43.227.0.0/22 -add china_ip_route 43.227.4.0/22 -add china_ip_route 43.227.8.0/22 -add china_ip_route 43.227.32.0/22 -add china_ip_route 43.227.36.0/22 -add china_ip_route 43.227.40.0/22 -add china_ip_route 43.227.44.0/22 -add china_ip_route 43.227.48.0/22 -add china_ip_route 43.227.52.0/22 -add china_ip_route 43.227.56.0/22 -add china_ip_route 43.227.60.0/22 -add china_ip_route 43.227.64.0/22 -add china_ip_route 43.227.68.0/22 -add china_ip_route 43.227.72.0/22 -add china_ip_route 43.227.76.0/22 -add china_ip_route 43.227.80.0/22 -add china_ip_route 43.227.84.0/22 -add china_ip_route 43.227.88.0/22 -add china_ip_route 43.227.92.0/22 -add china_ip_route 43.227.96.0/22 -add china_ip_route 43.227.100.0/22 -add china_ip_route 43.227.104.0/22 -add china_ip_route 43.227.136.0/22 -add china_ip_route 43.227.140.0/22 -add china_ip_route 43.227.144.0/22 -add china_ip_route 43.227.152.0/22 -add china_ip_route 43.227.156.0/22 -add china_ip_route 43.227.160.0/22 -add china_ip_route 43.227.164.0/22 -add china_ip_route 43.227.168.0/22 -add china_ip_route 43.227.172.0/22 -add china_ip_route 43.227.176.0/22 -add china_ip_route 43.227.180.0/22 -add china_ip_route 43.227.188.0/22 -add china_ip_route 43.227.192.0/22 -add china_ip_route 43.227.196.0/22 -add china_ip_route 43.227.200.0/22 -add china_ip_route 43.227.204.0/22 -add china_ip_route 43.227.208.0/22 -add china_ip_route 43.227.212.0/22 -add china_ip_route 43.227.216.0/22 -add china_ip_route 43.227.220.0/22 -add china_ip_route 43.227.232.0/22 -add china_ip_route 43.227.248.0/22 -add china_ip_route 43.227.252.0/22 -add china_ip_route 43.228.0.0/22 -add china_ip_route 43.228.4.0/22 -add china_ip_route 43.228.8.0/22 -add china_ip_route 43.228.12.0/22 -add china_ip_route 43.228.16.0/22 -add china_ip_route 43.228.20.0/22 -add china_ip_route 43.228.24.0/22 -add china_ip_route 43.228.28.0/22 -add china_ip_route 43.228.32.0/22 -add china_ip_route 43.228.36.0/22 -add china_ip_route 43.228.40.0/22 -add china_ip_route 43.228.44.0/22 -add china_ip_route 43.228.48.0/22 -add china_ip_route 43.228.52.0/22 -add china_ip_route 43.228.56.0/22 -add china_ip_route 43.228.60.0/22 -add china_ip_route 43.228.64.0/22 -add china_ip_route 43.228.68.0/22 -add china_ip_route 43.228.76.0/22 -add china_ip_route 43.228.100.0/22 -add china_ip_route 43.228.116.0/22 -add china_ip_route 43.228.120.0/22 -add china_ip_route 43.228.132.0/22 -add china_ip_route 43.228.136.0/22 -add china_ip_route 43.228.148.0/22 -add china_ip_route 43.228.152.0/22 -add china_ip_route 43.228.188.0/22 -add china_ip_route 43.229.40.0/22 -add china_ip_route 43.229.48.0/22 -add china_ip_route 43.229.56.0/22 -add china_ip_route 43.229.96.0/22 -add china_ip_route 43.229.120.0/22 -add china_ip_route 43.229.136.0/22 -add china_ip_route 43.229.140.0/22 -add china_ip_route 43.229.144.0/22 -add china_ip_route 43.229.168.0/22 -add china_ip_route 43.229.172.0/22 -add china_ip_route 43.229.176.0/22 -add china_ip_route 43.229.180.0/22 -add china_ip_route 43.229.184.0/22 -add china_ip_route 43.229.188.0/22 -add china_ip_route 43.229.192.0/22 -add china_ip_route 43.229.196.0/22 -add china_ip_route 43.229.216.0/22 -add china_ip_route 43.229.220.0/22 -add china_ip_route 43.229.232.0/22 -add china_ip_route 43.229.236.0/22 -add china_ip_route 43.230.20.0/22 -add china_ip_route 43.230.32.0/22 -add china_ip_route 43.230.68.0/22 -add china_ip_route 43.230.72.0/22 -add china_ip_route 43.230.84.0/22 -add china_ip_route 43.230.124.0/22 -add china_ip_route 43.230.136.0/22 -add china_ip_route 43.230.220.0/22 -add china_ip_route 43.230.224.0/22 -add china_ip_route 43.230.228.0/22 -add china_ip_route 43.230.232.0/22 -add china_ip_route 43.230.236.0/22 -add china_ip_route 43.230.240.0/22 -add china_ip_route 43.230.244.0/22 -add china_ip_route 43.230.248.0/22 -add china_ip_route 43.230.252.0/22 -add china_ip_route 43.231.32.0/22 -add china_ip_route 43.231.36.0/22 -add china_ip_route 43.231.40.0/22 -add china_ip_route 43.231.44.0/22 -add china_ip_route 43.231.80.0/22 -add china_ip_route 43.231.84.0/22 -add china_ip_route 43.231.88.0/22 -add china_ip_route 43.231.92.0/22 -add china_ip_route 43.231.96.0/22 -add china_ip_route 43.231.100.0/22 -add china_ip_route 43.231.104.0/22 -add china_ip_route 43.231.108.0/22 -add china_ip_route 43.231.136.0/22 -add china_ip_route 43.231.140.0/22 -add china_ip_route 43.231.144.0/22 -add china_ip_route 43.231.148.0/22 -add china_ip_route 43.231.152.0/22 -add china_ip_route 43.231.156.0/22 -add china_ip_route 43.231.160.0/22 -add china_ip_route 43.231.164.0/22 -add china_ip_route 43.231.168.0/22 -add china_ip_route 43.231.172.0/22 -add china_ip_route 43.231.176.0/22 -add china_ip_route 43.231.180.0/22 -add china_ip_route 43.236.0.0/22 -add china_ip_route 43.236.4.0/22 -add china_ip_route 43.236.8.0/22 -add china_ip_route 43.236.12.0/22 -add china_ip_route 43.236.16.0/22 -add china_ip_route 43.236.20.0/22 -add china_ip_route 43.236.24.0/22 -add china_ip_route 43.236.28.0/22 -add china_ip_route 43.236.32.0/22 -add china_ip_route 43.236.36.0/22 -add china_ip_route 43.236.40.0/22 -add china_ip_route 43.236.44.0/22 -add china_ip_route 43.236.48.0/22 -add china_ip_route 43.236.52.0/22 -add china_ip_route 43.236.56.0/22 -add china_ip_route 43.236.60.0/22 -add china_ip_route 43.236.64.0/22 -add china_ip_route 43.236.68.0/22 -add china_ip_route 43.236.72.0/22 -add china_ip_route 43.236.76.0/22 -add china_ip_route 43.236.80.0/22 -add china_ip_route 43.236.84.0/22 -add china_ip_route 43.236.88.0/22 -add china_ip_route 43.236.92.0/22 -add china_ip_route 43.236.96.0/22 -add china_ip_route 43.236.100.0/22 -add china_ip_route 43.236.104.0/22 -add china_ip_route 43.236.108.0/22 -add china_ip_route 43.236.112.0/22 -add china_ip_route 43.236.116.0/22 -add china_ip_route 43.236.120.0/22 -add china_ip_route 43.236.124.0/22 -add china_ip_route 43.236.128.0/22 -add china_ip_route 43.236.132.0/22 -add china_ip_route 43.236.136.0/22 -add china_ip_route 43.236.140.0/22 -add china_ip_route 43.236.144.0/22 -add china_ip_route 43.236.148.0/22 -add china_ip_route 43.236.152.0/22 -add china_ip_route 43.236.156.0/22 -add china_ip_route 43.236.160.0/22 -add china_ip_route 43.236.164.0/22 -add china_ip_route 43.236.168.0/22 -add china_ip_route 43.236.172.0/22 -add china_ip_route 43.236.176.0/22 -add china_ip_route 43.236.180.0/22 -add china_ip_route 43.236.184.0/22 -add china_ip_route 43.236.188.0/22 -add china_ip_route 43.236.192.0/22 -add china_ip_route 43.236.196.0/22 -add china_ip_route 43.236.200.0/22 -add china_ip_route 43.236.204.0/22 -add china_ip_route 43.236.208.0/22 -add china_ip_route 43.236.212.0/22 -add china_ip_route 43.236.216.0/22 -add china_ip_route 43.236.220.0/22 -add china_ip_route 43.236.224.0/22 -add china_ip_route 43.236.228.0/22 -add china_ip_route 43.236.232.0/22 -add china_ip_route 43.236.236.0/22 -add china_ip_route 43.236.240.0/22 -add china_ip_route 43.236.244.0/22 -add china_ip_route 43.236.248.0/22 -add china_ip_route 43.236.252.0/22 -add china_ip_route 43.237.0.0/22 -add china_ip_route 43.237.4.0/22 -add china_ip_route 43.237.8.0/22 -add china_ip_route 43.237.12.0/22 -add china_ip_route 43.237.16.0/22 -add china_ip_route 43.237.20.0/22 -add china_ip_route 43.237.24.0/22 -add china_ip_route 43.237.28.0/22 -add china_ip_route 43.237.32.0/22 -add china_ip_route 43.237.36.0/22 -add china_ip_route 43.237.40.0/22 -add china_ip_route 43.237.44.0/22 -add china_ip_route 43.237.48.0/22 -add china_ip_route 43.237.52.0/22 -add china_ip_route 43.237.56.0/22 -add china_ip_route 43.237.60.0/22 -add china_ip_route 43.237.64.0/22 -add china_ip_route 43.237.68.0/22 -add china_ip_route 43.237.72.0/22 -add china_ip_route 43.237.76.0/22 -add china_ip_route 43.237.80.0/22 -add china_ip_route 43.237.84.0/22 -add china_ip_route 43.237.88.0/22 -add china_ip_route 43.237.92.0/22 -add china_ip_route 43.237.96.0/22 -add china_ip_route 43.237.100.0/22 -add china_ip_route 43.237.104.0/22 -add china_ip_route 43.237.108.0/22 -add china_ip_route 43.237.112.0/22 -add china_ip_route 43.237.116.0/22 -add china_ip_route 43.237.120.0/22 -add china_ip_route 43.237.124.0/22 -add china_ip_route 43.237.128.0/22 -add china_ip_route 43.237.132.0/22 -add china_ip_route 43.237.136.0/22 -add china_ip_route 43.237.140.0/22 -add china_ip_route 43.237.144.0/22 -add china_ip_route 43.237.148.0/22 -add china_ip_route 43.237.152.0/22 -add china_ip_route 43.237.156.0/22 -add china_ip_route 43.237.160.0/22 -add china_ip_route 43.237.164.0/22 -add china_ip_route 43.237.168.0/22 -add china_ip_route 43.237.172.0/22 -add china_ip_route 43.237.176.0/22 -add china_ip_route 43.237.180.0/22 -add china_ip_route 43.237.184.0/22 -add china_ip_route 43.237.188.0/22 -add china_ip_route 43.237.192.0/22 -add china_ip_route 43.237.196.0/22 -add china_ip_route 43.237.200.0/22 -add china_ip_route 43.237.204.0/22 -add china_ip_route 43.237.208.0/22 -add china_ip_route 43.237.212.0/22 -add china_ip_route 43.237.216.0/22 -add china_ip_route 43.237.220.0/22 -add china_ip_route 43.237.224.0/22 -add china_ip_route 43.237.228.0/22 -add china_ip_route 43.237.232.0/22 -add china_ip_route 43.237.236.0/22 -add china_ip_route 43.237.240.0/22 -add china_ip_route 43.237.244.0/22 -add china_ip_route 43.237.248.0/22 -add china_ip_route 43.237.252.0/22 -add china_ip_route 43.238.0.0/22 -add china_ip_route 43.238.4.0/22 -add china_ip_route 43.238.8.0/22 -add china_ip_route 43.238.12.0/22 -add china_ip_route 43.238.16.0/22 -add china_ip_route 43.238.20.0/22 -add china_ip_route 43.238.24.0/22 -add china_ip_route 43.238.28.0/22 -add china_ip_route 43.238.32.0/22 -add china_ip_route 43.238.36.0/22 -add china_ip_route 43.238.40.0/22 -add china_ip_route 43.238.44.0/22 -add china_ip_route 43.238.48.0/22 -add china_ip_route 43.238.52.0/22 -add china_ip_route 43.238.56.0/22 -add china_ip_route 43.238.60.0/22 -add china_ip_route 43.238.64.0/22 -add china_ip_route 43.238.68.0/22 -add china_ip_route 43.238.72.0/22 -add china_ip_route 43.238.76.0/22 -add china_ip_route 43.238.80.0/22 -add china_ip_route 43.238.84.0/22 -add china_ip_route 43.238.88.0/22 -add china_ip_route 43.238.92.0/22 -add china_ip_route 43.238.96.0/22 -add china_ip_route 43.238.100.0/22 -add china_ip_route 43.238.104.0/22 -add china_ip_route 43.238.108.0/22 -add china_ip_route 43.238.112.0/22 -add china_ip_route 43.238.116.0/22 -add china_ip_route 43.238.120.0/22 -add china_ip_route 43.238.124.0/22 -add china_ip_route 43.238.128.0/22 -add china_ip_route 43.238.132.0/22 -add china_ip_route 43.238.136.0/22 -add china_ip_route 43.238.140.0/22 -add china_ip_route 43.238.144.0/22 -add china_ip_route 43.238.148.0/22 -add china_ip_route 43.238.152.0/22 -add china_ip_route 43.238.156.0/22 -add china_ip_route 43.238.160.0/22 -add china_ip_route 43.238.164.0/22 -add china_ip_route 43.238.168.0/22 -add china_ip_route 43.238.172.0/22 -add china_ip_route 43.238.176.0/22 -add china_ip_route 43.238.180.0/22 -add china_ip_route 43.238.184.0/22 -add china_ip_route 43.238.188.0/22 -add china_ip_route 43.238.192.0/22 -add china_ip_route 43.238.196.0/22 -add china_ip_route 43.238.200.0/22 -add china_ip_route 43.238.204.0/22 -add china_ip_route 43.238.208.0/22 -add china_ip_route 43.238.212.0/22 -add china_ip_route 43.238.216.0/22 -add china_ip_route 43.238.220.0/22 -add china_ip_route 43.238.224.0/22 -add china_ip_route 43.238.228.0/22 -add china_ip_route 43.238.232.0/22 -add china_ip_route 43.238.236.0/22 -add china_ip_route 43.238.240.0/22 -add china_ip_route 43.238.244.0/22 -add china_ip_route 43.238.248.0/22 -add china_ip_route 43.238.252.0/22 -add china_ip_route 43.239.0.0/22 -add china_ip_route 43.239.4.0/22 -add china_ip_route 43.239.8.0/21 -add china_ip_route 43.239.16.0/22 -add china_ip_route 43.239.20.0/22 -add china_ip_route 43.239.24.0/22 -add china_ip_route 43.239.28.0/22 -add china_ip_route 43.239.32.0/22 -add china_ip_route 43.239.36.0/22 -add china_ip_route 43.239.40.0/22 -add china_ip_route 43.239.44.0/22 -add china_ip_route 43.239.48.0/22 -add china_ip_route 43.239.116.0/22 -add china_ip_route 43.239.120.0/22 -add china_ip_route 43.239.172.0/22 -add china_ip_route 43.239.176.0/22 -add china_ip_route 43.240.0.0/22 -add china_ip_route 43.240.56.0/22 -add china_ip_route 43.240.60.0/22 -add china_ip_route 43.240.68.0/22 -add china_ip_route 43.240.72.0/22 -add china_ip_route 43.240.76.0/22 -add china_ip_route 43.240.84.0/22 -add china_ip_route 43.240.124.0/22 -add china_ip_route 43.240.128.0/22 -add china_ip_route 43.240.132.0/22 -add china_ip_route 43.240.136.0/22 -add china_ip_route 43.240.144.0/22 -add china_ip_route 43.240.156.0/22 -add china_ip_route 43.240.160.0/22 -add china_ip_route 43.240.164.0/22 -add china_ip_route 43.240.168.0/22 -add china_ip_route 43.240.172.0/22 -add china_ip_route 43.240.176.0/22 -add china_ip_route 43.240.180.0/22 -add china_ip_route 43.240.184.0/22 -add china_ip_route 43.240.188.0/22 -add china_ip_route 43.240.192.0/22 -add china_ip_route 43.240.196.0/22 -add china_ip_route 43.240.200.0/22 -add china_ip_route 43.240.204.0/22 -add china_ip_route 43.240.208.0/22 -add china_ip_route 43.240.212.0/22 -add china_ip_route 43.240.216.0/22 -add china_ip_route 43.240.220.0/22 -add china_ip_route 43.240.236.0/22 -add china_ip_route 43.240.240.0/22 -add china_ip_route 43.240.244.0/22 -add china_ip_route 43.240.248.0/22 -add china_ip_route 43.240.252.0/22 -add china_ip_route 43.241.0.0/22 -add china_ip_route 43.241.4.0/22 -add china_ip_route 43.241.8.0/22 -add china_ip_route 43.241.12.0/22 -add china_ip_route 43.241.16.0/22 -add china_ip_route 43.241.20.0/22 -add china_ip_route 43.241.48.0/22 -add china_ip_route 43.241.76.0/22 -add china_ip_route 43.241.80.0/22 -add china_ip_route 43.241.84.0/22 -add china_ip_route 43.241.88.0/22 -add china_ip_route 43.241.92.0/22 -add china_ip_route 43.241.112.0/22 -add china_ip_route 43.241.168.0/22 -add china_ip_route 43.241.172.0/22 -add china_ip_route 43.241.176.0/22 -add china_ip_route 43.241.180.0/22 -add china_ip_route 43.241.184.0/22 -add china_ip_route 43.241.196.0/22 -add china_ip_route 43.241.208.0/22 -add china_ip_route 43.241.212.0/22 -add china_ip_route 43.241.216.0/22 -add china_ip_route 43.241.220.0/22 -add china_ip_route 43.241.224.0/22 -add china_ip_route 43.241.228.0/22 -add china_ip_route 43.241.232.0/22 -add china_ip_route 43.241.236.0/22 -add china_ip_route 43.241.240.0/22 -add china_ip_route 43.241.248.0/22 -add china_ip_route 43.241.252.0/22 -add china_ip_route 43.242.8.0/22 -add china_ip_route 43.242.12.0/22 -add china_ip_route 43.242.16.0/22 -add china_ip_route 43.242.20.0/22 -add china_ip_route 43.242.24.0/22 -add china_ip_route 43.242.28.0/22 -add china_ip_route 43.242.44.0/22 -add china_ip_route 43.242.48.0/22 -add china_ip_route 43.242.52.0/22 -add china_ip_route 43.242.56.0/22 -add china_ip_route 43.242.60.0/22 -add china_ip_route 43.242.64.0/22 -add china_ip_route 43.242.72.0/22 -add china_ip_route 43.242.76.0/22 -add china_ip_route 43.242.80.0/22 -add china_ip_route 43.242.84.0/22 -add china_ip_route 43.242.88.0/22 -add china_ip_route 43.242.92.0/22 -add china_ip_route 43.242.96.0/22 -add china_ip_route 43.242.144.0/22 -add china_ip_route 43.242.148.0/22 -add china_ip_route 43.242.152.0/22 -add china_ip_route 43.242.156.0/22 -add china_ip_route 43.242.160.0/22 -add china_ip_route 43.242.164.0/22 -add china_ip_route 43.242.168.0/22 -add china_ip_route 43.242.180.0/22 -add china_ip_route 43.242.188.0/22 -add china_ip_route 43.242.192.0/22 -add china_ip_route 43.242.196.0/22 -add china_ip_route 43.242.204.0/22 -add china_ip_route 43.242.216.0/22 -add china_ip_route 43.242.220.0/22 -add china_ip_route 43.242.252.0/22 -add china_ip_route 43.243.4.0/22 -add china_ip_route 43.243.8.0/22 -add china_ip_route 43.243.12.0/22 -add china_ip_route 43.243.16.0/22 -add china_ip_route 43.243.24.0/22 -add china_ip_route 43.243.88.0/22 -add china_ip_route 43.243.128.0/22 -add china_ip_route 43.243.136.0/22 -add china_ip_route 43.243.144.0/22 -add china_ip_route 43.243.148.0/22 -add china_ip_route 43.243.156.0/22 -add china_ip_route 43.243.180.0/22 -add china_ip_route 43.243.188.0/22 -add china_ip_route 43.243.228.0/22 -add china_ip_route 43.243.232.0/22 -add china_ip_route 43.243.244.0/22 -add china_ip_route 43.246.0.0/22 -add china_ip_route 43.246.4.0/22 -add china_ip_route 43.246.8.0/22 -add china_ip_route 43.246.12.0/22 -add china_ip_route 43.246.16.0/22 -add china_ip_route 43.246.20.0/22 -add china_ip_route 43.246.24.0/22 -add china_ip_route 43.246.28.0/22 -add china_ip_route 43.246.32.0/22 -add china_ip_route 43.246.36.0/22 -add china_ip_route 43.246.40.0/22 -add china_ip_route 43.246.44.0/22 -add china_ip_route 43.246.48.0/22 -add china_ip_route 43.246.52.0/22 -add china_ip_route 43.246.56.0/22 -add china_ip_route 43.246.60.0/22 -add china_ip_route 43.246.64.0/22 -add china_ip_route 43.246.68.0/22 -add china_ip_route 43.246.72.0/22 -add china_ip_route 43.246.76.0/22 -add china_ip_route 43.246.80.0/22 -add china_ip_route 43.246.84.0/22 -add china_ip_route 43.246.88.0/22 -add china_ip_route 43.246.92.0/22 -add china_ip_route 43.246.96.0/22 -add china_ip_route 43.246.112.0/22 -add china_ip_route 43.246.212.0/22 -add china_ip_route 43.246.228.0/22 -add china_ip_route 43.247.4.0/22 -add china_ip_route 43.247.8.0/22 -add china_ip_route 43.247.44.0/22 -add china_ip_route 43.247.48.0/22 -add china_ip_route 43.247.68.0/22 -add china_ip_route 43.247.76.0/22 -add china_ip_route 43.247.84.0/22 -add china_ip_route 43.247.88.0/22 -add china_ip_route 43.247.92.0/22 -add china_ip_route 43.247.96.0/22 -add china_ip_route 43.247.100.0/22 -add china_ip_route 43.247.108.0/22 -add china_ip_route 43.247.112.0/22 -add china_ip_route 43.247.148.0/22 -add china_ip_route 43.247.152.0/22 -add china_ip_route 43.247.176.0/22 -add china_ip_route 43.247.180.0/22 -add china_ip_route 43.247.184.0/22 -add china_ip_route 43.247.188.0/22 -add china_ip_route 43.247.196.0/22 -add china_ip_route 43.247.200.0/22 -add china_ip_route 43.247.204.0/22 -add china_ip_route 43.247.208.0/22 -add china_ip_route 43.247.212.0/22 -add china_ip_route 43.247.216.0/22 -add china_ip_route 43.247.220.0/22 -add china_ip_route 43.247.224.0/22 -add china_ip_route 43.247.228.0/22 -add china_ip_route 43.247.232.0/22 -add china_ip_route 43.247.236.0/22 -add china_ip_route 43.247.240.0/22 -add china_ip_route 43.247.244.0/22 -add china_ip_route 43.247.248.0/22 -add china_ip_route 43.247.252.0/22 -add china_ip_route 43.248.0.0/22 -add china_ip_route 43.248.4.0/22 -add china_ip_route 43.248.20.0/22 -add china_ip_route 43.248.28.0/22 -add china_ip_route 43.248.48.0/22 -add china_ip_route 43.248.76.0/22 -add china_ip_route 43.248.80.0/22 -add china_ip_route 43.248.84.0/22 -add china_ip_route 43.248.88.0/22 -add china_ip_route 43.248.92.0/22 -add china_ip_route 43.248.96.0/22 -add china_ip_route 43.248.100.0/22 -add china_ip_route 43.248.104.0/22 -add china_ip_route 43.248.108.0/22 -add china_ip_route 43.248.112.0/22 -add china_ip_route 43.248.116.0/22 -add china_ip_route 43.248.120.0/22 -add china_ip_route 43.248.124.0/22 -add china_ip_route 43.248.128.0/22 -add china_ip_route 43.248.132.0/22 -add china_ip_route 43.248.136.0/22 -add china_ip_route 43.248.140.0/22 -add china_ip_route 43.248.144.0/22 -add china_ip_route 43.248.148.0/22 -add china_ip_route 43.248.176.0/22 -add china_ip_route 43.248.180.0/22 -add china_ip_route 43.248.184.0/22 -add china_ip_route 43.248.188.0/22 -add china_ip_route 43.248.192.0/22 -add china_ip_route 43.248.196.0/22 -add china_ip_route 43.248.200.0/22 -add china_ip_route 43.248.204.0/22 -add china_ip_route 43.248.208.0/22 -add china_ip_route 43.248.228.0/22 -add china_ip_route 43.248.232.0/22 -add china_ip_route 43.248.244.0/22 -add china_ip_route 43.249.4.0/22 -add china_ip_route 43.249.8.0/22 -add china_ip_route 43.249.120.0/22 -add china_ip_route 43.249.132.0/22 -add china_ip_route 43.249.136.0/22 -add china_ip_route 43.249.144.0/22 -add china_ip_route 43.249.148.0/22 -add china_ip_route 43.249.152.0/22 -add china_ip_route 43.249.156.0/22 -add china_ip_route 43.249.160.0/22 -add china_ip_route 43.249.164.0/22 -add china_ip_route 43.249.168.0/22 -add china_ip_route 43.249.192.0/22 -add china_ip_route 43.249.236.0/22 -add china_ip_route 43.250.4.0/22 -add china_ip_route 43.250.12.0/22 -add china_ip_route 43.250.16.0/22 -add china_ip_route 43.250.20.0/22 -add china_ip_route 43.250.28.0/22 -add china_ip_route 43.250.32.0/22 -add china_ip_route 43.250.36.0/22 -add china_ip_route 43.250.72.0/22 -add china_ip_route 43.250.96.0/22 -add china_ip_route 43.250.100.0/22 -add china_ip_route 43.250.104.0/22 -add china_ip_route 43.250.108.0/22 -add china_ip_route 43.250.112.0/22 -add china_ip_route 43.250.116.0/22 -add china_ip_route 43.250.128.0/22 -add china_ip_route 43.250.144.0/22 -add china_ip_route 43.250.148.0/22 -add china_ip_route 43.250.160.0/22 -add china_ip_route 43.250.168.0/22 -add china_ip_route 43.250.172.0/22 -add china_ip_route 43.250.176.0/22 -add china_ip_route 43.250.200.0/22 -add china_ip_route 43.250.212.0/22 -add china_ip_route 43.250.216.0/22 -add china_ip_route 43.250.220.0/22 -add china_ip_route 43.250.236.0/22 -add china_ip_route 43.250.244.0/22 -add china_ip_route 43.251.4.0/22 -add china_ip_route 43.251.8.0/22 -add china_ip_route 43.251.36.0/22 -add china_ip_route 43.251.100.0/22 -add china_ip_route 43.251.116.0/22 -add china_ip_route 43.251.192.0/22 -add china_ip_route 43.251.232.0/22 -add china_ip_route 43.251.236.0/22 -add china_ip_route 43.251.244.0/22 -add china_ip_route 43.252.48.0/22 -add china_ip_route 43.252.56.0/22 -add china_ip_route 43.252.224.0/22 -add china_ip_route 43.254.0.0/22 -add china_ip_route 43.254.4.0/22 -add china_ip_route 43.254.8.0/22 -add china_ip_route 43.254.24.0/22 -add china_ip_route 43.254.36.0/22 -add china_ip_route 43.254.44.0/22 -add china_ip_route 43.254.52.0/22 -add china_ip_route 43.254.64.0/22 -add china_ip_route 43.254.72.0/22 -add china_ip_route 43.254.84.0/22 -add china_ip_route 43.254.88.0/22 -add china_ip_route 43.254.92.0/22 -add china_ip_route 43.254.100.0/22 -add china_ip_route 43.254.104.0/22 -add china_ip_route 43.254.112.0/22 -add china_ip_route 43.254.116.0/22 -add china_ip_route 43.254.128.0/22 -add china_ip_route 43.254.136.0/22 -add china_ip_route 43.254.140.0/22 -add china_ip_route 43.254.144.0/22 -add china_ip_route 43.254.148.0/22 -add china_ip_route 43.254.152.0/22 -add china_ip_route 43.254.156.0/22 -add china_ip_route 43.254.168.0/22 -add china_ip_route 43.254.172.0/22 -add china_ip_route 43.254.180.0/22 -add china_ip_route 43.254.184.0/22 -add china_ip_route 43.254.188.0/22 -add china_ip_route 43.254.192.0/22 -add china_ip_route 43.254.196.0/22 -add china_ip_route 43.254.200.0/22 -add china_ip_route 43.254.208.0/22 -add china_ip_route 43.254.220.0/22 -add china_ip_route 43.254.224.0/22 -add china_ip_route 43.254.228.0/22 -add china_ip_route 43.254.232.0/22 -add china_ip_route 43.254.236.0/22 -add china_ip_route 43.254.240.0/22 -add china_ip_route 43.254.248.0/22 -add china_ip_route 43.254.252.0/22 -add china_ip_route 43.255.0.0/22 -add china_ip_route 43.255.4.0/22 -add china_ip_route 43.255.8.0/22 -add china_ip_route 43.255.16.0/22 -add china_ip_route 43.255.48.0/22 -add china_ip_route 43.255.64.0/22 -add china_ip_route 43.255.68.0/22 -add china_ip_route 43.255.72.0/22 -add china_ip_route 43.255.76.0/22 -add china_ip_route 43.255.84.0/22 -add china_ip_route 43.255.96.0/22 -add china_ip_route 43.255.108.0/22 -add china_ip_route 43.255.144.0/22 -add china_ip_route 43.255.168.0/22 -add china_ip_route 43.255.176.0/22 -add china_ip_route 43.255.184.0/22 -add china_ip_route 43.255.192.0/22 -add china_ip_route 43.255.200.0/22 -add china_ip_route 43.255.204.0/22 -add china_ip_route 43.255.208.0/22 -add china_ip_route 43.255.212.0/22 -add china_ip_route 43.255.224.0/22 -add china_ip_route 43.255.228.0/22 -add china_ip_route 43.255.232.0/22 -add china_ip_route 43.255.244.0/22 -add china_ip_route 45.40.192.0/18 -add china_ip_route 45.65.16.0/22 -add china_ip_route 45.65.20.0/22 -add china_ip_route 45.65.24.0/22 -add china_ip_route 45.65.28.0/22 -add china_ip_route 45.112.132.0/22 -add china_ip_route 45.112.188.0/22 -add china_ip_route 45.112.208.0/22 -add china_ip_route 45.112.212.0/22 -add china_ip_route 45.112.216.0/22 -add china_ip_route 45.112.220.0/22 -add china_ip_route 45.112.228.0/22 -add china_ip_route 45.112.232.0/22 -add china_ip_route 45.112.236.0/22 -add china_ip_route 45.113.12.0/22 -add china_ip_route 45.113.16.0/22 -add china_ip_route 45.113.20.0/22 -add china_ip_route 45.113.24.0/22 -add china_ip_route 45.113.28.0/22 -add china_ip_route 45.113.40.0/22 -add china_ip_route 45.113.52.0/22 -add china_ip_route 45.113.56.0/22 -add china_ip_route 45.113.72.0/22 -add china_ip_route 45.113.144.0/22 -add china_ip_route 45.113.148.0/22 -add china_ip_route 45.113.168.0/22 -add china_ip_route 45.113.176.0/22 -add china_ip_route 45.113.184.0/22 -add china_ip_route 45.113.200.0/22 -add china_ip_route 45.113.204.0/22 -add china_ip_route 45.113.208.0/22 -add china_ip_route 45.113.212.0/22 -add china_ip_route 45.113.216.0/22 -add china_ip_route 45.113.220.0/22 -add china_ip_route 45.113.240.0/22 -add china_ip_route 45.113.252.0/22 -add china_ip_route 45.114.0.0/22 -add china_ip_route 45.114.12.0/22 -add china_ip_route 45.114.32.0/22 -add china_ip_route 45.114.40.0/22 -add china_ip_route 45.114.52.0/22 -add china_ip_route 45.114.96.0/22 -add china_ip_route 45.114.104.0/22 -add china_ip_route 45.114.124.0/22 -add china_ip_route 45.114.136.0/22 -add china_ip_route 45.114.196.0/22 -add china_ip_route 45.114.200.0/22 -add china_ip_route 45.114.228.0/22 -add china_ip_route 45.114.252.0/22 -add china_ip_route 45.115.44.0/22 -add china_ip_route 45.115.100.0/22 -add china_ip_route 45.115.120.0/22 -add china_ip_route 45.115.132.0/22 -add china_ip_route 45.115.144.0/22 -add china_ip_route 45.115.156.0/22 -add china_ip_route 45.115.164.0/22 -add china_ip_route 45.115.200.0/22 -add china_ip_route 45.115.212.0/22 -add china_ip_route 45.115.228.0/22 -add china_ip_route 45.115.236.0/22 -add china_ip_route 45.115.244.0/22 -add china_ip_route 45.115.248.0/22 -add china_ip_route 45.116.16.0/22 -add china_ip_route 45.116.24.0/22 -add china_ip_route 45.116.32.0/22 -add china_ip_route 45.116.36.0/22 -add china_ip_route 45.116.52.0/22 -add china_ip_route 45.116.96.0/22 -add china_ip_route 45.116.100.0/22 -add china_ip_route 45.116.140.0/22 -add china_ip_route 45.116.152.0/22 -add china_ip_route 45.116.208.0/22 -add china_ip_route 45.117.8.0/22 -add china_ip_route 45.117.20.0/22 -add china_ip_route 45.117.68.0/22 -add china_ip_route 45.117.124.0/22 -add china_ip_route 45.117.252.0/22 -add china_ip_route 45.119.52.0/22 -add china_ip_route 45.119.60.0/22 -add china_ip_route 45.119.64.0/22 -add china_ip_route 45.119.68.0/22 -add china_ip_route 45.119.72.0/22 -add china_ip_route 45.119.104.0/22 -add china_ip_route 45.119.116.0/22 -add china_ip_route 45.119.232.0/22 -add china_ip_route 45.120.100.0/22 -add china_ip_route 45.120.140.0/22 -add china_ip_route 45.120.164.0/22 -add china_ip_route 45.120.220.0/22 -add china_ip_route 45.120.240.0/22 -add china_ip_route 45.121.52.0/22 -add china_ip_route 45.121.64.0/22 -add china_ip_route 45.121.68.0/22 -add china_ip_route 45.121.72.0/22 -add china_ip_route 45.121.92.0/22 -add china_ip_route 45.121.96.0/22 -add china_ip_route 45.121.172.0/22 -add china_ip_route 45.121.176.0/22 -add china_ip_route 45.121.212.0/22 -add china_ip_route 45.121.240.0/22 -add china_ip_route 45.121.244.0/22 -add china_ip_route 45.121.248.0/22 -add china_ip_route 45.121.252.0/22 -add china_ip_route 45.122.0.0/22 -add china_ip_route 45.122.4.0/22 -add china_ip_route 45.122.8.0/22 -add china_ip_route 45.122.12.0/22 -add china_ip_route 45.122.16.0/22 -add china_ip_route 45.122.20.0/22 -add china_ip_route 45.122.24.0/22 -add china_ip_route 45.122.28.0/22 -add china_ip_route 45.122.32.0/22 -add china_ip_route 45.122.36.0/22 -add china_ip_route 45.122.40.0/22 -add china_ip_route 45.122.60.0/22 -add china_ip_route 45.122.64.0/22 -add china_ip_route 45.122.68.0/22 -add china_ip_route 45.122.72.0/22 -add china_ip_route 45.122.76.0/22 -add china_ip_route 45.122.80.0/22 -add china_ip_route 45.122.84.0/22 -add china_ip_route 45.122.88.0/22 -add china_ip_route 45.122.92.0/22 -add china_ip_route 45.122.96.0/21 -add china_ip_route 45.122.104.0/22 -add china_ip_route 45.122.108.0/22 -add china_ip_route 45.122.112.0/22 -add china_ip_route 45.122.116.0/22 -add china_ip_route 45.122.160.0/22 -add china_ip_route 45.122.164.0/22 -add china_ip_route 45.122.168.0/22 -add china_ip_route 45.122.172.0/22 -add china_ip_route 45.122.176.0/22 -add china_ip_route 45.122.180.0/22 -add china_ip_route 45.122.184.0/22 -add china_ip_route 45.122.188.0/22 -add china_ip_route 45.122.192.0/22 -add china_ip_route 45.122.196.0/22 -add china_ip_route 45.122.200.0/22 -add china_ip_route 45.122.204.0/22 -add china_ip_route 45.122.208.0/22 -add china_ip_route 45.122.212.0/22 -add china_ip_route 45.122.216.0/22 -add china_ip_route 45.123.28.0/22 -add china_ip_route 45.123.32.0/22 -add china_ip_route 45.123.36.0/22 -add china_ip_route 45.123.44.0/22 -add china_ip_route 45.123.48.0/22 -add china_ip_route 45.123.52.0/22 -add china_ip_route 45.123.56.0/22 -add china_ip_route 45.123.60.0/22 -add china_ip_route 45.123.64.0/22 -add china_ip_route 45.123.68.0/22 -add china_ip_route 45.123.72.0/22 -add china_ip_route 45.123.76.0/22 -add china_ip_route 45.123.80.0/22 -add china_ip_route 45.123.84.0/22 -add china_ip_route 45.123.88.0/22 -add china_ip_route 45.123.120.0/22 -add china_ip_route 45.123.128.0/22 -add china_ip_route 45.123.132.0/22 -add china_ip_route 45.123.136.0/22 -add china_ip_route 45.123.148.0/22 -add china_ip_route 45.123.152.0/22 -add china_ip_route 45.123.156.0/22 -add china_ip_route 45.123.164.0/22 -add china_ip_route 45.123.168.0/22 -add china_ip_route 45.123.172.0/22 -add china_ip_route 45.123.176.0/22 -add china_ip_route 45.123.180.0/22 -add china_ip_route 45.123.184.0/22 -add china_ip_route 45.123.204.0/22 -add china_ip_route 45.123.212.0/22 -add china_ip_route 45.123.224.0/22 -add china_ip_route 45.123.228.0/22 -add china_ip_route 45.123.232.0/22 -add china_ip_route 45.123.236.0/22 -add china_ip_route 45.123.240.0/22 -add china_ip_route 45.123.244.0/22 -add china_ip_route 45.123.248.0/22 -add china_ip_route 45.123.252.0/22 -add china_ip_route 45.124.0.0/22 -add china_ip_route 45.124.20.0/22 -add china_ip_route 45.124.28.0/22 -add china_ip_route 45.124.32.0/22 -add china_ip_route 45.124.36.0/22 -add china_ip_route 45.124.44.0/22 -add china_ip_route 45.124.68.0/22 -add china_ip_route 45.124.76.0/22 -add china_ip_route 45.124.80.0/22 -add china_ip_route 45.124.100.0/22 -add china_ip_route 45.124.124.0/22 -add china_ip_route 45.124.172.0/22 -add china_ip_route 45.124.176.0/22 -add china_ip_route 45.124.208.0/22 -add china_ip_route 45.124.248.0/22 -add china_ip_route 45.125.12.0/22 -add china_ip_route 45.125.16.0/22 -add china_ip_route 45.125.24.0/22 -add china_ip_route 45.125.28.0/22 -add china_ip_route 45.125.44.0/22 -add china_ip_route 45.125.52.0/22 -add china_ip_route 45.125.56.0/22 -add china_ip_route 45.125.76.0/22 -add china_ip_route 45.125.80.0/22 -add china_ip_route 45.125.84.0/22 -add china_ip_route 45.125.88.0/22 -add china_ip_route 45.125.92.0/22 -add china_ip_route 45.125.96.0/22 -add china_ip_route 45.125.100.0/22 -add china_ip_route 45.125.104.0/22 -add china_ip_route 45.125.136.0/22 -add china_ip_route 45.126.48.0/22 -add china_ip_route 45.126.52.0/22 -add china_ip_route 45.126.100.0/22 -add china_ip_route 45.126.108.0/22 -add china_ip_route 45.126.112.0/22 -add china_ip_route 45.126.116.0/22 -add china_ip_route 45.126.120.0/22 -add china_ip_route 45.126.212.0/22 -add china_ip_route 45.126.220.0/22 -add china_ip_route 45.127.8.0/22 -add china_ip_route 45.127.12.0/22 -add china_ip_route 45.127.96.0/22 -add china_ip_route 45.127.116.0/22 -add china_ip_route 45.127.128.0/22 -add china_ip_route 45.127.144.0/22 -add china_ip_route 45.127.148.0/22 -add china_ip_route 45.127.156.0/22 -add china_ip_route 45.127.216.0/22 -add china_ip_route 45.248.8.0/22 -add china_ip_route 45.248.80.0/22 -add china_ip_route 45.248.84.0/22 -add china_ip_route 45.248.88.0/22 -add china_ip_route 45.248.96.0/22 -add china_ip_route 45.248.100.0/22 -add china_ip_route 45.248.104.0/22 -add china_ip_route 45.248.108.0/22 -add china_ip_route 45.248.128.0/22 -add china_ip_route 45.248.132.0/22 -add china_ip_route 45.248.204.0/22 -add china_ip_route 45.248.208.0/22 -add china_ip_route 45.248.212.0/22 -add china_ip_route 45.248.216.0/22 -add china_ip_route 45.248.220.0/22 -add china_ip_route 45.248.224.0/22 -add china_ip_route 45.248.228.0/22 -add china_ip_route 45.248.232.0/22 -add china_ip_route 45.248.236.0/22 -add china_ip_route 45.248.240.0/22 -add china_ip_route 45.248.244.0/22 -add china_ip_route 45.248.248.0/22 -add china_ip_route 45.248.252.0/22 -add china_ip_route 45.249.0.0/22 -add china_ip_route 45.249.4.0/22 -add china_ip_route 45.249.12.0/22 -add china_ip_route 45.249.16.0/22 -add china_ip_route 45.249.20.0/22 -add china_ip_route 45.249.24.0/22 -add china_ip_route 45.249.28.0/22 -add china_ip_route 45.249.32.0/22 -add china_ip_route 45.249.36.0/22 -add china_ip_route 45.249.92.0/22 -add china_ip_route 45.249.112.0/22 -add china_ip_route 45.249.188.0/22 -add china_ip_route 45.249.192.0/22 -add china_ip_route 45.249.196.0/22 -add china_ip_route 45.249.200.0/22 -add china_ip_route 45.249.204.0/22 -add china_ip_route 45.249.208.0/22 -add china_ip_route 45.249.212.0/22 -add china_ip_route 45.250.12.0/22 -add china_ip_route 45.250.16.0/22 -add china_ip_route 45.250.28.0/22 -add china_ip_route 45.250.32.0/22 -add china_ip_route 45.250.36.0/22 -add china_ip_route 45.250.40.0/22 -add china_ip_route 45.250.76.0/22 -add china_ip_route 45.250.80.0/22 -add china_ip_route 45.250.84.0/22 -add china_ip_route 45.250.88.0/22 -add china_ip_route 45.250.92.0/22 -add china_ip_route 45.250.96.0/22 -add china_ip_route 45.250.104.0/22 -add china_ip_route 45.250.108.0/22 -add china_ip_route 45.250.112.0/22 -add china_ip_route 45.250.116.0/22 -add china_ip_route 45.250.120.0/22 -add china_ip_route 45.250.124.0/22 -add china_ip_route 45.250.128.0/22 -add china_ip_route 45.250.132.0/22 -add china_ip_route 45.250.136.0/22 -add china_ip_route 45.250.140.0/22 -add china_ip_route 45.250.144.0/22 -add china_ip_route 45.250.148.0/22 -add china_ip_route 45.250.152.0/22 -add china_ip_route 45.250.164.0/22 -add china_ip_route 45.250.180.0/22 -add china_ip_route 45.250.184.0/22 -add china_ip_route 45.250.188.0/22 -add china_ip_route 45.250.192.0/22 -add china_ip_route 45.251.0.0/22 -add china_ip_route 45.251.8.0/22 -add china_ip_route 45.251.16.0/22 -add china_ip_route 45.251.20.0/22 -add china_ip_route 45.251.52.0/22 -add china_ip_route 45.251.84.0/22 -add china_ip_route 45.251.88.0/22 -add china_ip_route 45.251.92.0/22 -add china_ip_route 45.251.96.0/22 -add china_ip_route 45.251.100.0/22 -add china_ip_route 45.251.120.0/22 -add china_ip_route 45.251.124.0/22 -add china_ip_route 45.251.136.0/22 -add china_ip_route 45.251.140.0/22 -add china_ip_route 45.251.144.0/22 -add china_ip_route 45.251.148.0/22 -add china_ip_route 45.251.152.0/22 -add china_ip_route 45.251.156.0/22 -add china_ip_route 45.251.160.0/22 -add china_ip_route 45.251.164.0/22 -add china_ip_route 45.251.168.0/22 -add china_ip_route 45.251.172.0/22 -add china_ip_route 45.251.176.0/22 -add china_ip_route 45.251.180.0/22 -add china_ip_route 45.251.184.0/22 -add china_ip_route 45.251.188.0/22 -add china_ip_route 45.251.192.0/22 -add china_ip_route 45.251.196.0/22 -add china_ip_route 45.251.200.0/22 -add china_ip_route 45.251.204.0/22 -add china_ip_route 45.251.208.0/22 -add china_ip_route 45.251.212.0/22 -add china_ip_route 45.251.216.0/22 -add china_ip_route 45.251.220.0/22 -add china_ip_route 45.251.224.0/22 -add china_ip_route 45.251.240.0/22 -add china_ip_route 45.252.0.0/22 -add china_ip_route 45.252.4.0/22 -add china_ip_route 45.252.8.0/22 -add china_ip_route 45.252.12.0/22 -add china_ip_route 45.252.16.0/22 -add china_ip_route 45.252.20.0/22 -add china_ip_route 45.252.24.0/22 -add china_ip_route 45.252.28.0/22 -add china_ip_route 45.252.32.0/22 -add china_ip_route 45.252.36.0/22 -add china_ip_route 45.252.40.0/22 -add china_ip_route 45.252.44.0/22 -add china_ip_route 45.252.48.0/22 -add china_ip_route 45.252.60.0/22 -add china_ip_route 45.252.84.0/22 -add china_ip_route 45.252.88.0/22 -add china_ip_route 45.252.92.0/22 -add china_ip_route 45.252.96.0/22 -add china_ip_route 45.252.100.0/22 -add china_ip_route 45.252.104.0/22 -add china_ip_route 45.252.108.0/22 -add china_ip_route 45.252.112.0/22 -add china_ip_route 45.252.116.0/22 -add china_ip_route 45.252.120.0/22 -add china_ip_route 45.252.124.0/22 -add china_ip_route 45.252.128.0/22 -add china_ip_route 45.252.132.0/22 -add china_ip_route 45.252.136.0/22 -add china_ip_route 45.252.140.0/22 -add china_ip_route 45.252.144.0/22 -add china_ip_route 45.252.148.0/22 -add china_ip_route 45.252.152.0/22 -add china_ip_route 45.252.156.0/22 -add china_ip_route 45.252.160.0/22 -add china_ip_route 45.252.164.0/22 -add china_ip_route 45.252.168.0/22 -add china_ip_route 45.252.172.0/22 -add china_ip_route 45.252.176.0/22 -add china_ip_route 45.252.192.0/22 -add china_ip_route 45.252.196.0/22 -add china_ip_route 45.252.200.0/22 -add china_ip_route 45.252.204.0/22 -add china_ip_route 45.252.208.0/22 -add china_ip_route 45.252.212.0/22 -add china_ip_route 45.252.216.0/22 -add china_ip_route 45.252.220.0/22 -add china_ip_route 45.252.224.0/22 -add china_ip_route 45.252.228.0/22 -add china_ip_route 45.252.232.0/22 -add china_ip_route 45.253.0.0/22 -add china_ip_route 45.253.4.0/22 -add china_ip_route 45.253.8.0/22 -add china_ip_route 45.253.12.0/22 -add china_ip_route 45.253.16.0/22 -add china_ip_route 45.253.20.0/22 -add china_ip_route 45.253.24.0/22 -add china_ip_route 45.253.28.0/22 -add china_ip_route 45.253.32.0/22 -add china_ip_route 45.253.36.0/22 -add china_ip_route 45.253.40.0/22 -add china_ip_route 45.253.44.0/22 -add china_ip_route 45.253.48.0/22 -add china_ip_route 45.253.52.0/22 -add china_ip_route 45.253.56.0/22 -add china_ip_route 45.253.60.0/22 -add china_ip_route 45.253.64.0/22 -add china_ip_route 45.253.68.0/22 -add china_ip_route 45.253.72.0/22 -add china_ip_route 45.253.76.0/22 -add china_ip_route 45.253.80.0/22 -add china_ip_route 45.253.84.0/22 -add china_ip_route 45.253.92.0/22 -add china_ip_route 45.253.96.0/22 -add china_ip_route 45.253.100.0/22 -add china_ip_route 45.253.104.0/22 -add china_ip_route 45.253.108.0/22 -add china_ip_route 45.253.112.0/22 -add china_ip_route 45.253.116.0/22 -add china_ip_route 45.253.120.0/22 -add china_ip_route 45.253.132.0/22 -add china_ip_route 45.253.136.0/22 -add china_ip_route 45.253.140.0/22 -add china_ip_route 45.253.144.0/22 -add china_ip_route 45.253.148.0/22 -add china_ip_route 45.253.152.0/22 -add china_ip_route 45.253.156.0/22 -add china_ip_route 45.253.160.0/22 -add china_ip_route 45.253.164.0/22 -add china_ip_route 45.253.168.0/22 -add china_ip_route 45.253.172.0/22 -add china_ip_route 45.253.176.0/22 -add china_ip_route 45.253.180.0/22 -add china_ip_route 45.253.184.0/22 -add china_ip_route 45.253.188.0/22 -add china_ip_route 45.253.192.0/22 -add china_ip_route 45.253.196.0/22 -add china_ip_route 45.253.200.0/22 -add china_ip_route 45.253.204.0/22 -add china_ip_route 45.253.208.0/22 -add china_ip_route 45.253.212.0/22 -add china_ip_route 45.253.216.0/22 -add china_ip_route 45.253.220.0/22 -add china_ip_route 45.253.224.0/22 -add china_ip_route 45.253.228.0/22 -add china_ip_route 45.253.232.0/22 -add china_ip_route 45.253.236.0/22 -add china_ip_route 45.253.240.0/22 -add china_ip_route 45.253.244.0/22 -add china_ip_route 45.254.0.0/22 -add china_ip_route 45.254.4.0/22 -add china_ip_route 45.254.8.0/22 -add china_ip_route 45.254.12.0/22 -add china_ip_route 45.254.16.0/22 -add china_ip_route 45.254.20.0/22 -add china_ip_route 45.254.24.0/22 -add china_ip_route 45.254.28.0/22 -add china_ip_route 45.254.40.0/22 -add china_ip_route 45.254.48.0/22 -add china_ip_route 45.254.52.0/22 -add china_ip_route 45.254.56.0/22 -add china_ip_route 45.254.60.0/22 -add china_ip_route 45.254.64.0/22 -add china_ip_route 45.254.68.0/22 -add china_ip_route 45.254.72.0/22 -add china_ip_route 45.254.76.0/22 -add china_ip_route 45.254.80.0/22 -add china_ip_route 45.254.84.0/22 -add china_ip_route 45.254.88.0/22 -add china_ip_route 45.254.92.0/22 -add china_ip_route 45.254.96.0/22 -add china_ip_route 45.254.100.0/22 -add china_ip_route 45.254.104.0/22 -add china_ip_route 45.254.108.0/22 -add china_ip_route 45.254.112.0/22 -add china_ip_route 45.254.116.0/22 -add china_ip_route 45.254.120.0/22 -add china_ip_route 45.254.124.0/22 -add china_ip_route 45.254.128.0/22 -add china_ip_route 45.254.132.0/22 -add china_ip_route 45.254.136.0/22 -add china_ip_route 45.254.140.0/22 -add china_ip_route 45.254.144.0/22 -add china_ip_route 45.254.148.0/22 -add china_ip_route 45.254.152.0/22 -add china_ip_route 45.254.156.0/22 -add china_ip_route 45.254.160.0/22 -add china_ip_route 45.254.164.0/22 -add china_ip_route 45.254.168.0/22 -add china_ip_route 45.254.172.0/22 -add china_ip_route 45.254.176.0/22 -add china_ip_route 45.254.180.0/22 -add china_ip_route 45.254.184.0/22 -add china_ip_route 45.254.188.0/22 -add china_ip_route 45.254.192.0/22 -add china_ip_route 45.254.196.0/22 -add china_ip_route 45.254.200.0/22 -add china_ip_route 45.254.204.0/22 -add china_ip_route 45.254.208.0/22 -add china_ip_route 45.254.212.0/22 -add china_ip_route 45.254.216.0/22 -add china_ip_route 45.254.220.0/22 -add china_ip_route 45.254.224.0/22 -add china_ip_route 45.254.228.0/22 -add china_ip_route 45.254.236.0/22 -add china_ip_route 45.254.240.0/22 -add china_ip_route 45.254.248.0/22 -add china_ip_route 45.255.0.0/22 -add china_ip_route 45.255.4.0/22 -add china_ip_route 45.255.8.0/22 -add china_ip_route 45.255.12.0/22 -add china_ip_route 45.255.16.0/22 -add china_ip_route 45.255.20.0/22 -add china_ip_route 45.255.24.0/22 -add china_ip_route 45.255.28.0/22 -add china_ip_route 45.255.32.0/22 -add china_ip_route 45.255.36.0/22 -add china_ip_route 45.255.40.0/22 -add china_ip_route 45.255.44.0/22 -add china_ip_route 45.255.48.0/22 -add china_ip_route 45.255.52.0/22 -add china_ip_route 45.255.56.0/22 -add china_ip_route 45.255.60.0/22 -add china_ip_route 45.255.64.0/22 -add china_ip_route 45.255.68.0/22 -add china_ip_route 45.255.72.0/22 -add china_ip_route 45.255.76.0/22 -add china_ip_route 45.255.80.0/22 -add china_ip_route 45.255.84.0/22 -add china_ip_route 45.255.88.0/22 -add china_ip_route 45.255.92.0/22 -add china_ip_route 45.255.96.0/22 -add china_ip_route 45.255.100.0/22 -add china_ip_route 45.255.104.0/22 -add china_ip_route 45.255.108.0/22 -add china_ip_route 45.255.112.0/22 -add china_ip_route 45.255.116.0/22 -add china_ip_route 45.255.120.0/22 -add china_ip_route 45.255.124.0/22 -add china_ip_route 45.255.132.0/22 -add china_ip_route 45.255.136.0/22 -add china_ip_route 45.255.140.0/22 -add china_ip_route 45.255.144.0/22 -add china_ip_route 45.255.148.0/22 -add china_ip_route 45.255.152.0/22 -add china_ip_route 45.255.156.0/22 -add china_ip_route 45.255.160.0/22 -add china_ip_route 45.255.164.0/22 -add china_ip_route 45.255.168.0/22 -add china_ip_route 45.255.172.0/22 -add china_ip_route 45.255.176.0/22 -add china_ip_route 45.255.180.0/22 -add china_ip_route 45.255.184.0/22 -add china_ip_route 45.255.188.0/22 -add china_ip_route 45.255.192.0/22 -add china_ip_route 45.255.196.0/22 -add china_ip_route 45.255.200.0/22 -add china_ip_route 45.255.204.0/22 -add china_ip_route 45.255.208.0/22 -add china_ip_route 45.255.212.0/22 -add china_ip_route 45.255.216.0/22 -add china_ip_route 45.255.220.0/22 -add china_ip_route 45.255.224.0/22 -add china_ip_route 45.255.228.0/22 -add china_ip_route 45.255.232.0/22 -add china_ip_route 45.255.236.0/22 -add china_ip_route 45.255.240.0/22 -add china_ip_route 45.255.244.0/22 -add china_ip_route 45.255.248.0/22 -add china_ip_route 47.92.0.0/14 -add china_ip_route 47.96.0.0/11 -add china_ip_route 49.4.0.0/14 -add china_ip_route 49.51.0.0/16 -add china_ip_route 49.52.0.0/14 -add china_ip_route 49.64.0.0/11 -add china_ip_route 49.112.0.0/13 -add china_ip_route 49.120.0.0/14 -add china_ip_route 49.128.0.0/24 -add china_ip_route 49.128.2.0/23 -add china_ip_route 49.128.4.0/22 -add china_ip_route 49.140.0.0/15 -add china_ip_route 49.152.0.0/14 -add china_ip_route 49.208.0.0/15 -add china_ip_route 49.210.0.0/15 -add china_ip_route 49.220.0.0/14 -add china_ip_route 49.232.0.0/14 -add china_ip_route 49.239.0.0/18 -add china_ip_route 49.239.192.0/18 -add china_ip_route 49.246.224.0/19 -add china_ip_route 52.80.0.0/15 -add china_ip_route 52.82.0.0/15 -add china_ip_route 52.130.0.0/15 -add china_ip_route 54.222.0.0/15 -add china_ip_route 58.14.0.0/15 -add china_ip_route 58.16.0.0/16 -add china_ip_route 58.17.0.0/17 -add china_ip_route 58.17.128.0/17 -add china_ip_route 58.18.0.0/16 -add china_ip_route 58.19.0.0/16 -add china_ip_route 58.20.0.0/16 -add china_ip_route 58.21.0.0/16 -add china_ip_route 58.22.0.0/15 -add china_ip_route 58.24.0.0/15 -add china_ip_route 58.30.0.0/15 -add china_ip_route 58.32.0.0/13 -add china_ip_route 58.40.0.0/15 -add china_ip_route 58.42.0.0/16 -add china_ip_route 58.43.0.0/16 -add china_ip_route 58.44.0.0/14 -add china_ip_route 58.48.0.0/13 -add china_ip_route 58.56.0.0/15 -add china_ip_route 58.58.0.0/16 -add china_ip_route 58.59.0.0/17 -add china_ip_route 58.59.128.0/17 -add china_ip_route 58.60.0.0/14 -add china_ip_route 58.65.232.0/21 -add china_ip_route 58.66.0.0/15 -add china_ip_route 58.68.128.0/17 -add china_ip_route 58.82.0.0/17 -add china_ip_route 58.83.0.0/17 -add china_ip_route 58.83.128.0/17 -add china_ip_route 58.87.64.0/18 -add china_ip_route 58.99.128.0/17 -add china_ip_route 58.100.0.0/15 -add china_ip_route 58.116.0.0/14 -add china_ip_route 58.128.0.0/13 -add china_ip_route 58.144.0.0/16 -add china_ip_route 58.154.0.0/15 -add china_ip_route 58.192.0.0/15 -add china_ip_route 58.194.0.0/15 -add china_ip_route 58.196.0.0/15 -add china_ip_route 58.198.0.0/15 -add china_ip_route 58.200.0.0/13 -add china_ip_route 58.208.0.0/12 -add china_ip_route 58.240.0.0/15 -add china_ip_route 58.242.0.0/15 -add china_ip_route 58.244.0.0/15 -add china_ip_route 58.246.0.0/15 -add china_ip_route 58.248.0.0/13 -add china_ip_route 59.32.0.0/13 -add china_ip_route 59.40.0.0/15 -add china_ip_route 59.42.0.0/16 -add china_ip_route 59.43.0.0/16 -add china_ip_route 59.44.0.0/14 -add china_ip_route 59.48.0.0/16 -add china_ip_route 59.49.0.0/17 -add china_ip_route 59.49.128.0/17 -add china_ip_route 59.50.0.0/16 -add china_ip_route 59.51.0.0/17 -add china_ip_route 59.51.128.0/17 -add china_ip_route 59.52.0.0/14 -add china_ip_route 59.56.0.0/14 -add china_ip_route 59.60.0.0/15 -add china_ip_route 59.62.0.0/15 -add china_ip_route 59.64.0.0/14 -add china_ip_route 59.68.0.0/14 -add china_ip_route 59.72.0.0/15 -add china_ip_route 59.74.0.0/15 -add china_ip_route 59.76.0.0/16 -add china_ip_route 59.77.0.0/16 -add china_ip_route 59.78.0.0/15 -add china_ip_route 59.80.0.0/15 -add china_ip_route 59.82.0.0/15 -add china_ip_route 59.107.0.0/17 -add china_ip_route 59.107.128.0/17 -add china_ip_route 59.108.0.0/15 -add china_ip_route 59.110.0.0/15 -add china_ip_route 59.151.0.0/17 -add china_ip_route 59.152.16.0/22 -add china_ip_route 59.152.20.0/22 -add china_ip_route 59.152.24.0/22 -add china_ip_route 59.152.28.0/22 -add china_ip_route 59.152.32.0/22 -add china_ip_route 59.152.36.0/22 -add china_ip_route 59.152.64.0/22 -add china_ip_route 59.152.68.0/22 -add china_ip_route 59.152.72.0/22 -add china_ip_route 59.152.76.0/22 -add china_ip_route 59.152.112.0/22 -add china_ip_route 59.152.116.0/22 -add china_ip_route 59.153.4.0/22 -add china_ip_route 59.153.32.0/22 -add china_ip_route 59.153.60.0/22 -add china_ip_route 59.153.64.0/22 -add china_ip_route 59.153.68.0/22 -add china_ip_route 59.153.72.0/22 -add china_ip_route 59.153.92.0/22 -add china_ip_route 59.153.116.0/22 -add china_ip_route 59.153.136.0/22 -add china_ip_route 59.153.152.0/22 -add china_ip_route 59.153.156.0/22 -add china_ip_route 59.153.164.0/22 -add china_ip_route 59.153.168.0/22 -add china_ip_route 59.153.172.0/22 -add china_ip_route 59.153.176.0/22 -add china_ip_route 59.153.180.0/22 -add china_ip_route 59.153.184.0/22 -add china_ip_route 59.153.188.0/22 -add china_ip_route 59.153.192.0/22 -add china_ip_route 59.155.0.0/16 -add china_ip_route 59.172.0.0/15 -add china_ip_route 59.174.0.0/15 -add china_ip_route 59.191.0.0/17 -add china_ip_route 59.191.240.0/20 -add china_ip_route 59.192.0.0/10 -add china_ip_route 60.0.0.0/13 -add china_ip_route 60.8.0.0/15 -add china_ip_route 60.10.0.0/16 -add china_ip_route 60.11.0.0/16 -add china_ip_route 60.12.0.0/16 -add china_ip_route 60.13.0.0/18 -add china_ip_route 60.13.64.0/18 -add china_ip_route 60.13.128.0/17 -add china_ip_route 60.14.0.0/15 -add china_ip_route 60.16.0.0/13 -add china_ip_route 60.24.0.0/14 -add china_ip_route 60.28.0.0/15 -add china_ip_route 60.30.0.0/16 -add china_ip_route 60.31.0.0/16 -add china_ip_route 60.55.0.0/16 -add china_ip_route 60.63.0.0/16 -add china_ip_route 60.160.0.0/15 -add china_ip_route 60.162.0.0/15 -add china_ip_route 60.164.0.0/15 -add china_ip_route 60.166.0.0/15 -add china_ip_route 60.168.0.0/13 -add china_ip_route 60.176.0.0/12 -add china_ip_route 60.194.0.0/15 -add china_ip_route 60.200.0.0/14 -add china_ip_route 60.204.0.0/16 -add china_ip_route 60.205.0.0/16 -add china_ip_route 60.206.0.0/15 -add china_ip_route 60.208.0.0/13 -add china_ip_route 60.216.0.0/15 -add china_ip_route 60.218.0.0/15 -add china_ip_route 60.220.0.0/14 -add china_ip_route 60.232.0.0/15 -add china_ip_route 60.235.0.0/16 -add china_ip_route 60.245.128.0/17 -add china_ip_route 60.247.0.0/16 -add china_ip_route 60.252.0.0/16 -add china_ip_route 60.253.128.0/17 -add china_ip_route 60.255.0.0/16 -add china_ip_route 61.4.80.0/22 -add china_ip_route 61.4.84.0/22 -add china_ip_route 61.4.88.0/21 -add china_ip_route 61.4.176.0/20 -add china_ip_route 61.8.160.0/20 -add china_ip_route 61.14.212.0/22 -add china_ip_route 61.14.216.0/22 -add china_ip_route 61.14.220.0/22 -add china_ip_route 61.14.240.0/22 -add china_ip_route 61.14.244.0/22 -add china_ip_route 61.28.0.0/20 -add china_ip_route 61.28.16.0/20 -add china_ip_route 61.28.32.0/19 -add china_ip_route 61.28.64.0/18 -add china_ip_route 61.29.128.0/18 -add china_ip_route 61.29.192.0/19 -add china_ip_route 61.29.224.0/20 -add china_ip_route 61.29.240.0/21 -add china_ip_route 61.29.248.0/22 -add china_ip_route 61.29.254.0/23 -add china_ip_route 61.45.128.0/18 -add china_ip_route 61.45.224.0/20 -add china_ip_route 61.47.128.0/18 -add china_ip_route 61.48.0.0/14 -add china_ip_route 61.52.0.0/15 -add china_ip_route 61.54.0.0/16 -add china_ip_route 61.55.0.0/16 -add china_ip_route 61.87.192.0/18 -add china_ip_route 61.128.0.0/15 -add china_ip_route 61.130.0.0/15 -add china_ip_route 61.132.0.0/16 -add china_ip_route 61.133.0.0/17 -add china_ip_route 61.133.128.0/17 -add china_ip_route 61.134.0.0/18 -add china_ip_route 61.134.64.0/19 -add china_ip_route 61.134.96.0/19 -add china_ip_route 61.134.128.0/18 -add china_ip_route 61.134.192.0/18 -add china_ip_route 61.135.0.0/16 -add china_ip_route 61.136.0.0/18 -add china_ip_route 61.136.64.0/18 -add china_ip_route 61.136.128.0/17 -add china_ip_route 61.137.0.0/17 -add china_ip_route 61.137.128.0/17 -add china_ip_route 61.138.0.0/18 -add china_ip_route 61.138.64.0/18 -add china_ip_route 61.138.128.0/18 -add china_ip_route 61.138.192.0/18 -add china_ip_route 61.139.0.0/17 -add china_ip_route 61.139.128.0/18 -add china_ip_route 61.139.192.0/18 -add china_ip_route 61.140.0.0/14 -add china_ip_route 61.144.0.0/14 -add china_ip_route 61.148.0.0/15 -add china_ip_route 61.150.0.0/15 -add china_ip_route 61.152.0.0/16 -add china_ip_route 61.153.0.0/16 -add china_ip_route 61.154.0.0/15 -add china_ip_route 61.156.0.0/16 -add china_ip_route 61.157.0.0/16 -add china_ip_route 61.158.0.0/17 -add china_ip_route 61.158.128.0/17 -add china_ip_route 61.159.0.0/18 -add china_ip_route 61.159.64.0/18 -add china_ip_route 61.159.128.0/17 -add china_ip_route 61.160.0.0/16 -add china_ip_route 61.161.0.0/18 -add china_ip_route 61.161.64.0/18 -add china_ip_route 61.161.128.0/17 -add china_ip_route 61.162.0.0/16 -add china_ip_route 61.163.0.0/16 -add china_ip_route 61.164.0.0/16 -add china_ip_route 61.165.0.0/16 -add china_ip_route 61.166.0.0/16 -add china_ip_route 61.167.0.0/16 -add china_ip_route 61.168.0.0/16 -add china_ip_route 61.169.0.0/16 -add china_ip_route 61.170.0.0/15 -add china_ip_route 61.172.0.0/14 -add china_ip_route 61.176.0.0/16 -add china_ip_route 61.177.0.0/16 -add china_ip_route 61.178.0.0/16 -add china_ip_route 61.179.0.0/16 -add china_ip_route 61.180.0.0/17 -add china_ip_route 61.180.128.0/17 -add china_ip_route 61.181.0.0/16 -add china_ip_route 61.182.0.0/16 -add china_ip_route 61.183.0.0/16 -add china_ip_route 61.184.0.0/14 -add china_ip_route 61.188.0.0/16 -add china_ip_route 61.189.0.0/17 -add china_ip_route 61.189.128.0/17 -add china_ip_route 61.190.0.0/15 -add china_ip_route 61.232.0.0/14 -add china_ip_route 61.236.0.0/15 -add china_ip_route 61.240.0.0/14 -add china_ip_route 62.234.0.0/16 -add china_ip_route 68.79.0.0/18 -add china_ip_route 69.230.192.0/18 -add china_ip_route 69.231.128.0/18 -add china_ip_route 69.234.192.0/18 -add china_ip_route 69.235.128.0/18 -add china_ip_route 71.131.192.0/18 -add china_ip_route 71.132.0.0/18 -add china_ip_route 71.136.64.0/18 -add china_ip_route 71.137.0.0/18 -add china_ip_route 81.68.0.0/14 -add china_ip_route 82.156.0.0/15 -add china_ip_route 94.191.0.0/17 -add china_ip_route 101.0.0.0/22 -add china_ip_route 101.1.0.0/22 -add china_ip_route 101.2.172.0/22 -add china_ip_route 101.4.0.0/14 -add china_ip_route 101.16.0.0/12 -add china_ip_route 101.33.128.0/17 -add china_ip_route 101.34.0.0/15 -add china_ip_route 101.36.0.0/18 -add china_ip_route 101.36.64.0/19 -add china_ip_route 101.36.128.0/17 -add china_ip_route 101.37.0.0/16 -add china_ip_route 101.38.0.0/15 -add china_ip_route 101.40.0.0/15 -add china_ip_route 101.42.0.0/15 -add china_ip_route 101.44.0.0/14 -add china_ip_route 101.48.0.0/15 -add china_ip_route 101.50.8.0/22 -add china_ip_route 101.50.12.0/22 -add china_ip_route 101.50.56.0/22 -add china_ip_route 101.52.0.0/16 -add china_ip_route 101.53.100.0/22 -add china_ip_route 101.54.0.0/16 -add china_ip_route 101.55.224.0/21 -add china_ip_route 101.64.0.0/13 -add china_ip_route 101.72.0.0/14 -add china_ip_route 101.76.0.0/15 -add china_ip_route 101.78.0.0/22 -add china_ip_route 101.78.32.0/19 -add china_ip_route 101.80.0.0/12 -add china_ip_route 101.96.0.0/21 -add china_ip_route 101.96.8.0/22 -add china_ip_route 101.96.16.0/20 -add china_ip_route 101.96.128.0/17 -add china_ip_route 101.99.96.0/19 -add china_ip_route 101.101.64.0/19 -add china_ip_route 101.101.100.0/24 -add china_ip_route 101.101.102.0/23 -add china_ip_route 101.101.104.0/21 -add china_ip_route 101.101.112.0/20 -add china_ip_route 101.102.64.0/19 -add china_ip_route 101.102.100.0/23 -add china_ip_route 101.102.102.0/24 -add china_ip_route 101.102.104.0/21 -add china_ip_route 101.102.112.0/20 -add china_ip_route 101.104.0.0/14 -add china_ip_route 101.110.64.0/19 -add china_ip_route 101.110.96.0/20 -add china_ip_route 101.110.116.0/22 -add china_ip_route 101.110.120.0/21 -add china_ip_route 101.120.0.0/14 -add china_ip_route 101.124.0.0/15 -add china_ip_route 101.126.0.0/16 -add china_ip_route 101.128.0.0/22 -add china_ip_route 101.128.8.0/21 -add china_ip_route 101.128.16.0/20 -add china_ip_route 101.128.32.0/19 -add china_ip_route 101.129.0.0/16 -add china_ip_route 101.130.0.0/15 -add china_ip_route 101.132.0.0/14 -add china_ip_route 101.144.0.0/12 -add china_ip_route 101.192.0.0/14 -add china_ip_route 101.196.0.0/16 -add china_ip_route 101.197.0.0/16 -add china_ip_route 101.198.0.0/15 -add china_ip_route 101.200.0.0/15 -add china_ip_route 101.203.128.0/19 -add china_ip_route 101.203.160.0/21 -add china_ip_route 101.203.172.0/22 -add china_ip_route 101.203.176.0/20 -add china_ip_route 101.204.0.0/14 -add china_ip_route 101.224.0.0/13 -add china_ip_route 101.232.0.0/15 -add china_ip_route 101.234.64.0/21 -add china_ip_route 101.234.76.0/22 -add china_ip_route 101.234.80.0/20 -add china_ip_route 101.234.96.0/19 -add china_ip_route 101.236.0.0/14 -add china_ip_route 101.240.0.0/14 -add china_ip_route 101.244.0.0/14 -add china_ip_route 101.248.0.0/15 -add china_ip_route 101.251.0.0/22 -add china_ip_route 101.251.8.0/21 -add china_ip_route 101.251.16.0/20 -add china_ip_route 101.251.32.0/19 -add china_ip_route 101.251.64.0/18 -add china_ip_route 101.251.128.0/17 -add china_ip_route 101.252.0.0/15 -add china_ip_route 101.254.0.0/16 -add china_ip_route 103.1.8.0/22 -add china_ip_route 103.1.20.0/22 -add china_ip_route 103.1.24.0/22 -add china_ip_route 103.1.72.0/22 -add china_ip_route 103.1.88.0/22 -add china_ip_route 103.1.168.0/22 -add china_ip_route 103.2.108.0/22 -add china_ip_route 103.2.156.0/22 -add china_ip_route 103.2.164.0/22 -add china_ip_route 103.2.200.0/22 -add china_ip_route 103.2.204.0/22 -add china_ip_route 103.2.208.0/22 -add china_ip_route 103.2.212.0/22 -add china_ip_route 103.3.84.0/22 -add china_ip_route 103.3.88.0/22 -add china_ip_route 103.3.92.0/22 -add china_ip_route 103.3.96.0/22 -add china_ip_route 103.3.100.0/22 -add china_ip_route 103.3.104.0/22 -add china_ip_route 103.3.108.0/22 -add china_ip_route 103.3.112.0/22 -add china_ip_route 103.3.116.0/22 -add china_ip_route 103.3.120.0/22 -add china_ip_route 103.3.124.0/22 -add china_ip_route 103.3.128.0/22 -add china_ip_route 103.3.132.0/22 -add china_ip_route 103.3.136.0/22 -add china_ip_route 103.3.140.0/22 -add china_ip_route 103.3.148.0/22 -add china_ip_route 103.3.152.0/22 -add china_ip_route 103.3.156.0/22 -add china_ip_route 103.4.56.0/22 -add china_ip_route 103.4.168.0/22 -add china_ip_route 103.4.184.0/22 -add china_ip_route 103.4.224.0/22 -add china_ip_route 103.5.36.0/22 -add china_ip_route 103.5.52.0/22 -add china_ip_route 103.5.56.0/22 -add china_ip_route 103.5.152.0/22 -add china_ip_route 103.5.168.0/22 -add china_ip_route 103.5.192.0/22 -add china_ip_route 103.5.252.0/22 -add china_ip_route 103.6.76.0/22 -add china_ip_route 103.6.108.0/22 -add china_ip_route 103.6.220.0/22 -add china_ip_route 103.6.228.0/22 -add china_ip_route 103.7.4.0/22 -add china_ip_route 103.7.28.0/22 -add china_ip_route 103.7.140.0/22 -add china_ip_route 103.7.212.0/22 -add china_ip_route 103.7.216.0/22 -add china_ip_route 103.7.220.0/22 -add china_ip_route 103.8.0.0/22 -add china_ip_route 103.8.4.0/22 -add china_ip_route 103.8.8.0/22 -add china_ip_route 103.8.32.0/22 -add china_ip_route 103.8.52.0/22 -add china_ip_route 103.8.68.0/22 -add china_ip_route 103.8.108.0/22 -add china_ip_route 103.8.156.0/22 -add china_ip_route 103.8.200.0/22 -add china_ip_route 103.8.204.0/22 -add china_ip_route 103.8.220.0/22 -add china_ip_route 103.9.8.0/22 -add china_ip_route 103.9.24.0/22 -add china_ip_route 103.9.108.0/22 -add china_ip_route 103.9.152.0/22 -add china_ip_route 103.9.192.0/22 -add china_ip_route 103.9.248.0/22 -add china_ip_route 103.9.252.0/22 -add china_ip_route 103.10.0.0/22 -add china_ip_route 103.10.16.0/22 -add china_ip_route 103.10.84.0/22 -add china_ip_route 103.10.140.0/22 -add china_ip_route 103.11.16.0/22 -add china_ip_route 103.11.168.0/22 -add china_ip_route 103.11.180.0/22 -add china_ip_route 103.12.32.0/22 -add china_ip_route 103.12.68.0/22 -add china_ip_route 103.12.92.0/22 -add china_ip_route 103.12.136.0/22 -add china_ip_route 103.12.184.0/22 -add china_ip_route 103.12.232.0/22 -add china_ip_route 103.13.12.0/22 -add china_ip_route 103.13.124.0/22 -add china_ip_route 103.13.144.0/22 -add china_ip_route 103.13.196.0/22 -add china_ip_route 103.13.220.0/22 -add china_ip_route 103.13.244.0/22 -add china_ip_route 103.14.32.0/22 -add china_ip_route 103.14.84.0/22 -add china_ip_route 103.14.100.0/22 -add china_ip_route 103.14.132.0/22 -add china_ip_route 103.14.136.0/22 -add china_ip_route 103.14.156.0/22 -add china_ip_route 103.14.240.0/22 -add china_ip_route 103.15.4.0/22 -add china_ip_route 103.15.8.0/22 -add china_ip_route 103.15.16.0/22 -add china_ip_route 103.15.96.0/22 -add china_ip_route 103.15.200.0/22 -add china_ip_route 103.16.52.0/22 -add china_ip_route 103.16.80.0/22 -add china_ip_route 103.16.84.0/22 -add china_ip_route 103.16.88.0/22 -add china_ip_route 103.16.108.0/22 -add china_ip_route 103.16.124.0/22 -add china_ip_route 103.17.40.0/22 -add china_ip_route 103.17.64.0/22 -add china_ip_route 103.17.120.0/22 -add china_ip_route 103.17.136.0/22 -add china_ip_route 103.17.160.0/22 -add china_ip_route 103.17.204.0/22 -add china_ip_route 103.17.228.0/22 -add china_ip_route 103.18.192.0/22 -add china_ip_route 103.18.208.0/22 -add china_ip_route 103.18.212.0/22 -add china_ip_route 103.18.224.0/22 -add china_ip_route 103.19.12.0/22 -add china_ip_route 103.19.40.0/22 -add china_ip_route 103.19.44.0/22 -add china_ip_route 103.19.64.0/22 -add china_ip_route 103.19.68.0/22 -add china_ip_route 103.19.72.0/22 -add china_ip_route 103.19.232.0/22 -add china_ip_route 103.20.12.0/22 -add china_ip_route 103.20.32.0/22 -add china_ip_route 103.20.44.0/22 -add china_ip_route 103.20.68.0/22 -add china_ip_route 103.20.112.0/22 -add china_ip_route 103.20.128.0/22 -add china_ip_route 103.20.160.0/22 -add china_ip_route 103.20.248.0/22 -add china_ip_route 103.21.112.0/22 -add china_ip_route 103.21.116.0/22 -add china_ip_route 103.21.136.0/22 -add china_ip_route 103.21.140.0/22 -add china_ip_route 103.21.176.0/22 -add china_ip_route 103.21.208.0/22 -add china_ip_route 103.21.240.0/22 -add china_ip_route 103.22.0.0/22 -add china_ip_route 103.22.4.0/22 -add china_ip_route 103.22.8.0/22 -add china_ip_route 103.22.12.0/22 -add china_ip_route 103.22.16.0/22 -add china_ip_route 103.22.20.0/22 -add china_ip_route 103.22.24.0/22 -add china_ip_route 103.22.28.0/22 -add china_ip_route 103.22.32.0/22 -add china_ip_route 103.22.36.0/22 -add china_ip_route 103.22.40.0/22 -add china_ip_route 103.22.44.0/22 -add china_ip_route 103.22.48.0/22 -add china_ip_route 103.22.52.0/22 -add china_ip_route 103.22.56.0/22 -add china_ip_route 103.22.60.0/22 -add china_ip_route 103.22.64.0/22 -add china_ip_route 103.22.68.0/22 -add china_ip_route 103.22.72.0/22 -add china_ip_route 103.22.76.0/22 -add china_ip_route 103.22.80.0/22 -add china_ip_route 103.22.84.0/22 -add china_ip_route 103.22.88.0/22 -add china_ip_route 103.22.92.0/22 -add china_ip_route 103.22.100.0/22 -add china_ip_route 103.22.104.0/22 -add china_ip_route 103.22.108.0/22 -add china_ip_route 103.22.112.0/22 -add china_ip_route 103.22.116.0/22 -add china_ip_route 103.22.120.0/22 -add china_ip_route 103.22.124.0/22 -add china_ip_route 103.22.188.0/22 -add china_ip_route 103.22.228.0/22 -add china_ip_route 103.22.252.0/22 -add china_ip_route 103.23.8.0/22 -add china_ip_route 103.23.56.0/22 -add china_ip_route 103.23.160.0/22 -add china_ip_route 103.23.164.0/22 -add china_ip_route 103.23.176.0/22 -add china_ip_route 103.23.228.0/22 -add china_ip_route 103.24.24.0/22 -add china_ip_route 103.24.116.0/22 -add china_ip_route 103.24.128.0/22 -add china_ip_route 103.24.144.0/22 -add china_ip_route 103.24.176.0/22 -add china_ip_route 103.24.184.0/22 -add china_ip_route 103.24.220.0/22 -add china_ip_route 103.24.228.0/22 -add china_ip_route 103.24.248.0/22 -add china_ip_route 103.24.252.0/22 -add china_ip_route 103.25.8.0/23 -add china_ip_route 103.25.20.0/22 -add china_ip_route 103.25.24.0/22 -add china_ip_route 103.25.28.0/22 -add china_ip_route 103.25.32.0/22 -add china_ip_route 103.25.36.0/22 -add china_ip_route 103.25.40.0/22 -add china_ip_route 103.25.48.0/22 -add china_ip_route 103.25.64.0/22 -add china_ip_route 103.25.68.0/22 -add china_ip_route 103.25.148.0/22 -add china_ip_route 103.25.156.0/22 -add china_ip_route 103.25.216.0/22 -add china_ip_route 103.26.0.0/22 -add china_ip_route 103.26.64.0/22 -add china_ip_route 103.26.76.0/22 -add china_ip_route 103.26.132.0/22 -add china_ip_route 103.26.156.0/22 -add china_ip_route 103.26.160.0/22 -add china_ip_route 103.26.228.0/22 -add china_ip_route 103.26.240.0/22 -add china_ip_route 103.27.4.0/22 -add china_ip_route 103.27.12.0/22 -add china_ip_route 103.27.24.0/22 -add china_ip_route 103.27.56.0/22 -add china_ip_route 103.27.96.0/22 -add china_ip_route 103.27.184.0/22 -add china_ip_route 103.27.208.0/22 -add china_ip_route 103.27.212.0/22 -add china_ip_route 103.27.240.0/22 -add china_ip_route 103.28.4.0/22 -add china_ip_route 103.28.8.0/22 -add china_ip_route 103.28.184.0/22 -add china_ip_route 103.28.204.0/22 -add china_ip_route 103.28.212.0/22 -add china_ip_route 103.29.16.0/22 -add china_ip_route 103.29.128.0/22 -add china_ip_route 103.29.132.0/22 -add china_ip_route 103.29.136.0/22 -add china_ip_route 103.30.20.0/22 -add china_ip_route 103.30.96.0/22 -add china_ip_route 103.30.148.0/22 -add china_ip_route 103.30.200.0/22 -add china_ip_route 103.30.228.0/22 -add china_ip_route 103.30.236.0/22 -add china_ip_route 103.31.0.0/22 -add china_ip_route 103.31.48.0/22 -add china_ip_route 103.31.52.0/22 -add china_ip_route 103.31.56.0/22 -add china_ip_route 103.31.60.0/22 -add china_ip_route 103.31.64.0/22 -add china_ip_route 103.31.68.0/22 -add china_ip_route 103.31.148.0/22 -add china_ip_route 103.31.160.0/22 -add china_ip_route 103.31.168.0/22 -add china_ip_route 103.31.200.0/22 -add china_ip_route 103.31.236.0/22 -add china_ip_route 103.32.0.0/22 -add china_ip_route 103.32.4.0/22 -add china_ip_route 103.32.8.0/22 -add china_ip_route 103.32.12.0/22 -add china_ip_route 103.32.16.0/22 -add china_ip_route 103.32.20.0/22 -add china_ip_route 103.32.24.0/22 -add china_ip_route 103.32.28.0/22 -add china_ip_route 103.32.32.0/22 -add china_ip_route 103.32.36.0/22 -add china_ip_route 103.32.40.0/22 -add china_ip_route 103.32.44.0/22 -add china_ip_route 103.32.48.0/22 -add china_ip_route 103.32.52.0/22 -add china_ip_route 103.32.56.0/22 -add china_ip_route 103.32.60.0/22 -add china_ip_route 103.32.64.0/22 -add china_ip_route 103.32.68.0/22 -add china_ip_route 103.32.72.0/22 -add china_ip_route 103.32.76.0/22 -add china_ip_route 103.32.80.0/22 -add china_ip_route 103.32.84.0/22 -add china_ip_route 103.32.88.0/22 -add china_ip_route 103.32.92.0/22 -add china_ip_route 103.32.96.0/22 -add china_ip_route 103.32.100.0/22 -add china_ip_route 103.32.104.0/22 -add china_ip_route 103.32.108.0/22 -add china_ip_route 103.32.112.0/22 -add china_ip_route 103.32.116.0/22 -add china_ip_route 103.32.120.0/22 -add china_ip_route 103.32.124.0/22 -add china_ip_route 103.32.128.0/22 -add china_ip_route 103.32.132.0/22 -add china_ip_route 103.32.136.0/22 -add china_ip_route 103.32.140.0/22 -add china_ip_route 103.32.144.0/22 -add china_ip_route 103.32.148.0/22 -add china_ip_route 103.32.152.0/22 -add china_ip_route 103.32.156.0/22 -add china_ip_route 103.32.160.0/22 -add china_ip_route 103.32.164.0/22 -add china_ip_route 103.32.168.0/22 -add china_ip_route 103.32.172.0/22 -add china_ip_route 103.32.176.0/22 -add china_ip_route 103.32.180.0/22 -add china_ip_route 103.32.184.0/22 -add china_ip_route 103.32.188.0/22 -add china_ip_route 103.32.192.0/22 -add china_ip_route 103.32.196.0/22 -add china_ip_route 103.32.200.0/22 -add china_ip_route 103.32.204.0/22 -add china_ip_route 103.32.208.0/22 -add china_ip_route 103.32.212.0/22 -add china_ip_route 103.32.216.0/22 -add china_ip_route 103.32.220.0/22 -add china_ip_route 103.32.224.0/22 -add china_ip_route 103.32.228.0/22 -add china_ip_route 103.32.232.0/22 -add china_ip_route 103.32.236.0/22 -add china_ip_route 103.32.240.0/22 -add china_ip_route 103.32.244.0/22 -add china_ip_route 103.32.248.0/22 -add china_ip_route 103.32.252.0/22 -add china_ip_route 103.33.0.0/22 -add china_ip_route 103.33.4.0/22 -add china_ip_route 103.33.8.0/22 -add china_ip_route 103.33.12.0/22 -add china_ip_route 103.33.16.0/22 -add china_ip_route 103.33.20.0/22 -add china_ip_route 103.33.24.0/22 -add china_ip_route 103.33.28.0/22 -add china_ip_route 103.33.32.0/22 -add china_ip_route 103.33.36.0/22 -add china_ip_route 103.33.40.0/22 -add china_ip_route 103.33.44.0/22 -add china_ip_route 103.33.48.0/22 -add china_ip_route 103.33.52.0/22 -add china_ip_route 103.33.56.0/22 -add china_ip_route 103.33.60.0/22 -add china_ip_route 103.33.64.0/22 -add china_ip_route 103.33.68.0/22 -add china_ip_route 103.33.72.0/22 -add china_ip_route 103.33.76.0/22 -add china_ip_route 103.33.80.0/22 -add china_ip_route 103.33.84.0/22 -add china_ip_route 103.33.88.0/22 -add china_ip_route 103.33.92.0/22 -add china_ip_route 103.33.96.0/22 -add china_ip_route 103.33.100.0/22 -add china_ip_route 103.33.104.0/22 -add china_ip_route 103.33.108.0/22 -add china_ip_route 103.33.112.0/22 -add china_ip_route 103.33.116.0/22 -add china_ip_route 103.33.120.0/22 -add china_ip_route 103.33.124.0/22 -add china_ip_route 103.33.128.0/22 -add china_ip_route 103.33.132.0/22 -add china_ip_route 103.33.136.0/22 -add china_ip_route 103.33.140.0/22 -add china_ip_route 103.33.144.0/22 -add china_ip_route 103.33.148.0/22 -add china_ip_route 103.33.152.0/22 -add china_ip_route 103.33.156.0/22 -add china_ip_route 103.33.160.0/22 -add china_ip_route 103.33.164.0/22 -add china_ip_route 103.33.168.0/22 -add china_ip_route 103.33.172.0/22 -add china_ip_route 103.33.176.0/22 -add china_ip_route 103.33.180.0/22 -add china_ip_route 103.33.184.0/22 -add china_ip_route 103.33.188.0/22 -add china_ip_route 103.33.192.0/22 -add china_ip_route 103.33.196.0/22 -add china_ip_route 103.33.200.0/22 -add china_ip_route 103.33.204.0/22 -add china_ip_route 103.33.208.0/22 -add china_ip_route 103.33.212.0/22 -add china_ip_route 103.33.216.0/22 -add china_ip_route 103.33.220.0/22 -add china_ip_route 103.33.224.0/22 -add china_ip_route 103.33.228.0/22 -add china_ip_route 103.33.232.0/22 -add china_ip_route 103.33.236.0/22 -add china_ip_route 103.33.240.0/22 -add china_ip_route 103.33.244.0/22 -add china_ip_route 103.33.248.0/22 -add china_ip_route 103.33.252.0/22 -add china_ip_route 103.34.0.0/22 -add china_ip_route 103.34.4.0/22 -add china_ip_route 103.34.8.0/22 -add china_ip_route 103.34.12.0/22 -add china_ip_route 103.34.16.0/22 -add china_ip_route 103.34.20.0/22 -add china_ip_route 103.34.24.0/22 -add china_ip_route 103.34.28.0/22 -add china_ip_route 103.34.32.0/22 -add china_ip_route 103.34.36.0/22 -add china_ip_route 103.34.40.0/22 -add china_ip_route 103.34.44.0/22 -add china_ip_route 103.34.48.0/22 -add china_ip_route 103.34.52.0/22 -add china_ip_route 103.34.56.0/22 -add china_ip_route 103.34.60.0/22 -add china_ip_route 103.34.64.0/22 -add china_ip_route 103.34.68.0/22 -add china_ip_route 103.34.72.0/22 -add china_ip_route 103.34.76.0/22 -add china_ip_route 103.34.80.0/22 -add china_ip_route 103.34.84.0/22 -add china_ip_route 103.34.88.0/22 -add china_ip_route 103.34.92.0/22 -add china_ip_route 103.34.96.0/22 -add china_ip_route 103.34.100.0/22 -add china_ip_route 103.34.104.0/22 -add china_ip_route 103.34.108.0/22 -add china_ip_route 103.34.112.0/22 -add china_ip_route 103.34.116.0/22 -add china_ip_route 103.34.120.0/22 -add china_ip_route 103.34.124.0/22 -add china_ip_route 103.34.128.0/22 -add china_ip_route 103.34.132.0/22 -add china_ip_route 103.34.136.0/22 -add china_ip_route 103.34.140.0/22 -add china_ip_route 103.34.144.0/22 -add china_ip_route 103.34.148.0/22 -add china_ip_route 103.34.152.0/22 -add china_ip_route 103.34.156.0/22 -add china_ip_route 103.34.160.0/22 -add china_ip_route 103.34.164.0/22 -add china_ip_route 103.34.168.0/22 -add china_ip_route 103.34.172.0/22 -add china_ip_route 103.34.176.0/22 -add china_ip_route 103.34.180.0/22 -add china_ip_route 103.34.184.0/22 -add china_ip_route 103.34.188.0/22 -add china_ip_route 103.34.192.0/22 -add china_ip_route 103.34.196.0/22 -add china_ip_route 103.34.200.0/22 -add china_ip_route 103.34.204.0/22 -add china_ip_route 103.34.208.0/22 -add china_ip_route 103.34.212.0/22 -add china_ip_route 103.34.216.0/22 -add china_ip_route 103.34.220.0/22 -add china_ip_route 103.34.224.0/22 -add china_ip_route 103.34.228.0/22 -add china_ip_route 103.34.232.0/22 -add china_ip_route 103.34.236.0/22 -add china_ip_route 103.34.240.0/22 -add china_ip_route 103.34.244.0/22 -add china_ip_route 103.34.248.0/22 -add china_ip_route 103.34.252.0/22 -add china_ip_route 103.35.0.0/22 -add china_ip_route 103.35.4.0/22 -add china_ip_route 103.35.8.0/22 -add china_ip_route 103.35.12.0/22 -add china_ip_route 103.35.16.0/22 -add china_ip_route 103.35.20.0/22 -add china_ip_route 103.35.24.0/22 -add china_ip_route 103.35.28.0/22 -add china_ip_route 103.35.32.0/22 -add china_ip_route 103.35.36.0/22 -add china_ip_route 103.35.40.0/22 -add china_ip_route 103.35.44.0/22 -add china_ip_route 103.35.48.0/22 -add china_ip_route 103.35.104.0/22 -add china_ip_route 103.35.116.0/22 -add china_ip_route 103.35.180.0/22 -add china_ip_route 103.35.200.0/22 -add china_ip_route 103.35.220.0/22 -add china_ip_route 103.36.28.0/22 -add china_ip_route 103.36.36.0/22 -add china_ip_route 103.36.56.0/22 -add china_ip_route 103.36.60.0/22 -add china_ip_route 103.36.64.0/22 -add china_ip_route 103.36.72.0/22 -add china_ip_route 103.36.96.0/22 -add china_ip_route 103.36.132.0/22 -add china_ip_route 103.36.136.0/22 -add china_ip_route 103.36.160.0/22 -add china_ip_route 103.36.164.0/22 -add china_ip_route 103.36.168.0/22 -add china_ip_route 103.36.172.0/22 -add china_ip_route 103.36.176.0/22 -add china_ip_route 103.36.180.0/22 -add china_ip_route 103.36.184.0/22 -add china_ip_route 103.36.188.0/22 -add china_ip_route 103.36.192.0/22 -add china_ip_route 103.36.196.0/22 -add china_ip_route 103.36.200.0/22 -add china_ip_route 103.36.204.0/22 -add china_ip_route 103.36.208.0/22 -add china_ip_route 103.36.212.0/22 -add china_ip_route 103.36.216.0/22 -add china_ip_route 103.36.220.0/22 -add china_ip_route 103.36.224.0/22 -add china_ip_route 103.36.228.0/22 -add china_ip_route 103.36.232.0/22 -add china_ip_route 103.36.236.0/22 -add china_ip_route 103.36.240.0/22 -add china_ip_route 103.36.244.0/22 -add china_ip_route 103.37.0.0/22 -add china_ip_route 103.37.12.0/22 -add china_ip_route 103.37.16.0/22 -add china_ip_route 103.37.24.0/22 -add china_ip_route 103.37.44.0/22 -add china_ip_route 103.37.52.0/22 -add china_ip_route 103.37.56.0/22 -add china_ip_route 103.37.72.0/22 -add china_ip_route 103.37.100.0/22 -add china_ip_route 103.37.104.0/22 -add china_ip_route 103.37.124.0/22 -add china_ip_route 103.37.136.0/22 -add china_ip_route 103.37.140.0/22 -add china_ip_route 103.37.144.0/22 -add china_ip_route 103.37.148.0/22 -add china_ip_route 103.37.152.0/22 -add china_ip_route 103.37.156.0/22 -add china_ip_route 103.37.160.0/22 -add china_ip_route 103.37.164.0/22 -add china_ip_route 103.37.172.0/22 -add china_ip_route 103.37.176.0/22 -add china_ip_route 103.37.188.0/22 -add china_ip_route 103.37.208.0/22 -add china_ip_route 103.37.212.0/22 -add china_ip_route 103.37.216.0/22 -add china_ip_route 103.37.220.0/22 -add china_ip_route 103.37.248.0/22 -add china_ip_route 103.37.252.0/22 -add china_ip_route 103.38.0.0/22 -add china_ip_route 103.38.32.0/22 -add china_ip_route 103.38.40.0/22 -add china_ip_route 103.38.44.0/22 -add china_ip_route 103.38.56.0/22 -add china_ip_route 103.38.76.0/22 -add china_ip_route 103.38.84.0/22 -add china_ip_route 103.38.92.0/22 -add china_ip_route 103.38.96.0/22 -add china_ip_route 103.38.116.0/22 -add china_ip_route 103.38.132.0/22 -add china_ip_route 103.38.140.0/22 -add china_ip_route 103.38.224.0/22 -add china_ip_route 103.38.228.0/22 -add china_ip_route 103.38.232.0/22 -add china_ip_route 103.39.16.0/22 -add china_ip_route 103.39.64.0/22 -add china_ip_route 103.39.88.0/22 -add china_ip_route 103.39.100.0/22 -add china_ip_route 103.39.104.0/22 -add china_ip_route 103.39.108.0/22 -add china_ip_route 103.39.160.0/22 -add china_ip_route 103.39.164.0/22 -add china_ip_route 103.39.168.0/22 -add china_ip_route 103.39.172.0/22 -add china_ip_route 103.39.176.0/22 -add china_ip_route 103.39.180.0/22 -add china_ip_route 103.39.184.0/22 -add china_ip_route 103.39.188.0/22 -add china_ip_route 103.39.200.0/22 -add china_ip_route 103.39.204.0/22 -add china_ip_route 103.39.208.0/22 -add china_ip_route 103.39.212.0/22 -add china_ip_route 103.39.216.0/22 -add china_ip_route 103.39.220.0/22 -add china_ip_route 103.39.224.0/22 -add china_ip_route 103.39.228.0/22 -add china_ip_route 103.39.232.0/22 -add china_ip_route 103.40.12.0/22 -add china_ip_route 103.40.16.0/22 -add china_ip_route 103.40.20.0/22 -add china_ip_route 103.40.24.0/22 -add china_ip_route 103.40.28.0/22 -add china_ip_route 103.40.32.0/22 -add china_ip_route 103.40.36.0/22 -add china_ip_route 103.40.40.0/22 -add china_ip_route 103.40.44.0/22 -add china_ip_route 103.40.88.0/22 -add china_ip_route 103.40.100.0/22 -add china_ip_route 103.40.192.0/22 -add china_ip_route 103.40.212.0/22 -add china_ip_route 103.40.220.0/22 -add china_ip_route 103.40.228.0/22 -add china_ip_route 103.40.232.0/22 -add china_ip_route 103.40.236.0/22 -add china_ip_route 103.40.240.0/22 -add china_ip_route 103.40.244.0/22 -add china_ip_route 103.40.248.0/22 -add china_ip_route 103.40.252.0/22 -add china_ip_route 103.41.0.0/22 -add china_ip_route 103.41.16.0/22 -add china_ip_route 103.41.52.0/22 -add china_ip_route 103.41.140.0/22 -add china_ip_route 103.41.148.0/22 -add china_ip_route 103.41.152.0/22 -add china_ip_route 103.41.160.0/22 -add china_ip_route 103.41.164.0/22 -add china_ip_route 103.41.220.0/22 -add china_ip_route 103.41.224.0/22 -add china_ip_route 103.41.228.0/22 -add china_ip_route 103.41.232.0/22 -add china_ip_route 103.42.8.0/22 -add china_ip_route 103.42.24.0/22 -add china_ip_route 103.42.28.0/22 -add china_ip_route 103.42.32.0/22 -add china_ip_route 103.42.64.0/22 -add china_ip_route 103.42.68.0/22 -add china_ip_route 103.42.76.0/22 -add china_ip_route 103.42.104.0/22 -add china_ip_route 103.42.180.0/22 -add china_ip_route 103.42.232.0/22 -add china_ip_route 103.43.16.0/22 -add china_ip_route 103.43.84.0/22 -add china_ip_route 103.43.96.0/22 -add china_ip_route 103.43.100.0/22 -add china_ip_route 103.43.104.0/22 -add china_ip_route 103.43.124.0/22 -add china_ip_route 103.43.184.0/22 -add china_ip_route 103.43.192.0/22 -add china_ip_route 103.43.196.0/22 -add china_ip_route 103.43.208.0/22 -add china_ip_route 103.43.220.0/22 -add china_ip_route 103.43.224.0/22 -add china_ip_route 103.43.240.0/22 -add china_ip_route 103.44.56.0/22 -add china_ip_route 103.44.80.0/22 -add china_ip_route 103.44.88.0/22 -add china_ip_route 103.44.120.0/22 -add china_ip_route 103.44.124.0/22 -add china_ip_route 103.44.132.0/22 -add china_ip_route 103.44.144.0/22 -add china_ip_route 103.44.168.0/22 -add china_ip_route 103.44.176.0/22 -add china_ip_route 103.44.180.0/22 -add china_ip_route 103.44.184.0/22 -add china_ip_route 103.44.188.0/22 -add china_ip_route 103.44.192.0/22 -add china_ip_route 103.44.196.0/22 -add china_ip_route 103.44.200.0/22 -add china_ip_route 103.44.204.0/22 -add china_ip_route 103.44.224.0/22 -add china_ip_route 103.44.236.0/22 -add china_ip_route 103.44.240.0/22 -add china_ip_route 103.44.244.0/22 -add china_ip_route 103.44.248.0/22 -add china_ip_route 103.44.252.0/22 -add china_ip_route 103.45.0.0/22 -add china_ip_route 103.45.4.0/22 -add china_ip_route 103.45.8.0/22 -add china_ip_route 103.45.12.0/22 -add china_ip_route 103.45.16.0/22 -add china_ip_route 103.45.20.0/22 -add china_ip_route 103.45.24.0/22 -add china_ip_route 103.45.28.0/22 -add china_ip_route 103.45.32.0/22 -add china_ip_route 103.45.36.0/22 -add china_ip_route 103.45.40.0/22 -add china_ip_route 103.45.44.0/22 -add china_ip_route 103.45.48.0/22 -add china_ip_route 103.45.52.0/22 -add china_ip_route 103.45.56.0/22 -add china_ip_route 103.45.60.0/22 -add china_ip_route 103.45.72.0/22 -add china_ip_route 103.45.76.0/22 -add china_ip_route 103.45.80.0/22 -add china_ip_route 103.45.84.0/22 -add china_ip_route 103.45.88.0/22 -add china_ip_route 103.45.92.0/22 -add china_ip_route 103.45.96.0/22 -add china_ip_route 103.45.100.0/22 -add china_ip_route 103.45.104.0/22 -add china_ip_route 103.45.108.0/22 -add china_ip_route 103.45.112.0/22 -add china_ip_route 103.45.116.0/22 -add china_ip_route 103.45.120.0/22 -add china_ip_route 103.45.124.0/22 -add china_ip_route 103.45.128.0/22 -add china_ip_route 103.45.132.0/22 -add china_ip_route 103.45.136.0/22 -add china_ip_route 103.45.140.0/22 -add china_ip_route 103.45.144.0/22 -add china_ip_route 103.45.148.0/22 -add china_ip_route 103.45.152.0/22 -add china_ip_route 103.45.156.0/22 -add china_ip_route 103.45.160.0/22 -add china_ip_route 103.45.164.0/22 -add china_ip_route 103.45.168.0/22 -add china_ip_route 103.45.172.0/22 -add china_ip_route 103.45.176.0/22 -add china_ip_route 103.45.180.0/22 -add china_ip_route 103.45.184.0/22 -add china_ip_route 103.45.188.0/22 -add china_ip_route 103.45.192.0/22 -add china_ip_route 103.45.196.0/22 -add china_ip_route 103.45.200.0/22 -add china_ip_route 103.45.204.0/22 -add china_ip_route 103.45.208.0/22 -add china_ip_route 103.45.212.0/22 -add china_ip_route 103.45.216.0/22 -add china_ip_route 103.45.220.0/22 -add china_ip_route 103.45.224.0/22 -add china_ip_route 103.45.248.0/22 -add china_ip_route 103.46.0.0/22 -add china_ip_route 103.46.12.0/22 -add china_ip_route 103.46.16.0/22 -add china_ip_route 103.46.20.0/22 -add china_ip_route 103.46.24.0/22 -add china_ip_route 103.46.28.0/22 -add china_ip_route 103.46.32.0/22 -add china_ip_route 103.46.36.0/22 -add china_ip_route 103.46.40.0/22 -add china_ip_route 103.46.44.0/22 -add china_ip_route 103.46.48.0/22 -add china_ip_route 103.46.52.0/22 -add china_ip_route 103.46.56.0/22 -add china_ip_route 103.46.60.0/22 -add china_ip_route 103.46.64.0/22 -add china_ip_route 103.46.68.0/22 -add china_ip_route 103.46.72.0/22 -add china_ip_route 103.46.76.0/22 -add china_ip_route 103.46.80.0/22 -add china_ip_route 103.46.84.0/22 -add china_ip_route 103.46.88.0/22 -add china_ip_route 103.46.92.0/22 -add china_ip_route 103.46.96.0/22 -add china_ip_route 103.46.100.0/22 -add china_ip_route 103.46.104.0/22 -add china_ip_route 103.46.108.0/22 -add china_ip_route 103.46.112.0/22 -add china_ip_route 103.46.116.0/22 -add china_ip_route 103.46.120.0/22 -add china_ip_route 103.46.124.0/22 -add china_ip_route 103.46.128.0/22 -add china_ip_route 103.46.132.0/22 -add china_ip_route 103.46.136.0/22 -add china_ip_route 103.46.152.0/22 -add china_ip_route 103.46.156.0/22 -add china_ip_route 103.46.160.0/22 -add china_ip_route 103.46.164.0/22 -add china_ip_route 103.46.168.0/22 -add china_ip_route 103.46.172.0/22 -add china_ip_route 103.46.176.0/22 -add china_ip_route 103.46.180.0/22 -add china_ip_route 103.46.244.0/22 -add china_ip_route 103.46.248.0/22 -add china_ip_route 103.47.4.0/22 -add china_ip_route 103.47.20.0/22 -add china_ip_route 103.47.36.0/22 -add china_ip_route 103.47.40.0/22 -add china_ip_route 103.47.48.0/22 -add china_ip_route 103.47.80.0/22 -add china_ip_route 103.47.96.0/22 -add china_ip_route 103.47.108.0/22 -add china_ip_route 103.47.116.0/22 -add china_ip_route 103.47.120.0/22 -add china_ip_route 103.47.136.0/22 -add china_ip_route 103.47.140.0/22 -add china_ip_route 103.47.212.0/22 -add china_ip_route 103.48.52.0/22 -add china_ip_route 103.48.92.0/22 -add china_ip_route 103.48.144.0/22 -add china_ip_route 103.48.148.0/22 -add china_ip_route 103.48.152.0/22 -add china_ip_route 103.48.156.0/22 -add china_ip_route 103.48.202.0/23 -add china_ip_route 103.48.216.0/22 -add china_ip_route 103.48.220.0/22 -add china_ip_route 103.48.224.0/22 -add china_ip_route 103.48.228.0/22 -add china_ip_route 103.48.232.0/22 -add china_ip_route 103.48.236.0/22 -add china_ip_route 103.48.240.0/22 -add china_ip_route 103.48.244.0/22 -add china_ip_route 103.49.12.0/22 -add china_ip_route 103.49.20.0/22 -add china_ip_route 103.49.72.0/22 -add china_ip_route 103.49.76.0/22 -add china_ip_route 103.49.92.0/22 -add china_ip_route 103.49.96.0/22 -add china_ip_route 103.49.108.0/22 -add china_ip_route 103.49.128.0/22 -add china_ip_route 103.49.176.0/22 -add china_ip_route 103.49.180.0/22 -add china_ip_route 103.49.196.0/22 -add china_ip_route 103.50.36.0/22 -add china_ip_route 103.50.44.0/22 -add china_ip_route 103.50.48.0/22 -add china_ip_route 103.50.52.0/22 -add china_ip_route 103.50.56.0/22 -add china_ip_route 103.50.60.0/22 -add china_ip_route 103.50.64.0/22 -add china_ip_route 103.50.68.0/22 -add china_ip_route 103.50.72.0/22 -add china_ip_route 103.50.108.0/22 -add china_ip_route 103.50.112.0/22 -add china_ip_route 103.50.116.0/22 -add china_ip_route 103.50.120.0/22 -add china_ip_route 103.50.124.0/22 -add china_ip_route 103.50.132.0/22 -add china_ip_route 103.50.136.0/22 -add china_ip_route 103.50.140.0/22 -add china_ip_route 103.50.172.0/22 -add china_ip_route 103.50.176.0/22 -add china_ip_route 103.50.180.0/22 -add china_ip_route 103.50.184.0/22 -add china_ip_route 103.50.188.0/22 -add china_ip_route 103.50.192.0/22 -add china_ip_route 103.50.196.0/22 -add china_ip_route 103.50.200.0/22 -add china_ip_route 103.50.220.0/22 -add china_ip_route 103.50.224.0/22 -add china_ip_route 103.50.228.0/22 -add china_ip_route 103.50.232.0/22 -add china_ip_route 103.50.236.0/22 -add china_ip_route 103.50.240.0/22 -add china_ip_route 103.50.244.0/22 -add china_ip_route 103.50.248.0/22 -add china_ip_route 103.52.40.0/22 -add china_ip_route 103.52.72.0/22 -add china_ip_route 103.52.76.0/22 -add china_ip_route 103.52.80.0/22 -add china_ip_route 103.52.84.0/22 -add china_ip_route 103.52.96.0/22 -add china_ip_route 103.52.100.0/22 -add china_ip_route 103.52.104.0/22 -add china_ip_route 103.52.160.0/22 -add china_ip_route 103.52.164.0/22 -add china_ip_route 103.52.172.0/22 -add china_ip_route 103.52.176.0/22 -add china_ip_route 103.52.184.0/22 -add china_ip_route 103.52.196.0/22 -add china_ip_route 103.53.64.0/22 -add china_ip_route 103.53.68.0/22 -add china_ip_route 103.53.92.0/22 -add china_ip_route 103.53.100.0/22 -add china_ip_route 103.53.124.0/22 -add china_ip_route 103.53.128.0/22 -add china_ip_route 103.53.132.0/22 -add china_ip_route 103.53.136.0/22 -add china_ip_route 103.53.140.0/22 -add china_ip_route 103.53.144.0/22 -add china_ip_route 103.53.180.0/22 -add china_ip_route 103.53.204.0/22 -add china_ip_route 103.53.208.0/22 -add china_ip_route 103.53.212.0/22 -add china_ip_route 103.53.216.0/22 -add china_ip_route 103.53.236.0/22 -add china_ip_route 103.53.248.0/22 -add china_ip_route 103.54.8.0/22 -add china_ip_route 103.54.48.0/22 -add china_ip_route 103.54.60.0/22 -add china_ip_route 103.54.160.0/22 -add china_ip_route 103.54.164.0/22 -add china_ip_route 103.54.212.0/22 -add china_ip_route 103.54.240.0/22 -add china_ip_route 103.55.24.0/22 -add china_ip_route 103.55.80.0/22 -add china_ip_route 103.55.120.0/22 -add china_ip_route 103.55.152.0/22 -add china_ip_route 103.55.172.0/22 -add china_ip_route 103.55.204.0/22 -add china_ip_route 103.55.208.0/22 -add china_ip_route 103.55.228.0/22 -add china_ip_route 103.55.236.0/22 -add china_ip_route 103.56.8.0/22 -add china_ip_route 103.56.16.0/22 -add china_ip_route 103.56.20.0/22 -add china_ip_route 103.56.32.0/22 -add china_ip_route 103.56.56.0/22 -add china_ip_route 103.56.60.0/22 -add china_ip_route 103.56.72.0/22 -add china_ip_route 103.56.76.0/22 -add china_ip_route 103.56.140.0/22 -add china_ip_route 103.56.152.0/22 -add china_ip_route 103.56.184.0/22 -add china_ip_route 103.56.200.0/22 -add china_ip_route 103.57.12.0/22 -add china_ip_route 103.57.52.0/22 -add china_ip_route 103.57.56.0/22 -add china_ip_route 103.57.76.0/22 -add china_ip_route 103.57.136.0/22 -add china_ip_route 103.57.196.0/22 -add china_ip_route 103.58.24.0/22 -add china_ip_route 103.59.76.0/22 -add china_ip_route 103.59.100.0/22 -add china_ip_route 103.59.112.0/22 -add china_ip_route 103.59.116.0/22 -add china_ip_route 103.59.120.0/22 -add china_ip_route 103.59.124.0/22 -add china_ip_route 103.59.128.0/22 -add china_ip_route 103.59.148.0/22 -add china_ip_route 103.59.164.0/22 -add china_ip_route 103.60.32.0/22 -add china_ip_route 103.60.44.0/22 -add china_ip_route 103.60.164.0/22 -add china_ip_route 103.60.228.0/22 -add china_ip_route 103.60.236.0/22 -add china_ip_route 103.61.60.0/22 -add china_ip_route 103.61.104.0/22 -add china_ip_route 103.61.140.0/22 -add china_ip_route 103.61.152.0/22 -add china_ip_route 103.61.156.0/22 -add china_ip_route 103.61.160.0/22 -add china_ip_route 103.61.172.0/22 -add china_ip_route 103.61.176.0/22 -add china_ip_route 103.61.188.0/22 -add china_ip_route 103.62.24.0/22 -add china_ip_route 103.62.52.0/22 -add china_ip_route 103.62.72.0/22 -add china_ip_route 103.62.76.0/22 -add china_ip_route 103.62.80.0/22 -add china_ip_route 103.62.84.0/22 -add china_ip_route 103.62.88.0/22 -add china_ip_route 103.62.96.0/22 -add china_ip_route 103.62.100.0/22 -add china_ip_route 103.62.104.0/22 -add china_ip_route 103.62.108.0/22 -add china_ip_route 103.62.112.0/22 -add china_ip_route 103.62.116.0/22 -add china_ip_route 103.62.120.0/22 -add china_ip_route 103.62.124.0/22 -add china_ip_route 103.62.128.0/22 -add china_ip_route 103.62.132.0/22 -add china_ip_route 103.62.156.0/22 -add china_ip_route 103.62.160.0/22 -add china_ip_route 103.62.164.0/22 -add china_ip_route 103.62.168.0/22 -add china_ip_route 103.62.172.0/22 -add china_ip_route 103.62.176.0/22 -add china_ip_route 103.62.180.0/22 -add china_ip_route 103.62.184.0/22 -add china_ip_route 103.62.188.0/22 -add china_ip_route 103.62.192.0/22 -add china_ip_route 103.62.204.0/22 -add china_ip_route 103.62.208.0/22 -add china_ip_route 103.62.212.0/22 -add china_ip_route 103.62.216.0/22 -add china_ip_route 103.62.220.0/22 -add china_ip_route 103.62.224.0/22 -add china_ip_route 103.63.32.0/22 -add china_ip_route 103.63.36.0/22 -add china_ip_route 103.63.40.0/22 -add china_ip_route 103.63.44.0/22 -add china_ip_route 103.63.48.0/22 -add china_ip_route 103.63.52.0/22 -add china_ip_route 103.63.56.0/22 -add china_ip_route 103.63.60.0/22 -add china_ip_route 103.63.64.0/22 -add china_ip_route 103.63.68.0/22 -add china_ip_route 103.63.72.0/22 -add china_ip_route 103.63.76.0/22 -add china_ip_route 103.63.80.0/22 -add china_ip_route 103.63.84.0/22 -add china_ip_route 103.63.88.0/22 -add china_ip_route 103.63.140.0/22 -add china_ip_route 103.63.144.0/22 -add china_ip_route 103.63.152.0/22 -add china_ip_route 103.63.160.0/22 -add china_ip_route 103.63.164.0/22 -add china_ip_route 103.63.168.0/22 -add china_ip_route 103.63.172.0/22 -add china_ip_route 103.63.176.0/22 -add china_ip_route 103.63.180.0/22 -add china_ip_route 103.63.184.0/22 -add china_ip_route 103.63.192.0/22 -add china_ip_route 103.63.196.0/22 -add china_ip_route 103.63.200.0/22 -add china_ip_route 103.63.204.0/22 -add china_ip_route 103.63.208.0/22 -add china_ip_route 103.63.240.0/22 -add china_ip_route 103.63.244.0/22 -add china_ip_route 103.63.248.0/22 -add china_ip_route 103.63.252.0/22 -add china_ip_route 103.64.0.0/22 -add china_ip_route 103.64.4.0/22 -add china_ip_route 103.64.24.0/22 -add china_ip_route 103.64.28.0/22 -add china_ip_route 103.64.32.0/22 -add china_ip_route 103.64.36.0/22 -add china_ip_route 103.64.40.0/22 -add china_ip_route 103.64.44.0/22 -add china_ip_route 103.64.48.0/22 -add china_ip_route 103.64.52.0/22 -add china_ip_route 103.64.56.0/22 -add china_ip_route 103.64.60.0/22 -add china_ip_route 103.64.64.0/22 -add china_ip_route 103.64.68.0/22 -add china_ip_route 103.64.72.0/22 -add china_ip_route 103.64.76.0/22 -add china_ip_route 103.64.80.0/22 -add china_ip_route 103.64.84.0/22 -add china_ip_route 103.64.88.0/22 -add china_ip_route 103.64.92.0/22 -add china_ip_route 103.64.96.0/22 -add china_ip_route 103.64.100.0/22 -add china_ip_route 103.64.104.0/22 -add china_ip_route 103.64.108.0/22 -add china_ip_route 103.64.112.0/22 -add china_ip_route 103.64.116.0/22 -add china_ip_route 103.64.120.0/22 -add china_ip_route 103.64.124.0/22 -add china_ip_route 103.64.140.0/22 -add china_ip_route 103.64.144.0/22 -add china_ip_route 103.64.152.0/22 -add china_ip_route 103.64.156.0/22 -add china_ip_route 103.64.160.0/22 -add china_ip_route 103.64.164.0/22 -add china_ip_route 103.64.168.0/22 -add china_ip_route 103.64.172.0/22 -add china_ip_route 103.64.176.0/22 -add china_ip_route 103.64.180.0/22 -add china_ip_route 103.64.184.0/22 -add china_ip_route 103.64.188.0/22 -add china_ip_route 103.64.192.0/22 -add china_ip_route 103.64.196.0/22 -add china_ip_route 103.64.200.0/22 -add china_ip_route 103.64.204.0/22 -add china_ip_route 103.64.208.0/22 -add china_ip_route 103.64.212.0/22 -add china_ip_route 103.64.216.0/22 -add china_ip_route 103.64.220.0/22 -add china_ip_route 103.64.224.0/22 -add china_ip_route 103.64.228.0/22 -add china_ip_route 103.64.232.0/22 -add china_ip_route 103.64.236.0/22 -add china_ip_route 103.64.240.0/22 -add china_ip_route 103.64.244.0/22 -add china_ip_route 103.64.248.0/22 -add china_ip_route 103.64.252.0/22 -add china_ip_route 103.65.0.0/22 -add china_ip_route 103.65.4.0/22 -add china_ip_route 103.65.8.0/22 -add china_ip_route 103.65.12.0/22 -add china_ip_route 103.65.16.0/22 -add china_ip_route 103.65.36.0/22 -add china_ip_route 103.65.40.0/22 -add china_ip_route 103.65.48.0/22 -add china_ip_route 103.65.52.0/22 -add china_ip_route 103.65.56.0/22 -add china_ip_route 103.65.60.0/22 -add china_ip_route 103.65.64.0/22 -add china_ip_route 103.65.68.0/22 -add china_ip_route 103.65.72.0/22 -add china_ip_route 103.65.76.0/22 -add china_ip_route 103.65.80.0/22 -add china_ip_route 103.65.84.0/22 -add china_ip_route 103.65.88.0/22 -add china_ip_route 103.65.92.0/22 -add china_ip_route 103.65.100.0/22 -add china_ip_route 103.65.104.0/22 -add china_ip_route 103.65.108.0/22 -add china_ip_route 103.65.112.0/22 -add china_ip_route 103.65.144.0/22 -add china_ip_route 103.65.148.0/22 -add china_ip_route 103.65.152.0/22 -add china_ip_route 103.65.156.0/22 -add china_ip_route 103.65.160.0/22 -add china_ip_route 103.65.164.0/22 -add china_ip_route 103.65.168.0/22 -add china_ip_route 103.65.172.0/22 -add china_ip_route 103.66.32.0/22 -add china_ip_route 103.66.40.0/22 -add china_ip_route 103.66.92.0/22 -add china_ip_route 103.66.108.0/22 -add china_ip_route 103.66.200.0/22 -add china_ip_route 103.66.216.0/22 -add china_ip_route 103.66.240.0/22 -add china_ip_route 103.66.244.0/22 -add china_ip_route 103.66.248.0/22 -add china_ip_route 103.66.252.0/22 -add china_ip_route 103.67.0.0/22 -add china_ip_route 103.67.4.0/22 -add china_ip_route 103.67.8.0/22 -add china_ip_route 103.67.100.0/22 -add china_ip_route 103.67.104.0/22 -add china_ip_route 103.67.108.0/22 -add china_ip_route 103.67.112.0/22 -add china_ip_route 103.67.116.0/22 -add china_ip_route 103.67.120.0/22 -add china_ip_route 103.67.124.0/22 -add china_ip_route 103.67.128.0/22 -add china_ip_route 103.67.132.0/22 -add china_ip_route 103.67.136.0/22 -add china_ip_route 103.67.140.0/22 -add china_ip_route 103.67.144.0/22 -add china_ip_route 103.67.148.0/22 -add china_ip_route 103.67.172.0/22 -add china_ip_route 103.67.192.0/22 -add china_ip_route 103.67.212.0/22 -add china_ip_route 103.67.252.0/22 -add china_ip_route 103.68.64.0/22 -add china_ip_route 103.68.88.0/22 -add china_ip_route 103.68.100.0/22 -add china_ip_route 103.68.128.0/22 -add china_ip_route 103.68.192.0/22 -add china_ip_route 103.69.16.0/22 -add china_ip_route 103.69.116.0/22 -add china_ip_route 103.69.132.0/22 -add china_ip_route 103.69.152.0/22 -add china_ip_route 103.69.212.0/22 -add china_ip_route 103.70.8.0/22 -add china_ip_route 103.70.148.0/22 -add china_ip_route 103.70.184.0/22 -add china_ip_route 103.70.220.0/22 -add china_ip_route 103.70.224.0/22 -add china_ip_route 103.70.236.0/22 -add china_ip_route 103.70.252.0/22 -add china_ip_route 103.71.0.0/22 -add china_ip_route 103.71.32.0/22 -add china_ip_route 103.71.48.0/22 -add china_ip_route 103.71.68.0/22 -add china_ip_route 103.71.72.0/22 -add china_ip_route 103.71.80.0/22 -add china_ip_route 103.71.84.0/22 -add china_ip_route 103.71.88.0/22 -add china_ip_route 103.71.120.0/22 -add china_ip_route 103.71.124.0/22 -add china_ip_route 103.71.128.0/22 -add china_ip_route 103.71.144.0/22 -add china_ip_route 103.71.196.0/22 -add china_ip_route 103.71.200.0/22 -add china_ip_route 103.71.232.0/22 -add china_ip_route 103.72.12.0/22 -add china_ip_route 103.72.16.0/22 -add china_ip_route 103.72.20.0/22 -add china_ip_route 103.72.24.0/22 -add china_ip_route 103.72.28.0/22 -add china_ip_route 103.72.32.0/22 -add china_ip_route 103.72.36.0/22 -add china_ip_route 103.72.40.0/22 -add china_ip_route 103.72.44.0/22 -add china_ip_route 103.72.48.0/22 -add china_ip_route 103.72.52.0/22 -add china_ip_route 103.72.112.0/22 -add china_ip_route 103.72.116.0/22 -add china_ip_route 103.72.120.0/22 -add china_ip_route 103.72.124.0/22 -add china_ip_route 103.72.128.0/22 -add china_ip_route 103.72.132.0/22 -add china_ip_route 103.72.144.0/22 -add china_ip_route 103.72.148.0/22 -add china_ip_route 103.72.172.0/22 -add china_ip_route 103.72.180.0/22 -add china_ip_route 103.72.224.0/22 -add china_ip_route 103.72.228.0/22 -add china_ip_route 103.72.232.0/22 -add china_ip_route 103.72.236.0/22 -add china_ip_route 103.72.240.0/22 -add china_ip_route 103.72.244.0/22 -add china_ip_route 103.72.248.0/22 -add china_ip_route 103.72.252.0/22 -add china_ip_route 103.73.0.0/22 -add china_ip_route 103.73.4.0/22 -add china_ip_route 103.73.8.0/22 -add china_ip_route 103.73.12.0/22 -add china_ip_route 103.73.16.0/22 -add china_ip_route 103.73.20.0/22 -add china_ip_route 103.73.24.0/22 -add china_ip_route 103.73.28.0/22 -add china_ip_route 103.73.48.0/22 -add china_ip_route 103.73.88.0/22 -add china_ip_route 103.73.96.0/22 -add china_ip_route 103.73.116.0/22 -add china_ip_route 103.73.120.0/22 -add china_ip_route 103.73.128.0/22 -add china_ip_route 103.73.132.0/22 -add china_ip_route 103.73.136.0/22 -add china_ip_route 103.73.140.0/22 -add china_ip_route 103.73.144.0/22 -add china_ip_route 103.73.168.0/22 -add china_ip_route 103.73.176.0/22 -add china_ip_route 103.73.204.0/22 -add china_ip_route 103.73.208.0/22 -add china_ip_route 103.73.240.0/22 -add china_ip_route 103.73.244.0/22 -add china_ip_route 103.73.248.0/22 -add china_ip_route 103.74.24.0/22 -add china_ip_route 103.74.28.0/22 -add china_ip_route 103.74.32.0/22 -add china_ip_route 103.74.36.0/22 -add china_ip_route 103.74.40.0/22 -add china_ip_route 103.74.44.0/22 -add china_ip_route 103.74.48.0/22 -add china_ip_route 103.74.56.0/22 -add china_ip_route 103.74.60.0/22 -add china_ip_route 103.74.80.0/22 -add china_ip_route 103.74.124.0/22 -add china_ip_route 103.74.148.0/22 -add china_ip_route 103.74.152.0/22 -add china_ip_route 103.74.156.0/22 -add china_ip_route 103.74.204.0/22 -add china_ip_route 103.74.232.0/22 -add china_ip_route 103.75.16.0/22 -add china_ip_route 103.75.88.0/22 -add china_ip_route 103.75.92.0/22 -add china_ip_route 103.75.104.0/22 -add china_ip_route 103.75.108.0/22 -add china_ip_route 103.75.112.0/22 -add china_ip_route 103.75.120.0/22 -add china_ip_route 103.75.128.0/22 -add china_ip_route 103.75.144.0/22 -add china_ip_route 103.75.152.0/22 -add china_ip_route 103.75.236.0/24 -add china_ip_route 103.76.60.0/22 -add china_ip_route 103.76.64.0/22 -add china_ip_route 103.76.68.0/22 -add china_ip_route 103.76.72.0/22 -add china_ip_route 103.76.84.0/22 -add china_ip_route 103.76.92.0/22 -add china_ip_route 103.76.216.0/22 -add china_ip_route 103.76.220.0/22 -add china_ip_route 103.76.224.0/22 -add china_ip_route 103.77.28.0/22 -add china_ip_route 103.77.52.0/22 -add china_ip_route 103.77.56.0/22 -add china_ip_route 103.77.72.0/22 -add china_ip_route 103.77.88.0/22 -add china_ip_route 103.77.92.0/22 -add china_ip_route 103.77.132.0/22 -add china_ip_route 103.77.148.0/22 -add china_ip_route 103.77.220.0/22 -add china_ip_route 103.78.56.0/22 -add china_ip_route 103.78.60.0/22 -add china_ip_route 103.78.64.0/22 -add china_ip_route 103.78.68.0/22 -add china_ip_route 103.78.124.0/22 -add china_ip_route 103.78.172.0/22 -add china_ip_route 103.78.176.0/22 -add china_ip_route 103.78.196.0/22 -add china_ip_route 103.78.228.0/22 -add china_ip_route 103.79.24.0/22 -add china_ip_route 103.79.28.0/22 -add china_ip_route 103.79.36.0/22 -add china_ip_route 103.79.40.0/22 -add china_ip_route 103.79.44.0/22 -add china_ip_route 103.79.52.0/22 -add china_ip_route 103.79.56.0/22 -add china_ip_route 103.79.60.0/22 -add china_ip_route 103.79.64.0/22 -add china_ip_route 103.79.68.0/22 -add china_ip_route 103.79.80.0/22 -add china_ip_route 103.79.84.0/22 -add china_ip_route 103.79.120.0/22 -add china_ip_route 103.79.136.0/22 -add china_ip_route 103.79.188.0/22 -add china_ip_route 103.79.192.0/22 -add china_ip_route 103.79.196.0/22 -add china_ip_route 103.79.200.0/22 -add china_ip_route 103.79.204.0/22 -add china_ip_route 103.79.208.0/22 -add china_ip_route 103.79.212.0/22 -add china_ip_route 103.79.240.0/22 -add china_ip_route 103.80.24.0/22 -add china_ip_route 103.80.28.0/22 -add china_ip_route 103.80.44.0/22 -add china_ip_route 103.80.72.0/22 -add china_ip_route 103.80.176.0/22 -add china_ip_route 103.80.180.0/22 -add china_ip_route 103.80.184.0/22 -add china_ip_route 103.80.192.0/22 -add china_ip_route 103.80.200.0/22 -add china_ip_route 103.80.232.0/22 -add china_ip_route 103.81.4.0/22 -add china_ip_route 103.81.8.0/22 -add china_ip_route 103.81.16.0/22 -add china_ip_route 103.81.20.0/22 -add china_ip_route 103.81.44.0/22 -add china_ip_route 103.81.48.0/22 -add china_ip_route 103.81.96.0/22 -add china_ip_route 103.81.120.0/22 -add china_ip_route 103.81.148.0/22 -add china_ip_route 103.81.164.0/22 -add china_ip_route 103.81.168.0/22 -add china_ip_route 103.81.183.0/24 -add china_ip_route 103.81.184.0/22 -add china_ip_route 103.81.200.0/22 -add china_ip_route 103.81.232.0/22 -add china_ip_route 103.82.52.0/22 -add china_ip_route 103.82.60.0/22 -add china_ip_route 103.82.68.0/22 -add china_ip_route 103.82.84.0/22 -add china_ip_route 103.82.104.0/22 -add china_ip_route 103.82.224.0/22 -add china_ip_route 103.82.236.0/22 -add china_ip_route 103.83.44.0/22 -add china_ip_route 103.83.52.0/22 -add china_ip_route 103.83.60.0/22 -add china_ip_route 103.83.64.0/22 -add china_ip_route 103.83.72.0/22 -add china_ip_route 103.83.112.0/22 -add china_ip_route 103.83.120.0/22 -add china_ip_route 103.83.180.0/22 -add china_ip_route 103.84.0.0/22 -add china_ip_route 103.84.12.0/22 -add china_ip_route 103.84.16.0/22 -add china_ip_route 103.84.20.0/22 -add china_ip_route 103.84.24.0/22 -add china_ip_route 103.84.28.0/22 -add china_ip_route 103.84.48.0/22 -add china_ip_route 103.84.64.0/22 -add china_ip_route 103.84.72.0/22 -add china_ip_route 103.84.92.0/22 -add china_ip_route 103.84.108.0/22 -add china_ip_route 103.84.136.0/22 -add china_ip_route 103.85.20.0/22 -add china_ip_route 103.85.24.0/22 -add china_ip_route 103.85.44.0/22 -add china_ip_route 103.85.48.0/22 -add china_ip_route 103.85.84.0/22 -add china_ip_route 103.85.136.0/22 -add china_ip_route 103.85.144.0/22 -add china_ip_route 103.85.164.0/22 -add china_ip_route 103.85.168.0/22 -add china_ip_route 103.85.172.0/22 -add china_ip_route 103.85.176.0/22 -add china_ip_route 103.85.224.0/22 -add china_ip_route 103.86.28.0/22 -add china_ip_route 103.86.32.0/22 -add china_ip_route 103.86.44.0/22 -add china_ip_route 103.86.60.0/22 -add china_ip_route 103.86.80.0/22 -add china_ip_route 103.86.84.0/22 -add china_ip_route 103.86.88.0/22 -add china_ip_route 103.86.204.0/22 -add china_ip_route 103.86.208.0/22 -add china_ip_route 103.86.212.0/22 -add china_ip_route 103.86.216.0/22 -add china_ip_route 103.86.220.0/22 -add china_ip_route 103.86.224.0/22 -add china_ip_route 103.86.228.0/22 -add china_ip_route 103.86.232.0/22 -add china_ip_route 103.86.236.0/22 -add china_ip_route 103.86.240.0/22 -add china_ip_route 103.86.244.0/22 -add china_ip_route 103.86.248.0/22 -add china_ip_route 103.86.252.0/22 -add china_ip_route 103.87.0.0/22 -add china_ip_route 103.87.4.0/22 -add china_ip_route 103.87.20.0/22 -add china_ip_route 103.87.32.0/22 -add china_ip_route 103.87.72.0/22 -add china_ip_route 103.87.96.0/22 -add china_ip_route 103.87.132.0/22 -add china_ip_route 103.87.180.0/22 -add china_ip_route 103.87.224.0/22 -add china_ip_route 103.88.4.0/22 -add china_ip_route 103.88.8.0/22 -add china_ip_route 103.88.12.0/22 -add china_ip_route 103.88.16.0/22 -add china_ip_route 103.88.20.0/22 -add china_ip_route 103.88.32.0/22 -add china_ip_route 103.88.36.0/22 -add china_ip_route 103.88.60.0/22 -add china_ip_route 103.88.64.0/22 -add china_ip_route 103.88.72.0/22 -add china_ip_route 103.88.96.0/22 -add china_ip_route 103.88.100.0/22 -add china_ip_route 103.88.164.0/22 -add china_ip_route 103.88.176.0/22 -add china_ip_route 103.88.184.0/22 -add china_ip_route 103.88.188.0/22 -add china_ip_route 103.88.212.0/22 -add china_ip_route 103.89.28.0/22 -add china_ip_route 103.89.96.0/22 -add china_ip_route 103.89.100.0/22 -add china_ip_route 103.89.104.0/22 -add china_ip_route 103.89.108.0/22 -add china_ip_route 103.89.112.0/22 -add china_ip_route 103.89.116.0/22 -add china_ip_route 103.89.148.0/22 -add china_ip_route 103.89.172.0/22 -add china_ip_route 103.89.184.0/22 -add china_ip_route 103.89.188.0/22 -add china_ip_route 103.89.192.0/22 -add china_ip_route 103.89.196.0/22 -add china_ip_route 103.89.200.0/22 -add china_ip_route 103.89.204.0/22 -add china_ip_route 103.89.208.0/22 -add china_ip_route 103.89.212.0/22 -add china_ip_route 103.89.216.0/22 -add china_ip_route 103.89.220.0/22 -add china_ip_route 103.89.224.0/22 -add china_ip_route 103.89.228.0/22 -add china_ip_route 103.90.52.0/22 -add china_ip_route 103.90.92.0/22 -add china_ip_route 103.90.100.0/22 -add china_ip_route 103.90.104.0/22 -add china_ip_route 103.90.108.0/22 -add china_ip_route 103.90.112.0/22 -add china_ip_route 103.90.116.0/22 -add china_ip_route 103.90.120.0/22 -add china_ip_route 103.90.124.0/22 -add china_ip_route 103.90.128.0/22 -add china_ip_route 103.90.132.0/22 -add china_ip_route 103.90.152.0/22 -add china_ip_route 103.90.168.0/22 -add china_ip_route 103.90.173.0/24 -add china_ip_route 103.90.176.0/22 -add china_ip_route 103.90.188.0/22 -add china_ip_route 103.90.192.0/22 -add china_ip_route 103.91.36.0/22 -add china_ip_route 103.91.40.0/22 -add china_ip_route 103.91.108.0/22 -add china_ip_route 103.91.152.0/22 -add china_ip_route 103.91.176.0/22 -add china_ip_route 103.91.200.0/22 -add china_ip_route 103.91.208.0/22 -add china_ip_route 103.91.212.0/22 -add china_ip_route 103.91.219.0/24 -add china_ip_route 103.91.236.0/22 -add china_ip_route 103.91.252.0/22 -add china_ip_route 103.92.0.0/22 -add china_ip_route 103.92.4.0/22 -add china_ip_route 103.92.8.0/22 -add china_ip_route 103.92.12.0/22 -add china_ip_route 103.92.48.0/22 -add china_ip_route 103.92.52.0/22 -add china_ip_route 103.92.56.0/22 -add china_ip_route 103.92.60.0/22 -add china_ip_route 103.92.64.0/22 -add china_ip_route 103.92.68.0/22 -add china_ip_route 103.92.72.0/22 -add china_ip_route 103.92.76.0/22 -add china_ip_route 103.92.80.0/22 -add china_ip_route 103.92.86.0/24 -add china_ip_route 103.92.88.0/22 -add china_ip_route 103.92.108.0/22 -add china_ip_route 103.92.124.0/22 -add china_ip_route 103.92.128.0/24 -add china_ip_route 103.92.132.0/22 -add china_ip_route 103.92.156.0/22 -add china_ip_route 103.92.164.0/22 -add china_ip_route 103.92.168.0/22 -add china_ip_route 103.92.172.0/22 -add china_ip_route 103.92.176.0/22 -add china_ip_route 103.92.180.0/22 -add china_ip_route 103.92.184.0/22 -add china_ip_route 103.92.188.0/22 -add china_ip_route 103.92.192.0/22 -add china_ip_route 103.92.236.0/22 -add china_ip_route 103.92.240.0/22 -add china_ip_route 103.92.244.0/22 -add china_ip_route 103.92.248.0/22 -add china_ip_route 103.92.252.0/22 -add china_ip_route 103.93.0.0/22 -add china_ip_route 103.93.4.0/22 -add china_ip_route 103.93.28.0/22 -add china_ip_route 103.93.76.0/22 -add china_ip_route 103.93.84.0/22 -add china_ip_route 103.93.152.0/22 -add china_ip_route 103.93.180.0/22 -add china_ip_route 103.93.204.0/22 -add china_ip_route 103.94.12.0/22 -add china_ip_route 103.94.20.0/22 -add china_ip_route 103.94.28.0/22 -add china_ip_route 103.94.32.0/22 -add china_ip_route 103.94.36.0/22 -add china_ip_route 103.94.40.0/22 -add china_ip_route 103.94.44.0/22 -add china_ip_route 103.94.72.0/22 -add china_ip_route 103.94.88.0/22 -add china_ip_route 103.94.116.0/22 -add china_ip_route 103.94.160.0/22 -add china_ip_route 103.94.180.0/22 -add china_ip_route 103.94.200.0/22 -add china_ip_route 103.95.28.0/22 -add china_ip_route 103.95.52.0/22 -add china_ip_route 103.95.64.0/22 -add china_ip_route 103.95.68.0/22 -add china_ip_route 103.95.88.0/22 -add china_ip_route 103.95.92.0/22 -add china_ip_route 103.95.116.0/22 -add china_ip_route 103.95.128.0/22 -add china_ip_route 103.95.136.0/22 -add china_ip_route 103.95.140.0/22 -add china_ip_route 103.95.144.0/22 -add china_ip_route 103.95.152.0/22 -add china_ip_route 103.95.207.0/24 -add china_ip_route 103.95.216.0/22 -add china_ip_route 103.95.220.0/22 -add china_ip_route 103.95.224.0/22 -add china_ip_route 103.95.236.0/22 -add china_ip_route 103.95.240.0/22 -add china_ip_route 103.95.244.0/22 -add china_ip_route 103.95.248.0/22 -add china_ip_route 103.95.252.0/22 -add china_ip_route 103.96.0.0/22 -add china_ip_route 103.96.8.0/22 -add china_ip_route 103.96.80.0/22 -add china_ip_route 103.96.124.0/22 -add china_ip_route 103.96.136.0/22 -add china_ip_route 103.96.140.0/24 -add china_ip_route 103.96.148.0/22 -add china_ip_route 103.96.152.0/22 -add china_ip_route 103.96.156.0/22 -add china_ip_route 103.96.160.0/22 -add china_ip_route 103.96.164.0/22 -add china_ip_route 103.96.168.0/22 -add china_ip_route 103.96.172.0/22 -add china_ip_route 103.96.176.0/22 -add china_ip_route 103.96.180.0/22 -add china_ip_route 103.96.184.0/22 -add china_ip_route 103.96.188.0/22 -add china_ip_route 103.96.192.0/22 -add china_ip_route 103.96.196.0/22 -add china_ip_route 103.96.200.0/22 -add china_ip_route 103.96.204.0/22 -add china_ip_route 103.96.208.0/22 -add china_ip_route 103.96.212.0/22 -add china_ip_route 103.96.216.0/22 -add china_ip_route 103.97.8.0/22 -add china_ip_route 103.97.12.0/22 -add china_ip_route 103.97.16.0/22 -add china_ip_route 103.97.20.0/22 -add china_ip_route 103.97.24.0/22 -add china_ip_route 103.97.28.0/22 -add china_ip_route 103.97.32.0/22 -add china_ip_route 103.97.36.0/22 -add china_ip_route 103.97.40.0/22 -add china_ip_route 103.97.56.0/22 -add china_ip_route 103.97.60.0/22 -add china_ip_route 103.97.64.0/22 -add china_ip_route 103.97.68.0/22 -add china_ip_route 103.97.72.0/22 -add china_ip_route 103.97.80.0/22 -add china_ip_route 103.97.112.0/22 -add china_ip_route 103.97.116.0/22 -add china_ip_route 103.97.128.0/22 -add china_ip_route 103.97.144.0/22 -add china_ip_route 103.97.148.0/22 -add china_ip_route 103.97.188.0/22 -add china_ip_route 103.97.192.0/22 -add china_ip_route 103.97.224.0/22 -add china_ip_route 103.97.228.0/23 -add china_ip_route 103.98.28.0/23 -add china_ip_route 103.98.40.0/22 -add china_ip_route 103.98.44.0/22 -add china_ip_route 103.98.48.0/22 -add china_ip_route 103.98.56.0/22 -add china_ip_route 103.98.80.0/22 -add china_ip_route 103.98.88.0/22 -add china_ip_route 103.98.92.0/22 -add china_ip_route 103.98.96.0/22 -add china_ip_route 103.98.100.0/22 -add china_ip_route 103.98.124.0/22 -add china_ip_route 103.98.136.0/22 -add china_ip_route 103.98.140.0/22 -add china_ip_route 103.98.144.0/22 -add china_ip_route 103.98.164.0/22 -add china_ip_route 103.98.168.0/22 -add china_ip_route 103.98.180.0/22 -add china_ip_route 103.98.196.0/22 -add china_ip_route 103.98.216.0/22 -add china_ip_route 103.98.220.0/22 -add china_ip_route 103.98.224.0/22 -add china_ip_route 103.98.228.0/22 -add china_ip_route 103.98.232.0/22 -add china_ip_route 103.98.240.0/22 -add china_ip_route 103.98.244.0/22 -add china_ip_route 103.98.248.0/22 -add china_ip_route 103.98.252.0/22 -add china_ip_route 103.99.40.0/23 -add china_ip_route 103.99.52.0/22 -add china_ip_route 103.99.56.0/22 -add china_ip_route 103.99.60.0/22 -add china_ip_route 103.99.76.0/22 -add china_ip_route 103.99.104.0/22 -add china_ip_route 103.99.116.0/22 -add china_ip_route 103.99.120.0/22 -add china_ip_route 103.99.152.0/22 -add china_ip_route 103.99.220.0/22 -add china_ip_route 103.99.232.0/22 -add china_ip_route 103.99.236.0/22 -add china_ip_route 103.100.0.0/22 -add china_ip_route 103.100.32.0/22 -add china_ip_route 103.100.40.0/22 -add china_ip_route 103.100.48.0/22 -add china_ip_route 103.100.52.0/22 -add china_ip_route 103.100.56.0/22 -add china_ip_route 103.100.60.0/22 -add china_ip_route 103.100.64.0/22 -add china_ip_route 103.100.68.0/22 -add china_ip_route 103.100.88.0/22 -add china_ip_route 103.100.116.0/22 -add china_ip_route 103.100.140.0/22 -add china_ip_route 103.100.144.0/22 -add china_ip_route 103.100.236.0/22 -add china_ip_route 103.100.240.0/22 -add china_ip_route 103.100.248.0/22 -add china_ip_route 103.100.252.0/22 -add china_ip_route 103.101.4.0/22 -add china_ip_route 103.101.8.0/22 -add china_ip_route 103.101.12.0/22 -add china_ip_route 103.101.28.0/22 -add china_ip_route 103.101.60.0/22 -add china_ip_route 103.101.120.0/22 -add china_ip_route 103.101.124.0/22 -add china_ip_route 103.101.144.0/22 -add china_ip_route 103.101.148.0/22 -add china_ip_route 103.101.153.0/24 -add china_ip_route 103.101.180.0/22 -add china_ip_route 103.101.184.0/22 -add china_ip_route 103.102.76.0/22 -add china_ip_route 103.102.80.0/22 -add china_ip_route 103.102.168.0/22 -add china_ip_route 103.102.172.0/22 -add china_ip_route 103.102.180.0/22 -add china_ip_route 103.102.184.0/22 -add china_ip_route 103.102.188.0/22 -add china_ip_route 103.102.192.0/22 -add china_ip_route 103.102.196.0/22 -add china_ip_route 103.102.200.0/22 -add china_ip_route 103.102.208.0/22 -add china_ip_route 103.102.212.0/22 -add china_ip_route 103.103.12.0/22 -add china_ip_route 103.103.16.0/22 -add china_ip_route 103.103.36.0/22 -add china_ip_route 103.103.68.0/22 -add china_ip_route 103.103.72.0/22 -add china_ip_route 103.103.176.0/22 -add china_ip_route 103.103.188.0/22 -add china_ip_route 103.103.200.0/22 -add china_ip_route 103.103.204.0/22 -add china_ip_route 103.103.220.0/22 -add china_ip_route 103.103.224.0/22 -add china_ip_route 103.103.228.0/22 -add china_ip_route 103.103.232.0/22 -add china_ip_route 103.103.248.0/22 -add china_ip_route 103.103.252.0/22 -add china_ip_route 103.104.0.0/22 -add china_ip_route 103.104.4.0/22 -add china_ip_route 103.104.36.0/22 -add china_ip_route 103.104.40.0/22 -add china_ip_route 103.104.64.0/22 -add china_ip_route 103.104.104.0/22 -add china_ip_route 103.104.152.0/22 -add china_ip_route 103.104.168.0/22 -add china_ip_route 103.104.172.0/22 -add china_ip_route 103.104.188.0/22 -add china_ip_route 103.104.198.0/23 -add china_ip_route 103.104.252.0/22 -add china_ip_route 103.105.0.0/22 -add china_ip_route 103.105.4.0/22 -add china_ip_route 103.105.12.0/22 -add china_ip_route 103.105.16.0/22 -add china_ip_route 103.105.23.0/24 -add china_ip_route 103.105.56.0/22 -add china_ip_route 103.105.60.0/22 -add china_ip_route 103.105.116.0/22 -add china_ip_route 103.105.132.0/22 -add china_ip_route 103.105.180.0/22 -add china_ip_route 103.105.184.0/22 -add china_ip_route 103.105.200.0/22 -add china_ip_route 103.105.204.0/22 -add china_ip_route 103.105.220.0/22 -add china_ip_route 103.106.36.0/22 -add china_ip_route 103.106.40.0/22 -add china_ip_route 103.106.44.0/22 -add china_ip_route 103.106.60.0/22 -add china_ip_route 103.106.68.0/22 -add china_ip_route 103.106.96.0/22 -add china_ip_route 103.106.120.0/22 -add china_ip_route 103.106.128.0/22 -add china_ip_route 103.106.132.0/22 -add china_ip_route 103.106.160.0/22 -add china_ip_route 103.106.188.0/22 -add china_ip_route 103.106.196.0/22 -add china_ip_route 103.106.202.0/23 -add china_ip_route 103.106.212.0/22 -add china_ip_route 103.106.244.0/22 -add china_ip_route 103.106.252.0/22 -add china_ip_route 103.107.0.0/22 -add china_ip_route 103.107.8.0/24 -add china_ip_route 103.107.28.0/22 -add china_ip_route 103.107.32.0/22 -add china_ip_route 103.107.44.0/22 -add china_ip_route 103.107.72.0/22 -add china_ip_route 103.107.108.0/22 -add china_ip_route 103.107.164.0/22 -add china_ip_route 103.107.168.0/22 -add china_ip_route 103.107.188.0/22 -add china_ip_route 103.107.192.0/22 -add china_ip_route 103.107.208.0/22 -add china_ip_route 103.107.212.0/22 -add china_ip_route 103.107.216.0/22 -add china_ip_route 103.107.220.0/22 -add china_ip_route 103.108.52.0/22 -add china_ip_route 103.108.64.0/22 -add china_ip_route 103.108.160.0/22 -add china_ip_route 103.108.164.0/22 -add china_ip_route 103.108.184.0/23 -add china_ip_route 103.108.188.0/23 -add china_ip_route 103.108.192.0/22 -add china_ip_route 103.108.196.0/22 -add china_ip_route 103.108.208.0/22 -add china_ip_route 103.108.212.0/22 -add china_ip_route 103.108.224.0/22 -add china_ip_route 103.108.244.0/22 -add china_ip_route 103.108.251.0/24 -add china_ip_route 103.109.20.0/22 -add china_ip_route 103.109.48.0/22 -add china_ip_route 103.109.88.0/22 -add china_ip_route 103.109.106.0/23 -add china_ip_route 103.109.248.0/22 -add china_ip_route 103.110.32.0/22 -add china_ip_route 103.110.80.0/23 -add china_ip_route 103.110.92.0/22 -add china_ip_route 103.110.100.0/22 -add china_ip_route 103.110.116.0/22 -add china_ip_route 103.110.127.0/24 -add china_ip_route 103.110.128.0/23 -add china_ip_route 103.110.131.0/24 -add china_ip_route 103.110.132.0/22 -add china_ip_route 103.110.136.0/22 -add china_ip_route 103.110.152.0/22 -add china_ip_route 103.110.156.0/22 -add china_ip_route 103.110.188.0/22 -add china_ip_route 103.110.204.0/22 -add china_ip_route 103.111.64.0/22 -add china_ip_route 103.111.172.0/22 -add china_ip_route 103.111.252.0/22 -add china_ip_route 103.112.28.0/22 -add china_ip_route 103.112.68.0/22 -add china_ip_route 103.112.72.0/22 -add china_ip_route 103.112.88.0/22 -add china_ip_route 103.112.92.0/22 -add china_ip_route 103.112.96.0/22 -add china_ip_route 103.112.108.0/22 -add china_ip_route 103.112.112.0/22 -add china_ip_route 103.112.116.0/22 -add china_ip_route 103.112.140.0/22 -add china_ip_route 103.112.172.0/22 -add china_ip_route 103.112.184.0/22 -add china_ip_route 103.112.208.0/22 -add china_ip_route 103.113.4.0/22 -add china_ip_route 103.113.92.0/22 -add china_ip_route 103.113.144.0/22 -add china_ip_route 103.113.220.0/22 -add china_ip_route 103.113.232.0/22 -add china_ip_route 103.113.236.0/22 -add china_ip_route 103.114.4.0/22 -add china_ip_route 103.114.28.0/22 -add china_ip_route 103.114.68.0/22 -add china_ip_route 103.114.72.0/22 -add china_ip_route 103.114.100.0/22 -add china_ip_route 103.114.132.0/22 -add china_ip_route 103.114.148.0/22 -add china_ip_route 103.114.156.0/22 -add china_ip_route 103.114.176.0/22 -add china_ip_route 103.114.212.0/22 -add china_ip_route 103.114.236.0/22 -add china_ip_route 103.114.240.0/22 -add china_ip_route 103.115.16.0/22 -add china_ip_route 103.115.40.0/22 -add china_ip_route 103.115.44.0/22 -add china_ip_route 103.115.48.0/22 -add china_ip_route 103.115.52.0/22 -add china_ip_route 103.115.56.0/22 -add china_ip_route 103.115.60.0/22 -add china_ip_route 103.115.64.0/22 -add china_ip_route 103.115.68.0/22 -add china_ip_route 103.115.92.0/22 -add china_ip_route 103.115.120.0/22 -add china_ip_route 103.115.148.0/22 -add china_ip_route 103.115.204.0/23 -add china_ip_route 103.115.248.0/22 -add china_ip_route 103.116.20.0/22 -add china_ip_route 103.116.40.0/22 -add china_ip_route 103.116.64.0/22 -add china_ip_route 103.116.72.0/22 -add china_ip_route 103.116.76.0/22 -add china_ip_route 103.116.92.0/22 -add china_ip_route 103.116.120.0/22 -add china_ip_route 103.116.128.0/22 -add china_ip_route 103.116.132.0/23 -add china_ip_route 103.116.148.0/22 -add china_ip_route 103.116.184.0/22 -add china_ip_route 103.116.206.0/23 -add china_ip_route 103.116.220.0/22 -add china_ip_route 103.116.224.0/22 -add china_ip_route 103.116.228.0/22 -add china_ip_route 103.117.16.0/22 -add china_ip_route 103.117.72.0/22 -add china_ip_route 103.117.88.0/22 -add china_ip_route 103.117.132.0/22 -add china_ip_route 103.117.136.0/22 -add china_ip_route 103.117.188.0/22 -add china_ip_route 103.117.220.0/22 -add china_ip_route 103.118.19.0/24 -add china_ip_route 103.118.36.0/22 -add china_ip_route 103.118.52.0/22 -add china_ip_route 103.118.56.0/22 -add china_ip_route 103.118.60.0/22 -add china_ip_route 103.118.64.0/22 -add china_ip_route 103.118.68.0/22 -add china_ip_route 103.118.72.0/22 -add china_ip_route 103.118.88.0/22 -add china_ip_route 103.118.173.0/24 -add china_ip_route 103.118.192.0/22 -add china_ip_route 103.118.196.0/22 -add china_ip_route 103.118.200.0/22 -add china_ip_route 103.118.204.0/22 -add china_ip_route 103.118.208.0/22 -add china_ip_route 103.118.212.0/22 -add china_ip_route 103.118.216.0/22 -add china_ip_route 103.118.220.0/22 -add china_ip_route 103.118.240.0/22 -add china_ip_route 103.118.244.0/22 -add china_ip_route 103.118.248.0/22 -add china_ip_route 103.118.252.0/22 -add china_ip_route 103.119.0.0/22 -add china_ip_route 103.119.12.0/22 -add china_ip_route 103.119.16.0/22 -add china_ip_route 103.119.28.0/22 -add china_ip_route 103.119.44.0/22 -add china_ip_route 103.119.104.0/22 -add china_ip_route 103.119.115.0/24 -add china_ip_route 103.119.156.0/22 -add china_ip_route 103.119.180.0/22 -add china_ip_route 103.119.200.0/22 -add china_ip_route 103.119.224.0/22 -add china_ip_route 103.120.52.0/22 -add china_ip_route 103.120.72.0/22 -add china_ip_route 103.120.88.0/22 -add china_ip_route 103.120.96.0/22 -add china_ip_route 103.120.100.0/22 -add china_ip_route 103.120.140.0/22 -add china_ip_route 103.120.196.0/22 -add china_ip_route 103.120.224.0/22 -add china_ip_route 103.121.52.0/22 -add china_ip_route 103.121.92.0/22 -add china_ip_route 103.121.160.0/22 -add china_ip_route 103.121.164.0/22 -add china_ip_route 103.121.250.0/24 -add china_ip_route 103.121.252.0/22 -add china_ip_route 103.122.48.0/22 -add china_ip_route 103.122.176.0/22 -add china_ip_route 103.122.192.0/22 -add china_ip_route 103.122.240.0/22 -add china_ip_route 103.123.4.0/22 -add china_ip_route 103.123.56.0/22 -add china_ip_route 103.123.88.0/22 -add china_ip_route 103.123.92.0/22 -add china_ip_route 103.123.116.0/22 -add china_ip_route 103.123.160.0/22 -add china_ip_route 103.123.176.0/22 -add china_ip_route 103.123.200.0/22 -add china_ip_route 103.123.204.0/22 -add china_ip_route 103.123.208.0/22 -add china_ip_route 103.123.212.0/22 -add china_ip_route 103.124.24.0/22 -add china_ip_route 103.124.48.0/22 -add china_ip_route 103.124.64.0/22 -add china_ip_route 103.124.212.0/22 -add china_ip_route 103.124.216.0/22 -add china_ip_route 103.125.20.0/22 -add china_ip_route 103.125.44.0/22 -add china_ip_route 103.125.132.0/22 -add china_ip_route 103.125.164.0/22 -add china_ip_route 103.125.196.0/22 -add china_ip_route 103.125.236.0/22 -add china_ip_route 103.125.248.0/22 -add china_ip_route 103.126.0.0/22 -add china_ip_route 103.126.16.0/22 -add china_ip_route 103.126.44.0/22 -add china_ip_route 103.126.100.0/22 -add china_ip_route 103.126.124.0/22 -add china_ip_route 103.126.128.0/22 -add china_ip_route 103.126.132.0/22 -add china_ip_route 103.126.208.0/22 -add china_ip_route 103.126.241.0/24 -add china_ip_route 103.129.52.0/22 -add china_ip_route 103.130.132.0/22 -add china_ip_route 103.130.152.0/24 -add china_ip_route 103.130.160.0/22 -add china_ip_route 103.130.228.0/22 -add china_ip_route 103.131.20.0/22 -add china_ip_route 103.131.36.0/22 -add china_ip_route 103.131.152.0/22 -add china_ip_route 103.131.168.0/22 -add china_ip_route 103.131.176.0/22 -add china_ip_route 103.131.224.0/22 -add china_ip_route 103.131.228.0/22 -add china_ip_route 103.131.240.0/22 -add china_ip_route 103.132.60.0/22 -add china_ip_route 103.132.64.0/22 -add china_ip_route 103.132.68.0/22 -add china_ip_route 103.132.72.0/22 -add china_ip_route 103.132.76.0/22 -add china_ip_route 103.132.80.0/22 -add china_ip_route 103.132.104.0/22 -add china_ip_route 103.132.108.0/22 -add china_ip_route 103.132.112.0/22 -add china_ip_route 103.132.116.0/22 -add china_ip_route 103.132.120.0/22 -add china_ip_route 103.132.160.0/22 -add china_ip_route 103.132.164.0/22 -add china_ip_route 103.132.188.0/22 -add china_ip_route 103.132.208.0/22 -add china_ip_route 103.132.212.0/22 -add china_ip_route 103.132.234.0/23 -add china_ip_route 103.133.12.0/22 -add china_ip_route 103.133.40.0/22 -add china_ip_route 103.133.128.0/22 -add china_ip_route 103.133.136.0/22 -add china_ip_route 103.133.176.0/22 -add china_ip_route 103.133.232.0/22 -add china_ip_route 103.134.12.0/24 -add china_ip_route 103.134.196.0/22 -add china_ip_route 103.135.80.0/22 -add china_ip_route 103.135.124.0/22 -add china_ip_route 103.135.148.0/22 -add china_ip_route 103.135.156.0/22 -add china_ip_route 103.135.160.0/22 -add china_ip_route 103.135.164.0/22 -add china_ip_route 103.135.176.0/22 -add china_ip_route 103.135.184.0/22 -add china_ip_route 103.135.192.0/22 -add china_ip_route 103.135.196.0/22 -add china_ip_route 103.135.236.0/22 -add china_ip_route 103.136.128.0/22 -add china_ip_route 103.136.232.0/22 -add china_ip_route 103.137.58.0/23 -add china_ip_route 103.137.60.0/24 -add china_ip_route 103.137.76.0/22 -add china_ip_route 103.137.136.0/23 -add china_ip_route 103.137.149.0/24 -add china_ip_route 103.137.180.0/22 -add china_ip_route 103.137.236.0/22 -add china_ip_route 103.138.2.0/23 -add china_ip_route 103.138.12.0/23 -add china_ip_route 103.138.80.0/22 -add china_ip_route 103.138.134.0/23 -add china_ip_route 103.138.156.0/23 -add china_ip_route 103.138.208.0/23 -add china_ip_route 103.138.220.0/23 -add china_ip_route 103.138.246.0/23 -add china_ip_route 103.138.248.0/23 -add china_ip_route 103.139.0.0/23 -add china_ip_route 103.139.2.0/23 -add china_ip_route 103.139.22.0/23 -add china_ip_route 103.139.113.0/24 -add china_ip_route 103.139.134.0/23 -add china_ip_route 103.139.136.0/23 -add china_ip_route 103.139.172.0/23 -add china_ip_route 103.139.200.0/23 -add china_ip_route 103.139.204.0/23 -add china_ip_route 103.139.212.0/23 -add china_ip_route 103.140.8.0/23 -add china_ip_route 103.140.14.0/23 -add china_ip_route 103.140.70.0/23 -add china_ip_route 103.140.126.0/23 -add china_ip_route 103.140.140.0/23 -add china_ip_route 103.140.144.0/23 -add china_ip_route 103.140.152.0/23 -add china_ip_route 103.140.192.0/23 -add china_ip_route 103.140.194.0/23 -add china_ip_route 103.140.228.0/23 -add china_ip_route 103.141.10.0/23 -add china_ip_route 103.141.36.0/23 -add china_ip_route 103.141.58.0/23 -add china_ip_route 103.141.128.0/23 -add china_ip_route 103.141.186.0/23 -add china_ip_route 103.141.242.0/23 -add china_ip_route 103.142.28.0/23 -add china_ip_route 103.142.58.0/23 -add china_ip_route 103.142.82.0/23 -add china_ip_route 103.142.96.0/23 -add china_ip_route 103.142.102.0/23 -add china_ip_route 103.142.122.0/23 -add china_ip_route 103.142.126.0/24 -add china_ip_route 103.142.128.0/23 -add china_ip_route 103.142.140.0/23 -add china_ip_route 103.142.154.0/23 -add china_ip_route 103.142.156.0/23 -add china_ip_route 103.142.172.0/23 -add china_ip_route 103.142.180.0/23 -add china_ip_route 103.142.186.0/23 -add china_ip_route 103.142.190.0/23 -add china_ip_route 103.142.220.0/23 -add china_ip_route 103.142.230.0/24 -add china_ip_route 103.142.234.0/23 -add china_ip_route 103.142.238.0/23 -add china_ip_route 103.142.248.0/23 -add china_ip_route 103.143.16.0/23 -add china_ip_route 103.143.18.0/23 -add china_ip_route 103.143.31.0/24 -add china_ip_route 103.143.74.0/23 -add china_ip_route 103.143.120.0/23 -add china_ip_route 103.143.124.0/23 -add china_ip_route 103.143.132.0/23 -add china_ip_route 103.143.134.0/23 -add china_ip_route 103.143.174.0/23 -add china_ip_route 103.143.228.0/23 -add china_ip_route 103.144.40.0/23 -add china_ip_route 103.144.52.0/23 -add china_ip_route 103.144.66.0/23 -add china_ip_route 103.144.70.0/23 -add china_ip_route 103.144.72.0/23 -add china_ip_route 103.144.88.0/24 -add china_ip_route 103.144.108.0/23 -add china_ip_route 103.144.136.0/23 -add china_ip_route 103.144.148.0/23 -add china_ip_route 103.144.158.0/23 -add china_ip_route 103.144.240.0/23 -add china_ip_route 103.145.38.0/23 -add china_ip_route 103.145.40.0/23 -add china_ip_route 103.145.42.0/23 -add china_ip_route 103.145.60.0/23 -add china_ip_route 103.145.72.0/23 -add china_ip_route 103.145.80.0/23 -add china_ip_route 103.145.86.0/23 -add china_ip_route 103.145.92.0/23 -add china_ip_route 103.145.94.0/23 -add china_ip_route 103.145.98.0/23 -add china_ip_route 103.145.106.0/23 -add china_ip_route 103.145.122.0/23 -add china_ip_route 103.145.188.0/23 -add china_ip_route 103.145.190.0/23 -add china_ip_route 103.146.6.0/23 -add china_ip_route 103.146.72.0/23 -add china_ip_route 103.146.88.0/23 -add china_ip_route 103.146.90.0/23 -add china_ip_route 103.146.124.0/23 -add china_ip_route 103.146.126.0/23 -add china_ip_route 103.146.138.0/23 -add china_ip_route 103.146.147.0/24 -add china_ip_route 103.146.230.0/23 -add china_ip_route 103.146.236.0/23 -add china_ip_route 103.146.252.0/23 -add china_ip_route 103.147.12.0/23 -add china_ip_route 103.147.124.0/23 -add china_ip_route 103.147.198.0/23 -add china_ip_route 103.147.206.0/23 -add china_ip_route 103.147.211.0/24 -add china_ip_route 103.148.174.0/23 -add china_ip_route 103.149.6.0/23 -add china_ip_route 103.149.17.0/24 -add china_ip_route 103.149.44.0/23 -add china_ip_route 103.149.110.0/23 -add china_ip_route 103.149.132.0/23 -add china_ip_route 103.149.144.0/23 -add china_ip_route 103.149.156.0/23 -add china_ip_route 103.149.181.0/24 -add china_ip_route 103.149.190.0/23 -add china_ip_route 103.149.210.0/23 -add china_ip_route 103.149.214.0/23 -add china_ip_route 103.149.220.0/23 -add china_ip_route 103.149.242.0/23 -add china_ip_route 103.149.244.0/23 -add china_ip_route 103.149.246.0/23 -add china_ip_route 103.149.248.0/23 -add china_ip_route 103.150.24.0/23 -add china_ip_route 103.150.66.0/23 -add china_ip_route 103.150.72.0/23 -add china_ip_route 103.150.122.0/23 -add china_ip_route 103.150.126.0/23 -add china_ip_route 103.150.128.0/23 -add china_ip_route 103.150.130.0/23 -add china_ip_route 103.150.146.0/23 -add china_ip_route 103.150.164.0/23 -add china_ip_route 103.150.172.0/23 -add china_ip_route 103.150.180.0/23 -add china_ip_route 103.150.200.0/23 -add china_ip_route 103.150.210.0/23 -add china_ip_route 103.150.214.0/23 -add china_ip_route 103.150.216.0/23 -add china_ip_route 103.150.244.0/23 -add china_ip_route 103.151.4.0/23 -add china_ip_route 103.151.44.0/23 -add china_ip_route 103.151.138.0/23 -add china_ip_route 103.151.142.0/23 -add china_ip_route 103.151.148.0/23 -add china_ip_route 103.151.150.0/23 -add china_ip_route 103.151.158.0/23 -add china_ip_route 103.151.178.0/23 -add china_ip_route 103.151.206.0/23 -add china_ip_route 103.151.216.0/23 -add china_ip_route 103.151.228.0/23 -add china_ip_route 103.152.14.0/23 -add china_ip_route 103.152.24.0/23 -add china_ip_route 103.152.28.0/23 -add china_ip_route 103.152.30.0/23 -add china_ip_route 103.152.56.0/23 -add china_ip_route 103.152.76.0/23 -add china_ip_route 103.152.80.0/23 -add china_ip_route 103.152.98.0/23 -add china_ip_route 103.152.112.0/23 -add china_ip_route 103.152.120.0/23 -add china_ip_route 103.152.122.0/23 -add china_ip_route 103.152.132.0/23 -add china_ip_route 103.152.152.0/23 -add china_ip_route 103.152.168.0/23 -add china_ip_route 103.152.170.0/23 -add china_ip_route 103.152.186.0/23 -add china_ip_route 103.152.190.0/23 -add china_ip_route 103.152.192.0/23 -add china_ip_route 103.152.200.0/23 -add china_ip_route 103.152.208.0/23 -add china_ip_route 103.152.224.0/23 -add china_ip_route 103.152.226.0/23 -add china_ip_route 103.152.246.0/23 -add china_ip_route 103.152.250.0/23 -add china_ip_route 103.153.4.0/23 -add china_ip_route 103.153.36.0/23 -add china_ip_route 103.153.98.0/23 -add china_ip_route 103.153.100.0/23 -add china_ip_route 103.153.114.0/23 -add china_ip_route 103.153.122.0/23 -add china_ip_route 103.153.128.0/23 -add china_ip_route 103.153.132.0/23 -add china_ip_route 103.153.138.0/23 -add china_ip_route 103.153.146.0/23 -add china_ip_route 103.153.160.0/23 -add china_ip_route 103.154.18.0/23 -add china_ip_route 103.154.30.0/23 -add china_ip_route 103.154.32.0/23 -add china_ip_route 103.154.40.0/23 -add china_ip_route 103.154.66.0/23 -add china_ip_route 103.154.162.0/23 -add china_ip_route 103.154.164.0/23 -add china_ip_route 103.154.168.0/23 -add china_ip_route 103.154.242.0/23 -add china_ip_route 103.155.14.0/23 -add china_ip_route 103.155.16.0/23 -add china_ip_route 103.155.34.0/23 -add china_ip_route 103.155.48.0/23 -add china_ip_route 103.155.76.0/23 -add china_ip_route 103.155.100.0/23 -add china_ip_route 103.155.110.0/23 -add china_ip_route 103.155.120.0/23 -add china_ip_route 103.155.214.0/23 -add china_ip_route 103.155.248.0/23 -add china_ip_route 103.156.24.0/23 -add china_ip_route 103.156.28.0/23 -add china_ip_route 103.156.68.0/23 -add china_ip_route 103.156.78.0/23 -add china_ip_route 103.156.104.0/23 -add china_ip_route 103.156.158.0/23 -add china_ip_route 103.156.166.0/23 -add china_ip_route 103.156.174.0/23 -add china_ip_route 103.156.186.0/23 -add china_ip_route 103.156.228.0/23 -add china_ip_route 103.157.30.0/23 -add china_ip_route 103.157.138.0/23 -add china_ip_route 103.157.174.0/23 -add china_ip_route 103.157.212.0/23 -add china_ip_route 103.157.234.0/23 -add china_ip_route 103.157.254.0/23 -add china_ip_route 103.158.0.0/23 -add china_ip_route 103.158.8.0/23 -add china_ip_route 103.158.13.0/24 -add china_ip_route 103.158.16.0/23 -add china_ip_route 103.158.190.0/23 -add china_ip_route 103.158.200.0/23 -add china_ip_route 103.158.224.0/23 -add china_ip_route 103.159.80.0/23 -add china_ip_route 103.159.122.0/23 -add china_ip_route 103.159.124.0/23 -add china_ip_route 103.159.134.0/23 -add china_ip_route 103.159.142.0/23 -add china_ip_route 103.192.0.0/22 -add china_ip_route 103.192.4.0/22 -add china_ip_route 103.192.8.0/22 -add china_ip_route 103.192.12.0/22 -add china_ip_route 103.192.16.0/22 -add china_ip_route 103.192.20.0/22 -add china_ip_route 103.192.24.0/22 -add china_ip_route 103.192.28.0/22 -add china_ip_route 103.192.48.0/22 -add china_ip_route 103.192.52.0/22 -add china_ip_route 103.192.56.0/22 -add china_ip_route 103.192.84.0/22 -add china_ip_route 103.192.88.0/22 -add china_ip_route 103.192.92.0/22 -add china_ip_route 103.192.96.0/22 -add china_ip_route 103.192.100.0/22 -add china_ip_route 103.192.104.0/22 -add china_ip_route 103.192.108.0/22 -add china_ip_route 103.192.112.0/22 -add china_ip_route 103.192.128.0/22 -add china_ip_route 103.192.132.0/22 -add china_ip_route 103.192.136.0/22 -add china_ip_route 103.192.140.0/22 -add china_ip_route 103.192.144.0/22 -add china_ip_route 103.192.164.0/22 -add china_ip_route 103.192.188.0/22 -add china_ip_route 103.192.208.0/22 -add china_ip_route 103.192.212.0/22 -add china_ip_route 103.192.216.0/22 -add china_ip_route 103.192.252.0/22 -add china_ip_route 103.193.40.0/22 -add china_ip_route 103.193.44.0/22 -add china_ip_route 103.193.120.0/22 -add china_ip_route 103.193.124.0/22 -add china_ip_route 103.193.140.0/22 -add china_ip_route 103.193.144.0/22 -add china_ip_route 103.193.160.0/22 -add china_ip_route 103.193.188.0/22 -add china_ip_route 103.193.192.0/22 -add china_ip_route 103.193.212.0/22 -add china_ip_route 103.193.216.0/22 -add china_ip_route 103.193.220.0/22 -add china_ip_route 103.193.224.0/22 -add china_ip_route 103.193.228.0/22 -add china_ip_route 103.193.232.0/22 -add china_ip_route 103.193.236.0/22 -add china_ip_route 103.193.240.0/22 -add china_ip_route 103.194.16.0/22 -add china_ip_route 103.195.104.0/22 -add china_ip_route 103.195.112.0/22 -add china_ip_route 103.195.136.0/22 -add china_ip_route 103.195.148.0/22 -add china_ip_route 103.195.152.0/22 -add china_ip_route 103.195.160.0/22 -add china_ip_route 103.196.64.0/22 -add china_ip_route 103.196.72.0/22 -add china_ip_route 103.196.88.0/22 -add china_ip_route 103.196.92.0/22 -add china_ip_route 103.196.96.0/22 -add china_ip_route 103.196.168.0/22 -add china_ip_route 103.196.204.0/22 -add china_ip_route 103.197.180.0/22 -add china_ip_route 103.197.228.0/22 -add china_ip_route 103.198.20.0/22 -add china_ip_route 103.198.60.0/22 -add china_ip_route 103.198.64.0/22 -add china_ip_route 103.198.72.0/22 -add china_ip_route 103.198.124.0/22 -add china_ip_route 103.198.156.0/22 -add china_ip_route 103.198.180.0/22 -add china_ip_route 103.198.196.0/22 -add china_ip_route 103.198.200.0/22 -add china_ip_route 103.198.216.0/22 -add china_ip_route 103.198.220.0/22 -add china_ip_route 103.198.224.0/22 -add china_ip_route 103.198.228.0/22 -add china_ip_route 103.198.232.0/22 -add china_ip_route 103.198.236.0/22 -add china_ip_route 103.198.240.0/22 -add china_ip_route 103.198.244.0/22 -add china_ip_route 103.199.164.0/22 -add china_ip_route 103.199.196.0/22 -add china_ip_route 103.199.228.0/22 -add china_ip_route 103.199.248.0/22 -add china_ip_route 103.199.252.0/22 -add china_ip_route 103.200.28.0/22 -add china_ip_route 103.200.52.0/22 -add china_ip_route 103.200.64.0/22 -add china_ip_route 103.200.68.0/22 -add china_ip_route 103.200.136.0/22 -add china_ip_route 103.200.140.0/22 -add china_ip_route 103.200.144.0/22 -add china_ip_route 103.200.148.0/22 -add china_ip_route 103.200.152.0/22 -add china_ip_route 103.200.156.0/22 -add china_ip_route 103.200.160.0/22 -add china_ip_route 103.200.164.0/22 -add china_ip_route 103.200.168.0/22 -add china_ip_route 103.200.172.0/22 -add china_ip_route 103.200.176.0/22 -add china_ip_route 103.200.180.0/22 -add china_ip_route 103.200.184.0/22 -add china_ip_route 103.200.188.0/22 -add china_ip_route 103.200.192.0/22 -add china_ip_route 103.200.220.0/22 -add china_ip_route 103.200.224.0/22 -add china_ip_route 103.200.228.0/22 -add china_ip_route 103.200.232.0/22 -add china_ip_route 103.200.236.0/22 -add china_ip_route 103.200.240.0/22 -add china_ip_route 103.200.244.0/22 -add china_ip_route 103.200.248.0/22 -add china_ip_route 103.200.252.0/22 -add china_ip_route 103.201.0.0/22 -add china_ip_route 103.201.4.0/22 -add china_ip_route 103.201.8.0/22 -add china_ip_route 103.201.12.0/22 -add china_ip_route 103.201.16.0/22 -add china_ip_route 103.201.20.0/22 -add china_ip_route 103.201.28.0/22 -add china_ip_route 103.201.32.0/22 -add china_ip_route 103.201.36.0/22 -add china_ip_route 103.201.40.0/22 -add china_ip_route 103.201.44.0/22 -add china_ip_route 103.201.48.0/22 -add china_ip_route 103.201.52.0/22 -add china_ip_route 103.201.56.0/22 -add china_ip_route 103.201.60.0/22 -add china_ip_route 103.201.64.0/22 -add china_ip_route 103.201.76.0/22 -add china_ip_route 103.201.80.0/22 -add china_ip_route 103.201.84.0/22 -add china_ip_route 103.201.88.0/22 -add china_ip_route 103.201.92.0/22 -add china_ip_route 103.201.96.0/22 -add china_ip_route 103.201.100.0/22 -add china_ip_route 103.201.104.0/22 -add china_ip_route 103.201.108.0/22 -add china_ip_route 103.201.112.0/22 -add china_ip_route 103.201.116.0/22 -add china_ip_route 103.201.120.0/22 -add china_ip_route 103.201.152.0/22 -add china_ip_route 103.201.156.0/22 -add china_ip_route 103.201.160.0/22 -add china_ip_route 103.201.164.0/22 -add china_ip_route 103.201.168.0/22 -add china_ip_route 103.201.172.0/22 -add china_ip_route 103.201.176.0/22 -add china_ip_route 103.201.180.0/22 -add china_ip_route 103.201.184.0/22 -add china_ip_route 103.201.188.0/22 -add china_ip_route 103.201.192.0/22 -add china_ip_route 103.201.196.0/22 -add china_ip_route 103.201.200.0/22 -add china_ip_route 103.201.204.0/22 -add china_ip_route 103.201.208.0/22 -add china_ip_route 103.201.212.0/22 -add china_ip_route 103.201.216.0/22 -add china_ip_route 103.201.220.0/22 -add china_ip_route 103.201.224.0/22 -add china_ip_route 103.201.228.0/22 -add china_ip_route 103.201.232.0/22 -add china_ip_route 103.201.236.0/22 -add china_ip_route 103.201.240.0/22 -add china_ip_route 103.201.244.0/22 -add china_ip_route 103.201.248.0/22 -add china_ip_route 103.201.252.0/22 -add china_ip_route 103.202.0.0/22 -add china_ip_route 103.202.4.0/22 -add china_ip_route 103.202.8.0/22 -add china_ip_route 103.202.12.0/22 -add china_ip_route 103.202.16.0/22 -add china_ip_route 103.202.20.0/22 -add china_ip_route 103.202.24.0/22 -add china_ip_route 103.202.28.0/22 -add china_ip_route 103.202.32.0/22 -add china_ip_route 103.202.36.0/22 -add china_ip_route 103.202.40.0/22 -add china_ip_route 103.202.44.0/22 -add china_ip_route 103.202.56.0/22 -add china_ip_route 103.202.60.0/22 -add china_ip_route 103.202.64.0/22 -add china_ip_route 103.202.68.0/22 -add china_ip_route 103.202.72.0/22 -add china_ip_route 103.202.76.0/22 -add china_ip_route 103.202.80.0/22 -add china_ip_route 103.202.84.0/22 -add china_ip_route 103.202.88.0/22 -add china_ip_route 103.202.92.0/22 -add china_ip_route 103.202.96.0/22 -add china_ip_route 103.202.100.0/22 -add china_ip_route 103.202.104.0/22 -add china_ip_route 103.202.108.0/22 -add china_ip_route 103.202.112.0/22 -add china_ip_route 103.202.116.0/22 -add china_ip_route 103.202.120.0/22 -add china_ip_route 103.202.124.0/22 -add china_ip_route 103.202.128.0/22 -add china_ip_route 103.202.132.0/22 -add china_ip_route 103.202.136.0/22 -add china_ip_route 103.202.140.0/22 -add china_ip_route 103.202.144.0/22 -add china_ip_route 103.202.152.0/22 -add china_ip_route 103.202.156.0/22 -add china_ip_route 103.202.160.0/22 -add china_ip_route 103.202.164.0/22 -add china_ip_route 103.202.168.0/22 -add china_ip_route 103.202.172.0/22 -add china_ip_route 103.202.176.0/22 -add china_ip_route 103.202.180.0/22 -add china_ip_route 103.202.184.0/22 -add china_ip_route 103.202.188.0/22 -add china_ip_route 103.202.192.0/22 -add china_ip_route 103.202.196.0/22 -add china_ip_route 103.202.200.0/21 -add china_ip_route 103.202.212.0/22 -add china_ip_route 103.202.228.0/22 -add china_ip_route 103.202.236.0/22 -add china_ip_route 103.202.240.0/22 -add china_ip_route 103.202.244.0/22 -add china_ip_route 103.202.248.0/22 -add china_ip_route 103.202.252.0/22 -add china_ip_route 103.203.0.0/22 -add china_ip_route 103.203.4.0/22 -add china_ip_route 103.203.8.0/22 -add china_ip_route 103.203.12.0/22 -add china_ip_route 103.203.16.0/22 -add china_ip_route 103.203.20.0/22 -add china_ip_route 103.203.24.0/22 -add china_ip_route 103.203.28.0/22 -add china_ip_route 103.203.32.0/22 -add china_ip_route 103.203.56.0/22 -add china_ip_route 103.203.96.0/22 -add china_ip_route 103.203.100.0/22 -add china_ip_route 103.203.104.0/22 -add china_ip_route 103.203.108.0/22 -add china_ip_route 103.203.112.0/22 -add china_ip_route 103.203.116.0/22 -add china_ip_route 103.203.120.0/22 -add china_ip_route 103.203.124.0/22 -add china_ip_route 103.203.128.0/22 -add china_ip_route 103.203.140.0/22 -add china_ip_route 103.203.164.0/22 -add china_ip_route 103.203.168.0/22 -add china_ip_route 103.203.192.0/22 -add china_ip_route 103.203.200.0/22 -add china_ip_route 103.203.212.0/22 -add china_ip_route 103.203.216.0/22 -add china_ip_route 103.204.24.0/22 -add china_ip_route 103.204.72.0/22 -add china_ip_route 103.204.88.0/22 -add china_ip_route 103.204.112.0/22 -add china_ip_route 103.204.136.0/22 -add china_ip_route 103.204.140.0/22 -add china_ip_route 103.204.144.0/22 -add china_ip_route 103.204.148.0/22 -add china_ip_route 103.204.152.0/22 -add china_ip_route 103.204.196.0/22 -add china_ip_route 103.204.232.0/22 -add china_ip_route 103.204.236.0/22 -add china_ip_route 103.205.4.0/22 -add china_ip_route 103.205.8.0/22 -add china_ip_route 103.205.40.0/22 -add china_ip_route 103.205.44.0/22 -add china_ip_route 103.205.52.0/22 -add china_ip_route 103.205.108.0/22 -add china_ip_route 103.205.116.0/22 -add china_ip_route 103.205.120.0/22 -add china_ip_route 103.205.136.0/22 -add china_ip_route 103.205.162.0/24 -add china_ip_route 103.205.188.0/22 -add china_ip_route 103.205.192.0/22 -add china_ip_route 103.205.196.0/22 -add china_ip_route 103.205.200.0/22 -add china_ip_route 103.205.236.0/22 -add china_ip_route 103.205.248.0/22 -add china_ip_route 103.205.252.0/22 -add china_ip_route 103.206.0.0/22 -add china_ip_route 103.206.44.0/22 -add china_ip_route 103.206.108.0/22 -add china_ip_route 103.206.148.0/22 -add china_ip_route 103.207.48.0/22 -add china_ip_route 103.207.104.0/22 -add china_ip_route 103.207.164.0/22 -add china_ip_route 103.207.184.0/22 -add china_ip_route 103.207.188.0/22 -add china_ip_route 103.207.192.0/22 -add china_ip_route 103.207.196.0/22 -add china_ip_route 103.207.200.0/22 -add china_ip_route 103.207.204.0/22 -add china_ip_route 103.207.208.0/22 -add china_ip_route 103.207.212.0/22 -add china_ip_route 103.207.220.0/22 -add china_ip_route 103.207.228.0/22 -add china_ip_route 103.207.232.0/22 -add china_ip_route 103.208.12.0/22 -add china_ip_route 103.208.16.0/22 -add china_ip_route 103.208.28.0/22 -add china_ip_route 103.208.40.0/22 -add china_ip_route 103.208.44.0/22 -add china_ip_route 103.208.48.0/22 -add china_ip_route 103.208.148.0/22 -add china_ip_route 103.209.112.0/22 -add china_ip_route 103.209.136.0/22 -add china_ip_route 103.209.200.0/22 -add china_ip_route 103.209.208.0/22 -add china_ip_route 103.209.216.0/22 -add china_ip_route 103.210.0.0/22 -add china_ip_route 103.210.20.0/22 -add china_ip_route 103.210.96.0/22 -add china_ip_route 103.210.156.0/22 -add china_ip_route 103.210.160.0/22 -add china_ip_route 103.210.164.0/22 -add china_ip_route 103.210.168.0/22 -add china_ip_route 103.210.172.0/22 -add china_ip_route 103.210.176.0/22 -add china_ip_route 103.210.180.0/22 -add china_ip_route 103.210.184.0/22 -add china_ip_route 103.210.188.0/22 -add china_ip_route 103.210.216.0/22 -add china_ip_route 103.211.44.0/22 -add china_ip_route 103.211.96.0/22 -add china_ip_route 103.211.100.0/22 -add china_ip_route 103.211.156.0/22 -add china_ip_route 103.211.164.0/22 -add china_ip_route 103.211.192.0/22 -add china_ip_route 103.211.220.0/22 -add china_ip_route 103.211.224.0/22 -add china_ip_route 103.211.248.0/22 -add china_ip_route 103.212.0.0/22 -add china_ip_route 103.212.4.0/22 -add china_ip_route 103.212.8.0/22 -add china_ip_route 103.212.12.0/22 -add china_ip_route 103.212.32.0/22 -add china_ip_route 103.212.44.0/22 -add china_ip_route 103.212.48.0/22 -add china_ip_route 103.212.84.0/22 -add china_ip_route 103.212.100.0/22 -add china_ip_route 103.212.104.0/22 -add china_ip_route 103.212.108.0/22 -add china_ip_route 103.212.148.0/22 -add china_ip_route 103.212.164.0/22 -add china_ip_route 103.212.196.0/22 -add china_ip_route 103.212.200.0/22 -add china_ip_route 103.212.228.0/22 -add china_ip_route 103.212.252.0/22 -add china_ip_route 103.213.40.0/22 -add china_ip_route 103.213.44.0/22 -add china_ip_route 103.213.48.0/22 -add china_ip_route 103.213.52.0/22 -add china_ip_route 103.213.56.0/22 -add china_ip_route 103.213.60.0/22 -add china_ip_route 103.213.64.0/22 -add china_ip_route 103.213.68.0/22 -add china_ip_route 103.213.72.0/22 -add china_ip_route 103.213.76.0/22 -add china_ip_route 103.213.80.0/22 -add china_ip_route 103.213.84.0/22 -add china_ip_route 103.213.88.0/22 -add china_ip_route 103.213.92.0/22 -add china_ip_route 103.213.96.0/22 -add china_ip_route 103.213.132.0/22 -add china_ip_route 103.213.136.0/22 -add china_ip_route 103.213.140.0/22 -add china_ip_route 103.213.144.0/22 -add china_ip_route 103.213.148.0/22 -add china_ip_route 103.213.152.0/22 -add china_ip_route 103.213.156.0/22 -add china_ip_route 103.213.160.0/22 -add china_ip_route 103.213.164.0/22 -add china_ip_route 103.213.168.0/22 -add china_ip_route 103.213.172.0/22 -add china_ip_route 103.213.176.0/22 -add china_ip_route 103.213.180.0/22 -add china_ip_route 103.213.184.0/22 -add china_ip_route 103.213.188.0/22 -add china_ip_route 103.213.248.0/22 -add china_ip_route 103.214.32.0/22 -add china_ip_route 103.214.48.0/22 -add china_ip_route 103.214.84.0/22 -add china_ip_route 103.214.168.0/22 -add china_ip_route 103.214.212.0/22 -add china_ip_route 103.214.240.0/22 -add china_ip_route 103.214.244.0/22 -add china_ip_route 103.215.28.0/22 -add china_ip_route 103.215.32.0/22 -add china_ip_route 103.215.36.0/22 -add china_ip_route 103.215.44.0/22 -add china_ip_route 103.215.48.0/22 -add china_ip_route 103.215.100.0/22 -add china_ip_route 103.215.104.0/22 -add china_ip_route 103.215.108.0/22 -add china_ip_route 103.215.116.0/22 -add china_ip_route 103.215.120.0/22 -add china_ip_route 103.215.140.0/22 -add china_ip_route 103.215.228.0/22 -add china_ip_route 103.216.4.0/22 -add china_ip_route 103.216.8.0/22 -add china_ip_route 103.216.12.0/22 -add china_ip_route 103.216.16.0/22 -add china_ip_route 103.216.20.0/22 -add china_ip_route 103.216.24.0/22 -add china_ip_route 103.216.28.0/22 -add china_ip_route 103.216.32.0/22 -add china_ip_route 103.216.36.0/22 -add china_ip_route 103.216.40.0/22 -add china_ip_route 103.216.44.0/22 -add china_ip_route 103.216.64.0/22 -add china_ip_route 103.216.108.0/22 -add china_ip_route 103.216.136.0/22 -add china_ip_route 103.216.152.0/22 -add china_ip_route 103.216.224.0/22 -add china_ip_route 103.216.228.0/22 -add china_ip_route 103.216.240.0/22 -add china_ip_route 103.216.244.0/22 -add china_ip_route 103.216.248.0/22 -add china_ip_route 103.216.252.0/22 -add china_ip_route 103.217.0.0/22 -add china_ip_route 103.217.4.0/22 -add china_ip_route 103.217.8.0/22 -add china_ip_route 103.217.12.0/22 -add china_ip_route 103.217.16.0/22 -add china_ip_route 103.217.20.0/22 -add china_ip_route 103.217.24.0/22 -add china_ip_route 103.217.28.0/22 -add china_ip_route 103.217.32.0/22 -add china_ip_route 103.217.36.0/22 -add china_ip_route 103.217.40.0/22 -add china_ip_route 103.217.44.0/22 -add china_ip_route 103.217.48.0/22 -add china_ip_route 103.217.52.0/22 -add china_ip_route 103.217.56.0/22 -add china_ip_route 103.217.60.0/22 -add china_ip_route 103.217.168.0/22 -add china_ip_route 103.217.180.0/22 -add china_ip_route 103.217.184.0/22 -add china_ip_route 103.217.188.0/22 -add china_ip_route 103.217.192.0/22 -add china_ip_route 103.217.196.0/22 -add china_ip_route 103.217.200.0/22 -add china_ip_route 103.217.204.0/22 -add china_ip_route 103.218.0.0/22 -add china_ip_route 103.218.8.0/22 -add china_ip_route 103.218.12.0/22 -add china_ip_route 103.218.16.0/22 -add china_ip_route 103.218.20.0/22 -add china_ip_route 103.218.28.0/22 -add china_ip_route 103.218.32.0/22 -add china_ip_route 103.218.36.0/22 -add china_ip_route 103.218.40.0/22 -add china_ip_route 103.218.44.0/22 -add china_ip_route 103.218.48.0/22 -add china_ip_route 103.218.52.0/22 -add china_ip_route 103.218.56.0/22 -add china_ip_route 103.218.60.0/22 -add china_ip_route 103.218.64.0/22 -add china_ip_route 103.218.68.0/22 -add china_ip_route 103.218.72.0/22 -add china_ip_route 103.218.76.0/22 -add china_ip_route 103.218.80.0/22 -add china_ip_route 103.218.84.0/22 -add china_ip_route 103.218.88.0/22 -add china_ip_route 103.218.92.0/22 -add china_ip_route 103.218.192.0/22 -add china_ip_route 103.218.196.0/22 -add china_ip_route 103.218.200.0/22 -add china_ip_route 103.218.204.0/22 -add china_ip_route 103.218.208.0/22 -add china_ip_route 103.218.212.0/22 -add china_ip_route 103.218.216.0/22 -add china_ip_route 103.219.24.0/22 -add china_ip_route 103.219.28.0/22 -add china_ip_route 103.219.32.0/22 -add china_ip_route 103.219.36.0/22 -add china_ip_route 103.219.64.0/22 -add china_ip_route 103.219.84.0/22 -add china_ip_route 103.219.88.0/22 -add china_ip_route 103.219.92.0/22 -add china_ip_route 103.219.96.0/22 -add china_ip_route 103.219.100.0/22 -add china_ip_route 103.219.176.0/22 -add china_ip_route 103.219.184.0/22 -add china_ip_route 103.220.48.0/22 -add china_ip_route 103.220.52.0/22 -add china_ip_route 103.220.56.0/22 -add china_ip_route 103.220.60.0/22 -add china_ip_route 103.220.64.0/22 -add china_ip_route 103.220.92.0/22 -add china_ip_route 103.220.96.0/22 -add china_ip_route 103.220.100.0/22 -add china_ip_route 103.220.104.0/22 -add china_ip_route 103.220.108.0/22 -add china_ip_route 103.220.116.0/22 -add china_ip_route 103.220.120.0/22 -add china_ip_route 103.220.124.0/22 -add china_ip_route 103.220.128.0/22 -add china_ip_route 103.220.132.0/22 -add china_ip_route 103.220.136.0/22 -add china_ip_route 103.220.140.0/22 -add china_ip_route 103.220.144.0/22 -add china_ip_route 103.220.148.0/22 -add china_ip_route 103.220.152.0/22 -add china_ip_route 103.220.160.0/22 -add china_ip_route 103.220.164.0/22 -add china_ip_route 103.220.168.0/22 -add china_ip_route 103.220.172.0/22 -add china_ip_route 103.220.176.0/22 -add china_ip_route 103.220.180.0/22 -add china_ip_route 103.220.184.0/22 -add china_ip_route 103.220.188.0/22 -add china_ip_route 103.220.192.0/22 -add china_ip_route 103.220.196.0/22 -add china_ip_route 103.220.200.0/22 -add china_ip_route 103.220.240.0/22 -add china_ip_route 103.220.244.0/22 -add china_ip_route 103.220.248.0/22 -add china_ip_route 103.220.252.0/22 -add china_ip_route 103.221.0.0/22 -add china_ip_route 103.221.4.0/22 -add china_ip_route 103.221.8.0/22 -add china_ip_route 103.221.12.0/22 -add china_ip_route 103.221.16.0/22 -add china_ip_route 103.221.20.0/22 -add china_ip_route 103.221.24.0/22 -add china_ip_route 103.221.28.0/22 -add china_ip_route 103.221.32.0/22 -add china_ip_route 103.221.36.0/22 -add china_ip_route 103.221.40.0/22 -add china_ip_route 103.221.44.0/22 -add china_ip_route 103.221.48.0/22 -add china_ip_route 103.221.88.0/22 -add china_ip_route 103.221.92.0/22 -add china_ip_route 103.221.96.0/22 -add china_ip_route 103.221.100.0/22 -add china_ip_route 103.221.104.0/22 -add china_ip_route 103.221.108.0/22 -add china_ip_route 103.221.112.0/22 -add china_ip_route 103.221.116.0/22 -add china_ip_route 103.221.120.0/22 -add china_ip_route 103.221.124.0/22 -add china_ip_route 103.221.128.0/22 -add china_ip_route 103.221.132.0/22 -add china_ip_route 103.221.136.0/22 -add china_ip_route 103.221.140.0/22 -add china_ip_route 103.221.144.0/22 -add china_ip_route 103.221.148.0/22 -add china_ip_route 103.221.152.0/22 -add china_ip_route 103.221.156.0/22 -add china_ip_route 103.221.160.0/22 -add china_ip_route 103.221.164.0/22 -add china_ip_route 103.221.168.0/22 -add china_ip_route 103.221.172.0/22 -add china_ip_route 103.221.176.0/22 -add china_ip_route 103.221.180.0/22 -add china_ip_route 103.221.184.0/22 -add china_ip_route 103.221.188.0/22 -add china_ip_route 103.221.192.0/22 -add china_ip_route 103.221.196.0/22 -add china_ip_route 103.221.200.0/22 -add china_ip_route 103.221.204.0/22 -add china_ip_route 103.222.0.0/22 -add china_ip_route 103.222.4.0/22 -add china_ip_route 103.222.8.0/22 -add china_ip_route 103.222.12.0/22 -add china_ip_route 103.222.16.0/22 -add china_ip_route 103.222.24.0/22 -add china_ip_route 103.222.28.0/22 -add china_ip_route 103.222.32.0/22 -add china_ip_route 103.222.36.0/22 -add china_ip_route 103.222.40.0/22 -add china_ip_route 103.222.44.0/22 -add china_ip_route 103.222.48.0/22 -add china_ip_route 103.222.52.0/22 -add china_ip_route 103.222.56.0/22 -add china_ip_route 103.222.60.0/22 -add china_ip_route 103.222.64.0/22 -add china_ip_route 103.222.68.0/22 -add china_ip_route 103.222.72.0/22 -add china_ip_route 103.222.76.0/22 -add china_ip_route 103.222.80.0/22 -add china_ip_route 103.222.84.0/22 -add china_ip_route 103.222.88.0/22 -add china_ip_route 103.222.92.0/22 -add china_ip_route 103.222.96.0/22 -add china_ip_route 103.222.100.0/22 -add china_ip_route 103.222.104.0/22 -add china_ip_route 103.222.108.0/22 -add china_ip_route 103.222.112.0/22 -add china_ip_route 103.222.116.0/22 -add china_ip_route 103.222.120.0/22 -add china_ip_route 103.222.124.0/22 -add china_ip_route 103.222.128.0/22 -add china_ip_route 103.222.132.0/22 -add china_ip_route 103.222.136.0/22 -add china_ip_route 103.222.140.0/22 -add china_ip_route 103.222.144.0/22 -add china_ip_route 103.222.148.0/22 -add china_ip_route 103.222.152.0/22 -add china_ip_route 103.222.156.0/22 -add china_ip_route 103.222.160.0/22 -add china_ip_route 103.222.164.0/22 -add china_ip_route 103.222.168.0/22 -add china_ip_route 103.222.172.0/22 -add china_ip_route 103.222.176.0/22 -add china_ip_route 103.222.180.0/22 -add china_ip_route 103.222.184.0/22 -add china_ip_route 103.222.188.0/22 -add china_ip_route 103.222.192.0/22 -add china_ip_route 103.222.196.0/22 -add china_ip_route 103.222.200.0/22 -add china_ip_route 103.222.204.0/22 -add china_ip_route 103.222.208.0/22 -add china_ip_route 103.222.212.0/22 -add china_ip_route 103.222.216.0/22 -add china_ip_route 103.222.220.0/22 -add china_ip_route 103.222.224.0/22 -add china_ip_route 103.222.228.0/22 -add china_ip_route 103.222.232.0/22 -add china_ip_route 103.222.240.0/22 -add china_ip_route 103.222.244.0/22 -add china_ip_route 103.223.16.0/22 -add china_ip_route 103.223.20.0/22 -add china_ip_route 103.223.24.0/22 -add china_ip_route 103.223.28.0/22 -add china_ip_route 103.223.32.0/22 -add china_ip_route 103.223.36.0/22 -add china_ip_route 103.223.40.0/22 -add china_ip_route 103.223.44.0/22 -add china_ip_route 103.223.48.0/22 -add china_ip_route 103.223.52.0/22 -add china_ip_route 103.223.56.0/22 -add china_ip_route 103.223.60.0/22 -add china_ip_route 103.223.64.0/22 -add china_ip_route 103.223.68.0/22 -add china_ip_route 103.223.72.0/22 -add china_ip_route 103.223.76.0/22 -add china_ip_route 103.223.80.0/22 -add china_ip_route 103.223.84.0/22 -add china_ip_route 103.223.88.0/22 -add china_ip_route 103.223.92.0/22 -add china_ip_route 103.223.96.0/22 -add china_ip_route 103.223.100.0/22 -add china_ip_route 103.223.104.0/22 -add china_ip_route 103.223.108.0/22 -add china_ip_route 103.223.112.0/22 -add china_ip_route 103.223.116.0/22 -add china_ip_route 103.223.120.0/22 -add china_ip_route 103.223.124.0/22 -add china_ip_route 103.223.128.0/22 -add china_ip_route 103.223.132.0/22 -add china_ip_route 103.223.140.0/22 -add china_ip_route 103.223.144.0/22 -add china_ip_route 103.223.148.0/22 -add china_ip_route 103.223.152.0/22 -add china_ip_route 103.223.156.0/22 -add china_ip_route 103.223.160.0/22 -add china_ip_route 103.223.164.0/22 -add china_ip_route 103.223.168.0/22 -add china_ip_route 103.223.172.0/22 -add china_ip_route 103.223.176.0/22 -add china_ip_route 103.223.180.0/22 -add china_ip_route 103.223.188.0/22 -add china_ip_route 103.223.192.0/22 -add china_ip_route 103.223.196.0/22 -add china_ip_route 103.223.200.0/22 -add china_ip_route 103.223.204.0/22 -add china_ip_route 103.223.208.0/22 -add china_ip_route 103.223.212.0/22 -add china_ip_route 103.223.216.0/22 -add china_ip_route 103.223.220.0/22 -add china_ip_route 103.223.224.0/22 -add china_ip_route 103.223.228.0/22 -add china_ip_route 103.223.232.0/22 -add china_ip_route 103.223.236.0/22 -add china_ip_route 103.223.240.0/22 -add china_ip_route 103.223.244.0/22 -add china_ip_route 103.223.248.0/22 -add china_ip_route 103.223.252.0/22 -add china_ip_route 103.224.0.0/22 -add china_ip_route 103.224.40.0/22 -add china_ip_route 103.224.44.0/22 -add china_ip_route 103.224.60.0/22 -add china_ip_route 103.224.80.0/22 -add china_ip_route 103.224.220.0/22 -add china_ip_route 103.224.224.0/22 -add china_ip_route 103.224.228.0/22 -add china_ip_route 103.224.232.0/22 -add china_ip_route 103.225.84.0/22 -add china_ip_route 103.226.16.0/22 -add china_ip_route 103.226.40.0/22 -add china_ip_route 103.226.56.0/22 -add china_ip_route 103.226.60.0/22 -add china_ip_route 103.226.80.0/22 -add china_ip_route 103.226.132.0/22 -add china_ip_route 103.226.156.0/22 -add china_ip_route 103.226.180.0/22 -add china_ip_route 103.226.196.0/22 -add china_ip_route 103.227.48.0/22 -add china_ip_route 103.227.72.0/22 -add china_ip_route 103.227.76.0/22 -add china_ip_route 103.227.80.0/22 -add china_ip_route 103.227.100.0/22 -add china_ip_route 103.227.120.0/22 -add china_ip_route 103.227.132.0/22 -add china_ip_route 103.227.136.0/22 -add china_ip_route 103.227.196.0/22 -add china_ip_route 103.227.204.0/22 -add china_ip_route 103.227.212.0/22 -add china_ip_route 103.227.228.0/22 -add china_ip_route 103.228.12.0/22 -add china_ip_route 103.228.88.0/22 -add china_ip_route 103.228.128.0/22 -add china_ip_route 103.228.136.0/22 -add china_ip_route 103.228.160.0/22 -add china_ip_route 103.228.176.0/22 -add china_ip_route 103.228.204.0/22 -add china_ip_route 103.228.208.0/22 -add china_ip_route 103.228.228.0/22 -add china_ip_route 103.228.232.0/22 -add china_ip_route 103.229.20.0/22 -add china_ip_route 103.229.60.0/22 -add china_ip_route 103.229.136.0/22 -add china_ip_route 103.229.148.0/22 -add china_ip_route 103.229.172.0/22 -add china_ip_route 103.229.212.0/22 -add china_ip_route 103.229.216.0/22 -add china_ip_route 103.229.220.0/22 -add china_ip_route 103.229.228.0/22 -add china_ip_route 103.229.236.0/22 -add china_ip_route 103.229.240.0/22 -add china_ip_route 103.230.0.0/22 -add china_ip_route 103.230.28.0/22 -add china_ip_route 103.230.44.0/22 -add china_ip_route 103.230.96.0/22 -add china_ip_route 103.230.196.0/22 -add china_ip_route 103.230.200.0/22 -add china_ip_route 103.230.204.0/22 -add china_ip_route 103.230.212.0/22 -add china_ip_route 103.230.236.0/22 -add china_ip_route 103.231.16.0/22 -add china_ip_route 103.231.20.0/22 -add china_ip_route 103.231.64.0/22 -add china_ip_route 103.231.68.0/22 -add china_ip_route 103.231.144.0/22 -add china_ip_route 103.231.180.0/22 -add china_ip_route 103.231.184.0/22 -add china_ip_route 103.231.244.0/22 -add china_ip_route 103.232.4.0/22 -add china_ip_route 103.232.144.0/22 -add china_ip_route 103.232.188.0/22 -add china_ip_route 103.232.212.0/22 -add china_ip_route 103.233.4.0/22 -add china_ip_route 103.233.44.0/22 -add china_ip_route 103.233.52.0/22 -add china_ip_route 103.233.104.0/22 -add china_ip_route 103.233.128.0/22 -add china_ip_route 103.233.136.0/22 -add china_ip_route 103.233.228.0/22 -add china_ip_route 103.234.0.0/22 -add china_ip_route 103.234.20.0/22 -add china_ip_route 103.234.56.0/22 -add china_ip_route 103.234.128.0/22 -add china_ip_route 103.234.172.0/22 -add china_ip_route 103.234.180.0/22 -add china_ip_route 103.234.244.0/22 -add china_ip_route 103.235.16.0/22 -add china_ip_route 103.235.48.0/22 -add china_ip_route 103.235.56.0/22 -add china_ip_route 103.235.60.0/22 -add china_ip_route 103.235.80.0/22 -add china_ip_route 103.235.84.0/22 -add china_ip_route 103.235.128.0/22 -add china_ip_route 103.235.132.0/22 -add china_ip_route 103.235.136.0/22 -add china_ip_route 103.235.140.0/22 -add china_ip_route 103.235.144.0/22 -add china_ip_route 103.235.148.0/22 -add china_ip_route 103.235.184.0/22 -add china_ip_route 103.235.192.0/22 -add china_ip_route 103.235.200.0/22 -add china_ip_route 103.235.220.0/22 -add china_ip_route 103.235.224.0/22 -add china_ip_route 103.235.228.0/22 -add china_ip_route 103.235.232.0/22 -add china_ip_route 103.235.236.0/22 -add china_ip_route 103.235.240.0/22 -add china_ip_route 103.235.244.0/22 -add china_ip_route 103.235.248.0/22 -add china_ip_route 103.235.252.0/22 -add china_ip_route 103.236.0.0/22 -add china_ip_route 103.236.4.0/22 -add china_ip_route 103.236.8.0/22 -add china_ip_route 103.236.12.0/22 -add china_ip_route 103.236.16.0/22 -add china_ip_route 103.236.20.0/22 -add china_ip_route 103.236.24.0/22 -add china_ip_route 103.236.28.0/22 -add china_ip_route 103.236.32.0/22 -add china_ip_route 103.236.36.0/22 -add china_ip_route 103.236.40.0/22 -add china_ip_route 103.236.44.0/22 -add china_ip_route 103.236.48.0/22 -add china_ip_route 103.236.52.0/22 -add china_ip_route 103.236.56.0/22 -add china_ip_route 103.236.60.0/22 -add china_ip_route 103.236.64.0/22 -add china_ip_route 103.236.68.0/22 -add china_ip_route 103.236.72.0/22 -add china_ip_route 103.236.76.0/22 -add china_ip_route 103.236.80.0/22 -add china_ip_route 103.236.84.0/22 -add china_ip_route 103.236.88.0/22 -add china_ip_route 103.236.92.0/22 -add china_ip_route 103.236.96.0/22 -add china_ip_route 103.236.120.0/22 -add china_ip_route 103.236.184.0/22 -add china_ip_route 103.236.220.0/22 -add china_ip_route 103.236.232.0/22 -add china_ip_route 103.236.240.0/22 -add china_ip_route 103.236.244.0/22 -add china_ip_route 103.236.248.0/22 -add china_ip_route 103.236.252.0/22 -add china_ip_route 103.237.0.0/22 -add china_ip_route 103.237.4.0/22 -add china_ip_route 103.237.8.0/22 -add china_ip_route 103.237.12.0/22 -add china_ip_route 103.237.24.0/22 -add china_ip_route 103.237.28.0/22 -add china_ip_route 103.237.68.0/22 -add china_ip_route 103.237.88.0/22 -add china_ip_route 103.237.152.0/22 -add china_ip_route 103.237.176.0/22 -add china_ip_route 103.237.180.0/22 -add china_ip_route 103.237.184.0/22 -add china_ip_route 103.237.188.0/22 -add china_ip_route 103.237.192.0/22 -add china_ip_route 103.237.196.0/22 -add china_ip_route 103.237.200.0/22 -add china_ip_route 103.237.204.0/22 -add china_ip_route 103.237.208.0/22 -add china_ip_route 103.237.212.0/22 -add china_ip_route 103.237.216.0/22 -add china_ip_route 103.237.220.0/22 -add china_ip_route 103.237.224.0/22 -add china_ip_route 103.237.228.0/22 -add china_ip_route 103.237.232.0/22 -add china_ip_route 103.237.236.0/22 -add china_ip_route 103.237.240.0/22 -add china_ip_route 103.237.244.0/22 -add china_ip_route 103.237.248.0/22 -add china_ip_route 103.237.252.0/22 -add china_ip_route 103.238.0.0/22 -add china_ip_route 103.238.4.0/22 -add china_ip_route 103.238.16.0/22 -add china_ip_route 103.238.20.0/22 -add china_ip_route 103.238.24.0/22 -add china_ip_route 103.238.28.0/22 -add china_ip_route 103.238.32.0/22 -add china_ip_route 103.238.36.0/22 -add china_ip_route 103.238.40.0/22 -add china_ip_route 103.238.44.0/22 -add china_ip_route 103.238.48.0/22 -add china_ip_route 103.238.52.0/22 -add china_ip_route 103.238.56.0/22 -add china_ip_route 103.238.88.0/22 -add china_ip_route 103.238.92.0/22 -add china_ip_route 103.238.96.0/22 -add china_ip_route 103.238.132.0/22 -add china_ip_route 103.238.140.0/22 -add china_ip_route 103.238.144.0/22 -add china_ip_route 103.238.160.0/22 -add china_ip_route 103.238.164.0/22 -add china_ip_route 103.238.168.0/22 -add china_ip_route 103.238.172.0/22 -add china_ip_route 103.238.176.0/22 -add china_ip_route 103.238.180.0/22 -add china_ip_route 103.238.184.0/22 -add china_ip_route 103.238.188.0/22 -add china_ip_route 103.238.196.0/22 -add china_ip_route 103.238.204.0/22 -add china_ip_route 103.238.252.0/22 -add china_ip_route 103.239.0.0/22 -add china_ip_route 103.239.44.0/22 -add china_ip_route 103.239.68.0/22 -add china_ip_route 103.239.96.0/22 -add china_ip_route 103.239.152.0/22 -add china_ip_route 103.239.156.0/22 -add china_ip_route 103.239.176.0/22 -add china_ip_route 103.239.180.0/22 -add china_ip_route 103.239.184.0/22 -add china_ip_route 103.239.192.0/22 -add china_ip_route 103.239.196.0/22 -add china_ip_route 103.239.204.0/22 -add china_ip_route 103.239.208.0/22 -add china_ip_route 103.239.224.0/22 -add china_ip_route 103.239.244.0/22 -add china_ip_route 103.240.16.0/22 -add china_ip_route 103.240.36.0/22 -add china_ip_route 103.240.72.0/22 -add china_ip_route 103.240.84.0/22 -add china_ip_route 103.240.124.0/22 -add china_ip_route 103.240.156.0/22 -add china_ip_route 103.240.172.0/22 -add china_ip_route 103.240.188.0/22 -add china_ip_route 103.240.244.0/22 -add china_ip_route 103.241.12.0/22 -add china_ip_route 103.241.72.0/22 -add china_ip_route 103.241.92.0/22 -add china_ip_route 103.241.96.0/22 -add china_ip_route 103.241.160.0/22 -add china_ip_route 103.241.184.0/22 -add china_ip_route 103.241.188.0/22 -add china_ip_route 103.241.220.0/22 -add china_ip_route 103.242.64.0/22 -add china_ip_route 103.242.128.0/22 -add china_ip_route 103.242.132.0/22 -add china_ip_route 103.242.160.0/22 -add china_ip_route 103.242.168.0/22 -add china_ip_route 103.242.172.0/22 -add china_ip_route 103.242.176.0/22 -add china_ip_route 103.242.200.0/22 -add china_ip_route 103.242.212.0/22 -add china_ip_route 103.242.220.0/22 -add china_ip_route 103.242.240.0/22 -add china_ip_route 103.243.136.0/22 -add china_ip_route 103.243.252.0/22 -add china_ip_route 103.244.16.0/22 -add china_ip_route 103.244.58.0/23 -add china_ip_route 103.244.60.0/22 -add china_ip_route 103.244.64.0/22 -add china_ip_route 103.244.68.0/22 -add china_ip_route 103.244.72.0/22 -add china_ip_route 103.244.76.0/22 -add china_ip_route 103.244.80.0/22 -add china_ip_route 103.244.84.0/22 -add china_ip_route 103.244.116.0/22 -add china_ip_route 103.244.164.0/22 -add china_ip_route 103.244.232.0/22 -add china_ip_route 103.244.252.0/22 -add china_ip_route 103.245.23.0/24 -add china_ip_route 103.245.52.0/22 -add china_ip_route 103.245.60.0/22 -add china_ip_route 103.245.80.0/22 -add china_ip_route 103.245.124.0/22 -add china_ip_route 103.245.128.0/22 -add china_ip_route 103.246.8.0/22 -add china_ip_route 103.246.12.0/22 -add china_ip_route 103.246.120.0/22 -add china_ip_route 103.246.124.0/22 -add china_ip_route 103.246.132.0/22 -add china_ip_route 103.246.152.0/22 -add china_ip_route 103.246.156.0/22 -add china_ip_route 103.247.168.0/22 -add china_ip_route 103.247.172.0/22 -add china_ip_route 103.247.176.0/22 -add china_ip_route 103.247.200.0/22 -add china_ip_route 103.247.212.0/22 -add china_ip_route 103.248.0.0/23 -add china_ip_route 103.248.64.0/22 -add china_ip_route 103.248.100.0/22 -add china_ip_route 103.248.124.0/22 -add china_ip_route 103.248.152.0/22 -add china_ip_route 103.248.168.0/22 -add china_ip_route 103.248.192.0/22 -add china_ip_route 103.248.212.0/22 -add china_ip_route 103.248.220.0/22 -add china_ip_route 103.248.224.0/22 -add china_ip_route 103.249.8.0/22 -add china_ip_route 103.249.12.0/22 -add china_ip_route 103.249.52.0/22 -add china_ip_route 103.249.104.0/22 -add china_ip_route 103.249.128.0/22 -add china_ip_route 103.249.136.0/22 -add china_ip_route 103.249.144.0/22 -add china_ip_route 103.249.164.0/22 -add china_ip_route 103.249.168.0/22 -add china_ip_route 103.249.172.0/22 -add china_ip_route 103.249.176.0/22 -add china_ip_route 103.249.188.0/22 -add china_ip_route 103.249.192.0/22 -add china_ip_route 103.249.244.0/22 -add china_ip_route 103.249.252.0/22 -add china_ip_route 103.250.32.0/22 -add china_ip_route 103.250.104.0/22 -add china_ip_route 103.250.124.0/22 -add china_ip_route 103.250.180.0/22 -add china_ip_route 103.250.192.0/22 -add china_ip_route 103.250.216.0/22 -add china_ip_route 103.250.224.0/22 -add china_ip_route 103.250.236.0/22 -add china_ip_route 103.250.248.0/22 -add china_ip_route 103.250.252.0/22 -add china_ip_route 103.251.32.0/22 -add china_ip_route 103.251.84.0/22 -add china_ip_route 103.251.96.0/22 -add china_ip_route 103.251.124.0/22 -add china_ip_route 103.251.128.0/22 -add china_ip_route 103.251.160.0/22 -add china_ip_route 103.251.192.0/22 -add china_ip_route 103.251.204.0/22 -add china_ip_route 103.251.240.0/22 -add china_ip_route 103.252.28.0/22 -add china_ip_route 103.252.36.0/22 -add china_ip_route 103.252.64.0/22 -add china_ip_route 103.252.96.0/22 -add china_ip_route 103.252.104.0/22 -add china_ip_route 103.252.172.0/22 -add china_ip_route 103.252.204.0/22 -add china_ip_route 103.252.208.0/22 -add china_ip_route 103.252.232.0/22 -add china_ip_route 103.252.248.0/22 -add china_ip_route 103.253.4.0/22 -add china_ip_route 103.253.60.0/22 -add china_ip_route 103.253.204.0/22 -add china_ip_route 103.253.220.0/22 -add china_ip_route 103.253.224.0/22 -add china_ip_route 103.253.232.0/22 -add china_ip_route 103.254.8.0/22 -add china_ip_route 103.254.20.0/22 -add china_ip_route 103.254.64.0/22 -add china_ip_route 103.254.68.0/22 -add china_ip_route 103.254.72.0/22 -add china_ip_route 103.254.76.0/22 -add china_ip_route 103.254.112.0/22 -add china_ip_route 103.254.176.0/22 -add china_ip_route 103.254.188.0/22 -add china_ip_route 103.254.196.0/24 -add china_ip_route 103.254.220.0/22 -add china_ip_route 103.255.56.0/22 -add china_ip_route 103.255.68.0/22 -add china_ip_route 103.255.88.0/22 -add china_ip_route 103.255.92.0/22 -add china_ip_route 103.255.136.0/22 -add china_ip_route 103.255.140.0/22 -add china_ip_route 103.255.184.0/22 -add china_ip_route 103.255.200.0/22 -add china_ip_route 103.255.212.0/22 -add china_ip_route 103.255.228.0/22 -add china_ip_route 106.0.0.0/24 -add china_ip_route 106.0.2.0/23 -add china_ip_route 106.0.4.0/22 -add china_ip_route 106.0.8.0/21 -add china_ip_route 106.0.16.0/20 -add china_ip_route 106.0.44.0/22 -add china_ip_route 106.0.64.0/18 -add china_ip_route 106.2.0.0/15 -add china_ip_route 106.4.0.0/14 -add china_ip_route 106.8.0.0/15 -add china_ip_route 106.11.0.0/16 -add china_ip_route 106.12.0.0/14 -add china_ip_route 106.16.0.0/12 -add china_ip_route 106.32.0.0/12 -add china_ip_route 106.48.0.0/15 -add china_ip_route 106.50.0.0/16 -add china_ip_route 106.52.0.0/14 -add china_ip_route 106.56.0.0/13 -add china_ip_route 106.74.0.0/16 -add china_ip_route 106.75.0.0/16 -add china_ip_route 106.80.0.0/12 -add china_ip_route 106.108.0.0/14 -add china_ip_route 106.112.0.0/13 -add china_ip_route 106.120.0.0/13 -add china_ip_route 106.224.0.0/12 -add china_ip_route 109.244.0.0/16 -add china_ip_route 110.6.0.0/15 -add china_ip_route 110.16.0.0/14 -add china_ip_route 110.34.40.0/22 -add china_ip_route 110.34.44.0/22 -add china_ip_route 110.40.0.0/14 -add china_ip_route 110.44.12.0/22 -add china_ip_route 110.44.144.0/20 -add china_ip_route 110.48.0.0/16 -add china_ip_route 110.51.0.0/16 -add china_ip_route 110.52.0.0/15 -add china_ip_route 110.56.0.0/13 -add china_ip_route 110.64.0.0/15 -add china_ip_route 110.72.0.0/15 -add china_ip_route 110.75.0.0/17 -add china_ip_route 110.75.128.0/19 -add china_ip_route 110.75.160.0/19 -add china_ip_route 110.75.192.0/18 -add china_ip_route 110.76.0.0/19 -add china_ip_route 110.76.32.0/19 -add china_ip_route 110.76.132.0/22 -add china_ip_route 110.76.156.0/22 -add china_ip_route 110.76.184.0/22 -add china_ip_route 110.76.192.0/18 -add china_ip_route 110.77.0.0/17 -add china_ip_route 110.80.0.0/13 -add china_ip_route 110.88.0.0/14 -add china_ip_route 110.92.68.0/22 -add china_ip_route 110.93.32.0/19 -add china_ip_route 110.94.0.0/15 -add china_ip_route 110.96.0.0/11 -add china_ip_route 110.152.0.0/14 -add china_ip_route 110.156.0.0/15 -add china_ip_route 110.165.32.0/19 -add china_ip_route 110.166.0.0/15 -add china_ip_route 110.172.192.0/18 -add china_ip_route 110.173.0.0/19 -add china_ip_route 110.173.32.0/20 -add china_ip_route 110.173.64.0/19 -add china_ip_route 110.173.96.0/19 -add china_ip_route 110.173.192.0/19 -add china_ip_route 110.176.0.0/13 -add china_ip_route 110.184.0.0/13 -add china_ip_route 110.192.0.0/11 -add china_ip_route 110.228.0.0/14 -add china_ip_route 110.232.32.0/19 -add china_ip_route 110.236.0.0/15 -add china_ip_route 110.240.0.0/12 -add china_ip_route 111.0.0.0/10 -add china_ip_route 111.66.0.0/16 -add china_ip_route 111.67.192.0/20 -add china_ip_route 111.68.64.0/19 -add china_ip_route 111.72.0.0/13 -add china_ip_route 111.85.0.0/16 -add china_ip_route 111.91.192.0/19 -add china_ip_route 111.92.248.0/22 -add china_ip_route 111.92.252.0/22 -add china_ip_route 111.112.0.0/15 -add china_ip_route 111.114.0.0/15 -add china_ip_route 111.116.0.0/15 -add china_ip_route 111.118.200.0/21 -add china_ip_route 111.119.64.0/18 -add china_ip_route 111.119.128.0/19 -add china_ip_route 111.120.0.0/14 -add china_ip_route 111.124.0.0/16 -add china_ip_route 111.126.0.0/15 -add china_ip_route 111.128.0.0/11 -add china_ip_route 111.160.0.0/13 -add china_ip_route 111.170.0.0/16 -add china_ip_route 111.172.0.0/14 -add china_ip_route 111.176.0.0/13 -add china_ip_route 111.186.0.0/15 -add china_ip_route 111.192.0.0/12 -add china_ip_route 111.208.0.0/14 -add china_ip_route 111.212.0.0/14 -add china_ip_route 111.221.28.0/24 -add china_ip_route 111.221.128.0/17 -add china_ip_route 111.222.0.0/16 -add china_ip_route 111.223.4.0/22 -add china_ip_route 111.223.8.0/22 -add china_ip_route 111.223.12.0/22 -add china_ip_route 111.223.16.0/22 -add china_ip_route 111.223.240.0/22 -add china_ip_route 111.223.248.0/22 -add china_ip_route 111.224.0.0/14 -add china_ip_route 111.228.0.0/14 -add china_ip_route 111.235.96.0/19 -add china_ip_route 111.235.156.0/22 -add china_ip_route 111.235.160.0/19 -add china_ip_route 112.0.0.0/10 -add china_ip_route 112.64.0.0/15 -add china_ip_route 112.66.0.0/15 -add china_ip_route 112.73.0.0/16 -add china_ip_route 112.74.0.0/15 -add china_ip_route 112.80.0.0/13 -add china_ip_route 112.88.0.0/13 -add china_ip_route 112.96.0.0/15 -add china_ip_route 112.98.0.0/15 -add china_ip_route 112.100.0.0/14 -add china_ip_route 112.109.128.0/17 -add china_ip_route 112.111.0.0/16 -add china_ip_route 112.112.0.0/14 -add china_ip_route 112.116.0.0/15 -add china_ip_route 112.122.0.0/15 -add china_ip_route 112.124.0.0/14 -add china_ip_route 112.128.0.0/14 -add china_ip_route 112.132.0.0/16 -add china_ip_route 112.137.48.0/21 -add china_ip_route 112.192.0.0/14 -add china_ip_route 112.224.0.0/11 -add china_ip_route 113.0.0.0/13 -add china_ip_route 113.8.0.0/15 -add china_ip_route 113.11.192.0/19 -add china_ip_route 113.12.0.0/14 -add china_ip_route 113.16.0.0/15 -add china_ip_route 113.18.0.0/16 -add china_ip_route 113.21.232.0/22 -add china_ip_route 113.21.236.0/22 -add china_ip_route 113.24.0.0/14 -add china_ip_route 113.31.0.0/16 -add china_ip_route 113.44.0.0/14 -add china_ip_route 113.48.0.0/14 -add china_ip_route 113.52.160.0/19 -add china_ip_route 113.52.228.0/22 -add china_ip_route 113.54.0.0/15 -add china_ip_route 113.56.0.0/15 -add china_ip_route 113.58.0.0/16 -add china_ip_route 113.59.0.0/17 -add china_ip_route 113.59.224.0/22 -add china_ip_route 113.62.0.0/15 -add china_ip_route 113.64.0.0/11 -add china_ip_route 113.96.0.0/12 -add china_ip_route 113.112.0.0/13 -add china_ip_route 113.120.0.0/13 -add china_ip_route 113.128.0.0/15 -add china_ip_route 113.130.96.0/20 -add china_ip_route 113.130.112.0/21 -add china_ip_route 113.132.0.0/14 -add china_ip_route 113.136.0.0/13 -add china_ip_route 113.194.0.0/15 -add china_ip_route 113.197.100.0/22 -add china_ip_route 113.200.0.0/15 -add china_ip_route 113.202.0.0/16 -add china_ip_route 113.204.0.0/14 -add china_ip_route 113.208.96.0/19 -add china_ip_route 113.208.128.0/17 -add china_ip_route 113.209.0.0/16 -add china_ip_route 113.212.0.0/18 -add china_ip_route 113.212.88.0/22 -add china_ip_route 113.212.100.0/22 -add china_ip_route 113.212.184.0/21 -add china_ip_route 113.213.0.0/17 -add china_ip_route 113.214.0.0/15 -add china_ip_route 113.218.0.0/15 -add china_ip_route 113.220.0.0/14 -add china_ip_route 113.224.0.0/12 -add china_ip_route 113.240.0.0/13 -add china_ip_route 113.248.0.0/14 -add china_ip_route 114.28.0.0/16 -add china_ip_route 114.31.64.0/22 -add china_ip_route 114.31.68.0/22 -add china_ip_route 114.54.0.0/15 -add china_ip_route 114.60.0.0/14 -add china_ip_route 114.64.0.0/14 -add china_ip_route 114.68.0.0/16 -add china_ip_route 114.79.64.0/18 -add china_ip_route 114.80.0.0/12 -add china_ip_route 114.96.0.0/13 -add china_ip_route 114.104.0.0/14 -add china_ip_route 114.110.0.0/20 -add china_ip_route 114.110.64.0/18 -add china_ip_route 114.111.0.0/19 -add china_ip_route 114.111.160.0/19 -add china_ip_route 114.112.0.0/14 -add china_ip_route 114.116.0.0/16 -add china_ip_route 114.117.0.0/17 -add china_ip_route 114.117.128.0/17 -add china_ip_route 114.118.0.0/16 -add china_ip_route 114.119.0.0/17 -add china_ip_route 114.119.192.0/21 -add china_ip_route 114.119.200.0/22 -add china_ip_route 114.119.204.0/22 -add china_ip_route 114.119.208.0/20 -add china_ip_route 114.119.224.0/19 -add china_ip_route 114.132.0.0/16 -add china_ip_route 114.135.0.0/16 -add china_ip_route 114.138.0.0/15 -add china_ip_route 114.141.64.0/21 -add china_ip_route 114.141.80.0/22 -add china_ip_route 114.141.84.0/22 -add china_ip_route 114.141.128.0/18 -add china_ip_route 114.196.0.0/15 -add china_ip_route 114.198.248.0/21 -add china_ip_route 114.208.0.0/14 -add china_ip_route 114.212.0.0/15 -add china_ip_route 114.214.0.0/16 -add china_ip_route 114.215.0.0/16 -add china_ip_route 114.216.0.0/13 -add china_ip_route 114.224.0.0/12 -add china_ip_route 114.240.0.0/12 -add china_ip_route 115.24.0.0/14 -add china_ip_route 115.28.0.0/15 -add china_ip_route 115.31.64.0/22 -add china_ip_route 115.31.68.0/22 -add china_ip_route 115.31.72.0/22 -add china_ip_route 115.31.76.0/22 -add china_ip_route 115.32.0.0/14 -add china_ip_route 115.42.56.0/22 -add china_ip_route 115.44.0.0/15 -add china_ip_route 115.46.0.0/16 -add china_ip_route 115.47.0.0/16 -add china_ip_route 115.48.0.0/12 -add china_ip_route 115.69.64.0/20 -add china_ip_route 115.84.0.0/18 -add china_ip_route 115.84.192.0/19 -add china_ip_route 115.85.192.0/18 -add china_ip_route 115.100.0.0/14 -add china_ip_route 115.104.0.0/14 -add china_ip_route 115.120.0.0/14 -add china_ip_route 115.124.16.0/20 -add china_ip_route 115.148.0.0/14 -add china_ip_route 115.152.0.0/15 -add china_ip_route 115.154.0.0/15 -add china_ip_route 115.156.0.0/15 -add china_ip_route 115.158.0.0/16 -add china_ip_route 115.159.0.0/16 -add china_ip_route 115.166.64.0/19 -add china_ip_route 115.168.0.0/14 -add china_ip_route 115.172.0.0/14 -add china_ip_route 115.180.0.0/15 -add china_ip_route 115.182.0.0/16 -add china_ip_route 115.183.0.0/16 -add china_ip_route 115.187.0.0/22 -add china_ip_route 115.187.4.0/22 -add china_ip_route 115.187.8.0/22 -add china_ip_route 115.187.12.0/22 -add china_ip_route 115.190.0.0/15 -add china_ip_route 115.192.0.0/11 -add china_ip_route 115.224.0.0/12 -add china_ip_route 116.0.8.0/21 -add china_ip_route 116.0.24.0/21 -add china_ip_route 116.1.0.0/16 -add china_ip_route 116.2.0.0/15 -add china_ip_route 116.4.0.0/14 -add china_ip_route 116.8.0.0/14 -add china_ip_route 116.13.0.0/16 -add china_ip_route 116.16.0.0/12 -add china_ip_route 116.50.0.0/20 -add china_ip_route 116.52.0.0/14 -add china_ip_route 116.56.0.0/15 -add china_ip_route 116.58.128.0/20 -add china_ip_route 116.58.208.0/20 -add china_ip_route 116.60.0.0/14 -add china_ip_route 116.66.0.0/17 -add china_ip_route 116.66.176.0/22 -add china_ip_route 116.68.136.0/22 -add china_ip_route 116.68.140.0/22 -add china_ip_route 116.68.176.0/22 -add china_ip_route 116.68.180.0/22 -add china_ip_route 116.69.0.0/16 -add china_ip_route 116.70.0.0/17 -add china_ip_route 116.76.0.0/15 -add china_ip_route 116.78.0.0/15 -add china_ip_route 116.85.0.0/16 -add china_ip_route 116.89.144.0/20 -add china_ip_route 116.89.240.0/22 -add china_ip_route 116.90.80.0/20 -add china_ip_route 116.90.184.0/21 -add china_ip_route 116.95.0.0/16 -add china_ip_route 116.112.0.0/14 -add china_ip_route 116.116.0.0/15 -add china_ip_route 116.128.0.0/10 -add china_ip_route 116.192.0.0/16 -add china_ip_route 116.193.16.0/20 -add china_ip_route 116.193.32.0/19 -add china_ip_route 116.193.152.0/22 -add china_ip_route 116.193.164.0/22 -add china_ip_route 116.193.176.0/21 -add china_ip_route 116.194.0.0/15 -add china_ip_route 116.196.0.0/16 -add china_ip_route 116.197.160.0/22 -add china_ip_route 116.197.164.0/22 -add china_ip_route 116.198.0.0/16 -add china_ip_route 116.199.0.0/17 -add china_ip_route 116.199.128.0/19 -add china_ip_route 116.204.0.0/17 -add china_ip_route 116.204.132.0/22 -add china_ip_route 116.204.168.0/22 -add china_ip_route 116.204.216.0/22 -add china_ip_route 116.204.232.0/22 -add china_ip_route 116.205.0.0/16 -add china_ip_route 116.206.92.0/22 -add china_ip_route 116.206.176.0/22 -add china_ip_route 116.207.0.0/16 -add china_ip_route 116.208.0.0/14 -add china_ip_route 116.212.160.0/20 -add china_ip_route 116.213.44.0/22 -add china_ip_route 116.213.64.0/18 -add china_ip_route 116.213.128.0/17 -add china_ip_route 116.214.32.0/19 -add china_ip_route 116.214.64.0/20 -add china_ip_route 116.214.128.0/17 -add china_ip_route 116.215.0.0/16 -add china_ip_route 116.216.0.0/14 -add china_ip_route 116.224.0.0/12 -add china_ip_route 116.242.0.0/15 -add china_ip_route 116.244.0.0/15 -add china_ip_route 116.246.0.0/15 -add china_ip_route 116.248.0.0/15 -add china_ip_route 116.251.64.0/18 -add china_ip_route 116.252.0.0/15 -add china_ip_route 116.254.104.0/22 -add china_ip_route 116.254.108.0/22 -add china_ip_route 116.254.128.0/17 -add china_ip_route 116.255.128.0/17 -add china_ip_route 117.8.0.0/13 -add china_ip_route 117.21.0.0/16 -add china_ip_route 117.22.0.0/15 -add china_ip_route 117.24.0.0/13 -add china_ip_route 117.32.0.0/13 -add china_ip_route 117.40.0.0/14 -add china_ip_route 117.44.0.0/15 -add china_ip_route 117.48.0.0/14 -add china_ip_route 117.53.48.0/20 -add china_ip_route 117.53.176.0/20 -add china_ip_route 117.57.0.0/16 -add china_ip_route 117.58.0.0/17 -add china_ip_route 117.59.0.0/16 -add china_ip_route 117.60.0.0/14 -add china_ip_route 117.64.0.0/13 -add china_ip_route 117.72.0.0/15 -add china_ip_route 117.74.64.0/20 -add china_ip_route 117.74.80.0/20 -add china_ip_route 117.74.128.0/17 -add china_ip_route 117.75.0.0/16 -add china_ip_route 117.76.0.0/14 -add china_ip_route 117.80.0.0/12 -add china_ip_route 117.100.0.0/15 -add china_ip_route 117.103.16.0/20 -add china_ip_route 117.103.40.0/21 -add china_ip_route 117.103.72.0/21 -add china_ip_route 117.103.128.0/20 -add china_ip_route 117.104.168.0/21 -add china_ip_route 117.106.0.0/15 -add china_ip_route 117.112.0.0/13 -add china_ip_route 117.120.64.0/18 -add china_ip_route 117.120.128.0/17 -add china_ip_route 117.121.0.0/17 -add china_ip_route 117.121.128.0/18 -add china_ip_route 117.121.192.0/21 -add china_ip_route 117.122.128.0/17 -add china_ip_route 117.124.0.0/14 -add china_ip_route 117.128.0.0/10 -add china_ip_route 118.24.0.0/15 -add china_ip_route 118.26.0.0/19 -add china_ip_route 118.26.32.0/22 -add china_ip_route 118.26.40.0/21 -add china_ip_route 118.26.48.0/21 -add china_ip_route 118.26.56.0/21 -add china_ip_route 118.26.64.0/19 -add china_ip_route 118.26.96.0/21 -add china_ip_route 118.26.112.0/21 -add china_ip_route 118.26.120.0/21 -add china_ip_route 118.26.128.0/17 -add china_ip_route 118.28.0.0/15 -add china_ip_route 118.30.0.0/16 -add china_ip_route 118.31.0.0/16 -add china_ip_route 118.64.0.0/15 -add china_ip_route 118.66.0.0/16 -add china_ip_route 118.67.112.0/20 -add china_ip_route 118.72.0.0/13 -add china_ip_route 118.80.0.0/15 -add china_ip_route 118.84.0.0/15 -add china_ip_route 118.88.32.0/19 -add china_ip_route 118.88.64.0/18 -add china_ip_route 118.88.128.0/17 -add china_ip_route 118.89.0.0/16 -add china_ip_route 118.91.240.0/20 -add china_ip_route 118.102.16.0/20 -add china_ip_route 118.102.32.0/21 -add china_ip_route 118.103.164.0/22 -add china_ip_route 118.103.168.0/22 -add china_ip_route 118.103.172.0/22 -add china_ip_route 118.103.176.0/22 -add china_ip_route 118.107.180.0/22 -add china_ip_route 118.112.0.0/13 -add china_ip_route 118.120.0.0/14 -add china_ip_route 118.124.0.0/15 -add china_ip_route 118.126.0.0/16 -add china_ip_route 118.127.128.0/19 -add china_ip_route 118.132.0.0/14 -add china_ip_route 118.144.0.0/14 -add china_ip_route 118.178.0.0/16 -add china_ip_route 118.180.0.0/14 -add china_ip_route 118.184.0.0/17 -add china_ip_route 118.184.128.0/17 -add china_ip_route 118.186.0.0/15 -add china_ip_route 118.188.0.0/16 -add china_ip_route 118.190.0.0/16 -add china_ip_route 118.191.0.0/21 -add china_ip_route 118.191.8.0/22 -add china_ip_route 118.191.12.0/24 -add china_ip_route 118.191.16.0/21 -add china_ip_route 118.191.64.0/20 -add china_ip_route 118.191.80.0/22 -add china_ip_route 118.191.128.0/19 -add china_ip_route 118.191.176.0/20 -add china_ip_route 118.191.192.0/20 -add china_ip_route 118.191.208.0/24 -add china_ip_route 118.191.216.0/22 -add china_ip_route 118.191.223.0/24 -add china_ip_route 118.191.224.0/24 -add china_ip_route 118.191.240.0/20 -add china_ip_route 118.192.0.0/16 -add china_ip_route 118.193.0.0/21 -add china_ip_route 118.193.8.0/21 -add china_ip_route 118.193.48.0/21 -add china_ip_route 118.193.96.0/19 -add china_ip_route 118.193.128.0/17 -add china_ip_route 118.194.0.0/17 -add china_ip_route 118.194.128.0/18 -add china_ip_route 118.194.192.0/19 -add china_ip_route 118.194.224.0/22 -add china_ip_route 118.194.240.0/21 -add china_ip_route 118.195.0.0/17 -add china_ip_route 118.195.128.0/17 -add china_ip_route 118.196.0.0/14 -add china_ip_route 118.202.0.0/15 -add china_ip_route 118.204.0.0/14 -add china_ip_route 118.212.0.0/16 -add china_ip_route 118.213.0.0/16 -add china_ip_route 118.215.192.0/18 -add china_ip_route 118.224.0.0/14 -add china_ip_route 118.228.0.0/15 -add china_ip_route 118.230.0.0/16 -add china_ip_route 118.239.0.0/16 -add china_ip_route 118.242.0.0/16 -add china_ip_route 118.244.0.0/14 -add china_ip_route 118.248.0.0/13 -add china_ip_route 119.0.0.0/15 -add china_ip_route 119.2.0.0/19 -add china_ip_route 119.2.128.0/17 -add china_ip_route 119.3.0.0/16 -add china_ip_route 119.4.0.0/14 -add china_ip_route 119.10.0.0/17 -add china_ip_route 119.15.136.0/21 -add china_ip_route 119.16.0.0/16 -add china_ip_route 119.18.192.0/20 -add china_ip_route 119.18.208.0/21 -add china_ip_route 119.18.224.0/20 -add china_ip_route 119.18.240.0/20 -add china_ip_route 119.19.0.0/16 -add china_ip_route 119.20.0.0/14 -add china_ip_route 119.27.64.0/18 -add china_ip_route 119.27.128.0/19 -add china_ip_route 119.27.160.0/19 -add china_ip_route 119.27.192.0/18 -add china_ip_route 119.28.0.0/15 -add china_ip_route 119.30.48.0/20 -add china_ip_route 119.31.192.0/19 -add china_ip_route 119.32.0.0/14 -add china_ip_route 119.36.0.0/16 -add china_ip_route 119.37.0.0/17 -add china_ip_route 119.37.128.0/18 -add china_ip_route 119.37.192.0/18 -add china_ip_route 119.38.0.0/17 -add china_ip_route 119.38.128.0/18 -add china_ip_route 119.38.192.0/20 -add china_ip_route 119.38.208.0/20 -add china_ip_route 119.38.224.0/19 -add china_ip_route 119.39.0.0/16 -add china_ip_route 119.40.0.0/18 -add china_ip_route 119.40.64.0/20 -add china_ip_route 119.40.128.0/17 -add china_ip_route 119.41.0.0/16 -add china_ip_route 119.42.0.0/19 -add china_ip_route 119.42.52.0/22 -add china_ip_route 119.42.128.0/21 -add china_ip_route 119.42.136.0/21 -add china_ip_route 119.42.224.0/19 -add china_ip_route 119.44.0.0/15 -add china_ip_route 119.48.0.0/13 -add china_ip_route 119.57.0.0/16 -add china_ip_route 119.58.0.0/16 -add china_ip_route 119.59.128.0/17 -add china_ip_route 119.60.0.0/16 -add china_ip_route 119.61.0.0/16 -add china_ip_route 119.62.0.0/16 -add china_ip_route 119.63.32.0/19 -add china_ip_route 119.75.208.0/20 -add china_ip_route 119.78.0.0/15 -add china_ip_route 119.80.0.0/16 -add china_ip_route 119.82.208.0/20 -add china_ip_route 119.84.0.0/14 -add china_ip_route 119.88.0.0/14 -add china_ip_route 119.96.0.0/13 -add china_ip_route 119.108.0.0/15 -add china_ip_route 119.112.0.0/13 -add china_ip_route 119.120.0.0/13 -add china_ip_route 119.128.0.0/12 -add china_ip_route 119.144.0.0/14 -add china_ip_route 119.148.160.0/20 -add china_ip_route 119.148.176.0/20 -add china_ip_route 119.151.192.0/18 -add china_ip_route 119.160.200.0/21 -add china_ip_route 119.161.120.0/22 -add china_ip_route 119.161.124.0/22 -add china_ip_route 119.161.128.0/17 -add china_ip_route 119.162.0.0/15 -add china_ip_route 119.164.0.0/14 -add china_ip_route 119.176.0.0/12 -add china_ip_route 119.232.0.0/15 -add china_ip_route 119.235.128.0/18 -add china_ip_route 119.248.0.0/14 -add china_ip_route 119.252.96.0/21 -add china_ip_route 119.252.240.0/20 -add china_ip_route 119.253.0.0/16 -add china_ip_route 119.254.0.0/15 -add china_ip_route 120.0.0.0/12 -add china_ip_route 120.24.0.0/14 -add china_ip_route 120.30.0.0/16 -add china_ip_route 120.31.0.0/16 -add china_ip_route 120.32.0.0/13 -add china_ip_route 120.40.0.0/14 -add china_ip_route 120.44.0.0/15 -add china_ip_route 120.46.0.0/16 -add china_ip_route 120.47.0.0/16 -add china_ip_route 120.48.0.0/15 -add china_ip_route 120.52.0.0/16 -add china_ip_route 120.53.0.0/16 -add china_ip_route 120.54.0.0/15 -add china_ip_route 120.64.0.0/14 -add china_ip_route 120.68.0.0/14 -add china_ip_route 120.72.32.0/19 -add china_ip_route 120.72.128.0/17 -add china_ip_route 120.76.0.0/14 -add china_ip_route 120.80.0.0/13 -add china_ip_route 120.88.8.0/21 -add china_ip_route 120.90.0.0/15 -add china_ip_route 120.92.0.0/16 -add china_ip_route 120.94.0.0/16 -add china_ip_route 120.95.0.0/16 -add china_ip_route 120.128.0.0/14 -add china_ip_route 120.132.0.0/17 -add china_ip_route 120.132.128.0/17 -add china_ip_route 120.133.0.0/16 -add china_ip_route 120.134.0.0/15 -add china_ip_route 120.136.16.0/22 -add china_ip_route 120.136.20.0/22 -add china_ip_route 120.136.128.0/18 -add china_ip_route 120.137.0.0/17 -add china_ip_route 120.143.128.0/19 -add china_ip_route 120.192.0.0/10 -add china_ip_route 121.0.8.0/21 -add china_ip_route 121.0.16.0/20 -add china_ip_route 121.4.0.0/15 -add china_ip_route 121.8.0.0/13 -add china_ip_route 121.16.0.0/13 -add china_ip_route 121.24.0.0/14 -add china_ip_route 121.28.0.0/15 -add china_ip_route 121.30.0.0/16 -add china_ip_route 121.31.0.0/16 -add china_ip_route 121.32.0.0/14 -add china_ip_route 121.36.0.0/16 -add china_ip_route 121.37.0.0/16 -add china_ip_route 121.38.0.0/15 -add china_ip_route 121.40.0.0/14 -add china_ip_route 121.46.0.0/18 -add china_ip_route 121.46.76.0/22 -add china_ip_route 121.46.128.0/17 -add china_ip_route 121.47.0.0/16 -add china_ip_route 121.48.0.0/15 -add china_ip_route 121.50.8.0/21 -add china_ip_route 121.51.0.0/16 -add china_ip_route 121.52.160.0/19 -add china_ip_route 121.52.208.0/20 -add china_ip_route 121.52.224.0/19 -add china_ip_route 121.54.176.0/21 -add china_ip_route 121.54.188.0/22 -add china_ip_route 121.55.0.0/18 -add china_ip_route 121.56.0.0/15 -add china_ip_route 121.58.0.0/17 -add china_ip_route 121.58.136.0/21 -add china_ip_route 121.58.144.0/20 -add china_ip_route 121.58.160.0/21 -add china_ip_route 121.59.0.0/16 -add china_ip_route 121.60.0.0/14 -add china_ip_route 121.68.0.0/14 -add china_ip_route 121.76.0.0/15 -add china_ip_route 121.79.128.0/18 -add china_ip_route 121.89.0.0/16 -add china_ip_route 121.100.128.0/17 -add china_ip_route 121.101.0.0/18 -add china_ip_route 121.101.208.0/20 -add china_ip_route 121.192.0.0/16 -add china_ip_route 121.193.0.0/16 -add china_ip_route 121.194.0.0/15 -add china_ip_route 121.196.0.0/14 -add china_ip_route 121.200.192.0/21 -add china_ip_route 121.201.0.0/16 -add china_ip_route 121.204.0.0/14 -add china_ip_route 121.224.0.0/12 -add china_ip_route 121.248.0.0/14 -add china_ip_route 121.255.0.0/16 -add china_ip_route 122.0.64.0/18 -add china_ip_route 122.0.128.0/17 -add china_ip_route 122.4.0.0/14 -add china_ip_route 122.8.0.0/16 -add china_ip_route 122.9.0.0/16 -add china_ip_route 122.10.128.0/22 -add china_ip_route 122.10.132.0/23 -add china_ip_route 122.10.136.0/23 -add china_ip_route 122.10.164.0/22 -add china_ip_route 122.10.168.0/21 -add china_ip_route 122.10.176.0/20 -add china_ip_route 122.10.192.0/22 -add china_ip_route 122.10.200.0/21 -add china_ip_route 122.10.208.0/21 -add china_ip_route 122.10.216.0/22 -add china_ip_route 122.10.228.0/22 -add china_ip_route 122.10.232.0/21 -add china_ip_route 122.10.240.0/22 -add china_ip_route 122.11.0.0/17 -add china_ip_route 122.12.0.0/16 -add china_ip_route 122.13.0.0/16 -add china_ip_route 122.14.0.0/17 -add china_ip_route 122.14.128.0/18 -add china_ip_route 122.14.192.0/18 -add china_ip_route 122.48.0.0/16 -add china_ip_route 122.49.0.0/18 -add china_ip_route 122.51.0.0/16 -add china_ip_route 122.64.0.0/11 -add china_ip_route 122.96.0.0/15 -add china_ip_route 122.102.0.0/20 -add china_ip_route 122.102.64.0/20 -add china_ip_route 122.102.80.0/20 -add china_ip_route 122.112.0.0/18 -add china_ip_route 122.112.64.0/18 -add china_ip_route 122.112.128.0/17 -add china_ip_route 122.113.0.0/16 -add china_ip_route 122.114.0.0/16 -add china_ip_route 122.115.0.0/17 -add china_ip_route 122.115.128.0/19 -add china_ip_route 122.115.160.0/19 -add china_ip_route 122.115.192.0/19 -add china_ip_route 122.115.224.0/19 -add china_ip_route 122.119.0.0/16 -add china_ip_route 122.128.100.0/22 -add china_ip_route 122.128.120.0/21 -add china_ip_route 122.136.0.0/13 -add china_ip_route 122.144.128.0/17 -add china_ip_route 122.152.192.0/18 -add china_ip_route 122.156.0.0/14 -add china_ip_route 122.188.0.0/14 -add china_ip_route 122.192.0.0/14 -add china_ip_route 122.198.0.0/16 -add china_ip_route 122.200.40.0/22 -add china_ip_route 122.200.44.0/22 -add china_ip_route 122.200.64.0/18 -add china_ip_route 122.201.48.0/20 -add china_ip_route 122.204.0.0/14 -add china_ip_route 122.224.0.0/12 -add china_ip_route 122.240.0.0/13 -add china_ip_route 122.248.24.0/21 -add china_ip_route 122.248.48.0/20 -add china_ip_route 122.255.64.0/21 -add china_ip_route 123.0.128.0/18 -add china_ip_route 123.4.0.0/14 -add china_ip_route 123.8.0.0/13 -add china_ip_route 123.49.128.0/17 -add china_ip_route 123.50.160.0/19 -add china_ip_route 123.52.0.0/14 -add china_ip_route 123.56.0.0/15 -add china_ip_route 123.58.0.0/20 -add china_ip_route 123.58.16.0/20 -add china_ip_route 123.58.32.0/19 -add china_ip_route 123.58.64.0/19 -add china_ip_route 123.58.96.0/19 -add china_ip_route 123.58.128.0/18 -add china_ip_route 123.58.224.0/20 -add china_ip_route 123.58.240.0/20 -add china_ip_route 123.59.0.0/16 -add china_ip_route 123.60.0.0/16 -add china_ip_route 123.61.0.0/16 -add china_ip_route 123.62.0.0/16 -add china_ip_route 123.64.0.0/11 -add china_ip_route 123.96.0.0/15 -add china_ip_route 123.98.0.0/17 -add china_ip_route 123.99.128.0/17 -add china_ip_route 123.100.0.0/19 -add china_ip_route 123.101.0.0/16 -add china_ip_route 123.103.0.0/17 -add china_ip_route 123.108.128.0/20 -add china_ip_route 123.108.208.0/20 -add china_ip_route 123.112.0.0/12 -add china_ip_route 123.128.0.0/13 -add china_ip_route 123.136.80.0/20 -add china_ip_route 123.137.0.0/16 -add china_ip_route 123.138.0.0/15 -add china_ip_route 123.144.0.0/14 -add china_ip_route 123.148.0.0/16 -add china_ip_route 123.149.0.0/16 -add china_ip_route 123.150.0.0/15 -add china_ip_route 123.152.0.0/13 -add china_ip_route 123.160.0.0/14 -add china_ip_route 123.164.0.0/14 -add china_ip_route 123.168.0.0/14 -add china_ip_route 123.172.0.0/15 -add china_ip_route 123.174.0.0/15 -add china_ip_route 123.176.60.0/22 -add china_ip_route 123.176.80.0/20 -add china_ip_route 123.177.0.0/16 -add china_ip_route 123.178.0.0/15 -add china_ip_route 123.180.0.0/14 -add china_ip_route 123.184.0.0/14 -add china_ip_route 123.188.0.0/14 -add china_ip_route 123.196.0.0/15 -add china_ip_route 123.199.128.0/17 -add china_ip_route 123.206.0.0/15 -add china_ip_route 123.232.0.0/14 -add china_ip_route 123.242.0.0/17 -add china_ip_route 123.242.192.0/22 -add china_ip_route 123.242.196.0/22 -add china_ip_route 123.244.0.0/14 -add china_ip_route 123.249.0.0/16 -add china_ip_route 123.253.108.0/22 -add china_ip_route 123.253.240.0/22 -add china_ip_route 123.254.96.0/22 -add china_ip_route 123.254.100.0/22 -add china_ip_route 124.6.64.0/18 -add china_ip_route 124.14.0.0/15 -add china_ip_route 124.16.0.0/15 -add china_ip_route 124.20.0.0/16 -add china_ip_route 124.21.0.0/20 -add china_ip_route 124.21.16.0/20 -add china_ip_route 124.21.32.0/19 -add china_ip_route 124.21.64.0/18 -add china_ip_route 124.21.128.0/17 -add china_ip_route 124.22.0.0/15 -add china_ip_route 124.28.192.0/18 -add china_ip_route 124.29.0.0/17 -add china_ip_route 124.31.0.0/16 -add china_ip_route 124.40.112.0/20 -add china_ip_route 124.40.128.0/18 -add china_ip_route 124.40.192.0/19 -add china_ip_route 124.40.240.0/22 -add china_ip_route 124.42.0.0/17 -add china_ip_route 124.42.128.0/17 -add china_ip_route 124.47.0.0/18 -add china_ip_route 124.64.0.0/15 -add china_ip_route 124.66.0.0/17 -add china_ip_route 124.67.0.0/16 -add china_ip_route 124.68.0.0/14 -add china_ip_route 124.72.0.0/16 -add china_ip_route 124.73.0.0/16 -add china_ip_route 124.74.0.0/15 -add china_ip_route 124.76.0.0/14 -add china_ip_route 124.88.0.0/16 -add china_ip_route 124.89.0.0/17 -add china_ip_route 124.89.128.0/17 -add china_ip_route 124.90.0.0/15 -add china_ip_route 124.92.0.0/14 -add china_ip_route 124.108.8.0/21 -add china_ip_route 124.108.40.0/21 -add china_ip_route 124.109.96.0/21 -add china_ip_route 124.112.0.0/15 -add china_ip_route 124.114.0.0/15 -add china_ip_route 124.116.0.0/16 -add china_ip_route 124.117.0.0/16 -add china_ip_route 124.118.0.0/15 -add china_ip_route 124.126.0.0/15 -add china_ip_route 124.128.0.0/13 -add china_ip_route 124.147.128.0/17 -add china_ip_route 124.150.137.0/24 -add china_ip_route 124.151.0.0/16 -add china_ip_route 124.152.0.0/16 -add china_ip_route 124.160.0.0/16 -add china_ip_route 124.161.0.0/16 -add china_ip_route 124.162.0.0/16 -add china_ip_route 124.163.0.0/16 -add china_ip_route 124.164.0.0/14 -add china_ip_route 124.172.0.0/15 -add china_ip_route 124.174.0.0/15 -add china_ip_route 124.192.0.0/15 -add china_ip_route 124.196.0.0/16 -add china_ip_route 124.200.0.0/13 -add china_ip_route 124.220.0.0/14 -add china_ip_route 124.224.0.0/16 -add china_ip_route 124.225.0.0/16 -add china_ip_route 124.226.0.0/15 -add china_ip_route 124.228.0.0/14 -add china_ip_route 124.232.0.0/15 -add china_ip_route 124.234.0.0/15 -add china_ip_route 124.236.0.0/14 -add china_ip_route 124.240.0.0/17 -add china_ip_route 124.240.128.0/18 -add china_ip_route 124.242.0.0/16 -add china_ip_route 124.243.192.0/18 -add china_ip_route 124.248.0.0/17 -add china_ip_route 124.249.0.0/16 -add china_ip_route 124.250.0.0/15 -add china_ip_route 124.254.0.0/18 -add china_ip_route 125.31.192.0/18 -add china_ip_route 125.32.0.0/16 -add china_ip_route 125.33.0.0/16 -add china_ip_route 125.34.0.0/16 -add china_ip_route 125.35.0.0/17 -add china_ip_route 125.35.128.0/17 -add china_ip_route 125.36.0.0/14 -add china_ip_route 125.40.0.0/13 -add china_ip_route 125.58.128.0/17 -add china_ip_route 125.61.128.0/17 -add china_ip_route 125.62.0.0/18 -add china_ip_route 125.64.0.0/13 -add china_ip_route 125.72.0.0/16 -add china_ip_route 125.73.0.0/16 -add china_ip_route 125.74.0.0/15 -add china_ip_route 125.76.0.0/17 -add china_ip_route 125.76.128.0/17 -add china_ip_route 125.77.0.0/16 -add china_ip_route 125.78.0.0/15 -add china_ip_route 125.80.0.0/13 -add china_ip_route 125.88.0.0/13 -add china_ip_route 125.96.0.0/15 -add china_ip_route 125.98.0.0/16 -add china_ip_route 125.104.0.0/13 -add china_ip_route 125.112.0.0/12 -add china_ip_route 125.169.0.0/16 -add china_ip_route 125.171.0.0/16 -add china_ip_route 125.208.0.0/18 -add china_ip_route 125.210.0.0/16 -add china_ip_route 125.211.0.0/16 -add china_ip_route 125.213.0.0/17 -add china_ip_route 125.214.96.0/19 -add china_ip_route 125.215.0.0/18 -add china_ip_route 125.216.0.0/15 -add china_ip_route 125.218.0.0/16 -add china_ip_route 125.219.0.0/16 -add china_ip_route 125.220.0.0/15 -add china_ip_route 125.222.0.0/15 -add china_ip_route 125.254.128.0/18 -add china_ip_route 125.254.192.0/18 -add china_ip_route 128.108.0.0/16 -add china_ip_route 129.28.0.0/16 -add china_ip_route 129.204.0.0/16 -add china_ip_route 129.211.0.0/16 -add china_ip_route 132.232.0.0/16 -add china_ip_route 134.175.0.0/16 -add china_ip_route 137.59.59.0/24 -add china_ip_route 137.59.88.0/22 -add china_ip_route 139.5.56.0/22 -add china_ip_route 139.5.60.0/22 -add china_ip_route 139.5.80.0/22 -add china_ip_route 139.5.92.0/22 -add china_ip_route 139.5.108.0/22 -add china_ip_route 139.5.128.0/22 -add china_ip_route 139.5.160.0/22 -add china_ip_route 139.5.192.0/22 -add china_ip_route 139.5.204.0/22 -add china_ip_route 139.5.208.0/22 -add china_ip_route 139.5.212.0/22 -add china_ip_route 139.5.244.0/22 -add china_ip_route 139.9.0.0/16 -add china_ip_route 139.129.0.0/16 -add china_ip_route 139.148.0.0/16 -add china_ip_route 139.155.0.0/16 -add china_ip_route 139.159.0.0/16 -add china_ip_route 139.170.0.0/16 -add china_ip_route 139.176.0.0/16 -add china_ip_route 139.183.0.0/16 -add china_ip_route 139.186.0.0/16 -add china_ip_route 139.189.0.0/16 -add china_ip_route 139.196.0.0/14 -add china_ip_route 139.200.0.0/13 -add china_ip_route 139.208.0.0/13 -add china_ip_route 139.217.0.0/16 -add china_ip_route 139.219.0.0/16 -add china_ip_route 139.220.0.0/15 -add china_ip_route 139.224.0.0/16 -add china_ip_route 139.226.0.0/15 -add china_ip_route 140.75.0.0/16 -add china_ip_route 140.143.0.0/16 -add china_ip_route 140.179.0.0/16 -add china_ip_route 140.205.0.0/16 -add china_ip_route 140.206.0.0/15 -add china_ip_route 140.210.0.0/16 -add china_ip_route 140.224.0.0/16 -add china_ip_route 140.237.0.0/16 -add china_ip_route 140.240.0.0/16 -add china_ip_route 140.243.0.0/16 -add china_ip_route 140.246.0.0/16 -add china_ip_route 140.249.0.0/16 -add china_ip_route 140.250.0.0/16 -add china_ip_route 140.255.0.0/16 -add china_ip_route 142.70.0.0/16 -add china_ip_route 142.86.0.0/16 -add china_ip_route 144.0.0.0/16 -add china_ip_route 144.7.0.0/16 -add china_ip_route 144.12.0.0/16 -add china_ip_route 144.48.8.0/22 -add china_ip_route 144.48.64.0/22 -add china_ip_route 144.48.88.0/22 -add china_ip_route 144.48.156.0/22 -add china_ip_route 144.48.180.0/22 -add china_ip_route 144.48.184.0/22 -add china_ip_route 144.48.204.0/22 -add china_ip_route 144.48.208.0/22 -add china_ip_route 144.48.212.0/22 -add china_ip_route 144.48.220.0/22 -add china_ip_route 144.48.252.0/22 -add china_ip_route 144.52.0.0/16 -add china_ip_route 144.123.0.0/16 -add china_ip_route 144.255.0.0/16 -add china_ip_route 146.56.192.0/18 -add china_ip_route 146.196.56.0/22 -add china_ip_route 146.196.68.0/22 -add china_ip_route 146.196.72.0/22 -add china_ip_route 146.196.92.0/22 -add china_ip_route 146.196.112.0/22 -add china_ip_route 146.196.116.0/22 -add china_ip_route 146.196.124.0/22 -add china_ip_route 148.70.0.0/16 -add china_ip_route 149.41.0.0/16 -add china_ip_route 150.0.0.0/16 -add china_ip_route 150.115.0.0/16 -add china_ip_route 150.121.0.0/16 -add china_ip_route 150.122.0.0/16 -add china_ip_route 150.129.136.0/22 -add china_ip_route 150.129.192.0/22 -add china_ip_route 150.129.216.0/22 -add china_ip_route 150.129.252.0/22 -add china_ip_route 150.138.0.0/15 -add china_ip_route 150.158.0.0/16 -add china_ip_route 150.223.0.0/16 -add china_ip_route 150.242.0.0/22 -add china_ip_route 150.242.4.0/22 -add china_ip_route 150.242.8.0/22 -add china_ip_route 150.242.28.0/22 -add china_ip_route 150.242.44.0/22 -add china_ip_route 150.242.48.0/22 -add china_ip_route 150.242.52.0/22 -add china_ip_route 150.242.56.0/22 -add china_ip_route 150.242.76.0/22 -add china_ip_route 150.242.80.0/22 -add china_ip_route 150.242.92.0/22 -add china_ip_route 150.242.96.0/22 -add china_ip_route 150.242.112.0/22 -add china_ip_route 150.242.116.0/22 -add china_ip_route 150.242.120.0/22 -add china_ip_route 150.242.152.0/22 -add china_ip_route 150.242.156.0/22 -add china_ip_route 150.242.160.0/22 -add china_ip_route 150.242.164.0/22 -add china_ip_route 150.242.168.0/22 -add china_ip_route 150.242.184.0/22 -add china_ip_route 150.242.188.0/22 -add china_ip_route 150.242.192.0/22 -add china_ip_route 150.242.212.0/22 -add china_ip_route 150.242.224.0/22 -add china_ip_route 150.242.232.0/22 -add china_ip_route 150.242.236.0/22 -add china_ip_route 150.242.240.0/22 -add china_ip_route 150.242.244.0/22 -add china_ip_route 150.242.248.0/22 -add china_ip_route 150.248.0.0/16 -add china_ip_route 150.255.0.0/16 -add china_ip_route 152.104.128.0/17 -add china_ip_route 152.136.0.0/16 -add china_ip_route 153.0.0.0/16 -add china_ip_route 153.3.0.0/16 -add china_ip_route 153.34.0.0/15 -add china_ip_route 153.36.0.0/15 -add china_ip_route 153.99.0.0/16 -add china_ip_route 153.101.0.0/16 -add china_ip_route 153.118.0.0/15 -add china_ip_route 154.8.128.0/17 -add china_ip_route 156.59.0.0/16 -add china_ip_route 157.0.0.0/16 -add china_ip_route 157.18.0.0/16 -add china_ip_route 157.61.0.0/16 -add china_ip_route 157.119.0.0/22 -add china_ip_route 157.119.8.0/22 -add china_ip_route 157.119.12.0/22 -add china_ip_route 157.119.16.0/22 -add china_ip_route 157.119.28.0/22 -add china_ip_route 157.119.132.0/22 -add china_ip_route 157.119.136.0/22 -add china_ip_route 157.119.140.0/22 -add china_ip_route 157.119.144.0/22 -add china_ip_route 157.119.148.0/22 -add china_ip_route 157.119.152.0/22 -add china_ip_route 157.119.156.0/22 -add china_ip_route 157.119.160.0/22 -add china_ip_route 157.119.164.0/22 -add china_ip_route 157.119.172.0/22 -add china_ip_route 157.119.192.0/22 -add china_ip_route 157.119.196.0/22 -add china_ip_route 157.119.240.0/22 -add china_ip_route 157.119.252.0/22 -add china_ip_route 157.122.0.0/16 -add china_ip_route 157.148.0.0/16 -add china_ip_route 157.156.0.0/16 -add china_ip_route 157.255.0.0/16 -add china_ip_route 158.79.0.0/16 -add china_ip_route 159.75.0.0/16 -add china_ip_route 159.226.0.0/16 -add china_ip_route 160.19.208.0/22 -add china_ip_route 160.19.212.0/22 -add china_ip_route 160.19.216.0/22 -add china_ip_route 160.20.48.0/22 -add china_ip_route 160.202.60.0/22 -add china_ip_route 160.202.148.0/22 -add china_ip_route 160.202.152.0/22 -add china_ip_route 160.202.168.0/22 -add china_ip_route 160.202.212.0/22 -add china_ip_route 160.202.216.0/22 -add china_ip_route 160.202.220.0/22 -add china_ip_route 160.202.224.0/22 -add china_ip_route 160.202.228.0/22 -add china_ip_route 160.202.232.0/22 -add china_ip_route 160.202.236.0/22 -add china_ip_route 160.202.240.0/22 -add china_ip_route 160.202.244.0/22 -add china_ip_route 160.202.248.0/22 -add china_ip_route 160.202.252.0/22 -add china_ip_route 160.238.64.0/22 -add china_ip_route 161.120.0.0/16 -add china_ip_route 161.189.0.0/16 -add china_ip_route 161.207.0.0/16 -add china_ip_route 162.14.0.0/16 -add china_ip_route 162.105.0.0/16 -add china_ip_route 163.0.0.0/16 -add china_ip_route 163.47.4.0/22 -add china_ip_route 163.53.0.0/22 -add china_ip_route 163.53.4.0/22 -add china_ip_route 163.53.8.0/22 -add china_ip_route 163.53.12.0/22 -add china_ip_route 163.53.36.0/22 -add china_ip_route 163.53.40.0/22 -add china_ip_route 163.53.44.0/22 -add china_ip_route 163.53.48.0/22 -add china_ip_route 163.53.52.0/22 -add china_ip_route 163.53.56.0/22 -add china_ip_route 163.53.60.0/22 -add china_ip_route 163.53.64.0/22 -add china_ip_route 163.53.88.0/22 -add china_ip_route 163.53.92.0/22 -add china_ip_route 163.53.96.0/22 -add china_ip_route 163.53.100.0/22 -add china_ip_route 163.53.104.0/22 -add china_ip_route 163.53.108.0/22 -add china_ip_route 163.53.112.0/22 -add china_ip_route 163.53.116.0/22 -add china_ip_route 163.53.120.0/22 -add china_ip_route 163.53.124.0/22 -add china_ip_route 163.53.128.0/22 -add china_ip_route 163.53.132.0/22 -add china_ip_route 163.53.136.0/22 -add china_ip_route 163.53.160.0/22 -add china_ip_route 163.53.164.0/22 -add china_ip_route 163.53.168.0/22 -add china_ip_route 163.53.172.0/22 -add china_ip_route 163.53.188.0/22 -add china_ip_route 163.53.220.0/22 -add china_ip_route 163.53.240.0/22 -add china_ip_route 163.125.0.0/16 -add china_ip_route 163.142.0.0/16 -add china_ip_route 163.177.0.0/16 -add china_ip_route 163.179.0.0/16 -add china_ip_route 163.204.0.0/16 -add china_ip_route 164.52.0.0/17 -add china_ip_route 166.111.0.0/16 -add china_ip_route 167.139.0.0/16 -add china_ip_route 167.189.0.0/16 -add china_ip_route 167.220.244.0/22 -add china_ip_route 168.160.0.0/16 -add china_ip_route 170.179.0.0/16 -add china_ip_route 171.8.0.0/13 -add china_ip_route 171.34.0.0/15 -add china_ip_route 171.36.0.0/14 -add china_ip_route 171.40.0.0/13 -add china_ip_route 171.80.0.0/14 -add china_ip_route 171.84.0.0/14 -add china_ip_route 171.88.0.0/13 -add china_ip_route 171.104.0.0/13 -add china_ip_route 171.112.0.0/14 -add china_ip_route 171.116.0.0/14 -add china_ip_route 171.120.0.0/13 -add china_ip_route 171.208.0.0/12 -add china_ip_route 172.81.192.0/18 -add china_ip_route 175.0.0.0/12 -add china_ip_route 175.16.0.0/13 -add china_ip_route 175.24.0.0/16 -add china_ip_route 175.25.0.0/16 -add china_ip_route 175.26.0.0/16 -add china_ip_route 175.27.0.0/16 -add china_ip_route 175.30.0.0/15 -add china_ip_route 175.42.0.0/15 -add china_ip_route 175.44.0.0/16 -add china_ip_route 175.46.0.0/15 -add china_ip_route 175.48.0.0/12 -add china_ip_route 175.64.0.0/11 -add china_ip_route 175.102.0.0/16 -add china_ip_route 175.106.128.0/17 -add china_ip_route 175.111.144.0/22 -add china_ip_route 175.111.148.0/22 -add china_ip_route 175.111.152.0/22 -add china_ip_route 175.111.156.0/22 -add china_ip_route 175.111.160.0/22 -add china_ip_route 175.111.164.0/22 -add china_ip_route 175.111.168.0/22 -add china_ip_route 175.111.172.0/22 -add china_ip_route 175.111.184.0/22 -add china_ip_route 175.146.0.0/15 -add china_ip_route 175.148.0.0/14 -add china_ip_route 175.152.0.0/14 -add china_ip_route 175.158.96.0/22 -add china_ip_route 175.160.0.0/12 -add china_ip_route 175.176.156.0/22 -add china_ip_route 175.176.176.0/22 -add china_ip_route 175.176.188.0/22 -add china_ip_route 175.176.192.0/22 -add china_ip_route 175.178.0.0/16 -add china_ip_route 175.184.128.0/18 -add china_ip_route 175.185.0.0/16 -add china_ip_route 175.186.0.0/15 -add china_ip_route 175.188.0.0/14 -add china_ip_route 180.76.0.0/16 -add china_ip_route 180.77.0.0/16 -add china_ip_route 180.78.0.0/15 -add china_ip_route 180.84.0.0/15 -add china_ip_route 180.86.0.0/16 -add china_ip_route 180.88.0.0/14 -add china_ip_route 180.94.56.0/21 -add china_ip_route 180.94.96.0/20 -add china_ip_route 180.94.120.0/22 -add china_ip_route 180.94.124.0/22 -add china_ip_route 180.95.128.0/17 -add china_ip_route 180.96.0.0/11 -add china_ip_route 180.129.128.0/17 -add china_ip_route 180.130.0.0/16 -add china_ip_route 180.136.0.0/13 -add china_ip_route 180.148.16.0/21 -add china_ip_route 180.148.152.0/21 -add china_ip_route 180.148.216.0/21 -add china_ip_route 180.148.224.0/19 -add china_ip_route 180.149.128.0/19 -add china_ip_route 180.149.236.0/22 -add china_ip_route 180.150.160.0/19 -add china_ip_route 180.152.0.0/13 -add china_ip_route 180.160.0.0/12 -add china_ip_route 180.178.112.0/22 -add china_ip_route 180.178.116.0/22 -add china_ip_route 180.178.192.0/18 -add china_ip_route 180.184.0.0/15 -add china_ip_route 180.186.0.0/16 -add china_ip_route 180.187.0.0/16 -add china_ip_route 180.188.0.0/17 -add china_ip_route 180.189.148.0/22 -add china_ip_route 180.200.252.0/22 -add china_ip_route 180.201.0.0/16 -add china_ip_route 180.202.0.0/15 -add china_ip_route 180.208.0.0/15 -add china_ip_route 180.210.212.0/22 -add china_ip_route 180.210.224.0/19 -add china_ip_route 180.212.0.0/15 -add china_ip_route 180.222.224.0/19 -add china_ip_route 180.223.0.0/16 -add china_ip_route 180.233.0.0/18 -add china_ip_route 180.233.64.0/19 -add china_ip_route 180.233.144.0/22 -add china_ip_route 180.235.64.0/19 -add china_ip_route 180.235.112.0/22 -add china_ip_route 182.16.144.0/22 -add china_ip_route 182.16.148.0/22 -add china_ip_route 182.16.192.0/19 -add china_ip_route 182.18.0.0/17 -add china_ip_route 182.23.184.0/21 -add china_ip_route 182.23.200.0/21 -add china_ip_route 182.32.0.0/12 -add china_ip_route 182.48.96.0/19 -add china_ip_route 182.49.0.0/16 -add china_ip_route 182.50.0.0/20 -add china_ip_route 182.50.112.0/20 -add china_ip_route 182.51.0.0/16 -add china_ip_route 182.54.0.0/17 -add china_ip_route 182.54.244.0/22 -add china_ip_route 182.61.0.0/16 -add china_ip_route 182.80.0.0/14 -add china_ip_route 182.84.0.0/14 -add china_ip_route 182.88.0.0/14 -add china_ip_route 182.92.0.0/16 -add china_ip_route 182.96.0.0/12 -add china_ip_route 182.112.0.0/12 -add china_ip_route 182.128.0.0/12 -add china_ip_route 182.144.0.0/13 -add china_ip_route 182.157.0.0/16 -add china_ip_route 182.160.64.0/19 -add china_ip_route 182.174.0.0/15 -add china_ip_route 182.200.0.0/13 -add china_ip_route 182.236.128.0/17 -add china_ip_route 182.237.24.0/22 -add china_ip_route 182.237.28.0/22 -add china_ip_route 182.238.0.0/16 -add china_ip_route 182.239.0.0/19 -add china_ip_route 182.240.0.0/13 -add china_ip_route 182.254.0.0/16 -add china_ip_route 182.255.32.0/22 -add china_ip_route 182.255.36.0/22 -add china_ip_route 182.255.60.0/22 -add china_ip_route 183.0.0.0/10 -add china_ip_route 183.64.0.0/13 -add china_ip_route 183.78.160.0/22 -add china_ip_route 183.78.164.0/22 -add china_ip_route 183.78.180.0/22 -add china_ip_route 183.81.172.0/22 -add china_ip_route 183.81.180.0/22 -add china_ip_route 183.84.0.0/15 -add china_ip_route 183.91.128.0/22 -add china_ip_route 183.91.136.0/21 -add china_ip_route 183.91.144.0/20 -add china_ip_route 183.92.0.0/14 -add china_ip_route 183.128.0.0/11 -add china_ip_route 183.160.0.0/13 -add china_ip_route 183.168.0.0/15 -add china_ip_route 183.170.0.0/16 -add china_ip_route 183.172.0.0/14 -add china_ip_route 183.182.0.0/19 -add china_ip_route 183.184.0.0/13 -add china_ip_route 183.192.0.0/10 -add china_ip_route 185.203.36.0/22 -add china_ip_route 188.131.128.0/17 -add china_ip_route 192.51.188.0/24 -add china_ip_route 192.55.46.0/24 -add china_ip_route 192.55.68.0/22 -add china_ip_route 192.102.204.0/23 -add china_ip_route 192.124.154.0/24 -add china_ip_route 192.140.128.0/22 -add china_ip_route 192.140.132.0/22 -add china_ip_route 192.140.136.0/22 -add china_ip_route 192.140.156.0/22 -add china_ip_route 192.140.160.0/22 -add china_ip_route 192.140.164.0/22 -add china_ip_route 192.140.168.0/22 -add china_ip_route 192.140.172.0/22 -add china_ip_route 192.140.176.0/22 -add china_ip_route 192.140.180.0/22 -add china_ip_route 192.140.184.0/22 -add china_ip_route 192.140.188.0/22 -add china_ip_route 192.140.192.0/22 -add china_ip_route 192.140.196.0/22 -add china_ip_route 192.140.200.0/22 -add china_ip_route 192.140.204.0/22 -add china_ip_route 192.140.208.0/22 -add china_ip_route 192.140.212.0/22 -add china_ip_route 192.144.128.0/17 -add china_ip_route 192.197.113.0/24 -add china_ip_route 193.112.0.0/16 -add china_ip_route 198.175.100.0/22 -add china_ip_route 199.212.57.0/24 -add china_ip_route 202.0.100.0/23 -add china_ip_route 202.0.122.0/23 -add china_ip_route 202.0.176.0/22 -add china_ip_route 202.3.128.0/23 -add china_ip_route 202.3.134.0/24 -add china_ip_route 202.4.128.0/19 -add china_ip_route 202.4.252.0/22 -add china_ip_route 202.5.208.0/22 -add china_ip_route 202.5.212.0/22 -add china_ip_route 202.5.216.0/22 -add china_ip_route 202.6.6.0/23 -add china_ip_route 202.6.66.0/23 -add china_ip_route 202.6.72.0/23 -add china_ip_route 202.6.87.0/24 -add china_ip_route 202.6.88.0/23 -add china_ip_route 202.6.92.0/23 -add china_ip_route 202.6.103.0/24 -add china_ip_route 202.6.108.0/24 -add china_ip_route 202.6.110.0/23 -add china_ip_route 202.6.114.0/24 -add china_ip_route 202.6.176.0/20 -add china_ip_route 202.8.0.0/24 -add china_ip_route 202.8.2.0/23 -add china_ip_route 202.8.4.0/23 -add china_ip_route 202.8.12.0/24 -add china_ip_route 202.8.24.0/24 -add china_ip_route 202.8.77.0/24 -add china_ip_route 202.8.120.0/22 -add china_ip_route 202.8.128.0/19 -add china_ip_route 202.8.192.0/20 -add china_ip_route 202.9.32.0/24 -add china_ip_route 202.9.34.0/23 -add china_ip_route 202.9.48.0/23 -add china_ip_route 202.9.51.0/24 -add china_ip_route 202.9.52.0/23 -add china_ip_route 202.9.54.0/24 -add china_ip_route 202.9.57.0/24 -add china_ip_route 202.9.58.0/23 -add china_ip_route 202.10.64.0/20 -add china_ip_route 202.10.112.0/22 -add china_ip_route 202.10.116.0/22 -add china_ip_route 202.10.120.0/22 -add china_ip_route 202.10.124.0/22 -add china_ip_route 202.12.1.0/24 -add china_ip_route 202.12.2.0/24 -add china_ip_route 202.12.17.0/24 -add china_ip_route 202.12.18.0/24 -add china_ip_route 202.12.19.0/24 -add china_ip_route 202.12.72.0/24 -add china_ip_route 202.12.84.0/23 -add china_ip_route 202.12.96.0/24 -add china_ip_route 202.12.98.0/23 -add china_ip_route 202.12.106.0/24 -add china_ip_route 202.12.111.0/24 -add china_ip_route 202.12.116.0/24 -add china_ip_route 202.14.64.0/23 -add china_ip_route 202.14.69.0/24 -add china_ip_route 202.14.73.0/24 -add china_ip_route 202.14.74.0/23 -add china_ip_route 202.14.76.0/24 -add china_ip_route 202.14.78.0/23 -add china_ip_route 202.14.88.0/24 -add china_ip_route 202.14.97.0/24 -add china_ip_route 202.14.104.0/23 -add china_ip_route 202.14.108.0/23 -add china_ip_route 202.14.111.0/24 -add china_ip_route 202.14.114.0/23 -add china_ip_route 202.14.118.0/23 -add china_ip_route 202.14.124.0/23 -add china_ip_route 202.14.127.0/24 -add china_ip_route 202.14.129.0/24 -add china_ip_route 202.14.135.0/24 -add china_ip_route 202.14.136.0/24 -add china_ip_route 202.14.149.0/24 -add china_ip_route 202.14.151.0/24 -add china_ip_route 202.14.157.0/24 -add china_ip_route 202.14.158.0/23 -add china_ip_route 202.14.169.0/24 -add china_ip_route 202.14.170.0/23 -add china_ip_route 202.14.172.0/22 -add china_ip_route 202.14.176.0/24 -add china_ip_route 202.14.184.0/23 -add china_ip_route 202.14.208.0/23 -add china_ip_route 202.14.213.0/24 -add china_ip_route 202.14.219.0/24 -add china_ip_route 202.14.220.0/24 -add china_ip_route 202.14.222.0/23 -add china_ip_route 202.14.225.0/24 -add china_ip_route 202.14.226.0/23 -add china_ip_route 202.14.231.0/24 -add china_ip_route 202.14.235.0/24 -add china_ip_route 202.14.236.0/23 -add china_ip_route 202.14.238.0/24 -add china_ip_route 202.14.239.0/24 -add china_ip_route 202.14.246.0/24 -add china_ip_route 202.14.251.0/24 -add china_ip_route 202.20.66.0/24 -add china_ip_route 202.20.79.0/24 -add china_ip_route 202.20.87.0/24 -add china_ip_route 202.20.88.0/23 -add china_ip_route 202.20.90.0/24 -add china_ip_route 202.20.94.0/23 -add china_ip_route 202.20.114.0/24 -add china_ip_route 202.20.117.0/24 -add china_ip_route 202.20.120.0/24 -add china_ip_route 202.20.125.0/24 -add china_ip_route 202.20.126.0/24 -add china_ip_route 202.20.127.0/24 -add china_ip_route 202.21.48.0/22 -add china_ip_route 202.21.52.0/22 -add china_ip_route 202.21.56.0/22 -add china_ip_route 202.21.60.0/22 -add china_ip_route 202.21.131.0/24 -add china_ip_route 202.21.132.0/24 -add china_ip_route 202.21.141.0/24 -add china_ip_route 202.21.142.0/24 -add china_ip_route 202.21.147.0/24 -add china_ip_route 202.21.148.0/24 -add china_ip_route 202.21.150.0/23 -add china_ip_route 202.21.152.0/23 -add china_ip_route 202.21.154.0/24 -add china_ip_route 202.21.156.0/24 -add china_ip_route 202.22.248.0/22 -add china_ip_route 202.22.252.0/22 -add china_ip_route 202.27.12.0/24 -add china_ip_route 202.27.14.0/24 -add china_ip_route 202.27.136.0/23 -add china_ip_route 202.36.226.0/24 -add china_ip_route 202.38.0.0/23 -add china_ip_route 202.38.2.0/23 -add china_ip_route 202.38.8.0/21 -add china_ip_route 202.38.48.0/20 -add china_ip_route 202.38.64.0/19 -add china_ip_route 202.38.96.0/19 -add china_ip_route 202.38.128.0/23 -add china_ip_route 202.38.130.0/23 -add china_ip_route 202.38.132.0/23 -add china_ip_route 202.38.134.0/24 -add china_ip_route 202.38.135.0/24 -add china_ip_route 202.38.136.0/23 -add china_ip_route 202.38.138.0/24 -add china_ip_route 202.38.140.0/23 -add china_ip_route 202.38.142.0/23 -add china_ip_route 202.38.146.0/23 -add china_ip_route 202.38.149.0/24 -add china_ip_route 202.38.150.0/23 -add china_ip_route 202.38.152.0/23 -add china_ip_route 202.38.154.0/23 -add china_ip_route 202.38.156.0/24 -add china_ip_route 202.38.158.0/23 -add china_ip_route 202.38.160.0/23 -add china_ip_route 202.38.164.0/22 -add china_ip_route 202.38.168.0/23 -add china_ip_route 202.38.170.0/24 -add china_ip_route 202.38.171.0/24 -add china_ip_route 202.38.176.0/23 -add china_ip_route 202.38.184.0/21 -add china_ip_route 202.38.192.0/18 -add china_ip_route 202.40.4.0/23 -add china_ip_route 202.40.7.0/24 -add china_ip_route 202.40.15.0/24 -add china_ip_route 202.40.135.0/24 -add china_ip_route 202.40.136.0/24 -add china_ip_route 202.40.140.0/24 -add china_ip_route 202.40.143.0/24 -add china_ip_route 202.40.144.0/23 -add china_ip_route 202.40.150.0/24 -add china_ip_route 202.40.155.0/24 -add china_ip_route 202.40.156.0/24 -add china_ip_route 202.40.158.0/23 -add china_ip_route 202.40.162.0/24 -add china_ip_route 202.41.8.0/23 -add china_ip_route 202.41.11.0/24 -add china_ip_route 202.41.12.0/23 -add china_ip_route 202.41.128.0/24 -add china_ip_route 202.41.130.0/23 -add china_ip_route 202.41.152.0/21 -add china_ip_route 202.41.192.0/24 -add china_ip_route 202.41.196.0/22 -add china_ip_route 202.41.200.0/22 -add china_ip_route 202.41.240.0/20 -add china_ip_route 202.43.76.0/22 -add china_ip_route 202.43.144.0/20 -add china_ip_route 202.44.16.0/20 -add china_ip_route 202.44.48.0/22 -add china_ip_route 202.44.67.0/24 -add china_ip_route 202.44.74.0/24 -add china_ip_route 202.44.97.0/24 -add china_ip_route 202.44.129.0/24 -add china_ip_route 202.44.132.0/23 -add china_ip_route 202.44.146.0/23 -add china_ip_route 202.45.0.0/23 -add china_ip_route 202.45.2.0/24 -add china_ip_route 202.45.15.0/24 -add china_ip_route 202.45.16.0/20 -add china_ip_route 202.46.16.0/23 -add china_ip_route 202.46.18.0/24 -add china_ip_route 202.46.20.0/23 -add china_ip_route 202.46.32.0/19 -add china_ip_route 202.46.128.0/24 -add china_ip_route 202.46.224.0/20 -add china_ip_route 202.47.82.0/23 -add china_ip_route 202.47.96.0/22 -add china_ip_route 202.47.100.0/22 -add china_ip_route 202.47.104.0/22 -add china_ip_route 202.47.108.0/22 -add china_ip_route 202.47.126.0/24 -add china_ip_route 202.47.128.0/24 -add china_ip_route 202.47.130.0/23 -add china_ip_route 202.52.33.0/24 -add china_ip_route 202.52.34.0/24 -add china_ip_route 202.52.47.0/24 -add china_ip_route 202.52.143.0/24 -add china_ip_route 202.52.144.0/24 -add china_ip_route 202.53.140.0/24 -add china_ip_route 202.53.143.0/24 -add china_ip_route 202.57.192.0/22 -add china_ip_route 202.57.196.0/22 -add china_ip_route 202.57.200.0/22 -add china_ip_route 202.57.204.0/22 -add china_ip_route 202.57.212.0/22 -add china_ip_route 202.57.216.0/22 -add china_ip_route 202.57.240.0/20 -add china_ip_route 202.58.0.0/24 -add china_ip_route 202.58.101.0/24 -add china_ip_route 202.58.104.0/22 -add china_ip_route 202.58.112.0/22 -add china_ip_route 202.59.0.0/24 -add china_ip_route 202.59.1.0/24 -add china_ip_route 202.59.212.0/22 -add china_ip_route 202.59.236.0/24 -add china_ip_route 202.59.240.0/24 -add china_ip_route 202.60.48.0/21 -add china_ip_route 202.60.96.0/21 -add china_ip_route 202.60.112.0/20 -add china_ip_route 202.60.132.0/22 -add china_ip_route 202.60.136.0/21 -add china_ip_route 202.60.144.0/20 -add china_ip_route 202.61.68.0/22 -add china_ip_route 202.61.76.0/22 -add china_ip_route 202.61.88.0/22 -add china_ip_route 202.61.123.0/24 -add china_ip_route 202.61.127.0/24 -add china_ip_route 202.62.112.0/22 -add china_ip_route 202.62.248.0/22 -add china_ip_route 202.62.252.0/24 -add china_ip_route 202.62.255.0/24 -add china_ip_route 202.63.80.0/24 -add china_ip_route 202.63.81.0/24 -add china_ip_route 202.63.82.0/23 -add china_ip_route 202.63.84.0/22 -add china_ip_route 202.63.88.0/21 -add china_ip_route 202.63.160.0/19 -add china_ip_route 202.63.248.0/22 -add china_ip_route 202.63.253.0/24 -add china_ip_route 202.65.0.0/21 -add china_ip_route 202.65.8.0/23 -add china_ip_route 202.65.96.0/22 -add china_ip_route 202.65.100.0/22 -add china_ip_route 202.65.104.0/22 -add china_ip_route 202.65.108.0/22 -add china_ip_route 202.66.168.0/22 -add china_ip_route 202.67.0.0/22 -add china_ip_route 202.69.4.0/22 -add china_ip_route 202.69.16.0/20 -add china_ip_route 202.70.0.0/19 -add china_ip_route 202.70.96.0/20 -add china_ip_route 202.70.192.0/20 -add china_ip_route 202.71.32.0/22 -add china_ip_route 202.71.36.0/22 -add china_ip_route 202.71.40.0/22 -add china_ip_route 202.71.44.0/22 -add china_ip_route 202.72.40.0/21 -add china_ip_route 202.72.80.0/20 -add china_ip_route 202.72.112.0/22 -add china_ip_route 202.72.116.0/22 -add china_ip_route 202.72.120.0/22 -add china_ip_route 202.72.124.0/22 -add china_ip_route 202.73.128.0/22 -add china_ip_route 202.73.240.0/22 -add china_ip_route 202.73.244.0/22 -add china_ip_route 202.73.248.0/22 -add china_ip_route 202.73.252.0/22 -add china_ip_route 202.74.8.0/21 -add china_ip_route 202.74.36.0/24 -add china_ip_route 202.74.42.0/24 -add china_ip_route 202.74.52.0/24 -add china_ip_route 202.74.80.0/20 -add china_ip_route 202.74.232.0/22 -add china_ip_route 202.74.254.0/23 -add china_ip_route 202.75.208.0/20 -add china_ip_route 202.75.252.0/22 -add china_ip_route 202.76.252.0/22 -add china_ip_route 202.77.80.0/21 -add china_ip_route 202.77.92.0/22 -add china_ip_route 202.78.8.0/21 -add china_ip_route 202.79.224.0/21 -add china_ip_route 202.79.248.0/22 -add china_ip_route 202.80.192.0/21 -add china_ip_route 202.80.200.0/21 -add china_ip_route 202.81.0.0/22 -add china_ip_route 202.81.176.0/22 -add china_ip_route 202.81.180.0/22 -add china_ip_route 202.81.184.0/22 -add china_ip_route 202.81.188.0/22 -add china_ip_route 202.83.252.0/22 -add china_ip_route 202.84.0.0/22 -add china_ip_route 202.84.4.0/22 -add china_ip_route 202.84.8.0/21 -add china_ip_route 202.84.16.0/23 -add china_ip_route 202.84.22.0/24 -add china_ip_route 202.84.24.0/21 -add china_ip_route 202.85.208.0/20 -add china_ip_route 202.86.249.0/24 -add china_ip_route 202.86.252.0/22 -add china_ip_route 202.87.80.0/20 -add china_ip_route 202.88.32.0/22 -add china_ip_route 202.89.8.0/21 -add china_ip_route 202.89.96.0/22 -add china_ip_route 202.89.108.0/22 -add china_ip_route 202.89.119.0/24 -add china_ip_route 202.89.232.0/21 -add china_ip_route 202.90.0.0/22 -add china_ip_route 202.90.16.0/22 -add china_ip_route 202.90.20.0/22 -add china_ip_route 202.90.24.0/22 -add china_ip_route 202.90.28.0/22 -add china_ip_route 202.90.37.0/24 -add china_ip_route 202.90.96.0/22 -add china_ip_route 202.90.100.0/22 -add china_ip_route 202.90.104.0/22 -add china_ip_route 202.90.108.0/22 -add china_ip_route 202.90.112.0/20 -add china_ip_route 202.90.193.0/24 -add china_ip_route 202.90.196.0/24 -add china_ip_route 202.90.205.0/24 -add china_ip_route 202.90.224.0/20 -add china_ip_route 202.91.0.0/22 -add china_ip_route 202.91.36.0/22 -add china_ip_route 202.91.96.0/20 -add china_ip_route 202.91.128.0/22 -add china_ip_route 202.91.176.0/20 -add china_ip_route 202.91.224.0/19 -add china_ip_route 202.92.0.0/22 -add china_ip_route 202.92.8.0/21 -add china_ip_route 202.92.48.0/20 -add china_ip_route 202.92.252.0/22 -add china_ip_route 202.93.0.0/22 -add china_ip_route 202.93.252.0/22 -add china_ip_route 202.94.68.0/24 -add china_ip_route 202.94.74.0/24 -add china_ip_route 202.94.81.0/24 -add china_ip_route 202.94.92.0/22 -add china_ip_route 202.95.240.0/21 -add china_ip_route 202.95.252.0/22 -add china_ip_route 202.96.0.0/18 -add china_ip_route 202.96.64.0/21 -add china_ip_route 202.96.72.0/21 -add china_ip_route 202.96.80.0/20 -add china_ip_route 202.96.96.0/21 -add china_ip_route 202.96.104.0/21 -add china_ip_route 202.96.112.0/20 -add china_ip_route 202.96.128.0/21 -add china_ip_route 202.96.136.0/21 -add china_ip_route 202.96.144.0/20 -add china_ip_route 202.96.160.0/21 -add china_ip_route 202.96.168.0/21 -add china_ip_route 202.96.176.0/20 -add china_ip_route 202.96.192.0/21 -add china_ip_route 202.96.200.0/21 -add china_ip_route 202.96.208.0/20 -add china_ip_route 202.96.224.0/21 -add china_ip_route 202.96.232.0/21 -add china_ip_route 202.96.240.0/20 -add china_ip_route 202.97.0.0/21 -add china_ip_route 202.97.8.0/21 -add china_ip_route 202.97.16.0/20 -add china_ip_route 202.97.32.0/19 -add china_ip_route 202.97.64.0/19 -add china_ip_route 202.97.96.0/20 -add china_ip_route 202.97.112.0/20 -add china_ip_route 202.97.128.0/18 -add china_ip_route 202.97.192.0/19 -add china_ip_route 202.97.224.0/21 -add china_ip_route 202.97.232.0/21 -add china_ip_route 202.97.240.0/20 -add china_ip_route 202.98.0.0/21 -add china_ip_route 202.98.8.0/21 -add china_ip_route 202.98.16.0/20 -add china_ip_route 202.98.32.0/21 -add china_ip_route 202.98.40.0/21 -add china_ip_route 202.98.48.0/20 -add china_ip_route 202.98.64.0/19 -add china_ip_route 202.98.96.0/21 -add china_ip_route 202.98.104.0/21 -add china_ip_route 202.98.112.0/20 -add china_ip_route 202.98.128.0/19 -add china_ip_route 202.98.160.0/21 -add china_ip_route 202.98.168.0/21 -add china_ip_route 202.98.176.0/20 -add china_ip_route 202.98.192.0/21 -add china_ip_route 202.98.200.0/21 -add china_ip_route 202.98.208.0/20 -add china_ip_route 202.98.224.0/21 -add china_ip_route 202.98.232.0/21 -add china_ip_route 202.98.240.0/20 -add china_ip_route 202.99.0.0/18 -add china_ip_route 202.99.64.0/19 -add china_ip_route 202.99.96.0/21 -add china_ip_route 202.99.104.0/21 -add china_ip_route 202.99.112.0/20 -add china_ip_route 202.99.128.0/19 -add china_ip_route 202.99.160.0/21 -add china_ip_route 202.99.168.0/21 -add china_ip_route 202.99.176.0/20 -add china_ip_route 202.99.192.0/21 -add china_ip_route 202.99.200.0/21 -add china_ip_route 202.99.208.0/20 -add china_ip_route 202.99.224.0/21 -add china_ip_route 202.99.232.0/21 -add china_ip_route 202.99.240.0/20 -add china_ip_route 202.100.0.0/21 -add china_ip_route 202.100.8.0/21 -add china_ip_route 202.100.16.0/20 -add china_ip_route 202.100.32.0/19 -add china_ip_route 202.100.64.0/21 -add china_ip_route 202.100.72.0/21 -add china_ip_route 202.100.80.0/20 -add china_ip_route 202.100.96.0/21 -add china_ip_route 202.100.104.0/21 -add china_ip_route 202.100.112.0/20 -add china_ip_route 202.100.128.0/21 -add china_ip_route 202.100.136.0/21 -add china_ip_route 202.100.144.0/20 -add china_ip_route 202.100.160.0/21 -add china_ip_route 202.100.168.0/21 -add china_ip_route 202.100.176.0/20 -add china_ip_route 202.100.192.0/21 -add china_ip_route 202.100.200.0/21 -add china_ip_route 202.100.208.0/20 -add china_ip_route 202.100.224.0/19 -add china_ip_route 202.101.0.0/18 -add china_ip_route 202.101.64.0/19 -add china_ip_route 202.101.96.0/19 -add china_ip_route 202.101.128.0/18 -add china_ip_route 202.101.192.0/19 -add china_ip_route 202.101.224.0/21 -add china_ip_route 202.101.232.0/21 -add china_ip_route 202.101.240.0/20 -add china_ip_route 202.102.0.0/19 -add china_ip_route 202.102.32.0/19 -add china_ip_route 202.102.64.0/18 -add china_ip_route 202.102.128.0/21 -add china_ip_route 202.102.136.0/21 -add china_ip_route 202.102.144.0/20 -add china_ip_route 202.102.160.0/19 -add china_ip_route 202.102.192.0/21 -add china_ip_route 202.102.200.0/21 -add china_ip_route 202.102.208.0/20 -add china_ip_route 202.102.224.0/21 -add china_ip_route 202.102.232.0/21 -add china_ip_route 202.102.240.0/20 -add china_ip_route 202.103.0.0/21 -add china_ip_route 202.103.8.0/21 -add china_ip_route 202.103.16.0/20 -add china_ip_route 202.103.32.0/19 -add china_ip_route 202.103.64.0/19 -add china_ip_route 202.103.96.0/21 -add china_ip_route 202.103.104.0/21 -add china_ip_route 202.103.112.0/20 -add china_ip_route 202.103.128.0/18 -add china_ip_route 202.103.192.0/19 -add china_ip_route 202.103.224.0/21 -add china_ip_route 202.103.232.0/21 -add china_ip_route 202.103.240.0/20 -add china_ip_route 202.104.0.0/15 -add china_ip_route 202.106.0.0/16 -add china_ip_route 202.107.0.0/17 -add china_ip_route 202.107.128.0/17 -add china_ip_route 202.108.0.0/16 -add china_ip_route 202.109.0.0/16 -add china_ip_route 202.110.0.0/18 -add china_ip_route 202.110.64.0/18 -add china_ip_route 202.110.128.0/18 -add china_ip_route 202.110.192.0/18 -add china_ip_route 202.111.0.0/17 -add china_ip_route 202.111.128.0/19 -add china_ip_route 202.111.160.0/19 -add china_ip_route 202.111.192.0/18 -add china_ip_route 202.112.0.0/16 -add china_ip_route 202.113.0.0/20 -add china_ip_route 202.113.16.0/20 -add china_ip_route 202.113.32.0/19 -add china_ip_route 202.113.64.0/18 -add china_ip_route 202.113.128.0/18 -add china_ip_route 202.113.192.0/19 -add china_ip_route 202.113.224.0/20 -add china_ip_route 202.113.240.0/20 -add china_ip_route 202.114.0.0/19 -add china_ip_route 202.114.32.0/19 -add china_ip_route 202.114.64.0/18 -add china_ip_route 202.114.128.0/17 -add china_ip_route 202.115.0.0/19 -add china_ip_route 202.115.32.0/19 -add china_ip_route 202.115.64.0/18 -add china_ip_route 202.115.128.0/17 -add china_ip_route 202.116.0.0/19 -add china_ip_route 202.116.32.0/20 -add china_ip_route 202.116.48.0/20 -add china_ip_route 202.116.64.0/19 -add china_ip_route 202.116.96.0/19 -add china_ip_route 202.116.128.0/17 -add china_ip_route 202.117.0.0/18 -add china_ip_route 202.117.64.0/18 -add china_ip_route 202.117.128.0/17 -add china_ip_route 202.118.0.0/19 -add china_ip_route 202.118.32.0/19 -add china_ip_route 202.118.64.0/18 -add china_ip_route 202.118.128.0/17 -add china_ip_route 202.119.0.0/19 -add china_ip_route 202.119.32.0/19 -add china_ip_route 202.119.64.0/20 -add china_ip_route 202.119.80.0/20 -add china_ip_route 202.119.96.0/19 -add china_ip_route 202.119.128.0/17 -add china_ip_route 202.120.0.0/18 -add china_ip_route 202.120.64.0/18 -add china_ip_route 202.120.128.0/17 -add china_ip_route 202.121.0.0/16 -add china_ip_route 202.122.0.0/21 -add china_ip_route 202.122.32.0/21 -add china_ip_route 202.122.64.0/19 -add china_ip_route 202.122.112.0/21 -add china_ip_route 202.122.120.0/21 -add china_ip_route 202.122.128.0/24 -add china_ip_route 202.122.132.0/24 -add china_ip_route 202.123.96.0/20 -add china_ip_route 202.123.116.0/22 -add china_ip_route 202.123.120.0/22 -add china_ip_route 202.124.16.0/21 -add china_ip_route 202.124.24.0/22 -add china_ip_route 202.125.107.0/24 -add china_ip_route 202.125.109.0/24 -add china_ip_route 202.125.112.0/20 -add china_ip_route 202.125.176.0/20 -add china_ip_route 202.127.0.0/23 -add china_ip_route 202.127.2.0/24 -add china_ip_route 202.127.3.0/24 -add china_ip_route 202.127.4.0/24 -add china_ip_route 202.127.5.0/24 -add china_ip_route 202.127.6.0/23 -add china_ip_route 202.127.12.0/22 -add china_ip_route 202.127.16.0/20 -add china_ip_route 202.127.40.0/21 -add china_ip_route 202.127.48.0/20 -add china_ip_route 202.127.112.0/20 -add china_ip_route 202.127.128.0/20 -add china_ip_route 202.127.144.0/20 -add china_ip_route 202.127.160.0/21 -add china_ip_route 202.127.192.0/23 -add china_ip_route 202.127.194.0/23 -add china_ip_route 202.127.196.0/22 -add china_ip_route 202.127.200.0/21 -add china_ip_route 202.127.208.0/24 -add china_ip_route 202.127.209.0/24 -add china_ip_route 202.127.212.0/22 -add china_ip_route 202.127.216.0/21 -add china_ip_route 202.127.224.0/19 -add china_ip_route 202.129.208.0/24 -add china_ip_route 202.130.0.0/19 -add china_ip_route 202.130.39.0/24 -add china_ip_route 202.130.224.0/19 -add china_ip_route 202.131.16.0/21 -add china_ip_route 202.131.48.0/20 -add china_ip_route 202.131.208.0/20 -add china_ip_route 202.133.32.0/20 -add china_ip_route 202.134.58.0/24 -add china_ip_route 202.134.128.0/20 -add china_ip_route 202.134.208.0/22 -add china_ip_route 202.134.212.0/22 -add china_ip_route 202.134.216.0/22 -add china_ip_route 202.134.220.0/22 -add china_ip_route 202.136.48.0/20 -add china_ip_route 202.136.208.0/20 -add china_ip_route 202.136.224.0/20 -add china_ip_route 202.136.248.0/22 -add china_ip_route 202.137.231.0/24 -add china_ip_route 202.140.140.0/22 -add china_ip_route 202.140.144.0/22 -add china_ip_route 202.140.148.0/22 -add china_ip_route 202.140.152.0/22 -add china_ip_route 202.140.156.0/22 -add china_ip_route 202.141.160.0/19 -add china_ip_route 202.142.16.0/20 -add china_ip_route 202.143.4.0/22 -add china_ip_route 202.143.16.0/20 -add china_ip_route 202.143.32.0/20 -add china_ip_route 202.143.56.0/21 -add china_ip_route 202.143.100.0/22 -add china_ip_route 202.143.104.0/22 -add china_ip_route 202.144.196.0/22 -add china_ip_route 202.146.160.0/20 -add china_ip_route 202.146.186.0/24 -add china_ip_route 202.146.188.0/22 -add china_ip_route 202.146.196.0/22 -add china_ip_route 202.146.200.0/21 -add china_ip_route 202.147.144.0/20 -add china_ip_route 202.148.32.0/20 -add china_ip_route 202.148.64.0/19 -add china_ip_route 202.148.96.0/19 -add china_ip_route 202.149.32.0/19 -add china_ip_route 202.149.160.0/19 -add china_ip_route 202.149.224.0/19 -add china_ip_route 202.150.16.0/20 -add china_ip_route 202.150.32.0/20 -add china_ip_route 202.150.56.0/22 -add china_ip_route 202.150.192.0/20 -add china_ip_route 202.150.224.0/19 -add china_ip_route 202.151.0.0/22 -add china_ip_route 202.151.33.0/24 -add china_ip_route 202.151.128.0/19 -add china_ip_route 202.152.176.0/20 -add china_ip_route 202.153.0.0/22 -add china_ip_route 202.153.7.0/24 -add china_ip_route 202.153.48.0/20 -add china_ip_route 202.157.192.0/19 -add china_ip_route 202.158.160.0/19 -add china_ip_route 202.158.242.0/24 -add china_ip_route 202.160.140.0/22 -add china_ip_route 202.160.156.0/22 -add china_ip_route 202.160.176.0/20 -add china_ip_route 202.162.67.0/24 -add china_ip_route 202.162.75.0/24 -add china_ip_route 202.164.0.0/20 -add china_ip_route 202.164.96.0/19 -add china_ip_route 202.165.176.0/20 -add china_ip_route 202.165.208.0/20 -add china_ip_route 202.165.239.0/24 -add china_ip_route 202.165.240.0/23 -add china_ip_route 202.165.243.0/24 -add china_ip_route 202.165.245.0/24 -add china_ip_route 202.165.251.0/24 -add china_ip_route 202.165.252.0/22 -add china_ip_route 202.166.224.0/19 -add china_ip_route 202.168.80.0/22 -add china_ip_route 202.168.128.0/22 -add china_ip_route 202.168.132.0/22 -add china_ip_route 202.168.136.0/22 -add china_ip_route 202.168.140.0/22 -add china_ip_route 202.168.160.0/20 -add china_ip_route 202.168.176.0/20 -add china_ip_route 202.170.128.0/19 -add china_ip_route 202.170.216.0/21 -add china_ip_route 202.170.224.0/19 -add china_ip_route 202.171.216.0/21 -add china_ip_route 202.171.232.0/24 -add china_ip_route 202.171.235.0/24 -add china_ip_route 202.172.0.0/22 -add china_ip_route 202.172.7.0/24 -add china_ip_route 202.173.0.0/22 -add china_ip_route 202.173.6.0/24 -add china_ip_route 202.173.8.0/21 -add china_ip_route 202.173.112.0/22 -add china_ip_route 202.173.224.0/19 -add china_ip_route 202.174.64.0/20 -add china_ip_route 202.174.124.0/22 -add china_ip_route 202.176.224.0/19 -add china_ip_route 202.179.160.0/22 -add china_ip_route 202.179.164.0/22 -add china_ip_route 202.179.168.0/22 -add china_ip_route 202.179.172.0/22 -add china_ip_route 202.179.240.0/20 -add china_ip_route 202.180.128.0/19 -add china_ip_route 202.180.208.0/21 -add china_ip_route 202.181.8.0/22 -add china_ip_route 202.181.28.0/22 -add china_ip_route 202.181.112.0/20 -add china_ip_route 202.182.32.0/20 -add china_ip_route 202.182.192.0/19 -add china_ip_route 202.189.0.0/18 -add china_ip_route 202.189.80.0/20 -add china_ip_route 202.189.184.0/21 -add china_ip_route 202.191.0.0/24 -add china_ip_route 202.191.68.0/22 -add china_ip_route 202.191.72.0/21 -add china_ip_route 202.191.80.0/20 -add china_ip_route 202.192.0.0/13 -add china_ip_route 202.200.0.0/14 -add china_ip_route 202.204.0.0/14 -add china_ip_route 203.0.4.0/22 -add china_ip_route 203.0.10.0/23 -add china_ip_route 203.0.18.0/24 -add china_ip_route 203.0.24.0/24 -add china_ip_route 203.0.42.0/23 -add china_ip_route 203.0.45.0/24 -add china_ip_route 203.0.46.0/23 -add china_ip_route 203.0.81.0/24 -add china_ip_route 203.0.82.0/23 -add china_ip_route 203.0.90.0/23 -add china_ip_route 203.0.96.0/23 -add china_ip_route 203.0.104.0/21 -add china_ip_route 203.0.114.0/23 -add china_ip_route 203.0.122.0/24 -add china_ip_route 203.0.128.0/24 -add china_ip_route 203.0.130.0/23 -add china_ip_route 203.0.132.0/22 -add china_ip_route 203.0.137.0/24 -add china_ip_route 203.0.142.0/24 -add china_ip_route 203.0.144.0/24 -add china_ip_route 203.0.146.0/24 -add china_ip_route 203.0.148.0/24 -add china_ip_route 203.0.150.0/23 -add china_ip_route 203.0.152.0/24 -add china_ip_route 203.0.177.0/24 -add china_ip_route 203.0.224.0/24 -add china_ip_route 203.1.4.0/22 -add china_ip_route 203.1.18.0/24 -add china_ip_route 203.1.26.0/23 -add china_ip_route 203.1.65.0/24 -add china_ip_route 203.1.66.0/23 -add china_ip_route 203.1.70.0/23 -add china_ip_route 203.1.76.0/23 -add china_ip_route 203.1.90.0/24 -add china_ip_route 203.1.97.0/24 -add china_ip_route 203.1.98.0/23 -add china_ip_route 203.1.100.0/22 -add china_ip_route 203.1.108.0/24 -add china_ip_route 203.1.253.0/24 -add china_ip_route 203.1.254.0/24 -add china_ip_route 203.2.64.0/21 -add china_ip_route 203.2.73.0/24 -add china_ip_route 203.2.112.0/21 -add china_ip_route 203.2.126.0/23 -add china_ip_route 203.2.140.0/24 -add china_ip_route 203.2.150.0/24 -add china_ip_route 203.2.152.0/22 -add china_ip_route 203.2.156.0/23 -add china_ip_route 203.2.160.0/21 -add china_ip_route 203.2.180.0/23 -add china_ip_route 203.2.196.0/23 -add china_ip_route 203.2.209.0/24 -add china_ip_route 203.2.214.0/23 -add china_ip_route 203.2.226.0/23 -add china_ip_route 203.2.229.0/24 -add china_ip_route 203.2.236.0/23 -add china_ip_route 203.3.68.0/24 -add china_ip_route 203.3.72.0/23 -add china_ip_route 203.3.75.0/24 -add china_ip_route 203.3.80.0/21 -add china_ip_route 203.3.96.0/22 -add china_ip_route 203.3.105.0/24 -add china_ip_route 203.3.112.0/21 -add china_ip_route 203.3.120.0/24 -add china_ip_route 203.3.123.0/24 -add china_ip_route 203.3.135.0/24 -add china_ip_route 203.3.139.0/24 -add china_ip_route 203.3.143.0/24 -add china_ip_route 203.4.132.0/23 -add china_ip_route 203.4.134.0/24 -add china_ip_route 203.4.151.0/24 -add china_ip_route 203.4.152.0/22 -add china_ip_route 203.4.174.0/23 -add china_ip_route 203.4.180.0/24 -add china_ip_route 203.4.186.0/24 -add china_ip_route 203.4.205.0/24 -add china_ip_route 203.4.208.0/22 -add china_ip_route 203.4.227.0/24 -add china_ip_route 203.4.230.0/23 -add china_ip_route 203.5.4.0/23 -add china_ip_route 203.5.7.0/24 -add china_ip_route 203.5.8.0/23 -add china_ip_route 203.5.11.0/24 -add china_ip_route 203.5.21.0/24 -add china_ip_route 203.5.22.0/24 -add china_ip_route 203.5.44.0/24 -add china_ip_route 203.5.46.0/23 -add china_ip_route 203.5.52.0/22 -add china_ip_route 203.5.56.0/23 -add china_ip_route 203.5.60.0/23 -add china_ip_route 203.5.114.0/23 -add china_ip_route 203.5.118.0/24 -add china_ip_route 203.5.120.0/24 -add china_ip_route 203.5.172.0/24 -add china_ip_route 203.5.180.0/23 -add china_ip_route 203.5.182.0/24 -add china_ip_route 203.5.185.0/24 -add china_ip_route 203.5.186.0/24 -add china_ip_route 203.5.188.0/23 -add china_ip_route 203.5.190.0/24 -add china_ip_route 203.5.195.0/24 -add china_ip_route 203.5.214.0/23 -add china_ip_route 203.5.218.0/23 -add china_ip_route 203.6.131.0/24 -add china_ip_route 203.6.136.0/24 -add china_ip_route 203.6.138.0/23 -add china_ip_route 203.6.142.0/24 -add china_ip_route 203.6.150.0/23 -add china_ip_route 203.6.157.0/24 -add china_ip_route 203.6.159.0/24 -add china_ip_route 203.6.224.0/20 -add china_ip_route 203.6.248.0/23 -add china_ip_route 203.7.129.0/24 -add china_ip_route 203.7.138.0/23 -add china_ip_route 203.7.147.0/24 -add china_ip_route 203.7.150.0/23 -add china_ip_route 203.7.158.0/24 -add china_ip_route 203.7.192.0/23 -add china_ip_route 203.7.200.0/24 -add china_ip_route 203.8.0.0/24 -add china_ip_route 203.8.8.0/24 -add china_ip_route 203.8.23.0/24 -add china_ip_route 203.8.70.0/24 -add china_ip_route 203.8.82.0/24 -add china_ip_route 203.8.86.0/23 -add china_ip_route 203.8.91.0/24 -add china_ip_route 203.8.110.0/23 -add china_ip_route 203.8.115.0/24 -add china_ip_route 203.8.166.0/23 -add china_ip_route 203.8.169.0/24 -add china_ip_route 203.8.173.0/24 -add china_ip_route 203.8.184.0/24 -add china_ip_route 203.8.186.0/23 -add china_ip_route 203.8.190.0/23 -add china_ip_route 203.8.192.0/24 -add china_ip_route 203.8.197.0/24 -add china_ip_route 203.8.198.0/23 -add china_ip_route 203.8.203.0/24 -add china_ip_route 203.8.209.0/24 -add china_ip_route 203.8.210.0/23 -add china_ip_route 203.8.212.0/22 -add china_ip_route 203.8.217.0/24 -add china_ip_route 203.8.220.0/24 -add china_ip_route 203.9.32.0/24 -add china_ip_route 203.9.36.0/23 -add china_ip_route 203.9.57.0/24 -add china_ip_route 203.9.63.0/24 -add china_ip_route 203.9.65.0/24 -add china_ip_route 203.9.70.0/23 -add china_ip_route 203.9.72.0/24 -add china_ip_route 203.9.75.0/24 -add china_ip_route 203.9.76.0/23 -add china_ip_route 203.9.96.0/22 -add china_ip_route 203.9.100.0/23 -add china_ip_route 203.9.108.0/24 -add china_ip_route 203.9.158.0/24 -add china_ip_route 203.10.34.0/24 -add china_ip_route 203.10.56.0/24 -add china_ip_route 203.10.74.0/23 -add china_ip_route 203.10.84.0/22 -add china_ip_route 203.10.88.0/24 -add china_ip_route 203.10.95.0/24 -add china_ip_route 203.10.125.0/24 -add china_ip_route 203.11.70.0/24 -add china_ip_route 203.11.76.0/22 -add china_ip_route 203.11.82.0/24 -add china_ip_route 203.11.84.0/22 -add china_ip_route 203.11.100.0/22 -add china_ip_route 203.11.109.0/24 -add china_ip_route 203.11.117.0/24 -add china_ip_route 203.11.122.0/24 -add china_ip_route 203.11.126.0/24 -add china_ip_route 203.11.136.0/22 -add china_ip_route 203.11.141.0/24 -add china_ip_route 203.11.142.0/23 -add china_ip_route 203.11.180.0/22 -add china_ip_route 203.11.208.0/22 -add china_ip_route 203.12.16.0/24 -add china_ip_route 203.12.19.0/24 -add china_ip_route 203.12.24.0/24 -add china_ip_route 203.12.57.0/24 -add china_ip_route 203.12.65.0/24 -add china_ip_route 203.12.66.0/24 -add china_ip_route 203.12.70.0/23 -add china_ip_route 203.12.87.0/24 -add china_ip_route 203.12.100.0/23 -add china_ip_route 203.12.103.0/24 -add china_ip_route 203.12.114.0/24 -add china_ip_route 203.12.118.0/24 -add china_ip_route 203.12.130.0/24 -add china_ip_route 203.12.137.0/24 -add china_ip_route 203.12.196.0/22 -add china_ip_route 203.12.211.0/24 -add china_ip_route 203.12.219.0/24 -add china_ip_route 203.12.226.0/24 -add china_ip_route 203.12.240.0/22 -add china_ip_route 203.13.18.0/24 -add china_ip_route 203.13.24.0/24 -add china_ip_route 203.13.44.0/23 -add china_ip_route 203.13.88.0/23 -add china_ip_route 203.13.92.0/22 -add china_ip_route 203.13.173.0/24 -add china_ip_route 203.13.224.0/23 -add china_ip_route 203.13.227.0/24 -add china_ip_route 203.13.233.0/24 -add china_ip_route 203.14.24.0/22 -add china_ip_route 203.14.33.0/24 -add china_ip_route 203.14.56.0/24 -add china_ip_route 203.14.61.0/24 -add china_ip_route 203.14.62.0/24 -add china_ip_route 203.14.104.0/24 -add china_ip_route 203.14.114.0/23 -add china_ip_route 203.14.118.0/24 -add china_ip_route 203.14.162.0/24 -add china_ip_route 203.14.192.0/24 -add china_ip_route 203.14.194.0/23 -add china_ip_route 203.14.214.0/24 -add china_ip_route 203.14.231.0/24 -add china_ip_route 203.14.246.0/24 -add china_ip_route 203.15.0.0/20 -add china_ip_route 203.15.20.0/23 -add china_ip_route 203.15.22.0/24 -add china_ip_route 203.15.87.0/24 -add china_ip_route 203.15.88.0/23 -add china_ip_route 203.15.105.0/24 -add china_ip_route 203.15.112.0/21 -add china_ip_route 203.15.130.0/23 -add china_ip_route 203.15.149.0/24 -add china_ip_route 203.15.151.0/24 -add china_ip_route 203.15.156.0/22 -add china_ip_route 203.15.174.0/24 -add china_ip_route 203.15.227.0/24 -add china_ip_route 203.15.232.0/21 -add china_ip_route 203.15.240.0/23 -add china_ip_route 203.15.246.0/24 -add china_ip_route 203.16.10.0/24 -add china_ip_route 203.16.12.0/23 -add china_ip_route 203.16.16.0/21 -add china_ip_route 203.16.27.0/24 -add china_ip_route 203.16.38.0/24 -add china_ip_route 203.16.49.0/24 -add china_ip_route 203.16.50.0/23 -add china_ip_route 203.16.58.0/24 -add china_ip_route 203.16.63.0/24 -add china_ip_route 203.16.133.0/24 -add china_ip_route 203.16.161.0/24 -add china_ip_route 203.16.162.0/24 -add china_ip_route 203.16.186.0/23 -add china_ip_route 203.16.228.0/24 -add china_ip_route 203.16.238.0/24 -add china_ip_route 203.16.240.0/24 -add china_ip_route 203.16.245.0/24 -add china_ip_route 203.17.2.0/24 -add china_ip_route 203.17.18.0/24 -add china_ip_route 203.17.28.0/24 -add china_ip_route 203.17.39.0/24 -add china_ip_route 203.17.56.0/24 -add china_ip_route 203.17.74.0/23 -add china_ip_route 203.17.88.0/23 -add china_ip_route 203.17.136.0/24 -add china_ip_route 203.17.164.0/24 -add china_ip_route 203.17.187.0/24 -add china_ip_route 203.17.190.0/23 -add china_ip_route 203.17.231.0/24 -add china_ip_route 203.17.233.0/24 -add china_ip_route 203.17.248.0/24 -add china_ip_route 203.17.249.0/24 -add china_ip_route 203.17.255.0/24 -add china_ip_route 203.18.2.0/23 -add china_ip_route 203.18.4.0/24 -add china_ip_route 203.18.7.0/24 -add china_ip_route 203.18.31.0/24 -add china_ip_route 203.18.37.0/24 -add china_ip_route 203.18.48.0/23 -add china_ip_route 203.18.52.0/24 -add china_ip_route 203.18.72.0/22 -add china_ip_route 203.18.80.0/23 -add china_ip_route 203.18.87.0/24 -add china_ip_route 203.18.100.0/23 -add china_ip_route 203.18.105.0/24 -add china_ip_route 203.18.107.0/24 -add china_ip_route 203.18.110.0/24 -add china_ip_route 203.18.129.0/24 -add china_ip_route 203.18.131.0/24 -add china_ip_route 203.18.132.0/23 -add china_ip_route 203.18.144.0/24 -add china_ip_route 203.18.153.0/24 -add china_ip_route 203.18.199.0/24 -add china_ip_route 203.18.208.0/24 -add china_ip_route 203.18.211.0/24 -add china_ip_route 203.18.215.0/24 -add china_ip_route 203.19.1.0/24 -add china_ip_route 203.19.18.0/24 -add china_ip_route 203.19.24.0/24 -add china_ip_route 203.19.30.0/24 -add china_ip_route 203.19.32.0/21 -add china_ip_route 203.19.41.0/24 -add china_ip_route 203.19.44.0/23 -add china_ip_route 203.19.46.0/24 -add china_ip_route 203.19.58.0/24 -add china_ip_route 203.19.60.0/23 -add china_ip_route 203.19.64.0/24 -add china_ip_route 203.19.68.0/24 -add china_ip_route 203.19.72.0/24 -add china_ip_route 203.19.101.0/24 -add china_ip_route 203.19.111.0/24 -add china_ip_route 203.19.131.0/24 -add china_ip_route 203.19.133.0/24 -add china_ip_route 203.19.144.0/24 -add china_ip_route 203.19.147.0/24 -add china_ip_route 203.19.149.0/24 -add china_ip_route 203.19.156.0/24 -add china_ip_route 203.19.176.0/24 -add china_ip_route 203.19.178.0/23 -add china_ip_route 203.19.208.0/24 -add china_ip_route 203.19.228.0/22 -add china_ip_route 203.19.233.0/24 -add china_ip_route 203.19.242.0/24 -add china_ip_route 203.19.248.0/23 -add china_ip_route 203.19.255.0/24 -add china_ip_route 203.20.17.0/24 -add china_ip_route 203.20.40.0/23 -add china_ip_route 203.20.44.0/24 -add china_ip_route 203.20.48.0/24 -add china_ip_route 203.20.61.0/24 -add china_ip_route 203.20.65.0/24 -add china_ip_route 203.20.84.0/23 -add china_ip_route 203.20.89.0/24 -add china_ip_route 203.20.106.0/23 -add china_ip_route 203.20.115.0/24 -add china_ip_route 203.20.117.0/24 -add china_ip_route 203.20.118.0/23 -add china_ip_route 203.20.122.0/24 -add china_ip_route 203.20.126.0/23 -add china_ip_route 203.20.135.0/24 -add china_ip_route 203.20.136.0/21 -add china_ip_route 203.20.150.0/24 -add china_ip_route 203.20.230.0/24 -add china_ip_route 203.20.232.0/24 -add china_ip_route 203.20.236.0/24 -add china_ip_route 203.21.0.0/23 -add china_ip_route 203.21.2.0/24 -add china_ip_route 203.21.8.0/24 -add china_ip_route 203.21.10.0/24 -add china_ip_route 203.21.18.0/24 -add china_ip_route 203.21.33.0/24 -add china_ip_route 203.21.34.0/24 -add china_ip_route 203.21.41.0/24 -add china_ip_route 203.21.44.0/24 -add china_ip_route 203.21.68.0/24 -add china_ip_route 203.21.82.0/24 -add china_ip_route 203.21.96.0/22 -add china_ip_route 203.21.124.0/24 -add china_ip_route 203.21.136.0/23 -add china_ip_route 203.21.145.0/24 -add china_ip_route 203.21.206.0/24 -add china_ip_route 203.22.24.0/24 -add china_ip_route 203.22.28.0/23 -add china_ip_route 203.22.31.0/24 -add china_ip_route 203.22.68.0/24 -add china_ip_route 203.22.76.0/24 -add china_ip_route 203.22.78.0/24 -add china_ip_route 203.22.84.0/24 -add china_ip_route 203.22.87.0/24 -add china_ip_route 203.22.92.0/22 -add china_ip_route 203.22.99.0/24 -add china_ip_route 203.22.106.0/24 -add china_ip_route 203.22.122.0/23 -add china_ip_route 203.22.131.0/24 -add china_ip_route 203.22.163.0/24 -add china_ip_route 203.22.166.0/24 -add china_ip_route 203.22.170.0/24 -add china_ip_route 203.22.176.0/21 -add china_ip_route 203.22.194.0/24 -add china_ip_route 203.22.242.0/23 -add china_ip_route 203.22.245.0/24 -add china_ip_route 203.22.246.0/24 -add china_ip_route 203.22.252.0/23 -add china_ip_route 203.23.0.0/24 -add china_ip_route 203.23.47.0/24 -add china_ip_route 203.23.61.0/24 -add china_ip_route 203.23.62.0/23 -add china_ip_route 203.23.73.0/24 -add china_ip_route 203.23.85.0/24 -add china_ip_route 203.23.92.0/22 -add china_ip_route 203.23.98.0/24 -add china_ip_route 203.23.107.0/24 -add china_ip_route 203.23.112.0/24 -add china_ip_route 203.23.130.0/24 -add china_ip_route 203.23.140.0/23 -add china_ip_route 203.23.172.0/24 -add china_ip_route 203.23.182.0/24 -add china_ip_route 203.23.186.0/23 -add china_ip_route 203.23.192.0/24 -add china_ip_route 203.23.197.0/24 -add china_ip_route 203.23.198.0/24 -add china_ip_route 203.23.204.0/22 -add china_ip_route 203.23.224.0/24 -add china_ip_route 203.23.226.0/23 -add china_ip_route 203.23.228.0/22 -add china_ip_route 203.23.249.0/24 -add china_ip_route 203.23.251.0/24 -add china_ip_route 203.24.13.0/24 -add china_ip_route 203.24.18.0/24 -add china_ip_route 203.24.27.0/24 -add china_ip_route 203.24.43.0/24 -add china_ip_route 203.24.56.0/24 -add china_ip_route 203.24.58.0/24 -add china_ip_route 203.24.67.0/24 -add china_ip_route 203.24.74.0/24 -add china_ip_route 203.24.79.0/24 -add china_ip_route 203.24.80.0/23 -add china_ip_route 203.24.84.0/23 -add china_ip_route 203.24.86.0/24 -add china_ip_route 203.24.90.0/24 -add china_ip_route 203.24.111.0/24 -add china_ip_route 203.24.112.0/24 -add china_ip_route 203.24.116.0/24 -add china_ip_route 203.24.122.0/23 -add china_ip_route 203.24.145.0/24 -add china_ip_route 203.24.152.0/23 -add china_ip_route 203.24.157.0/24 -add china_ip_route 203.24.161.0/24 -add china_ip_route 203.24.167.0/24 -add china_ip_route 203.24.186.0/23 -add china_ip_route 203.24.199.0/24 -add china_ip_route 203.24.202.0/24 -add china_ip_route 203.24.212.0/23 -add china_ip_route 203.24.217.0/24 -add china_ip_route 203.24.219.0/24 -add china_ip_route 203.24.244.0/24 -add china_ip_route 203.25.19.0/24 -add china_ip_route 203.25.20.0/23 -add china_ip_route 203.25.46.0/24 -add china_ip_route 203.25.48.0/21 -add china_ip_route 203.25.64.0/23 -add china_ip_route 203.25.91.0/24 -add china_ip_route 203.25.99.0/24 -add china_ip_route 203.25.100.0/24 -add china_ip_route 203.25.106.0/24 -add china_ip_route 203.25.131.0/24 -add china_ip_route 203.25.135.0/24 -add china_ip_route 203.25.138.0/24 -add china_ip_route 203.25.147.0/24 -add china_ip_route 203.25.153.0/24 -add china_ip_route 203.25.154.0/23 -add china_ip_route 203.25.164.0/24 -add china_ip_route 203.25.166.0/24 -add china_ip_route 203.25.174.0/23 -add china_ip_route 203.25.180.0/24 -add china_ip_route 203.25.182.0/24 -add china_ip_route 203.25.191.0/24 -add china_ip_route 203.25.199.0/24 -add china_ip_route 203.25.200.0/24 -add china_ip_route 203.25.202.0/23 -add china_ip_route 203.25.208.0/20 -add china_ip_route 203.25.229.0/24 -add china_ip_route 203.25.235.0/24 -add china_ip_route 203.25.236.0/24 -add china_ip_route 203.25.242.0/24 -add china_ip_route 203.26.12.0/24 -add china_ip_route 203.26.34.0/24 -add china_ip_route 203.26.49.0/24 -add china_ip_route 203.26.50.0/24 -add china_ip_route 203.26.55.0/24 -add china_ip_route 203.26.56.0/23 -add china_ip_route 203.26.60.0/24 -add china_ip_route 203.26.65.0/24 -add china_ip_route 203.26.68.0/24 -add china_ip_route 203.26.76.0/24 -add china_ip_route 203.26.80.0/24 -add china_ip_route 203.26.84.0/24 -add china_ip_route 203.26.97.0/24 -add china_ip_route 203.26.102.0/23 -add china_ip_route 203.26.115.0/24 -add china_ip_route 203.26.116.0/24 -add china_ip_route 203.26.129.0/24 -add china_ip_route 203.26.143.0/24 -add china_ip_route 203.26.144.0/24 -add china_ip_route 203.26.148.0/23 -add china_ip_route 203.26.154.0/24 -add china_ip_route 203.26.158.0/23 -add china_ip_route 203.26.170.0/24 -add china_ip_route 203.26.173.0/24 -add china_ip_route 203.26.176.0/24 -add china_ip_route 203.26.185.0/24 -add china_ip_route 203.26.202.0/23 -add china_ip_route 203.26.210.0/24 -add china_ip_route 203.26.214.0/24 -add china_ip_route 203.26.222.0/24 -add china_ip_route 203.26.224.0/24 -add china_ip_route 203.26.228.0/24 -add china_ip_route 203.26.232.0/24 -add china_ip_route 203.27.0.0/24 -add china_ip_route 203.27.10.0/24 -add china_ip_route 203.27.15.0/24 -add china_ip_route 203.27.16.0/24 -add china_ip_route 203.27.20.0/24 -add china_ip_route 203.27.22.0/23 -add china_ip_route 203.27.40.0/24 -add china_ip_route 203.27.45.0/24 -add china_ip_route 203.27.53.0/24 -add china_ip_route 203.27.65.0/24 -add china_ip_route 203.27.66.0/24 -add china_ip_route 203.27.81.0/24 -add china_ip_route 203.27.88.0/24 -add china_ip_route 203.27.102.0/24 -add china_ip_route 203.27.109.0/24 -add china_ip_route 203.27.117.0/24 -add china_ip_route 203.27.121.0/24 -add china_ip_route 203.27.122.0/23 -add china_ip_route 203.27.125.0/24 -add china_ip_route 203.27.200.0/24 -add china_ip_route 203.27.202.0/24 -add china_ip_route 203.27.233.0/24 -add china_ip_route 203.27.241.0/24 -add china_ip_route 203.27.250.0/24 -add china_ip_route 203.28.10.0/24 -add china_ip_route 203.28.12.0/24 -add china_ip_route 203.28.33.0/24 -add china_ip_route 203.28.34.0/23 -add china_ip_route 203.28.43.0/24 -add china_ip_route 203.28.44.0/24 -add china_ip_route 203.28.54.0/24 -add china_ip_route 203.28.56.0/24 -add china_ip_route 203.28.73.0/24 -add china_ip_route 203.28.74.0/24 -add china_ip_route 203.28.76.0/24 -add china_ip_route 203.28.86.0/24 -add china_ip_route 203.28.88.0/24 -add china_ip_route 203.28.112.0/24 -add china_ip_route 203.28.131.0/24 -add china_ip_route 203.28.136.0/24 -add china_ip_route 203.28.140.0/24 -add china_ip_route 203.28.145.0/24 -add china_ip_route 203.28.165.0/24 -add china_ip_route 203.28.169.0/24 -add china_ip_route 203.28.170.0/24 -add china_ip_route 203.28.178.0/23 -add china_ip_route 203.28.185.0/24 -add china_ip_route 203.28.187.0/24 -add china_ip_route 203.28.196.0/24 -add china_ip_route 203.28.226.0/23 -add china_ip_route 203.28.239.0/24 -add china_ip_route 203.29.2.0/24 -add china_ip_route 203.29.8.0/23 -add china_ip_route 203.29.13.0/24 -add china_ip_route 203.29.14.0/24 -add china_ip_route 203.29.28.0/24 -add china_ip_route 203.29.46.0/24 -add china_ip_route 203.29.57.0/24 -add china_ip_route 203.29.61.0/24 -add china_ip_route 203.29.63.0/24 -add china_ip_route 203.29.69.0/24 -add china_ip_route 203.29.73.0/24 -add china_ip_route 203.29.81.0/24 -add china_ip_route 203.29.90.0/24 -add china_ip_route 203.29.95.0/24 -add china_ip_route 203.29.100.0/24 -add china_ip_route 203.29.103.0/24 -add china_ip_route 203.29.112.0/24 -add china_ip_route 203.29.120.0/22 -add china_ip_route 203.29.182.0/23 -add china_ip_route 203.29.187.0/24 -add china_ip_route 203.29.189.0/24 -add china_ip_route 203.29.190.0/24 -add china_ip_route 203.29.205.0/24 -add china_ip_route 203.29.210.0/24 -add china_ip_route 203.29.217.0/24 -add china_ip_route 203.29.227.0/24 -add china_ip_route 203.29.231.0/24 -add china_ip_route 203.29.233.0/24 -add china_ip_route 203.29.234.0/24 -add china_ip_route 203.29.248.0/24 -add china_ip_route 203.29.254.0/23 -add china_ip_route 203.30.16.0/23 -add china_ip_route 203.30.25.0/24 -add china_ip_route 203.30.27.0/24 -add china_ip_route 203.30.29.0/24 -add china_ip_route 203.30.66.0/24 -add china_ip_route 203.30.81.0/24 -add china_ip_route 203.30.87.0/24 -add china_ip_route 203.30.111.0/24 -add china_ip_route 203.30.121.0/24 -add china_ip_route 203.30.123.0/24 -add china_ip_route 203.30.152.0/24 -add china_ip_route 203.30.156.0/24 -add china_ip_route 203.30.162.0/24 -add china_ip_route 203.30.173.0/24 -add china_ip_route 203.30.175.0/24 -add china_ip_route 203.30.187.0/24 -add china_ip_route 203.30.194.0/24 -add china_ip_route 203.30.217.0/24 -add china_ip_route 203.30.220.0/24 -add china_ip_route 203.30.222.0/24 -add china_ip_route 203.30.232.0/23 -add china_ip_route 203.30.235.0/24 -add china_ip_route 203.30.240.0/23 -add china_ip_route 203.30.246.0/24 -add china_ip_route 203.30.250.0/23 -add china_ip_route 203.31.45.0/24 -add china_ip_route 203.31.46.0/24 -add china_ip_route 203.31.49.0/24 -add china_ip_route 203.31.51.0/24 -add china_ip_route 203.31.54.0/23 -add china_ip_route 203.31.69.0/24 -add china_ip_route 203.31.72.0/24 -add china_ip_route 203.31.80.0/24 -add china_ip_route 203.31.85.0/24 -add china_ip_route 203.31.97.0/24 -add china_ip_route 203.31.105.0/24 -add china_ip_route 203.31.106.0/24 -add china_ip_route 203.31.108.0/23 -add china_ip_route 203.31.124.0/24 -add china_ip_route 203.31.162.0/24 -add china_ip_route 203.31.174.0/24 -add china_ip_route 203.31.177.0/24 -add china_ip_route 203.31.181.0/24 -add china_ip_route 203.31.187.0/24 -add china_ip_route 203.31.189.0/24 -add china_ip_route 203.31.204.0/24 -add china_ip_route 203.31.220.0/24 -add china_ip_route 203.31.222.0/23 -add china_ip_route 203.31.225.0/24 -add china_ip_route 203.31.229.0/24 -add china_ip_route 203.31.248.0/23 -add china_ip_route 203.31.253.0/24 -add china_ip_route 203.32.20.0/24 -add china_ip_route 203.32.48.0/23 -add china_ip_route 203.32.56.0/24 -add china_ip_route 203.32.60.0/24 -add china_ip_route 203.32.62.0/24 -add china_ip_route 203.32.68.0/23 -add china_ip_route 203.32.76.0/24 -add china_ip_route 203.32.81.0/24 -add china_ip_route 203.32.84.0/23 -add china_ip_route 203.32.95.0/24 -add china_ip_route 203.32.102.0/24 -add china_ip_route 203.32.105.0/24 -add china_ip_route 203.32.130.0/24 -add china_ip_route 203.32.133.0/24 -add china_ip_route 203.32.140.0/24 -add china_ip_route 203.32.152.0/24 -add china_ip_route 203.32.186.0/23 -add china_ip_route 203.32.192.0/24 -add china_ip_route 203.32.196.0/24 -add china_ip_route 203.32.203.0/24 -add china_ip_route 203.32.204.0/23 -add china_ip_route 203.32.212.0/24 -add china_ip_route 203.33.4.0/24 -add china_ip_route 203.33.7.0/24 -add china_ip_route 203.33.8.0/21 -add china_ip_route 203.33.21.0/24 -add china_ip_route 203.33.26.0/24 -add china_ip_route 203.33.32.0/24 -add china_ip_route 203.33.63.0/24 -add china_ip_route 203.33.64.0/24 -add china_ip_route 203.33.67.0/24 -add china_ip_route 203.33.68.0/24 -add china_ip_route 203.33.73.0/24 -add china_ip_route 203.33.79.0/24 -add china_ip_route 203.33.100.0/24 -add china_ip_route 203.33.122.0/24 -add china_ip_route 203.33.129.0/24 -add china_ip_route 203.33.131.0/24 -add china_ip_route 203.33.145.0/24 -add china_ip_route 203.33.156.0/24 -add china_ip_route 203.33.158.0/23 -add china_ip_route 203.33.174.0/24 -add china_ip_route 203.33.185.0/24 -add china_ip_route 203.33.200.0/24 -add china_ip_route 203.33.202.0/23 -add china_ip_route 203.33.204.0/24 -add china_ip_route 203.33.206.0/23 -add china_ip_route 203.33.214.0/23 -add china_ip_route 203.33.224.0/23 -add china_ip_route 203.33.226.0/24 -add china_ip_route 203.33.233.0/24 -add china_ip_route 203.33.243.0/24 -add china_ip_route 203.33.250.0/24 -add china_ip_route 203.34.4.0/24 -add china_ip_route 203.34.21.0/24 -add china_ip_route 203.34.27.0/24 -add china_ip_route 203.34.39.0/24 -add china_ip_route 203.34.48.0/23 -add china_ip_route 203.34.54.0/24 -add china_ip_route 203.34.56.0/23 -add china_ip_route 203.34.67.0/24 -add china_ip_route 203.34.69.0/24 -add china_ip_route 203.34.76.0/24 -add china_ip_route 203.34.92.0/24 -add china_ip_route 203.34.106.0/24 -add china_ip_route 203.34.113.0/24 -add china_ip_route 203.34.147.0/24 -add china_ip_route 203.34.150.0/24 -add china_ip_route 203.34.152.0/23 -add china_ip_route 203.34.161.0/24 -add china_ip_route 203.34.162.0/24 -add china_ip_route 203.34.187.0/24 -add china_ip_route 203.34.192.0/21 -add china_ip_route 203.34.204.0/22 -add china_ip_route 203.34.232.0/24 -add china_ip_route 203.34.240.0/24 -add china_ip_route 203.34.242.0/24 -add china_ip_route 203.34.245.0/24 -add china_ip_route 203.34.251.0/24 -add china_ip_route 203.55.2.0/23 -add china_ip_route 203.55.4.0/24 -add china_ip_route 203.55.10.0/24 -add china_ip_route 203.55.13.0/24 -add china_ip_route 203.55.22.0/24 -add china_ip_route 203.55.30.0/24 -add china_ip_route 203.55.93.0/24 -add china_ip_route 203.55.101.0/24 -add china_ip_route 203.55.109.0/24 -add china_ip_route 203.55.110.0/24 -add china_ip_route 203.55.116.0/23 -add china_ip_route 203.55.119.0/24 -add china_ip_route 203.55.128.0/23 -add china_ip_route 203.55.146.0/23 -add china_ip_route 203.55.192.0/24 -add china_ip_route 203.55.196.0/24 -add china_ip_route 203.55.218.0/23 -add china_ip_route 203.55.221.0/24 -add china_ip_route 203.55.224.0/24 -add china_ip_route 203.56.1.0/24 -add china_ip_route 203.56.4.0/24 -add china_ip_route 203.56.12.0/24 -add china_ip_route 203.56.24.0/24 -add china_ip_route 203.56.38.0/24 -add china_ip_route 203.56.40.0/24 -add china_ip_route 203.56.46.0/24 -add china_ip_route 203.56.48.0/21 -add china_ip_route 203.56.68.0/23 -add china_ip_route 203.56.82.0/23 -add china_ip_route 203.56.84.0/23 -add china_ip_route 203.56.95.0/24 -add china_ip_route 203.56.110.0/24 -add china_ip_route 203.56.121.0/24 -add china_ip_route 203.56.161.0/24 -add china_ip_route 203.56.169.0/24 -add china_ip_route 203.56.172.0/23 -add china_ip_route 203.56.175.0/24 -add china_ip_route 203.56.183.0/24 -add china_ip_route 203.56.185.0/24 -add china_ip_route 203.56.187.0/24 -add china_ip_route 203.56.192.0/24 -add china_ip_route 203.56.198.0/24 -add china_ip_route 203.56.201.0/24 -add china_ip_route 203.56.208.0/23 -add china_ip_route 203.56.210.0/24 -add china_ip_route 203.56.214.0/24 -add china_ip_route 203.56.216.0/24 -add china_ip_route 203.56.227.0/24 -add china_ip_route 203.56.228.0/24 -add china_ip_route 203.56.231.0/24 -add china_ip_route 203.56.232.0/24 -add china_ip_route 203.56.240.0/24 -add china_ip_route 203.56.252.0/24 -add china_ip_route 203.56.254.0/24 -add china_ip_route 203.57.5.0/24 -add china_ip_route 203.57.6.0/24 -add china_ip_route 203.57.12.0/23 -add china_ip_route 203.57.28.0/24 -add china_ip_route 203.57.39.0/24 -add china_ip_route 203.57.46.0/24 -add china_ip_route 203.57.58.0/24 -add china_ip_route 203.57.61.0/24 -add china_ip_route 203.57.66.0/24 -add china_ip_route 203.57.69.0/24 -add china_ip_route 203.57.70.0/23 -add china_ip_route 203.57.73.0/24 -add china_ip_route 203.57.90.0/24 -add china_ip_route 203.57.101.0/24 -add china_ip_route 203.57.109.0/24 -add china_ip_route 203.57.123.0/24 -add china_ip_route 203.57.157.0/24 -add china_ip_route 203.57.200.0/24 -add china_ip_route 203.57.202.0/24 -add china_ip_route 203.57.206.0/24 -add china_ip_route 203.57.222.0/24 -add china_ip_route 203.57.224.0/20 -add china_ip_route 203.57.246.0/23 -add china_ip_route 203.57.249.0/24 -add china_ip_route 203.57.253.0/24 -add china_ip_route 203.57.254.0/23 -add china_ip_route 203.62.2.0/24 -add china_ip_route 203.62.131.0/24 -add china_ip_route 203.62.139.0/24 -add china_ip_route 203.62.161.0/24 -add china_ip_route 203.62.197.0/24 -add china_ip_route 203.62.228.0/22 -add china_ip_route 203.62.234.0/24 -add china_ip_route 203.62.246.0/24 -add china_ip_route 203.76.160.0/22 -add china_ip_route 203.76.168.0/22 -add china_ip_route 203.76.208.0/22 -add china_ip_route 203.76.212.0/22 -add china_ip_route 203.76.216.0/22 -add china_ip_route 203.76.240.0/22 -add china_ip_route 203.76.244.0/22 -add china_ip_route 203.77.180.0/22 -add china_ip_route 203.78.48.0/20 -add china_ip_route 203.78.156.0/22 -add china_ip_route 203.79.0.0/20 -add china_ip_route 203.79.32.0/20 -add china_ip_route 203.80.4.0/23 -add china_ip_route 203.80.32.0/20 -add china_ip_route 203.80.57.0/24 -add china_ip_route 203.80.129.0/24 -add china_ip_route 203.80.132.0/22 -add china_ip_route 203.80.136.0/21 -add china_ip_route 203.80.144.0/20 -add china_ip_route 203.81.0.0/21 -add china_ip_route 203.81.16.0/20 -add china_ip_route 203.81.244.0/22 -add china_ip_route 203.82.0.0/23 -add china_ip_route 203.82.16.0/21 -add china_ip_route 203.82.112.0/22 -add china_ip_route 203.82.116.0/22 -add china_ip_route 203.82.120.0/22 -add china_ip_route 203.82.124.0/22 -add china_ip_route 203.82.224.0/22 -add china_ip_route 203.82.228.0/22 -add china_ip_route 203.82.232.0/22 -add china_ip_route 203.82.236.0/22 -add china_ip_route 203.83.0.0/22 -add china_ip_route 203.83.8.0/22 -add china_ip_route 203.83.12.0/22 -add china_ip_route 203.83.56.0/21 -add china_ip_route 203.83.224.0/20 -add china_ip_route 203.86.0.0/19 -add china_ip_route 203.86.32.0/19 -add china_ip_route 203.86.64.0/20 -add china_ip_route 203.86.80.0/20 -add china_ip_route 203.86.96.0/19 -add china_ip_route 203.86.250.0/24 -add china_ip_route 203.86.254.0/23 -add china_ip_route 203.88.32.0/19 -add china_ip_route 203.88.100.0/22 -add china_ip_route 203.88.192.0/19 -add china_ip_route 203.89.0.0/22 -add china_ip_route 203.89.8.0/21 -add china_ip_route 203.89.100.0/22 -add china_ip_route 203.89.133.0/24 -add china_ip_route 203.89.136.0/22 -add china_ip_route 203.89.144.0/24 -add china_ip_route 203.90.0.0/22 -add china_ip_route 203.90.8.0/22 -add china_ip_route 203.90.12.0/22 -add china_ip_route 203.90.128.0/19 -add china_ip_route 203.90.160.0/19 -add china_ip_route 203.90.192.0/19 -add china_ip_route 203.91.32.0/19 -add china_ip_route 203.91.96.0/20 -add china_ip_route 203.91.120.0/21 -add china_ip_route 203.92.0.0/22 -add china_ip_route 203.92.6.0/24 -add china_ip_route 203.92.160.0/19 -add china_ip_route 203.93.0.0/22 -add china_ip_route 203.93.4.0/22 -add china_ip_route 203.93.8.0/24 -add china_ip_route 203.93.9.0/24 -add china_ip_route 203.93.10.0/23 -add china_ip_route 203.93.12.0/22 -add china_ip_route 203.93.16.0/20 -add china_ip_route 203.93.32.0/19 -add china_ip_route 203.93.64.0/18 -add china_ip_route 203.93.128.0/21 -add china_ip_route 203.93.136.0/22 -add china_ip_route 203.93.140.0/24 -add china_ip_route 203.93.141.0/24 -add china_ip_route 203.93.142.0/23 -add china_ip_route 203.93.144.0/20 -add china_ip_route 203.93.160.0/19 -add china_ip_route 203.93.192.0/18 -add china_ip_route 203.94.0.0/22 -add china_ip_route 203.94.4.0/22 -add china_ip_route 203.94.8.0/21 -add china_ip_route 203.94.16.0/20 -add china_ip_route 203.95.0.0/21 -add china_ip_route 203.95.96.0/20 -add china_ip_route 203.95.112.0/20 -add china_ip_route 203.95.128.0/18 -add china_ip_route 203.95.200.0/22 -add china_ip_route 203.95.204.0/22 -add china_ip_route 203.95.208.0/22 -add china_ip_route 203.95.224.0/19 -add china_ip_route 203.99.8.0/21 -add china_ip_route 203.99.16.0/20 -add china_ip_route 203.99.80.0/20 -add china_ip_route 203.100.32.0/20 -add china_ip_route 203.100.48.0/21 -add china_ip_route 203.100.58.0/24 -add china_ip_route 203.100.60.0/24 -add china_ip_route 203.100.63.0/24 -add china_ip_route 203.100.80.0/20 -add china_ip_route 203.100.96.0/19 -add china_ip_route 203.100.192.0/20 -add china_ip_route 203.104.32.0/20 -add china_ip_route 203.105.96.0/19 -add china_ip_route 203.105.128.0/19 -add china_ip_route 203.107.0.0/17 -add china_ip_route 203.110.160.0/19 -add china_ip_route 203.110.208.0/20 -add china_ip_route 203.110.232.0/23 -add china_ip_route 203.110.234.0/24 -add china_ip_route 203.114.80.0/22 -add china_ip_route 203.114.84.0/22 -add china_ip_route 203.114.88.0/22 -add china_ip_route 203.114.92.0/22 -add china_ip_route 203.114.244.0/22 -add china_ip_route 203.118.192.0/19 -add china_ip_route 203.118.241.0/24 -add china_ip_route 203.118.248.0/22 -add china_ip_route 203.119.24.0/21 -add china_ip_route 203.119.32.0/22 -add china_ip_route 203.119.80.0/22 -add china_ip_route 203.119.85.0/24 -add china_ip_route 203.119.113.0/24 -add china_ip_route 203.119.114.0/23 -add china_ip_route 203.119.116.0/22 -add china_ip_route 203.119.120.0/21 -add china_ip_route 203.119.128.0/17 -add china_ip_route 203.123.58.0/24 -add china_ip_route 203.128.32.0/19 -add china_ip_route 203.128.96.0/19 -add china_ip_route 203.128.224.0/21 -add china_ip_route 203.129.8.0/21 -add china_ip_route 203.130.32.0/19 -add china_ip_route 203.132.32.0/19 -add china_ip_route 203.134.240.0/21 -add china_ip_route 203.135.96.0/20 -add china_ip_route 203.135.112.0/20 -add china_ip_route 203.135.160.0/20 -add china_ip_route 203.142.219.0/24 -add china_ip_route 203.142.224.0/19 -add china_ip_route 203.144.96.0/19 -add china_ip_route 203.145.0.0/19 -add china_ip_route 203.148.0.0/18 -add china_ip_route 203.148.64.0/20 -add china_ip_route 203.148.80.0/22 -add china_ip_route 203.148.86.0/23 -add china_ip_route 203.149.92.0/22 -add china_ip_route 203.152.64.0/19 -add china_ip_route 203.152.128.0/19 -add china_ip_route 203.153.0.0/22 -add china_ip_route 203.156.192.0/18 -add china_ip_route 203.158.16.0/21 -add china_ip_route 203.160.52.0/22 -add china_ip_route 203.160.104.0/21 -add china_ip_route 203.160.129.0/24 -add china_ip_route 203.160.192.0/19 -add china_ip_route 203.161.0.0/22 -add china_ip_route 203.161.180.0/24 -add china_ip_route 203.161.183.0/24 -add china_ip_route 203.161.192.0/19 -add china_ip_route 203.166.160.0/19 -add china_ip_route 203.167.28.0/22 -add china_ip_route 203.168.0.0/19 -add china_ip_route 203.170.58.0/23 -add china_ip_route 203.171.0.0/22 -add china_ip_route 203.171.208.0/24 -add china_ip_route 203.171.224.0/20 -add china_ip_route 203.174.4.0/24 -add china_ip_route 203.174.6.0/24 -add china_ip_route 203.174.7.0/24 -add china_ip_route 203.174.96.0/19 -add china_ip_route 203.175.128.0/19 -add china_ip_route 203.175.192.0/18 -add china_ip_route 203.176.0.0/18 -add china_ip_route 203.176.64.0/19 -add china_ip_route 203.176.168.0/21 -add china_ip_route 203.184.80.0/20 -add china_ip_route 203.185.189.0/24 -add china_ip_route 203.187.160.0/19 -add china_ip_route 203.189.0.0/23 -add china_ip_route 203.189.6.0/23 -add china_ip_route 203.189.112.0/22 -add china_ip_route 203.189.192.0/19 -add china_ip_route 203.189.232.0/22 -add china_ip_route 203.189.240.0/22 -add china_ip_route 203.190.96.0/20 -add china_ip_route 203.190.249.0/24 -add china_ip_route 203.191.0.0/23 -add china_ip_route 203.191.2.0/24 -add china_ip_route 203.191.5.0/24 -add china_ip_route 203.191.7.0/24 -add china_ip_route 203.191.16.0/20 -add china_ip_route 203.191.64.0/18 -add china_ip_route 203.191.133.0/24 -add china_ip_route 203.191.144.0/21 -add china_ip_route 203.191.152.0/21 -add china_ip_route 203.192.0.0/19 -add china_ip_route 203.193.224.0/19 -add china_ip_route 203.194.120.0/21 -add china_ip_route 203.195.64.0/19 -add china_ip_route 203.195.112.0/21 -add china_ip_route 203.195.128.0/17 -add china_ip_route 203.196.0.0/21 -add china_ip_route 203.196.8.0/21 -add china_ip_route 203.196.28.0/22 -add china_ip_route 203.201.181.0/24 -add china_ip_route 203.201.182.0/24 -add china_ip_route 203.202.236.0/22 -add china_ip_route 203.205.64.0/19 -add china_ip_route 203.205.128.0/17 -add china_ip_route 203.207.64.0/20 -add china_ip_route 203.207.80.0/21 -add china_ip_route 203.207.88.0/22 -add china_ip_route 203.207.92.0/22 -add china_ip_route 203.207.96.0/20 -add china_ip_route 203.207.112.0/20 -add china_ip_route 203.207.128.0/18 -add china_ip_route 203.207.192.0/21 -add china_ip_route 203.207.200.0/21 -add china_ip_route 203.207.208.0/20 -add china_ip_route 203.207.224.0/19 -add china_ip_route 203.208.0.0/20 -add china_ip_route 203.208.16.0/22 -add china_ip_route 203.208.32.0/19 -add china_ip_route 203.209.224.0/19 -add china_ip_route 203.212.0.0/20 -add china_ip_route 203.212.80.0/20 -add china_ip_route 203.215.232.0/21 -add china_ip_route 203.217.164.0/22 -add china_ip_route 203.223.0.0/20 -add china_ip_route 203.223.16.0/21 -add china_ip_route 204.52.191.0/24 -add china_ip_route 210.2.0.0/20 -add china_ip_route 210.2.16.0/20 -add china_ip_route 210.5.0.0/19 -add china_ip_route 210.5.56.0/21 -add china_ip_route 210.5.128.0/20 -add china_ip_route 210.5.144.0/20 -add china_ip_route 210.7.56.0/22 -add china_ip_route 210.7.60.0/22 -add china_ip_route 210.12.0.0/18 -add china_ip_route 210.12.64.0/18 -add china_ip_route 210.12.128.0/18 -add china_ip_route 210.12.192.0/18 -add china_ip_route 210.13.0.0/18 -add china_ip_route 210.13.64.0/18 -add china_ip_route 210.13.128.0/17 -add china_ip_route 210.14.64.0/19 -add china_ip_route 210.14.112.0/20 -add china_ip_route 210.14.128.0/19 -add china_ip_route 210.14.160.0/19 -add china_ip_route 210.14.192.0/19 -add china_ip_route 210.14.224.0/19 -add china_ip_route 210.15.0.0/19 -add china_ip_route 210.15.32.0/19 -add china_ip_route 210.15.64.0/19 -add china_ip_route 210.15.96.0/19 -add china_ip_route 210.15.128.0/18 -add china_ip_route 210.16.104.0/22 -add china_ip_route 210.16.128.0/18 -add china_ip_route 210.21.0.0/17 -add china_ip_route 210.21.128.0/17 -add china_ip_route 210.22.0.0/16 -add china_ip_route 210.23.32.0/19 -add china_ip_route 210.25.0.0/16 -add china_ip_route 210.26.0.0/15 -add china_ip_route 210.28.0.0/14 -add china_ip_route 210.32.0.0/14 -add china_ip_route 210.36.0.0/14 -add china_ip_route 210.40.0.0/13 -add china_ip_route 210.51.0.0/16 -add china_ip_route 210.52.0.0/18 -add china_ip_route 210.52.64.0/18 -add china_ip_route 210.52.128.0/17 -add china_ip_route 210.53.0.0/17 -add china_ip_route 210.53.128.0/17 -add china_ip_route 210.56.192.0/19 -add china_ip_route 210.72.0.0/17 -add china_ip_route 210.72.128.0/19 -add china_ip_route 210.72.160.0/19 -add china_ip_route 210.72.192.0/18 -add china_ip_route 210.73.0.0/19 -add china_ip_route 210.73.32.0/19 -add china_ip_route 210.73.64.0/18 -add china_ip_route 210.73.128.0/17 -add china_ip_route 210.74.0.0/19 -add china_ip_route 210.74.32.0/19 -add china_ip_route 210.74.64.0/19 -add china_ip_route 210.74.96.0/19 -add china_ip_route 210.74.128.0/19 -add china_ip_route 210.74.160.0/19 -add china_ip_route 210.74.192.0/18 -add china_ip_route 210.75.0.0/16 -add china_ip_route 210.76.0.0/19 -add china_ip_route 210.76.32.0/19 -add china_ip_route 210.76.64.0/18 -add china_ip_route 210.76.128.0/17 -add china_ip_route 210.77.0.0/16 -add china_ip_route 210.78.0.0/19 -add china_ip_route 210.78.32.0/19 -add china_ip_route 210.78.64.0/18 -add china_ip_route 210.78.128.0/19 -add china_ip_route 210.78.160.0/19 -add china_ip_route 210.78.192.0/18 -add china_ip_route 210.79.64.0/18 -add china_ip_route 210.79.224.0/19 -add china_ip_route 210.82.0.0/15 -add china_ip_route 210.87.128.0/20 -add china_ip_route 210.87.144.0/20 -add china_ip_route 210.87.160.0/19 -add china_ip_route 210.185.192.0/18 -add china_ip_route 210.192.96.0/19 -add china_ip_route 211.64.0.0/14 -add china_ip_route 211.68.0.0/15 -add china_ip_route 211.70.0.0/15 -add china_ip_route 211.80.0.0/16 -add china_ip_route 211.81.0.0/16 -add china_ip_route 211.82.0.0/16 -add china_ip_route 211.83.0.0/16 -add china_ip_route 211.84.0.0/15 -add china_ip_route 211.86.0.0/15 -add china_ip_route 211.88.0.0/16 -add china_ip_route 211.89.0.0/16 -add china_ip_route 211.90.0.0/15 -add china_ip_route 211.92.0.0/15 -add china_ip_route 211.94.0.0/15 -add china_ip_route 211.96.0.0/15 -add china_ip_route 211.98.0.0/16 -add china_ip_route 211.99.0.0/18 -add china_ip_route 211.99.64.0/19 -add china_ip_route 211.99.96.0/19 -add china_ip_route 211.99.128.0/17 -add china_ip_route 211.100.0.0/16 -add china_ip_route 211.101.0.0/18 -add china_ip_route 211.101.64.0/18 -add china_ip_route 211.101.128.0/17 -add china_ip_route 211.102.0.0/16 -add china_ip_route 211.103.0.0/17 -add china_ip_route 211.103.128.0/17 -add china_ip_route 211.136.0.0/14 -add china_ip_route 211.140.0.0/15 -add china_ip_route 211.142.0.0/17 -add china_ip_route 211.142.128.0/17 -add china_ip_route 211.143.0.0/16 -add china_ip_route 211.144.0.0/15 -add china_ip_route 211.146.0.0/16 -add china_ip_route 211.147.0.0/16 -add china_ip_route 211.148.0.0/14 -add china_ip_route 211.152.0.0/15 -add china_ip_route 211.154.0.0/16 -add china_ip_route 211.155.0.0/18 -add china_ip_route 211.155.64.0/19 -add china_ip_route 211.155.96.0/19 -add china_ip_route 211.155.128.0/17 -add china_ip_route 211.156.0.0/14 -add china_ip_route 211.160.0.0/14 -add china_ip_route 211.164.0.0/14 -add china_ip_route 212.64.0.0/17 -add china_ip_route 212.129.128.0/17 -add china_ip_route 218.0.0.0/16 -add china_ip_route 218.1.0.0/16 -add china_ip_route 218.2.0.0/15 -add china_ip_route 218.4.0.0/15 -add china_ip_route 218.6.0.0/16 -add china_ip_route 218.7.0.0/16 -add china_ip_route 218.8.0.0/15 -add china_ip_route 218.10.0.0/16 -add china_ip_route 218.11.0.0/16 -add china_ip_route 218.12.0.0/16 -add china_ip_route 218.13.0.0/16 -add china_ip_route 218.14.0.0/15 -add china_ip_route 218.16.0.0/14 -add china_ip_route 218.20.0.0/16 -add china_ip_route 218.21.0.0/17 -add china_ip_route 218.21.128.0/17 -add china_ip_route 218.22.0.0/15 -add china_ip_route 218.24.0.0/15 -add china_ip_route 218.26.0.0/16 -add china_ip_route 218.27.0.0/16 -add china_ip_route 218.28.0.0/15 -add china_ip_route 218.30.0.0/15 -add china_ip_route 218.56.0.0/14 -add china_ip_route 218.60.0.0/15 -add china_ip_route 218.62.0.0/17 -add china_ip_route 218.62.128.0/17 -add china_ip_route 218.63.0.0/16 -add china_ip_route 218.64.0.0/15 -add china_ip_route 218.66.0.0/16 -add china_ip_route 218.67.0.0/17 -add china_ip_route 218.67.128.0/17 -add china_ip_route 218.68.0.0/15 -add china_ip_route 218.70.0.0/15 -add china_ip_route 218.72.0.0/14 -add china_ip_route 218.76.0.0/15 -add china_ip_route 218.78.0.0/15 -add china_ip_route 218.80.0.0/14 -add china_ip_route 218.84.0.0/14 -add china_ip_route 218.88.0.0/13 -add china_ip_route 218.96.0.0/15 -add china_ip_route 218.98.0.0/17 -add china_ip_route 218.98.128.0/18 -add china_ip_route 218.98.192.0/19 -add china_ip_route 218.98.224.0/19 -add china_ip_route 218.99.0.0/16 -add china_ip_route 218.100.88.0/21 -add china_ip_route 218.100.96.0/19 -add china_ip_route 218.100.128.0/17 -add china_ip_route 218.104.0.0/17 -add china_ip_route 218.104.128.0/19 -add china_ip_route 218.104.160.0/19 -add china_ip_route 218.104.192.0/21 -add china_ip_route 218.104.200.0/21 -add china_ip_route 218.104.208.0/20 -add china_ip_route 218.104.224.0/19 -add china_ip_route 218.105.0.0/16 -add china_ip_route 218.106.0.0/15 -add china_ip_route 218.108.0.0/16 -add china_ip_route 218.109.0.0/16 -add china_ip_route 218.185.192.0/19 -add china_ip_route 218.185.240.0/21 -add china_ip_route 218.192.0.0/16 -add china_ip_route 218.193.0.0/16 -add china_ip_route 218.194.0.0/16 -add china_ip_route 218.195.0.0/16 -add china_ip_route 218.196.0.0/14 -add china_ip_route 218.200.0.0/14 -add china_ip_route 218.204.0.0/15 -add china_ip_route 218.206.0.0/15 -add china_ip_route 218.240.0.0/14 -add china_ip_route 218.244.0.0/15 -add china_ip_route 218.246.0.0/15 -add china_ip_route 218.249.0.0/16 -add china_ip_route 219.72.0.0/16 -add china_ip_route 219.82.0.0/16 -add china_ip_route 219.83.128.0/17 -add china_ip_route 219.90.68.0/22 -add china_ip_route 219.90.72.0/22 -add china_ip_route 219.90.76.0/22 -add china_ip_route 219.128.0.0/12 -add china_ip_route 219.144.0.0/14 -add china_ip_route 219.148.0.0/16 -add china_ip_route 219.149.0.0/17 -add china_ip_route 219.149.128.0/18 -add china_ip_route 219.149.192.0/18 -add china_ip_route 219.150.0.0/19 -add china_ip_route 219.150.32.0/19 -add china_ip_route 219.150.64.0/19 -add china_ip_route 219.150.96.0/20 -add china_ip_route 219.150.112.0/20 -add china_ip_route 219.150.128.0/17 -add china_ip_route 219.151.0.0/19 -add china_ip_route 219.151.32.0/19 -add china_ip_route 219.151.64.0/18 -add china_ip_route 219.151.128.0/17 -add china_ip_route 219.152.0.0/15 -add china_ip_route 219.154.0.0/15 -add china_ip_route 219.156.0.0/15 -add china_ip_route 219.158.0.0/17 -add china_ip_route 219.158.128.0/17 -add china_ip_route 219.159.0.0/18 -add china_ip_route 219.159.64.0/18 -add china_ip_route 219.159.128.0/17 -add china_ip_route 219.216.0.0/15 -add china_ip_route 219.218.0.0/15 -add china_ip_route 219.220.0.0/16 -add china_ip_route 219.221.0.0/16 -add china_ip_route 219.222.0.0/15 -add china_ip_route 219.224.0.0/15 -add china_ip_route 219.226.0.0/16 -add china_ip_route 219.227.0.0/16 -add china_ip_route 219.228.0.0/15 -add china_ip_route 219.230.0.0/15 -add china_ip_route 219.232.0.0/14 -add china_ip_route 219.236.0.0/15 -add china_ip_route 219.238.0.0/15 -add china_ip_route 219.242.0.0/15 -add china_ip_route 219.244.0.0/14 -add china_ip_route 220.101.192.0/18 -add china_ip_route 220.112.0.0/14 -add china_ip_route 220.152.128.0/17 -add china_ip_route 220.154.0.0/15 -add china_ip_route 220.158.240.0/22 -add china_ip_route 220.160.0.0/11 -add china_ip_route 220.192.0.0/15 -add china_ip_route 220.194.0.0/15 -add china_ip_route 220.196.0.0/14 -add china_ip_route 220.200.0.0/13 -add china_ip_route 220.231.0.0/18 -add china_ip_route 220.231.128.0/17 -add china_ip_route 220.232.64.0/18 -add china_ip_route 220.234.0.0/16 -add china_ip_route 220.242.0.0/15 -add china_ip_route 220.247.136.0/21 -add china_ip_route 220.248.0.0/14 -add china_ip_route 220.252.0.0/16 -add china_ip_route 221.0.0.0/15 -add china_ip_route 221.2.0.0/16 -add china_ip_route 221.3.0.0/17 -add china_ip_route 221.3.128.0/17 -add china_ip_route 221.4.0.0/16 -add china_ip_route 221.5.0.0/17 -add china_ip_route 221.5.128.0/17 -add china_ip_route 221.6.0.0/16 -add china_ip_route 221.7.0.0/19 -add china_ip_route 221.7.32.0/19 -add china_ip_route 221.7.64.0/19 -add china_ip_route 221.7.96.0/19 -add china_ip_route 221.7.128.0/17 -add china_ip_route 221.8.0.0/15 -add china_ip_route 221.10.0.0/16 -add china_ip_route 221.11.0.0/17 -add china_ip_route 221.11.128.0/18 -add china_ip_route 221.11.192.0/19 -add china_ip_route 221.11.224.0/19 -add china_ip_route 221.12.0.0/17 -add china_ip_route 221.12.128.0/18 -add china_ip_route 221.13.0.0/18 -add china_ip_route 221.13.64.0/19 -add china_ip_route 221.13.96.0/19 -add china_ip_route 221.13.128.0/17 -add china_ip_route 221.14.0.0/15 -add china_ip_route 221.122.0.0/15 -add china_ip_route 221.128.128.0/17 -add china_ip_route 221.129.0.0/16 -add china_ip_route 221.130.0.0/15 -add china_ip_route 221.133.224.0/19 -add china_ip_route 221.136.0.0/16 -add china_ip_route 221.137.0.0/16 -add china_ip_route 221.172.0.0/14 -add china_ip_route 221.176.0.0/13 -add china_ip_route 221.192.0.0/15 -add china_ip_route 221.194.0.0/16 -add china_ip_route 221.195.0.0/16 -add china_ip_route 221.196.0.0/15 -add china_ip_route 221.198.0.0/16 -add china_ip_route 221.199.0.0/19 -add china_ip_route 221.199.32.0/20 -add china_ip_route 221.199.48.0/20 -add china_ip_route 221.199.64.0/18 -add china_ip_route 221.199.128.0/18 -add china_ip_route 221.199.192.0/20 -add china_ip_route 221.199.224.0/19 -add china_ip_route 221.200.0.0/14 -add china_ip_route 221.204.0.0/15 -add china_ip_route 221.206.0.0/16 -add china_ip_route 221.207.0.0/18 -add china_ip_route 221.207.64.0/18 -add china_ip_route 221.207.128.0/17 -add china_ip_route 221.208.0.0/14 -add china_ip_route 221.212.0.0/16 -add china_ip_route 221.213.0.0/16 -add china_ip_route 221.214.0.0/15 -add china_ip_route 221.216.0.0/13 -add china_ip_route 221.224.0.0/13 -add china_ip_route 221.232.0.0/14 -add china_ip_route 221.236.0.0/15 -add china_ip_route 221.238.0.0/16 -add china_ip_route 221.239.0.0/17 -add china_ip_route 221.239.128.0/17 -add china_ip_route 222.16.0.0/15 -add china_ip_route 222.18.0.0/15 -add china_ip_route 222.20.0.0/15 -add china_ip_route 222.22.0.0/16 -add china_ip_route 222.23.0.0/16 -add china_ip_route 222.24.0.0/15 -add china_ip_route 222.26.0.0/15 -add china_ip_route 222.28.0.0/14 -add china_ip_route 222.32.0.0/11 -add china_ip_route 222.64.0.0/13 -add china_ip_route 222.72.0.0/15 -add china_ip_route 222.74.0.0/16 -add china_ip_route 222.75.0.0/16 -add china_ip_route 222.76.0.0/14 -add china_ip_route 222.80.0.0/15 -add china_ip_route 222.82.0.0/16 -add china_ip_route 222.83.0.0/17 -add china_ip_route 222.83.128.0/17 -add china_ip_route 222.84.0.0/16 -add china_ip_route 222.85.0.0/17 -add china_ip_route 222.85.128.0/17 -add china_ip_route 222.86.0.0/15 -add china_ip_route 222.88.0.0/15 -add china_ip_route 222.90.0.0/15 -add china_ip_route 222.92.0.0/14 -add china_ip_route 222.125.0.0/16 -add china_ip_route 222.126.128.0/17 -add china_ip_route 222.128.0.0/14 -add china_ip_route 222.132.0.0/14 -add china_ip_route 222.136.0.0/13 -add china_ip_route 222.160.0.0/15 -add china_ip_route 222.162.0.0/16 -add china_ip_route 222.163.0.0/19 -add china_ip_route 222.163.32.0/19 -add china_ip_route 222.163.64.0/18 -add china_ip_route 222.163.128.0/17 -add china_ip_route 222.168.0.0/15 -add china_ip_route 222.170.0.0/15 -add china_ip_route 222.172.0.0/17 -add china_ip_route 222.172.128.0/17 -add china_ip_route 222.173.0.0/16 -add china_ip_route 222.174.0.0/15 -add china_ip_route 222.176.0.0/13 -add china_ip_route 222.184.0.0/13 -add china_ip_route 222.192.0.0/14 -add china_ip_route 222.196.0.0/15 -add china_ip_route 222.198.0.0/16 -add china_ip_route 222.199.0.0/16 -add china_ip_route 222.200.0.0/14 -add china_ip_route 222.204.0.0/15 -add china_ip_route 222.206.0.0/15 -add china_ip_route 222.208.0.0/13 -add china_ip_route 222.216.0.0/15 -add china_ip_route 222.218.0.0/16 -add china_ip_route 222.219.0.0/16 -add china_ip_route 222.220.0.0/15 -add china_ip_route 222.222.0.0/15 -add china_ip_route 222.240.0.0/13 -add china_ip_route 222.248.0.0/16 -add china_ip_route 222.249.0.0/17 -add china_ip_route 222.249.128.0/19 -add china_ip_route 222.249.160.0/20 -add china_ip_route 222.249.176.0/20 -add china_ip_route 222.249.192.0/18 -add china_ip_route 223.0.0.0/15 -add china_ip_route 223.2.0.0/15 -add china_ip_route 223.4.0.0/14 -add china_ip_route 223.8.0.0/13 -add china_ip_route 223.20.0.0/15 -add china_ip_route 223.27.184.0/22 -add china_ip_route 223.29.208.0/22 -add china_ip_route 223.29.252.0/22 -add china_ip_route 223.64.0.0/11 -add china_ip_route 223.96.0.0/12 -add china_ip_route 223.112.0.0/14 -add china_ip_route 223.116.0.0/15 -add china_ip_route 223.120.128.0/17 -add china_ip_route 223.121.128.0/17 -add china_ip_route 223.122.0.0/15 -add china_ip_route 223.124.0.0/14 -add china_ip_route 223.128.0.0/15 -add china_ip_route 223.144.0.0/12 -add china_ip_route 223.160.0.0/14 -add china_ip_route 223.166.0.0/15 -add china_ip_route 223.192.0.0/15 -add china_ip_route 223.198.0.0/15 -add china_ip_route 223.201.0.0/16 -add china_ip_route 223.202.0.0/15 -add china_ip_route 223.208.0.0/14 -add china_ip_route 223.212.0.0/15 -add china_ip_route 223.214.0.0/15 -add china_ip_route 223.220.0.0/15 -add china_ip_route 223.223.176.0/20 -add china_ip_route 223.223.192.0/20 -add china_ip_route 223.240.0.0/13 -add china_ip_route 223.248.0.0/14 -add china_ip_route 223.252.128.0/17 -add china_ip_route 223.254.0.0/16 -add china_ip_route 223.255.0.0/17 -add china_ip_route 223.255.236.0/22 -add china_ip_route 223.255.252.0/23 diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_domain_dns.list b/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_domain_dns.list deleted file mode 100644 index 6e1fa82b46..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_domain_dns.list +++ /dev/null @@ -1 +0,0 @@ -#baidu.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_fake_filter.list b/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_fake_filter.list deleted file mode 100644 index 685587dfc3..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_fake_filter.list +++ /dev/null @@ -1,89 +0,0 @@ -*.lan -#放行NTP服务 -time.windows.com -time.nist.gov -time.apple.com -time.asia.apple.com -*.ntp.org.cn -*.openwrt.pool.ntp.org -time1.cloud.tencent.com -time.ustc.edu.cn -pool.ntp.org -ntp.ubuntu.com -ntp.aliyun.com -ntp1.aliyun.com -ntp2.aliyun.com -ntp3.aliyun.com -ntp4.aliyun.com -ntp5.aliyun.com -ntp6.aliyun.com -ntp7.aliyun.com -time1.aliyun.com -time2.aliyun.com -time3.aliyun.com -time4.aliyun.com -time5.aliyun.com -time6.aliyun.com -time7.aliyun.com -*.time.edu.cn -time1.apple.com -time2.apple.com -time3.apple.com -time4.apple.com -time5.apple.com -time6.apple.com -time7.apple.com -time1.google.com -time2.google.com -time3.google.com -time4.google.com -#放行网易云音乐 -music.163.com -*.music.163.com -*.126.net -#百度音乐 -musicapi.taihe.com -music.taihe.com -#酷狗音乐 -songsearch.kugou.com -trackercdn.kugou.com -#酷我音乐 -*.kuwo.cn -#JOOX音乐 -api-jooxtt.sanook.com -api.joox.com -joox.com -#QQ音乐 -y.qq.com -*.y.qq.com -streamoc.music.tc.qq.com -mobileoc.music.tc.qq.com -isure.stream.qqmusic.qq.com -dl.stream.qqmusic.qq.com -aqqmusic.tc.qq.com -amobile.music.tc.qq.com -#虾米音乐 -*.xiami.com -#咪咕音乐 -*.music.migu.cn -music.migu.cn -#win10本地连接检测 -*.msftconnecttest.com -*.msftncsi.com -#QQ快捷登录 -localhost.ptlogin2.qq.com -#Nintendo Switch -+.srv.nintendo.net -#Sony PlayStation -+.stun.playstation.net -#Microsoft Xbox -xbox.*.microsoft.com -+.xboxlive.com -proxy.golang.org -stun.*.* -stun.*.*.* -#Linksys Router -heartbeat.belkin.com -*.linksys.com -*.linksyssmartwifi.com -+.battlenet.com.cn \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_hosts.list b/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_hosts.list deleted file mode 100644 index 1180bb5f65..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_hosts.list +++ /dev/null @@ -1,6 +0,0 @@ -# experimental hosts, support wildcard (e.g. *.clash.dev Even *.foo.*.example.com) -# static domain has a higher priority than wildcard domain (foo.example.com > *.example.com) -# NOTE: hosts don't work with `fake-ip` - -# '*.clash.dev': 127.0.0.1 -# 'alpha.clash.dev': '::1' diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules.list b/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules.list deleted file mode 100644 index d0ebf97eb0..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules.list +++ /dev/null @@ -1,46 +0,0 @@ -##- DOMAIN-SUFFIX,google.com,Proxy 匹配域名后缀(交由Proxy代理服务器组) -##- DOMAIN-KEYWORD,google,Proxy 匹配域名关键字(交由Proxy代理服务器组) -##- DOMAIN,google.com,Proxy 匹配域名(交由Proxy代理服务器组) -##- DOMAIN-SUFFIX,ad.com,REJECT 匹配域名后缀(拒绝) -##- IP-CIDR,127.0.0.0/8,DIRECT 匹配数据目标IP(直连) -##- SRC-IP-CIDR,192.168.1.201/32,DIRECT 匹配数据发起IP(直连) -##- DST-PORT,80,DIRECT 匹配数据目标端口(直连) -##- SRC-PORT,7777,DIRECT 匹配数据源端口(直连) - -##排序在上的规则优先生效,如添加(去除规则前的#号): -##IP段:192.168.1.2-192.168.1.200 直连 -##- SRC-IP-CIDR,192.168.1.2/31,DIRECT -##- SRC-IP-CIDR,192.168.1.4/30,DIRECT -##- SRC-IP-CIDR,192.168.1.8/29,DIRECT -##- SRC-IP-CIDR,192.168.1.16/28,DIRECT -##- SRC-IP-CIDR,192.168.1.32/27,DIRECT -##- SRC-IP-CIDR,192.168.1.64/26,DIRECT -##- SRC-IP-CIDR,192.168.1.128/26,DIRECT -##- SRC-IP-CIDR,192.168.1.192/29,DIRECT -##- SRC-IP-CIDR,192.168.1.200/32,DIRECT - -##IP段:192.168.1.202-192.168.1.255 直连 -##- SRC-IP-CIDR,192.168.1.202/31,DIRECT -##- SRC-IP-CIDR,192.168.1.204/30,DIRECT -##- SRC-IP-CIDR,192.168.1.208/28,DIRECT -##- SRC-IP-CIDR,192.168.1.224/27,DIRECT - -##此时IP为192.168.1.1和192.168.1.201的客户端流量走代理(策略),其余客户端不走代理 -##因为Fake-IP模式下,IP地址为192.168.1.1的路由器自身流量可走代理(策略),所以需要排除 - -##仅设置路由器自身直连: -##- SRC-IP-CIDR,192.168.1.1/32,DIRECT -##- SRC-IP-CIDR,198.18.0.1/32,DIRECT - -##DDNS -##-DOMAIN-SUFFIX,checkip.dyndns.org,DIRECT -##-DOMAIN-SUFFIX,checkipv6.dyndns.org,DIRECT -##-DOMAIN-SUFFIX,checkip.synology.com,DIRECT -##-DOMAIN-SUFFIX,ifconfig.co,DIRECT -##-DOMAIN-SUFFIX,api.myip.com,DIRECT -##-DOMAIN-SUFFIX,ip-api.com,DIRECT -##-DOMAIN-SUFFIX,ipapi.co,DIRECT -##-DOMAIN-SUFFIX,ip6.seeip.org,DIRECT -##-DOMAIN-SUFFIX,members.3322.org,DIRECT - -##在线IP段转CIDR地址:http://ip2cidr.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules_2.list b/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules_2.list deleted file mode 100644 index 371e38b5c6..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/custom/openclash_custom_rules_2.list +++ /dev/null @@ -1,8 +0,0 @@ -##- DOMAIN-SUFFIX,google.com,Proxy 匹配域名后缀(交由Proxy代理服务器组) -##- DOMAIN-KEYWORD,google,Proxy 匹配域名关键字(交由Proxy代理服务器组) -##- DOMAIN,google.com,Proxy 匹配域名(交由Proxy代理服务器组) -##- DOMAIN-SUFFIX,ad.com,REJECT 匹配域名后缀(拒绝) -##- IP-CIDR,127.0.0.0/8,DIRECT 匹配数据目标IP(直连) -##- SRC-IP-CIDR,192.168.1.201/32,DIRECT 匹配数据发起IP(直连) -##- DST-PORT,80,DIRECT 匹配数据目标端口(直连) -##- SRC-PORT,7777,DIRECT 匹配数据源端口(直连) diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/CS-GO.rules b/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/CS-GO.rules deleted file mode 100644 index 9bab472ab0..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/CS-GO.rules +++ /dev/null @@ -1,618 +0,0 @@ -#CSGO,反恐精英:全球攻势,0,0,1,0,1,0,By-AmazingDM -1.165.84.0/24 -1.165.85.0/24 -1.165.90.0/24 -5.8.200.0/24 -5.9.123.0/24 -13.73.0.0/16 -13.73.1.0/24 -13.75.114.0/24 -13.126.76.0/24 -14.18.251.72/32 -18.214.26.0/24 -24.105.28.0/24 -27.64.93.0/24 -34.235.169.0/24 -35.185.157.0/24 -35.198.200.0/24 -36.232.23.0/24 -36.232.28.0/24 -36.232.29.0/24 -37.21.10.0/24 -37.230.228.0/24 -42.113.94.0/24 -42.114.229.0/24 -43.225.199.0/24 -43.239.136.0/24 -43.241.50.0/24 -43.249.36.0/24 -45.113.137.0/24 -45.113.191.0/24 -45.119.240.0/24 -45.121.184.0/24 -45.121.185.0/24 -45.121.186.0/24 -45.121.187.0/24 -47.52.16.0/24 -47.52.17.0/24 -47.52.18.0/24 -47.52.19.0/24 -47.52.20.0/24 -47.52.21.0/24 -47.52.22.0/24 -47.52.23.0/24 -47.52.24.0/24 -47.52.25.0/24 -47.52.26.0/24 -47.52.27.0/24 -47.52.28.0/24 -47.52.29.0/24 -47.52.30.0/24 -47.52.31.0/24 -47.52.40.0/24 -47.52.41.0/24 -47.52.42.0/24 -47.52.43.0/24 -47.52.44.0/24 -47.52.45.0/24 -47.52.46.0/24 -47.52.47.0/24 -47.52.56.0/24 -47.52.57.0/24 -47.52.58.0/24 -47.52.59.0/24 -47.52.60.0/24 -47.52.61.0/24 -47.52.62.0/24 -47.52.63.0/24 -47.52.64.0/24 -47.52.65.0/24 -47.52.66.0/24 -47.52.67.0/24 -47.52.68.0/24 -47.52.69.0/24 -47.52.70.0/24 -47.52.71.0/24 -47.52.72.0/24 -47.52.73.0/24 -47.52.74.0/24 -47.52.75.0/24 -47.52.76.0/24 -47.52.77.0/24 -47.52.78.0/24 -47.52.79.0/24 -47.52.88.0/24 -47.52.89.0/24 -47.52.90.0/24 -47.52.91.0/24 -47.52.92.0/24 -47.52.93.0/24 -47.52.94.0/24 -47.52.95.0/24 -47.52.96.0/24 -47.52.97.0/24 -47.52.98.0/24 -47.52.99.0/24 -47.52.100.0/24 -47.52.101.0/24 -47.52.102.0/24 -47.52.103.0/24 -47.52.104.0/24 -47.52.105.0/24 -47.52.106.0/24 -47.52.107.0/24 -47.52.108.0/24 -47.52.109.0/24 -47.52.110.0/24 -47.52.111.0/24 -47.52.112.0/24 -47.52.113.0/24 -47.52.114.0/24 -47.52.115.0/24 -47.52.116.0/24 -47.52.117.0/24 -47.52.118.0/24 -47.52.119.0/24 -47.52.128.0/24 -47.52.129.0/24 -47.52.130.0/24 -47.52.131.0/24 -47.52.132.0/24 -47.52.133.0/24 -47.52.134.0/24 -47.52.135.0/24 -47.52.136.0/24 -47.52.137.0/24 -47.52.138.0/24 -47.52.139.0/24 -47.52.140.0/24 -47.52.141.0/24 -47.52.142.0/24 -47.52.143.0/24 -47.52.144.0/24 -47.52.145.0/24 -47.52.146.0/24 -47.52.147.0/24 -47.52.148.0/24 -47.52.149.0/24 -47.52.150.0/24 -47.52.151.0/24 -47.52.152.0/24 -47.52.153.0/24 -47.52.154.0/24 -47.52.155.0/24 -47.52.156.0/24 -47.52.157.0/24 -47.52.158.0/24 -47.52.159.0/24 -47.52.160.0/24 -47.52.161.0/24 -47.52.162.0/24 -47.52.163.0/24 -47.52.164.0/24 -47.52.165.0/24 -47.52.166.0/24 -47.52.167.0/24 -47.52.168.0/24 -47.52.169.0/24 -47.52.170.0/24 -47.52.171.0/24 -47.52.172.0/24 -47.52.173.0/24 -47.52.174.0/24 -47.52.175.0/24 -47.52.188.0/24 -47.52.190.0/24 -47.52.191.0/24 -47.52.192.0/24 -47.52.193.0/24 -47.52.194.0/24 -47.52.195.0/24 -47.52.196.0/24 -47.52.197.0/24 -47.52.198.0/24 -47.52.199.0/24 -47.52.200.0/24 -47.52.201.0/24 -47.52.202.0/24 -47.52.203.0/24 -47.52.204.0/24 -47.52.205.0/24 -47.52.206.0/24 -47.52.207.0/24 -47.52.208.0/24 -47.52.209.0/24 -47.52.224.0/24 -47.52.225.0/24 -47.52.226.0/24 -47.52.228.0/24 -47.52.230.0/24 -47.52.231.0/24 -47.52.232.0/24 -47.52.234.0/24 -47.52.235.0/24 -47.52.236.0/24 -47.52.241.0/24 -47.52.242.0/24 -47.52.244.0/24 -47.52.246.0/24 -47.52.247.0/24 -47.52.248.0/24 -47.52.249.0/24 -47.52.250.0/24 -47.52.251.0/24 -47.52.252.0/24 -47.52.253.0/24 -47.52.254.0/24 -47.52.255.0/24 -47.74.1.0/24 -47.75.3.0/24 -47.75.5.0/24 -47.75.94.0/24 -47.75.98.0/24 -47.75.143.0/24 -47.75.194.0/24 -47.75.207.0/24 -47.75.219.0/24 -47.89.8.0/24 -47.89.9.0/24 -47.89.10.0/24 -47.89.11.0/24 -47.89.12.0/24 -47.89.13.0/24 -47.89.14.0/24 -47.89.15.0/24 -47.89.16.0/24 -47.89.17.0/24 -47.89.18.0/24 -47.89.19.0/24 -47.89.20.0/24 -47.89.21.0/24 -47.89.22.0/24 -47.89.23.0/24 -47.90.8.0/24 -47.90.90.0/24 -47.90.96.0/24 -47.90.97.0/24 -47.90.98.0/24 -47.90.99.0/24 -47.90.100.0/24 -47.90.101.0/24 -47.90.102.0/24 -47.90.103.0/24 -47.90.120.0/24 -47.90.121.0/24 -47.90.122.0/24 -47.90.123.0/24 -47.90.124.0/24 -47.90.125.0/24 -47.90.126.0/24 -47.90.127.0/24 -47.90.214.0/24 -47.91.152.0/24 -47.91.153.0/24 -47.91.154.0/24 -47.91.155.0/24 -47.91.156.0/24 -47.91.157.0/24 -47.91.158.0/24 -47.91.159.0/24 -47.91.207.0/24 -47.91.208.0/24 -47.91.209.0/24 -47.91.210.0/24 -47.91.211.0/24 -47.91.212.0/24 -47.91.213.0/24 -47.91.214.0/24 -47.91.215.0/24 -47.91.216.0/24 -47.91.217.0/24 -47.91.218.0/24 -47.91.219.0/24 -47.91.220.0/24 -47.91.221.0/24 -47.91.224.0/24 -47.91.225.0/24 -47.91.226.0/24 -47.91.227.0/24 -47.91.228.0/24 -47.91.229.0/24 -47.91.230.0/24 -47.91.231.0/24 -47.91.232.0/24 -47.91.233.0/24 -47.91.234.0/24 -47.91.235.0/24 -47.91.236.0/24 -47.91.237.0/24 -47.91.238.0/24 -47.91.239.0/24 -47.91.240.0/24 -47.91.241.0/24 -47.91.242.0/24 -47.91.243.0/24 -47.91.244.0/24 -47.91.245.0/24 -47.91.246.0/24 -47.91.247.0/24 -47.91.248.0/24 -47.91.249.0/24 -47.91.250.0/24 -47.91.251.0/24 -47.91.252.0/24 -47.91.253.0/24 -47.91.254.0/24 -47.91.255.0/24 -47.96.0.0/16 -47.96.2.0/24 -47.96.3.0/24 -47.96.5.0/24 -47.96.6.0/24 -47.96.7.0/24 -47.96.8.0/24 -47.96.9.0/24 -47.96.10.0/24 -47.96.12.0/24 -47.96.13.0/24 -47.96.14.0/24 -47.99.33.0/24 -47.99.38.0/24 -47.99.44.0/24 -47.99.62.0/24 -47.99.73.0/24 -47.99.75.0/24 -47.99.76.0/24 -47.99.81.0/24 -47.99.84.0/24 -47.99.89.0/24 -47.99.90.0/24 -47.99.93.0/24 -47.99.95.0/24 -47.99.98.0/24 -47.99.99.0/24 -47.99.101.0/24 -47.99.103.0/24 -47.99.104.0/24 -47.99.107.0/24 -47.99.111.0/24 -47.99.120.0/24 -47.99.128.0/24 -47.99.159.0/24 -47.99.161.0/24 -47.99.164.0/24 -47.99.166.0/24 -47.99.169.0/24 -47.110.42.0/24 -47.244.1.0/24 -47.244.2.0/24 -47.244.3.0/24 -47.244.5.0/24 -47.244.7.0/24 -47.244.10.0/24 -47.244.11.0/24 -47.244.12.0/24 -47.244.13.0/24 -47.244.14.0/24 -47.244.15.0/24 -47.244.16.0/24 -47.244.17.0/24 -47.244.18.0/24 -47.244.19.0/24 -47.244.21.0/24 -47.244.22.0/24 -47.244.24.0/24 -47.244.25.0/24 -47.244.26.0/24 -47.244.33.0/24 -47.244.35.0/24 -47.244.36.0/24 -47.244.37.0/24 -47.244.43.0/24 -47.244.44.0/24 -47.244.48.0/24 -47.244.51.0/24 -47.244.56.0/24 -52.53.89.0/24 -52.63.114.0/24 -52.64.199.0/24 -52.90.185.0/24 -52.175.16.0/24 -52.175.31.0/24 -52.207.236.0/24 -52.229.154.0/24 -52.229.160.0/24 -52.229.161.0/24 -54.66.223.0/24 -54.158.198.0/24 -54.164.19.0/24 -54.169.27.0/24 -54.209.147.0/24 -58.153.0.0/16 -58.153.19.0/24 -58.153.171.0/24 -58.153.208.0/24 -58.153.209.0/24 -58.153.221.0/24 -58.176.80.0/24 -58.177.181.0/24 -58.215.54.0/24 -58.221.252.0/24 -59.16.249.0/24 -59.127.115.0/24 -59.149.239.0/24 -60.248.89.0/24 -61.80.89.0/24 -61.84.148.0/24 -61.155.210.0/24 -61.216.2.0/24 -61.216.34.0/24 -61.216.146.0/24 -61.238.35.0/24 -61.239.213.0/24 -61.239.223.0/24 -74.91.112.0/24 -74.201.99.0/24 -87.98.228.0/24 -88.82.185.0/24 -90.188.238.0/24 -94.245.155.0/24 -95.154.88.0/24 -95.154.113.0/24 -95.172.92.0/24 -95.183.13.0/24 -103.9.89.0/24 -103.10.124.0/24 -103.10.125.0/24 -103.16.27.0/24 -103.28.54.0/24 -103.28.55.0/24 -103.36.208.0/24 -103.44.160.0/24 -103.57.72.0/24 -103.58.149.0/24 -103.60.126.0/24 -103.62.48.0/24 -103.89.90.0/24 -103.207.36.0/24 -103.222.20.0/24 -103.231.163.0/24 -103.232.85.0/24 -103.241.165.0/24 -103.244.2.0/24 -103.254.153.0/24 -104.199.166.0/24 -104.236.115.0/24 -107.21.14.0/24 -110.42.10.0/24 -110.173.58.0/24 -111.91.236.0/24 -111.231.11.0/24 -111.253.47.0/24 -111.253.49.0/24 -111.253.50.0/24 -111.253.52.0/24 -111.253.55.0/24 -112.118.44.0/24 -112.118.193.0/24 -113.160.204.0/24 -113.190.242.0/24 -114.46.16.0/24 -114.46.20.0/24 -114.46.21.0/24 -114.46.22.0/24 -114.46.24.0/24 -114.46.30.0/24 -114.167.236.0/24 -115.230.127.0/24 -115.231.221.0/24 -115.231.223.0/24 -116.31.123.0/24 -116.49.214.0/24 -116.122.109.0/24 -116.251.223.0/24 -118.107.76.0/24 -119.28.222.0/24 -119.197.57.0/24 -119.236.132.0/24 -119.237.11.0/24 -120.72.85.0/24 -123.31.20.0/24 -123.194.52.0/24 -124.158.10.0/24 -124.228.91.0/24 -125.212.211.0/24 -125.212.226.0/24 -125.226.128.0/24 -125.253.124.0/24 -128.199.81.0/24 -132.232.7.0/24 -132.232.9.0/24 -132.232.12.0/24 -132.232.29.0/24 -132.232.51.0/24 -132.232.55.0/24 -132.232.57.0/24 -132.232.61.0/24 -132.232.62.0/24 -132.232.75.0/24 -132.232.91.0/24 -132.232.94.0/24 -132.232.99.0/24 -132.232.104.0/24 -133.130.123.0/24 -138.19.63.0/24 -139.99.9.0/24 -139.99.104.0/24 -139.99.119.0/24 -139.162.55.0/24 -146.66.152.0/24 -146.66.153.0/24 -146.66.154.0/24 -146.66.155.0/24 -146.66.156.0/24 -146.66.157.0/24 -146.66.158.0/24 -146.66.159.0/24 -150.109.40.0/24 -151.80.60.0/24 -151.80.145.0/24 -152.111.192.0/24 -153.160.25.0/24 -153.254.86.0/24 -155.133.227.0/24 -155.133.230.0/24 -155.133.232.0/24 -155.133.233.0/24 -155.133.235.0/24 -155.133.238.0/24 -155.133.239.0/24 -155.133.242.0/24 -155.133.244.0/24 -155.133.245.0/24 -155.133.246.0/24 -155.133.247.0/24 -155.133.248.0/24 -155.133.249.0/24 -155.133.252.0/24 -155.133.253.0/24 -155.133.254.0/24 -159.28.159.0/24 -161.202.44.0/24 -162.254.192.0/24 -162.254.193.0/24 -162.254.194.0/24 -162.254.195.0/24 -162.254.196.0/24 -162.254.197.0/24 -162.254.198.0/24 -162.254.199.0/24 -163.53.149.0/24 -169.254.0.0/16 -169.254.125.95/32 -169.254.10.218/32 -175.210.83.0/24 -176.215.255.0/24 -180.149.95.0/24 -180.177.178.0/24 -182.171.230.0/24 -182.176.65.0/24 -183.60.111.0/24 -183.179.66.0/24 -185.25.60.0/24 -185.25.180.0/24 -185.25.181.0/24 -185.25.182.0/24 -185.25.183.0/24 -185.37.216.0/24 -185.62.205.0/24 -185.113.141.0/24 -190.217.33.0/24 -192.69.96.0/24 -192.69.97.0/24 -193.33.176.0/24 -195.14.118.0/24 -195.201.246.0/24 -196.38.180.0/24 -197.80.200.0/24 -198.27.83.0/24 -202.21.115.0/24 -203.175.163.0/24 -203.175.164.0/24 -203.175.165.0/24 -203.175.166.0/24 -203.218.101.0/24 -205.185.194.0/24 -205.196.6.0/24 -208.64.200.0/24 -208.64.203.0/24 -208.78.164.0/24 -208.78.165.0/24 -208.78.166.0/24 -209.58.164.0/24 -209.58.168.0/24 -209.58.178.0/24 -209.58.188.0/24 -210.211.124.0/24 -211.21.37.0/24 -211.48.69.0/24 -211.75.181.0/24 -212.64.32.0/24 -216.52.148.0/24 -217.150.77.0/24 -218.250.12.0/24 -218.250.15.0/24 -218.250.113.0/24 -218.255.3.0/24 -220.80.129.0/24 -220.134.154.0/24 -220.135.180.0/24 -220.169.242.0/24 -220.170.89.0/24 -221.6.100.0/24 -222.102.95.0/24 -222.112.242.0/24 -222.186.50.0/24 -222.187.224.0/24 -224.0.0.0/4 -240.0.0.0/4 diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/Monster-Hunter-World.rules b/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/Monster-Hunter-World.rules deleted file mode 100644 index 6b4de7abad..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/Monster-Hunter-World.rules +++ /dev/null @@ -1,295 +0,0 @@ -#Monster Hunter: World,怪兽世界猎人steam版,0,0,1,0,1,0,By-normanbb -2.16.0.0/16 -2.17.0.0/16 -2.18.0.0/16 -2.19.0.0/16 -2.20.0.0/16 -2.21.0.0/16 -2.22.0.0/16 -2.23.0.0/16 -8.7.0.0/16 -14.21.0.0/16 -23.0.0.0/4 -23.1.0.0/16 -23.2.0.0/16 -23.3.0.0/16 -23.4.0.0/16 -23.5.0.0/16 -23.7.0.0/16 -23.8.0.0/16 -23.9.0.0/16 -23.11.0.0/16 -23.12.0.0/16 -23.13.0.0/16 -23.14.0.0/16 -23.15.0.0/16 -23.32.0.0/16 -23.33.0.0/16 -23.34.0.0/16 -23.35.0.0/16 -23.36.0.0/16 -23.37.0.0/16 -23.38.0.0/16 -23.39.0.0/16 -23.40.0.0/16 -23.41.0.0/16 -23.42.0.0/16 -23.44.0.0/16 -23.45.0.0/16 -23.46.0.0/16 -23.48.0.0/16 -23.49.0.0/16 -23.50.0.0/16 -23.51.0.0/16 -23.52.0.0/16 -23.53.0.0/16 -23.54.0.0/16 -23.55.0.0/16 -23.56.0.0/16 -23.57.0.0/16 -23.58.0.0/16 -23.59.0.0/16 -23.60.0.0/16 -23.61.0.0/16 -23.62.0.0/16 -23.63.0.0/16 -23.64.0.0/16 -23.65.0.0/16 -23.67.0.0/16 -23.72.0.0/16 -23.73.0.0/16 -23.74.0.0/16 -23.75.0.0/16 -23.76.0.0/16 -23.77.0.0/16 -23.78.0.0/16 -23.79.0.0/16 -23.192.0.0/16 -23.193.0.0/16 -23.194.0.0/16 -23.196.0.0/16 -23.197.0.0/16 -23.198.0.0/16 -23.199.0.0/16 -23.200.0.0/16 -23.201.0.0/16 -23.202.0.0/16 -23.203.0.0/16 -23.204.0.0/16 -23.205.0.0/16 -23.206.0.0/16 -23.207.0.0/16 -23.208.0.0/16 -23.209.0.0/16 -23.210.0.0/16 -23.211.0.0/16 -23.212.0.0/16 -23.213.0.0/16 -23.214.0.0/16 -23.215.0.0/16 -23.216.0.0/16 -23.217.0.0/16 -23.218.0.0/16 -23.219.0.0/16 -23.220.0.0/16 -23.221.0.0/16 -23.222.0.0/16 -23.223.0.0/16 -31.0.0.0/4 -31.13.0.0/16 -37.10.0.0/16 -45.121.0.0/16 -45.121.184.0/24 -45.121.186.0/24 -46.0.0.0/4 -59.0.0.0/4 -60.254.0.0/16 -61.213.0.0/16 -63.146.0.0/16 -63.219.0.0/16 -63.243.0.0/16 -64.0.0.0/4 -64.124.0.0/16 -65.152.0.0/16 -65.158.0.0/16 -66.0.0.0/4 -67.0.0.0/4 -67.131.0.0/16 -69.0.0.0/4 -69.16.0.0/16 -69.63.0.0/16 -69.171.0.0/16 -69.192.0.0/16 -72.165.0.0/16 -72.246.0.0/16 -72.247.0.0/16 -74.0.0.0/4 -74.86.0.0/16 -74.201.0.0/16 -75.0.0.0/4 -75.126.0.0/16 -78.16.0.0/16 -84.53.0.0/16 -85.190.0.0/16 -88.0.0.0/4 -88.221.0.0/16 -92.122.0.0/16 -92.123.0.0/16 -95.100.0.0/16 -95.101.0.0/16 -96.0.0.0/4 -96.6.0.0/16 -96.16.0.0/16 -96.17.0.0/16 -103.10.124.0/24 -103.28.0.0/16 -103.28.54.0/24 -103.74.0.0/16 -104.0.0.0/4 -104.65.0.0/16 -104.66.0.0/16 -104.67.0.0/16 -104.68.0.0/16 -104.70.0.0/16 -104.71.0.0/16 -104.72.0.0/16 -104.73.0.0/16 -104.75.0.0/16 -104.76.0.0/16 -104.77.0.0/16 -104.79.0.0/16 -104.80.0.0/16 -104.81.0.0/16 -104.82.0.0/16 -104.83.0.0/16 -104.84.0.0/16 -104.85.0.0/16 -104.86.0.0/16 -104.87.0.0/16 -104.89.0.0/16 -104.90.0.0/16 -104.91.0.0/16 -104.92.0.0/16 -104.94.0.0/16 -104.95.0.0/16 -104.97.0.0/16 -104.98.0.0/16 -104.100.0.0/16 -104.101.0.0/16 -104.102.0.0/16 -104.103.0.0/16 -104.104.0.0/16 -104.105.0.0/16 -104.106.0.0/16 -104.107.0.0/16 -104.108.0.0/16 -104.109.0.0/16 -104.110.0.0/16 -104.111.0.0/16 -104.112.0.0/16 -104.113.0.0/16 -104.115.0.0/16 -104.116.0.0/16 -104.117.0.0/16 -104.118.0.0/16 -104.119.0.0/16 -104.120.0.0/16 -104.121.0.0/16 -104.122.0.0/16 -104.123.0.0/16 -104.124.0.0/16 -104.126.0.0/16 -104.127.0.0/16 -106.15.0.0/16 -110.45.0.0/16 -115.223.0.0/16 -117.103.0.0/16 -118.155.0.0/16 -118.214.0.0/16 -118.215.0.0/16 -120.24.184.25/32 -121.156.0.0/16 -122.252.0.0/16 -125.56.0.0/16 -125.252.0.0/16 -128.241.0.0/16 -139.175.0.0/16 -141.0.0.0/4 -146.66.0.0/16 -152.199.0.0/16 -153.254.0.0/16 -153.254.86.0/24 -155.133.0.0/16 -155.133.232.0/24 -155.133.233.0/24 -155.133.234.0/24 -155.133.235.0/24 -155.133.239.0/24 -155.133.244.0/24 -155.133.253.0/24 -155.133.254.0/24 -162.254.0.0/16 -162.254.192.0/24 -162.254.193.0/24 -162.254.194.0/24 -162.254.199.0/24 -165.254.0.0/16 -172.0.0.0/4 -172.224.0.0/16 -172.226.0.0/16 -172.227.0.0/16 -172.228.0.0/16 -172.229.0.0/16 -172.230.0.0/16 -172.231.0.0/16 -173.0.0.0/4 -173.197.0.0/16 -173.205.0.0/16 -173.222.0.0/16 -173.223.0.0/16 -173.252.0.0/16 -174.36.0.0/16 -175.99.0.0/16 -175.139.0.0/16 -180.101.192.0/24 -182.162.0.0/16 -184.0.0.0/4 -184.24.0.0/16 -184.25.0.0/16 -184.26.0.0/16 -184.29.0.0/16 -184.30.0.0/16 -184.31.0.0/16 -184.50.0.0/16 -184.51.0.0/16 -184.84.0.0/16 -184.85.0.0/16 -184.87.0.0/16 -185.25.0.0/16 -185.27.0.0/16 -185.88.0.0/16 -192.69.96.0/24 -192.81.0.0/16 -198.87.0.0/16 -198.172.0.0/16 -199.0.0.0/4 -199.239.0.0/16 -203.69.0.0/16 -203.80.149.0/24 -205.186.0.0/16 -205.196.6.0/24 -205.197.0.0/16 -208.0.0.0/4 -208.64.0.0/16 -208.64.200.0/24 -208.78.0.0/16 -208.78.164.0/24 -208.78.166.0/24 -208.78.167.0/24 -209.170.0.0/16 -210.61.0.0/16 -210.201.0.0/16 -216.3.0.0/16 -216.156.0.0/16 -223.119.0.0/16 - diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/PUBG-Asia%26-Southeast-Asia.rules b/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/PUBG-Asia%26-Southeast-Asia.rules deleted file mode 100644 index 76452bc6de..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/PUBG-Asia%26-Southeast-Asia.rules +++ /dev/null @@ -1,1759 +0,0 @@ -#PUBG Asia & Southeast Asia,绝地求生亚服&东南亚服,0,0,1,0,1,0,By-normanbb -1.255.48.0/20 -1.255.50.0/23 -1.255.54.0/23 -2.16.0.0/16 -2.16.4.0/24 -2.16.10.0/24 -2.16.64.0/24 -2.17.0.0/16 -2.17.55.0/24 -2.18.0.0/16 -2.18.24.0/24 -2.18.212.0/24 -2.19.0.0/16 -2.19.147.0/24 -2.20.0.0/16 -2.20.188.0/24 -2.21.0.0/16 -2.21.71.0/24 -2.21.74.0/24 -2.21.75.0/24 -2.22.0.0/16 -2.22.74.0/24 -2.22.146.0/24 -2.23.0.0/16 -3.0.0.0/4 -3.0.0.0/15 -3.80.0.0/12 -5.9.56.0/24 -8.7.0.0/16 -13.32.0.0/15 -13.32.1.0/24 -13.32.14.0/24 -13.32.16.0/24 -13.32.198.0/24 -13.32.230.0/24 -13.32.231.0/24 -13.32.253.0/24 -13.33.172.21/32 -13.33.172.29/32 -13.33.172.61/32 -13.33.172.72/32 -13.33.172.82/32 -13.33.172.100/32 -13.33.172.108/32 -13.33.172.249/32 -13.35.0.0/16 -13.35.121.0/24 -13.35.125.27/32 -13.35.125.75/32 -13.35.125.119/32 -13.35.125.123/32 -13.54.0.0/16 -13.58.0.0/16 -13.70.0.0/16 -13.72.192.0/24 -13.73.232.0/24 -13.75.0.0/16 -13.88.208.0/24 -13.94.0.0/16 -13.94.32.0/24 -13.94.48.0/24 -13.94.49.0/24 -13.94.56.0/24 -13.112.0.0/16 -13.115.142.243/32 -13.124.0.0/16 -13.125.0.0/16 -13.125.34.57/32 -13.125.133.61/32 -13.125.200.121/32 -13.209.0.0/16 -13.210.0.0/16 -13.228.0.0/15 -13.228.0.0/16 -13.230.0.0/16 -13.236.0.0/16 -13.238.85.250/32 -13.249.0.0/16 -13.250.0.0/15 -13.250.0.0/16 -13.250.244.21/32 -13.251.110.6/32 -14.21.0.0/16 -18.136.0.0/16 -18.136.198.141/32 -18.179.0.0/16 -18.179.147.209/32 -18.182.0.0/16 -18.184.0.0/16 -18.184.56.0/24 -18.184.93.0/24 -18.185.215.159/32 -18.188.0.0/16 -18.191.0.0/16 -18.194.0.0/16 -18.194.55.168/32 -18.196.0.0/16 -18.200.0.0/16 -18.202.0.0/16 -18.204.0.0/14 -18.204.0.0/16 -18.205.2.190/32 -18.208.0.0/13 -18.208.0.0/16 -18.216.0.0/16 -18.220.0.0/16 -18.224.0.0/16 -18.228.0.0/16 -18.231.0.0/16 -18.231.163.192/32 -18.232.0.0/14 -18.232.0.0/16 -23.0.0.0/4 -23.0.7.0/24 -23.1.0.0/16 -23.2.0.0/16 -23.2.16.0/24 -23.2.17.0/24 -23.3.0.0/16 -23.4.0.0/16 -23.4.240.0/24 -23.5.0.0/16 -23.7.0.0/16 -23.8.0.0/16 -23.9.0.0/16 -23.11.0.0/16 -23.12.0.0/16 -23.13.0.0/16 -23.14.0.0/16 -23.14.85.0/24 -23.14.90.0/24 -23.15.0.0/16 -23.15.4.0/24 -23.15.224.0/24 -23.20.0.0/14 -23.20.0.0/16 -23.32.0.0/16 -23.32.241.0/24 -23.32.248.0/24 -23.33.0.0/16 -23.34.0.0/16 -23.34.60.0/24 -23.34.61.0/24 -23.35.0.0/16 -23.35.216.0/24 -23.36.0.0/16 -23.37.0.0/16 -23.38.0.0/16 -23.39.0.0/16 -23.40.0.0/16 -23.41.0.0/16 -23.41.243.0/24 -23.42.0.0/16 -23.44.0.0/16 -23.45.0.0/16 -23.45.232.0/24 -23.46.0.0/16 -23.48.0.0/16 -23.49.0.0/16 -23.50.0.0/16 -23.50.49.0/24 -23.50.224.0/24 -23.51.0.0/16 -23.51.122.0/24 -23.52.0.0/16 -23.53.0.0/16 -23.53.73.0/24 -23.53.195.0/24 -23.54.0.0/16 -23.55.0.0/16 -23.56.0.0/16 -23.57.0.0/16 -23.57.66.9/32 -23.57.66.11/32 -23.57.66.17/32 -23.57.66.48/32 -23.57.66.49/32 -23.57.66.50/32 -23.57.66.51/32 -23.58.0.0/16 -23.58.154.0/24 -23.59.0.0/16 -23.59.133.245/32 -23.60.0.0/16 -23.61.0.0/16 -23.61.249.0/24 -23.61.250.0/24 -23.62.0.0/16 -23.62.2.0/24 -23.62.53.0/24 -23.62.98.0/24 -23.62.109.0/24 -23.62.226.0/24 -23.63.0.0/16 -23.63.44.150/32 -23.64.0.0/16 -23.65.0.0/16 -23.65.182.0/24 -23.67.0.0/16 -23.67.161.0/24 -23.72.0.0/16 -23.73.0.0/16 -23.73.206.0/24 -23.74.0.0/16 -23.74.138.0/24 -23.75.0.0/16 -23.76.0.0/16 -23.77.0.0/16 -23.77.202.0/24 -23.78.0.0/16 -23.79.0.0/16 -23.97.64.0/24 -23.97.80.0/24 -23.98.32.0/24 -23.98.40.0/24 -23.98.44.0/24 -23.98.56.0/24 -23.98.56.96/32 -23.98.56.128/32 -23.99.96.0/24 -23.100.88.0/24 -23.100.104.0/24 -23.101.0.0/16 -23.102.224.0/24 -23.111.236.0/24 -23.192.0.0/16 -23.193.0.0/16 -23.194.0.0/16 -23.196.0.0/16 -23.196.214.0/24 -23.197.0.0/16 -23.198.0.0/16 -23.198.99.0/24 -23.199.0.0/16 -23.200.0.0/16 -23.201.0.0/16 -23.201.102.0/24 -23.201.103.0/24 -23.202.0.0/16 -23.202.83.0/24 -23.203.0.0/16 -23.204.0.0/16 -23.204.239.0/24 -23.205.0.0/16 -23.206.0.0/16 -23.206.90.0/24 -23.207.0.0/16 -23.208.0.0/16 -23.209.0.0/16 -23.210.0.0/16 -23.210.202.0/24 -23.210.203.0/24 -23.211.0.0/16 -23.211.40.0/24 -23.211.150.0/24 -23.212.0.0/16 -23.212.53.0/24 -23.213.0.0/16 -23.214.0.0/16 -23.215.0.0/16 -23.215.105.0/24 -23.215.130.0/24 -23.216.0.0/16 -23.217.0.0/16 -23.217.43.0/24 -23.218.0.0/16 -23.219.0.0/16 -23.220.0.0/16 -23.220.195.0/24 -23.221.0.0/16 -23.222.0.0/16 -23.222.61.0/24 -23.223.0.0/16 -23.251.140.0/24 -27.0.0.0/4 -31.0.0.0/4 -31.13.0.0/16 -31.13.65.18/32 -31.13.77.55/32 -34.192.0.0/12 -34.192.0.0/16 -34.224.0.0/12 -34.224.0.0/16 -34.230.18.128/32 -34.240.0.0/16 -34.248.0.0/16 -35.153.0.0/16 -35.156.0.0/16 -35.157.9.231/32 -35.167.6.0/24 -35.168.0.0/13 -35.168.0.0/16 -35.187.4.0/24 -35.187.15.0/24 -35.187.36.0/24 -35.187.59.0/24 -35.187.73.0/24 -35.187.76.0/24 -35.187.83.0/24 -35.187.88.0/24 -35.187.89.0/24 -35.187.93.0/24 -35.187.95.0/24 -35.187.97.0/24 -35.187.103.0/24 -35.187.107.0/24 -35.187.123.0/24 -35.187.161.0/24 -35.187.163.0/24 -35.187.175.0/24 -35.187.176.0/24 -35.187.178.0/24 -35.187.182.0/24 -35.187.188.0/24 -35.187.190.0/24 -35.189.194.0/24 -35.189.197.0/24 -35.189.206.0/24 -35.189.207.0/24 -35.189.212.0/24 -35.189.216.0/24 -35.189.228.0/24 -35.189.235.0/24 -35.189.248.0/24 -35.190.193.0/24 -35.190.202.0/24 -35.190.203.0/24 -35.190.204.0/24 -35.190.205.0/24 -35.190.206.0/24 -35.195.4.0/24 -35.195.7.0/24 -35.195.9.0/24 -35.195.11.0/24 -35.195.24.0/24 -35.195.29.0/24 -35.195.33.0/24 -35.195.41.0/24 -35.195.44.0/24 -35.195.45.0/24 -35.195.47.0/24 -35.195.50.0/24 -35.195.53.0/24 -35.195.66.0/24 -35.195.70.0/24 -35.195.73.0/24 -35.195.75.0/24 -35.195.85.0/24 -35.195.87.0/24 -35.195.89.0/24 -35.195.95.0/24 -35.195.98.0/24 -35.195.100.0/24 -35.195.103.0/24 -35.195.105.0/24 -35.195.112.0/24 -35.195.114.0/24 -35.195.121.0/24 -35.195.126.0/24 -35.195.131.0/24 -35.195.146.0/24 -35.195.149.0/24 -35.195.150.0/24 -35.195.153.0/24 -35.195.156.0/24 -35.195.159.0/24 -35.195.161.0/24 -35.195.162.0/24 -35.195.176.0/24 -35.195.182.0/24 -35.195.188.0/24 -35.195.192.0/24 -35.195.195.0/24 -35.195.202.0/24 -35.195.207.0/24 -35.195.216.0/24 -35.195.217.0/24 -35.195.231.0/24 -35.195.239.0/24 -35.195.247.0/24 -35.195.248.0/24 -35.195.251.0/24 -35.195.253.0/24 -35.198.110.0/24 -35.198.140.0/24 -35.205.19.0/24 -35.205.21.0/24 -35.205.30.0/24 -35.205.34.0/24 -35.205.36.0/24 -35.205.46.0/24 -35.205.47.0/24 -35.205.50.0/24 -35.205.60.0/24 -35.205.73.0/24 -35.205.74.0/24 -35.205.79.0/24 -35.205.80.0/24 -35.205.81.0/24 -35.205.85.0/24 -35.205.94.0/24 -35.205.97.0/24 -35.205.100.0/24 -35.205.101.0/24 -35.205.108.0/24 -35.205.110.0/24 -35.205.111.0/24 -35.205.112.0/24 -35.205.115.0/24 -35.205.125.0/24 -35.205.128.0/24 -35.205.130.0/24 -35.205.135.0/24 -35.205.138.0/24 -35.205.141.0/24 -35.205.144.0/24 -35.205.153.0/24 -35.205.154.0/24 -35.205.155.0/24 -35.205.159.0/24 -35.205.163.0/24 -35.205.164.0/24 -35.205.172.0/24 -35.205.174.0/24 -35.205.180.0/24 -35.205.183.0/24 -35.205.189.0/24 -35.205.190.0/24 -35.205.192.0/24 -35.205.193.0/24 -35.205.197.0/24 -35.205.206.0/24 -35.205.210.0/24 -35.205.211.0/24 -35.205.212.0/24 -35.205.213.0/24 -35.205.216.0/24 -35.205.226.0/24 -35.205.228.0/24 -35.205.233.0/24 -35.205.236.0/24 -35.205.237.0/24 -35.205.238.0/24 -35.205.239.0/24 -35.205.244.0/24 -35.205.249.0/24 -35.205.253.0/24 -35.233.8.0/24 -35.233.10.0/24 -35.233.24.0/24 -35.233.27.0/24 -35.233.29.0/24 -35.233.32.0/24 -35.233.33.0/24 -35.233.34.0/24 -35.233.37.0/24 -35.233.42.0/24 -35.233.44.0/24 -35.233.52.0/24 -35.233.59.0/24 -35.233.65.0/24 -35.233.68.0/24 -35.233.73.0/24 -35.233.84.0/24 -35.233.91.0/24 -35.233.96.0/24 -35.233.97.0/24 -35.233.109.0/24 -35.233.113.0/24 -35.233.118.0/24 -35.233.119.0/24 -35.233.122.0/24 -35.233.123.0/24 -35.234.66.0/24 -35.234.67.0/24 -35.234.68.0/24 -35.240.2.0/24 -35.240.4.0/24 -35.240.5.0/24 -35.240.8.0/24 -35.240.11.0/24 -35.240.12.0/24 -35.240.14.0/24 -35.240.15.0/24 -35.240.16.0/24 -35.240.17.0/24 -35.240.18.0/24 -35.240.25.0/24 -35.240.33.0/24 -35.240.34.0/24 -35.240.35.0/24 -35.240.41.0/24 -35.240.43.0/24 -35.240.48.0/24 -35.240.49.0/24 -35.240.53.0/24 -35.240.54.0/24 -35.240.55.0/24 -35.240.64.0/24 -35.240.67.0/24 -35.240.70.0/24 -35.240.72.0/24 -35.240.73.0/24 -35.240.75.0/24 -35.240.81.0/24 -35.240.82.0/24 -35.240.83.0/24 -35.240.95.0/24 -35.240.97.0/24 -35.240.98.0/24 -35.240.102.0/24 -35.240.104.0/24 -35.240.105.0/24 -35.240.108.0/24 -35.240.109.0/24 -35.240.117.0/24 -35.240.123.0/24 -35.240.124.0/24 -35.241.128.0/24 -35.241.129.0/24 -35.241.132.0/24 -35.241.133.0/24 -35.241.135.0/24 -35.241.141.0/24 -35.241.142.0/24 -35.241.144.0/24 -35.241.148.0/24 -35.241.149.0/24 -35.241.150.0/24 -35.241.152.0/24 -35.241.153.0/24 -35.241.154.0/24 -35.241.156.0/24 -35.241.158.0/24 -35.241.160.0/24 -35.241.162.0/24 -35.241.163.0/24 -35.241.166.0/24 -35.241.168.0/24 -35.241.170.0/24 -35.241.173.0/24 -35.241.175.0/24 -35.241.177.0/24 -35.241.179.0/24 -35.241.182.0/24 -35.241.183.0/24 -35.241.186.0/24 -35.241.189.0/24 -35.241.191.0/24 -35.241.192.0/24 -35.241.193.0/24 -35.241.195.0/24 -35.241.199.0/24 -35.241.200.0/24 -35.241.204.0/24 -35.241.207.0/24 -35.241.211.0/24 -35.241.213.0/24 -35.241.214.0/24 -35.241.216.0/24 -35.241.218.0/24 -35.241.219.0/24 -35.241.225.0/24 -35.241.227.0/24 -35.241.229.0/24 -35.241.231.0/24 -35.241.232.0/24 -35.241.240.0/24 -35.241.242.0/24 -35.241.244.0/24 -35.241.248.0/24 -35.241.251.0/24 -37.10.0.0/16 -37.10.124.0/24 -40.74.64.0/24 -40.74.96.0/24 -40.74.128.0/24 -40.83.64.0/24 -42.99.128.0/24 -43.250.192.0/24 -43.250.193.0/24 -45.119.146.0/24 -45.121.0.0/16 -45.121.186.0/24 -46.0.0.0/4 -46.33.69.0/24 -46.51.128.0/24 -46.51.192.0/24 -46.51.216.0/21 -46.51.216.0/24 -46.51.224.0/24 -46.137.0.0/16 -46.137.128.0/24 -46.137.192.0/19 -46.137.192.0/24 -46.137.224.0/19 -46.137.224.0/24 -47.75.17.0/24 -49.236.136.0/24 -50.16.0.0/15 -50.16.0.0/16 -50.19.0.0/16 -52.0.0.0/4 -52.0.0.0/15 -52.2.0.0/15 -52.2.0.0/16 -52.4.0.0/14 -52.4.0.0/16 -52.14.0.0/16 -52.15.0.0/16 -52.16.0.0/16 -52.18.0.0/16 -52.20.0.0/14 -52.20.0.0/16 -52.28.0.0/16 -52.29.0.0/16 -52.30.0.0/16 -52.44.0.0/15 -52.44.0.0/16 -52.46.0.0/18 -52.48.0.0/16 -52.54.0.0/15 -52.54.0.0/16 -52.57.0.0/16 -52.57.89.137/32 -52.58.0.0/16 -52.62.0.0/16 -52.62.107.227/32 -52.64.0.0/16 -52.64.103.63/32 -52.64.128.0/24 -52.65.0.0/16 -52.67.0.0/16 -52.67.16.101/32 -52.68.0.0/16 -52.70.0.0/15 -52.70.0.0/16 -52.72.0.0/15 -52.72.0.0/16 -52.74.0.0/16 -52.76.0.0/16 -52.76.0.0/17 -52.76.128.0/17 -52.76.128.0/24 -52.76.132.161/32 -52.77.0.0/16 -52.77.210.211/32 -52.78.0.0/16 -52.78.100.116/32 -52.79.0.0/16 -52.79.125.129/32 -52.84.0.0/15 -52.84.43.0/24 -52.84.166.0/24 -52.84.167.0/24 -52.84.186.0/24 -52.84.193.0/24 -52.84.203.0/24 -52.84.239.0/24 -52.84.243.0/24 -52.85.0.0/16 -52.86.0.0/15 -52.86.0.0/16 -52.90.0.0/15 -52.90.0.0/16 -52.92.0.0/16 -52.92.16.0/24 -52.92.39.0/24 -52.92.40.0/24 -52.92.52.0/24 -52.92.56.0/24 -52.92.60.0/24 -52.92.64.0/24 -52.92.68.0/24 -52.92.72.0/24 -52.92.76.0/24 -52.92.80.0/24 -52.93.0.0/16 -52.93.1.0/24 -52.93.2.0/24 -52.93.3.0/24 -52.93.4.0/24 -52.93.8.0/24 -52.93.16.0/24 -52.94.0.0/16 -52.94.4.0/24 -52.94.5.0/24 -52.94.6.0/24 -52.94.7.0/24 -52.94.8.0/24 -52.94.11.0/24 -52.94.13.0/24 -52.94.17.0/24 -52.94.24.0/24 -52.94.26.0/24 -52.94.192.0/24 -52.94.196.0/24 -52.94.198.16/32 -52.94.198.48/32 -52.94.198.64/32 -52.94.198.96/32 -52.94.198.112/32 -52.94.199.0/24 -52.94.200.0/24 -52.94.204.0/24 -52.94.206.0/24 -52.94.216.0/24 -52.94.224.0/24 -52.94.240.0/24 -52.94.244.0/24 -52.94.248.0/24 -52.94.248.0/28 -52.94.248.16/32 -52.94.248.32/28 -52.94.248.32/32 -52.94.248.48/32 -52.94.248.64/32 -52.94.248.80/32 -52.94.248.112/32 -52.94.248.160/32 -52.94.248.176/28 -52.94.248.176/32 -52.94.252.0/24 -52.94.254.0/24 -52.95.0.0/16 -52.95.16.0/24 -52.95.24.0/24 -52.95.28.0/24 -52.95.30.0/24 -52.95.34.0/24 -52.95.35.0/24 -52.95.36.0/24 -52.95.48.0/24 -52.95.56.0/24 -52.95.60.0/24 -52.95.61.0/24 -52.95.62.0/24 -52.95.63.0/24 -52.95.104.0/24 -52.95.108.0/24 -52.95.111.0/24 -52.95.112.0/24 -52.95.128.0/24 -52.95.136.0/24 -52.95.138.0/24 -52.95.192.0/24 -52.95.212.0/24 -52.95.240.0/24 -52.95.241.0/24 -52.95.242.0/24 -52.95.243.0/24 -52.95.244.0/24 -52.95.245.0/24 -52.95.248.0/24 -52.95.251.0/24 -52.95.252.0/24 -52.95.255.0/24 -52.95.255.16/32 -52.95.255.32/28 -52.95.255.32/32 -52.95.255.48/32 -52.95.255.64/32 -52.95.255.80/28 -52.95.255.80/32 -52.95.255.128/32 -52.119.184.0/24 -52.119.192.0/24 -52.119.196.0/24 -52.119.205.0/24 -52.119.212.0/24 -52.119.216.0/24 -52.119.224.0/24 -52.119.232.0/24 -52.119.240.0/24 -52.124.128.0/17 -52.141.0.0/16 -52.141.16.0/24 -52.147.64.0/24 -52.175.0.0/16 -52.175.32.0/24 -52.175.40.0/24 -52.175.40.64/32 -52.175.40.128/32 -52.175.41.0/24 -52.175.42.0/24 -52.175.43.0/24 -52.175.43.64/32 -52.175.44.0/24 -52.175.48.0/24 -52.175.64.0/24 -52.175.96.0/24 -52.175.112.0/24 -52.175.112.32/32 -52.175.113.0/24 -52.175.120.0/24 -52.175.128.0/24 -52.175.160.0/24 -52.184.0.0/16 -52.184.32.0/24 -52.184.40.0/24 -52.184.40.64/32 -52.184.41.0/24 -52.184.42.0/24 -52.184.48.0/24 -52.184.64.0/24 -52.184.96.0/24 -52.192.0.0/16 -52.194.0.0/16 -52.196.0.0/16 -52.200.0.0/13 -52.200.0.0/16 -52.208.0.0/16 -52.216.0.0/16 -52.218.0.0/16 -52.219.0.0/16 -52.219.16.0/24 -52.219.32.0/24 -52.219.40.0/24 -52.219.44.0/24 -52.219.56.0/24 -52.219.60.0/24 -52.219.68.0/24 -52.219.72.0/24 -52.219.76.0/24 -52.219.80.0/24 -52.220.0.0/15 -52.220.0.0/16 -52.222.128.0/17 -52.229.128.0/24 -52.229.160.0/24 -52.229.176.0/24 -52.229.177.0/24 -52.229.184.0/24 -52.229.192.0/24 -52.229.224.0/24 -52.229.232.0/24 -52.229.240.0/24 -52.231.0.0/16 -52.231.1.0/24 -52.231.8.0/24 -52.231.16.0/24 -52.231.32.0/24 -52.231.40.0/24 -52.231.41.0/24 -52.231.48.0/24 -52.231.64.0/24 -52.231.80.0/24 -52.231.80.128/32 -52.231.88.0/24 -52.231.96.0/24 -52.231.128.0/24 -52.231.129.0/24 -52.231.136.0/24 -52.231.144.0/24 -52.231.160.0/24 -52.231.168.0/24 -52.231.168.128/32 -52.231.169.0/24 -52.231.176.0/24 -52.231.192.0/24 -52.231.208.0/24 -52.231.208.32/32 -52.231.216.0/24 -52.231.224.0/24 -52.231.240.0/24 -52.239.128.0/24 -52.239.146.0/24 -52.239.147.0/24 -52.239.147.96/32 -52.239.147.128/32 -52.239.148.0/24 -52.239.165.160/32 -52.245.56.0/24 -52.245.56.32/32 -52.245.92.0/24 -52.245.93.0/24 -52.245.93.32/32 -52.245.93.64/32 -52.245.93.112/32 -52.245.93.128/32 -52.245.100.0/24 -52.245.112.0/24 -52.245.112.32/32 -52.253.172.0/24 -52.253.188.0/24 -52.253.192.0/24 -52.253.216.0/24 -54.64.0.0/16 -54.66.0.0/16 -54.72.0.0/16 -54.74.0.0/16 -54.76.0.0/16 -54.78.0.0/16 -54.79.0.0/16 -54.80.0.0/13 -54.80.0.0/16 -54.88.0.0/14 -54.88.0.0/16 -54.92.0.0/16 -54.92.128.0/17 -54.92.128.0/24 -54.93.0.0/16 -54.94.0.0/16 -54.94.197.230/32 -54.95.0.0/16 -54.144.0.0/14 -54.144.0.0/16 -54.150.0.0/16 -54.151.128.0/17 -54.151.128.0/24 -54.152.0.0/16 -54.153.128.0/24 -54.154.0.0/16 -54.155.0.0/16 -54.156.0.0/14 -54.156.0.0/16 -54.160.0.0/13 -54.160.0.0/16 -54.168.0.0/16 -54.169.0.0/16 -54.170.0.0/16 -54.172.0.0/15 -54.172.0.0/16 -54.174.0.0/15 -54.174.0.0/16 -54.174.0.173/32 -54.178.0.0/16 -54.179.0.0/16 -54.180.0.0/15 -54.180.0.0/16 -54.182.0.0/16 -54.182.2.0/24 -54.182.4.0/24 -54.182.5.0/24 -54.192.0.0/16 -54.194.0.0/16 -54.196.0.0/15 -54.196.0.0/16 -54.198.0.0/16 -54.199.0.0/16 -54.204.0.0/15 -54.204.0.0/16 -54.206.0.0/16 -54.206.7.59/32 -54.206.43.103/32 -54.207.0.0/16 -54.208.0.0/15 -54.208.0.0/16 -54.210.0.0/15 -54.210.0.0/16 -54.216.0.0/16 -54.220.0.0/16 -54.221.0.0/16 -54.224.0.0/15 -54.224.0.0/16 -54.226.0.0/15 -54.226.0.0/16 -54.228.0.0/16 -54.229.0.0/16 -54.230.0.0/16 -54.231.0.0/16 -54.231.128.0/24 -54.231.192.0/24 -54.231.224.0/24 -54.231.240.0/24 -54.231.244.0/24 -54.231.248.0/24 -54.231.252.0/24 -54.231.253.0/24 -54.232.0.0/16 -54.233.0.0/16 -54.233.64.0/24 -54.233.128.0/17 -54.233.128.0/24 -54.234.0.0/15 -54.234.0.0/16 -54.236.0.0/15 -54.236.0.0/16 -54.238.0.0/16 -54.239.0.48/32 -54.239.0.80/32 -54.239.0.96/32 -54.239.0.192/32 -54.239.4.0/24 -54.239.8.0/24 -54.239.16.0/24 -54.239.32.0/24 -54.239.52.0/24 -54.239.54.0/24 -54.239.56.0/24 -54.239.64.0/24 -54.239.96.0/24 -54.239.98.0/24 -54.239.99.0/24 -54.239.100.0/24 -54.239.104.0/24 -54.239.108.0/24 -54.239.116.0/24 -54.239.120.0/24 -54.239.128.0/18 -54.239.130.0/24 -54.239.158.0/24 -54.239.192.0/19 -54.240.128.0/18 -54.240.192.0/24 -54.240.196.0/24 -54.240.197.0/24 -54.240.199.0/24 -54.240.200.0/24 -54.240.202.0/24 -54.240.203.0/24 -54.240.204.0/24 -54.240.208.0/24 -54.240.216.0/24 -54.240.220.0/24 -54.240.225.0/24 -54.240.226.0/24 -54.240.227.0/24 -54.240.228.0/24 -54.240.232.0/24 -54.240.244.0/24 -54.242.0.0/15 -54.242.0.0/16 -54.246.0.0/16 -54.247.0.0/16 -54.248.0.0/16 -54.250.0.0/16 -54.251.0.0/16 -54.252.0.0/16 -54.253.0.0/16 -54.254.0.0/16 -54.255.0.0/16 -59.0.0.0/4 -60.254.0.0/16 -60.254.131.0/24 -61.160.200.0/24 -61.213.0.0/16 -61.213.168.0/24 -63.130.76.0/24 -63.146.0.0/16 -63.146.69.0/24 -63.147.242.0/24 -63.217.8.0/24 -63.219.0.0/16 -63.219.254.0/24 -63.233.60.0/24 -63.243.0.0/16 -63.243.242.0/24 -63.243.244.0/24 -63.251.124.0/24 -64.0.0.0/4 -64.48.225.0/24 -64.124.0.0/16 -64.124.167.0/24 -64.252.64.0/18 -65.52.160.0/24 -65.152.0.0/16 -65.158.0.0/16 -65.158.114.0/24 -65.200.22.0/24 -66.0.0.0/4 -66.61.174.0/24 -67.0.0.0/4 -67.131.0.0/16 -67.131.44.0/24 -67.202.0.0/16 -67.202.0.0/18 -69.0.0.0/4 -69.16.0.0/16 -69.16.175.0/24 -69.63.0.0/16 -69.171.0.0/16 -69.192.0.0/16 -70.42.62.0/24 -70.132.0.0/18 -71.152.0.0/17 -72.21.192.0/24 -72.44.32.0/19 -72.44.32.0/24 -72.165.0.0/16 -72.165.61.0/24 -72.166.126.0/24 -72.246.0.0/16 -72.246.103.0/24 -72.246.188.0/24 -72.246.189.0/24 -72.246.190.0/24 -72.247.0.0/16 -72.247.177.0/24 -72.247.184.0/24 -74.0.0.0/4 -74.86.0.0/16 -74.201.0.0/16 -74.201.98.0/24 -74.201.99.0/24 -74.201.102.0/24 -74.201.103.0/24 -74.201.107.0/24 -75.0.0.0/4 -75.101.128.0/17 -75.101.128.0/24 -75.126.0.0/16 -77.67.20.0/24 -78.16.0.0/16 -79.125.0.0/16 -82.163.72.0/24 -84.53.0.0/16 -85.190.0.0/16 -85.190.158.0/24 -87.238.80.0/24 -88.0.0.0/4 -88.202.177.0/24 -88.202.180.0/24 -88.202.181.0/24 -88.202.182.0/24 -88.202.186.0/24 -88.221.0.0/16 -88.221.71.0/24 -88.221.116.0/24 -88.221.235.0/24 -92.122.0.0/16 -92.122.226.0/24 -92.122.227.0/24 -92.123.0.0/16 -92.123.225.0/24 -93.46.8.0/24 -95.100.0.0/16 -95.100.97.0/24 -95.101.0.0/16 -95.101.2.0/24 -95.101.78.0/24 -95.101.89.0/24 -95.101.182.0/24 -96.0.0.0/4 -96.6.0.0/16 -96.16.0.0/16 -96.17.0.0/16 -96.17.70.0/24 -96.17.109.0/24 -96.17.151.0/24 -99.84.0.0/16 -99.84.216.19/32 -99.84.216.53/32 -99.84.216.79/32 -99.84.216.103/32 -99.86.0.0/16 -100.24.0.0/13 -103.4.8.0/24 -103.4.12.0/24 -103.8.172.0/24 -103.28.0.0/16 -103.28.54.0/24 -103.74.0.0/16 -103.112.40.0/24 -103.112.40.2/32 -103.112.40.32/32 -103.112.40.62/32 -103.112.40.92/32 -103.194.164.0/24 -103.194.166.0/24 -103.246.148.0/24 -103.246.150.0/24 -104.0.0.0/4 -104.46.24.0/24 -104.46.25.0/24 -104.46.26.0/24 -104.46.27.0/24 -104.46.160.0/24 -104.46.224.0/24 -104.65.0.0/16 -104.66.0.0/16 -104.67.0.0/16 -104.68.0.0/16 -104.70.0.0/16 -104.70.154.0/24 -104.71.0.0/16 -104.72.0.0/16 -104.73.0.0/16 -104.75.0.0/16 -104.75.169.0/24 -104.76.0.0/16 -104.76.18.0/24 -104.76.133.0/24 -104.77.0.0/16 -104.77.22.0/24 -104.79.0.0/16 -104.79.88.0/24 -104.80.0.0/16 -104.80.88.0/24 -104.81.0.0/16 -104.81.11.0/24 -104.82.0.0/16 -104.83.0.0/16 -104.84.0.0/16 -104.84.150.0/24 -104.85.0.0/16 -104.86.0.0/16 -104.86.110.0/24 -104.87.0.0/16 -104.89.0.0/16 -104.90.0.0/16 -104.90.49.0/24 -104.91.0.0/16 -104.92.0.0/16 -104.94.0.0/16 -104.95.0.0/16 -104.97.0.0/16 -104.98.0.0/16 -104.100.0.0/16 -104.101.0.0/16 -104.102.0.0/16 -104.103.0.0/16 -104.103.70.0/24 -104.104.0.0/16 -104.104.187.0/24 -104.105.0.0/16 -104.106.0.0/16 -104.107.0.0/16 -104.108.0.0/16 -104.109.0.0/16 -104.109.235.0/24 -104.110.0.0/16 -104.111.0.0/16 -104.111.200.0/24 -104.112.0.0/16 -104.113.0.0/16 -104.115.0.0/16 -104.115.118.0/24 -104.115.209.0/24 -104.116.0.0/16 -104.116.243.0/24 -104.117.0.0/16 -104.118.0.0/16 -104.118.6.0/24 -104.118.112.0/24 -104.119.0.0/16 -104.120.0.0/16 -104.121.0.0/16 -104.121.76.0/24 -104.122.0.0/16 -104.123.0.0/16 -104.124.0.0/16 -104.126.0.0/16 -104.127.0.0/16 -104.155.6.0/24 -104.155.7.0/24 -104.155.12.0/24 -104.155.23.0/24 -104.155.24.0/24 -104.155.28.0/24 -104.155.31.0/24 -104.155.36.0/24 -104.155.37.0/24 -104.155.41.0/24 -104.155.64.0/24 -104.155.75.0/24 -104.155.77.0/24 -104.155.86.0/24 -104.155.97.0/24 -104.155.102.0/24 -104.155.116.0/24 -104.155.119.0/24 -104.155.120.0/24 -104.155.123.0/24 -104.155.125.0/24 -104.199.1.0/24 -104.199.11.0/24 -104.199.12.0/24 -104.199.14.0/24 -104.199.17.0/24 -104.199.23.0/24 -104.199.26.0/24 -104.199.35.0/24 -104.199.36.0/24 -104.199.38.0/24 -104.199.66.0/24 -104.199.75.0/24 -104.199.76.0/24 -104.199.86.0/24 -104.199.92.0/24 -104.199.95.0/24 -104.199.104.0/24 -104.199.107.0/24 -104.208.80.0/24 -104.208.96.0/24 -104.214.128.0/24 -104.215.0.0/16 -106.10.36.136/32 -106.10.39.82/32 -106.10.40.0/24 -106.10.41.0/24 -106.10.42.0/24 -106.10.43.0/24 -106.10.44.0/24 -106.10.46.0/24 -106.10.48.0/21 -106.10.49.0/24 -106.15.0.0/16 -107.20.0.0/14 -107.20.0.0/16 -110.45.0.0/16 -111.221.64.0/24 -111.221.69.0/24 -112.121.79.0/24 -115.29.141.0/24 -115.223.0.0/16 -117.103.0.0/16 -117.103.182.0/24 -118.155.0.0/16 -118.155.230.0/24 -118.214.0.0/16 -118.215.0.0/16 -119.28.149.0/24 -119.28.150.0/24 -119.28.156.0/24 -119.28.160.0/24 -119.28.163.0/24 -119.28.226.0/24 -119.42.60.0/24 -119.81.0.0/16 -119.81.39.0/24 -119.81.69.0/24 -119.81.76.0/24 -119.81.82.0/24 -119.81.171.0/24 -119.81.227.0/24 -121.78.55.0/24 -121.156.0.0/16 -121.169.159.0/24 -122.248.192.0/18 -122.248.192.0/24 -122.252.0.0/16 -125.56.0.0/16 -125.56.200.0/24 -125.56.201.0/24 -125.56.227.0/24 -125.252.0.0/16 -128.241.0.0/16 -128.241.91.0/24 -130.211.49.0/24 -130.211.52.0/24 -130.211.56.0/24 -130.211.61.0/24 -130.211.98.0/24 -130.211.99.0/24 -130.211.101.0/24 -130.211.102.0/24 -130.211.104.0/24 -130.211.111.0/24 -134.170.192.0/24 -137.116.160.0/24 -138.91.16.0/24 -139.175.0.0/16 -139.175.87.0/24 -140.174.11.0/24 -141.0.0.0/4 -141.0.168.0/24 -143.204.0.0/16 -145.239.8.0/24 -146.66.0.0/16 -146.66.152.0/24 -146.148.6.0/24 -146.148.10.0/24 -146.148.14.0/24 -146.148.28.0/24 -146.148.31.0/24 -146.148.121.0/24 -146.148.127.0/24 -149.202.197.0/24 -152.199.0.0/16 -152.199.38.120/32 -153.254.0.0/16 -153.254.86.0/24 -155.133.0.0/16 -155.133.227.0/24 -155.133.229.0/24 -155.133.230.0/24 -155.133.238.0/24 -155.133.242.0/24 -155.133.245.0/24 -155.133.248.0/24 -155.133.254.0/24 -161.202.0.0/16 -161.202.47.0/24 -161.202.52.0/24 -161.202.61.0/24 -161.202.101.0/24 -162.14.18.74/32 -162.14.18.124/32 -162.254.0.0/16 -162.254.193.0/24 -162.254.195.0/24 -162.254.196.0/24 -162.254.197.0/24 -165.254.0.0/16 -165.254.12.0/24 -165.254.26.0/24 -165.254.105.0/24 -165.254.134.0/24 -165.254.146.0/24 -165.254.238.0/24 -165.254.247.0/24 -168.63.128.0/24 -168.63.128.96/32 -168.63.128.128/32 -168.63.129.0/24 -168.63.129.80/32 -168.63.129.96/32 -168.63.129.128/32 -168.63.130.0/24 -168.63.132.0/24 -168.63.136.0/24 -168.63.144.0/24 -168.63.192.0/24 -169.51.50.0/24 -169.51.51.0/24 -169.56.0.0/16 -169.56.1.0/24 -169.56.2.0/24 -169.56.3.0/24 -169.56.4.0/24 -169.56.5.0/24 -169.56.6.0/24 -169.56.7.0/24 -169.56.8.0/24 -169.56.9.0/24 -169.56.10.0/24 -169.56.11.0/24 -169.56.12.0/24 -169.56.13.0/24 -169.56.14.0/24 -169.56.15.0/24 -169.56.16.0/24 -169.56.17.0/24 -169.56.18.0/24 -169.56.19.0/24 -169.56.20.0/24 -169.56.21.0/24 -169.56.22.0/24 -169.56.23.0/24 -169.56.24.0/24 -169.56.25.0/24 -169.56.26.0/24 -169.56.27.0/24 -169.56.28.0/24 -169.56.29.0/24 -169.56.30.0/24 -169.56.31.0/24 -169.56.32.0/24 -169.56.33.0/24 -169.56.34.0/24 -169.56.35.0/24 -169.56.36.0/24 -169.56.37.0/24 -169.56.38.0/24 -169.56.39.0/24 -169.56.40.0/24 -169.56.41.0/24 -169.56.42.0/24 -169.56.43.0/24 -169.56.44.0/24 -169.56.45.0/24 -169.56.46.0/24 -169.56.47.0/24 -169.56.48.0/24 -169.56.49.0/24 -169.56.50.0/24 -169.56.51.0/24 -169.56.52.0/24 -169.56.53.0/24 -169.56.54.0/24 -169.56.55.0/24 -169.56.56.0/24 -169.56.57.0/24 -169.56.58.0/24 -169.56.59.0/24 -169.56.60.0/24 -169.56.61.0/24 -169.56.62.0/24 -169.56.63.0/24 -169.56.64.0/24 -169.56.65.0/24 -169.56.66.0/24 -169.56.67.0/24 -169.56.68.0/24 -169.56.69.0/24 -169.56.70.0/24 -169.56.71.0/24 -169.56.72.0/24 -169.56.73.0/24 -169.56.74.0/24 -169.56.75.0/24 -169.56.76.0/24 -169.56.77.0/24 -169.56.78.0/24 -169.56.79.0/24 -169.56.80.0/24 -169.56.81.0/24 -169.56.82.0/24 -169.56.83.0/24 -169.56.84.0/24 -169.56.85.0/24 -169.56.86.0/24 -169.56.87.0/24 -169.56.88.0/24 -169.56.89.0/24 -169.56.90.0/24 -169.56.91.0/24 -169.56.92.0/24 -169.56.93.0/24 -169.56.94.0/24 -169.56.95.0/24 -169.56.96.0/24 -169.56.97.0/24 -169.56.98.0/24 -169.56.99.0/24 -169.56.100.0/24 -169.56.101.0/24 -169.56.102.0/24 -169.56.103.0/24 -169.56.104.0/24 -169.56.105.0/24 -169.56.106.0/24 -169.56.107.0/24 -169.56.108.0/24 -169.56.109.0/24 -169.56.110.0/24 -169.56.111.0/24 -169.56.112.0/24 -169.56.113.0/24 -169.56.114.0/24 -169.56.115.0/24 -169.56.116.0/24 -169.56.117.0/24 -169.56.118.0/24 -169.56.119.0/24 -169.56.120.0/24 -169.56.121.0/24 -169.56.122.0/24 -169.56.123.0/24 -169.56.124.0/24 -169.56.125.0/24 -169.56.126.0/24 -169.56.127.0/24 -169.56.160.0/24 -169.56.161.0/24 -169.56.162.0/24 -169.56.163.0/24 -169.56.164.0/24 -169.56.165.0/24 -169.56.166.0/24 -169.56.167.0/24 -169.56.168.0/24 -169.56.169.0/24 -169.56.170.0/24 -169.56.171.0/24 -169.56.172.0/24 -169.56.173.0/24 -169.56.174.0/24 -169.56.175.0/24 -169.56.176.0/24 -169.56.177.0/24 -169.56.178.0/24 -169.56.179.0/24 -169.56.180.0/24 -169.56.181.0/24 -169.56.182.0/24 -169.56.183.0/24 -169.56.184.0/24 -169.56.185.0/24 -169.56.186.0/24 -169.56.187.0/24 -169.56.188.0/24 -169.56.189.0/24 -169.56.190.0/24 -169.56.191.0/24 -172.0.0.0/4 -172.96.97.0/24 -172.96.98.0/24 -172.224.0.0/16 -172.226.0.0/16 -172.227.0.0/16 -172.228.0.0/16 -172.229.0.0/16 -172.230.0.0/16 -172.231.0.0/16 -172.255.224.0/24 -172.255.226.0/24 -172.255.227.0/24 -172.255.229.0/24 -173.0.0.0/4 -173.197.0.0/16 -173.197.192.0/24 -173.205.0.0/16 -173.205.6.0/24 -173.205.14.0/24 -173.222.0.0/16 -173.222.108.0/24 -173.223.0.0/16 -173.252.0.0/16 -174.36.0.0/16 -174.36.196.242/32 -174.69.172.0/24 -174.129.0.0/16 -175.41.128.0/18 -175.41.128.0/24 -175.41.192.0/24 -175.99.0.0/16 -175.139.0.0/16 -176.32.64.0/24 -176.32.96.0/24 -176.32.104.0/24 -176.32.120.0/24 -176.34.0.0/16 -176.34.32.0/24 -176.34.64.0/24 -176.34.128.0/24 -177.71.128.0/24 -177.72.240.0/24 -178.236.0.0/16 -182.50.136.0/24 -182.162.0.0/16 -182.162.106.0/24 -184.0.0.0/4 -184.24.0.0/16 -184.25.0.0/16 -184.25.56.0/23 -184.25.56.0/24 -184.25.205.0/24 -184.26.0.0/16 -184.26.114.0/24 -184.29.0.0/16 -184.29.59.0/24 -184.30.0.0/16 -184.30.226.0/24 -184.31.0.0/16 -184.50.0.0/16 -184.50.87.0/24 -184.51.0.0/16 -184.51.1.0/24 -184.51.15.0/24 -184.51.198.0/24 -184.51.200.0/24 -184.72.64.0/18 -184.72.64.0/24 -184.72.128.0/17 -184.72.128.0/24 -184.73.0.0/16 -184.84.0.0/16 -184.85.0.0/16 -184.85.120.0/24 -184.87.0.0/16 -185.25.0.0/16 -185.25.180.0/24 -185.27.0.0/16 -185.27.16.0/24 -185.48.120.0/24 -185.80.220.0/24 -185.80.221.0/24 -185.88.0.0/16 -185.88.181.0/24 -185.143.16.0/24 -185.225.208.0/24 -188.42.39.0/24 -188.42.40.0/24 -188.42.41.0/24 -188.42.42.0/24 -188.42.172.0/24 -188.42.174.0/24 -188.93.59.0/24 -191.233.32.0/24 -191.234.2.16/32 -191.234.2.64/32 -191.234.2.128/32 -191.234.3.0/24 -191.234.16.0/24 -191.237.236.0/24 -191.237.238.0/24 -191.237.238.32/32 -191.237.238.64/32 -191.237.238.112/32 -191.238.68.0/24 -191.238.80.0/24 -191.238.88.0/24 -191.238.92.0/24 -191.239.96.0/24 -192.81.0.0/16 -192.81.222.0/24 -192.204.26.0/24 -197.165.7.0/24 -198.41.0.0/16 -198.87.0.0/16 -198.87.188.0/24 -198.172.0.0/16 -198.172.88.0/24 -199.0.0.0/4 -199.239.0.0/16 -199.239.182.0/24 -203.69.0.0/16 -203.69.81.0/24 -203.83.220.0/24 -203.195.120.0/24 -204.1.136.0/24 -204.236.192.0/18 -204.236.192.0/24 -204.246.164.0/22 -204.246.168.0/22 -204.246.172.0/23 -204.246.174.0/23 -204.246.176.0/20 -205.168.236.0/24 -205.186.0.0/16 -205.197.0.0/16 -205.197.140.0/24 -205.251.192.0/19 -205.251.215.0/24 -205.251.224.0/24 -205.251.240.0/24 -205.251.244.0/24 -205.251.247.0/24 -205.251.248.0/24 -205.251.249.0/24 -205.251.250.0/23 -205.251.252.0/23 -205.251.254.0/24 -207.46.87.0/24 -207.46.89.16/32 -207.46.95.48/32 -207.46.128.0/24 -207.109.221.0/24 -207.171.160.0/24 -207.171.176.0/24 -208.0.0.0/4 -208.64.0.0/16 -208.64.201.0/24 -208.78.0.0/16 -208.78.164.0/24 -208.185.115.0/24 -209.133.57.0/24 -209.170.0.0/16 -209.170.97.0/24 -210.61.0.0/16 -210.61.248.0/24 -210.201.0.0/16 -210.201.31.0/24 -211.43.13.0/24 -216.3.0.0/16 -216.3.133.0/24 -216.137.32.0/19 -216.137.61.0/24 -216.156.0.0/16 -216.156.211.0/24 -216.182.224.0/21 -216.182.224.0/24 -216.182.232.0/22 -216.182.238.0/23 -223.119.0.0/16 -223.119.50.0/24 \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/Steam.rules b/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/Steam.rules deleted file mode 100644 index 417e71919e..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/game_rules/Steam.rules +++ /dev/null @@ -1,949 +0,0 @@ -#Steam,Steam-社区(Beta),0,0,1,0,0,0,By-FQrabbit -2.16.4.0/24 -2.16.10.0/24 -2.16.17.0/24 -2.16.21.0/24 -2.16.39.0/24 -2.16.59.0/24 -2.16.82.0/24 -2.16.95.0/24 -2.16.104.0/23 -2.16.111.0/24 -2.17.55.0/24 -2.17.98.0/24 -2.17.191.0/24 -2.18.119.0/24 -2.18.152.0/24 -2.18.199.0/24 -2.19.131.0/24 -2.19.147.0/24 -2.19.225.0/24 -2.20.57.0/24 -2.20.166.0/24 -2.20.177.0/24 -2.20.200.0/24 -2.20.214.0/24 -2.21.31.0/24 -2.21.46.0/24 -2.21.75.0/24 -2.21.131.0/24 -2.21.145.0/24 -2.21.150.0/24 -2.21.195.0/24 -2.21.205.0/24 -2.21.248.0/24 -2.22.13.0/24 -2.22.15.0/24 -2.22.36.0/24 -2.22.69.0/24 -2.22.73.0/24 -2.22.74.0/23 -2.22.146.0/24 -2.23.151.0/24 -2.23.181.0/24 -8.7.198.0/24 -14.21.78.0/24 -23.0.7.0/24 -23.0.21.0/24 -23.0.83.0/24 -23.0.146.0/24 -23.0.168.0/24 -23.0.178.0/24 -23.0.232.0/24 -23.0.252.0/24 -23.1.15.0/24 -23.1.26.0/24 -23.1.45.0/24 -23.1.227.0/24 -23.2.8.0/24 -23.2.11.0/24 -23.2.16.0/24 -23.2.18.0/24 -23.2.29.0/24 -23.2.42.0/24 -23.2.59.0/24 -23.2.92.0/24 -23.2.204.0/24 -23.2.206.0/24 -23.3.244.0/24 -23.4.168.0/24 -23.4.251.0/24 -23.5.114.0/24 -23.5.117.0/24 -23.5.156.0/24 -23.5.170.0/24 -23.5.241.0/24 -23.5.242.0/24 -23.7.39.0/24 -23.7.80.0/24 -23.7.128.0/24 -23.7.199.0/24 -23.7.246.0/24 -23.8.12.0/24 -23.8.117.0/24 -23.8.229.0/24 -23.9.9.0/24 -23.9.154.0/24 -23.10.0.0/16 -23.11.202.0/24 -23.11.204.0/24 -23.11.225.0/24 -23.11.236.0/24 -23.12.34.0/24 -23.12.109.0/24 -23.12.227.0/24 -23.12.229.0/24 -23.13.147.0/24 -23.14.6.0/24 -23.14.10.0/24 -23.14.68.0/24 -23.14.77.0/24 -23.14.85.0/24 -23.14.222.0/24 -23.14.229.0/24 -23.15.4.0/24 -23.15.81.0/24 -23.15.91.0/24 -23.15.94.0/24 -23.15.98.0/23 -23.15.184.0/24 -23.15.187.0/24 -23.15.224.0/24 -23.32.17.0/24 -23.32.86.0/24 -23.32.113.0/24 -23.32.131.0/24 -23.32.163.0/24 -23.32.215.0/24 -23.32.216.0/24 -23.32.248.0/24 -23.32.254.0/24 -23.33.75.0/24 -23.33.88.0/24 -23.33.112.0/24 -23.33.168.0/24 -23.33.255.0/24 -23.34.60.0/24 -23.34.65.0/24 -23.34.75.0/24 -23.35.225.0/24 -23.35.230.0/24 -23.36.26.0/24 -23.36.105.0/24 -23.36.141.0/24 -23.36.148.0/24 -23.36.165.0/24 -23.36.216.0/24 -23.36.220.0/24 -23.36.230.0/23 -23.37.53.0/24 -23.37.58.0/24 -23.37.67.0/24 -23.37.147.0/24 -23.37.148.0/24 -23.37.237.0/24 -23.37.239.0/24 -23.37.242.0/23 -23.37.249.0/24 -23.37.250.0/24 -23.38.3.0/24 -23.38.77.0/24 -23.38.109.0/24 -23.38.153.0/24 -23.38.155.0/24 -23.38.166.0/24 -23.39.136.0/24 -23.40.1.0/24 -23.40.4.0/24 -23.40.31.0/24 -23.40.247.0/24 -23.41.5.0/24 -23.41.59.0/24 -23.41.102.0/24 -23.41.132.0/24 -23.41.149.0/24 -23.41.165.0/24 -23.41.243.0/24 -23.42.6.0/24 -23.42.69.0/24 -23.42.83.0/24 -23.42.165.0/24 -23.42.212.0/24 -23.42.232.0/24 -23.42.248.0/24 -23.43.0.0/16 -23.44.193.0/24 -23.45.96.0/24 -23.45.201.0/24 -23.46.18.0/24 -23.46.24.0/24 -23.46.104.0/24 -23.46.241.0/24 -23.47.0.0/16 -23.48.4.0/24 -23.48.219.0/24 -23.49.4.0/24 -23.49.119.0/24 -23.49.135.0/24 -23.49.148.0/24 -23.49.224.0/24 -23.50.18.0/24 -23.50.37.0/24 -23.50.43.0/24 -23.50.69.0/24 -23.50.168.0/24 -23.51.39.0/24 -23.51.122.0/24 -23.51.131.0/24 -23.51.134.0/23 -23.51.154.0/24 -23.51.240.0/24 -23.51.246.0/24 -23.52.37.0/24 -23.52.51.0/24 -23.52.74.0/24 -23.52.82.0/24 -23.52.86.0/24 -23.53.33.0/24 -23.53.73.0/24 -23.53.195.0/24 -23.54.176.0/24 -23.54.179.0/24 -23.54.199.0/24 -23.54.247.0/24 -23.54.248.0/24 -23.54.250.0/24 -23.55.48.0/24 -23.55.53.0/24 -23.55.60.0/24 -23.55.139.0/24 -23.55.235.0/24 -23.56.115.0/24 -23.56.208.0/24 -23.57.32.0/24 -23.57.64.0/23 -23.57.230.0/24 -23.57.251.0/24 -23.58.0.0/24 -23.58.27.0/24 -23.58.36.0/24 -23.58.41.0/24 -23.58.75.0/24 -23.58.80.0/24 -23.58.154.0/24 -23.59.57.0/24 -23.59.96.0/24 -23.59.117.0/24 -23.60.41.0/24 -23.60.48.0/24 -23.60.123.0/24 -23.60.131.0/24 -23.61.10.0/24 -23.61.74.0/24 -23.61.161.0/24 -23.62.53.0/24 -23.62.102.0/24 -23.62.109.0/24 -23.62.145.0/24 -23.62.152.0/24 -23.63.11.0/24 -23.63.22.0/24 -23.63.32.0/24 -23.63.219.0/24 -23.63.228.0/24 -23.64.22.0/24 -23.64.34.0/24 -23.64.37.0/24 -23.64.38.0/24 -23.64.127.0/24 -23.64.158.0/24 -23.64.178.0/24 -23.65.80.0/24 -23.65.190.0/24 -23.65.225.0/24 -23.66.0.0/16 -23.67.65.0/24 -23.67.67.0/24 -23.67.69.0/24 -23.67.72.0/24 -23.67.76.0/24 -23.67.130.0/24 -23.67.161.0/24 -23.67.200.0/24 -23.67.204.0/24 -23.67.217.0/24 -23.72.20.0/24 -23.72.36.0/24 -23.72.58.0/24 -23.72.80.0/24 -23.72.92.0/24 -23.72.138.0/24 -23.72.156.0/24 -23.72.226.0/24 -23.72.250.0/24 -23.73.29.0/24 -23.73.77.0/24 -23.73.85.0/24 -23.73.137.0/24 -23.73.139.0/24 -23.73.144.0/24 -23.73.153.0/24 -23.73.168.0/24 -23.73.170.0/24 -23.73.199.0/24 -23.73.206.0/24 -23.74.15.0/24 -23.74.17.0/24 -23.74.57.0/24 -23.74.60.0/24 -23.74.138.0/24 -23.74.162.0/24 -23.74.170.0/24 -23.74.237.0/24 -23.75.12.0/24 -23.75.14.0/24 -23.75.30.0/24 -23.75.186.0/24 -23.75.210.0/24 -23.75.212.0/24 -23.75.216.0/23 -23.76.253.0/24 -23.77.32.0/24 -23.77.202.0/24 -23.77.208.0/24 -23.77.214.0/24 -23.78.23.0/24 -23.78.39.0/24 -23.78.54.0/24 -23.78.86.0/24 -23.78.117.0/24 -23.78.168.0/24 -23.79.15.0/24 -23.79.19.0/24 -23.79.68.0/24 -23.192.26.0/24 -23.192.38.0/24 -23.192.114.0/24 -23.192.116.0/24 -23.192.126.0/24 -23.192.168.0/24 -23.192.245.0/24 -23.193.64.0/24 -23.193.162.0/24 -23.193.168.0/24 -23.193.171.0/24 -23.193.175.0/24 -23.194.66.0/24 -23.194.88.0/24 -23.194.212.0/24 -23.194.216.0/24 -23.196.4.0/24 -23.196.56.0/24 -23.196.199.0/24 -23.196.214.0/24 -23.196.244.0/24 -23.197.49.0/24 -23.198.97.0/24 -23.198.108.0/24 -23.198.121.0/24 -23.198.213.0/24 -23.198.214.0/24 -23.199.7.0/24 -23.199.10.0/24 -23.199.67.0/24 -23.199.134.0/24 -23.199.138.0/24 -23.199.149.0/24 -23.199.152.0/24 -23.199.154.0/24 -23.199.207.0/24 -23.199.232.0/24 -23.199.234.0/24 -23.199.242.0/24 -23.199.248.0/24 -23.200.18.0/24 -23.200.26.0/24 -23.200.94.0/24 -23.200.103.0/24 -23.200.140.0/24 -23.201.23.0/24 -23.201.41.0/24 -23.201.103.0/24 -23.201.254.0/24 -23.202.39.0/24 -23.202.69.0/24 -23.202.70.0/24 -23.202.83.0/24 -23.202.117.0/24 -23.202.124.0/24 -23.202.128.0/24 -23.202.139.0/24 -23.202.143.0/24 -23.203.26.0/23 -23.203.50.0/24 -23.203.52.0/24 -23.203.62.0/24 -23.203.84.0/24 -23.203.132.0/24 -23.203.255.0/24 -23.204.36.0/24 -23.204.104.0/23 -23.204.148.0/24 -23.204.239.0/24 -23.205.26.0/24 -23.205.35.0/24 -23.205.132.0/24 -23.205.140.0/24 -23.205.226.0/24 -23.206.10.0/24 -23.206.13.0/24 -23.206.35.0/24 -23.206.51.0/24 -23.206.66.0/24 -23.206.90.0/24 -23.206.95.0/24 -23.206.112.0/24 -23.206.126.0/24 -23.206.169.0/24 -23.206.192.0/24 -23.206.197.0/24 -23.206.198.0/24 -23.206.211.0/24 -23.206.239.0/24 -23.206.246.0/24 -23.207.179.0/24 -23.208.28.0/24 -23.208.34.0/24 -23.208.36.0/24 -23.208.102.0/24 -23.208.123.0/24 -23.208.136.0/24 -23.208.138.0/24 -23.208.215.0/24 -23.208.228.0/24 -23.208.235.0/24 -23.209.75.0/24 -23.209.184.0/24 -23.210.0.0/24 -23.210.3.0/24 -23.210.203.0/24 -23.211.16.0/24 -23.211.40.0/24 -23.211.56.0/24 -23.211.106.0/24 -23.211.140.0/24 -23.211.150.0/24 -23.211.152.0/24 -23.212.53.0/24 -23.212.110.0/24 -23.212.141.0/24 -23.212.171.0/24 -23.213.53.0/24 -23.213.55.0/24 -23.213.138.0/24 -23.213.158.0/24 -23.213.176.0/24 -23.214.27.0/24 -23.214.43.0/24 -23.214.51.0/24 -23.214.66.0/24 -23.214.74.0/24 -23.214.102.0/23 -23.214.116.0/24 -23.214.165.0/24 -23.214.172.0/24 -23.215.0.0/24 -23.215.52.0/24 -23.215.57.0/24 -23.215.105.0/24 -23.215.130.0/24 -23.216.8.0/24 -23.216.202.0/24 -23.217.43.0/24 -23.217.106.0/24 -23.217.143.0/24 -23.217.226.0/24 -23.218.40.0/24 -23.218.144.0/24 -23.218.158.0/24 -23.218.215.0/24 -23.219.212.0/24 -23.220.38.0/24 -23.220.46.0/24 -23.220.181.0/24 -23.220.195.0/24 -23.220.206.0/24 -23.221.3.0/24 -23.221.17.0/24 -23.221.45.0/24 -23.221.46.0/24 -23.221.66.0/24 -23.221.154.0/24 -23.222.27.0/24 -23.222.61.0/24 -23.222.132.0/24 -23.222.161.0/24 -23.222.172.0/24 -23.222.195.0/24 -23.223.65.0/24 -23.223.75.0/24 -23.223.99.0/24 -31.13.0.0/16 -37.10.124.0/24 -45.121.186.0/24 -46.82.0.0/16 -59.24.0.0/16 -60.254.131.0/24 -60.254.171.0/24 -61.213.168.0/24 -63.146.69.0/24 -63.219.254.0/24 -63.243.244.0/24 -64.13.0.0/16 -65.158.114.0/24 -66.220.0.0/16 -67.15.0.0/16 -67.131.44.0/24 -67.228.0.0/16 -69.16.175.0/24 -69.63.0.0/16 -69.171.0.0/16 -69.192.12.0/24 -69.192.44.0/24 -72.165.61.0/24 -72.246.62.0/24 -72.246.91.0/24 -72.246.106.0/24 -72.246.167.0/24 -72.246.169.0/24 -72.246.174.0/24 -72.246.189.0/24 -72.246.190.0/24 -72.246.224.0/24 -72.247.90.0/24 -72.247.192.0/23 -72.247.198.0/24 -74.86.0.0/16 -74.201.99.0/24 -75.126.0.0/16 -78.16.49.0/24 -84.53.134.0/24 -85.190.158.0/24 -88.191.0.0/16 -88.221.34.0/24 -88.221.37.0/24 -88.221.71.0/24 -88.221.99.0/24 -88.221.172.0/24 -88.221.175.0/24 -88.221.195.0/24 -88.221.198.0/23 -92.122.5.0/24 -92.122.254.0/24 -92.123.123.0/24 -92.123.176.0/24 -92.123.208.0/24 -95.100.3.0/24 -95.100.60.0/24 -95.100.97.0/24 -95.100.142.0/24 -95.101.30.0/24 -95.101.51.0/24 -95.101.166.0/24 -95.101.199.0/24 -95.101.241.0/24 -95.101.247.0/24 -96.6.89.0/24 -96.6.161.0/24 -96.7.0.0/16 -96.16.160.0/24 -96.16.184.0/24 -96.16.186.0/24 -96.16.221.0/24 -96.17.38.0/24 -96.17.109.0/24 -96.17.210.0/24 -103.28.54.0/24 -103.74.6.0/24 -104.65.15.0/24 -104.66.5.0/24 -104.66.7.0/24 -104.66.36.0/24 -104.66.44.0/24 -104.66.140.0/24 -104.67.26.0/24 -104.67.37.0/24 -104.67.57.0/24 -104.67.152.0/24 -104.68.176.0/24 -104.68.183.0/24 -104.68.189.0/24 -104.69.0.0/16 -104.70.69.0/24 -104.70.154.0/24 -104.70.200.0/24 -104.70.204.0/24 -104.70.207.0/24 -104.71.138.0/24 -104.71.152.0/24 -104.71.213.0/24 -104.72.60.0/24 -104.72.63.0/24 -104.72.154.0/24 -104.72.156.0/24 -104.73.12.0/24 -104.74.0.0/16 -104.75.37.0/24 -104.75.57.0/24 -104.75.65.0/24 -104.75.228.0/24 -104.76.18.0/24 -104.76.58.0/24 -104.76.65.0/24 -104.76.88.0/24 -104.76.111.0/24 -104.76.114.0/24 -104.76.133.0/24 -104.77.22.0/24 -104.78.0.0/16 -104.79.88.0/24 -104.79.128.0/24 -104.79.153.0/24 -104.80.3.0/24 -104.80.29.0/24 -104.80.37.0/24 -104.80.53.0/24 -104.80.59.0/24 -104.80.64.0/24 -104.80.66.0/24 -104.80.88.0/24 -104.81.11.0/24 -104.81.23.0/24 -104.81.120.0/24 -104.81.126.0/24 -104.81.137.0/24 -104.81.141.0/24 -104.81.244.0/23 -104.82.83.0/24 -104.82.89.0/24 -104.82.180.0/23 -104.82.245.0/24 -104.82.247.0/24 -104.83.70.0/24 -104.83.83.0/24 -104.83.89.0/24 -104.83.100.0/24 -104.83.102.0/24 -104.84.154.0/24 -104.84.169.0/24 -104.84.187.0/24 -104.85.41.0/24 -104.85.50.0/24 -104.85.52.0/23 -104.85.172.0/24 -104.85.174.0/24 -104.86.44.0/23 -104.86.110.0/24 -104.86.250.0/24 -104.87.39.0/24 -104.87.102.0/24 -104.87.227.0/24 -104.87.228.0/24 -104.88.0.0/16 -104.89.8.0/24 -104.89.18.0/24 -104.89.38.0/23 -104.89.40.0/24 -104.89.143.0/24 -104.90.20.0/24 -104.90.24.0/24 -104.90.44.0/24 -104.90.49.0/24 -104.90.96.0/24 -104.90.100.0/24 -104.90.104.0/24 -104.90.140.0/24 -104.90.143.0/24 -104.90.180.0/24 -104.91.170.0/24 -104.91.217.0/24 -104.91.233.0/24 -104.92.6.0/24 -104.92.80.0/24 -104.92.90.0/24 -104.92.102.0/24 -104.92.123.0/24 -104.92.136.0/24 -104.92.153.0/24 -104.93.0.0/16 -104.94.2.0/24 -104.94.8.0/24 -104.94.18.0/24 -104.94.110.0/24 -104.94.173.0/24 -104.94.204.0/24 -104.95.20.0/24 -104.95.24.0/24 -104.95.59.0/24 -104.95.98.0/24 -104.95.110.0/24 -104.95.119.0/24 -104.95.197.0/24 -104.95.227.0/24 -104.96.0.0/16 -104.97.66.0/24 -104.97.113.0/24 -104.97.226.0/24 -104.97.228.0/24 -104.98.0.0/15 -104.100.51.0/24 -104.100.52.0/24 -104.100.187.0/24 -104.101.203.0/24 -104.102.10.0/24 -104.102.56.0/24 -104.103.52.0/24 -104.103.58.0/24 -104.103.70.0/24 -104.103.106.0/24 -104.103.157.0/24 -104.104.162.0/24 -104.104.187.0/24 -104.105.7.0/24 -104.105.10.0/24 -104.105.28.0/24 -104.105.58.0/24 -104.105.148.0/24 -104.105.153.0/24 -104.106.200.0/24 -104.106.236.0/24 -104.107.7.0/24 -104.107.52.0/23 -104.107.108.0/24 -104.107.168.0/23 -104.107.248.0/24 -104.108.46.0/24 -104.108.52.0/24 -104.108.69.0/24 -104.109.55.0/24 -104.109.66.0/24 -104.109.82.0/24 -104.109.130.0/24 -104.109.139.0/24 -104.109.142.0/24 -104.109.160.0/24 -104.109.208.0/24 -104.109.235.0/24 -104.110.104.0/24 -104.111.200.0/24 -104.111.247.0/24 -104.112.150.0/24 -104.112.238.0/24 -104.113.52.0/24 -104.113.62.0/24 -104.113.115.0/24 -104.115.83.0/24 -104.115.92.0/24 -104.115.97.0/24 -104.115.118.0/24 -104.115.125.0/24 -104.115.175.0/24 -104.115.209.0/24 -104.115.227.0/24 -104.115.233.0/24 -104.115.253.0/24 -104.116.0.0/24 -104.116.18.0/24 -104.116.70.0/24 -104.116.130.0/24 -104.116.145.0/24 -104.116.217.0/24 -104.116.243.0/24 -104.116.246.0/24 -104.116.251.0/24 -104.117.0.0/24 -104.117.65.0/24 -104.117.95.0/24 -104.117.105.0/24 -104.117.140.0/24 -104.118.6.0/24 -104.118.28.0/24 -104.118.96.0/24 -104.118.103.0/24 -104.118.112.0/24 -104.119.40.0/24 -104.119.181.0/24 -104.120.78.0/24 -104.120.86.0/24 -104.120.92.0/24 -104.120.143.0/24 -104.120.178.0/24 -104.120.219.0/24 -104.121.21.0/24 -104.121.70.0/24 -104.121.122.0/24 -104.121.226.0/24 -104.121.232.0/24 -104.121.249.0/24 -104.122.2.0/24 -104.122.10.0/24 -104.122.102.0/24 -104.122.198.0/24 -104.122.203.0/24 -104.122.220.0/24 -104.122.255.0/24 -104.123.122.0/24 -104.124.27.0/24 -104.124.49.0/24 -104.124.119.0/24 -104.124.134.0/24 -104.124.139.0/24 -104.124.182.0/24 -104.124.211.0/24 -104.124.228.0/24 -104.125.0.0/16 -104.126.21.0/24 -104.126.83.0/24 -104.127.43.0/24 -104.127.62.0/24 -104.127.119.0/24 -104.127.221.0/24 -106.15.109.0/24 -110.45.200.0/24 -115.223.23.0/24 -117.103.182.0/24 -118.155.230.0/24 -118.214.82.0/24 -118.214.249.0/24 -118.215.92.0/24 -118.215.97.0/24 -118.215.176.0/24 -121.156.60.0/24 -122.252.43.0/24 -125.56.227.0/24 -125.252.235.0/24 -128.241.91.0/24 -139.175.87.0/24 -141.0.168.0/24 -146.66.152.0/24 -152.199.38.0/24 -153.254.86.0/24 -155.133.227.0/24 -155.133.229.0/24 -155.133.230.0/24 -155.133.238.0/24 -155.133.242.0/24 -155.133.254.0/24 -162.254.193.0/24 -162.254.195.0/24 -162.254.196.0/23 -165.254.12.0/24 -165.254.105.0/24 -165.254.134.0/24 -172.16.0.0/16 -172.19.83.0/24 -172.224.1.0/24 -172.224.11.0/24 -172.226.72.0/24 -172.226.220.0/24 -172.227.13.0/24 -172.227.150.0/24 -172.227.171.0/24 -172.228.232.0/24 -172.229.58.0/24 -172.230.102.0/24 -172.230.106.0/24 -172.230.108.0/24 -172.230.172.0/24 -172.231.9.0/24 -173.197.192.0/24 -173.205.6.0/24 -173.222.1.0/24 -173.222.43.0/24 -173.222.193.0/24 -173.222.225.0/24 -173.222.237.0/24 -173.223.81.0/24 -173.223.87.0/24 -173.223.164.0/24 -173.252.0.0/16 -174.36.0.0/15 -175.99.100.0/24 -175.99.115.0/24 -175.139.142.0/24 -182.162.106.0/24 -184.24.26.0/24 -184.24.104.0/24 -184.24.110.0/24 -184.24.155.0/24 -184.24.195.0/24 -184.24.223.0/24 -184.25.19.0/24 -184.25.56.0/24 -184.25.61.0/24 -184.25.91.0/24 -184.25.146.0/24 -184.25.158.0/24 -184.25.205.0/24 -184.25.221.0/24 -184.25.243.0/24 -184.25.248.0/24 -184.25.252.0/23 -184.26.22.0/24 -184.26.84.0/24 -184.26.114.0/24 -184.26.120.0/24 -184.26.140.0/23 -184.26.221.0/24 -184.27.0.0/16 -184.28.0.0/16 -184.29.37.0/24 -184.29.59.0/24 -184.29.108.0/24 -184.29.150.0/24 -184.30.6.0/24 -184.30.19.0/24 -184.30.20.0/24 -184.30.226.0/24 -184.31.201.0/24 -184.50.2.0/24 -184.50.87.0/24 -184.50.163.0/24 -184.51.0.0/24 -184.51.15.0/24 -184.51.17.0/24 -184.51.56.0/24 -184.51.141.0/24 -184.84.56.0/24 -184.84.168.0/24 -184.85.67.0/24 -184.85.120.0/24 -184.85.244.0/24 -184.86.0.0/16 -184.87.14.0/24 -184.87.121.0/24 -184.87.197.0/24 -185.25.180.0/24 -185.27.16.0/24 -185.88.181.0/24 -192.81.222.0/24 -198.172.88.0/24 -199.16.0.0/16 -199.59.0.0/16 -199.239.182.0/24 -203.69.81.0/24 -205.186.152.0/24 -208.43.0.0/16 -208.64.201.0/24 -208.78.164.0/24 -208.101.0.0/16 -209.170.97.0/24 -210.61.248.0/24 -210.201.31.0/24 -216.3.133.0/24 -216.156.211.0/24 -223.119.157.0/24 -223.119.206.0/24 -223.119.217.0/24 -224.0.0.0/4 -243.185.187.0/24 diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/China.yaml b/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/China.yaml deleted file mode 100644 index f09a433cf1..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/China.yaml +++ /dev/null @@ -1,327 +0,0 @@ -payload: - # China Area Network - # > 360 - - DOMAIN-SUFFIX,qhres.com - - DOMAIN-SUFFIX,qhimg.com - # > Alibaba - # USER-AGENT,%E4%BC%98%E9%85%B7* - - DOMAIN-SUFFIX,alibaba.com - - DOMAIN-SUFFIX,alibabausercontent.com - - DOMAIN-SUFFIX,alicdn.com - - DOMAIN-SUFFIX,alikunlun.com - - DOMAIN-SUFFIX,alipay.com - - DOMAIN-SUFFIX,amap.com - - DOMAIN-SUFFIX,autonavi.com - - DOMAIN-SUFFIX,dingtalk.com - - DOMAIN-SUFFIX,mxhichina.com - - DOMAIN-SUFFIX,soku.com - - DOMAIN-SUFFIX,taobao.com - - DOMAIN-SUFFIX,tmall.com - - DOMAIN-SUFFIX,tmall.hk - - DOMAIN-SUFFIX,ykimg.com - - DOMAIN-SUFFIX,youku.com - - DOMAIN-SUFFIX,xiami.com - - DOMAIN-SUFFIX,xiami.net - # > Apple - - DOMAIN-SUFFIX,aaplimg.com - - DOMAIN-SUFFIX,apple.co - - DOMAIN-SUFFIX,apple.com - - DOMAIN-SUFFIX,apple-cloudkit.com - - DOMAIN-SUFFIX,appstore.com - - DOMAIN-SUFFIX,cdn-apple.com - - DOMAIN-SUFFIX,icloud.com - - DOMAIN-SUFFIX,icloud-content.com - - DOMAIN-SUFFIX,me.com - - DOMAIN-SUFFIX,mzstatic.com - - DOMAIN-KEYWORD,apple.com.akadns.net - - DOMAIN-KEYWORD,icloud.com.akadns.net - # > Baidu - - DOMAIN-SUFFIX,baidu.com - - DOMAIN-SUFFIX,baidubcr.com - - DOMAIN-SUFFIX,bdstatic.com - - DOMAIN-SUFFIX,yunjiasu-cdn.net - # > bilibili - - DOMAIN-SUFFIX,acgvideo.com - - DOMAIN-SUFFIX,biliapi.com - - DOMAIN-SUFFIX,biliapi.net - - DOMAIN-SUFFIX,bilibili.com - - DOMAIN-SUFFIX,bilibili.tv - - DOMAIN-SUFFIX,hdslb.com - # > ByteDance - - DOMAIN-SUFFIX,feiliao.com - - DOMAIN-SUFFIX,pstatp.com - - DOMAIN-SUFFIX,snssdk.com - - DOMAIN-SUFFIX,iesdouyin.com - - DOMAIN-SUFFIX,toutiao.com - # > CCTV - - DOMAIN-SUFFIX,cctv.com - - DOMAIN-SUFFIX,cctvpic.com - - DOMAIN-SUFFIX,livechina.com - # > DiDi - - DOMAIN-SUFFIX,didialift.com - - DOMAIN-SUFFIX,didiglobal.com - - DOMAIN-SUFFIX,udache.com - # > 蛋蛋赞 - - DOMAIN-SUFFIX,343480.com - - DOMAIN-SUFFIX,baduziyuan.com - - DOMAIN-SUFFIX,com-hs-hkdy.com - - DOMAIN-SUFFIX,czybjz.com - - DOMAIN-SUFFIX,dandanzan.com - - DOMAIN-SUFFIX,fjhps.com - - DOMAIN-SUFFIX,kuyunbo.club - - DOMAIN-SUFFIX,youkutv.cc - # > ChinaTelecom - - DOMAIN-SUFFIX,21cn.com - # > HunanTV - - DOMAIN-SUFFIX,hitv.com - - DOMAIN-SUFFIX,mgtv.com - # > iQiyi - - DOMAIN-SUFFIX,iqiyi.com - - DOMAIN-SUFFIX,iqiyipic.com - - DOMAIN-SUFFIX,71.am - # > JD - - DOMAIN-SUFFIX,jd.com - - DOMAIN-SUFFIX,jd.hk - - DOMAIN-SUFFIX,jdpay.com - - DOMAIN-SUFFIX,360buyimg.com - # > Kingsoft - - DOMAIN-SUFFIX,iciba.com - - DOMAIN-SUFFIX,ksosoft.com - # > Meitu - - DOMAIN-SUFFIX,meitu.com - - DOMAIN-SUFFIX,meitudata.com - - DOMAIN-SUFFIX,meitustat.com - - DOMAIN-SUFFIX,meipai.com - # > MI - - DOMAIN-SUFFIX,duokan.com - - DOMAIN-SUFFIX,mi.com - - DOMAIN-SUFFIX,mi-img.com - - DOMAIN-SUFFIX,miui.com - - DOMAIN-SUFFIX,miwifi.com - - DOMAIN-SUFFIX,xiaomi.com - - DOMAIN-SUFFIX,xiaomi.net - # > Microsoft - - DOMAIN-SUFFIX,microsoft.com - - DOMAIN-SUFFIX,msecnd.net - - DOMAIN-SUFFIX,office365.com - - DOMAIN-SUFFIX,outlook.com - - DOMAIN-SUFFIX,s-microsoft.com - - DOMAIN-SUFFIX,visualstudio.com - - DOMAIN-SUFFIX,windows.com - - DOMAIN-SUFFIX,windowsupdate.com - # - DOMAIN-KEYWORD,-microsoft-com.akamaized.net - # > NetEase - # USER-AGENT,NeteaseMusic* - # USER-AGENT,%E7%BD%91%E6%98%93%E4%BA%91%E9%9F%B3%E4%B9%90* - - DOMAIN-SUFFIX,163.com - - DOMAIN-SUFFIX,126.com - - DOMAIN-SUFFIX,126.net - - DOMAIN-SUFFIX,127.net - - DOMAIN-SUFFIX,163yun.com - - DOMAIN-SUFFIX,lofter.com - - DOMAIN-SUFFIX,netease.com - - DOMAIN-SUFFIX,ydstatic.com - # > PayPal - # USER-AGENT,PayPal* - - DOMAIN-SUFFIX,paypal.com - - DOMAIN-SUFFIX,paypal.me - - DOMAIN-SUFFIX,paypalobjects.com - # > Sina - - DOMAIN-SUFFIX,sina.com - - DOMAIN-SUFFIX,weibo.com - - DOMAIN-SUFFIX,weibocdn.com - # > Sohu - - DOMAIN-SUFFIX,sohu.com - - DOMAIN-SUFFIX,sohucs.com - - DOMAIN-SUFFIX,sohu-inc.com - - DOMAIN-SUFFIX,v-56.com - # > Sogo - - DOMAIN-SUFFIX,sogo.com - - DOMAIN-SUFFIX,sogou.com - - DOMAIN-SUFFIX,sogoucdn.com - # > Tencent - # USER-AGENT,MicroMessenger%20Client - # USER-AGENT,WeChat* - # USER-AGENT,%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1* - - DOMAIN-SUFFIX,gtimg.com - - DOMAIN-SUFFIX,idqqimg.com - - DOMAIN-SUFFIX,igamecj.com - - DOMAIN-SUFFIX,myapp.com - - DOMAIN-SUFFIX,myqcloud.com - - DOMAIN-SUFFIX,qq.com - - DOMAIN-SUFFIX,qqmail.com - - DOMAIN-SUFFIX,servicewechat.com - - DOMAIN-SUFFIX,tencent.com - - DOMAIN-SUFFIX,tencent-cloud.net - - DOMAIN-SUFFIX,tenpay.com - - DOMAIN-SUFFIX,wechat.com - - DOMAIN,file-igamecj.akamaized.net - # > Content Delivery Network - - DOMAIN-SUFFIX,ccgslb.com - - DOMAIN-SUFFIX,ccgslb.net - - DOMAIN-SUFFIX,chinanetcenter.com - - DOMAIN-SUFFIX,meixincdn.com - - DOMAIN-SUFFIX,ourdvs.com - - DOMAIN-SUFFIX,staticdn.net - - DOMAIN-SUFFIX,wangsu.com - # > IP Query - - DOMAIN-SUFFIX,ipip.net - - DOMAIN-SUFFIX,ip.la - - DOMAIN-SUFFIX,ip.sb - - DOMAIN-SUFFIX,ip-cdn.com - - DOMAIN-SUFFIX,ipv6-test.com - - DOMAIN-SUFFIX,test-ipv6.com - - DOMAIN-SUFFIX,whatismyip.com - - DOMAIN,ip.istatmenus.app - # > Speed Test - # - DOMAIN-SUFFIX,speedtest.net - - DOMAIN-SUFFIX,netspeedtestmaster.com - - DOMAIN,speedtest.macpaw.com - # > Private Tracker - - DOMAIN-SUFFIX,animebytes.tv - - DOMAIN-SUFFIX,awesome-hd.me - - DOMAIN-SUFFIX,broadcasthe.net - - DOMAIN-SUFFIX,chdbits.co - - DOMAIN-SUFFIX,classix-unlimited.co.uk - - DOMAIN-SUFFIX,empornium.me - - DOMAIN-SUFFIX,gazellegames.net - - DOMAIN-SUFFIX,hdchina.org - - DOMAIN-SUFFIX,hdsky.me - - DOMAIN-SUFFIX,hdhome.org - - DOMAIN-SUFFIX,hdbits.org - - DOMAIN-SUFFIX,icetorrent.org - - DOMAIN-SUFFIX,jpopsuki.eu - - DOMAIN-SUFFIX,keepfrds.com - - DOMAIN-SUFFIX,madsrevolution.net - - DOMAIN-SUFFIX,myanonamouse.net - - DOMAIN-SUFFIX,m-team.cc - - DOMAIN-SUFFIX,morethan.tv - - DOMAIN-SUFFIX,nanyangpt.com - - DOMAIN-SUFFIX,ncore.cc - - DOMAIN-SUFFIX,open.cd - - DOMAIN-SUFFIX,ourbits.club - - DOMAIN-SUFFIX,passthepopcorn.me - - DOMAIN-SUFFIX,privatehd.to - - DOMAIN-SUFFIX,pterclub.com - - DOMAIN-SUFFIX,redacted.ch - - DOMAIN-SUFFIX,springsunday.net - - DOMAIN-SUFFIX,tjupt.org - - DOMAIN-SUFFIX,totheglory.im - # > Other - - DOMAIN-SUFFIX,cn - # - DOMAIN-SUFFIX,vmware.com - - DOMAIN-SUFFIX,115.com - - DOMAIN-SUFFIX,360in.com - - DOMAIN-SUFFIX,51ym.me - - DOMAIN-SUFFIX,8686c.com - - DOMAIN-SUFFIX,abchina.com - - DOMAIN-SUFFIX,accuweather.com - - DOMAIN-SUFFIX,aicoinstorge.com - - DOMAIN-SUFFIX,air-matters.com - - DOMAIN-SUFFIX,air-matters.io - - DOMAIN-SUFFIX,aixifan.com - - DOMAIN-SUFFIX,amd.com - - DOMAIN-SUFFIX,b612.net - - DOMAIN-SUFFIX,bdatu.com - - DOMAIN-SUFFIX,beitaichufang.com - - DOMAIN-SUFFIX,bjango.com - - DOMAIN-SUFFIX,booking.com - - DOMAIN-SUFFIX,bstatic.com - - DOMAIN-SUFFIX,cailianpress.com - - DOMAIN-SUFFIX,camera360.com - - DOMAIN-SUFFIX,chaoxing.com - - DOMAIN-SUFFIX,chinaso.com - - DOMAIN-SUFFIX,chuimg.com - - DOMAIN-SUFFIX,chunyu.mobi - - DOMAIN-SUFFIX,chushou.tv - - DOMAIN-SUFFIX,cmbchina.com - - DOMAIN-SUFFIX,cmbimg.com - - DOMAIN-SUFFIX,ctrip.com - - DOMAIN-SUFFIX,dfcfw.com - - DOMAIN-SUFFIX,docschina.org - - DOMAIN-SUFFIX,douban.com - - DOMAIN-SUFFIX,doubanio.com - - DOMAIN-SUFFIX,douyu.com - - DOMAIN-SUFFIX,dxycdn.com - - DOMAIN-SUFFIX,dytt8.net - - DOMAIN-SUFFIX,eastmoney.com - - DOMAIN-SUFFIX,eudic.net - - DOMAIN-SUFFIX,feng.com - - DOMAIN-SUFFIX,fengkongcloud.com - - DOMAIN-SUFFIX,frdic.com - - DOMAIN-SUFFIX,futu5.com - - DOMAIN-SUFFIX,futunn.com - - DOMAIN-SUFFIX,gandi.net - - DOMAIN-SUFFIX,gcores.com - - DOMAIN-SUFFIX,geilicdn.com - - DOMAIN-SUFFIX,getpricetag.com - - DOMAIN-SUFFIX,gifshow.com - - DOMAIN-SUFFIX,godic.net - - DOMAIN-SUFFIX,hicloud.com - - DOMAIN-SUFFIX,hongxiu.com - - DOMAIN-SUFFIX,hostbuf.com - - DOMAIN-SUFFIX,huxiucdn.com - - DOMAIN-SUFFIX,huya.com - - DOMAIN-SUFFIX,ibm.com - - DOMAIN-SUFFIX,infinitynewtab.com - - DOMAIN-SUFFIX,ithome.com - - DOMAIN-SUFFIX,java.com - - DOMAIN-SUFFIX,jianguoyun.com - - DOMAIN-SUFFIX,jianshu.io - - DOMAIN-SUFFIX,jidian.im - - DOMAIN-SUFFIX,kaiyanapp.com - - DOMAIN-SUFFIX,kaspersky-labs.com - - DOMAIN-SUFFIX,keepcdn.com - - DOMAIN-SUFFIX,kkmh.com - - DOMAIN-SUFFIX,licdn.com - - DOMAIN-SUFFIX,linkedin.com - - DOMAIN-SUFFIX,loli.net - - DOMAIN-SUFFIX,luojilab.com - - DOMAIN-SUFFIX,maoyan.com - - DOMAIN-SUFFIX,maoyun.tv - - DOMAIN-SUFFIX,meituan.com - - DOMAIN-SUFFIX,meituan.net - - DOMAIN-SUFFIX,mls-cdn.com - - DOMAIN-SUFFIX,mobike.com - - DOMAIN-SUFFIX,moke.com - - DOMAIN-SUFFIX,mubu.com - - DOMAIN-SUFFIX,myzaker.com - - DOMAIN-SUFFIX,nim-lang-cn.org - - DOMAIN-SUFFIX,nvidia.com - - DOMAIN-SUFFIX,oracle.com - - DOMAIN-SUFFIX,plex.tv - - DOMAIN-SUFFIX,qdaily.com - - DOMAIN-SUFFIX,qidian.com - - DOMAIN-SUFFIX,qyer.com - - DOMAIN-SUFFIX,qyerstatic.com - - DOMAIN-SUFFIX,raychase.net - - DOMAIN-SUFFIX,ronghub.com - - DOMAIN-SUFFIX,ruguoapp.com - - DOMAIN-SUFFIX,sankuai.com - - DOMAIN-SUFFIX,scomper.me - - DOMAIN-SUFFIX,seafile.com - - DOMAIN-SUFFIX,sm.ms - - DOMAIN-SUFFIX,smzdm.com - - DOMAIN-SUFFIX,snapdrop.net - - DOMAIN-SUFFIX,snwx.com - - DOMAIN-SUFFIX,s-reader.com - - DOMAIN-SUFFIX,sspai.com - - DOMAIN-SUFFIX,takungpao.com - - DOMAIN-SUFFIX,teamviewer.com - - DOMAIN-SUFFIX,tianyancha.com - - DOMAIN-SUFFIX,udacity.com - - DOMAIN-SUFFIX,uning.com - - DOMAIN-SUFFIX,weather.com - - DOMAIN-SUFFIX,weico.cc - - DOMAIN-SUFFIX,weidian.com - - DOMAIN-SUFFIX,xiachufang.com - - DOMAIN-SUFFIX,ximalaya.com - - DOMAIN-SUFFIX,xinhuanet.com - - DOMAIN-SUFFIX,xmcdn.com - - DOMAIN-SUFFIX,yangkeduo.com - - DOMAIN-SUFFIX,zhangzishi.cc - - DOMAIN-SUFFIX,zhihu.com - - DOMAIN-SUFFIX,zhimg.com - - DOMAIN-SUFFIX,zhuihd.com - - DOMAIN,download.jetbrains.com - - DOMAIN,images-cn.ssl-images-amazon.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/ChinaIP.yaml b/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/ChinaIP.yaml deleted file mode 100644 index af12e0638d..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/ChinaIP.yaml +++ /dev/null @@ -1,5973 +0,0 @@ -payload: - # > ChinaIP by ipipdotnet - # 用于(可选)替代 GeoIP 使用 - - '1.0.1.0/24' - - '1.0.2.0/23' - - '1.0.8.0/21' - - '1.0.32.0/19' - - '1.1.0.0/24' - - '1.1.2.0/23' - - '1.1.4.0/22' - - '1.1.8.0/21' - - '1.1.16.0/20' - - '1.1.32.0/19' - - '1.2.0.0/23' - - '1.2.2.0/24' - - '1.2.4.0/22' - - '1.2.8.0/21' - - '1.2.16.0/20' - - '1.2.32.0/19' - - '1.2.64.0/18' - - '1.3.0.0/16' - - '1.4.1.0/24' - - '1.4.2.0/23' - - '1.4.4.0/22' - - '1.4.8.0/21' - - '1.4.16.0/20' - - '1.4.32.0/19' - - '1.4.64.0/18' - - '1.8.0.0/16' - - '1.10.0.0/21' - - '1.10.8.0/23' - - '1.10.11.0/24' - - '1.10.12.0/22' - - '1.10.16.0/20' - - '1.10.32.0/19' - - '1.10.64.0/18' - - '1.12.0.0/14' - - '1.18.128.0/24' - - '1.24.0.0/13' - - '1.45.0.0/16' - - '1.48.0.0/14' - - '1.56.0.0/13' - - '1.68.0.0/14' - - '1.80.0.0/12' - - '1.116.0.0/15' - - '1.118.1.0/24' - - '1.118.2.0/23' - - '1.118.4.0/22' - - '1.118.8.0/21' - - '1.118.16.0/20' - - '1.118.32.0/19' - - '1.118.64.0/18' - - '1.118.128.0/17' - - '1.119.0.0/16' - - '1.180.0.0/14' - - '1.184.0.0/15' - - '1.188.0.0/14' - - '1.192.0.0/13' - - '1.202.0.0/15' - - '1.204.0.0/14' - - '3.5.214.0/23' - - '3.5.216.0/24' - - '8.128.0.0/10' - - '8.209.40.0/21' - - '14.0.0.0/21' - - '14.0.12.0/22' - - '14.1.0.0/22' - - '14.1.24.0/22' - - '14.1.108.0/22' - - '14.16.0.0/12' - - '14.102.128.0/22' - - '14.102.180.0/22' - - '14.103.0.0/16' - - '14.104.0.0/13' - - '14.112.0.0/12' - - '14.130.0.0/15' - - '14.134.0.0/15' - - '14.144.0.0/12' - - '14.192.60.0/22' - - '14.192.76.0/22' - - '14.196.0.0/15' - - '14.204.0.0/15' - - '14.208.0.0/12' - - '15.230.41.0/24' - - '15.230.49.0/24' - - '20.81.0.0/24' - - '20.139.160.0/20' - - '20.249.255.0/24' - - '20.251.0.0/22' - - '27.0.128.0/22' - - '27.0.132.0/24' - - '27.0.134.0/23' - - '27.0.160.0/21' - - '27.0.188.0/22' - - '27.0.204.0/22' - - '27.0.208.0/21' - - '27.8.0.0/13' - - '27.16.0.0/12' - - '27.34.232.0/21' - - '27.36.0.0/14' - - '27.40.0.0/13' - - '27.50.40.0/21' - - '27.50.128.0/17' - - '27.54.72.0/21' - - '27.54.152.0/21' - - '27.54.192.0/18' - - '27.98.208.0/20' - - '27.98.224.0/19' - - '27.99.128.0/17' - - '27.103.0.0/16' - - '27.106.128.0/18' - - '27.106.204.0/22' - - '27.109.32.0/19' - - '27.109.124.0/22' - - '27.112.0.0/18' - - '27.112.80.0/20' - - '27.112.112.0/21' - - '27.113.128.0/18' - - '27.115.0.0/17' - - '27.116.44.0/22' - - '27.121.72.0/21' - - '27.121.120.0/21' - - '27.128.0.0/15' - - '27.131.220.0/22' - - '27.144.0.0/16' - - '27.148.0.0/14' - - '27.152.0.0/13' - - '27.184.0.0/13' - - '27.192.0.0/11' - - '27.224.0.0/14' - - '36.0.0.0/22' - - '36.0.16.0/20' - - '36.0.32.0/19' - - '36.0.64.0/18' - - '36.0.128.0/17' - - '36.1.0.0/16' - - '36.4.0.0/14' - - '36.16.0.0/12' - - '36.32.0.0/14' - - '36.36.0.0/16' - - '36.37.0.0/19' - - '36.37.36.0/23' - - '36.37.39.0/24' - - '36.37.40.0/21' - - '36.37.48.0/20' - - '36.40.0.0/13' - - '36.48.0.0/15' - - '36.51.0.0/17' - - '36.51.128.0/18' - - '36.51.192.0/19' - - '36.51.224.0/20' - - '36.51.240.0/21' - - '36.51.248.0/22' - - '36.51.252.0/23' - - '36.56.0.0/13' - - '36.96.0.0/11' - - '36.128.0.0/10' - - '36.192.0.0/11' - - '36.248.0.0/14' - - '36.254.0.0/16' - - '36.255.116.0/22' - - '36.255.128.0/22' - - '36.255.164.0/22' - - '36.255.172.0/22' - - '36.255.176.0/22' - - '38.142.239.114/32' - - '39.0.0.0/24' - - '39.0.2.0/23' - - '39.0.4.0/22' - - '39.0.8.0/21' - - '39.0.16.0/20' - - '39.0.32.0/19' - - '39.0.64.0/18' - - '39.0.128.0/17' - - '39.64.0.0/11' - - '39.96.0.0/16' - - '39.97.0.0/17' - - '39.97.128.0/18' - - '39.97.192.0/21' - - '39.97.200.0/22' - - '39.97.208.0/20' - - '39.97.224.0/19' - - '39.98.0.0/15' - - '39.100.0.0/14' - - '39.104.0.0/14' - - '39.108.0.0/16' - - '39.109.120.0/23' - - '39.128.0.0/10' - - '40.0.176.0/20' - - '40.0.247.0/24' - - '40.0.248.0/22' - - '40.0.252.0/23' - - '40.0.255.0/24' - - '40.72.0.0/15' - - '40.77.136.112/28' - - '40.77.236.224/27' - - '40.77.254.64/27' - - '40.125.128.0/17' - - '40.126.64.0/18' - - '40.198.10.0/24' - - '40.198.16.0/21' - - '40.198.24.0/23' - - '40.251.225.0/24' - - '40.251.227.0/24' - - '42.0.0.0/22' - - '42.0.8.0/21' - - '42.0.16.0/21' - - '42.0.24.0/22' - - '42.0.32.0/19' - - '42.0.128.0/17' - - '42.1.0.0/19' - - '42.1.32.0/20' - - '42.1.48.0/21' - - '42.1.56.0/22' - - '42.4.0.0/14' - - '42.48.0.0/13' - - '42.56.0.0/14' - - '42.62.0.0/17' - - '42.62.128.0/19' - - '42.62.160.0/20' - - '42.62.180.0/22' - - '42.62.184.0/21' - - '42.63.0.0/16' - - '42.80.0.0/15' - - '42.83.64.0/20' - - '42.83.80.0/22' - - '42.83.88.0/21' - - '42.83.96.0/19' - - '42.83.128.0/23' - - '42.83.134.0/24' - - '42.83.139.0/24' - - '42.83.140.0/22' - - '42.83.144.0/20' - - '42.83.160.0/19' - - '42.83.192.0/18' - - '42.84.0.0/14' - - '42.88.0.0/13' - - '42.96.64.0/19' - - '42.96.96.0/21' - - '42.96.108.0/22' - - '42.96.112.0/20' - - '42.96.128.0/17' - - '42.97.0.0/16' - - '42.99.0.0/18' - - '42.99.64.0/19' - - '42.99.96.0/20' - - '42.99.112.0/22' - - '42.99.120.0/21' - - '42.100.0.0/14' - - '42.120.0.0/15' - - '42.122.0.0/16' - - '42.123.0.0/19' - - '42.123.36.0/22' - - '42.123.40.0/21' - - '42.123.48.0/20' - - '42.123.64.0/18' - - '42.123.128.0/17' - - '42.128.0.0/12' - - '42.156.0.0/19' - - '42.156.36.0/22' - - '42.156.40.0/21' - - '42.156.48.0/20' - - '42.156.64.0/18' - - '42.156.128.0/17' - - '42.157.0.0/21' - - '42.157.8.0/22' - - '42.157.14.0/23' - - '42.157.16.0/20' - - '42.157.32.0/19' - - '42.157.64.0/18' - - '42.157.128.0/17' - - '42.158.0.0/15' - - '42.160.0.0/12' - - '42.176.0.0/13' - - '42.184.0.0/15' - - '42.186.0.0/16' - - '42.187.0.0/18' - - '42.187.64.0/19' - - '42.187.96.0/20' - - '42.187.112.0/21' - - '42.187.120.0/22' - - '42.187.128.0/17' - - '42.192.0.0/13' - - '42.201.0.0/17' - - '42.202.0.0/15' - - '42.204.0.0/14' - - '42.208.0.0/12' - - '42.224.0.0/12' - - '42.240.0.0/16' - - '42.242.0.0/15' - - '42.244.0.0/15' - - '42.246.0.0/16' - - '42.247.0.0/22' - - '42.247.4.0/24' - - '42.247.5.0/25' - - '42.247.5.128/26' - - '42.247.5.204/30' - - '42.247.5.208/28' - - '42.247.5.224/27' - - '42.247.6.0/23' - - '42.247.8.0/21' - - '42.247.16.0/20' - - '42.247.32.0/19' - - '42.247.64.0/18' - - '42.247.128.0/17' - - '42.248.0.0/13' - - '43.0.0.0/9' - - '43.224.12.0/22' - - '43.224.24.0/22' - - '43.224.44.0/22' - - '43.224.52.0/22' - - '43.224.56.0/22' - - '43.224.68.0/22' - - '43.224.72.0/22' - - '43.224.80.0/22' - - '43.224.100.0/22' - - '43.224.144.0/22' - - '43.224.161.0/24' - - '43.224.176.0/22' - - '43.224.184.0/22' - - '43.224.200.0/21' - - '43.224.208.0/21' - - '43.224.216.0/22' - - '43.224.240.0/22' - - '43.225.76.0/22' - - '43.225.86.0/24' - - '43.225.120.0/22' - - '43.225.180.0/22' - - '43.225.208.0/22' - - '43.225.216.0/21' - - '43.225.224.0/20' - - '43.225.240.0/21' - - '43.225.252.0/22' - - '43.226.32.0/19' - - '43.226.64.0/19' - - '43.226.96.0/20' - - '43.226.112.0/21' - - '43.226.120.0/22' - - '43.226.128.0/19' - - '43.226.160.0/21' - - '43.226.236.0/22' - - '43.226.240.0/20' - - '43.227.0.0/21' - - '43.227.8.0/22' - - '43.227.32.0/19' - - '43.227.64.0/19' - - '43.227.104.0/22' - - '43.227.136.0/21' - - '43.227.144.0/22' - - '43.227.152.0/21' - - '43.227.160.0/20' - - '43.227.176.0/21' - - '43.227.188.0/22' - - '43.227.192.0/19' - - '43.227.232.0/22' - - '43.227.248.0/21' - - '43.228.0.0/18' - - '43.228.64.0/21' - - '43.228.76.0/22' - - '43.228.100.0/22' - - '43.228.116.0/24' - - '43.228.118.0/23' - - '43.228.132.0/22' - - '43.228.136.0/22' - - '43.228.148.0/22' - - '43.228.152.0/22' - - '43.228.188.0/22' - - '43.229.40.0/22' - - '43.229.48.0/22' - - '43.229.56.0/22' - - '43.229.96.0/22' - - '43.229.136.0/21' - - '43.229.168.0/21' - - '43.229.176.0/20' - - '43.229.192.0/21' - - '43.229.216.0/21' - - '43.229.232.0/21' - - '43.230.20.0/22' - - '43.230.32.0/22' - - '43.230.68.0/22' - - '43.230.72.0/22' - - '43.230.84.0/22' - - '43.230.124.0/22' - - '43.230.220.0/22' - - '43.230.224.0/19' - - '43.231.32.0/20' - - '43.231.80.0/20' - - '43.231.96.0/20' - - '43.231.136.0/21' - - '43.231.144.0/20' - - '43.231.160.0/20' - - '43.231.176.0/21' - - '43.236.0.0/15' - - '43.238.0.0/16' - - '43.239.0.0/19' - - '43.239.32.0/20' - - '43.239.48.0/22' - - '43.239.116.0/22' - - '43.239.120.0/22' - - '43.239.172.0/22' - - '43.240.0.0/22' - - '43.240.56.0/21' - - '43.240.68.0/22' - - '43.240.72.0/21' - - '43.240.84.0/22' - - '43.240.124.0/22' - - '43.240.128.0/21' - - '43.240.136.0/22' - - '43.240.156.0/22' - - '43.240.160.0/19' - - '43.240.192.0/19' - - '43.240.240.0/20' - - '43.241.0.0/20' - - '43.241.16.0/21' - - '43.241.48.0/22' - - '43.241.76.0/22' - - '43.241.80.0/20' - - '43.241.112.0/22' - - '43.241.168.0/21' - - '43.241.176.0/21' - - '43.241.184.0/22' - - '43.241.208.0/20' - - '43.241.224.0/20' - - '43.241.240.0/22' - - '43.241.248.0/22' - - '43.242.8.0/21' - - '43.242.16.0/20' - - '43.242.48.0/22' - - '43.242.53.0/24' - - '43.242.54.0/24' - - '43.242.56.0/21' - - '43.242.64.0/22' - - '43.242.72.0/21' - - '43.242.80.0/20' - - '43.242.96.0/22' - - '43.242.144.0/20' - - '43.242.160.0/21' - - '43.242.180.0/22' - - '43.242.188.0/22' - - '43.242.192.0/21' - - '43.242.204.0/22' - - '43.242.216.0/21' - - '43.242.252.0/22' - - '43.243.4.0/22' - - '43.243.8.0/21' - - '43.243.16.0/22' - - '43.243.88.0/22' - - '43.243.128.0/22' - - '43.243.136.0/22' - - '43.243.144.0/21' - - '43.243.156.0/22' - - '43.243.180.0/22' - - '43.243.228.0/22' - - '43.243.232.0/22' - - '43.243.244.0/22' - - '43.246.0.0/18' - - '43.246.64.0/19' - - '43.246.96.0/22' - - '43.246.147.0/24' - - '43.246.148.0/24' - - '43.246.150.0/24' - - '43.246.151.0/30' - - '43.246.151.4/32' - - '43.246.151.6/31' - - '43.246.151.8/29' - - '43.246.151.16/28' - - '43.246.151.32/27' - - '43.246.151.64/26' - - '43.246.151.128/25' - - '43.246.228.0/22' - - '43.247.4.0/22' - - '43.247.8.0/22' - - '43.247.44.0/22' - - '43.247.48.0/22' - - '43.247.68.0/22' - - '43.247.76.0/22' - - '43.247.84.0/22' - - '43.247.88.0/21' - - '43.247.96.0/21' - - '43.247.108.0/22' - - '43.247.112.0/22' - - '43.247.148.0/22' - - '43.247.152.0/22' - - '43.247.176.0/20' - - '43.247.196.0/22' - - '43.247.200.0/21' - - '43.247.208.0/20' - - '43.247.224.0/19' - - '43.248.0.0/21' - - '43.248.20.0/22' - - '43.248.28.0/22' - - '43.248.48.0/22' - - '43.248.76.0/22' - - '43.248.80.0/20' - - '43.248.96.0/19' - - '43.248.128.0/20' - - '43.248.144.0/21' - - '43.248.176.0/20' - - '43.248.192.0/20' - - '43.248.208.0/22' - - '43.248.228.0/22' - - '43.248.232.0/22' - - '43.248.244.0/22' - - '43.249.4.0/22' - - '43.249.120.0/22' - - '43.249.132.0/22' - - '43.249.136.0/22' - - '43.249.144.0/20' - - '43.249.160.0/21' - - '43.249.168.0/22' - - '43.249.192.0/22' - - '43.249.236.0/22' - - '43.250.4.0/22' - - '43.250.12.0/22' - - '43.250.16.0/21' - - '43.250.28.0/22' - - '43.250.32.0/22' - - '43.250.96.0/21' - - '43.250.108.0/22' - - '43.250.112.0/21' - - '43.250.128.0/22' - - '43.250.144.0/21' - - '43.250.160.0/22' - - '43.250.168.0/22' - - '43.250.176.0/22' - - '43.250.200.0/22' - - '43.250.212.0/22' - - '43.250.216.0/21' - - '43.250.236.0/22' - - '43.250.244.0/22' - - '43.251.4.0/22' - - '43.251.36.0/22' - - '43.251.192.0/22' - - '43.251.232.0/22' - - '43.251.244.0/22' - - '43.252.48.0/22' - - '43.252.56.0/22' - - '43.252.224.0/22' - - '43.254.0.0/21' - - '43.254.8.0/22' - - '43.254.24.0/22' - - '43.254.36.0/22' - - '43.254.44.0/22' - - '43.254.52.0/22' - - '43.254.64.0/22' - - '43.254.72.0/22' - - '43.254.84.0/22' - - '43.254.88.0/21' - - '43.254.100.0/22' - - '43.254.104.0/22' - - '43.254.112.0/21' - - '43.254.128.0/22' - - '43.254.136.0/21' - - '43.254.144.0/20' - - '43.254.168.0/21' - - '43.254.180.0/22' - - '43.254.184.0/21' - - '43.254.192.0/22' - - '43.254.200.0/22' - - '43.254.208.0/22' - - '43.254.220.0/22' - - '43.254.224.0/20' - - '43.254.240.0/22' - - '43.254.248.0/21' - - '43.255.0.0/21' - - '43.255.8.0/22' - - '43.255.16.0/22' - - '43.255.48.0/22' - - '43.255.64.0/20' - - '43.255.84.0/22' - - '43.255.96.0/22' - - '43.255.144.0/22' - - '43.255.176.0/22' - - '43.255.184.0/22' - - '43.255.192.0/22' - - '43.255.200.0/21' - - '43.255.208.0/21' - - '43.255.224.0/21' - - '43.255.232.0/22' - - '43.255.244.0/22' - - '45.40.192.0/20' - - '45.40.208.0/21' - - '45.40.224.0/19' - - '45.65.16.0/20' - - '45.87.53.0/24' - - '45.87.54.0/23' - - '45.112.132.0/22' - - '45.112.188.0/22' - - '45.112.208.0/20' - - '45.112.228.0/22' - - '45.112.232.0/21' - - '45.113.12.0/22' - - '45.113.16.0/20' - - '45.113.40.0/22' - - '45.113.52.0/22' - - '45.113.72.0/22' - - '45.113.144.0/21' - - '45.113.168.0/22' - - '45.113.184.0/22' - - '45.113.200.0/21' - - '45.113.208.0/20' - - '45.113.240.0/22' - - '45.113.252.0/22' - - '45.114.0.0/22' - - '45.114.32.0/22' - - '45.114.52.0/22' - - '45.114.96.0/22' - - '45.114.136.0/22' - - '45.114.196.0/22' - - '45.114.200.0/22' - - '45.114.228.0/22' - - '45.114.237.0/24' - - '45.114.238.0/23' - - '45.114.252.0/22' - - '45.115.44.0/22' - - '45.115.100.0/22' - - '45.115.120.0/22' - - '45.115.132.0/22' - - '45.115.144.0/22' - - '45.115.156.0/22' - - '45.115.164.0/22' - - '45.115.200.0/22' - - '45.115.212.0/22' - - '45.115.244.0/22' - - '45.115.248.0/22' - - '45.116.16.0/22' - - '45.116.24.0/22' - - '45.116.32.0/21' - - '45.116.52.0/22' - - '45.116.96.0/21' - - '45.116.140.0/22' - - '45.116.152.0/22' - - '45.116.208.0/22' - - '45.117.8.0/22' - - '45.117.20.0/22' - - '45.117.68.0/22' - - '45.117.124.0/22' - - '45.117.252.0/22' - - '45.119.60.0/22' - - '45.119.64.0/21' - - '45.119.72.0/22' - - '45.119.104.0/22' - - '45.119.232.0/22' - - '45.120.100.0/22' - - '45.120.140.0/22' - - '45.120.164.0/22' - - '45.120.180.128/27' - - '45.120.240.0/22' - - '45.121.52.0/22' - - '45.121.64.0/21' - - '45.121.72.0/22' - - '45.121.92.0/22' - - '45.121.96.0/22' - - '45.121.172.0/22' - - '45.121.176.0/22' - - '45.121.240.0/20' - - '45.122.0.0/19' - - '45.122.32.0/21' - - '45.122.40.0/22' - - '45.122.60.0/22' - - '45.122.64.0/19' - - '45.122.96.0/20' - - '45.122.112.0/21' - - '45.122.160.0/19' - - '45.122.192.0/20' - - '45.122.208.0/21' - - '45.122.216.0/22' - - '45.123.28.0/22' - - '45.123.32.0/21' - - '45.123.44.0/22' - - '45.123.48.0/20' - - '45.123.64.0/20' - - '45.123.80.0/21' - - '45.123.120.0/22' - - '45.123.128.0/21' - - '45.123.136.0/22' - - '45.123.148.0/22' - - '45.123.152.0/21' - - '45.123.164.0/22' - - '45.123.168.0/21' - - '45.123.176.0/21' - - '45.123.184.0/22' - - '45.123.204.0/22' - - '45.123.212.0/22' - - '45.123.224.0/19' - - '45.124.0.0/22' - - '45.124.20.0/22' - - '45.124.28.0/22' - - '45.124.32.0/21' - - '45.124.44.0/22' - - '45.124.68.0/22' - - '45.124.76.0/22' - - '45.124.80.0/22' - - '45.124.100.0/22' - - '45.124.124.0/22' - - '45.124.172.0/22' - - '45.124.176.0/22' - - '45.124.208.0/22' - - '45.124.248.0/22' - - '45.125.24.0/22' - - '45.125.44.0/22' - - '45.125.52.0/22' - - '45.125.56.0/22' - - '45.125.76.0/22' - - '45.125.80.0/20' - - '45.125.96.0/21' - - '45.125.136.0/22' - - '45.126.48.0/21' - - '45.126.108.0/22' - - '45.126.112.0/21' - - '45.126.120.0/22' - - '45.126.220.0/22' - - '45.127.8.0/21' - - '45.127.128.0/22' - - '45.127.144.0/21' - - '45.127.156.0/22' - - '45.248.8.0/22' - - '45.248.80.0/22' - - '45.248.88.0/22' - - '45.248.96.0/20' - - '45.248.128.0/21' - - '45.248.204.0/22' - - '45.248.208.0/20' - - '45.248.224.0/19' - - '45.249.0.0/21' - - '45.249.12.0/22' - - '45.249.16.0/20' - - '45.249.32.0/21' - - '45.249.112.0/22' - - '45.249.188.0/22' - - '45.249.192.0/20' - - '45.249.208.0/21' - - '45.250.12.0/22' - - '45.250.16.0/22' - - '45.250.28.0/22' - - '45.250.32.0/21' - - '45.250.40.0/22' - - '45.250.76.0/22' - - '45.250.80.0/20' - - '45.250.96.0/22' - - '45.250.104.0/21' - - '45.250.112.0/20' - - '45.250.128.0/20' - - '45.250.144.0/21' - - '45.250.152.0/22' - - '45.250.164.0/22' - - '45.250.180.0/22' - - '45.250.184.0/21' - - '45.250.192.0/22' - - '45.251.0.0/22' - - '45.251.8.0/22' - - '45.251.16.0/21' - - '45.251.52.0/22' - - '45.251.84.0/22' - - '45.251.88.0/21' - - '45.251.96.0/21' - - '45.251.120.0/21' - - '45.251.137.0/24' - - '45.251.138.0/23' - - '45.251.140.0/22' - - '45.251.144.0/20' - - '45.251.160.0/19' - - '45.251.192.0/19' - - '45.251.224.0/22' - - '45.252.0.0/19' - - '45.252.32.0/20' - - '45.252.48.0/22' - - '45.252.84.0/22' - - '45.252.88.0/21' - - '45.252.96.0/19' - - '45.252.128.0/19' - - '45.252.160.0/20' - - '45.252.176.0/22' - - '45.252.192.0/19' - - '45.252.224.0/21' - - '45.252.232.0/22' - - '45.253.0.0/18' - - '45.253.64.0/20' - - '45.253.80.0/21' - - '45.253.92.0/22' - - '45.253.96.0/20' - - '45.253.112.0/21' - - '45.253.120.0/22' - - '45.253.132.0/22' - - '45.253.136.0/21' - - '45.253.144.0/20' - - '45.253.160.0/19' - - '45.253.192.0/19' - - '45.253.224.0/20' - - '45.253.240.0/22' - - '45.254.0.0/20' - - '45.254.16.0/21' - - '45.254.28.0/22' - - '45.254.40.0/22' - - '45.254.48.0/20' - - '45.254.64.0/18' - - '45.254.128.0/18' - - '45.254.192.0/19' - - '45.254.224.0/21' - - '45.254.236.0/22' - - '45.254.248.0/22' - - '45.255.0.0/18' - - '45.255.64.0/19' - - '45.255.96.0/20' - - '45.255.112.0/21' - - '45.255.120.0/22' - - '45.255.136.0/21' - - '45.255.144.0/20' - - '45.255.160.0/19' - - '45.255.192.0/19' - - '45.255.224.0/20' - - '45.255.240.0/21' - - '45.255.248.0/22' - - '46.248.24.0/23' - - '47.92.0.0/14' - - '47.96.0.0/11' - - '49.4.0.0/14' - - '49.51.56.0/22' - - '49.51.60.0/23' - - '49.51.110.0/23' - - '49.51.112.0/20' - - '49.52.0.0/14' - - '49.64.0.0/11' - - '49.112.0.0/13' - - '49.120.0.0/14' - - '49.128.0.0/24' - - '49.128.2.0/23' - - '49.128.4.0/22' - - '49.140.0.0/15' - - '49.152.0.0/14' - - '49.208.0.0/14' - - '49.220.0.0/14' - - '49.232.0.0/14' - - '49.239.0.0/18' - - '49.239.192.0/18' - - '52.80.0.0/14' - - '52.94.249.0/27' - - '52.130.0.0/15' - - '54.222.0.0/15' - - '54.231.208.0/20' - - '54.240.224.0/24' - - '57.92.96.0/20' - - '58.14.0.0/15' - - '58.16.0.0/13' - - '58.24.0.0/15' - - '58.30.0.0/15' - - '58.32.0.0/11' - - '58.65.232.0/21' - - '58.66.0.0/15' - - '58.68.128.0/19' - - '58.68.160.0/23' - - '58.68.163.0/24' - - '58.68.164.0/22' - - '58.68.179.0/24' - - '58.68.180.0/24' - - '58.68.200.0/21' - - '58.68.208.0/20' - - '58.68.224.0/19' - - '58.82.0.0/17' - - '58.83.0.0/16' - - '58.87.64.0/18' - - '58.99.128.0/17' - - '58.100.0.0/15' - - '58.116.0.0/14' - - '58.128.0.0/13' - - '58.144.0.0/16' - - '58.154.0.0/15' - - '58.192.0.0/11' - - '58.240.0.0/12' - - '59.32.0.0/11' - - '59.64.0.0/12' - - '59.80.0.0/15' - - '59.82.0.0/16' - - '59.83.0.0/18' - - '59.83.132.0/22' - - '59.83.136.0/21' - - '59.83.144.0/20' - - '59.83.160.0/19' - - '59.83.192.0/19' - - '59.83.224.0/20' - - '59.83.240.0/21' - - '59.83.248.0/22' - - '59.83.252.0/23' - - '59.83.254.0/24' - - '59.107.0.0/16' - - '59.108.0.0/14' - - '59.151.0.0/17' - - '59.152.16.0/20' - - '59.152.36.0/22' - - '59.152.64.0/20' - - '59.152.112.0/21' - - '59.153.4.0/22' - - '59.153.32.0/22' - - '59.153.64.0/21' - - '59.153.72.0/22' - - '59.153.92.0/22' - - '59.153.136.0/22' - - '59.153.152.0/21' - - '59.153.164.0/22' - - '59.153.168.0/21' - - '59.153.176.0/20' - - '59.153.192.0/22' - - '59.155.0.0/16' - - '59.172.0.0/14' - - '59.191.0.0/17' - - '59.192.0.0/10' - - '60.0.0.0/11' - - '60.55.0.0/16' - - '60.63.0.0/16' - - '60.160.0.0/11' - - '60.194.0.0/15' - - '60.200.0.0/13' - - '60.208.0.0/12' - - '60.232.0.0/15' - - '60.235.0.0/16' - - '60.245.128.0/17' - - '60.247.0.0/16' - - '60.252.0.0/16' - - '60.253.128.0/17' - - '60.255.0.0/16' - - '61.4.81.0/24' - - '61.4.82.0/23' - - '61.4.84.0/22' - - '61.4.88.0/21' - - '61.4.176.0/20' - - '61.8.160.0/20' - - '61.14.212.0/22' - - '61.14.216.0/21' - - '61.14.240.0/21' - - '61.28.0.0/17' - - '61.29.128.0/18' - - '61.29.192.0/19' - - '61.29.224.0/20' - - '61.45.128.0/18' - - '61.45.224.0/20' - - '61.47.128.0/18' - - '61.48.0.0/13' - - '61.87.192.0/18' - - '61.128.0.0/10' - - '61.232.0.0/14' - - '61.236.0.0/15' - - '61.240.0.0/14' - - '62.234.0.0/16' - - '64.188.38.0/23' - - '64.188.40.0/22' - - '64.188.44.0/23' - - '68.79.0.0/18' - - '69.230.192.0/18' - - '69.231.128.0/18' - - '69.234.192.0/18' - - '69.235.128.0/18' - - '71.131.192.0/18' - - '71.132.0.0/18' - - '71.136.64.0/18' - - '71.137.0.0/18' - - '72.163.240.0/23' - - '72.163.248.0/22' - - '81.68.0.0/14' - - '82.156.0.0/15' - - '87.254.207.0/24' - - '89.19.34.0/23' - - '93.183.14.0/24' - - '93.183.18.0/24' - - '94.191.0.0/17' - - '101.0.0.0/22' - - '101.1.0.0/22' - - '101.2.172.0/22' - - '101.4.0.0/14' - - '101.16.0.0/12' - - '101.32.176.0/20' - - '101.32.192.0/18' - - '101.33.0.0/16' - - '101.34.0.0/15' - - '101.36.0.0/18' - - '101.36.64.0/20' - - '101.36.88.0/21' - - '101.36.128.0/17' - - '101.37.0.0/16' - - '101.38.0.0/15' - - '101.40.0.0/13' - - '101.48.0.0/15' - - '101.50.8.0/21' - - '101.50.56.0/22' - - '101.52.0.0/16' - - '101.53.100.0/22' - - '101.54.0.0/16' - - '101.55.224.0/21' - - '101.64.0.0/13' - - '101.72.0.0/14' - - '101.76.0.0/15' - - '101.78.0.0/22' - - '101.78.32.0/19' - - '101.80.0.0/12' - - '101.96.0.0/21' - - '101.96.8.0/22' - - '101.96.16.0/20' - - '101.96.128.0/17' - - '101.99.96.0/19' - - '101.101.64.0/19' - - '101.101.100.0/24' - - '101.101.102.0/23' - - '101.101.104.0/21' - - '101.101.112.0/20' - - '101.102.64.0/19' - - '101.102.100.0/23' - - '101.102.102.0/24' - - '101.102.104.0/21' - - '101.102.112.0/20' - - '101.104.0.0/14' - - '101.110.64.0/19' - - '101.110.96.0/20' - - '101.110.116.0/22' - - '101.110.120.0/21' - - '101.120.0.0/14' - - '101.124.0.0/15' - - '101.126.0.0/16' - - '101.128.0.0/22' - - '101.128.8.0/21' - - '101.128.16.0/20' - - '101.128.32.0/19' - - '101.129.0.0/16' - - '101.130.0.0/15' - - '101.132.0.0/15' - - '101.134.0.0/17' - - '101.134.128.0/19' - - '101.134.160.0/20' - - '101.134.176.0/21' - - '101.134.184.0/22' - - '101.134.189.0/24' - - '101.134.190.0/23' - - '101.134.192.0/18' - - '101.135.0.0/16' - - '101.144.0.0/12' - - '101.192.0.0/14' - - '101.196.0.0/16' - - '101.198.128.0/18' - - '101.198.194.0/24' - - '101.198.196.0/23' - - '101.198.200.0/22' - - '101.198.224.0/19' - - '101.199.0.0/19' - - '101.199.48.0/20' - - '101.199.64.0/18' - - '101.199.128.0/17' - - '101.200.0.0/15' - - '101.203.128.0/19' - - '101.203.160.0/21' - - '101.203.172.0/22' - - '101.203.176.0/20' - - '101.204.0.0/14' - - '101.224.0.0/13' - - '101.232.0.0/15' - - '101.234.64.0/21' - - '101.234.76.0/22' - - '101.234.80.0/20' - - '101.234.96.0/19' - - '101.236.0.0/14' - - '101.240.0.0/13' - - '101.248.0.0/15' - - '101.251.0.0/22' - - '101.251.8.0/21' - - '101.251.16.0/20' - - '101.251.32.0/19' - - '101.251.64.0/18' - - '101.251.128.0/17' - - '101.252.0.0/15' - - '101.254.0.0/16' - - '102.176.130.0/24' - - '103.1.8.0/22' - - '103.1.20.0/22' - - '103.1.24.0/22' - - '103.1.88.0/22' - - '103.1.168.0/22' - - '103.2.108.0/22' - - '103.2.156.0/22' - - '103.2.164.0/22' - - '103.2.200.0/21' - - '103.2.208.0/21' - - '103.3.84.0/22' - - '103.3.88.0/21' - - '103.3.96.0/19' - - '103.3.128.0/20' - - '103.3.148.0/22' - - '103.3.152.0/21' - - '103.4.56.0/22' - - '103.4.168.0/22' - - '103.4.184.0/22' - - '103.5.36.0/22' - - '103.5.52.0/24' - - '103.5.56.0/22' - - '103.5.152.0/22' - - '103.5.168.0/22' - - '103.5.192.0/22' - - '103.5.252.0/22' - - '103.6.76.0/22' - - '103.6.120.0/22' - - '103.6.220.0/22' - - '103.7.140.0/22' - - '103.7.212.0/22' - - '103.7.216.0/21' - - '103.8.0.0/21' - - '103.8.8.0/22' - - '103.8.32.0/22' - - '103.8.52.0/22' - - '103.8.68.0/22' - - '103.8.108.0/22' - - '103.8.156.0/22' - - '103.8.200.0/21' - - '103.8.220.0/22' - - '103.9.8.0/22' - - '103.9.24.0/22' - - '103.9.108.0/22' - - '103.9.152.0/22' - - '103.9.248.0/21' - - '103.10.0.0/22' - - '103.10.16.0/22' - - '103.10.84.0/22' - - '103.10.111.0/24' - - '103.10.140.0/22' - - '103.11.16.0/22' - - '103.11.168.0/22' - - '103.11.180.0/22' - - '103.12.32.0/22' - - '103.12.136.0/22' - - '103.12.184.0/22' - - '103.12.232.0/22' - - '103.13.12.0/22' - - '103.13.124.0/22' - - '103.13.144.0/22' - - '103.13.196.0/22' - - '103.13.244.0/22' - - '103.14.84.0/22' - - '103.14.132.0/22' - - '103.14.136.0/22' - - '103.14.156.0/22' - - '103.14.240.0/22' - - '103.15.4.0/22' - - '103.15.8.0/22' - - '103.15.16.0/22' - - '103.15.96.0/22' - - '103.15.200.0/22' - - '103.16.52.0/22' - - '103.16.80.0/21' - - '103.16.88.0/22' - - '103.16.108.0/22' - - '103.16.124.0/22' - - '103.17.40.0/22' - - '103.17.64.0/22' - - '103.17.120.0/23' - - '103.17.136.0/22' - - '103.17.160.0/22' - - '103.17.204.0/22' - - '103.17.228.0/22' - - '103.18.192.0/22' - - '103.18.208.0/21' - - '103.18.224.0/22' - - '103.19.12.0/22' - - '103.19.40.0/21' - - '103.19.64.0/21' - - '103.19.72.0/22' - - '103.19.232.0/22' - - '103.20.12.0/22' - - '103.20.32.0/23' - - '103.20.34.0/24' - - '103.20.68.0/22' - - '103.20.112.0/22' - - '103.20.128.0/22' - - '103.20.160.0/22' - - '103.20.248.0/22' - - '103.21.112.0/21' - - '103.21.140.0/22' - - '103.21.176.0/22' - - '103.21.240.0/22' - - '103.22.0.0/18' - - '103.22.64.0/19' - - '103.22.100.0/22' - - '103.22.104.0/21' - - '103.22.112.0/20' - - '103.22.188.0/22' - - '103.22.228.0/22' - - '103.22.252.0/22' - - '103.23.8.0/22' - - '103.23.56.0/22' - - '103.23.160.0/21' - - '103.23.176.0/22' - - '103.23.228.0/22' - - '103.24.24.0/22' - - '103.24.116.0/22' - - '103.24.128.0/22' - - '103.24.144.0/22' - - '103.24.176.0/22' - - '103.24.184.0/22' - - '103.24.228.0/22' - - '103.24.252.0/22' - - '103.25.20.0/22' - - '103.25.24.0/21' - - '103.25.32.0/21' - - '103.25.40.0/22' - - '103.25.48.0/22' - - '103.25.64.0/21' - - '103.25.148.0/22' - - '103.25.156.0/22' - - '103.25.216.0/22' - - '103.26.0.0/22' - - '103.26.64.0/22' - - '103.26.76.0/22' - - '103.26.116.0/22' - - '103.26.156.0/22' - - '103.26.160.0/22' - - '103.26.228.0/22' - - '103.26.240.0/22' - - '103.27.4.0/22' - - '103.27.12.0/22' - - '103.27.24.0/22' - - '103.27.56.0/22' - - '103.27.96.0/22' - - '103.27.240.0/22' - - '103.28.4.0/22' - - '103.28.8.0/22' - - '103.28.184.0/22' - - '103.28.204.0/22' - - '103.28.212.0/22' - - '103.29.16.0/22' - - '103.29.128.0/21' - - '103.29.136.0/22' - - '103.30.20.0/22' - - '103.30.96.0/22' - - '103.30.148.0/22' - - '103.30.202.0/23' - - '103.30.228.0/22' - - '103.30.236.0/22' - - '103.31.0.0/22' - - '103.31.48.0/21' - - '103.31.60.0/22' - - '103.31.64.0/21' - - '103.31.72.0/24' - - '103.31.148.0/22' - - '103.31.160.0/22' - - '103.31.168.0/22' - - '103.31.200.0/22' - - '103.31.236.0/22' - - '103.32.0.0/15' - - '103.34.0.0/16' - - '103.35.0.0/19' - - '103.35.32.0/20' - - '103.35.48.0/22' - - '103.35.104.0/22' - - '103.35.220.0/22' - - '103.36.28.0/22' - - '103.36.36.0/22' - - '103.36.56.0/21' - - '103.36.64.0/22' - - '103.36.72.0/22' - - '103.36.96.0/22' - - '103.36.132.0/22' - - '103.36.136.0/22' - - '103.36.160.0/19' - - '103.36.192.0/19' - - '103.36.224.0/20' - - '103.36.240.0/21' - - '103.37.12.0/22' - - '103.37.16.0/22' - - '103.37.24.0/22' - - '103.37.44.0/22' - - '103.37.52.0/22' - - '103.37.56.0/22' - - '103.37.72.0/22' - - '103.37.100.0/22' - - '103.37.104.0/22' - - '103.37.136.0/21' - - '103.37.144.0/20' - - '103.37.160.0/21' - - '103.37.172.0/22' - - '103.37.176.0/22' - - '103.37.188.0/22' - - '103.37.208.0/20' - - '103.37.252.0/22' - - '103.38.0.0/22' - - '103.38.32.0/22' - - '103.38.40.0/21' - - '103.38.76.0/22' - - '103.38.84.0/22' - - '103.38.92.0/22' - - '103.38.96.0/22' - - '103.38.116.0/22' - - '103.38.132.0/22' - - '103.38.140.0/22' - - '103.38.220.0/22' - - '103.38.224.0/21' - - '103.38.232.0/22' - - '103.38.252.0/23' - - '103.39.64.0/22' - - '103.39.88.0/22' - - '103.39.100.0/22' - - '103.39.104.0/22' - - '103.39.160.0/19' - - '103.39.200.0/21' - - '103.39.208.0/20' - - '103.39.224.0/21' - - '103.39.232.0/22' - - '103.40.12.0/22' - - '103.40.16.0/20' - - '103.40.32.0/20' - - '103.40.88.0/22' - - '103.40.192.0/22' - - '103.40.212.0/22' - - '103.40.220.0/22' - - '103.40.228.0/22' - - '103.40.232.0/21' - - '103.40.240.0/20' - - '103.41.0.0/22' - - '103.41.52.0/22' - - '103.41.140.0/22' - - '103.41.148.0/22' - - '103.41.152.0/22' - - '103.41.160.0/21' - - '103.41.220.0/22' - - '103.41.224.0/21' - - '103.41.232.0/22' - - '103.42.8.0/22' - - '103.42.24.0/22' - - '103.42.32.0/22' - - '103.42.64.0/21' - - '103.42.76.0/22' - - '103.42.232.0/22' - - '103.43.26.0/23' - - '103.43.96.0/21' - - '103.43.104.0/22' - - '103.43.124.0/22' - - '103.43.184.0/22' - - '103.43.196.0/22' - - '103.43.208.0/22' - - '103.43.220.0/22' - - '103.43.224.0/22' - - '103.43.240.0/22' - - '103.44.58.0/23' - - '103.44.80.0/22' - - '103.44.120.0/21' - - '103.44.144.0/22' - - '103.44.152.0/22' - - '103.44.168.0/22' - - '103.44.176.0/20' - - '103.44.192.0/20' - - '103.44.224.0/22' - - '103.44.236.0/22' - - '103.44.240.0/20' - - '103.45.0.0/18' - - '103.45.72.0/21' - - '103.45.80.0/20' - - '103.45.96.0/19' - - '103.45.128.0/18' - - '103.45.192.0/19' - - '103.45.224.0/22' - - '103.45.248.0/22' - - '103.46.0.0/22' - - '103.46.12.0/22' - - '103.46.16.0/20' - - '103.46.32.0/19' - - '103.46.64.0/18' - - '103.46.128.0/21' - - '103.46.136.0/22' - - '103.46.152.0/21' - - '103.46.160.0/20' - - '103.46.176.0/21' - - '103.46.244.0/22' - - '103.46.248.0/22' - - '103.47.4.0/22' - - '103.47.20.0/22' - - '103.47.36.0/22' - - '103.47.40.0/22' - - '103.47.48.0/22' - - '103.47.80.0/22' - - '103.47.96.0/22' - - '103.47.116.0/22' - - '103.47.120.0/22' - - '103.47.136.0/21' - - '103.47.212.0/22' - - '103.48.52.0/22' - - '103.48.92.0/22' - - '103.48.148.0/22' - - '103.48.152.0/22' - - '103.48.202.0/23' - - '103.48.216.0/21' - - '103.48.224.0/20' - - '103.48.240.0/21' - - '103.49.12.0/22' - - '103.49.20.0/22' - - '103.49.72.0/21' - - '103.49.96.0/22' - - '103.49.108.0/22' - - '103.49.128.0/22' - - '103.49.176.0/21' - - '103.50.36.0/22' - - '103.50.44.0/22' - - '103.50.48.0/20' - - '103.50.64.0/21' - - '103.50.72.0/22' - - '103.50.108.0/22' - - '103.50.112.0/20' - - '103.50.132.0/22' - - '103.50.136.0/21' - - '103.50.172.0/22' - - '103.50.176.0/20' - - '103.50.192.0/21' - - '103.50.200.0/22' - - '103.50.220.0/22' - - '103.50.224.0/20' - - '103.50.240.0/21' - - '103.50.248.0/22' - - '103.52.40.0/22' - - '103.52.72.0/21' - - '103.52.80.0/21' - - '103.52.96.0/21' - - '103.52.104.0/22' - - '103.52.160.0/21' - - '103.52.172.0/22' - - '103.52.176.0/22' - - '103.52.184.0/22' - - '103.52.196.0/22' - - '103.53.64.0/21' - - '103.53.92.0/22' - - '103.53.124.0/22' - - '103.53.128.0/20' - - '103.53.144.0/22' - - '103.53.160.0/22' - - '103.53.180.0/22' - - '103.53.204.0/22' - - '103.53.208.0/21' - - '103.53.236.0/22' - - '103.53.248.0/22' - - '103.54.8.0/22' - - '103.54.48.0/22' - - '103.54.160.0/21' - - '103.54.212.0/22' - - '103.54.228.0/22' - - '103.54.240.0/22' - - '103.55.80.0/22' - - '103.55.120.0/22' - - '103.55.152.0/22' - - '103.55.172.0/22' - - '103.55.204.0/22' - - '103.55.208.0/22' - - '103.55.228.0/22' - - '103.55.236.0/22' - - '103.55.240.0/22' - - '103.56.20.0/22' - - '103.56.32.0/22' - - '103.56.56.0/21' - - '103.56.72.0/21' - - '103.56.140.0/22' - - '103.56.152.0/22' - - '103.56.184.0/22' - - '103.56.200.0/22' - - '103.57.12.0/22' - - '103.57.52.0/22' - - '103.57.56.0/22' - - '103.57.76.0/22' - - '103.57.136.0/22' - - '103.57.196.0/22' - - '103.58.24.0/22' - - '103.59.76.0/22' - - '103.59.112.0/21' - - '103.59.120.0/24' - - '103.59.123.0/24' - - '103.59.124.0/22' - - '103.59.128.0/22' - - '103.59.148.0/22' - - '103.60.32.0/22' - - '103.60.44.0/22' - - '103.60.164.0/22' - - '103.60.228.0/22' - - '103.60.236.0/22' - - '103.61.60.0/24' - - '103.61.104.0/22' - - '103.61.140.0/22' - - '103.61.152.0/21' - - '103.61.160.0/22' - - '103.61.172.0/22' - - '103.61.176.0/22' - - '103.62.24.0/22' - - '103.62.72.0/21' - - '103.62.80.0/21' - - '103.62.88.0/22' - - '103.62.96.0/19' - - '103.62.128.0/21' - - '103.62.156.0/22' - - '103.62.160.0/19' - - '103.62.192.0/22' - - '103.62.204.0/22' - - '103.62.208.0/20' - - '103.62.224.0/22' - - '103.63.32.0/19' - - '103.63.64.0/20' - - '103.63.80.0/21' - - '103.63.88.0/22' - - '103.63.140.0/22' - - '103.63.144.0/22' - - '103.63.152.0/22' - - '103.63.160.0/20' - - '103.63.176.0/21' - - '103.63.184.0/22' - - '103.63.192.0/20' - - '103.63.208.0/22' - - '103.63.240.0/20' - - '103.64.0.0/21' - - '103.64.24.0/21' - - '103.64.32.0/19' - - '103.64.64.0/18' - - '103.64.140.0/22' - - '103.64.144.0/22' - - '103.64.152.0/21' - - '103.64.160.0/19' - - '103.64.192.0/18' - - '103.65.0.0/21' - - '103.65.12.0/22' - - '103.65.16.0/22' - - '103.65.48.0/20' - - '103.65.64.0/19' - - '103.65.100.0/22' - - '103.65.104.0/21' - - '103.65.112.0/20' - - '103.65.128.0/21' - - '103.65.136.0/22' - - '103.65.144.0/20' - - '103.65.160.0/20' - - '103.66.32.0/22' - - '103.66.40.0/22' - - '103.66.108.0/22' - - '103.66.200.0/22' - - '103.66.240.0/20' - - '103.67.0.0/21' - - '103.67.8.0/22' - - '103.67.40.0/21' - - '103.67.48.0/20' - - '103.67.64.0/18' - - '103.67.128.0/20' - - '103.67.144.0/21' - - '103.67.172.0/24' - - '103.67.175.0/24' - - '103.67.192.0/22' - - '103.67.212.0/22' - - '103.68.88.0/22' - - '103.68.100.0/22' - - '103.68.128.0/22' - - '103.69.16.0/22' - - '103.70.8.0/22' - - '103.70.148.0/22' - - '103.70.236.0/22' - - '103.70.252.0/22' - - '103.71.0.0/22' - - '103.71.68.0/22' - - '103.71.72.0/22' - - '103.71.80.0/21' - - '103.71.88.0/22' - - '103.71.120.0/21' - - '103.71.128.0/22' - - '103.71.196.0/22' - - '103.71.200.0/22' - - '103.71.232.0/22' - - '103.72.12.0/22' - - '103.72.16.0/20' - - '103.72.32.0/20' - - '103.72.48.0/21' - - '103.72.112.0/21' - - '103.72.124.0/22' - - '103.72.128.0/21' - - '103.72.149.0/24' - - '103.72.150.0/23' - - '103.72.172.0/22' - - '103.72.180.0/22' - - '103.72.224.0/19' - - '103.73.0.0/19' - - '103.73.48.0/22' - - '103.73.116.0/22' - - '103.73.120.0/22' - - '103.73.128.0/20' - - '103.73.168.0/22' - - '103.73.176.0/22' - - '103.73.204.0/22' - - '103.73.208.0/22' - - '103.73.240.0/23' - - '103.73.244.0/22' - - '103.73.248.0/22' - - '103.74.24.0/21' - - '103.74.32.0/20' - - '103.74.48.0/22' - - '103.74.56.0/21' - - '103.74.80.0/22' - - '103.74.124.0/22' - - '103.74.148.0/22' - - '103.74.152.0/21' - - '103.74.204.0/22' - - '103.74.232.0/22' - - '103.75.87.0/24' - - '103.75.88.0/21' - - '103.75.104.0/21' - - '103.75.112.0/22' - - '103.75.120.0/22' - - '103.75.128.0/22' - - '103.75.144.0/22' - - '103.75.152.0/22' - - '103.76.60.0/22' - - '103.76.64.0/21' - - '103.76.72.0/22' - - '103.76.92.0/22' - - '103.76.216.0/21' - - '103.76.224.0/22' - - '103.77.28.0/22' - - '103.77.52.0/22' - - '103.77.56.0/22' - - '103.77.88.0/22' - - '103.77.132.0/22' - - '103.77.148.0/22' - - '103.77.220.0/22' - - '103.78.56.0/21' - - '103.78.64.0/22' - - '103.78.124.0/22' - - '103.78.172.0/22' - - '103.78.176.0/22' - - '103.78.196.0/22' - - '103.78.228.0/22' - - '103.79.24.0/21' - - '103.79.36.0/22' - - '103.79.40.0/21' - - '103.79.56.0/21' - - '103.79.64.0/21' - - '103.79.80.0/21' - - '103.79.136.0/22' - - '103.79.188.0/22' - - '103.79.192.0/20' - - '103.79.208.0/21' - - '103.80.44.0/22' - - '103.80.72.0/22' - - '103.80.176.0/21' - - '103.80.184.0/22' - - '103.80.192.0/22' - - '103.80.200.0/22' - - '103.80.232.0/22' - - '103.81.4.0/22' - - '103.81.44.0/22' - - '103.81.48.0/22' - - '103.81.96.0/22' - - '103.81.120.0/22' - - '103.81.148.0/22' - - '103.81.164.0/22' - - '103.81.200.0/22' - - '103.81.232.0/22' - - '103.82.60.0/22' - - '103.82.68.0/22' - - '103.82.84.0/22' - - '103.82.104.0/22' - - '103.82.224.0/22' - - '103.82.236.0/22' - - '103.83.44.0/22' - - '103.83.52.0/22' - - '103.83.60.0/22' - - '103.83.72.0/22' - - '103.83.112.0/22' - - '103.83.132.0/22' - - '103.83.180.0/22' - - '103.84.0.0/22' - - '103.84.12.0/22' - - '103.84.20.0/22' - - '103.84.24.0/21' - - '103.84.48.0/22' - - '103.84.56.0/22' - - '103.84.64.0/22' - - '103.84.72.0/22' - - '103.85.44.0/22' - - '103.85.48.0/21' - - '103.85.56.0/22' - - '103.85.84.0/22' - - '103.85.136.0/22' - - '103.85.144.0/22' - - '103.85.164.0/22' - - '103.85.168.0/21' - - '103.85.176.0/22' - - '103.86.28.0/22' - - '103.86.32.0/22' - - '103.86.60.0/22' - - '103.86.129.0/24' - - '103.86.204.0/22' - - '103.86.208.0/20' - - '103.86.224.0/19' - - '103.87.0.0/21' - - '103.87.20.0/22' - - '103.87.32.0/22' - - '103.87.96.0/22' - - '103.87.132.0/22' - - '103.87.180.0/22' - - '103.87.224.0/22' - - '103.88.4.0/22' - - '103.88.8.0/21' - - '103.88.16.0/21' - - '103.88.32.0/21' - - '103.88.60.0/22' - - '103.88.64.0/22' - - '103.88.72.0/22' - - '103.88.96.0/21' - - '103.88.152.0/23' - - '103.88.164.0/22' - - '103.88.212.0/22' - - '103.89.28.0/22' - - '103.89.96.0/20' - - '103.89.112.0/22' - - '103.89.148.0/22' - - '103.89.172.0/22' - - '103.89.184.0/21' - - '103.89.192.0/19' - - '103.89.224.0/21' - - '103.90.52.0/22' - - '103.90.92.0/22' - - '103.90.100.0/22' - - '103.90.104.0/21' - - '103.90.112.0/20' - - '103.90.128.0/21' - - '103.90.152.0/22' - - '103.90.168.0/22' - - '103.90.173.0/24' - - '103.90.176.0/22' - - '103.90.188.0/22' - - '103.90.192.0/22' - - '103.91.36.0/22' - - '103.91.40.0/22' - - '103.91.108.0/22' - - '103.91.152.0/22' - - '103.91.176.0/22' - - '103.91.200.0/22' - - '103.91.208.0/21' - - '103.91.236.0/22' - - '103.92.48.0/20' - - '103.92.64.0/20' - - '103.92.80.0/22' - - '103.92.88.0/22' - - '103.92.108.0/22' - - '103.92.124.0/22' - - '103.92.132.0/22' - - '103.92.156.0/22' - - '103.92.164.0/22' - - '103.92.168.0/21' - - '103.92.176.0/20' - - '103.92.192.0/22' - - '103.92.236.0/22' - - '103.92.240.0/20' - - '103.93.0.0/21' - - '103.93.28.0/22' - - '103.93.84.0/22' - - '103.93.152.0/22' - - '103.93.180.0/22' - - '103.93.204.0/22' - - '103.94.12.0/22' - - '103.94.20.0/22' - - '103.94.29.0/24' - - '103.94.30.0/23' - - '103.94.32.0/20' - - '103.94.72.0/22' - - '103.94.88.0/22' - - '103.94.116.0/22' - - '103.94.160.0/22' - - '103.94.200.0/22' - - '103.95.28.0/24' - - '103.95.30.0/23' - - '103.95.52.0/22' - - '103.95.69.0/24' - - '103.95.70.0/23' - - '103.95.88.0/21' - - '103.95.136.0/21' - - '103.95.144.0/22' - - '103.95.152.0/22' - - '103.95.216.0/21' - - '103.95.224.0/22' - - '103.95.236.0/22' - - '103.95.240.0/20' - - '103.96.8.0/22' - - '103.96.124.0/22' - - '103.96.136.0/22' - - '103.96.152.0/21' - - '103.96.160.0/19' - - '103.96.192.0/20' - - '103.96.208.0/21' - - '103.96.216.0/22' - - '103.97.40.0/22' - - '103.97.60.0/23' - - '103.97.112.0/21' - - '103.97.148.0/22' - - '103.97.188.0/22' - - '103.97.192.0/22' - - '103.98.40.0/21' - - '103.98.48.0/22' - - '103.98.56.0/22' - - '103.98.80.0/22' - - '103.98.88.0/22' - - '103.98.100.0/22' - - '103.98.124.0/24' - - '103.98.126.0/23' - - '103.98.136.0/21' - - '103.98.144.0/22' - - '103.98.164.0/22' - - '103.98.168.0/22' - - '103.98.180.0/22' - - '103.98.196.0/22' - - '103.98.216.0/21' - - '103.98.224.0/21' - - '103.98.232.0/22' - - '103.98.240.0/21' - - '103.98.248.0/23' - - '103.98.250.0/24' - - '103.98.252.0/22' - - '103.99.56.0/22' - - '103.99.104.0/22' - - '103.99.116.0/22' - - '103.99.120.0/22' - - '103.99.132.0/22' - - '103.99.136.0/21' - - '103.99.144.0/22' - - '103.99.152.0/22' - - '103.99.220.0/22' - - '103.99.232.0/21' - - '103.100.0.0/22' - - '103.100.32.0/22' - - '103.100.40.0/22' - - '103.100.48.0/22' - - '103.100.56.0/22' - - '103.100.64.0/22' - - '103.100.88.0/22' - - '103.100.116.0/22' - - '103.100.144.0/22' - - '103.100.240.0/22' - - '103.100.248.0/21' - - '103.101.4.0/22' - - '103.101.8.0/21' - - '103.101.60.0/22' - - '103.101.121.0/24' - - '103.101.122.0/23' - - '103.101.124.0/24' - - '103.101.126.0/23' - - '103.101.144.0/21' - - '103.101.180.0/22' - - '103.101.184.0/22' - - '103.102.76.0/22' - - '103.102.80.0/22' - - '103.102.168.0/21' - - '103.102.180.0/22' - - '103.102.184.0/21' - - '103.102.192.0/22' - - '103.102.196.0/24' - - '103.102.200.0/22' - - '103.102.208.0/21' - - '103.103.12.0/22' - - '103.103.16.0/22' - - '103.103.36.0/22' - - '103.103.72.0/22' - - '103.103.188.0/22' - - '103.103.204.0/22' - - '103.103.225.0/24' - - '103.104.36.0/22' - - '103.104.40.0/22' - - '103.104.64.0/22' - - '103.104.152.0/22' - - '103.104.252.0/22' - - '103.105.0.0/21' - - '103.105.12.0/22' - - '103.105.16.0/22' - - '103.105.60.0/22' - - '103.105.116.0/22' - - '103.105.180.0/22' - - '103.105.184.0/22' - - '103.105.200.0/21' - - '103.105.220.0/22' - - '103.106.36.0/22' - - '103.106.40.0/21' - - '103.106.60.0/22' - - '103.106.68.0/22' - - '103.106.96.0/22' - - '103.106.120.0/22' - - '103.106.128.0/21' - - '103.106.190.0/23' - - '103.106.196.0/22' - - '103.106.212.0/22' - - '103.106.252.0/22' - - '103.107.0.0/22' - - '103.107.28.0/22' - - '103.107.32.0/22' - - '103.107.44.0/22' - - '103.107.72.0/22' - - '103.107.164.0/22' - - '103.107.168.0/22' - - '103.107.188.0/22' - - '103.107.192.0/22' - - '103.107.208.0/20' - - '103.108.52.0/22' - - '103.108.160.0/21' - - '103.108.196.0/22' - - '103.108.208.0/21' - - '103.108.224.0/22' - - '103.108.244.0/22' - - '103.108.251.0/24' - - '103.109.20.0/22' - - '103.109.48.0/22' - - '103.109.88.0/22' - - '103.109.107.0/24' - - '103.109.248.0/22' - - '103.110.32.0/22' - - '103.110.92.0/22' - - '103.110.119.0/24' - - '103.110.127.0/24' - - '103.110.128.0/23' - - '103.110.131.0/24' - - '103.110.132.0/22' - - '103.110.136.0/22' - - '103.110.156.0/22' - - '103.110.188.0/22' - - '103.110.204.0/22' - - '103.111.64.0/22' - - '103.111.172.0/22' - - '103.111.252.0/22' - - '103.112.72.0/22' - - '103.112.88.0/21' - - '103.112.108.0/22' - - '103.112.112.0/22' - - '103.112.140.0/22' - - '103.113.4.0/22' - - '103.113.144.0/22' - - '103.113.220.0/22' - - '103.113.232.0/21' - - '103.114.4.0/22' - - '103.114.68.0/22' - - '103.114.100.0/22' - - '103.114.148.0/22' - - '103.114.156.0/23' - - '103.114.212.0/22' - - '103.114.236.0/22' - - '103.114.240.0/22' - - '103.115.52.0/22' - - '103.115.68.0/22' - - '103.115.92.0/22' - - '103.115.120.0/22' - - '103.115.148.0/22' - - '103.115.248.0/22' - - '103.116.76.0/22' - - '103.116.92.0/22' - - '103.116.120.0/22' - - '103.116.128.0/22' - - '103.116.184.0/22' - - '103.116.220.0/22' - - '103.116.224.0/21' - - '103.117.16.0/22' - - '103.117.88.0/22' - - '103.117.188.0/22' - - '103.117.220.0/22' - - '103.118.19.0/24' - - '103.118.52.0/22' - - '103.118.56.0/21' - - '103.118.64.0/21' - - '103.118.72.0/22' - - '103.118.88.0/22' - - '103.118.173.0/24' - - '103.119.115.0/24' - - '103.119.156.0/22' - - '103.119.180.0/22' - - '103.119.200.0/22' - - '103.119.224.0/22' - - '103.120.52.0/22' - - '103.120.72.0/22' - - '103.120.76.0/24' - - '103.120.88.0/22' - - '103.120.96.0/22' - - '103.120.140.0/22' - - '103.120.196.0/22' - - '103.120.224.0/22' - - '103.121.52.0/22' - - '103.121.160.0/21' - - '103.121.250.0/24' - - '103.121.252.0/22' - - '103.122.48.0/22' - - '103.122.178.0/23' - - '103.122.192.0/22' - - '103.122.240.0/23' - - '103.122.242.0/24' - - '103.123.4.0/22' - - '103.123.56.0/22' - - '103.123.88.0/21' - - '103.123.116.0/22' - - '103.123.176.0/22' - - '103.123.200.0/21' - - '103.123.208.0/21' - - '103.124.24.0/22' - - '103.124.48.0/22' - - '103.124.64.0/22' - - '103.124.212.0/22' - - '103.124.216.0/22' - - '103.125.20.0/22' - - '103.125.44.0/22' - - '103.125.132.0/22' - - '103.125.164.0/22' - - '103.125.196.0/22' - - '103.125.236.0/22' - - '103.126.0.0/22' - - '103.126.16.0/23' - - '103.126.44.0/22' - - '103.126.124.0/22' - - '103.126.128.0/22' - - '103.129.53.0/24' - - '103.129.54.0/23' - - '103.129.148.0/22' - - '103.130.132.0/22' - - '103.130.160.0/22' - - '103.130.228.0/22' - - '103.131.20.0/22' - - '103.131.36.0/22' - - '103.131.152.0/22' - - '103.131.168.0/22' - - '103.131.224.0/21' - - '103.131.240.0/22' - - '103.132.60.0/22' - - '103.132.64.0/20' - - '103.132.80.0/22' - - '103.132.104.0/21' - - '103.132.112.0/21' - - '103.132.120.0/22' - - '103.132.188.0/22' - - '103.132.208.0/21' - - '103.133.12.0/22' - - '103.133.40.0/22' - - '103.133.128.0/22' - - '103.133.232.0/22' - - '103.134.196.0/22' - - '103.135.80.0/22' - - '103.135.124.0/22' - - '103.135.148.0/22' - - '103.135.156.0/22' - - '103.135.160.0/21' - - '103.135.176.0/22' - - '103.135.184.0/22' - - '103.135.192.0/21' - - '103.135.236.0/22' - - '103.136.128.0/22' - - '103.136.232.0/22' - - '103.137.58.0/23' - - '103.137.60.0/24' - - '103.137.136.0/23' - - '103.137.149.0/24' - - '103.137.180.0/22' - - '103.137.236.0/22' - - '103.138.2.0/23' - - '103.138.135.0/24' - - '103.138.208.0/23' - - '103.138.220.0/23' - - '103.138.248.0/23' - - '103.139.22.0/23' - - '103.139.134.0/23' - - '103.139.172.0/23' - - '103.139.204.0/23' - - '103.139.212.0/23' - - '103.140.14.0/23' - - '103.140.46.0/23' - - '103.140.140.0/23' - - '103.140.144.0/23' - - '103.140.192.0/23' - - '103.141.10.0/23' - - '103.141.58.0/23' - - '103.141.128.0/23' - - '103.141.186.0/23' - - '103.141.242.0/23' - - '103.142.0.0/23' - - '103.142.28.0/23' - - '103.142.58.0/23' - - '103.142.82.0/23' - - '103.142.96.0/23' - - '103.142.122.0/23' - - '103.142.128.0/23' - - '103.142.154.0/23' - - '103.142.156.0/23' - - '103.142.180.0/23' - - '103.142.186.0/23' - - '103.142.230.0/24' - - '103.142.234.0/23' - - '103.142.238.0/23' - - '103.143.16.0/22' - - '103.143.31.0/24' - - '103.143.74.0/23' - - '103.143.120.0/24' - - '103.143.124.0/23' - - '103.143.132.0/22' - - '103.143.174.0/23' - - '103.143.228.0/23' - - '103.144.66.0/23' - - '103.144.70.0/23' - - '103.144.72.0/23' - - '103.144.136.0/23' - - '103.144.158.0/23' - - '103.145.42.0/23' - - '103.145.94.0/23' - - '103.145.98.0/23' - - '103.145.188.0/23' - - '103.146.6.0/23' - - '103.146.72.0/23' - - '103.146.126.0/23' - - '103.146.138.0/23' - - '103.146.236.0/23' - - '103.146.252.0/23' - - '103.147.124.0/23' - - '103.147.198.0/23' - - '103.147.206.0/23' - - '103.147.211.0/24' - - '103.148.174.0/23' - - '103.149.6.0/23' - - '103.149.17.0/24' - - '103.149.44.0/23' - - '103.149.190.0/23' - - '103.149.210.0/23' - - '103.149.214.0/23' - - '103.149.220.0/23' - - '103.149.242.0/23' - - '103.149.244.0/22' - - '103.150.24.0/23' - - '103.150.66.0/23' - - '103.150.72.0/23' - - '103.150.122.0/23' - - '103.150.126.0/23' - - '103.150.128.0/23' - - '103.150.131.0/24' - - '103.150.146.0/23' - - '103.150.164.0/23' - - '103.150.200.0/23' - - '103.150.216.0/23' - - '103.150.244.0/23' - - '103.151.142.0/23' - - '103.151.148.0/22' - - '103.151.158.0/23' - - '103.152.28.0/22' - - '103.152.76.0/23' - - '103.152.80.0/23' - - '103.152.113.0/24' - - '103.152.120.0/22' - - '103.152.152.0/23' - - '103.152.168.0/23' - - '103.152.186.0/23' - - '103.152.190.0/23' - - '103.152.192.0/23' - - '103.152.200.0/23' - - '103.152.208.0/23' - - '103.152.224.0/23' - - '103.152.247.0/24' - - '103.152.250.0/23' - - '103.153.4.0/23' - - '103.153.36.0/23' - - '103.153.99.0/24' - - '103.153.100.0/23' - - '103.153.114.0/23' - - '103.153.122.0/23' - - '103.153.128.0/23' - - '103.153.132.0/23' - - '103.153.138.0/23' - - '103.153.146.0/23' - - '103.153.160.0/23' - - '103.154.18.0/23' - - '103.154.30.0/23' - - '103.154.32.0/23' - - '103.154.40.0/23' - - '103.154.66.0/23' - - '103.154.162.0/23' - - '103.154.164.0/23' - - '103.154.168.0/23' - - '103.154.243.0/24' - - '103.155.14.0/23' - - '103.155.16.0/23' - - '103.155.34.0/23' - - '103.192.0.0/19' - - '103.192.48.0/21' - - '103.192.56.0/22' - - '103.192.84.0/22' - - '103.192.88.0/21' - - '103.192.96.0/20' - - '103.192.112.0/22' - - '103.192.128.0/20' - - '103.192.144.0/22' - - '103.192.164.0/22' - - '103.192.188.0/22' - - '103.192.208.0/21' - - '103.192.216.0/22' - - '103.192.252.0/22' - - '103.193.40.0/21' - - '103.193.120.0/22' - - '103.193.140.0/22' - - '103.193.160.0/22' - - '103.193.188.0/22' - - '103.193.192.0/22' - - '103.193.212.0/22' - - '103.193.216.0/21' - - '103.193.224.0/20' - - '103.194.16.0/22' - - '103.195.112.0/22' - - '103.195.152.0/22' - - '103.195.160.0/22' - - '103.196.64.0/22' - - '103.196.72.0/22' - - '103.196.88.0/21' - - '103.196.96.0/22' - - '103.196.168.0/22' - - '103.196.185.0/24' - - '103.196.186.0/23' - - '103.197.181.0/24' - - '103.197.183.0/24' - - '103.197.228.0/22' - - '103.197.253.0/24' - - '103.197.254.0/23' - - '103.198.20.0/22' - - '103.198.60.0/22' - - '103.198.64.0/22' - - '103.198.72.0/22' - - '103.198.124.0/22' - - '103.198.156.0/22' - - '103.198.180.0/22' - - '103.198.196.0/22' - - '103.198.200.0/22' - - '103.199.164.0/22' - - '103.199.196.0/22' - - '103.199.228.0/22' - - '103.199.252.0/22' - - '103.200.52.0/22' - - '103.200.64.0/21' - - '103.200.136.0/21' - - '103.200.144.0/20' - - '103.200.160.0/19' - - '103.200.192.0/22' - - '103.200.220.0/22' - - '103.200.224.0/19' - - '103.201.0.0/20' - - '103.201.16.0/21' - - '103.201.28.0/22' - - '103.201.32.0/19' - - '103.201.64.0/22' - - '103.201.76.0/22' - - '103.201.80.0/20' - - '103.201.96.0/20' - - '103.201.112.0/21' - - '103.201.120.0/22' - - '103.201.152.0/21' - - '103.201.160.0/19' - - '103.201.192.0/18' - - '103.202.0.0/19' - - '103.202.32.0/20' - - '103.202.56.0/21' - - '103.202.64.0/18' - - '103.202.128.0/20' - - '103.202.144.0/22' - - '103.202.152.0/21' - - '103.202.160.0/19' - - '103.202.192.0/20' - - '103.202.212.0/22' - - '103.202.228.0/22' - - '103.202.236.0/22' - - '103.202.240.0/20' - - '103.203.0.0/19' - - '103.203.32.0/22' - - '103.203.96.0/19' - - '103.203.128.0/22' - - '103.203.140.0/22' - - '103.203.164.0/22' - - '103.203.168.0/22' - - '103.203.192.0/22' - - '103.203.200.0/22' - - '103.203.212.0/22' - - '103.203.216.0/22' - - '103.204.24.0/22' - - '103.204.88.0/22' - - '103.204.112.0/22' - - '103.204.136.0/21' - - '103.204.144.0/21' - - '103.204.152.0/22' - - '103.204.196.0/22' - - '103.204.232.0/21' - - '103.205.4.0/22' - - '103.205.40.0/21' - - '103.205.52.0/22' - - '103.205.108.0/22' - - '103.205.116.0/22' - - '103.205.120.0/24' - - '103.205.136.0/22' - - '103.205.162.0/24' - - '103.205.188.0/22' - - '103.205.192.0/21' - - '103.205.200.0/22' - - '103.205.236.0/22' - - '103.205.248.0/21' - - '103.206.0.0/22' - - '103.206.44.0/22' - - '103.206.148.0/22' - - '103.207.104.0/22' - - '103.207.184.0/21' - - '103.207.192.0/20' - - '103.207.208.0/21' - - '103.207.220.0/22' - - '103.207.228.0/22' - - '103.207.232.0/22' - - '103.208.12.0/22' - - '103.208.16.0/22' - - '103.208.28.0/22' - - '103.208.48.0/22' - - '103.208.148.0/22' - - '103.209.112.0/22' - - '103.209.136.0/22' - - '103.209.200.0/22' - - '103.209.208.0/22' - - '103.209.216.0/22' - - '103.210.0.0/22' - - '103.210.96.0/22' - - '103.210.156.0/22' - - '103.210.160.0/19' - - '103.210.217.0/24' - - '103.210.218.0/23' - - '103.211.44.0/22' - - '103.211.96.0/23' - - '103.211.98.0/24' - - '103.211.100.0/22' - - '103.211.156.0/22' - - '103.211.165.0/24' - - '103.211.168.0/22' - - '103.211.220.0/22' - - '103.211.248.0/22' - - '103.212.0.0/20' - - '103.212.44.0/22' - - '103.212.48.0/22' - - '103.212.84.0/22' - - '103.212.100.0/22' - - '103.212.148.0/22' - - '103.212.164.0/22' - - '103.212.196.0/22' - - '103.212.200.0/22' - - '103.212.252.0/22' - - '103.213.40.0/21' - - '103.213.48.0/20' - - '103.213.64.0/19' - - '103.213.96.0/22' - - '103.213.132.0/22' - - '103.213.136.0/21' - - '103.213.144.0/20' - - '103.213.160.0/19' - - '103.213.252.0/22' - - '103.214.48.0/22' - - '103.214.84.0/22' - - '103.214.212.0/22' - - '103.214.240.0/21' - - '103.215.28.0/22' - - '103.215.32.0/21' - - '103.215.44.0/22' - - '103.215.100.0/23' - - '103.215.108.0/22' - - '103.215.116.0/22' - - '103.215.120.0/22' - - '103.215.140.0/22' - - '103.216.4.0/22' - - '103.216.8.0/21' - - '103.216.16.0/20' - - '103.216.32.0/20' - - '103.216.64.0/22' - - '103.216.108.0/22' - - '103.216.136.0/22' - - '103.216.152.0/22' - - '103.216.224.0/21' - - '103.216.240.0/20' - - '103.217.0.0/18' - - '103.217.168.0/22' - - '103.217.180.0/22' - - '103.217.184.0/21' - - '103.217.192.0/20' - - '103.218.8.0/21' - - '103.218.16.0/21' - - '103.218.28.0/22' - - '103.218.32.0/19' - - '103.218.64.0/19' - - '103.218.192.0/20' - - '103.218.208.0/21' - - '103.218.216.0/22' - - '103.219.24.0/21' - - '103.219.32.0/21' - - '103.219.64.0/22' - - '103.219.84.0/22' - - '103.219.88.0/21' - - '103.219.96.0/21' - - '103.219.176.0/22' - - '103.219.184.0/22' - - '103.220.48.0/20' - - '103.220.64.0/22' - - '103.220.92.0/22' - - '103.220.96.0/22' - - '103.220.104.0/21' - - '103.220.116.0/22' - - '103.220.120.0/21' - - '103.220.128.0/20' - - '103.220.144.0/21' - - '103.220.152.0/22' - - '103.220.160.0/19' - - '103.220.192.0/21' - - '103.220.200.0/22' - - '103.220.240.0/21' - - '103.220.252.0/22' - - '103.221.0.0/19' - - '103.221.32.0/22' - - '103.221.40.0/24' - - '103.221.44.0/22' - - '103.221.88.0/22' - - '103.221.92.0/23' - - '103.221.95.0/24' - - '103.221.96.0/19' - - '103.221.128.0/18' - - '103.221.192.0/20' - - '103.222.0.0/20' - - '103.222.16.0/22' - - '103.222.24.0/21' - - '103.222.33.0/24' - - '103.222.34.0/23' - - '103.222.36.0/22' - - '103.222.40.0/21' - - '103.222.48.0/20' - - '103.222.64.0/18' - - '103.222.128.0/18' - - '103.222.192.0/19' - - '103.222.224.0/21' - - '103.222.232.0/22' - - '103.222.240.0/21' - - '103.223.16.0/20' - - '103.223.32.0/19' - - '103.223.64.0/19' - - '103.223.96.0/20' - - '103.223.112.0/21' - - '103.223.124.0/22' - - '103.223.128.0/21' - - '103.223.140.0/22' - - '103.223.144.0/20' - - '103.223.160.0/20' - - '103.223.176.0/21' - - '103.223.188.0/22' - - '103.223.192.0/18' - - '103.224.0.0/22' - - '103.224.40.0/21' - - '103.224.60.0/22' - - '103.224.220.0/22' - - '103.224.224.0/21' - - '103.224.232.0/22' - - '103.225.32.0/22' - - '103.226.40.0/22' - - '103.226.56.0/21' - - '103.226.80.0/22' - - '103.226.116.0/22' - - '103.226.132.0/22' - - '103.226.156.0/22' - - '103.226.180.0/22' - - '103.226.196.0/22' - - '103.227.48.0/22' - - '103.227.72.0/21' - - '103.227.80.0/22' - - '103.227.100.0/22' - - '103.227.120.0/22' - - '103.227.132.0/22' - - '103.227.136.0/22' - - '103.227.196.0/22' - - '103.227.204.0/23' - - '103.227.206.0/24' - - '103.227.212.0/22' - - '103.227.228.0/22' - - '103.228.12.0/22' - - '103.228.88.0/22' - - '103.228.136.0/22' - - '103.228.160.0/22' - - '103.228.176.0/22' - - '103.228.204.0/22' - - '103.228.208.0/22' - - '103.228.228.0/22' - - '103.228.232.0/22' - - '103.229.20.0/22' - - '103.229.136.0/22' - - '103.229.148.0/22' - - '103.229.172.0/22' - - '103.229.212.0/22' - - '103.229.216.0/21' - - '103.229.228.0/22' - - '103.229.236.0/22' - - '103.229.240.0/22' - - '103.230.0.0/22' - - '103.230.28.0/22' - - '103.230.40.0/21' - - '103.230.96.0/22' - - '103.230.196.0/22' - - '103.230.200.0/21' - - '103.230.212.0/22' - - '103.230.236.0/22' - - '103.231.16.0/21' - - '103.231.64.0/21' - - '103.231.144.0/22' - - '103.231.180.0/22' - - '103.231.244.0/22' - - '103.232.4.0/22' - - '103.232.17.168/29' - - '103.232.144.0/22' - - '103.233.4.0/22' - - '103.233.44.0/22' - - '103.233.52.0/22' - - '103.233.104.0/22' - - '103.233.128.0/22' - - '103.233.136.0/22' - - '103.233.228.0/22' - - '103.234.0.0/22' - - '103.234.20.0/22' - - '103.234.56.0/22' - - '103.234.124.0/22' - - '103.234.128.0/22' - - '103.234.172.0/22' - - '103.234.180.0/22' - - '103.235.56.0/21' - - '103.235.80.0/22' - - '103.235.85.0/24' - - '103.235.87.0/24' - - '103.235.128.0/20' - - '103.235.144.0/21' - - '103.235.184.0/22' - - '103.235.192.0/22' - - '103.235.200.0/22' - - '103.235.220.0/22' - - '103.235.224.0/19' - - '103.236.0.0/18' - - '103.236.64.0/19' - - '103.236.96.0/22' - - '103.236.120.0/22' - - '103.236.184.0/22' - - '103.236.240.0/20' - - '103.237.0.0/20' - - '103.237.24.0/21' - - '103.237.68.0/22' - - '103.237.88.0/22' - - '103.237.152.0/22' - - '103.237.176.0/20' - - '103.237.192.0/18' - - '103.238.0.0/21' - - '103.238.18.0/23' - - '103.238.20.0/22' - - '103.238.24.0/21' - - '103.238.32.0/20' - - '103.238.48.0/21' - - '103.238.56.0/22' - - '103.238.88.0/21' - - '103.238.96.0/22' - - '103.238.132.0/22' - - '103.238.140.0/22' - - '103.238.144.0/22' - - '103.238.160.0/22' - - '103.238.165.0/24' - - '103.238.166.0/23' - - '103.238.168.0/21' - - '103.238.176.0/20' - - '103.238.196.0/22' - - '103.238.204.0/22' - - '103.238.252.0/22' - - '103.239.0.0/22' - - '103.239.44.0/22' - - '103.239.68.0/22' - - '103.239.152.0/21' - - '103.239.180.0/22' - - '103.239.184.0/22' - - '103.239.192.0/21' - - '103.239.204.0/22' - - '103.239.208.0/22' - - '103.239.224.0/22' - - '103.239.244.0/22' - - '103.240.16.0/22' - - '103.240.36.0/22' - - '103.240.72.0/22' - - '103.240.84.0/22' - - '103.240.124.0/22' - - '103.240.172.0/22' - - '103.240.188.0/22' - - '103.240.244.0/22' - - '103.241.12.0/22' - - '103.241.92.0/22' - - '103.241.96.0/22' - - '103.241.160.0/22' - - '103.241.184.0/21' - - '103.241.220.0/22' - - '103.242.64.0/23' - - '103.242.128.0/23' - - '103.242.160.0/22' - - '103.242.168.0/21' - - '103.242.176.0/22' - - '103.242.200.0/22' - - '103.242.212.0/22' - - '103.242.220.0/22' - - '103.242.240.0/22' - - '103.243.136.0/22' - - '103.243.252.0/22' - - '103.244.16.0/22' - - '103.244.58.0/23' - - '103.244.60.0/22' - - '103.244.64.0/20' - - '103.244.80.0/21' - - '103.244.116.0/22' - - '103.244.164.0/22' - - '103.244.232.0/22' - - '103.244.252.0/22' - - '103.245.23.0/24' - - '103.245.52.0/22' - - '103.245.60.0/22' - - '103.245.80.0/22' - - '103.245.124.0/22' - - '103.245.128.0/22' - - '103.246.8.0/21' - - '103.246.120.0/21' - - '103.246.132.0/22' - - '103.246.152.0/22' - - '103.247.168.0/21' - - '103.247.176.0/22' - - '103.247.200.0/22' - - '103.247.212.0/22' - - '103.248.64.0/23' - - '103.248.100.0/22' - - '103.248.124.0/22' - - '103.248.152.0/22' - - '103.248.168.0/22' - - '103.248.192.0/22' - - '103.248.212.0/22' - - '103.248.224.0/21' - - '103.249.8.0/21' - - '103.249.52.0/22' - - '103.249.128.0/22' - - '103.249.136.0/22' - - '103.249.144.0/22' - - '103.249.164.0/22' - - '103.249.168.0/21' - - '103.249.176.0/22' - - '103.249.188.0/22' - - '103.249.192.0/22' - - '103.249.244.0/22' - - '103.249.252.0/22' - - '103.250.32.0/22' - - '103.250.104.0/22' - - '103.250.124.0/22' - - '103.250.180.0/22' - - '103.250.192.0/22' - - '103.250.216.0/22' - - '103.250.224.0/22' - - '103.250.236.0/22' - - '103.250.248.0/21' - - '103.251.32.0/22' - - '103.251.84.0/22' - - '103.251.96.0/22' - - '103.251.124.0/22' - - '103.251.160.0/22' - - '103.251.192.0/22' - - '103.251.204.0/22' - - '103.251.240.0/22' - - '103.252.28.0/22' - - '103.252.36.0/22' - - '103.252.64.0/22' - - '103.252.96.0/22' - - '103.252.104.0/22' - - '103.252.172.0/22' - - '103.252.204.0/22' - - '103.252.208.0/22' - - '103.252.232.0/22' - - '103.252.248.0/22' - - '103.253.4.0/22' - - '103.253.60.0/22' - - '103.253.204.0/22' - - '103.253.220.0/22' - - '103.253.224.0/22' - - '103.253.232.0/22' - - '103.254.8.0/22' - - '103.254.20.0/22' - - '103.254.64.0/21' - - '103.254.76.0/22' - - '103.254.112.0/22' - - '103.254.176.0/22' - - '103.254.188.0/22' - - '103.255.68.0/22' - - '103.255.88.0/21' - - '103.255.136.0/21' - - '103.255.184.0/22' - - '103.255.200.0/22' - - '103.255.208.0/22' - - '103.255.228.0/22' - - '106.0.0.0/24' - - '106.0.2.0/23' - - '106.0.4.0/22' - - '106.0.8.0/21' - - '106.0.16.0/20' - - '106.0.44.0/22' - - '106.0.64.0/18' - - '106.2.0.0/23' - - '106.2.3.0/24' - - '106.2.4.0/22' - - '106.2.8.0/21' - - '106.2.16.0/20' - - '106.2.32.0/19' - - '106.2.64.0/18' - - '106.2.128.0/20' - - '106.2.144.0/21' - - '106.2.152.0/22' - - '106.2.156.0/23' - - '106.2.160.0/19' - - '106.2.192.0/18' - - '106.3.16.0/20' - - '106.3.32.0/19' - - '106.3.64.0/20' - - '106.3.80.0/22' - - '106.3.88.0/21' - - '106.3.96.0/19' - - '106.3.128.0/19' - - '106.3.164.0/22' - - '106.3.168.0/21' - - '106.3.176.0/20' - - '106.3.192.0/18' - - '106.4.0.0/14' - - '106.8.0.0/15' - - '106.11.0.0/16' - - '106.12.0.0/14' - - '106.16.0.0/12' - - '106.32.0.0/12' - - '106.48.0.0/21' - - '106.48.8.0/22' - - '106.48.16.0/20' - - '106.48.32.0/20' - - '106.48.57.0/24' - - '106.48.60.0/24' - - '106.48.63.0/24' - - '106.48.64.0/18' - - '106.48.128.0/17' - - '106.49.1.0/24' - - '106.49.2.0/23' - - '106.49.4.0/22' - - '106.49.8.0/21' - - '106.49.16.0/20' - - '106.49.32.0/19' - - '106.49.64.0/19' - - '106.49.96.0/24' - - '106.49.98.0/23' - - '106.49.100.0/22' - - '106.49.104.0/21' - - '106.49.112.0/20' - - '106.49.128.0/17' - - '106.50.0.0/16' - - '106.52.0.0/14' - - '106.56.0.0/13' - - '106.74.0.0/16' - - '106.75.0.0/17' - - '106.75.128.0/18' - - '106.75.201.0/24' - - '106.75.204.0/22' - - '106.75.208.0/20' - - '106.75.224.0/19' - - '106.80.0.0/12' - - '106.108.0.0/14' - - '106.112.0.0/12' - - '106.224.0.0/12' - - '109.71.4.0/24' - - '109.244.0.0/16' - - '110.6.0.0/15' - - '110.16.0.0/14' - - '110.34.40.0/21' - - '110.40.0.0/15' - - '110.42.0.0/16' - - '110.43.0.0/18' - - '110.43.64.0/21' - - '110.43.72.0/22' - - '110.43.76.0/23' - - '110.43.80.0/20' - - '110.43.96.0/19' - - '110.43.128.0/17' - - '110.44.12.0/22' - - '110.44.144.0/20' - - '110.48.0.0/16' - - '110.51.0.0/16' - - '110.52.0.0/15' - - '110.56.0.0/13' - - '110.64.0.0/15' - - '110.72.0.0/15' - - '110.75.0.0/16' - - '110.76.0.0/20' - - '110.76.16.0/22' - - '110.76.20.0/24' - - '110.76.22.0/24' - - '110.76.24.0/21' - - '110.76.32.0/19' - - '110.76.132.0/22' - - '110.76.156.0/22' - - '110.76.184.0/22' - - '110.76.192.0/18' - - '110.77.0.0/17' - - '110.80.0.0/13' - - '110.88.0.0/14' - - '110.92.68.0/22' - - '110.93.32.0/19' - - '110.94.0.0/15' - - '110.96.0.0/11' - - '110.152.0.0/14' - - '110.156.0.0/15' - - '110.166.0.0/15' - - '110.172.192.0/18' - - '110.173.0.0/19' - - '110.173.32.0/20' - - '110.173.64.0/19' - - '110.173.192.0/19' - - '110.176.0.0/12' - - '110.192.0.0/11' - - '110.228.0.0/14' - - '110.232.32.0/19' - - '110.236.0.0/15' - - '110.240.0.0/12' - - '111.0.0.0/10' - - '111.66.0.0/16' - - '111.67.192.0/20' - - '111.68.64.0/19' - - '111.72.0.0/13' - - '111.85.0.0/16' - - '111.91.192.0/19' - - '111.92.248.0/21' - - '111.112.0.0/14' - - '111.116.0.0/15' - - '111.118.200.0/21' - - '111.119.64.0/18' - - '111.119.128.0/19' - - '111.120.0.0/14' - - '111.124.0.0/16' - - '111.126.0.0/15' - - '111.128.0.0/11' - - '111.160.0.0/13' - - '111.170.0.0/16' - - '111.172.0.0/14' - - '111.176.0.0/13' - - '111.186.0.0/15' - - '111.192.0.0/12' - - '111.208.0.0/13' - - '111.221.28.0/24' - - '111.221.128.0/17' - - '111.222.0.0/16' - - '111.223.4.0/22' - - '111.223.8.0/21' - - '111.223.16.0/22' - - '111.223.240.0/22' - - '111.223.249.0/24' - - '111.223.250.0/23' - - '111.224.0.0/13' - - '111.235.96.0/19' - - '111.235.156.0/22' - - '111.235.160.0/21' - - '111.235.170.0/23' - - '111.235.172.0/22' - - '111.235.176.0/20' - - '112.0.0.0/10' - - '112.64.0.0/14' - - '112.73.64.0/18' - - '112.74.0.0/16' - - '112.80.0.0/12' - - '112.96.0.0/13' - - '112.109.128.0/17' - - '112.111.0.0/16' - - '112.112.0.0/14' - - '112.116.0.0/15' - - '112.122.0.0/15' - - '112.124.0.0/14' - - '112.128.0.0/14' - - '112.132.0.0/16' - - '112.137.48.0/21' - - '112.192.0.0/14' - - '112.224.0.0/11' - - '113.0.0.0/13' - - '113.8.0.0/15' - - '113.11.192.0/19' - - '113.12.0.0/14' - - '113.16.0.0/15' - - '113.18.0.0/16' - - '113.21.232.0/21' - - '113.24.0.0/14' - - '113.31.0.0/16' - - '113.44.0.0/14' - - '113.48.0.0/14' - - '113.52.160.0/19' - - '113.52.228.0/22' - - '113.54.0.0/15' - - '113.56.0.0/15' - - '113.58.0.0/16' - - '113.59.0.0/17' - - '113.59.224.0/22' - - '113.62.0.0/15' - - '113.64.0.0/10' - - '113.128.0.0/15' - - '113.130.96.0/20' - - '113.130.112.0/21' - - '113.132.0.0/14' - - '113.136.0.0/13' - - '113.194.0.0/15' - - '113.197.100.0/23' - - '113.197.102.0/24' - - '113.197.104.0/22' - - '113.200.0.0/15' - - '113.202.0.0/16' - - '113.204.0.0/14' - - '113.208.96.0/19' - - '113.208.128.0/17' - - '113.209.0.0/16' - - '113.212.0.0/18' - - '113.212.100.0/22' - - '113.212.184.0/21' - - '113.213.0.0/17' - - '113.214.0.0/15' - - '113.218.0.0/15' - - '113.220.0.0/14' - - '113.224.0.0/12' - - '113.240.0.0/13' - - '113.248.0.0/14' - - '114.28.0.0/17' - - '114.28.128.0/18' - - '114.28.192.0/19' - - '114.28.232.0/22' - - '114.28.240.0/20' - - '114.31.64.0/21' - - '114.54.0.0/15' - - '114.60.0.0/14' - - '114.64.0.0/14' - - '114.68.0.0/16' - - '114.79.64.0/18' - - '114.80.0.0/12' - - '114.96.0.0/13' - - '114.104.0.0/14' - - '114.110.0.0/20' - - '114.110.64.0/18' - - '114.111.0.0/19' - - '114.111.160.0/19' - - '114.112.4.0/22' - - '114.112.8.0/22' - - '114.112.24.0/21' - - '114.112.32.0/19' - - '114.112.64.0/19' - - '114.112.96.0/20' - - '114.112.116.0/22' - - '114.112.120.0/21' - - '114.112.136.0/21' - - '114.112.144.0/20' - - '114.112.160.0/19' - - '114.112.192.0/19' - - '114.113.0.0/17' - - '114.113.128.0/21' - - '114.113.140.0/22' - - '114.113.144.0/20' - - '114.113.160.0/19' - - '114.113.196.0/22' - - '114.113.200.0/21' - - '114.113.208.0/20' - - '114.113.224.0/20' - - '114.114.0.0/15' - - '114.116.0.0/15' - - '114.118.0.0/16' - - '114.119.0.0/17' - - '114.119.192.0/18' - - '114.132.0.0/16' - - '114.135.0.0/16' - - '114.138.0.0/15' - - '114.141.64.0/21' - - '114.141.80.0/21' - - '114.141.128.0/18' - - '114.196.0.0/15' - - '114.198.248.0/21' - - '114.208.0.0/12' - - '114.224.0.0/11' - - '115.24.0.0/14' - - '115.28.0.0/15' - - '115.31.64.0/20' - - '115.32.0.0/14' - - '115.42.56.0/22' - - '115.44.0.0/14' - - '115.48.0.0/12' - - '115.69.64.0/20' - - '115.84.0.0/18' - - '115.84.192.0/19' - - '115.85.192.0/18' - - '115.100.0.0/14' - - '115.104.0.0/14' - - '115.120.0.0/14' - - '115.124.16.0/20' - - '115.148.0.0/14' - - '115.152.0.0/13' - - '115.166.64.0/19' - - '115.168.0.0/16' - - '115.169.0.0/23' - - '115.169.3.0/24' - - '115.169.6.0/24' - - '115.169.9.0/24' - - '115.169.14.0/23' - - '115.169.16.0/20' - - '115.169.39.0/24' - - '115.169.42.0/23' - - '115.169.44.0/22' - - '115.169.48.0/20' - - '115.169.64.0/18' - - '115.169.128.0/17' - - '115.170.0.0/15' - - '115.172.0.0/14' - - '115.180.0.0/14' - - '115.187.0.0/20' - - '115.190.0.0/15' - - '115.192.0.0/11' - - '115.224.0.0/12' - - '116.0.8.0/21' - - '116.0.24.0/21' - - '116.1.0.0/16' - - '116.2.0.0/15' - - '116.4.0.0/14' - - '116.8.0.0/14' - - '116.13.0.0/16' - - '116.16.0.0/12' - - '116.50.0.0/20' - - '116.52.0.0/14' - - '116.56.0.0/15' - - '116.58.128.0/20' - - '116.58.208.0/20' - - '116.60.0.0/14' - - '116.66.0.0/18' - - '116.66.64.0/19' - - '116.66.96.0/20' - - '116.66.120.0/22' - - '116.68.136.0/21' - - '116.68.176.0/21' - - '116.69.0.0/16' - - '116.70.0.0/17' - - '116.76.0.0/14' - - '116.85.0.0/17' - - '116.85.128.0/18' - - '116.85.192.0/19' - - '116.85.224.0/20' - - '116.85.240.0/21' - - '116.85.248.0/23' - - '116.85.250.0/24' - - '116.85.252.0/22' - - '116.89.144.0/20' - - '116.90.80.0/20' - - '116.90.184.0/21' - - '116.95.0.0/16' - - '116.112.0.0/14' - - '116.116.0.0/15' - - '116.128.0.0/10' - - '116.192.0.0/16' - - '116.193.16.0/20' - - '116.193.32.0/19' - - '116.193.176.0/21' - - '116.194.0.0/15' - - '116.196.0.0/21' - - '116.196.8.0/22' - - '116.196.12.0/23' - - '116.196.16.0/20' - - '116.196.32.0/19' - - '116.196.64.0/18' - - '116.196.128.0/18' - - '116.196.192.0/21' - - '116.196.200.0/23' - - '116.196.203.0/24' - - '116.196.204.0/22' - - '116.196.208.0/20' - - '116.196.224.0/19' - - '116.197.160.0/21' - - '116.197.180.0/23' - - '116.198.0.0/16' - - '116.199.0.0/17' - - '116.199.128.0/19' - - '116.204.0.0/17' - - '116.204.232.0/22' - - '116.205.0.0/16' - - '116.207.0.0/16' - - '116.208.0.0/14' - - '116.212.160.0/20' - - '116.213.64.0/18' - - '116.213.128.0/17' - - '116.214.32.0/19' - - '116.214.64.0/20' - - '116.214.128.0/17' - - '116.215.0.0/16' - - '116.216.0.0/14' - - '116.224.0.0/12' - - '116.242.0.0/15' - - '116.244.0.0/14' - - '116.248.0.0/15' - - '116.252.0.0/15' - - '116.254.104.0/21' - - '116.254.129.0/24' - - '116.254.130.0/23' - - '116.254.132.0/22' - - '116.254.136.0/21' - - '116.254.144.0/20' - - '116.254.160.0/19' - - '116.254.192.0/18' - - '116.255.128.0/17' - - '117.8.0.0/13' - - '117.21.0.0/16' - - '117.22.0.0/15' - - '117.24.0.0/13' - - '117.32.0.0/13' - - '117.40.0.0/14' - - '117.44.0.0/15' - - '117.48.0.0/15' - - '117.50.0.0/16' - - '117.51.128.0/23' - - '117.51.131.0/24' - - '117.51.132.0/22' - - '117.51.136.0/21' - - '117.51.144.0/20' - - '117.51.160.0/19' - - '117.51.192.0/18' - - '117.53.48.0/20' - - '117.53.176.0/20' - - '117.57.0.0/16' - - '117.58.0.0/18' - - '117.59.0.0/16' - - '117.60.0.0/14' - - '117.64.0.0/13' - - '117.72.0.0/15' - - '117.74.64.0/19' - - '117.74.128.0/17' - - '117.75.0.0/16' - - '117.76.0.0/14' - - '117.80.0.0/12' - - '117.100.0.0/15' - - '117.103.16.0/20' - - '117.103.40.0/21' - - '117.103.72.0/21' - - '117.103.128.0/20' - - '117.104.168.0/21' - - '117.106.0.0/15' - - '117.112.0.0/13' - - '117.120.64.0/18' - - '117.120.128.0/17' - - '117.121.0.0/19' - - '117.121.32.0/21' - - '117.121.40.0/22' - - '117.121.44.0/23' - - '117.121.46.0/24' - - '117.121.48.0/20' - - '117.121.64.0/18' - - '117.121.128.0/20' - - '117.121.148.0/22' - - '117.121.152.0/21' - - '117.121.160.0/19' - - '117.121.192.0/21' - - '117.122.128.0/17' - - '117.124.0.0/14' - - '117.128.0.0/10' - - '118.24.0.0/15' - - '118.26.0.0/19' - - '118.26.40.0/21' - - '118.26.48.0/20' - - '118.26.64.0/19' - - '118.26.112.0/21' - - '118.26.121.0/24' - - '118.26.122.0/23' - - '118.26.124.0/23' - - '118.26.128.0/17' - - '118.28.0.0/15' - - '118.30.0.0/20' - - '118.30.16.0/21' - - '118.30.24.0/22' - - '118.30.32.0/19' - - '118.30.64.0/18' - - '118.30.128.0/17' - - '118.31.0.0/16' - - '118.64.0.0/15' - - '118.66.0.0/16' - - '118.67.112.0/20' - - '118.72.0.0/13' - - '118.80.0.0/15' - - '118.84.0.0/15' - - '118.88.32.0/19' - - '118.88.64.0/18' - - '118.88.128.0/17' - - '118.89.0.0/16' - - '118.102.16.0/20' - - '118.102.32.0/21' - - '118.103.164.0/22' - - '118.103.168.0/21' - - '118.103.176.0/22' - - '118.103.245.0/24' - - '118.103.246.0/23' - - '118.112.0.0/13' - - '118.120.0.0/14' - - '118.124.0.0/15' - - '118.126.1.0/24' - - '118.126.2.0/23' - - '118.126.4.0/22' - - '118.126.8.0/21' - - '118.126.16.0/23' - - '118.126.18.0/24' - - '118.126.32.0/19' - - '118.126.64.0/18' - - '118.126.128.0/17' - - '118.127.128.0/19' - - '118.132.0.0/14' - - '118.144.0.0/14' - - '118.178.0.0/16' - - '118.180.0.0/14' - - '118.184.5.0/24' - - '118.184.109.0/24' - - '118.184.110.0/23' - - '118.184.116.0/22' - - '118.184.120.0/23' - - '118.184.122.0/24' - - '118.184.128.0/18' - - '118.184.192.0/19' - - '118.184.240.0/20' - - '118.186.0.0/15' - - '118.188.0.0/16' - - '118.190.0.0/16' - - '118.191.0.0/20' - - '118.191.32.0/19' - - '118.191.64.0/18' - - '118.191.144.0/21' - - '118.191.153.0/24' - - '118.191.154.0/23' - - '118.191.156.0/22' - - '118.191.160.0/19' - - '118.191.192.0/20' - - '118.191.209.0/24' - - '118.191.210.0/23' - - '118.191.212.0/22' - - '118.191.248.0/21' - - '118.192.0.0/16' - - '118.193.0.0/22' - - '118.193.96.0/19' - - '118.194.0.0/17' - - '118.194.128.0/18' - - '118.194.192.0/19' - - '118.194.232.0/21' - - '118.194.240.0/20' - - '118.195.0.0/16' - - '118.196.0.0/14' - - '118.202.0.0/15' - - '118.204.0.0/14' - - '118.212.0.0/15' - - '118.215.192.0/18' - - '118.224.0.0/14' - - '118.228.0.0/17' - - '118.228.128.0/20' - - '118.228.144.0/21' - - '118.228.156.0/22' - - '118.228.160.0/19' - - '118.228.192.0/18' - - '118.229.0.0/16' - - '118.230.0.0/16' - - '118.239.0.0/16' - - '118.242.0.0/16' - - '118.244.0.0/14' - - '118.248.0.0/13' - - '119.0.0.0/15' - - '119.2.0.0/19' - - '119.2.128.0/17' - - '119.3.0.0/16' - - '119.4.0.0/14' - - '119.10.0.0/17' - - '119.15.136.0/21' - - '119.16.0.0/16' - - '119.18.192.0/20' - - '119.18.208.0/21' - - '119.18.224.0/19' - - '119.19.0.0/16' - - '119.20.0.0/14' - - '119.27.64.0/18' - - '119.27.128.0/17' - - '119.28.28.0/24' - - '119.29.0.0/16' - - '119.30.48.0/20' - - '119.31.192.0/19' - - '119.32.0.0/14' - - '119.36.0.0/15' - - '119.38.0.0/17' - - '119.38.128.0/18' - - '119.38.192.0/20' - - '119.38.208.0/22' - - '119.38.212.0/23' - - '119.38.214.0/27' - - '119.38.214.56/29' - - '119.38.214.64/26' - - '119.38.214.128/25' - - '119.38.215.0/24' - - '119.38.216.0/21' - - '119.39.0.0/16' - - '119.40.0.0/18' - - '119.40.64.0/20' - - '119.40.128.0/17' - - '119.41.0.0/16' - - '119.42.0.0/19' - - '119.42.52.0/22' - - '119.42.128.0/20' - - '119.42.224.0/19' - - '119.44.0.0/15' - - '119.48.0.0/13' - - '119.57.0.0/16' - - '119.58.0.0/16' - - '119.59.128.0/17' - - '119.60.0.0/15' - - '119.62.0.0/16' - - '119.63.32.0/19' - - '119.75.208.0/20' - - '119.78.0.0/15' - - '119.80.0.0/16' - - '119.82.208.0/20' - - '119.84.0.0/14' - - '119.88.0.0/16' - - '119.89.0.0/17' - - '119.89.128.0/21' - - '119.89.136.0/23' - - '119.89.139.0/24' - - '119.89.140.0/22' - - '119.89.144.0/20' - - '119.89.160.0/20' - - '119.89.176.0/22' - - '119.89.180.0/23' - - '119.89.183.0/24' - - '119.89.184.0/21' - - '119.89.192.0/23' - - '119.89.194.0/24' - - '119.89.196.0/22' - - '119.89.200.0/21' - - '119.89.208.0/21' - - '119.89.217.0/24' - - '119.89.218.0/23' - - '119.89.220.0/22' - - '119.89.224.0/19' - - '119.90.0.0/15' - - '119.96.0.0/13' - - '119.108.0.0/15' - - '119.112.0.0/12' - - '119.128.0.0/12' - - '119.144.0.0/14' - - '119.148.160.0/19' - - '119.151.192.0/18' - - '119.160.200.0/21' - - '119.161.120.0/21' - - '119.161.128.0/21' - - '119.161.160.0/19' - - '119.161.192.0/18' - - '119.162.0.0/15' - - '119.164.0.0/14' - - '119.176.0.0/12' - - '119.232.0.0/15' - - '119.235.128.0/19' - - '119.235.160.0/20' - - '119.235.184.0/22' - - '119.248.0.0/14' - - '119.252.96.0/21' - - '119.252.240.0/21' - - '119.252.249.0/24' - - '119.252.252.0/23' - - '119.253.0.0/16' - - '119.254.0.0/15' - - '120.0.0.0/12' - - '120.24.0.0/14' - - '120.30.0.0/15' - - '120.32.0.0/13' - - '120.40.0.0/14' - - '120.44.0.0/15' - - '120.46.0.0/16' - - '120.48.0.0/15' - - '120.52.0.0/14' - - '120.64.0.0/13' - - '120.72.32.0/19' - - '120.72.128.0/17' - - '120.76.0.0/14' - - '120.80.0.0/13' - - '120.88.8.0/21' - - '120.90.0.0/15' - - '120.92.0.0/17' - - '120.92.128.0/18' - - '120.92.192.0/22' - - '120.92.198.0/23' - - '120.92.200.0/21' - - '120.92.208.0/20' - - '120.92.224.0/19' - - '120.94.0.0/15' - - '120.128.0.0/13' - - '120.136.16.0/21' - - '120.136.128.0/18' - - '120.137.0.0/17' - - '120.143.128.0/19' - - '120.192.0.0/10' - - '121.0.8.0/21' - - '121.0.16.0/20' - - '121.4.0.0/15' - - '121.8.0.0/13' - - '121.16.0.0/12' - - '121.32.0.0/13' - - '121.40.0.0/14' - - '121.46.0.0/18' - - '121.46.76.0/22' - - '121.46.128.0/17' - - '121.47.0.0/16' - - '121.48.0.0/15' - - '121.50.8.0/21' - - '121.51.0.0/16' - - '121.52.160.0/19' - - '121.52.208.0/20' - - '121.52.224.0/19' - - '121.54.176.0/21' - - '121.55.0.0/18' - - '121.56.0.0/15' - - '121.58.0.0/17' - - '121.58.136.0/21' - - '121.58.144.0/20' - - '121.58.160.0/21' - - '121.59.0.0/20' - - '121.59.16.0/21' - - '121.59.24.0/22' - - '121.59.28.0/24' - - '121.59.31.0/24' - - '121.59.33.0/24' - - '121.59.35.0/24' - - '121.59.36.0/22' - - '121.59.40.0/21' - - '121.59.48.0/20' - - '121.59.64.0/18' - - '121.59.128.0/17' - - '121.60.0.0/14' - - '121.68.0.0/14' - - '121.76.0.0/15' - - '121.79.128.0/18' - - '121.89.0.0/16' - - '121.100.128.0/17' - - '121.101.0.0/18' - - '121.101.208.0/20' - - '121.192.0.0/13' - - '121.200.192.0/23' - - '121.200.194.0/24' - - '121.200.196.0/22' - - '121.201.0.0/16' - - '121.204.0.0/14' - - '121.224.0.0/12' - - '121.248.0.0/14' - - '121.255.0.0/16' - - '122.0.64.0/18' - - '122.0.128.0/17' - - '122.4.0.0/14' - - '122.9.0.0/16' - - '122.10.132.0/23' - - '122.10.136.0/23' - - '122.10.216.0/22' - - '122.10.228.0/22' - - '122.10.232.0/21' - - '122.10.240.0/22' - - '122.11.0.0/17' - - '122.12.0.0/15' - - '122.14.0.0/17' - - '122.14.192.0/18' - - '122.48.0.0/16' - - '122.49.0.0/18' - - '122.51.0.0/16' - - '122.64.0.0/14' - - '122.68.0.0/15' - - '122.70.0.0/18' - - '122.70.64.0/19' - - '122.70.96.0/20' - - '122.70.112.0/21' - - '122.70.120.0/22' - - '122.70.124.0/23' - - '122.70.126.0/24' - - '122.70.128.0/17' - - '122.71.0.0/16' - - '122.72.0.0/13' - - '122.80.0.0/12' - - '122.96.0.0/15' - - '122.98.144.0/20' - - '122.98.160.0/21' - - '122.98.172.0/22' - - '122.98.176.0/20' - - '122.98.192.0/21' - - '122.98.232.0/21' - - '122.98.240.0/20' - - '122.102.0.0/20' - - '122.102.64.0/19' - - '122.112.0.0/18' - - '122.112.64.0/19' - - '122.112.96.0/22' - - '122.112.118.0/24' - - '122.112.122.0/24' - - '122.112.125.0/24' - - '122.112.128.0/17' - - '122.113.0.0/16' - - '122.114.0.0/16' - - '122.115.0.0/18' - - '122.115.80.0/20' - - '122.115.96.0/19' - - '122.115.128.0/17' - - '122.119.0.0/16' - - '122.128.100.0/22' - - '122.128.120.0/21' - - '122.136.0.0/13' - - '122.144.128.0/17' - - '122.152.192.0/18' - - '122.156.0.0/14' - - '122.188.0.0/14' - - '122.192.0.0/14' - - '122.198.0.0/16' - - '122.200.40.0/21' - - '122.200.64.0/18' - - '122.201.48.0/20' - - '122.204.0.0/14' - - '122.224.0.0/12' - - '122.240.0.0/13' - - '122.248.24.0/21' - - '122.248.48.0/20' - - '122.255.64.0/21' - - '123.0.128.0/21' - - '123.0.136.0/23' - - '123.0.139.0/24' - - '123.0.140.0/22' - - '123.0.144.0/20' - - '123.0.160.0/19' - - '123.4.0.0/14' - - '123.8.0.0/13' - - '123.49.130.0/23' - - '123.49.132.0/22' - - '123.49.136.0/22' - - '123.49.152.0/21' - - '123.49.160.0/19' - - '123.49.192.0/18' - - '123.50.160.0/19' - - '123.52.0.0/14' - - '123.56.0.0/15' - - '123.58.0.0/18' - - '123.58.64.0/20' - - '123.58.80.0/21' - - '123.58.88.0/22' - - '123.58.96.0/19' - - '123.58.128.0/18' - - '123.58.224.0/19' - - '123.59.0.0/16' - - '123.61.0.0/16' - - '123.62.0.0/16' - - '123.64.0.0/11' - - '123.96.0.0/15' - - '123.98.0.0/17' - - '123.99.128.0/17' - - '123.100.0.0/19' - - '123.100.232.0/24' - - '123.101.0.0/16' - - '123.103.0.0/20' - - '123.103.16.0/21' - - '123.103.24.0/22' - - '123.103.28.0/23' - - '123.103.30.0/24' - - '123.103.32.0/19' - - '123.103.64.0/18' - - '123.108.134.0/24' - - '123.108.138.0/23' - - '123.108.140.0/24' - - '123.108.142.0/24' - - '123.108.208.0/20' - - '123.112.0.0/12' - - '123.128.0.0/13' - - '123.137.0.0/16' - - '123.138.0.0/15' - - '123.144.0.0/12' - - '123.160.0.0/12' - - '123.176.60.0/22' - - '123.176.80.0/20' - - '123.177.0.0/16' - - '123.178.0.0/15' - - '123.180.0.0/14' - - '123.184.0.0/13' - - '123.196.0.0/15' - - '123.199.128.0/17' - - '123.206.0.0/15' - - '123.232.0.0/14' - - '123.242.0.0/17' - - '123.242.192.0/21' - - '123.244.0.0/14' - - '123.249.0.0/16' - - '123.253.240.0/22' - - '123.254.96.0/21' - - '124.6.64.0/18' - - '124.14.0.0/15' - - '124.16.0.0/15' - - '124.20.0.0/14' - - '124.28.192.0/18' - - '124.29.0.0/17' - - '124.31.0.0/16' - - '124.40.112.0/20' - - '124.40.128.0/18' - - '124.40.192.0/19' - - '124.40.240.0/22' - - '124.42.0.0/16' - - '124.47.0.0/18' - - '124.64.0.0/15' - - '124.66.0.0/17' - - '124.67.0.0/16' - - '124.68.0.0/19' - - '124.68.32.0/20' - - '124.68.48.0/21' - - '124.68.56.0/22' - - '124.68.60.0/23' - - '124.68.63.0/24' - - '124.68.64.0/18' - - '124.68.128.0/18' - - '124.68.192.0/19' - - '124.68.224.0/23' - - '124.68.226.0/24' - - '124.68.228.0/22' - - '124.68.232.0/21' - - '124.68.240.0/23' - - '124.68.242.0/24' - - '124.68.244.0/23' - - '124.68.254.0/23' - - '124.69.0.0/16' - - '124.70.0.0/15' - - '124.72.0.0/13' - - '124.88.0.0/13' - - '124.108.8.0/21' - - '124.108.40.0/21' - - '124.109.96.0/21' - - '124.112.0.0/14' - - '124.116.0.0/15' - - '124.118.0.0/16' - - '124.119.0.0/17' - - '124.119.128.0/18' - - '124.119.192.0/19' - - '124.119.224.0/20' - - '124.119.240.0/22' - - '124.119.244.0/23' - - '124.119.246.0/25' - - '124.119.246.128/26' - - '124.119.246.192/27' - - '124.119.246.224/28' - - '124.119.246.240/29' - - '124.119.246.248/30' - - '124.119.246.254/31' - - '124.119.247.0/24' - - '124.119.248.0/21' - - '124.126.0.0/15' - - '124.128.0.0/13' - - '124.147.128.0/17' - - '124.150.137.0/24' - - '124.151.0.0/16' - - '124.152.0.0/16' - - '124.160.0.0/13' - - '124.172.0.0/16' - - '124.173.32.0/19' - - '124.173.64.0/18' - - '124.173.128.0/17' - - '124.174.0.0/15' - - '124.192.0.0/15' - - '124.196.0.0/16' - - '124.200.0.0/13' - - '124.220.0.0/14' - - '124.224.0.0/12' - - '124.240.0.0/17' - - '124.240.128.0/18' - - '124.242.0.0/16' - - '124.243.192.0/18' - - '124.248.0.0/17' - - '124.249.0.0/16' - - '124.250.0.0/15' - - '124.254.0.0/18' - - '125.31.192.0/18' - - '125.32.0.0/12' - - '125.58.128.0/17' - - '125.61.128.0/17' - - '125.62.0.0/18' - - '125.64.0.0/11' - - '125.96.0.0/15' - - '125.98.0.0/16' - - '125.104.0.0/13' - - '125.112.0.0/12' - - '125.169.0.0/16' - - '125.171.0.0/16' - - '125.208.0.0/19' - - '125.208.37.0/24' - - '125.208.40.0/24' - - '125.208.45.0/24' - - '125.208.46.0/23' - - '125.208.48.0/20' - - '125.210.0.0/15' - - '125.213.0.0/17' - - '125.214.96.0/19' - - '125.215.0.0/18' - - '125.216.0.0/13' - - '125.254.128.0/17' - - '128.108.0.0/16' - - '129.28.0.0/16' - - '129.204.0.0/16' - - '129.211.0.0/16' - - '129.223.254.0/24' - - '130.36.146.0/23' - - '130.214.218.0/23' - - '131.228.96.0/24' - - '131.253.12.0/29' - - '131.253.12.80/28' - - '131.253.12.240/29' - - '132.232.0.0/16' - - '132.237.134.0/24' - - '134.175.0.0/16' - - '135.84.247.0/24' - - '135.84.254.0/23' - - '135.159.208.0/20' - - '135.244.80.0/20' - - '137.59.59.0/24' - - '137.59.88.0/22' - - '138.32.244.0/24' - - '139.5.56.0/21' - - '139.5.80.0/22' - - '139.5.92.0/22' - - '139.5.128.0/22' - - '139.5.160.0/22' - - '139.5.192.0/22' - - '139.5.204.0/22' - - '139.5.244.0/22' - - '139.9.0.0/16' - - '139.129.0.0/16' - - '139.138.238.0/28' - - '139.148.0.0/16' - - '139.155.0.0/16' - - '139.159.0.0/19' - - '139.159.32.0/21' - - '139.159.40.0/22' - - '139.159.52.0/22' - - '139.159.56.0/21' - - '139.159.64.0/19' - - '139.159.96.0/20' - - '139.159.112.0/22' - - '139.159.116.0/23' - - '139.159.120.0/21' - - '139.159.128.0/17' - - '139.170.0.0/16' - - '139.176.0.0/16' - - '139.183.0.0/16' - - '139.186.0.0/16' - - '139.189.0.0/16' - - '139.196.0.0/15' - - '139.198.0.0/21' - - '139.198.8.0/23' - - '139.198.11.0/24' - - '139.198.12.0/22' - - '139.198.16.0/20' - - '139.198.32.0/19' - - '139.198.66.0/23' - - '139.198.68.0/22' - - '139.198.72.0/21' - - '139.198.80.0/20' - - '139.198.96.0/20' - - '139.198.116.0/22' - - '139.198.122.0/23' - - '139.198.124.0/22' - - '139.198.128.0/17' - - '139.199.0.0/16' - - '139.200.0.0/13' - - '139.208.0.0/13' - - '139.217.0.0/16' - - '139.219.0.0/16' - - '139.220.0.0/17' - - '139.220.128.0/18' - - '139.220.192.0/22' - - '139.220.196.0/23' - - '139.220.200.0/21' - - '139.220.208.0/23' - - '139.220.212.0/22' - - '139.220.216.0/21' - - '139.220.224.0/19' - - '139.221.0.0/16' - - '139.224.0.0/16' - - '139.226.0.0/15' - - '140.75.0.0/16' - - '140.101.208.0/24' - - '140.143.0.0/16' - - '140.179.0.0/16' - - '140.205.0.0/16' - - '140.206.0.0/15' - - '140.210.0.0/16' - - '140.224.0.0/16' - - '140.237.0.0/16' - - '140.240.0.0/16' - - '140.242.223.0/24' - - '140.242.224.0/24' - - '140.243.0.0/16' - - '140.246.0.0/16' - - '140.249.0.0/16' - - '140.250.0.0/16' - - '140.255.0.0/16' - - '142.70.0.0/16' - - '142.86.0.0/16' - - '144.0.0.0/16' - - '144.7.0.0/16' - - '144.12.0.0/16' - - '144.36.146.0/23' - - '144.48.64.0/22' - - '144.48.88.0/22' - - '144.48.156.0/22' - - '144.48.180.0/22' - - '144.48.184.0/22' - - '144.48.204.0/22' - - '144.48.208.0/21' - - '144.52.0.0/16' - - '144.123.0.0/16' - - '144.211.80.0/24' - - '144.211.138.0/24' - - '144.255.0.0/16' - - '146.56.192.0/18' - - '146.88.175.0/24' - - '146.196.56.0/22' - - '146.196.68.0/22' - - '146.196.92.0/22' - - '146.196.112.0/21' - - '146.196.124.0/22' - - '146.217.137.0/24' - - '146.222.79.0/24' - - '146.222.81.0/24' - - '146.222.94.0/24' - - '147.243.13.32/27' - - '147.243.13.64/27' - - '147.243.14.32/27' - - '148.70.0.0/16' - - '150.0.0.0/16' - - '150.115.0.0/16' - - '150.121.0.0/16' - - '150.122.0.0/16' - - '150.129.136.0/22' - - '150.129.192.0/22' - - '150.129.252.0/22' - - '150.138.0.0/15' - - '150.158.0.0/16' - - '150.222.88.0/23' - - '150.223.0.0/16' - - '150.242.0.0/21' - - '150.242.8.0/22' - - '150.242.28.0/22' - - '150.242.44.0/22' - - '150.242.48.0/21' - - '150.242.56.0/22' - - '150.242.76.0/22' - - '150.242.80.0/22' - - '150.242.92.0/22' - - '150.242.96.0/22' - - '150.242.112.0/21' - - '150.242.120.0/22' - - '150.242.152.0/22' - - '150.242.158.0/24' - - '150.242.160.0/21' - - '150.242.168.0/22' - - '150.242.184.0/21' - - '150.242.192.0/22' - - '150.242.224.0/22' - - '150.242.232.0/21' - - '150.242.240.0/21' - - '150.242.248.0/22' - - '150.248.0.0/16' - - '150.255.0.0/16' - - '152.32.178.0/23' - - '152.104.128.0/17' - - '152.136.0.0/16' - - '153.0.0.0/16' - - '153.3.0.0/16' - - '153.34.0.0/15' - - '153.36.0.0/15' - - '153.99.0.0/16' - - '153.101.0.0/16' - - '153.118.0.0/15' - - '154.8.128.0/17' - - '155.126.176.0/23' - - '156.107.160.0/24' - - '156.107.170.0/24' - - '156.107.179.0/24' - - '156.107.181.0/24' - - '156.154.62.0/23' - - '157.0.0.0/16' - - '157.18.0.0/16' - - '157.61.0.0/16' - - '157.119.8.0/21' - - '157.119.16.0/22' - - '157.119.28.0/22' - - '157.119.132.0/22' - - '157.119.136.0/21' - - '157.119.144.0/20' - - '157.119.160.0/21' - - '157.119.172.0/22' - - '157.119.192.0/21' - - '157.119.240.0/22' - - '157.119.252.0/22' - - '157.122.0.0/16' - - '157.133.186.0/23' - - '157.133.192.0/21' - - '157.133.212.0/24' - - '157.133.236.0/24' - - '157.148.0.0/16' - - '157.156.0.0/16' - - '157.255.0.0/16' - - '158.79.0.0/24' - - '158.79.2.0/23' - - '158.79.4.0/22' - - '158.79.8.0/21' - - '158.79.16.0/20' - - '158.79.32.0/19' - - '158.79.64.0/18' - - '158.79.128.0/17' - - '159.75.0.0/16' - - '159.221.232.0/22' - - '159.226.0.0/16' - - '160.19.212.0/22' - - '160.19.216.0/22' - - '160.20.48.0/22' - - '160.62.10.0/24' - - '160.83.109.0/24' - - '160.83.110.0/23' - - '160.202.60.0/23' - - '160.202.62.0/24' - - '160.202.148.0/22' - - '160.202.152.0/22' - - '160.202.212.0/22' - - '160.202.216.0/21' - - '160.202.224.0/19' - - '160.238.64.0/22' - - '161.120.0.0/16' - - '161.163.0.0/21' - - '161.163.28.0/23' - - '161.163.176.0/24' - - '161.163.178.0/23' - - '161.163.180.0/22' - - '161.189.0.0/16' - - '161.207.0.0/16' - - '162.14.0.0/21' - - '162.14.12.0/22' - - '162.14.16.0/21' - - '162.14.26.0/23' - - '162.14.28.0/22' - - '162.14.32.0/19' - - '162.14.64.0/18' - - '162.14.128.0/17' - - '162.105.0.0/16' - - '163.0.0.0/16' - - '163.47.4.0/22' - - '163.53.0.0/20' - - '163.53.36.0/22' - - '163.53.40.0/22' - - '163.53.48.0/20' - - '163.53.64.0/22' - - '163.53.88.0/21' - - '163.53.96.0/19' - - '163.53.128.0/21' - - '163.53.136.0/22' - - '163.53.160.0/20' - - '163.53.188.0/22' - - '163.53.220.0/22' - - '163.53.240.0/22' - - '163.116.202.0/23' - - '163.125.0.0/16' - - '163.142.0.0/16' - - '163.177.0.0/16' - - '163.179.0.0/16' - - '163.204.0.0/16' - - '163.244.246.0/24' - - '164.52.80.0/24' - - '165.84.197.0/24' - - '165.84.251.0/25' - - '165.84.251.128/26' - - '165.84.251.192/27' - - '165.84.251.224/28' - - '165.84.251.240/29' - - '165.84.251.248/30' - - '165.84.251.253/32' - - '165.84.251.254/31' - - '165.156.30.0/24' - - '165.254.82.27/32' - - '166.111.0.0/16' - - '167.139.0.0/16' - - '167.189.0.0/16' - - '167.220.244.0/22' - - '168.159.144.0/21' - - '168.159.152.0/22' - - '168.159.156.0/23' - - '168.159.158.0/24' - - '168.160.0.0/16' - - '168.230.0.0/24' - - '170.179.0.0/16' - - '170.225.224.0/23' - - '170.252.152.0/21' - - '171.8.0.0/13' - - '171.34.0.0/15' - - '171.36.0.0/14' - - '171.40.0.0/13' - - '171.80.0.0/12' - - '171.104.0.0/13' - - '171.112.0.0/12' - - '171.208.0.0/12' - - '172.81.192.0/18' - - '173.39.200.0/23' - - '175.0.0.0/12' - - '175.16.0.0/13' - - '175.24.0.0/14' - - '175.30.0.0/15' - - '175.42.0.0/15' - - '175.44.0.0/16' - - '175.46.0.0/15' - - '175.48.0.0/12' - - '175.64.0.0/11' - - '175.102.0.0/16' - - '175.106.128.0/17' - - '175.111.144.0/20' - - '175.111.160.0/20' - - '175.111.184.0/22' - - '175.146.0.0/15' - - '175.148.0.0/14' - - '175.152.0.0/14' - - '175.158.96.0/22' - - '175.160.0.0/12' - - '175.176.156.0/22' - - '175.176.188.0/22' - - '175.178.0.0/16' - - '175.184.128.0/18' - - '175.185.0.0/16' - - '175.186.0.0/15' - - '175.188.0.0/14' - - '180.76.16.0/20' - - '180.76.32.0/19' - - '180.76.64.0/18' - - '180.76.128.0/18' - - '180.76.192.0/19' - - '180.76.224.0/20' - - '180.76.240.0/24' - - '180.76.242.0/23' - - '180.76.244.0/22' - - '180.76.248.0/22' - - '180.76.252.0/23' - - '180.76.255.0/24' - - '180.77.0.0/16' - - '180.78.0.0/15' - - '180.84.0.0/15' - - '180.86.0.0/16' - - '180.87.93.98/32' - - '180.88.0.0/14' - - '180.94.56.0/21' - - '180.94.96.0/20' - - '180.94.120.0/21' - - '180.95.128.0/17' - - '180.96.0.0/11' - - '180.129.128.0/17' - - '180.130.0.0/16' - - '180.136.0.0/13' - - '180.148.16.0/21' - - '180.148.152.0/21' - - '180.148.216.0/21' - - '180.148.224.0/19' - - '180.149.128.0/19' - - '180.150.160.0/21' - - '180.150.176.0/20' - - '180.152.0.0/13' - - '180.160.0.0/12' - - '180.178.112.0/21' - - '180.178.192.0/18' - - '180.184.0.0/14' - - '180.188.0.0/17' - - '180.189.148.0/22' - - '180.200.252.0/22' - - '180.201.0.0/16' - - '180.202.0.0/15' - - '180.208.0.0/15' - - '180.210.212.0/22' - - '180.210.233.0/24' - - '180.210.236.0/22' - - '180.212.0.0/15' - - '180.222.224.0/19' - - '180.223.0.0/18' - - '180.223.80.0/20' - - '180.223.96.0/19' - - '180.223.129.0/24' - - '180.223.130.0/23' - - '180.223.132.0/22' - - '180.223.136.0/21' - - '180.223.144.0/20' - - '180.223.160.0/19' - - '180.223.192.0/18' - - '180.233.0.0/18' - - '180.233.64.0/19' - - '180.233.144.0/22' - - '180.235.64.0/19' - - '180.235.112.0/22' - - '182.16.144.0/21' - - '182.16.192.0/19' - - '182.18.0.0/17' - - '182.23.184.0/21' - - '182.23.200.0/21' - - '182.32.0.0/12' - - '182.48.96.0/19' - - '182.49.0.0/16' - - '182.50.0.0/22' - - '182.50.8.0/21' - - '182.50.112.0/20' - - '182.51.0.0/16' - - '182.54.0.0/17' - - '182.61.0.0/18' - - '182.61.128.0/19' - - '182.61.192.0/18' - - '182.80.0.0/13' - - '182.88.0.0/14' - - '182.92.0.0/16' - - '182.96.0.0/11' - - '182.128.0.0/12' - - '182.144.0.0/13' - - '182.157.0.0/16' - - '182.160.64.0/19' - - '182.174.0.0/15' - - '182.200.0.0/13' - - '182.236.128.0/17' - - '182.237.24.0/21' - - '182.238.0.0/16' - - '182.239.0.0/19' - - '182.240.0.0/13' - - '182.254.0.0/18' - - '182.254.64.0/19' - - '182.254.96.0/20' - - '182.254.112.0/22' - - '182.254.117.0/24' - - '182.254.119.0/24' - - '182.254.120.0/21' - - '182.254.128.0/17' - - '183.0.0.0/10' - - '183.64.0.0/13' - - '183.78.160.0/21' - - '183.78.180.0/22' - - '183.81.180.0/22' - - '183.84.0.0/15' - - '183.91.128.0/22' - - '183.91.136.0/21' - - '183.91.144.0/20' - - '183.92.0.0/14' - - '183.128.0.0/11' - - '183.160.0.0/13' - - '183.168.0.0/15' - - '183.170.0.0/16' - - '183.172.0.0/14' - - '183.184.0.0/13' - - '183.192.0.0/10' - - '185.109.236.0/24' - - '185.216.118.0/26' - - '185.216.118.64/27' - - '185.216.118.112/28' - - '185.216.118.128/25' - - '188.131.128.0/17' - - '192.11.23.0/24' - - '192.11.26.0/24' - - '192.11.39.0/24' - - '192.11.236.0/24' - - '192.23.191.0/24' - - '192.55.10.0/23' - - '192.55.40.0/24' - - '192.55.46.0/24' - - '192.55.68.0/22' - - '192.102.204.0/22' - - '192.124.154.0/24' - - '192.137.31.0/24' - - '192.140.128.0/21' - - '192.140.136.0/22' - - '192.140.156.0/22' - - '192.140.160.0/19' - - '192.140.192.0/20' - - '192.140.208.0/21' - - '192.144.128.0/17' - - '192.163.11.0/24' - - '192.232.97.0/24' - - '193.17.120.0/22' - - '193.20.64.0/22' - - '193.112.0.0/16' - - '193.200.196.0/24' - - '193.200.222.160/28' - - '194.138.136.0/24' - - '194.138.202.0/23' - - '194.138.245.0/24' - - '195.142.215.0/24' - - '198.175.100.0/22' - - '198.208.17.0/24' - - '198.208.19.0/24' - - '199.7.72.0/24' - - '199.65.192.0/21' - - '199.244.144.0/24' - - '202.0.100.0/23' - - '202.0.122.0/23' - - '202.1.105.0/24' - - '202.1.106.0/24' - - '202.3.128.0/23' - - '202.4.128.0/19' - - '202.4.252.0/22' - - '202.5.208.0/21' - - '202.5.216.0/22' - - '202.6.6.0/23' - - '202.6.66.0/23' - - '202.6.72.0/23' - - '202.6.87.0/24' - - '202.6.88.0/23' - - '202.6.92.0/23' - - '202.6.103.0/24' - - '202.6.108.0/24' - - '202.6.110.0/23' - - '202.6.114.0/24' - - '202.6.176.0/20' - - '202.8.0.0/24' - - '202.8.2.0/23' - - '202.8.4.0/23' - - '202.8.12.0/24' - - '202.8.24.0/24' - - '202.8.77.0/24' - - '202.8.128.0/19' - - '202.8.192.0/20' - - '202.9.32.0/24' - - '202.9.34.0/23' - - '202.9.48.0/23' - - '202.9.51.0/24' - - '202.9.52.0/23' - - '202.9.54.0/24' - - '202.9.57.0/24' - - '202.9.58.0/23' - - '202.10.64.0/21' - - '202.10.74.0/23' - - '202.10.76.0/22' - - '202.10.112.0/20' - - '202.12.1.0/24' - - '202.12.2.0/24' - - '202.12.17.0/24' - - '202.12.18.0/23' - - '202.12.72.0/24' - - '202.12.84.0/23' - - '202.12.96.0/24' - - '202.12.98.0/23' - - '202.12.106.0/24' - - '202.12.111.0/24' - - '202.12.116.0/24' - - '202.14.64.0/23' - - '202.14.69.0/24' - - '202.14.73.0/24' - - '202.14.74.0/23' - - '202.14.76.0/24' - - '202.14.78.0/23' - - '202.14.88.0/24' - - '202.14.97.0/24' - - '202.14.104.0/23' - - '202.14.108.0/23' - - '202.14.111.0/24' - - '202.14.114.0/23' - - '202.14.118.0/23' - - '202.14.124.0/23' - - '202.14.127.0/24' - - '202.14.129.0/24' - - '202.14.135.0/24' - - '202.14.136.0/24' - - '202.14.149.0/24' - - '202.14.151.0/24' - - '202.14.157.0/24' - - '202.14.158.0/23' - - '202.14.169.0/24' - - '202.14.170.0/23' - - '202.14.172.0/22' - - '202.14.176.0/24' - - '202.14.184.0/23' - - '202.14.208.0/23' - - '202.14.213.0/24' - - '202.14.219.0/24' - - '202.14.220.0/24' - - '202.14.222.0/23' - - '202.14.225.0/24' - - '202.14.226.0/23' - - '202.14.231.0/24' - - '202.14.235.0/24' - - '202.14.236.0/22' - - '202.14.246.0/24' - - '202.14.251.0/24' - - '202.20.66.0/24' - - '202.20.79.0/24' - - '202.20.87.0/24' - - '202.20.88.0/23' - - '202.20.90.0/24' - - '202.20.94.0/23' - - '202.20.114.0/24' - - '202.20.117.0/24' - - '202.20.120.0/24' - - '202.20.125.0/24' - - '202.20.126.0/23' - - '202.21.48.0/20' - - '202.21.131.0/24' - - '202.21.132.0/24' - - '202.21.141.0/24' - - '202.21.142.0/24' - - '202.21.147.0/24' - - '202.21.148.0/24' - - '202.21.150.0/23' - - '202.21.152.0/23' - - '202.21.154.0/24' - - '202.21.156.0/24' - - '202.21.208.0/24' - - '202.22.248.0/21' - - '202.27.12.0/24' - - '202.27.14.0/24' - - '202.27.136.0/23' - - '202.36.226.0/24' - - '202.38.0.0/22' - - '202.38.8.0/21' - - '202.38.48.0/20' - - '202.38.64.0/18' - - '202.38.128.0/21' - - '202.38.136.0/23' - - '202.38.138.0/24' - - '202.38.140.0/22' - - '202.38.146.0/23' - - '202.38.149.0/24' - - '202.38.150.0/23' - - '202.38.152.0/22' - - '202.38.156.0/24' - - '202.38.158.0/23' - - '202.38.160.0/23' - - '202.38.164.0/22' - - '202.38.168.0/22' - - '202.38.176.0/23' - - '202.38.184.0/21' - - '202.38.192.0/18' - - '202.40.4.0/23' - - '202.40.7.0/24' - - '202.40.15.0/24' - - '202.40.135.0/24' - - '202.40.136.0/24' - - '202.40.140.0/24' - - '202.40.143.0/24' - - '202.40.144.0/23' - - '202.40.150.0/24' - - '202.40.155.0/24' - - '202.40.156.0/24' - - '202.40.158.0/23' - - '202.40.162.0/24' - - '202.41.8.0/23' - - '202.41.11.0/24' - - '202.41.12.0/23' - - '202.41.128.0/24' - - '202.41.130.0/23' - - '202.41.142.0/24' - - '202.41.152.0/21' - - '202.41.192.0/24' - - '202.41.196.0/22' - - '202.41.200.0/22' - - '202.41.240.0/20' - - '202.43.76.0/22' - - '202.43.144.0/20' - - '202.44.16.0/20' - - '202.44.48.0/22' - - '202.44.67.0/24' - - '202.44.74.0/24' - - '202.44.97.0/24' - - '202.44.129.0/24' - - '202.44.132.0/23' - - '202.44.146.0/23' - - '202.45.0.0/23' - - '202.45.2.0/24' - - '202.45.15.0/24' - - '202.45.16.0/20' - - '202.46.16.0/23' - - '202.46.18.0/24' - - '202.46.20.0/23' - - '202.46.128.0/24' - - '202.46.224.0/20' - - '202.47.82.0/23' - - '202.47.96.0/20' - - '202.47.126.0/24' - - '202.47.128.0/24' - - '202.47.130.0/23' - - '202.52.34.0/24' - - '202.52.143.0/24' - - '202.53.140.0/24' - - '202.53.143.0/24' - - '202.53.202.0/24' - - '202.57.212.0/22' - - '202.57.216.0/22' - - '202.57.240.0/20' - - '202.58.0.0/24' - - '202.58.112.0/22' - - '202.59.0.0/23' - - '202.59.212.0/22' - - '202.59.236.0/24' - - '202.59.240.0/24' - - '202.60.48.0/21' - - '202.60.96.0/21' - - '202.60.112.0/20' - - '202.60.132.0/22' - - '202.60.136.0/21' - - '202.60.144.0/20' - - '202.61.68.0/22' - - '202.61.76.0/22' - - '202.61.88.0/22' - - '202.61.123.0/24' - - '202.61.127.0/24' - - '202.62.112.0/22' - - '202.62.248.0/22' - - '202.62.252.0/24' - - '202.62.255.0/24' - - '202.63.80.0/20' - - '202.63.160.0/19' - - '202.63.248.0/22' - - '202.63.253.0/24' - - '202.65.0.0/21' - - '202.65.8.0/23' - - '202.67.0.0/22' - - '202.69.4.0/23' - - '202.69.16.0/20' - - '202.70.0.0/19' - - '202.70.96.0/20' - - '202.70.192.0/20' - - '202.71.32.0/20' - - '202.72.40.0/21' - - '202.72.80.0/20' - - '202.72.112.0/20' - - '202.73.128.0/22' - - '202.73.240.0/20' - - '202.74.8.0/21' - - '202.74.36.0/24' - - '202.74.42.0/24' - - '202.74.52.0/24' - - '202.74.80.0/20' - - '202.74.254.0/23' - - '202.75.208.0/20' - - '202.75.252.0/22' - - '202.76.247.0/24' - - '202.76.252.0/22' - - '202.77.80.0/21' - - '202.77.92.0/22' - - '202.78.8.0/21' - - '202.79.224.0/21' - - '202.79.248.0/22' - - '202.80.192.0/20' - - '202.81.0.0/22' - - '202.81.176.0/20' - - '202.83.252.0/22' - - '202.84.0.0/20' - - '202.84.16.0/23' - - '202.84.22.0/24' - - '202.84.24.0/21' - - '202.85.208.0/20' - - '202.86.249.0/24' - - '202.87.80.0/20' - - '202.88.32.0/22' - - '202.89.8.0/21' - - '202.89.96.0/22' - - '202.89.108.0/22' - - '202.89.119.0/24' - - '202.89.232.0/21' - - '202.90.0.0/22' - - '202.90.16.0/20' - - '202.90.37.0/24' - - '202.90.96.0/19' - - '202.90.193.0/24' - - '202.90.196.0/24' - - '202.90.205.0/24' - - '202.90.224.0/20' - - '202.91.0.0/22' - - '202.91.96.0/20' - - '202.91.128.0/22' - - '202.91.176.0/20' - - '202.91.224.0/19' - - '202.92.0.0/22' - - '202.92.8.0/21' - - '202.92.48.0/20' - - '202.92.252.0/22' - - '202.93.0.0/22' - - '202.93.252.0/22' - - '202.94.0.0/19' - - '202.94.74.0/24' - - '202.94.81.0/24' - - '202.94.92.0/22' - - '202.95.240.0/21' - - '202.95.252.0/22' - - '202.96.0.0/12' - - '202.112.0.0/13' - - '202.120.0.0/15' - - '202.122.0.0/21' - - '202.122.32.0/21' - - '202.122.64.0/19' - - '202.122.112.0/20' - - '202.122.128.0/24' - - '202.122.132.0/24' - - '202.123.96.0/20' - - '202.123.116.0/22' - - '202.123.120.0/22' - - '202.124.16.0/21' - - '202.124.24.0/22' - - '202.125.107.0/24' - - '202.125.109.0/24' - - '202.125.112.0/20' - - '202.125.176.0/20' - - '202.127.0.0/21' - - '202.127.12.0/22' - - '202.127.16.0/20' - - '202.127.40.0/21' - - '202.127.48.0/20' - - '202.127.112.0/20' - - '202.127.128.0/19' - - '202.127.160.0/21' - - '202.127.192.0/20' - - '202.127.208.0/23' - - '202.127.212.0/22' - - '202.127.216.0/21' - - '202.127.224.0/19' - - '202.129.208.0/24' - - '202.130.0.0/19' - - '202.130.39.0/24' - - '202.130.224.0/19' - - '202.131.16.0/21' - - '202.131.59.0/24' - - '202.131.208.0/20' - - '202.133.32.0/20' - - '202.134.58.0/24' - - '202.134.128.0/20' - - '202.134.208.0/20' - - '202.136.48.0/20' - - '202.136.208.0/20' - - '202.136.224.0/20' - - '202.136.248.0/22' - - '202.136.254.0/23' - - '202.137.231.0/24' - - '202.140.140.0/22' - - '202.140.144.0/20' - - '202.141.160.0/19' - - '202.142.16.0/20' - - '202.143.4.0/22' - - '202.143.16.0/20' - - '202.143.32.0/20' - - '202.143.56.0/21' - - '202.143.100.0/22' - - '202.143.104.0/22' - - '202.146.160.0/20' - - '202.146.186.0/24' - - '202.146.188.0/22' - - '202.146.196.0/22' - - '202.146.200.0/21' - - '202.147.12.0/26' - - '202.147.12.64/27' - - '202.147.12.96/28' - - '202.147.12.128/29' - - '202.147.12.136/30' - - '202.147.12.140/31' - - '202.147.12.142/32' - - '202.147.12.144/28' - - '202.147.12.160/27' - - '202.147.12.192/26' - - '202.147.144.0/20' - - '202.148.32.0/20' - - '202.148.64.0/18' - - '202.149.32.0/19' - - '202.149.160.0/19' - - '202.149.224.0/19' - - '202.150.16.0/20' - - '202.150.32.0/20' - - '202.150.56.0/22' - - '202.150.192.0/20' - - '202.150.224.0/19' - - '202.151.0.0/22' - - '202.151.128.0/19' - - '202.152.176.0/20' - - '202.153.0.0/22' - - '202.153.7.0/24' - - '202.153.48.0/20' - - '202.157.192.0/19' - - '202.158.160.0/19' - - '202.158.242.0/24' - - '202.160.156.0/22' - - '202.160.176.0/20' - - '202.162.67.0/24' - - '202.162.75.0/24' - - '202.164.0.0/20' - - '202.164.96.0/19' - - '202.165.176.0/20' - - '202.165.208.0/20' - - '202.165.239.0/24' - - '202.165.240.0/23' - - '202.165.243.0/24' - - '202.165.245.0/24' - - '202.165.251.0/24' - - '202.165.252.0/22' - - '202.166.224.0/19' - - '202.168.80.0/22' - - '202.168.128.0/20' - - '202.168.160.0/19' - - '202.170.128.0/19' - - '202.170.216.0/21' - - '202.170.224.0/19' - - '202.171.216.0/21' - - '202.171.232.0/24' - - '202.171.235.0/24' - - '202.172.0.0/22' - - '202.172.7.0/24' - - '202.173.0.0/22' - - '202.173.6.0/24' - - '202.173.8.0/21' - - '202.173.112.0/22' - - '202.173.224.0/19' - - '202.174.64.0/20' - - '202.174.124.0/22' - - '202.176.224.0/19' - - '202.179.160.0/20' - - '202.179.240.0/20' - - '202.180.128.0/19' - - '202.180.208.0/21' - - '202.181.8.0/22' - - '202.181.28.0/22' - - '202.181.112.0/20' - - '202.182.32.0/20' - - '202.182.192.0/19' - - '202.189.0.0/18' - - '202.189.80.0/20' - - '202.189.184.0/21' - - '202.191.0.0/24' - - '202.191.68.0/22' - - '202.191.72.0/21' - - '202.191.80.0/20' - - '202.192.0.0/12' - - '203.0.4.0/22' - - '203.0.10.0/23' - - '203.0.18.0/24' - - '203.0.24.0/24' - - '203.0.42.0/23' - - '203.0.45.0/24' - - '203.0.46.0/23' - - '203.0.81.0/24' - - '203.0.82.0/23' - - '203.0.90.0/23' - - '203.0.96.0/23' - - '203.0.104.0/21' - - '203.0.114.0/23' - - '203.0.122.0/24' - - '203.0.128.0/24' - - '203.0.130.0/23' - - '203.0.132.0/22' - - '203.0.137.0/24' - - '203.0.142.0/24' - - '203.0.144.0/24' - - '203.0.146.0/24' - - '203.0.148.0/24' - - '203.0.150.0/23' - - '203.0.152.0/24' - - '203.0.177.0/24' - - '203.0.224.0/24' - - '203.1.4.0/22' - - '203.1.18.0/24' - - '203.1.26.0/23' - - '203.1.65.0/24' - - '203.1.66.0/23' - - '203.1.70.0/23' - - '203.1.76.0/23' - - '203.1.90.0/24' - - '203.1.97.0/24' - - '203.1.98.0/23' - - '203.1.100.0/22' - - '203.1.108.0/24' - - '203.1.253.0/24' - - '203.1.254.0/24' - - '203.2.64.0/21' - - '203.2.73.0/24' - - '203.2.112.0/21' - - '203.2.126.0/23' - - '203.2.140.0/24' - - '203.2.150.0/24' - - '203.2.152.0/22' - - '203.2.156.0/23' - - '203.2.160.0/21' - - '203.2.180.0/23' - - '203.2.196.0/23' - - '203.2.209.0/24' - - '203.2.214.0/23' - - '203.2.226.0/23' - - '203.2.229.0/24' - - '203.2.236.0/23' - - '203.3.68.0/24' - - '203.3.72.0/23' - - '203.3.75.0/24' - - '203.3.80.0/21' - - '203.3.96.0/22' - - '203.3.105.0/24' - - '203.3.112.0/21' - - '203.3.120.0/24' - - '203.3.123.0/24' - - '203.3.135.0/24' - - '203.3.139.0/24' - - '203.3.143.0/24' - - '203.4.132.0/23' - - '203.4.134.0/24' - - '203.4.151.0/24' - - '203.4.152.0/22' - - '203.4.174.0/23' - - '203.4.180.0/24' - - '203.4.186.0/24' - - '203.4.205.0/24' - - '203.4.208.0/22' - - '203.4.227.0/24' - - '203.4.230.0/23' - - '203.5.4.0/23' - - '203.5.7.0/24' - - '203.5.8.0/23' - - '203.5.11.0/24' - - '203.5.21.0/24' - - '203.5.22.0/24' - - '203.5.44.0/24' - - '203.5.46.0/23' - - '203.5.52.0/22' - - '203.5.56.0/23' - - '203.5.60.0/23' - - '203.5.114.0/23' - - '203.5.118.0/24' - - '203.5.120.0/24' - - '203.5.172.0/24' - - '203.5.180.0/23' - - '203.5.182.0/24' - - '203.5.185.0/24' - - '203.5.186.0/24' - - '203.5.188.0/23' - - '203.5.190.0/24' - - '203.5.195.0/24' - - '203.5.214.0/23' - - '203.5.218.0/23' - - '203.6.131.0/24' - - '203.6.136.0/24' - - '203.6.138.0/23' - - '203.6.142.0/24' - - '203.6.150.0/23' - - '203.6.157.0/24' - - '203.6.159.0/24' - - '203.6.224.0/20' - - '203.6.248.0/23' - - '203.7.129.0/24' - - '203.7.138.0/23' - - '203.7.147.0/24' - - '203.7.150.0/23' - - '203.7.158.0/24' - - '203.7.192.0/23' - - '203.7.200.0/24' - - '203.8.0.0/24' - - '203.8.8.0/24' - - '203.8.23.0/24' - - '203.8.70.0/24' - - '203.8.82.0/24' - - '203.8.86.0/23' - - '203.8.91.0/24' - - '203.8.110.0/23' - - '203.8.115.0/24' - - '203.8.166.0/23' - - '203.8.169.0/24' - - '203.8.173.0/24' - - '203.8.184.0/24' - - '203.8.186.0/23' - - '203.8.190.0/23' - - '203.8.192.0/24' - - '203.8.197.0/24' - - '203.8.198.0/23' - - '203.8.203.0/24' - - '203.8.209.0/24' - - '203.8.210.0/23' - - '203.8.212.0/22' - - '203.8.217.0/24' - - '203.8.220.0/24' - - '203.9.32.0/24' - - '203.9.36.0/23' - - '203.9.57.0/24' - - '203.9.63.0/24' - - '203.9.65.0/24' - - '203.9.70.0/23' - - '203.9.72.0/24' - - '203.9.75.0/24' - - '203.9.76.0/23' - - '203.9.96.0/22' - - '203.9.100.0/23' - - '203.9.108.0/24' - - '203.9.158.0/24' - - '203.10.34.0/24' - - '203.10.56.0/24' - - '203.10.74.0/23' - - '203.10.84.0/22' - - '203.10.88.0/24' - - '203.10.95.0/24' - - '203.10.125.0/24' - - '203.11.70.0/24' - - '203.11.76.0/22' - - '203.11.82.0/24' - - '203.11.84.0/22' - - '203.11.100.0/22' - - '203.11.109.0/24' - - '203.11.117.0/24' - - '203.11.122.0/24' - - '203.11.126.0/24' - - '203.11.136.0/22' - - '203.11.141.0/24' - - '203.11.142.0/23' - - '203.11.180.0/22' - - '203.11.208.0/22' - - '203.12.16.0/24' - - '203.12.19.0/24' - - '203.12.24.0/24' - - '203.12.57.0/24' - - '203.12.65.0/24' - - '203.12.66.0/24' - - '203.12.70.0/23' - - '203.12.87.0/24' - - '203.12.100.0/23' - - '203.12.103.0/24' - - '203.12.114.0/24' - - '203.12.118.0/24' - - '203.12.130.0/24' - - '203.12.137.0/24' - - '203.12.196.0/22' - - '203.12.211.0/24' - - '203.12.219.0/24' - - '203.12.226.0/24' - - '203.12.240.0/22' - - '203.13.18.0/24' - - '203.13.24.0/24' - - '203.13.44.0/23' - - '203.13.88.0/23' - - '203.13.92.0/22' - - '203.13.173.0/24' - - '203.13.224.0/23' - - '203.13.227.0/24' - - '203.13.233.0/24' - - '203.14.24.0/22' - - '203.14.33.0/24' - - '203.14.56.0/24' - - '203.14.61.0/24' - - '203.14.62.0/24' - - '203.14.104.0/24' - - '203.14.114.0/23' - - '203.14.118.0/24' - - '203.14.162.0/24' - - '203.14.184.0/21' - - '203.14.192.0/24' - - '203.14.194.0/23' - - '203.14.214.0/24' - - '203.14.231.0/24' - - '203.14.246.0/24' - - '203.15.0.0/20' - - '203.15.20.0/23' - - '203.15.22.0/24' - - '203.15.87.0/24' - - '203.15.88.0/23' - - '203.15.105.0/24' - - '203.15.112.0/21' - - '203.15.130.0/23' - - '203.15.149.0/24' - - '203.15.151.0/24' - - '203.15.156.0/22' - - '203.15.174.0/24' - - '203.15.227.0/24' - - '203.15.232.0/22' - - '203.15.238.0/23' - - '203.15.240.0/23' - - '203.15.246.0/24' - - '203.16.10.0/24' - - '203.16.12.0/23' - - '203.16.16.0/21' - - '203.16.27.0/24' - - '203.16.38.0/24' - - '203.16.49.0/24' - - '203.16.50.0/23' - - '203.16.58.0/24' - - '203.16.63.0/24' - - '203.16.133.0/24' - - '203.16.161.0/24' - - '203.16.162.0/24' - - '203.16.186.0/23' - - '203.16.228.0/24' - - '203.16.238.0/24' - - '203.16.240.0/24' - - '203.16.245.0/24' - - '203.17.2.0/24' - - '203.17.18.0/24' - - '203.17.28.0/24' - - '203.17.39.0/24' - - '203.17.56.0/24' - - '203.17.74.0/23' - - '203.17.88.0/23' - - '203.17.136.0/24' - - '203.17.164.0/24' - - '203.17.187.0/24' - - '203.17.190.0/23' - - '203.17.231.0/24' - - '203.17.233.0/24' - - '203.17.248.0/23' - - '203.17.255.0/24' - - '203.18.2.0/23' - - '203.18.4.0/24' - - '203.18.7.0/24' - - '203.18.31.0/24' - - '203.18.37.0/24' - - '203.18.48.0/23' - - '203.18.52.0/24' - - '203.18.72.0/22' - - '203.18.80.0/23' - - '203.18.87.0/24' - - '203.18.100.0/23' - - '203.18.105.0/24' - - '203.18.107.0/24' - - '203.18.110.0/24' - - '203.18.129.0/24' - - '203.18.131.0/24' - - '203.18.132.0/23' - - '203.18.144.0/24' - - '203.18.153.0/24' - - '203.18.199.0/24' - - '203.18.208.0/24' - - '203.18.211.0/24' - - '203.18.215.0/24' - - '203.19.1.0/24' - - '203.19.18.0/24' - - '203.19.24.0/24' - - '203.19.30.0/24' - - '203.19.41.0/24' - - '203.19.44.0/23' - - '203.19.46.0/24' - - '203.19.58.0/24' - - '203.19.60.0/23' - - '203.19.64.0/24' - - '203.19.68.0/24' - - '203.19.72.0/24' - - '203.19.101.0/24' - - '203.19.111.0/24' - - '203.19.131.0/24' - - '203.19.133.0/24' - - '203.19.144.0/24' - - '203.19.147.0/24' - - '203.19.149.0/24' - - '203.19.156.0/24' - - '203.19.176.0/24' - - '203.19.178.0/23' - - '203.19.208.0/24' - - '203.19.228.0/22' - - '203.19.233.0/24' - - '203.19.242.0/24' - - '203.19.248.0/23' - - '203.19.255.0/24' - - '203.20.17.0/24' - - '203.20.40.0/23' - - '203.20.44.0/24' - - '203.20.48.0/24' - - '203.20.61.0/24' - - '203.20.65.0/24' - - '203.20.84.0/23' - - '203.20.89.0/24' - - '203.20.106.0/23' - - '203.20.115.0/24' - - '203.20.117.0/24' - - '203.20.118.0/23' - - '203.20.122.0/24' - - '203.20.126.0/23' - - '203.20.135.0/24' - - '203.20.140.0/22' - - '203.20.150.0/24' - - '203.20.230.0/24' - - '203.20.232.0/24' - - '203.20.236.0/24' - - '203.21.0.0/23' - - '203.21.2.0/24' - - '203.21.8.0/24' - - '203.21.10.0/24' - - '203.21.18.0/24' - - '203.21.33.0/24' - - '203.21.34.0/24' - - '203.21.41.0/24' - - '203.21.44.0/24' - - '203.21.68.0/24' - - '203.21.82.0/24' - - '203.21.96.0/22' - - '203.21.124.0/24' - - '203.21.136.0/23' - - '203.21.145.0/24' - - '203.21.206.0/24' - - '203.22.24.0/24' - - '203.22.28.0/23' - - '203.22.31.0/24' - - '203.22.68.0/24' - - '203.22.76.0/24' - - '203.22.84.0/24' - - '203.22.87.0/24' - - '203.22.92.0/22' - - '203.22.99.0/24' - - '203.22.106.0/24' - - '203.22.122.0/23' - - '203.22.131.0/24' - - '203.22.163.0/24' - - '203.22.166.0/24' - - '203.22.170.0/24' - - '203.22.176.0/22' - - '203.22.180.0/23' - - '203.22.182.0/30' - - '203.22.182.6/31' - - '203.22.182.8/29' - - '203.22.182.18/31' - - '203.22.182.20/30' - - '203.22.182.24/29' - - '203.22.182.32/27' - - '203.22.182.64/26' - - '203.22.182.128/25' - - '203.22.183.0/24' - - '203.22.194.0/24' - - '203.22.242.0/23' - - '203.22.245.0/24' - - '203.22.246.0/24' - - '203.22.252.0/23' - - '203.23.0.0/24' - - '203.23.47.0/24' - - '203.23.61.0/24' - - '203.23.62.0/23' - - '203.23.73.0/24' - - '203.23.85.0/24' - - '203.23.92.0/22' - - '203.23.98.0/24' - - '203.23.107.0/24' - - '203.23.112.0/24' - - '203.23.130.0/24' - - '203.23.140.0/23' - - '203.23.172.0/24' - - '203.23.182.0/24' - - '203.23.186.0/23' - - '203.23.192.0/24' - - '203.23.197.0/24' - - '203.23.198.0/24' - - '203.23.204.0/22' - - '203.23.224.0/24' - - '203.23.226.0/23' - - '203.23.228.0/22' - - '203.23.249.0/24' - - '203.23.251.0/24' - - '203.24.13.0/24' - - '203.24.18.0/24' - - '203.24.27.0/24' - - '203.24.43.0/24' - - '203.24.56.0/24' - - '203.24.58.0/24' - - '203.24.67.0/24' - - '203.24.74.0/24' - - '203.24.79.0/24' - - '203.24.80.0/23' - - '203.24.84.0/23' - - '203.24.86.0/24' - - '203.24.90.0/24' - - '203.24.111.0/24' - - '203.24.112.0/24' - - '203.24.116.0/24' - - '203.24.122.0/23' - - '203.24.145.0/24' - - '203.24.152.0/23' - - '203.24.157.0/24' - - '203.24.161.0/24' - - '203.24.167.0/24' - - '203.24.186.0/23' - - '203.24.199.0/24' - - '203.24.202.0/24' - - '203.24.212.0/23' - - '203.24.217.0/24' - - '203.24.219.0/24' - - '203.24.244.0/24' - - '203.25.19.0/24' - - '203.25.20.0/23' - - '203.25.46.0/24' - - '203.25.64.0/23' - - '203.25.91.0/24' - - '203.25.99.0/24' - - '203.25.100.0/24' - - '203.25.106.0/24' - - '203.25.131.0/24' - - '203.25.135.0/24' - - '203.25.138.0/24' - - '203.25.147.0/24' - - '203.25.153.0/24' - - '203.25.154.0/23' - - '203.25.164.0/24' - - '203.25.166.0/24' - - '203.25.174.0/23' - - '203.25.180.0/24' - - '203.25.182.0/24' - - '203.25.191.0/24' - - '203.25.199.0/24' - - '203.25.200.0/24' - - '203.25.202.0/23' - - '203.25.208.0/20' - - '203.25.229.0/24' - - '203.25.235.0/24' - - '203.25.236.0/24' - - '203.25.242.0/24' - - '203.26.12.0/24' - - '203.26.34.0/24' - - '203.26.49.0/24' - - '203.26.50.0/24' - - '203.26.55.0/24' - - '203.26.56.0/23' - - '203.26.60.0/24' - - '203.26.65.0/24' - - '203.26.68.0/24' - - '203.26.76.0/24' - - '203.26.80.0/24' - - '203.26.84.0/24' - - '203.26.97.0/24' - - '203.26.102.0/23' - - '203.26.115.0/24' - - '203.26.116.0/24' - - '203.26.129.0/24' - - '203.26.143.0/24' - - '203.26.144.0/24' - - '203.26.148.0/23' - - '203.26.154.0/24' - - '203.26.158.0/23' - - '203.26.170.0/24' - - '203.26.173.0/24' - - '203.26.176.0/24' - - '203.26.185.0/24' - - '203.26.202.0/23' - - '203.26.210.0/24' - - '203.26.214.0/24' - - '203.26.222.0/24' - - '203.26.224.0/24' - - '203.26.228.0/24' - - '203.26.232.0/24' - - '203.27.0.0/24' - - '203.27.10.0/24' - - '203.27.15.0/24' - - '203.27.16.0/24' - - '203.27.20.0/24' - - '203.27.22.0/23' - - '203.27.40.0/24' - - '203.27.45.0/24' - - '203.27.53.0/24' - - '203.27.65.0/24' - - '203.27.66.0/24' - - '203.27.81.0/24' - - '203.27.88.0/24' - - '203.27.102.0/24' - - '203.27.109.0/24' - - '203.27.117.0/24' - - '203.27.121.0/24' - - '203.27.122.0/23' - - '203.27.125.0/24' - - '203.27.200.0/24' - - '203.27.202.0/24' - - '203.27.233.0/24' - - '203.27.241.0/24' - - '203.27.250.0/24' - - '203.28.10.0/24' - - '203.28.12.0/24' - - '203.28.33.0/24' - - '203.28.34.0/23' - - '203.28.43.0/24' - - '203.28.44.0/24' - - '203.28.54.0/24' - - '203.28.56.0/24' - - '203.28.73.0/24' - - '203.28.74.0/24' - - '203.28.76.0/24' - - '203.28.86.0/24' - - '203.28.88.0/24' - - '203.28.112.0/24' - - '203.28.131.0/24' - - '203.28.136.0/24' - - '203.28.140.0/24' - - '203.28.145.0/24' - - '203.28.165.0/24' - - '203.28.169.0/24' - - '203.28.170.0/24' - - '203.28.178.0/23' - - '203.28.185.0/24' - - '203.28.187.0/24' - - '203.28.196.0/24' - - '203.28.226.0/23' - - '203.28.239.0/24' - - '203.29.2.0/24' - - '203.29.8.0/23' - - '203.29.13.0/24' - - '203.29.14.0/24' - - '203.29.28.0/24' - - '203.29.46.0/24' - - '203.29.57.0/24' - - '203.29.61.0/24' - - '203.29.63.0/24' - - '203.29.69.0/24' - - '203.29.73.0/24' - - '203.29.81.0/24' - - '203.29.90.0/24' - - '203.29.95.0/24' - - '203.29.100.0/24' - - '203.29.103.0/24' - - '203.29.112.0/24' - - '203.29.120.0/22' - - '203.29.182.0/23' - - '203.29.187.0/24' - - '203.29.189.0/24' - - '203.29.190.0/24' - - '203.29.205.0/24' - - '203.29.210.0/24' - - '203.29.217.0/24' - - '203.29.227.0/24' - - '203.29.231.0/24' - - '203.29.233.0/24' - - '203.29.234.0/24' - - '203.29.248.0/24' - - '203.29.254.0/23' - - '203.30.16.0/23' - - '203.30.25.0/24' - - '203.30.29.0/24' - - '203.30.66.0/24' - - '203.30.81.0/24' - - '203.30.87.0/24' - - '203.30.111.0/24' - - '203.30.121.0/24' - - '203.30.123.0/24' - - '203.30.152.0/24' - - '203.30.156.0/24' - - '203.30.162.0/24' - - '203.30.173.0/24' - - '203.30.175.0/24' - - '203.30.187.0/24' - - '203.30.194.0/24' - - '203.30.217.0/24' - - '203.30.220.0/24' - - '203.30.222.0/24' - - '203.30.232.0/23' - - '203.30.235.0/24' - - '203.30.240.0/23' - - '203.30.246.0/24' - - '203.30.250.0/23' - - '203.31.45.0/24' - - '203.31.46.0/24' - - '203.31.49.0/24' - - '203.31.51.0/24' - - '203.31.54.0/23' - - '203.31.69.0/24' - - '203.31.72.0/24' - - '203.31.80.0/24' - - '203.31.85.0/24' - - '203.31.97.0/24' - - '203.31.105.0/24' - - '203.31.106.0/24' - - '203.31.108.0/23' - - '203.31.124.0/24' - - '203.31.162.0/24' - - '203.31.174.0/24' - - '203.31.177.0/24' - - '203.31.181.0/24' - - '203.31.187.0/24' - - '203.31.189.0/24' - - '203.31.204.0/24' - - '203.31.220.0/24' - - '203.31.222.0/23' - - '203.31.225.0/24' - - '203.31.229.0/24' - - '203.31.248.0/23' - - '203.31.253.0/24' - - '203.32.20.0/24' - - '203.32.48.0/23' - - '203.32.56.0/24' - - '203.32.60.0/24' - - '203.32.62.0/24' - - '203.32.68.0/23' - - '203.32.76.0/24' - - '203.32.81.0/24' - - '203.32.84.0/23' - - '203.32.95.0/24' - - '203.32.102.0/24' - - '203.32.105.0/24' - - '203.32.130.0/24' - - '203.32.133.0/24' - - '203.32.140.0/24' - - '203.32.152.0/24' - - '203.32.186.0/23' - - '203.32.192.0/24' - - '203.32.196.0/24' - - '203.32.203.0/24' - - '203.32.204.0/23' - - '203.32.212.0/24' - - '203.33.4.0/24' - - '203.33.7.0/24' - - '203.33.12.0/23' - - '203.33.21.0/24' - - '203.33.26.0/24' - - '203.33.32.0/24' - - '203.33.63.0/24' - - '203.33.64.0/24' - - '203.33.67.0/24' - - '203.33.68.0/24' - - '203.33.73.0/24' - - '203.33.79.0/24' - - '203.33.100.0/24' - - '203.33.122.0/24' - - '203.33.129.0/24' - - '203.33.131.0/24' - - '203.33.145.0/24' - - '203.33.156.0/24' - - '203.33.158.0/23' - - '203.33.174.0/24' - - '203.33.185.0/24' - - '203.33.200.0/24' - - '203.33.202.0/23' - - '203.33.204.0/24' - - '203.33.206.0/23' - - '203.33.214.0/23' - - '203.33.224.0/23' - - '203.33.226.0/24' - - '203.33.233.0/24' - - '203.33.243.0/24' - - '203.33.250.0/24' - - '203.34.4.0/24' - - '203.34.21.0/24' - - '203.34.27.0/24' - - '203.34.39.0/24' - - '203.34.48.0/23' - - '203.34.54.0/24' - - '203.34.56.0/23' - - '203.34.67.0/24' - - '203.34.69.0/24' - - '203.34.76.0/24' - - '203.34.92.0/24' - - '203.34.106.0/24' - - '203.34.113.0/24' - - '203.34.147.0/24' - - '203.34.150.0/24' - - '203.34.152.0/23' - - '203.34.161.0/24' - - '203.34.162.0/24' - - '203.34.187.0/24' - - '203.34.192.0/22' - - '203.34.197.0/24' - - '203.34.198.0/23' - - '203.34.204.0/22' - - '203.34.232.0/24' - - '203.34.240.0/24' - - '203.34.242.0/24' - - '203.34.245.0/24' - - '203.34.251.0/24' - - '203.55.2.0/23' - - '203.55.4.0/24' - - '203.55.10.0/24' - - '203.55.13.0/24' - - '203.55.22.0/24' - - '203.55.30.0/24' - - '203.55.93.0/24' - - '203.55.101.0/24' - - '203.55.109.0/24' - - '203.55.110.0/24' - - '203.55.116.0/23' - - '203.55.119.0/24' - - '203.55.128.0/23' - - '203.55.146.0/23' - - '203.55.192.0/24' - - '203.55.196.0/24' - - '203.55.218.0/23' - - '203.55.221.0/24' - - '203.55.224.0/24' - - '203.56.1.0/24' - - '203.56.4.0/24' - - '203.56.12.0/24' - - '203.56.24.0/24' - - '203.56.38.0/24' - - '203.56.40.0/24' - - '203.56.46.0/24' - - '203.56.50.0/23' - - '203.56.52.0/22' - - '203.56.68.0/23' - - '203.56.82.0/23' - - '203.56.84.0/23' - - '203.56.95.0/24' - - '203.56.110.0/24' - - '203.56.121.0/24' - - '203.56.161.0/24' - - '203.56.169.0/24' - - '203.56.172.0/23' - - '203.56.175.0/24' - - '203.56.183.0/24' - - '203.56.185.0/24' - - '203.56.187.0/24' - - '203.56.192.0/24' - - '203.56.198.0/24' - - '203.56.201.0/24' - - '203.56.208.0/23' - - '203.56.210.0/24' - - '203.56.214.0/24' - - '203.56.216.0/24' - - '203.56.227.0/24' - - '203.56.228.0/24' - - '203.56.232.0/24' - - '203.56.240.0/24' - - '203.56.252.0/24' - - '203.56.254.0/24' - - '203.57.5.0/24' - - '203.57.6.0/24' - - '203.57.12.0/23' - - '203.57.28.0/24' - - '203.57.39.0/24' - - '203.57.46.0/24' - - '203.57.58.0/24' - - '203.57.61.0/24' - - '203.57.66.0/24' - - '203.57.69.0/24' - - '203.57.70.0/23' - - '203.57.73.0/24' - - '203.57.90.0/24' - - '203.57.101.0/24' - - '203.57.109.0/24' - - '203.57.123.0/24' - - '203.57.157.0/24' - - '203.57.200.0/24' - - '203.57.202.0/24' - - '203.57.206.0/24' - - '203.57.222.0/24' - - '203.57.224.0/20' - - '203.57.246.0/23' - - '203.57.249.0/24' - - '203.57.253.0/24' - - '203.57.254.0/23' - - '203.62.2.0/24' - - '203.62.131.0/24' - - '203.62.139.0/24' - - '203.62.161.0/24' - - '203.62.197.0/24' - - '203.62.228.0/22' - - '203.62.234.0/24' - - '203.62.246.0/24' - - '203.65.240.0/22' - - '203.76.160.0/22' - - '203.76.168.0/22' - - '203.76.208.0/21' - - '203.76.216.0/22' - - '203.76.240.0/22' - - '203.77.180.0/22' - - '203.78.48.0/20' - - '203.78.156.0/22' - - '203.79.0.0/20' - - '203.80.4.0/23' - - '203.80.32.0/20' - - '203.80.57.0/24' - - '203.80.129.0/24' - - '203.80.132.0/22' - - '203.80.140.0/22' - - '203.80.144.0/20' - - '203.81.0.0/21' - - '203.81.16.0/20' - - '203.81.244.0/22' - - '203.82.0.0/23' - - '203.82.16.0/21' - - '203.82.112.0/20' - - '203.82.224.0/20' - - '203.83.0.0/22' - - '203.83.12.0/22' - - '203.83.56.0/21' - - '203.83.224.0/20' - - '203.86.0.0/17' - - '203.86.250.0/24' - - '203.86.254.0/23' - - '203.88.32.0/19' - - '203.88.100.0/22' - - '203.88.192.0/19' - - '203.89.0.0/22' - - '203.89.100.0/22' - - '203.89.136.0/22' - - '203.89.144.0/24' - - '203.90.0.0/22' - - '203.90.8.0/21' - - '203.90.128.0/18' - - '203.90.192.0/19' - - '203.91.32.0/19' - - '203.91.96.0/20' - - '203.91.120.0/21' - - '203.92.0.0/22' - - '203.92.6.0/24' - - '203.92.160.0/19' - - '203.93.0.0/16' - - '203.94.0.0/19' - - '203.95.0.0/21' - - '203.95.96.0/19' - - '203.95.128.0/18' - - '203.95.200.0/21' - - '203.95.208.0/22' - - '203.95.224.0/19' - - '203.99.8.0/21' - - '203.99.16.0/22' - - '203.99.30.0/23' - - '203.99.80.0/20' - - '203.100.32.0/20' - - '203.100.58.0/24' - - '203.100.60.0/24' - - '203.100.63.0/24' - - '203.100.80.0/20' - - '203.100.96.0/19' - - '203.100.192.0/20' - - '203.104.32.0/20' - - '203.105.96.0/19' - - '203.105.128.0/19' - - '203.107.0.0/19' - - '203.107.32.0/20' - - '203.107.52.0/22' - - '203.107.56.0/21' - - '203.107.69.0/24' - - '203.107.70.0/23' - - '203.107.72.0/21' - - '203.107.80.0/20' - - '203.107.96.0/19' - - '203.110.160.0/19' - - '203.110.208.0/20' - - '203.110.232.0/23' - - '203.110.234.0/24' - - '203.114.80.0/20' - - '203.114.244.0/22' - - '203.118.192.0/19' - - '203.118.241.0/24' - - '203.118.248.0/22' - - '203.119.24.0/22' - - '203.119.28.0/23' - - '203.119.30.0/24' - - '203.119.32.0/24' - - '203.119.34.0/23' - - '203.119.80.0/22' - - '203.119.85.0/24' - - '203.119.113.0/24' - - '203.119.114.0/23' - - '203.119.116.0/22' - - '203.119.128.0/17' - - '203.123.58.0/24' - - '203.128.32.0/19' - - '203.128.96.0/19' - - '203.128.128.0/24' - - '203.128.225.0/24' - - '203.128.226.0/23' - - '203.128.228.0/22' - - '203.130.32.0/20' - - '203.130.49.0/24' - - '203.130.51.0/24' - - '203.130.53.0/24' - - '203.130.54.0/23' - - '203.130.56.0/22' - - '203.130.60.0/23' - - '203.132.32.0/19' - - '203.134.240.0/22' - - '203.134.246.0/23' - - '203.135.96.0/19' - - '203.135.160.0/20' - - '203.142.12.0/23' - - '203.142.219.0/24' - - '203.142.224.0/19' - - '203.144.96.0/19' - - '203.145.0.0/19' - - '203.148.0.0/18' - - '203.148.64.0/20' - - '203.148.80.0/22' - - '203.148.86.0/23' - - '203.149.92.0/22' - - '203.152.64.0/19' - - '203.152.128.0/19' - - '203.153.0.0/22' - - '203.156.192.0/18' - - '203.158.16.0/21' - - '203.160.129.0/24' - - '203.160.192.0/19' - - '203.161.0.0/22' - - '203.161.180.0/24' - - '203.161.183.0/24' - - '203.161.192.0/19' - - '203.166.160.0/19' - - '203.167.28.0/22' - - '203.168.0.0/19' - - '203.170.58.0/23' - - '203.171.0.0/22' - - '203.171.208.0/24' - - '203.171.224.0/20' - - '203.174.4.0/24' - - '203.174.6.0/24' - - '203.174.96.0/20' - - '203.175.128.0/19' - - '203.175.192.0/18' - - '203.176.0.0/18' - - '203.176.64.0/19' - - '203.176.168.0/21' - - '203.184.80.0/20' - - '203.187.160.0/19' - - '203.189.0.0/23' - - '203.189.6.0/23' - - '203.189.112.0/22' - - '203.189.192.0/19' - - '203.189.240.0/22' - - '203.190.96.0/20' - - '203.190.249.0/24' - - '203.191.0.0/23' - - '203.191.2.0/24' - - '203.191.5.0/24' - - '203.191.7.0/24' - - '203.191.29.0/24' - - '203.191.31.0/24' - - '203.191.64.0/18' - - '203.191.133.0/24' - - '203.191.144.0/20' - - '203.192.0.0/19' - - '203.193.224.0/19' - - '203.195.64.0/19' - - '203.195.128.0/17' - - '203.196.0.0/21' - - '203.196.12.0/22' - - '203.196.28.0/22' - - '203.201.181.0/24' - - '203.201.182.0/24' - - '203.202.236.0/22' - - '203.205.64.0/19' - - '203.207.64.0/18' - - '203.207.128.0/17' - - '203.208.0.0/20' - - '203.208.16.0/22' - - '203.208.32.0/19' - - '203.209.224.0/19' - - '203.212.0.0/20' - - '203.212.80.0/20' - - '203.217.164.0/22' - - '203.223.0.0/20' - - '204.55.160.0/24' - - '204.74.96.0/24' - - '204.114.176.0/23' - - '207.89.20.0/24' - - '210.2.0.0/23' - - '210.2.2.0/24' - - '210.2.5.0/24' - - '210.2.6.0/23' - - '210.2.8.0/21' - - '210.2.24.0/21' - - '210.5.0.0/19' - - '210.5.60.0/24' - - '210.5.128.0/19' - - '210.7.56.0/21' - - '210.12.0.0/15' - - '210.14.64.0/19' - - '210.14.112.0/20' - - '210.14.128.0/17' - - '210.15.0.0/17' - - '210.15.128.0/18' - - '210.16.128.0/21' - - '210.16.136.0/22' - - '210.16.156.0/22' - - '210.16.160.0/19' - - '210.21.0.0/16' - - '210.22.0.0/16' - - '210.23.32.0/19' - - '210.25.0.0/16' - - '210.26.0.0/15' - - '210.28.0.0/14' - - '210.32.0.0/12' - - '210.51.0.0/16' - - '210.52.0.0/18' - - '210.52.64.0/23' - - '210.52.66.0/24' - - '210.52.68.0/22' - - '210.52.72.0/21' - - '210.52.80.0/20' - - '210.52.96.0/21' - - '210.52.104.0/22' - - '210.52.108.0/24' - - '210.52.110.0/23' - - '210.52.112.0/20' - - '210.52.128.0/17' - - '210.53.0.0/16' - - '210.56.192.0/19' - - '210.72.0.0/14' - - '210.76.0.0/15' - - '210.78.0.0/16' - - '210.79.64.0/18' - - '210.79.224.0/19' - - '210.82.0.0/15' - - '210.87.128.0/18' - - '210.185.192.0/18' - - '210.192.96.0/19' - - '211.64.0.0/13' - - '211.80.0.0/12' - - '211.96.0.0/14' - - '211.100.0.0/17' - - '211.100.128.0/19' - - '211.100.160.0/20' - - '211.100.184.0/21' - - '211.100.192.0/18' - - '211.101.0.0/16' - - '211.102.0.0/15' - - '211.136.0.0/13' - - '211.144.0.0/13' - - '211.152.0.0/17' - - '211.152.134.0/23' - - '211.152.140.0/22' - - '211.152.150.0/23' - - '211.152.157.0/24' - - '211.152.160.0/19' - - '211.152.192.0/18' - - '211.153.0.0/16' - - '211.154.0.0/19' - - '211.154.32.0/20' - - '211.154.48.0/21' - - '211.154.64.0/18' - - '211.154.128.0/17' - - '211.155.0.0/18' - - '211.155.67.0/24' - - '211.155.68.0/24' - - '211.155.72.0/21' - - '211.155.80.0/20' - - '211.155.97.0/24' - - '211.155.98.0/23' - - '211.155.100.0/22' - - '211.155.104.0/21' - - '211.155.113.0/24' - - '211.155.116.0/22' - - '211.155.120.0/21' - - '211.155.128.0/17' - - '211.156.0.0/18' - - '211.156.64.0/19' - - '211.156.96.0/21' - - '211.156.104.0/22' - - '211.156.108.0/23' - - '211.156.112.0/20' - - '211.156.128.0/17' - - '211.157.0.0/16' - - '211.158.0.0/15' - - '211.160.0.0/13' - - '212.64.0.0/17' - - '212.129.128.0/17' - - '213.199.169.0/24' - - '218.0.0.0/12' - - '218.16.0.0/13' - - '218.24.0.0/14' - - '218.28.0.0/15' - - '218.30.0.0/19' - - '218.30.64.0/18' - - '218.30.128.0/18' - - '218.30.192.0/19' - - '218.30.224.0/20' - - '218.30.240.0/21' - - '218.30.248.0/22' - - '218.30.252.0/25' - - '218.30.252.128/26' - - '218.30.252.194/31' - - '218.30.252.196/30' - - '218.30.252.200/29' - - '218.30.252.208/28' - - '218.30.252.224/27' - - '218.30.253.0/24' - - '218.30.254.0/23' - - '218.31.0.0/16' - - '218.56.0.0/13' - - '218.64.0.0/11' - - '218.96.0.0/15' - - '218.98.0.0/18' - - '218.98.96.0/19' - - '218.98.128.0/19' - - '218.98.192.0/18' - - '218.99.0.0/16' - - '218.100.96.0/19' - - '218.100.128.0/17' - - '218.104.0.0/14' - - '218.108.0.0/15' - - '218.185.192.0/19' - - '218.192.0.0/12' - - '218.240.0.0/14' - - '218.244.0.0/15' - - '218.246.0.0/19' - - '218.246.32.0/20' - - '218.246.48.0/21' - - '218.246.56.0/23' - - '218.246.58.0/24' - - '218.246.60.0/22' - - '218.246.64.0/18' - - '218.246.129.0/24' - - '218.246.131.0/24' - - '218.246.132.0/23' - - '218.246.134.0/24' - - '218.246.139.0/24' - - '218.246.144.0/20' - - '218.246.160.0/19' - - '218.246.192.0/18' - - '218.247.0.0/18' - - '218.247.96.0/19' - - '218.247.128.0/17' - - '218.249.0.0/16' - - '219.72.0.0/16' - - '219.82.0.0/16' - - '219.83.128.0/17' - - '219.90.68.0/22' - - '219.90.72.0/21' - - '219.128.0.0/11' - - '219.216.0.0/13' - - '219.224.0.0/13' - - '219.232.0.0/15' - - '219.234.0.0/21' - - '219.234.9.0/24' - - '219.234.10.0/23' - - '219.234.12.0/22' - - '219.234.32.0/19' - - '219.234.64.0/18' - - '219.234.128.0/17' - - '219.235.0.0/16' - - '219.236.0.0/14' - - '219.242.0.0/15' - - '219.244.0.0/14' - - '220.101.192.0/18' - - '220.112.0.0/14' - - '220.152.128.0/17' - - '220.154.0.0/16' - - '220.155.0.0/21' - - '220.155.9.0/24' - - '220.155.10.0/23' - - '220.155.12.0/22' - - '220.155.16.0/21' - - '220.155.24.0/22' - - '220.155.28.0/23' - - '220.155.31.0/24' - - '220.155.32.0/19' - - '220.155.64.0/18' - - '220.155.128.0/17' - - '220.158.241.0/24' - - '220.158.243.0/24' - - '220.160.0.0/11' - - '220.192.0.0/12' - - '220.231.0.0/18' - - '220.231.128.0/17' - - '220.232.64.0/18' - - '220.234.0.0/16' - - '220.242.0.0/23' - - '220.242.6.0/24' - - '220.242.8.0/24' - - '220.242.12.0/23' - - '220.242.14.0/24' - - '220.242.17.0/24' - - '220.242.18.0/23' - - '220.242.20.0/24' - - '220.242.32.0/20' - - '220.242.48.0/23' - - '220.242.53.0/24' - - '220.242.55.0/24' - - '220.242.56.0/22' - - '220.242.60.0/23' - - '220.242.62.0/24' - - '220.242.64.0/19' - - '220.242.96.0/20' - - '220.242.112.0/21' - - '220.242.120.0/22' - - '220.242.124.0/23' - - '220.242.126.0/24' - - '220.242.134.0/23' - - '220.242.173.0/24' - - '220.242.183.0/24' - - '220.242.197.0/24' - - '220.242.205.0/24' - - '220.242.207.0/24' - - '220.242.217.0/24' - - '220.242.218.0/23' - - '220.242.220.0/22' - - '220.242.224.0/19' - - '220.243.0.0/17' - - '220.243.128.0/18' - - '220.243.192.0/23' - - '220.243.196.0/24' - - '220.243.198.0/23' - - '220.243.201.0/24' - - '220.243.204.0/24' - - '220.243.214.0/24' - - '220.243.216.0/23' - - '220.243.218.0/24' - - '220.243.220.0/23' - - '220.243.223.0/24' - - '220.243.225.0/24' - - '220.243.226.0/23' - - '220.243.229.0/24' - - '220.243.230.0/24' - - '220.243.233.0/24' - - '220.243.234.0/23' - - '220.243.237.0/24' - - '220.243.238.0/23' - - '220.243.243.0/24' - - '220.243.244.0/24' - - '220.243.246.0/23' - - '220.243.249.0/24' - - '220.243.250.0/24' - - '220.243.252.0/24' - - '220.243.254.0/23' - - '220.247.136.0/21' - - '220.248.0.0/14' - - '220.252.0.0/16' - - '221.0.0.0/13' - - '221.8.0.0/14' - - '221.12.0.0/17' - - '221.12.128.0/18' - - '221.13.0.0/16' - - '221.14.0.0/15' - - '221.122.0.0/15' - - '221.128.128.0/17' - - '221.129.0.0/16' - - '221.130.0.0/15' - - '221.133.224.0/19' - - '221.136.0.0/15' - - '221.172.0.0/14' - - '221.176.0.0/19' - - '221.176.32.0/20' - - '221.176.48.0/21' - - '221.176.56.0/24' - - '221.176.58.0/23' - - '221.176.60.0/22' - - '221.176.64.0/18' - - '221.176.128.0/17' - - '221.177.0.0/16' - - '221.178.0.0/15' - - '221.180.0.0/14' - - '221.192.0.0/14' - - '221.196.0.0/15' - - '221.198.0.0/16' - - '221.199.0.0/17' - - '221.199.128.0/18' - - '221.199.192.0/20' - - '221.199.224.0/19' - - '221.200.0.0/13' - - '221.208.0.0/12' - - '221.224.0.0/12' - - '222.16.0.0/12' - - '222.32.0.0/11' - - '222.64.0.0/11' - - '222.125.0.0/16' - - '222.126.128.0/19' - - '222.126.160.0/21' - - '222.126.168.0/22' - - '222.126.172.0/23' - - '222.126.174.40/29' - - '222.126.174.76/30' - - '222.126.174.88/29' - - '222.126.174.144/28' - - '222.126.178.0/23' - - '222.126.180.0/22' - - '222.126.184.0/21' - - '222.126.192.0/21' - - '222.126.200.104/29' - - '222.126.206.0/23' - - '222.126.208.0/22' - - '222.126.212.0/26' - - '222.126.212.64/27' - - '222.126.212.96/28' - - '222.126.212.112/29' - - '222.126.212.128/25' - - '222.126.213.0/24' - - '222.126.214.0/23' - - '222.126.216.0/21' - - '222.126.224.0/19' - - '222.128.0.0/12' - - '222.160.0.0/14' - - '222.168.0.0/13' - - '222.176.0.0/12' - - '222.192.0.0/11' - - '222.240.0.0/13' - - '222.248.0.0/15' - - '223.0.0.0/12' - - '223.20.0.0/15' - - '223.27.184.0/22' - - '223.29.208.0/22' - - '223.29.252.0/22' - - '223.64.0.0/11' - - '223.96.0.0/12' - - '223.112.0.0/14' - - '223.116.0.0/15' - - '223.120.0.0/13' - - '223.128.0.0/15' - - '223.144.0.0/12' - - '223.160.0.0/14' - - '223.166.0.0/15' - - '223.192.0.0/15' - - '223.198.0.0/15' - - '223.201.8.0/21' - - '223.201.16.0/20' - - '223.201.32.0/19' - - '223.201.64.0/18' - - '223.201.128.0/17' - - '223.202.0.0/15' - - '223.208.0.0/13' - - '223.220.0.0/15' - - '223.223.176.0/20' - - '223.223.192.0/20' - - '223.240.0.0/13' - - '223.248.0.0/14' - - '223.252.128.0/19' - - '223.252.192.0/18' - - '223.254.0.0/16' - - '223.255.0.0/17' - - '223.255.236.0/22' - - '223.255.252.0/23' \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Global.yaml b/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Global.yaml deleted file mode 100644 index 69ad117a46..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Global.yaml +++ /dev/null @@ -1,541 +0,0 @@ -payload: - # (DNS Cache Pollution) - # > Google - - DOMAIN-SUFFIX,appspot.com - - DOMAIN-SUFFIX,blogger.com - - DOMAIN-SUFFIX,getoutline.org - - DOMAIN-SUFFIX,gvt0.com - - DOMAIN-SUFFIX,gvt1.com - - DOMAIN-SUFFIX,gvt3.com - - DOMAIN-SUFFIX,xn--ngstr-lra8j.com - - DOMAIN-KEYWORD,google - - DOMAIN-KEYWORD,blogspot - # > Microsoft - - DOMAIN-SUFFIX,onedrive.live.com - - DOMAIN,az416426.vo.msecnd.net - - DOMAIN,az668014.vo.msecnd.net - # > Facebook - - DOMAIN-SUFFIX,cdninstagram.com - - DOMAIN-SUFFIX,facebook.com - - DOMAIN-SUFFIX,facebook.net - - DOMAIN-SUFFIX,fb.com - - DOMAIN-SUFFIX,fb.me - - DOMAIN-SUFFIX,fbaddins.com - - DOMAIN-SUFFIX,fbcdn.net - - DOMAIN-SUFFIX,fbsbx.com - - DOMAIN-SUFFIX,fbworkmail.com - - DOMAIN-SUFFIX,instagram.com - - DOMAIN-SUFFIX,m.me - - DOMAIN-SUFFIX,messenger.com - - DOMAIN-SUFFIX,oculus.com - - DOMAIN-SUFFIX,oculuscdn.com - - DOMAIN-SUFFIX,rocksdb.org - - DOMAIN-SUFFIX,whatsapp.com - - DOMAIN-SUFFIX,whatsapp.net - # > Twitter - - DOMAIN-SUFFIX,pscp.tv - - DOMAIN-SUFFIX,periscope.tv - - DOMAIN-SUFFIX,t.co - - DOMAIN-SUFFIX,twimg.co - - DOMAIN-SUFFIX,twimg.com - - DOMAIN-SUFFIX,twitpic.com - - DOMAIN-SUFFIX,twitter.com - - DOMAIN-SUFFIX,vine.co - # > Telegram - - DOMAIN-SUFFIX,telegra.ph - - DOMAIN-SUFFIX,telegram.org - - IP-CIDR,91.108.4.0/22,no-resolve - - IP-CIDR,91.108.8.0/22,no-resolve - - IP-CIDR,91.108.12.0/22,no-resolve - - IP-CIDR,91.108.16.0/22,no-resolve - - IP-CIDR,91.108.56.0/22,no-resolve - - IP-CIDR,149.154.160.0/20,no-resolve - - IP-CIDR,2001:b28:f23d::/48,no-resolve - - IP-CIDR,2001:b28:f23f::/48,no-resolve - - IP-CIDR,2001:67c:4e8::/48,no-resolve - # > Line - - DOMAIN-SUFFIX,line.me - - DOMAIN-SUFFIX,line-apps.com - - DOMAIN-SUFFIX,line-scdn.net - - DOMAIN-SUFFIX,naver.jp - - IP-CIDR,103.2.30.0/23,no-resolve - - IP-CIDR,125.209.208.0/20,no-resolve - - IP-CIDR,147.92.128.0/17,no-resolve - - IP-CIDR,203.104.144.0/21,no-resolve - # > Akamai - - DOMAIN,a248.e.akamai.net - - DOMAIN,a771.dscq.akamai.net - # > Amazon CloudFront - - DOMAIN,d3c33hcgiwev3.cloudfront.net - # > Others - - DOMAIN-SUFFIX,4shared.com - - DOMAIN-SUFFIX,9cache.com - - DOMAIN-SUFFIX,9gag.com - - DOMAIN-SUFFIX,abc.com - - DOMAIN-SUFFIX,abc.net.au - - DOMAIN-SUFFIX,abebooks.com - - DOMAIN-SUFFIX,amazon.co.jp - - DOMAIN-SUFFIX,ao3.org - - DOMAIN-SUFFIX,apigee.com - - DOMAIN-SUFFIX,apkcombo.com - - DOMAIN-SUFFIX,apk-dl.com - - DOMAIN-SUFFIX,apkfind.com - - DOMAIN-SUFFIX,apkmirror.com - - DOMAIN-SUFFIX,apkmonk.com - - DOMAIN-SUFFIX,apkpure.com - - DOMAIN-SUFFIX,aptoide.com - - DOMAIN-SUFFIX,archive.is - - DOMAIN-SUFFIX,archive.org - - DOMAIN-SUFFIX,archiveofourown.com - - DOMAIN-SUFFIX,archiveofourown.org - - DOMAIN-SUFFIX,arte.tv - - DOMAIN-SUFFIX,artstation.com - - DOMAIN-SUFFIX,arukas.io - - DOMAIN-SUFFIX,ask.com - - DOMAIN-SUFFIX,avg.com - - DOMAIN-SUFFIX,avgle.com - - DOMAIN-SUFFIX,badoo.com - - DOMAIN-SUFFIX,bandwagonhost.com - - DOMAIN-SUFFIX,bangkokpost.com - - DOMAIN-SUFFIX,bbc.com - - DOMAIN-SUFFIX,behance.net - - DOMAIN-SUFFIX,bibox.com - - DOMAIN-SUFFIX,biggo.com.tw - - DOMAIN-SUFFIX,binance.com - - DOMAIN-SUFFIX,bit.ly - - DOMAIN-SUFFIX,bitcointalk.org - - DOMAIN-SUFFIX,bitfinex.com - - DOMAIN-SUFFIX,bitmex.com - - DOMAIN-SUFFIX,bit-z.com - - DOMAIN-SUFFIX,bloglovin.com - - DOMAIN-SUFFIX,bloomberg.cn - - DOMAIN-SUFFIX,bloomberg.com - - DOMAIN-SUFFIX,blubrry.com - - DOMAIN-SUFFIX,book.com.tw - - DOMAIN-SUFFIX,booklive.jp - - DOMAIN-SUFFIX,books.com.tw - - DOMAIN-SUFFIX,boslife.net - - DOMAIN-SUFFIX,box.com - - DOMAIN-SUFFIX,brave.com - - DOMAIN-SUFFIX,businessinsider.com - - DOMAIN-SUFFIX,buzzfeed.com - - DOMAIN-SUFFIX,bwh1.net - - DOMAIN-SUFFIX,castbox.fm - - DOMAIN-SUFFIX,cbc.ca - - DOMAIN-SUFFIX,cdw.com - - DOMAIN-SUFFIX,change.org - - DOMAIN-SUFFIX,channelnewsasia.com - - DOMAIN-SUFFIX,ck101.com - - DOMAIN-SUFFIX,clarionproject.org - - DOMAIN-SUFFIX,cloudcone.com - - DOMAIN-SUFFIX,clyp.it - - DOMAIN-SUFFIX,cna.com.tw - - DOMAIN-SUFFIX,comparitech.com - - DOMAIN-SUFFIX,conoha.jp - - DOMAIN-SUFFIX,crucial.com - - DOMAIN-SUFFIX,cts.com.tw - - DOMAIN-SUFFIX,cw.com.tw - - DOMAIN-SUFFIX,cyberctm.com - - DOMAIN-SUFFIX,dailymotion.com - - DOMAIN-SUFFIX,dailyview.tw - - DOMAIN-SUFFIX,daum.net - - DOMAIN-SUFFIX,daumcdn.net - - DOMAIN-SUFFIX,dcard.tw - - DOMAIN-SUFFIX,deadline.com - - DOMAIN-SUFFIX,deepdiscount.com - - DOMAIN-SUFFIX,depositphotos.com - - DOMAIN-SUFFIX,deviantart.com - - DOMAIN-SUFFIX,disconnect.me - - DOMAIN-SUFFIX,discordapp.com - - DOMAIN-SUFFIX,discordapp.net - - DOMAIN-SUFFIX,disqus.com - - DOMAIN-SUFFIX,dlercloud.com - - DOMAIN-SUFFIX,dmhy.org - - DOMAIN-SUFFIX,dns2go.com - - DOMAIN-SUFFIX,dowjones.com - - DOMAIN-SUFFIX,dropbox.com - - DOMAIN-SUFFIX,dropboxapi.com - - DOMAIN-SUFFIX,dropboxusercontent.com - - DOMAIN-SUFFIX,duckduckgo.com - - DOMAIN-SUFFIX,duyaoss.com - - DOMAIN-SUFFIX,dw.com - - DOMAIN-SUFFIX,dynu.com - - DOMAIN-SUFFIX,earthcam.com - - DOMAIN-SUFFIX,ebookservice.tw - - DOMAIN-SUFFIX,economist.com - - DOMAIN-SUFFIX,edgecastcdn.net - - DOMAIN-SUFFIX,edu - - DOMAIN-SUFFIX,edx-cdn.org - - DOMAIN-SUFFIX,elpais.com - - DOMAIN-SUFFIX,enanyang.my - - DOMAIN-SUFFIX,encyclopedia.com - - DOMAIN-SUFFIX,esoir.be - - DOMAIN-SUFFIX,etherscan.io - - DOMAIN-SUFFIX,euronews.com - - DOMAIN-SUFFIX,evozi.com - - DOMAIN-SUFFIX,exblog.jp - - DOMAIN-SUFFIX,feeder.co - - DOMAIN-SUFFIX,feedly.com - - DOMAIN-SUFFIX,feedx.net - - DOMAIN-SUFFIX,firech.at - - DOMAIN-SUFFIX,flickr.com - - DOMAIN-SUFFIX,flipboard.com - - DOMAIN-SUFFIX,flitto.com - - DOMAIN-SUFFIX,foreignpolicy.com - - DOMAIN-SUFFIX,fortawesome.com - - DOMAIN-SUFFIX,freetls.fastly.net - - DOMAIN-SUFFIX,friday.tw - - DOMAIN-SUFFIX,ft.com - - DOMAIN-SUFFIX,ftchinese.com - - DOMAIN-SUFFIX,ftimg.net - - DOMAIN-SUFFIX,gate.io - - DOMAIN-SUFFIX,getlantern.org - - DOMAIN-SUFFIX,getsync.com - - DOMAIN-SUFFIX,github.com - - DOMAIN-SUFFIX,github.io - - DOMAIN-SUFFIX,githubusercontent.com - - DOMAIN-SUFFIX,globalvoices.org - - DOMAIN-SUFFIX,goo.ne.jp - - DOMAIN-SUFFIX,goodreads.com - - DOMAIN-SUFFIX,gov - - DOMAIN-SUFFIX,gov.tw - - DOMAIN-SUFFIX,greatfire.org - - DOMAIN-SUFFIX,gumroad.com - - DOMAIN-SUFFIX,hbg.com - - DOMAIN-SUFFIX,heroku.com - - DOMAIN-SUFFIX,hightail.com - - DOMAIN-SUFFIX,hk01.com - - DOMAIN-SUFFIX,hkbf.org - - DOMAIN-SUFFIX,hkbookcity.com - - DOMAIN-SUFFIX,hkej.com - - DOMAIN-SUFFIX,hket.com - - DOMAIN-SUFFIX,hootsuite.com - - DOMAIN-SUFFIX,hudson.org - - DOMAIN-SUFFIX,huffpost.com - - DOMAIN-SUFFIX,hyread.com.tw - - DOMAIN-SUFFIX,ibtimes.com - - DOMAIN-SUFFIX,i-cable.com - - DOMAIN-SUFFIX,icij.org - - DOMAIN-SUFFIX,icoco.com - - DOMAIN-SUFFIX,imgur.com - - DOMAIN-SUFFIX,independent.co.uk - - DOMAIN-SUFFIX,initiummall.com - - DOMAIN-SUFFIX,inoreader.com - - DOMAIN-SUFFIX,insecam.org - - DOMAIN-SUFFIX,ipfs.io - - DOMAIN-SUFFIX,issuu.com - - DOMAIN-SUFFIX,istockphoto.com - - DOMAIN-SUFFIX,japantimes.co.jp - - DOMAIN-SUFFIX,jiji.com - - DOMAIN-SUFFIX,jinx.com - - DOMAIN-SUFFIX,jkforum.net - - DOMAIN-SUFFIX,joinmastodon.org - - DOMAIN-SUFFIX,justmysocks.net - - DOMAIN-SUFFIX,justpaste.it - - DOMAIN-SUFFIX,kadokawa.co.jp - - DOMAIN-SUFFIX,kakao.com - - DOMAIN-SUFFIX,kakaocorp.com - - DOMAIN-SUFFIX,kik.com - - DOMAIN-SUFFIX,kingkong.com.tw - - DOMAIN-SUFFIX,knowyourmeme.com - - DOMAIN-SUFFIX,kobo.com - - DOMAIN-SUFFIX,kobobooks.com - - DOMAIN-SUFFIX,kodingen.com - - DOMAIN-SUFFIX,lemonde.fr - - DOMAIN-SUFFIX,lepoint.fr - - DOMAIN-SUFFIX,lihkg.com - - DOMAIN-SUFFIX,limbopro.xyz - - DOMAIN-SUFFIX,listennotes.com - - DOMAIN-SUFFIX,livestream.com - - DOMAIN-SUFFIX,logimg.jp - - DOMAIN-SUFFIX,logmein.com - - DOMAIN-SUFFIX,mail.ru - - DOMAIN-SUFFIX,mailchimp.com - - DOMAIN-SUFFIX,marc.info - - DOMAIN-SUFFIX,matters.news - - DOMAIN-SUFFIX,maying.co - - DOMAIN-SUFFIX,medium.com - - DOMAIN-SUFFIX,mega.nz - - DOMAIN-SUFFIX,mergersandinquisitions.com - - DOMAIN-SUFFIX,mil - - DOMAIN-SUFFIX,mingpao.com - - DOMAIN-SUFFIX,mixi.jp - - DOMAIN-SUFFIX,mobile01.com - - DOMAIN-SUFFIX,mubi.com - - DOMAIN-SUFFIX,myspace.com - - DOMAIN-SUFFIX,myspacecdn.com - - DOMAIN-SUFFIX,nanyang.com - - DOMAIN-SUFFIX,nationalinterest.org - - DOMAIN-SUFFIX,naver.com - - DOMAIN-SUFFIX,nbcnews.com - - DOMAIN-SUFFIX,ndr.de - - DOMAIN-SUFFIX,neowin.net - - DOMAIN-SUFFIX,newstapa.org - - DOMAIN-SUFFIX,nexitally.com - - DOMAIN-SUFFIX,nhk.or.jp - - DOMAIN-SUFFIX,nii.ac.jp - - DOMAIN-SUFFIX,nikkei.com - - DOMAIN-SUFFIX,nitter.net - - DOMAIN-SUFFIX,nofile.io - - DOMAIN-SUFFIX,notion.so - - DOMAIN-SUFFIX,now.com - - DOMAIN-SUFFIX,nrk.no - - DOMAIN-SUFFIX,nuget.org - - DOMAIN-SUFFIX,nyaa.si - - DOMAIN-SUFFIX,nyaa.si - - DOMAIN-SUFFIX,nyt.com - - DOMAIN-SUFFIX,nytchina.com - - DOMAIN-SUFFIX,nytcn.me - - DOMAIN-SUFFIX,nytco.com - - DOMAIN-SUFFIX,nytimes.com - - DOMAIN-SUFFIX,nytimg.com - - DOMAIN-SUFFIX,nytlog.com - - DOMAIN-SUFFIX,nytstyle.com - - DOMAIN-SUFFIX,ok.ru - - DOMAIN-SUFFIX,okex.com - - DOMAIN-SUFFIX,on.cc - - DOMAIN-SUFFIX,orientaldaily.com.my - - DOMAIN-SUFFIX,overcast.fm - - DOMAIN-SUFFIX,paltalk.com - - DOMAIN-SUFFIX,parsevideo.com - - DOMAIN-SUFFIX,pawoo.net - - DOMAIN-SUFFIX,pbxes.com - - DOMAIN-SUFFIX,pcdvd.com.tw - - DOMAIN-SUFFIX,pchome.com.tw - - DOMAIN-SUFFIX,pcloud.com - - DOMAIN-SUFFIX,picacomic.com - - DOMAIN-SUFFIX,pinimg.com - - DOMAIN-SUFFIX,pixiv.net - - DOMAIN-SUFFIX,player.fm - - DOMAIN-SUFFIX,plurk.com - - DOMAIN-SUFFIX,po18.tw - - DOMAIN-SUFFIX,potato.im - - DOMAIN-SUFFIX,potatso.com - - DOMAIN-SUFFIX,prism-break.org - - DOMAIN-SUFFIX,proxifier.com - - DOMAIN-SUFFIX,pt.im - - DOMAIN-SUFFIX,pts.org.tw - - DOMAIN-SUFFIX,pubu.com.tw - - DOMAIN-SUFFIX,pubu.tw - - DOMAIN-SUFFIX,pureapk.com - - DOMAIN-SUFFIX,quora.com - - DOMAIN-SUFFIX,quoracdn.net - - DOMAIN-SUFFIX,qz.com - - DOMAIN-SUFFIX,radio.garden - - DOMAIN-SUFFIX,rakuten.co.jp - - DOMAIN-SUFFIX,rarbgprx.org - - DOMAIN-SUFFIX,readingtimes.com.tw - - DOMAIN-SUFFIX,readmoo.com - - DOMAIN-SUFFIX,redbubble.com - - DOMAIN-SUFFIX,redd.it - - DOMAIN-SUFFIX,reddit.com - - DOMAIN-SUFFIX,redditmedia.com - - DOMAIN-SUFFIX,resilio.com - - DOMAIN-SUFFIX,reuters.com - - DOMAIN-SUFFIX,reutersmedia.net - - DOMAIN-SUFFIX,rfi.fr - - DOMAIN-SUFFIX,rixcloud.com - - DOMAIN-SUFFIX,roadshow.hk - - DOMAIN-SUFFIX,rsshub.app - - DOMAIN-SUFFIX,scmp.com - - DOMAIN-SUFFIX,scribd.com - - DOMAIN-SUFFIX,seatguru.com - - DOMAIN-SUFFIX,shadowsocks.org - - DOMAIN-SUFFIX,shindanmaker.com - - DOMAIN-SUFFIX,shopee.tw - - DOMAIN-SUFFIX,sina.com.hk - - DOMAIN-SUFFIX,slideshare.net - - DOMAIN-SUFFIX,softfamous.com - - DOMAIN-SUFFIX,spiegel.de - - DOMAIN-SUFFIX,ssrcloud.org - - DOMAIN-SUFFIX,startpage.com - - DOMAIN-SUFFIX,steamcommunity.com - - DOMAIN-SUFFIX,steemit.com - - DOMAIN-SUFFIX,steemitwallet.com - - DOMAIN-SUFFIX,straitstimes.com - - DOMAIN-SUFFIX,streema.com - - DOMAIN-SUFFIX,t66y.com - - DOMAIN-SUFFIX,tapatalk.com - - DOMAIN-SUFFIX,teco-hk.org - - DOMAIN-SUFFIX,teco-mo.org - - DOMAIN-SUFFIX,teddysun.com - - DOMAIN-SUFFIX,textnow.me - - DOMAIN-SUFFIX,theguardian.com - - DOMAIN-SUFFIX,theinitium.com - - DOMAIN-SUFFIX,themoviedb.org - - DOMAIN-SUFFIX,thetvdb.com - - DOMAIN-SUFFIX,time.com - - DOMAIN-SUFFIX,tineye.com - - DOMAIN-SUFFIX,tiny.cc - - DOMAIN-SUFFIX,tinyurl.com - - DOMAIN-SUFFIX,torproject.org - - DOMAIN-SUFFIX,tumblr.com - - DOMAIN-SUFFIX,turbobit.net - - DOMAIN-SUFFIX,tutanota.com - - DOMAIN-SUFFIX,tvboxnow.com - - DOMAIN-SUFFIX,udn.com - - DOMAIN-SUFFIX,unseen.is - - DOMAIN-SUFFIX,upmedia.mg - - DOMAIN-SUFFIX,uptodown.com - - DOMAIN-SUFFIX,urbandictionary.com - - DOMAIN-SUFFIX,ustream.tv - - DOMAIN-SUFFIX,uwants.com - - DOMAIN-SUFFIX,v2ray.com - - DOMAIN-SUFFIX,viber.com - - DOMAIN-SUFFIX,videopress.com - - DOMAIN-SUFFIX,vimeo.com - - DOMAIN-SUFFIX,voachinese.com - - DOMAIN-SUFFIX,voanews.com - - DOMAIN-SUFFIX,voxer.com - - DOMAIN-SUFFIX,vzw.com - - DOMAIN-SUFFIX,w3schools.com - - DOMAIN-SUFFIX,washingtonpost.com - - DOMAIN-SUFFIX,wattpad.com - - DOMAIN-SUFFIX,whoer.net - - DOMAIN-SUFFIX,wikileaks.org - - DOMAIN-SUFFIX,wikimapia.org - - DOMAIN-SUFFIX,wikimedia.org - - DOMAIN-SUFFIX,wikinews.org - - DOMAIN-SUFFIX,wikipedia.org - - DOMAIN-SUFFIX,wikiquote.org - - DOMAIN-SUFFIX,wikiwand.com - - DOMAIN-SUFFIX,winudf.com - - DOMAIN-SUFFIX,wire.com - - DOMAIN-SUFFIX,wn.com - - DOMAIN-SUFFIX,wordpress.com - - DOMAIN-SUFFIX,workflow.is - - DOMAIN-SUFFIX,worldcat.org - - DOMAIN-SUFFIX,wsj.com - - DOMAIN-SUFFIX,wsj.net - - DOMAIN-SUFFIX,xhamster.com - - DOMAIN-SUFFIX,xn--90wwvt03e.com - - DOMAIN-SUFFIX,xn--i2ru8q2qg.com - - DOMAIN-SUFFIX,xnxx.com - - DOMAIN-SUFFIX,xvideos.com - - DOMAIN-SUFFIX,yahoo.com - - DOMAIN-SUFFIX,yandex.ru - - DOMAIN-SUFFIX,ycombinator.com - - DOMAIN-SUFFIX,yesasia.com - - DOMAIN-SUFFIX,yes-news.com - - DOMAIN-SUFFIX,yomiuri.co.jp - - DOMAIN-SUFFIX,you-get.org - - DOMAIN-SUFFIX,zaobao.com - - DOMAIN-SUFFIX,zb.com - - DOMAIN-SUFFIX,zello.com - - DOMAIN-SUFFIX,zeronet.io - - DOMAIN-SUFFIX,zoom.us - - - DOMAIN,cc.tvbs.com.tw - - DOMAIN,ocsp.int-x3.letsencrypt.org - - DOMAIN,payments-jp.amazon.com - - DOMAIN,s3-ap-northeast-1.amazonaws.com - - DOMAIN,s3-ap-southeast-2.amazonaws.com - - DOMAIN,search.avira.com - - DOMAIN,us.weibo.com - - - DOMAIN-KEYWORD,jav - - DOMAIN-KEYWORD,pinterest - - DOMAIN-KEYWORD,porn - - # (IP Blackhole) - # > Google - - DOMAIN-SUFFIX,abc.xyz - - DOMAIN-SUFFIX,advertisercommunity.com - - DOMAIN-SUFFIX,ampproject.org - - DOMAIN-SUFFIX,android.com - - DOMAIN-SUFFIX,androidify.com - - DOMAIN-SUFFIX,dialogflow.com - - DOMAIN-SUFFIX,autodraw.com - - DOMAIN-SUFFIX,capitalg.com - - DOMAIN-SUFFIX,certificate-transparency.org - - DOMAIN-SUFFIX,chrome.com - - DOMAIN-SUFFIX,chromeexperiments.com - - DOMAIN-SUFFIX,chromestatus.com - - DOMAIN-SUFFIX,chromium.org - - DOMAIN-SUFFIX,creativelab5.com - - DOMAIN-SUFFIX,debug.com - - DOMAIN-SUFFIX,deepmind.com - - DOMAIN-SUFFIX,firebaseio.com - - DOMAIN-SUFFIX,getmdl.io - - DOMAIN-SUFFIX,ggpht.com - - DOMAIN-SUFFIX,gmail.com - - DOMAIN-SUFFIX,gmodules.com - - DOMAIN-SUFFIX,godoc.org - - DOMAIN-SUFFIX,golang.org - - DOMAIN-SUFFIX,gstatic.com - - DOMAIN-SUFFIX,gv.com - - DOMAIN-SUFFIX,gwtproject.org - - DOMAIN-SUFFIX,itasoftware.com - - DOMAIN-SUFFIX,madewithcode.com - - DOMAIN-SUFFIX,material.io - - DOMAIN-SUFFIX,page.link - - DOMAIN-SUFFIX,polymer-project.org - - DOMAIN-SUFFIX,admin.recaptcha.net - - DOMAIN-SUFFIX,recaptcha.net - - DOMAIN-SUFFIX,shattered.io - - DOMAIN-SUFFIX,synergyse.com - - DOMAIN-SUFFIX,telephony.goog - - DOMAIN-SUFFIX,tensorflow.org - - DOMAIN-SUFFIX,tfhub.dev - - DOMAIN-SUFFIX,tiltbrush.com - - DOMAIN-SUFFIX,waveprotocol.org - - DOMAIN-SUFFIX,waymo.com - - DOMAIN-SUFFIX,webmproject.org - - DOMAIN-SUFFIX,webrtc.org - - DOMAIN-SUFFIX,whatbrowser.org - - DOMAIN-SUFFIX,widevine.com - - DOMAIN-SUFFIX,x.company - - DOMAIN-SUFFIX,youtu.be - - DOMAIN-SUFFIX,yt.be - - DOMAIN-SUFFIX,ytimg.com - # > Telegram - - DOMAIN-SUFFIX,t.me - - DOMAIN-SUFFIX,tdesktop.com - - DOMAIN-SUFFIX,telegram.me - - DOMAIN-SUFFIX,telesco.pe - # > Facebook - - DOMAIN-SUFFIX,facebook.br - - DOMAIN-SUFFIX,facebook.design - - DOMAIN-SUFFIX,facebook.hu - - DOMAIN-SUFFIX,facebook.in - - DOMAIN-SUFFIX,facebook.nl - - DOMAIN-SUFFIX,facebook.se - - DOMAIN-SUFFIX,facebookmail.com - # > Others - - DOMAIN-SUFFIX,noxinfluencer.com - - DOMAIN-SUFFIX,smartmailcloud.com - - DOMAIN-SUFFIX,weebly.com - - DOMAIN-SUFFIX,twitter.jp - - # (Region-Restricted Access Denied) - # ---(Apple)--- - # > Apple URL Shortener - - DOMAIN-SUFFIX,appsto.re - # > iBooks Store download - - DOMAIN,books.itunes.apple.com - # > App Store Preview - - DOMAIN,apps.apple.com - - DOMAIN,itunes.apple.com - # > Spotlight - - DOMAIN,api-glb-sea.smoot.apple.com - # > Look Up - - DOMAIN,lookup-api.apple.com - - DOMAIN-SUFFIX,smoot.apple.com - # > Apple Music Web - - DOMAIN,beta.music.apple.com - # ------ - # > Others - - DOMAIN-SUFFIX,bing.com - - DOMAIN-SUFFIX,cccat.io - - DOMAIN-SUFFIX,ifixit.com - - DOMAIN-SUFFIX,mangakakalot.com - - DOMAIN-SUFFIX,shopeemobile.com - - # (Network Jitter) - # > Fix download or update is stuck in App Store,and when change the Apple ID region,the payment information can be selected by none. - - DOMAIN-KEYWORD,buy.itunes.apple.com - - DOMAIN-SUFFIX,cloudcone.com.cn - - DOMAIN-SUFFIX,inkbunny.net - - DOMAIN-SUFFIX,metapix.net - - DOMAIN-SUFFIX,s3.amazonaws.com - - DOMAIN-SUFFIX,zaobao.com.sg \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Streaming.yaml b/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Streaming.yaml deleted file mode 100644 index 71f8e847d7..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Streaming.yaml +++ /dev/null @@ -1,262 +0,0 @@ -payload: - # Streaming Media - # (Podcast) - # > Himalaya - # USER-AGENT,Himalaya* - - DOMAIN-SUFFIX,himalaya.com - # (Music) - # > Deezer - # USER-AGENT,Deezer* - - DOMAIN-SUFFIX,deezer.com - - DOMAIN-SUFFIX,dzcdn.net - # > JOOX - # USER-AGENT,JOOX* - # USER-AGENT,WeMusic* - - DOMAIN-SUFFIX,joox.com - - DOMAIN-KEYWORD,jooxweb-api - # > KKBOX - - DOMAIN-SUFFIX,kkbox.com - - DOMAIN-SUFFIX,kkbox.com.tw - - DOMAIN-SUFFIX,kfs.io - # > Pandora - # USER-AGENT,Pandora* - - DOMAIN-SUFFIX,pandora.com - # > SoundCloud - # USER-AGENT,SoundCloud* - - DOMAIN-SUFFIX,p-cdn.us - - DOMAIN-SUFFIX,sndcdn.com - - DOMAIN-SUFFIX,soundcloud.com - # > Spotify - # USER-AGENT,Spotify* - - DOMAIN-SUFFIX,pscdn.co - - DOMAIN-SUFFIX,scdn.co - - DOMAIN-SUFFIX,spotify.com - - DOMAIN-SUFFIX,spoti.fi - - DOMAIN-KEYWORD,spotify.com - - DOMAIN-KEYWORD,-spotify-com - # > TIDAL - # USER-AGENT,TIDAL* - - DOMAIN-SUFFIX,tidal.com - # > YouTubeMusic - # USER-AGENT,com.google.ios.youtubemusic* - # USER-AGENT,YouTubeMusic* - # (Video) - # > AbemaTV - # USER-AGENT,AbemaTV* - - DOMAIN-SUFFIX,abema.io - - DOMAIN-SUFFIX,abema.tv - - DOMAIN-SUFFIX,ameba.jp - - DOMAIN-SUFFIX,hayabusa.io - - DOMAIN-KEYWORD,abematv.akamaized.net - # > All 4 - # USER-AGENT,All4* - - DOMAIN-SUFFIX,c4assets.com - - DOMAIN-SUFFIX,channel4.com - # > Amazon Prime Video - # USER-AGENT,InstantVideo.US* - # USER-AGENT,Prime%20Video* - - DOMAIN-SUFFIX,aiv-cdn.net - - DOMAIN-SUFFIX,aiv-delivery.net - - DOMAIN-SUFFIX,amazonvideo.com - - DOMAIN-SUFFIX,primevideo.com - - DOMAIN,avodmp4s3ww-a.akamaihd.net - - DOMAIN,d25xi40x97liuc.cloudfront.net - - DOMAIN,dmqdd6hw24ucf.cloudfront.net - - DOMAIN,dmqdd6hw24ucf.cloudfront.net - - DOMAIN,d22qjgkvxw22r6.cloudfront.net - - DOMAIN,d1v5ir2lpwr8os.cloudfront.net - - DOMAIN-KEYWORD,avoddashs - # > Apple TV - - DOMAIN-SUFFIX,tv.apple.com - - DOMAIN,hls.itunes.apple.com - - DOMAIN,hls-amt.itunes.apple.com - - DOMAIN,play-edge.itunes.apple.com - # > Bahamut - # USER-AGENT,Anime* - - DOMAIN-SUFFIX,bahamut.com.tw - - DOMAIN-SUFFIX,gamer.com.tw - - DOMAIN,gamer-cds.cdn.hinet.net - - DOMAIN,gamer2-cds.cdn.hinet.net - # > BBC iPlayer - # USER-AGENT,BBCiPlayer* - - DOMAIN-SUFFIX,bbc.co.uk - - DOMAIN-SUFFIX,bbci.co.uk - - DOMAIN-KEYWORD,bbcfmt - - DOMAIN-KEYWORD,uk-live - # > DAZN - # USER-AGENT,DAZN* - - DOMAIN-SUFFIX,dazn.com - - DOMAIN-SUFFIX,dazn-api.com - - DOMAIN,d151l6v8er5bdm.cloudfront.net - - DOMAIN-KEYWORD,voddazn - # > Disney+ - # USER-AGENT,Disney+* - - DOMAIN-SUFFIX,disney-plus.net - - DOMAIN-SUFFIX,disneyplus.com - - DOMAIN-SUFFIX,dssott.com - - DOMAIN,cdn.registerdisney.go.com - - DOMAIN,global.edge.bamgrid.com - # > DMM - - DOMAIN-SUFFIX,dmm.co.jp - - DOMAIN-SUFFIX,dmm.com - - DOMAIN-SUFFIX,dmm-extension.com - # > encoreTVB - # USER-AGENT,encoreTVB* - - DOMAIN-SUFFIX,encoretvb.com - - DOMAIN,edge.api.brightcove.com - - DOMAIN,bcbolt446c5271-a.akamaihd.net - # > FOX NOW - # USER-AGENT,FOX%20NOW* - - DOMAIN-SUFFIX,fox.com - - DOMAIN-SUFFIX,foxdcg.com - - DOMAIN-SUFFIX,theplatform.com - - DOMAIN-SUFFIX,uplynk.com - # > FOX+ - - DOMAIN-SUFFIX,foxplus.com - # - DOMAIN-SUFFIX,theplatform.com - - DOMAIN,cdn-fox-networks-group-green.akamaized.net - - DOMAIN,d3cv4a9a9wh0bt.cloudfront.net - - DOMAIN,foxsports01-i.akamaihd.net - - DOMAIN,foxsports02-i.akamaihd.net - - DOMAIN,foxsports03-i.akamaihd.net - - DOMAIN,staticasiafox.akamaized.net - # > HBO NOW & Max - # USER-AGENT,HBO%20NOW* - - DOMAIN-SUFFIX,hbo.com - - DOMAIN-SUFFIX,hbogo.com - - DOMAIN-SUFFIX,hbonow.com - # USER-AGENT,HBOMAX* - - DOMAIN-SUFFIX,hbomax.com - # > HBO GO HKG - # USER-AGENT,HBO%20GO%20PROD%20HKG* - - DOMAIN-SUFFIX,hbogoasia.com - - DOMAIN-SUFFIX,hbogoasia.hk - - DOMAIN,bcbolthboa-a.akamaihd.net - - DOMAIN,players.brightcove.net - - DOMAIN,s3-ap-southeast-1.amazonaws.com - - DOMAIN,dai3fd1oh325y.cloudfront.net - - DOMAIN,44wilhpljf.execute-api.ap-southeast-1.amazonaws.com - - DOMAIN,hboasia1-i.akamaihd.net - - DOMAIN,hboasia2-i.akamaihd.net - - DOMAIN,hboasia3-i.akamaihd.net - - DOMAIN,hboasia4-i.akamaihd.net - - DOMAIN,hboasia5-i.akamaihd.net - - DOMAIN,cf-images.ap-southeast-1.prod.boltdns.net - # > 华文电视 - # USER-AGENT,HWTVMobile* - - DOMAIN-SUFFIX,5itv.tv - - DOMAIN-SUFFIX,ocnttv.com - # > Hulu - - DOMAIN-SUFFIX,hulu.com - - DOMAIN-SUFFIX,huluim.com - - DOMAIN-SUFFIX,hulustream.com - # > Hulu / フールー - - DOMAIN-SUFFIX,happyon.jp - - DOMAIN-SUFFIX,hjholdings.jp - - DOMAIN-SUFFIX,hulu.jp - # > ITV - # USER-AGENT,ITV_Player* - - DOMAIN-SUFFIX,itv.com - - DOMAIN-SUFFIX,itvstatic.com - - DOMAIN,itvpnpmobile-a.akamaihd.net - # > KKTV - # USER-AGENT,KKTV* - # USER-AGENT,com.kktv.ios.kktv* - - DOMAIN-SUFFIX,kktv.com.tw - - DOMAIN-SUFFIX,kktv.me - - DOMAIN,kktv-theater.kk.stream - # > LINE TV - # USER-AGENT,LINE%20TV* - - DOMAIN-SUFFIX,linetv.tw - - DOMAIN,d3c7rimkq79yfu.cloudfront.net - # > LiTV - - DOMAIN-SUFFIX,litv.tv - - DOMAIN,litvfreemobile-hichannel.cdn.hinet.net - # > My5 - # USER-AGENT,My5* - - DOMAIN-SUFFIX,channel5.com - - DOMAIN-SUFFIX,my5.tv - - DOMAIN,d349g9zuie06uo.cloudfront.net - # > myTV SUPER - # USER-AGENT,mytv* - - DOMAIN-SUFFIX,mytvsuper.com - - DOMAIN-SUFFIX,tvb.com - # > Netflix - # USER-AGENT,Argo* - - DOMAIN-SUFFIX,netflix.com - - DOMAIN-SUFFIX,netflix.net - - DOMAIN-SUFFIX,nflxext.com - - DOMAIN-SUFFIX,nflximg.com - - DOMAIN-SUFFIX,nflximg.net - - DOMAIN-SUFFIX,nflxso.net - - DOMAIN-SUFFIX,nflxvideo.net - - DOMAIN-SUFFIX,netflixdnstest0.com - - DOMAIN-SUFFIX,netflixdnstest1.com - - DOMAIN-SUFFIX,netflixdnstest2.com - - DOMAIN-SUFFIX,netflixdnstest3.com - - DOMAIN-SUFFIX,netflixdnstest4.com - - DOMAIN-SUFFIX,netflixdnstest5.com - - DOMAIN-SUFFIX,netflixdnstest6.com - - DOMAIN-SUFFIX,netflixdnstest7.com - - DOMAIN-SUFFIX,netflixdnstest8.com - - DOMAIN-SUFFIX,netflixdnstest9.com - - IP-CIDR,23.246.0.0/18,no-resolve - - IP-CIDR,37.77.184.0/21,no-resolve - - IP-CIDR,45.57.0.0/17,no-resolve - - IP-CIDR,64.120.128.0/17,no-resolve - - IP-CIDR,66.197.128.0/17,no-resolve - - IP-CIDR,108.175.32.0/20,no-resolve - - IP-CIDR,192.173.64.0/18,no-resolve - - IP-CIDR,198.38.96.0/19,no-resolve - - IP-CIDR,198.45.48.0/20,no-resolve - # > niconico - # USER-AGENT,Niconico* - - DOMAIN-SUFFIX,dmc.nico - - DOMAIN-SUFFIX,nicovideo.jp - - DOMAIN-SUFFIX,nimg.jp - - DOMAIN-SUFFIX,socdm.com - # > Now E - - DOMAIN-SUFFIX,nowe.com - - DOMAIN-SUFFIX,nowestatic.com - # > PBS - # USER-AGENT,PBS* - - DOMAIN-SUFFIX,pbs.org - # > Pornhub - - DOMAIN-SUFFIX,phncdn.com - - DOMAIN-SUFFIX,phprcdn.com - - DOMAIN-SUFFIX,pornhub.com - - DOMAIN-SUFFIX,pornhubpremium.com - # > 台湾好 - # USER-AGENT,TaiwanGood* - - DOMAIN-SUFFIX,skyking.com.tw - - DOMAIN,hamifans.emome.net - # > TikTok - # USER-AGENT,TikTok* - - DOMAIN-SUFFIX,byteoversea.com - - DOMAIN-SUFFIX,ibytedtos.com - - DOMAIN-SUFFIX,ipstatp.com - - DOMAIN-SUFFIX,muscdn.com - - DOMAIN-SUFFIX,musical.ly - - DOMAIN-SUFFIX,tiktok.com - - DOMAIN-SUFFIX,tiktokcdn.com - - DOMAIN-SUFFIX,tiktokv.com - - DOMAIN-KEYWORD,-tiktokcdn-com - # > Twitch - - DOMAIN-SUFFIX,jtvnw.net - - DOMAIN-SUFFIX,ttvnw.net - - DOMAIN-SUFFIX,twitch.tv - - DOMAIN-SUFFIX,twitchcdn.net - # > ViuTV - # USER-AGENT,Viu* - - DOMAIN-SUFFIX,viu.com - - DOMAIN-SUFFIX,viu.tv - - DOMAIN,api.viu.now.com - - DOMAIN,d1k2us671qcoau.cloudfront.net - - DOMAIN,d2anahhhmp1ffz.cloudfront.net - - DOMAIN,dfp6rglgjqszk.cloudfront.net - # > YouTube - # USER-AGENT,com.google.ios.youtube* - # USER-AGENT,YouTube* - - DOMAIN-SUFFIX,googlevideo.com - - DOMAIN-SUFFIX,youtube.com - - DOMAIN,youtubei.googleapis.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/StreamingSE.yaml b/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/StreamingSE.yaml deleted file mode 100644 index 8f184d5e9b..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/StreamingSE.yaml +++ /dev/null @@ -1,13 +0,0 @@ -payload: - # > bilibili - - DOMAIN-SUFFIX,biliapi.net - - DOMAIN,api.bilibili.com - - DOMAIN,www.bilibili.com - - DOMAIN,upos-hz-mirrorakam.akamaized.net - # > 愛奇藝台灣站 - - DOMAIN,cache.video.iqiyi.com - # > 芒果TV国际 - - DOMAIN-SUFFIX,api.mgtv.com - # > WeTV - - DOMAIN-SUFFIX,wetv.vip - - DOMAIN-SUFFIX,wetvinfo.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Unbreak.yaml b/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Unbreak.yaml deleted file mode 100644 index b64bc02fb0..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/openclash/rule_provider/Unbreak.yaml +++ /dev/null @@ -1,23 +0,0 @@ -payload: - # Unbreak - # > General - # USER-AGENT,archero* - # USER-AGENT,coffeecorp* - # USER-AGENT,Coffee%20Corp* - # USER-AGENT,restaurant-mobile* - - DOMAIN,app.adjust.com - # > Alibaba - - DOMAIN,log.mmstat.com - - DOMAIN,sycm.mmstat.com - # > Google - - DOMAIN-SUFFIX,googletraveladservices.com - - DOMAIN,dl.google.com - - DOMAIN,mtalk.google.com - # > Tencent - - DOMAIN,livew.l.qq.com - - DOMAIN,vd.l.qq.com - # > Strava - - DOMAIN,analytics.strava.com - # > Umeng - - DOMAIN,msg.umeng.com - - DOMAIN,msg.umengcloud.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/etc/uci-defaults/luci-openclash b/package/ctcgfw/luci-app-openclash/root/etc/uci-defaults/luci-openclash deleted file mode 100644 index 30335dbc1b..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/etc/uci-defaults/luci-openclash +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/sh - -uci -q delete ucitrack.@openclash[-1] -uci -q add ucitrack openclash -uci -q set ucitrack.@openclash[-1].init=openclash -uci -q commit ucitrack -uci -q delete firewall.openclash -uci -q set firewall.openclash=include -uci -q set firewall.openclash.type=script -uci -q set firewall.openclash.path=/var/etc/openclash.include -uci -q set firewall.openclash.reload=1 -uci -q commit firewall - -mkdir -p /etc/openclash/config -mkdir -p /etc/openclash/proxy_provider -mkdir -p /etc/openclash/backup -mkdir -p /etc/openclash/core -mkdir -p /etc/openclash/history -mkdir -p /usr/share/openclash/backup - -cp -f "/etc/config/openclash" "/usr/share/openclash/backup/openclash" >/dev/null 2>&1 -cp -f "/etc/openclash/custom/openclash_custom_rules.list" "/usr/share/openclash/backup/openclash_custom_rules.list" >/dev/null 2>&1 -cp -f "/etc/openclash/custom/openclash_custom_rules_2.list" "/usr/share/openclash/backup/openclash_custom_rules_2.list" >/dev/null 2>&1 -cp -f "/etc/openclash/custom/openclash_custom_hosts.list" "/usr/share/openclash/backup/openclash_custom_hosts.list" >/dev/null 2>&1 -cp -f "/etc/openclash/custom/openclash_custom_fake_filter.list" "/usr/share/openclash/backup/openclash_custom_fake_filter.list" >/dev/null 2>&1 -cp -f "/etc/openclash/custom/openclash_custom_domain_dns.list" "/usr/share/openclash/backup/openclash_custom_domain_dns.list" >/dev/null 2>&1 - -mkdir -p /lib/upgrade/keep.d -cat > "/lib/upgrade/keep.d/luci-app-openclash" <<-EOF -/etc/openclash/ -EOF - -if [ -f "/tmp/openclash.bak" ]; then - mv -f "/tmp/openclash.bak" "/etc/config/openclash" >/dev/null 2>&1 - cp -rf "/tmp/openclash/." "/etc/openclash/" >/dev/null 2>&1 - cp -rf "/tmp/openclash_config/." "/etc/openclash/config/" >/dev/null 2>&1 - cp -rf "/tmp/openclash_core/." "/etc/openclash/core/" >/dev/null 2>&1 - cp -rf "/tmp/openclash_history/." "/etc/openclash/history/" >/dev/null 2>&1 - cp -rf "/tmp/openclash_proxy_provider/." "/etc/openclash/proxy_provider/" >/dev/null 2>&1 - cp -rf "/tmp/openclash_rule_provider/." "/etc/openclash/rule_provider/" >/dev/null 2>&1 - cp -rf "/tmp/openclash_game_rules/." "/etc/openclash/game_rules/" >/dev/null 2>&1 - mv -f "/tmp/openclash_custom_rules.list.bak" "/etc/openclash/custom/openclash_custom_rules.list" >/dev/null 2>&1 - mv -f "/tmp/openclash_custom_rules_2.list.bak" "/etc/openclash/custom/openclash_custom_rules_2.list" >/dev/null 2>&1 - mv -f "/tmp/openclash_custom_hosts.list.bak" "/etc/openclash/custom/openclash_custom_hosts.list" >/dev/null 2>&1 - mv -f "/tmp/openclash_custom_fake_filter.list.bak" "/etc/openclash/custom/openclash_custom_fake_filter.list" >/dev/null 2>&1 - mv -f "/tmp/openclash_custom_domain_dns.list.bak" "/etc/openclash/custom/openclash_custom_domain_dns.list" >/dev/null 2>&1 - rm -rf "/etc/openclash/openclash" - rm -rf "/etc/openclash/fake_filter.list" - rm -rf "/etc/openclash/openclash_servers_fake_filter.conf" - rm -rf /tmp/openclash* -fi - -source "/etc/openwrt_release" -case "${DISTRIB_ARCH}" in - aarch64_*) - CORE_ARCH="linux-armv8" - ;; - arm_*_neon-vfp*) - CORE_ARCH="linux-armv7" - ;; - arm_*_neon|arm_*_vfp*) - CORE_ARCH="linux-armv6" - ;; - arm*) - CORE_ARCH="linux-armv5" - ;; - i386_*) - CORE_ARCH="linux-386" - ;; - mips64_*) - CORE_ARCH="linux-mips64" - ;; - mips_*) - CORE_ARCH="linux-mips-softfloat" - ;; - mipsel_*) - CORE_ARCH="linux-mipsle-softfloat" - ;; - x86_64) - CORE_ARCH="linux-amd64" - ;; - *) - CORE_ARCH="0" - ;; -esac -uci -q set openclash.config.core_version="${CORE_ARCH}" - -uci -q set openclash.config.enable=0 -uci -q commit openclash - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/cfg_servers_address_fake_filter.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/cfg_servers_address_fake_filter.sh deleted file mode 100755 index fa127187fe..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/cfg_servers_address_fake_filter.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -. /usr/share/openclash/openclash_ps.sh - -status=$(unify_ps_status "cfg_servers_address_fake_filter.sh") -[ "$status" -gt "3" ] && exit 0 - -START_LOG="/tmp/openclash_start.log" -en_mode=$(uci get openclash.config.en_mode 2>/dev/null) - -if pidof clash >/dev/null && [ -z "$(echo "$en_mode" |grep "redir-host")" ]; then - rm -rf /tmp/dnsmasq.d/dnsmasq_openclash.conf >/dev/null 2>&1 - /usr/share/openclash/openclash_fake_filter.sh - if [ -s "/etc/openclash/servers_fake_filter.conf" ]; then - mkdir -p /tmp/dnsmasq.d - ln -s /etc/openclash/servers_fake_filter.conf /tmp/dnsmasq.d/dnsmasq_openclash.conf >/dev/null 2>&1 - /etc/init.d/dnsmasq restart >/dev/null 2>&1 - fi - echo "" >$START_LOG -fi diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/cfg_unused_servers_del.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/cfg_unused_servers_del.sh deleted file mode 100755 index 61d8918b2f..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/cfg_unused_servers_del.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -. /lib/functions.sh -. /usr/share/openclash/openclash_ps.sh - -cfg_unused_servers_del() -{ - - local section="$1" - config_get_bool "enabled" "$section" "enabled" "1" - - if [ "$enabled" = "1" ]; then - return - fi - - #删除未选中节点 - uci delete openclash."$section" 2>/dev/null -} - -status=$(unify_ps_status "cfg_unused_servers_del.sh") -[ "$status" -gt "3" ] && exit 0 - config_load "openclash" - config_foreach cfg_unused_servers_del "servers" - uci commit openclash - diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/clash_version.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/clash_version.sh deleted file mode 100755 index 6531f1e3d9..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/clash_version.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -. /usr/share/openclash/openclash_ps.sh - -#禁止多个实例 -status=$(unify_ps_status "clash_version.sh") -[ "$status" -gt "3" ] && exit 0 - -CKTIME=$(date "+%Y-%m-%d-%H") -LAST_OPVER="/tmp/clash_last_version" - -if [ "$CKTIME" != "$(grep "CheckTime" $LAST_OPVER 2>/dev/null |awk -F ':' '{print $2}')" ]; then - if pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://raw.githubusercontent.com/vernesong/OpenClash/master/core_version -o $LAST_OPVER >/dev/null 2>&1 - fi - if [ "$?" -ne "0" ] || ! pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://cdn.jsdelivr.net/gh/vernesong/OpenClash@master/core_version -o $LAST_OPVER >/dev/null 2>&1 - fi - if [ "$?" -eq "0" ] && [ -s "$LAST_OPVER" ]; then - echo "CheckTime:$CKTIME" >>$LAST_OPVER - else - rm -rf $LAST_OPVER - fi -fi diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/CNAME b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/CNAME deleted file mode 100644 index fed224edb9..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/CNAME +++ /dev/null @@ -1 +0,0 @@ -clash.razord.top \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0bf7b2ad.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0bf7b2ad.js deleted file mode 100644 index 3b1ba0698e..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0bf7b2ad.js +++ /dev/null @@ -1 +0,0 @@ -var e=Object.assign;import{e as t,u as n,r as a,c as s,R as o,a as r,b as l,d as c,f as i,g as u,h as d,i as m,j as p,k as f,l as h,A as g,F as y,m as v,N as E,n as w,o as x,p as b,q as N,s as C,t as k,H as P}from"./vendor.b176d855.js";function S(){return"ClashX Runtime"===navigator.userAgent}!function(e=".",t="__import__"){try{self[t]=new Function("u","return import(u)")}catch(n){const a=new URL(e,location),s=e=>{URL.revokeObjectURL(e.src),e.remove()};self[t]=e=>new Promise(((n,o)=>{const r=new URL(e,a);if(self[t].moduleMap[r])return n(self[t].moduleMap[r]);const l=new Blob([`import * as m from '${r}';`,`${t}.moduleMap['${r}']=m;`],{type:"text/javascript"}),c=Object.assign(document.createElement("script"),{type:"module",src:URL.createObjectURL(l),onerror(){o(new Error(`Failed to import: ${e}`)),s(c)},onload(){n(self[t].moduleMap[r]),s(c)}});document.head.appendChild(c)})),self[t].moduleMap={}}}("assets/");let T=null;class L{constructor(e){this.instance=null,window.WebViewJavascriptBridge&&(this.instance=window.WebViewJavascriptBridge),this.initBridge((t=>{this.instance=t,e()}))}initBridge(e){if(!S())return null==e?void 0:e(null);if(window.WebViewJavascriptBridge)return e(window.WebViewJavascriptBridge);if(window.WVJBCallbacks)return window.WVJBCallbacks.push(e);window.WVJBCallbacks=[e];const t=document.createElement("iframe");t.style.display="none",t.src="https://__bridge_loaded__",document.documentElement.appendChild(t),setTimeout((()=>document.documentElement.removeChild(t)),0)}callHandler(e,t){return new Promise((n=>{var a;null==(a=this.instance)||a.callHandler(e,t,n)}))}ping(){return this.callHandler("ping")}readConfigString(){return this.callHandler("readConfigString")}getPasteboard(){return this.callHandler("getPasteboard")}getAPIInfo(){return this.callHandler("apiInfo")}setPasteboard(e){return this.callHandler("setPasteboard",e)}writeConfigWithString(e){return this.callHandler("writeConfigWithString",e)}setSystemProxy(e){return this.callHandler("setSystemProxy",e)}getStartAtLogin(){return this.callHandler("getStartAtLogin")}getProxyDelay(e){return this.callHandler("speedTest",e)}setStartAtLogin(e){return this.callHandler("setStartAtLogin",e)}isSystemProxySet(){return this.callHandler("isSystemProxySet")}}var $;($||($={})).SPEED_NOTIFY="speed-notify";var R=new class{constructor(){this.EE=new t}notifySpeedTest(){this.EE.emit($.SPEED_NOTIFY)}subscribe(e,t){this.EE.addListener(e,t)}unsubscribe(e,t){this.EE.removeListener(e,t)}};function D(e,t=""){return window.localStorage.getItem(e)||t}function I(e,t){return window.localStorage.setItem(e,t)}function A(){}async function B(e){try{return[await e,null]}catch(t){return[null,t]}}function M(e){const[t,s]=n(e);return[t,a.useMemo((()=>function(e,t){"string"==typeof e?s((n=>{const a=t;n[e]=a})):"function"==typeof e?s(e):"object"==typeof e&&s((t=>{const n=e;for(const e of Object.keys(n)){const a=e;t[a]=n[a]}}))}),[s])]}function H(e=!1){const[t,n]=a.useState(e);return{visible:t,hide:function(){n(!1)},show:function(){n(!0)}}}function U(e){const{title:t,children:n,className:o,style:r}=e;return a.createElement("header",{className:s("header",o),style:r},a.createElement("h1",null,t),a.createElement("div",{className:"operations"},n))}function O(t){const{type:n,size:o=14,className:r,style:l}=t,c=s("clash-iconfont",`icon-${n}`,r),i=e({fontSize:o},l),u=e(e({},t),{className:c,style:i});return a.createElement("i",e({},u))}function j(e){const{className:t,checked:n=!1,disabled:o=!1,onChange:r=A}=e,l=s("switch",{checked:n,disabled:o},t);return a.createElement("div",{className:l,onClick:function(){o||r(!n)}},a.createElement(O,{className:"switch-icon",type:"check",size:20,style:{fontWeight:"bold"}}))}function F(e){const{className:t,style:n,children:o}=e;return a.createElement("div",{className:s("card",t),style:n},o)}function z(e){const{options:t,value:n,onSelect:o}=e;return a.createElement("div",{className:"button-select"},t.map((e=>a.createElement("button",{value:e.value,key:e.value,className:s("button-select-options",{actived:n===e.value}),onClick:()=>null==o?void 0:o(e.value)},e.label))))}const W={en_US:{SideBar:{Proxies:"Proxies",Overview:"Overview",Logs:"Logs",Rules:"Rules",Settings:"Setting",Connections:"Connections",Version:"Version"},Settings:{title:"Settings",labels:{startAtLogin:"Start at login",language:"language",setAsSystemProxy:"Set as system proxy",allowConnectFromLan:"Allow connect from Lan",proxyMode:"Mode",socks5ProxyPort:"Socks5 proxy port",httpProxyPort:"HTTP proxy port",mixedProxyPort:"Mixed proxy port",externalController:"External controller"},values:{cn:"中文",en:"English",global:"Global",rules:"Rules",direct:"Direct",script:"Script"},versionString:"Current ClashX is the latest version:{{version}}",checkUpdate:"Check Update",externalControllerSetting:{title:"External Controller",note:"Please note that modifying this configuration will only configure Dashboard. Will not modify your Clash configuration file. Please make sure that the external controller address matches the address in the Clash configuration file, otherwise, Dashboard will not be able to connect to Clash.",host:"Host",port:"Port",secret:"Secret"}},Logs:{title:"Logs"},Rules:{title:"Rules",providerTitle:"Providers",providerUpdateTime:"Last updated at",ruleCount:"Rule count"},Connections:{title:"Connections",keepClosed:"Keep closed connections",total:{text:"total",upload:"upload",download:"download"},closeAll:{title:"Warning",content:"This would close all connections"},filter:{all:"All"},columns:{host:"Host",network:"Network",type:"Type",chains:"Chains",rule:"Rule",time:"Time",speed:"Speed",upload:"Upload",download:"Download",sourceIP:"Source IP"}},Proxies:{title:"Proxies",editDialog:{title:"Edit Proxy",color:"Color",name:"Name",type:"Type",server:"Server",port:"Port",password:"Password",cipher:"Cipher",obfs:"Obfs","obfs-host":"Obfs-host",uuid:"UUID",alterId:"AlterId",tls:"TLS"},groupTitle:"Policy Group",providerTitle:"Providers",providerUpdateTime:"Last updated at",expandText:"Expand",collapseText:"Collapse",speedTestText:"Speed Test",breakConnectionsText:"Close connections which include the group"},Modal:{ok:"Ok",cancel:"Cancel"}},zh_CN:{SideBar:{Proxies:"代理",Overview:"总览",Logs:"日志",Rules:"规则",Settings:"设置",Connections:"连接",Version:"版本"},Settings:{title:"设置",labels:{startAtLogin:"开机时启动",language:"语言",setAsSystemProxy:"设置为系统代理",allowConnectFromLan:"允许来自局域网的连接",proxyMode:"代理模式",socks5ProxyPort:"Socks5 代理端口",httpProxyPort:"HTTP 代理端口",mixedProxyPort:"混合代理端口",externalController:"外部控制设置"},values:{cn:"中文",en:"English",global:"全局",rules:"规则",direct:"直连",script:"脚本"},versionString:"当前 ClashX 已是最新版本:{{version}}",checkUpdate:"检查更新",externalControllerSetting:{title:"编辑外部控制设置",note:"请注意,修改该配置项并不会修改你的 Clash 配置文件,请确认修改后的外部控制地址和 Clash 配置文件内的地址一致,否则会导致 Dashboard 无法连接。",host:"Host",port:"端口",secret:"密钥"}},Logs:{title:"日志"},Rules:{title:"规则",providerTitle:"规则集",providerUpdateTime:"最后更新于",ruleCount:"规则条数"},Connections:{title:"连接",keepClosed:"保留关闭连接",total:{text:"总量",upload:"上传",download:"下载"},closeAll:{title:"警告",content:"将会关闭所有连接"},filter:{all:"全部"},columns:{host:"域名",network:"网络",type:"类型",chains:"节点链",rule:"规则",time:"连接时间",speed:"速率",upload:"上传",download:"下载",sourceIP:"来源 IP"}},Proxies:{title:"代理",editDialog:{title:"编辑代理",color:"颜色",name:"名字",type:"类型",server:"服务器",port:"端口",password:"密码",cipher:"加密方式",obfs:"Obfs","obfs-host":"Obfs-host",uuid:"UUID",alterId:"AlterId",tls:"TLS"},groupTitle:"策略组",providerTitle:"代理集",providerUpdateTime:"最后更新于",expandText:"展开",collapseText:"收起",speedTestText:"测速",breakConnectionsText:"切换时打断包含策略组的连接"},Modal:{ok:"确 定",cancel:"取 消"}}},_=Object.keys(W);function G(e){const[t,n]=o(e);return[t,a.useMemo((()=>function(e,t){if("string"==typeof e)n((n=>r(n,(n=>{const a=t;n[e]=a}))));else if("function"==typeof e){const t=e;n((e=>r(e,t)))}else"object"==typeof e&&n((t=>r(t,(t=>{const n=e;for(const e of Object.keys(n)){const a=e;t[a]=n[a]}}))))}),[n])]}function V(e){let t=null;return async function(){return t||(t=e(),t.catch((e=>{throw t=null,e})))}}class X{constructor(e){this.EE=new t,this.innerBuffer=[],this.isClose=!1,this.config=Object.assign({bufferLength:0,retryInterval:5e3,headers:{}},e),this.config.useWebsocket?this.websocketLoop():this.loop()}websocketLoop(){var e;const t=new URL(this.config.url);t.protocol="http:"===t.protocol?"ws:":"wss:",t.searchParams.set("token",null!=(e=this.config.token)?e:"");const n=new WebSocket(t.toString());n.addEventListener("message",(e=>{const t=JSON.parse(e.data);this.EE.emit("data",[t]),this.config.bufferLength>0&&(this.innerBuffer.push(t),this.innerBuffer.length>this.config.bufferLength&&this.innerBuffer.splice(0,this.innerBuffer.length-this.config.bufferLength))})),n.addEventListener("close",(()=>setTimeout(this.websocketLoop,this.config.retryInterval))),n.addEventListener("error",(e=>{this.EE.emit("error",e),setTimeout(this.websocketLoop,this.config.retryInterval)}))}async loop(){const[e,t]=await B(fetch(this.config.url,{mode:"cors",headers:this.config.token?{Authorization:`Bearer ${this.config.token}`}:{}}));if(t||!e.body)return void this.retry(t);const n=e.body.getReader(),a=new TextDecoder;for(;!this.isClose;){const[{value:e},t]=await B(null==n?void 0:n.read());if(t){this.retry(t);break}const s=a.decode(e).trim().split("\n").map((e=>JSON.parse(e)));this.EE.emit("data",s),this.config.bufferLength>0&&(this.innerBuffer.push(...s),this.innerBuffer.length>this.config.bufferLength&&this.innerBuffer.splice(0,this.innerBuffer.length-this.config.bufferLength))}}retry(e){this.isClose||(this.EE.emit("error",e),window.setTimeout(this.loop,this.config.retryInterval))}subscribe(e,t){this.EE.addListener(e,t)}unsubscribe(e,t){this.EE.removeListener(e,t)}buffer(){return this.innerBuffer.slice()}destory(){this.EE.removeAllListeners(),this.isClose=!0}}async function J(){if(S()){const e=await T.getAPIInfo();return{hostname:e.host,port:e.port,secret:e.secret,protocol:"http:"}}const e=D("externalControllerAddr","127.0.0.1"),t=D("externalControllerPort","9090"),n=D("secret",""),a="127.0.0.1"===e?"http:":window.location.protocol;if(!e||!t)throw new Error("can't get hostname or port");return{hostname:e,port:t,secret:n,protocol:a}}const Y=V((async()=>{const{hostname:e,port:t,secret:n,protocol:a}=await J();return l.create({baseURL:`${a}//${e}:${t}`,headers:n?{Authorization:`Bearer ${n}`}:{}})}));async function K(){return(await Y()).get("configs")}async function q(e){return(await Y()).patch("configs",e)}async function Q(){return(await Y()).get("version")}async function Z(e){return(await Y()).delete(`connections/${e}`)}const ee=V((async function(){const e=await J(),{data:t}=await K(),[n,a]=await B(Q()),s=!!(a?"unkonwn version":n.data.version)||!0,o=`${e.protocol}//${e.hostname}:${e.port}/logs?level=${t["log-level"]}`;return new X({url:o,bufferLength:200,token:e.secret,useWebsocket:s})})),te=V((async function(){const e=await J(),[t,n]=await B(Q()),a=!!(n?"unkonwn version":t.data.version)||!0,s=`${e.protocol}//${e.hostname}:${e.port}/connections`;return new X({url:s,bufferLength:200,token:e.secret,useWebsocket:a})})),ne=c({key:"identity",default:!0});function ae(){const[e,t]=o(ne);return{identity:e,wrapFetcher:function(e){return async function(...n){const[a,s]=await B(e(...n)),o=s;if(o&&(!o.response||401===o.response.status))throw t(!1),s;return t(!0),a}},set:t}}const se=c({key:"i18n",default:function(){const e=D("language");if(e&&_.includes(e))return e;const t=function(){const e=[];if(window.navigator)if(window.navigator.languages)for(const t of window.navigator.languages)e.push(t);else window.navigator.language&&e.push(navigator.language);return e}();for(const n of t){if(n.includes("zh"))return"zh_CN";if(n.includes("us"))return"en_US"}return"en_US"}()});function oe(){const[e,t]=o(se);const n=a.useCallback((function(t){return{t:function(n){return d(W[e][t],n)}}}),[e]);return{lang:e,locales:_,setLang:function(e){t(e),function(e){I("language",e)}(e)},translation:n}}const re=c({key:"version",default:{version:"",premium:!1}});function le(){const[e,t]=o(re),{set:n}=ae();return{version:e.version,premium:e.premium,update:async function(){const[e,a]=await B(Q());n(!a),t(a?{version:"",premium:!1}:{version:e.data.version,premium:!!e.data.premium})}}}const ce=c({key:"config",default:{breakConnections:!1}});function ie(){const[e,t]=G(ce);return{data:e,set:t}}const ue=c({key:"proxyProvider",default:[]});function de(){const[e,t]=o(ue),{data:n,mutate:s}=u("/providers/proxy",(async()=>{const e=await async function(){return(await Y()).get("providers/proxies",{validateStatus:e=>e>=200&&e<300||404===e}).then((e=>(404===e.status&&(e.data={providers:{}}),e)))}();return Object.keys(e.data.providers).map((t=>e.data.providers[t])).filter((e=>"default"!==e.name)).filter((e=>"Compatible"!==e.vehicleType))}));return a.useEffect((()=>t(null!=n?n:[])),[n,t]),{providers:e,update:s}}function me(){const[{premium:e}]=o(re),{data:t,mutate:n}=u("/providers/rule",(async()=>{if(!e)return[];const t=await async function(){return(await Y()).get("providers/rules")}();return Object.keys(t.data.providers).map((e=>t.data.providers[e]))}));return{providers:null!=t?t:[],update:n}}function pe(){const{data:e,mutate:t}=u("/config",(async()=>{var e;const t=(await K()).data;return{port:t.port,socksPort:t["socks-port"],mixedPort:null!=(e=t["mixed-port"])?e:0,redirPort:t["redir-port"],mode:t.mode.toLowerCase(),logLevel:t["log-level"],allowLan:t["allow-lan"]}}));return{general:null!=e?e:{},update:t}}const fe=c({key:"proxies",default:{proxies:[],groups:[],global:{name:"GLOBAL",type:"Selector",now:"",history:[],all:[]}}});function he(){const[t,n]=G(fe),{mutate:s}=u("/proxies",(async()=>{const t=await async function(){return(await Y()).get("proxies")}(),a=t.data.proxies.GLOBAL;a.name="GLOBAL";const s=new Set(["Selector","URLTest","Fallback","LoadBalance"]),o=new Set(["DIRECT","REJECT","GLOBAL"]),r=a.all.filter((e=>!o.has(e))).map((n=>e(e({},t.data.proxies[n]),{name:n}))),[l,c]=function(e,t){const n=[],a=[];for(const s of e)t(s)?n.push(s):a.push(s);return[n,a]}(r,(e=>!s.has(e.type)));n({proxies:l,groups:c,global:a})})),o=a.useCallback(((e,t)=>{n((n=>{for(const a of n.groups)a.name===e&&(a.now=t)}))}),[n]);return{proxies:t.proxies,groups:t.groups,global:t.global,update:s,markProxySelected:o,set:n}}const ge=i({key:"proxyMapping",get:({get:e})=>{const t=e(fe),n=e(ue),a=new Map;for(const s of t.proxies)a.set(s.name,s);for(const s of n)for(const e of s.proxies)a.set(e.name,e);return a}});function ye(){const{data:e,mutate:t}=u("/clashx",(async()=>{var e,t;if(!S())return{isClashX:!1,startAtLogin:!1,systemProxy:!1};return{startAtLogin:null!=(e=await(null==T?void 0:T.getStartAtLogin()))&&e,systemProxy:null!=(t=await(null==T?void 0:T.isSystemProxySet()))&&t,isClashX:!0}}));return{data:e,update:t}}const ve=c({key:"apiData",default:{hostname:"127.0.0.1",port:"9090",secret:""}});function Ee(){const[t,n]=o(ve);return{data:t,fetch:a.useCallback((async function(){const t=await J();n(e({},t))}),[n]),update:async function(e){const{hostname:t,port:n,secret:a}=e;I("externalControllerAddr",t),I("externalControllerPort",n),I("secret",a),window.location.reload()}}}const we=c({key:"rules",default:[]});function xe(){const[e,t]=G(we);return{rules:e,update:async function(){const e=await async function(){return(await Y()).get("rules")}();t(e.data.rules)}}}function be(e){const{className:t,data:n,onClick:o,select:r,canClick:l,errSet:c,rowHeight:i}=e,{translation:u}=oe(),{t:d}=u("Proxies"),[m,p]=a.useState(!1),[f,h]=a.useState(!1),g=a.useRef(null);a.useLayoutEffect((()=>{var e,t;h((null!=(t=null==(e=null==g?void 0:g.current)?void 0:e.offsetHeight)?t:0)>30)}),[]);const y=m?"auto":i,v=l?o:A;const E=n.map((e=>{const t=s({"tags-selected":r===e,"can-click":l,error:null==c?void 0:c.has(e)});return a.createElement("li",{className:t,key:e,onClick:()=>v(e)},e)}));return a.createElement("div",{className:s("tags-container",t),style:{height:y}},a.createElement("ul",{ref:g,className:s("tags",{expand:m})},E),f&&a.createElement("span",{className:"tags-expand",onClick:function(){p(!m)}},d(m?"collapseText":"expandText")))}function Ne(e){const{className:t,style:n,value:o="",align:r="center",inside:l=!1,autoFocus:c=!1,type:i="text",disabled:u=!1,onChange:d=A,onBlur:m=A}=e,p=s("input",`input-align-${r}`,{"input-inside":l},t);return a.createElement("input",{disabled:u,className:p,style:n,value:o,autoFocus:c,type:i,onChange:e=>d(e.target.value,e),onBlur:m})}function Ce(e){const{show:t=!0,title:n="Modal",size:o="small",footer:r=!0,onOk:l=A,onClose:c=A,bodyClassName:i,bodyStyle:u,className:d,style:p,children:f}=e,{translation:h}=oe(),{t:g}=h("Modal"),y=a.useRef(document.createElement("div")),v=a.useRef(null);a.useLayoutEffect((()=>{const e=y.current;return document.body.appendChild(e),()=>{document.body.removeChild(e)}}),[]);const E=a.createElement("div",{className:s("modal-mask",{"modal-show":t}),ref:v,onMouseDown:function(e){e.target===v.current&&c()}},a.createElement("div",{className:s("modal",`modal-${o}`,d),style:p},a.createElement("div",{className:"modal-title"},n),a.createElement("div",{className:s("modal-body",i),style:u},f),r&&a.createElement("div",{className:"footer"},a.createElement(Se,{onClick:()=>c()},g("cancel")),a.createElement(Se,{type:"primary",onClick:()=>l()},g("ok")))));return m.createPortal(E,y.current)}const ke={success:"check",info:"info",warning:"info",error:"close"};function Pe(e){const{message:t="",type:n="info",inside:o=!1,children:r,className:l,style:c}=e,i=s("alert",`alert-${o?"note":"box"}-${n}`,l);return a.createElement("div",{className:i,style:c},a.createElement("span",{className:"alert-icon"},a.createElement(O,{type:ke[n],size:26})),t?a.createElement("p",{className:"alert-message"},t):a.createElement("div",{className:"alert-message"},r))}function Se(e){const{type:t="normal",onClick:n=A,children:o,className:r,style:l}=e,c=s("button",`button-${t}`,r);return a.createElement("button",{className:c,style:l,onClick:n},o)}function Te(e){const{className:t,checked:n=!1,onChange:o=A}=e,r=s("checkbox",{checked:n},t);return a.createElement("div",{className:r,onClick:function(){o(!n)}},a.createElement(O,{className:"checkbox-icon",type:"check",size:18}),a.createElement("div",null,e.children))}function Le(t){const{color:n,className:o,style:r}=t,l=s("tag",o),c=e({color:n},r),i=e(e({},t),{className:l,style:c});return a.createElement("span",e({},i),t.children)}function $e(e){const t=s("spinner",e.className);return a.createElement("div",{className:t},a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})),a.createElement("div",{className:"spinner-circle"},a.createElement("div",{className:"spinner-inner"})))}function Re(e){const t=s("loading","visible",e.className);return e.visible?a.createElement("div",{className:t},a.createElement($e,{className:e.spinnerClassName})):null}const De={"#909399":0,"#00c520":260,"#ff9a28":600,"#ff3e5e":1/0};async function Ie(e){var t;if(S()){return null!=(t=await(null==T?void 0:T.getProxyDelay(e)))?t:0}const{data:{delay:n}}=await async function(e){return(await Y()).get(`proxies/${encodeURIComponent(e)}/delay`,{params:{timeout:5e3,url:"http://www.gstatic.com/generate_204"}})}(e);return n}function Ae(e){const{config:t,className:n}=e,{set:o}=he(),r=a.useCallback((async function(){const[e,n]=await B(Ie(t.name)),a=n?0:e;o((e=>{const n=e.proxies.find((e=>e.name===t.name));n&&n.history.push({time:Date.now().toString(),delay:a})}))}),[t.name,o]),l=a.useMemo((()=>{var e;return(null==(e=t.history)?void 0:e.length)?t.history.slice(-1)[0].delay:0}),[t]);a.useLayoutEffect((()=>(R.subscribe($.SPEED_NOTIFY,r),()=>R.unsubscribe($.SPEED_NOTIFY,r))),[r]);const c=a.useMemo((()=>0===l),[l]),i=a.useMemo((()=>Object.keys(De).find((e=>l<=De[e]))),[l]),u=c?void 0:i;return a.createElement("div",{className:s("proxy-item",{"proxy-error":c},n)},a.createElement("span",{className:"proxy-type",style:{backgroundColor:u}},t.type),a.createElement("p",{className:"proxy-name"},t.name),a.createElement("p",{className:"proxy-delay"},0===l?"-":`${l}ms`))}function Be(e){const{markProxySelected:t}=he(),n=p(ge),{data:s}=ie(),{config:o}=e;const r=a.useMemo((()=>{var e;const t=new Set;for(const a of o.all){const s=null==(e=n.get(a))?void 0:e.history;(null==s?void 0:s.length)&&0===s.slice(-1)[0].delay&&t.add(a)}return t}),[o.all,n]),l="Selector"===o.type;return a.createElement("div",{className:"proxy-group"},a.createElement("div",{className:"proxy-group-part"},a.createElement("span",{className:"proxy-group-name"},o.name),a.createElement(Le,{className:"proxy-group-type"},o.type)),a.createElement("div",{className:"proxy-group-tags-container"},a.createElement(be,{className:"proxy-group-tags",data:o.all,onClick:async function(n){if(await async function(e,t){return(await Y()).put(`proxies/${encodeURIComponent(e)}`,{name:t})}(e.config.name,n),t(e.config.name,n),s.breakConnections){const t=[],n=await async function(){return(await Y()).get("connections")}();for(const a of n.data.connections)a.chains.includes(e.config.name)&&t.push(a.id);for(const e of t)Z(e)}},errSet:r,select:o.now,canClick:l,rowHeight:30})))}function Me(e,t){const n="en_US"===t?"en":"zh-cn";return f().locale(n).from(e)}f.extend(h);function He(e){const{update:t}=de(),{translation:n,lang:s}=oe(),{provider:o}=e,{t:r}=n("Proxies"),{visible:l,hide:c,show:i}=H();const u=a.useMemo((()=>o.proxies.slice().sort(((e,t)=>-1*Fe(e,t)))),[o.proxies]);return a.createElement(F,{className:"proxy-provider"},a.createElement(Re,{visible:l}),a.createElement("div",{className:"proxy-provider-header"},a.createElement("div",{className:"proxy-provider-header-part"},a.createElement("span",{className:"proxy-provider-name"},o.name),a.createElement(Le,null,o.vehicleType)),a.createElement("div",{className:"proxy-provider-header-part"},o.updatedAt&&a.createElement("span",{className:"proxy-provider-update"},`${r("providerUpdateTime")}: ${Me(new Date(o.updatedAt),s)}`),a.createElement(O,{className:"proxy-provider-icon healthcheck",type:"healthcheck",size:18,onClick:function(){i(),async function(e){return(await Y()).get(`providers/proxies/${encodeURIComponent(e)}/healthcheck`)}(o.name).then((()=>t())).finally((()=>c()))}}),a.createElement(O,{className:"proxy-provider-icon",type:"update",size:18,onClick:function(){i(),async function(e){return(await Y()).put(`providers/proxies/${encodeURIComponent(e)}`)}(o.name).then((()=>t())).finally((()=>c()))}}))),a.createElement("ul",{className:"proxies-list"},u.map((e=>a.createElement("li",{key:e.name},a.createElement(Ae,{className:"proxy-provider-item",config:e}))))))}var Ue,Oe;(Oe=Ue||(Ue={}))[Oe.None=0]="None",Oe[Oe.Asc=1]="Asc",Oe[Oe.Desc=2]="Desc";const je={0:"sort",1:"sort-ascending",2:"sort-descending"};function Fe(e,t){const n=e.history.length?e.history.slice(-1)[0].delay:0;return((t.history.length?t.history.slice(-1)[0].delay:0)||Number.MAX_SAFE_INTEGER)-(n||Number.MAX_SAFE_INTEGER)}function ze(){const{groups:e,global:t}=he(),{data:n,set:s}=ie(),{general:o}=pe(),{translation:r}=oe(),{t:l}=r("Proxies"),c=a.useMemo((()=>"global"===o.mode?[t]:e),[o,e,t]);return a.createElement(a.Fragment,null,0!==c.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:l("groupTitle")},a.createElement(Te,{className:"connections-filter",checked:n.breakConnections,onChange:e=>s("breakConnections",e)},l("breakConnectionsText"))),a.createElement(F,{className:"proxies-group-card"},a.createElement("ul",{className:"proxies-group-list"},c.map((e=>a.createElement("li",{className:"proxies-group-item",key:e.name},a.createElement(Be,{config:e}))))))))}function We(){const{providers:e}=de(),{translation:t}=oe(),{t:n}=t("Proxies");return a.createElement(a.Fragment,null,0!==e.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:n("providerTitle")}),a.createElement("ul",{className:"proxies-providers-list"},e.map((e=>a.createElement("li",{className:"proxies-providers-item",key:e.name},a.createElement(He,{provider:e})))))))}function _e(){const{proxies:e}=he(),{translation:t}=oe(),{t:n}=t("Proxies");const{current:s,next:o}=function(e,t=0){if(e.length<2)throw new Error("List requires at least two elements");const[n,s]=a.useState(t);return{current:a.useMemo((()=>e[n]),[e,n]),next:function(){s((n+1)%e.length)}}}([1,2,0]),r=a.useMemo((()=>{switch(s){case 2:return e.slice().sort(((e,t)=>Fe(e,t)));case 1:return e.slice().sort(((e,t)=>-1*Fe(e,t)));default:return e.slice()}}),[s,e]),l=o;return a.createElement(a.Fragment,null,0!==r.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:n("title")},a.createElement(O,{className:"proxies-action-icon",type:je[s],onClick:l,size:20}),a.createElement(O,{className:"proxies-action-icon",type:"speed",size:20}),a.createElement("span",{className:"proxies-speed-test",onClick:function(){R.notifySpeedTest()}},n("speedTestText"))),a.createElement("ul",{className:"proxies-list"},r.map((e=>a.createElement("li",{key:e.name},a.createElement(Ae,{config:e})))))))}function Ge(){return a.createElement("div",{className:"page"},a.createElement(ze,null),a.createElement(We,null),a.createElement(_e,null))}function Ve(){const t=a.useRef(null),n=a.useRef([]),[s,o]=a.useState([]),{translation:r}=oe(),{t:l}=r("Logs");return a.useLayoutEffect((()=>{const e=t.current;e&&(e.scrollTop=e.scrollHeight)})),a.useEffect((()=>{let t=null;function a(t){n.current=n.current.slice().concat(t.map((t=>e(e({},t),{time:new Date})))),o(n.current)}return async function(){t=await ee(),n.current=t.buffer(),o(n.current),t.subscribe("data",a)}(),()=>null==t?void 0:t.unsubscribe("data",a)}),[]),a.createElement("div",{className:"page"},a.createElement(U,{title:l("title")}),a.createElement(F,{className:"logs-card"},a.createElement("ul",{className:"logs-panel",ref:t},s.map(((e,t)=>a.createElement("li",{key:t},a.createElement("span",{className:"logs-panel-time"},f(e.time).format("YYYY-MM-DD HH:mm:ss")),a.createElement("span",null,"[",e.type,"] ",e.payload)))))))}function Xe(e){const{update:t}=me(),{translation:n,lang:o}=oe(),{provider:r}=e,{t:l}=n("Rules"),{visible:c,hide:i,show:u}=H();const d=s("rule-provider-icon",{"rule-provider-loading":c});return a.createElement(F,{className:"rule-provider"},a.createElement("div",{className:"rule-provider-header"},a.createElement("div",{className:"rule-provider-header-part"},a.createElement("span",{className:"rule-provider-name"},r.name),a.createElement(Le,null,r.vehicleType),a.createElement(Le,{className:"rule-provider-behavior"},r.behavior),a.createElement("span",{className:"rule-provider-update"},`${l("ruleCount")}: ${r.ruleCount}`)),a.createElement("div",{className:"rule-provider-header-part"},r.updatedAt&&a.createElement("span",{className:"rule-provider-update"},`${l("providerUpdateTime")}: ${Me(new Date(r.updatedAt),o)}`),a.createElement(O,{className:d,type:"update",size:18,onClick:function(){u(),async function(e){return(await Y()).put(`providers/rules/${encodeURIComponent(e)}`)}(r.name).then((()=>t())).finally((()=>i()))}}))))}function Je(){const{providers:e}=me(),{translation:t}=oe(),{t:n}=t("Rules");return a.createElement(a.Fragment,null,0!==e.length&&a.createElement("div",{className:"proxies-container"},a.createElement(U,{title:n("providerTitle")}),a.createElement("ul",{className:"proxies-providers-list"},e.map((e=>a.createElement("li",{className:"proxies-providers-item",key:e.name},a.createElement(Xe,{provider:e})))))))}function Ye(){const{rules:e,update:t}=xe(),{translation:n}=oe(),{t:s}=n("Rules");function o({index:t,style:n}){const s=e[t];return a.createElement("li",{className:"rule-item",style:n},a.createElement("div",{className:"rule-item-row flex"},a.createElement("div",{className:"rule-type w-40 text-center"},s.type),a.createElement("div",{className:"payload flex-1 text-center"},s.payload),a.createElement("div",{className:"rule-proxy w-40 text-center"},s.proxy)))}return u("rules",t),a.createElement("div",{className:"page"},a.createElement(Je,null),a.createElement(U,{title:s("title")}),a.createElement(F,{className:"rules-card"},a.createElement(g,{className:"rules"},(({height:t,width:n})=>a.createElement(y,{height:t,width:n,itemCount:e.length,itemSize:50},o)))))}const Ke=[{label:"中文",value:"zh_CN"},{label:"English",value:"en_US"}];function qe(){var e,t,n;const{premium:o}=le(),{data:r,update:l}=ye(),{general:c,update:i}=pe(),{set:u}=ae(),{data:d}=Ee(),{translation:m,setLang:p,lang:f}=oe(),{t:h}=m("Settings"),[g,y]=M({socks5ProxyPort:7891,httpProxyPort:7890,mixedProxyPort:0});a.useEffect((()=>{var e,t,n;y("socks5ProxyPort",null!=(e=null==c?void 0:c.socksPort)?e:0),y("httpProxyPort",null!=(t=null==c?void 0:c.port)?t:0),y("mixedProxyPort",null!=(n=null==c?void 0:c.mixedPort)?n:0)}),[c,y]);const{hostname:E,port:w}=d,{allowLan:x,mode:b}=c,N=null!=(e=null==r?void 0:r.startAtLogin)&&e,C=null!=(t=null==r?void 0:r.systemProxy)&&t,k=null!=(n=null==r?void 0:r.isClashX)&&n,P=a.useMemo((()=>{const e=[{label:h("values.global"),value:"Global"},{label:h("values.rules"),value:"Rule"},{label:h("values.direct"),value:"Direct"}];return o&&e.push({label:h("values.script"),value:"Script"}),e}),[h,o]);return a.createElement("div",{className:"page"},a.createElement(U,{title:h("title")}),a.createElement(F,{className:"settings-card"},a.createElement("div",{className:"flex flex-wrap"},a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.startAtLogin")),a.createElement(j,{disabled:!(null==r?void 0:r.isClashX),checked:N,onChange:async function(e){await(null==T?void 0:T.setStartAtLogin(e)),l()}})),a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.language")),a.createElement(z,{options:Ke,value:f,onSelect:e=>{p(e)}}))),a.createElement("div",{className:"flex flex-wrap"},a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.setAsSystemProxy")),a.createElement(j,{disabled:!k,checked:C,onChange:async function(e){await(null==T?void 0:T.setSystemProxy(e)),l()}})),a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.allowConnectFromLan")),a.createElement(j,{checked:x,onChange:async function(e){await q({"allow-lan":e}),await i()}})))),a.createElement(F,{className:"settings-card"},a.createElement("div",{className:"flex flex-wrap"},a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.proxyMode")),a.createElement(z,{options:P,value:v(b),onSelect:async function(e){await q({mode:e}),await i()}})),a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.socks5ProxyPort")),a.createElement(Ne,{className:"w-28",disabled:k,value:g.socks5ProxyPort,onChange:e=>y("socks5ProxyPort",+e),onBlur:async function(){await q({"socks-port":g.socks5ProxyPort}),await i()}}))),a.createElement("div",{className:"flex flex-wrap"},a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.httpProxyPort")),a.createElement(Ne,{className:"w-28",disabled:k,value:g.httpProxyPort,onChange:e=>y("httpProxyPort",+e),onBlur:async function(){await q({port:g.httpProxyPort}),await i()}})),a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.mixedProxyPort")),a.createElement(Ne,{className:"w-28",disabled:k,value:g.mixedProxyPort,onChange:e=>y("mixedProxyPort",+e),onBlur:async function(){await q({"mixed-port":g.mixedProxyPort}),await i()}}))),a.createElement("div",{className:"flex flex-wrap"},a.createElement("div",{className:"flex w-1/2 items-center justify-between px-8 py-3"},a.createElement("span",{className:"label font-bold"},h("labels.externalController")),a.createElement("span",{className:s({"modify-btn":!k},"external-controller"),onClick:()=>!k&&u(!1)},`${E}:${w}`)),a.createElement("div",{className:"w-1/2 px-8"}))),a.createElement(F,{className:"clash-version",style:{display:"none"}},a.createElement("span",{className:"check-icon"},a.createElement(O,{type:"check",size:20})),a.createElement("p",{className:"version-info"},h("versionString")),a.createElement("span",{className:"check-update-btn"},h("checkUpdate"))))}var Qe,Ze;function et(e){const{routes:t}=e,{translation:n}=oe(),{version:o,premium:r,update:l}=le(),{data:c}=ye(),{t:i}=n("SideBar");u("version",l);const d=t.map((({path:e,name:t,exact:n,noMobile:o})=>a.createElement("li",{className:s("item",{"no-mobile":o}),key:t},a.createElement(E,{to:e,activeClassName:"active",exact:!!n},i(t)))));return a.createElement("div",{className:"sidebar"},a.createElement("img",{src:"./assets/logo.b453e72f.png",alt:"logo",className:"sidebar-logo"}),a.createElement("ul",{className:"sidebar-menu"},d),a.createElement("div",{className:"sidebar-version"},a.createElement("span",{className:"sidebar-version-label"},"Clash",(null==c?void 0:c.isClashX)&&"X"," ",i("Version")),a.createElement("span",{className:"sidebar-version-text"},o),r&&a.createElement("span",{className:"sidebar-version-label"},"Premium")))}(Ze=Qe||(Qe={})).Domain="Domain",Ze.DomainSuffix="DomainSuffix",Ze.DomainKeyword="DomainKeyword",Ze.GeoIP="GeoIP",Ze.IPCIDR="IPCIDR",Ze.SrcIPCIDR="SrcIPCIDR",Ze.SrcPort="SrcPort",Ze.DstPort="DstPort",Ze.MATCH="MATCH",Ze.RuleSet="RuleSet";function tt(e){const{translation:t}=oe(),n=a.useMemo((()=>t("Connections").t),[t]),{className:o,style:r}=e,l=s("connections-devices",o);function c(t){var n;null==(n=e.onChange)||n.call(e,t)}return a.createElement("div",{className:l,style:r},a.createElement("div",{className:s("connections-devices-item",{selected:""===e.selected}),onClick:()=>c("")},n("filter.all")),e.devices.map((t=>a.createElement("div",{key:t.label,className:s("connections-devices-item",{selected:e.selected===t.label}),onClick:()=>c(t.label)},t.label," (",t.number,")"))))}class nt{constructor(){this.connections=new Map,this.saveDisconnection=!1}appendToSet(t){var n;const a=t.reduce(((e,t)=>e.set(t.id,t)),new Map);for(const e of this.connections.keys())if(!a.has(e))if(this.saveDisconnection){const t=this.connections.get(e);t&&(t.completed=!0,t.uploadSpeed=0,t.downloadSpeed=0)}else this.connections.delete(e);for(const s of a.keys()){if(!this.connections.has(s)){this.connections.set(s,e(e({},a.get(s)),{uploadSpeed:0,downloadSpeed:0}));continue}const t=this.connections.get(s),o=a.get(s);null==(n=this.connections)||n.set(s,e(e({},o),{uploadSpeed:o.upload-t.upload,downloadSpeed:o.download-t.download}))}}toggleSave(){var e,t;if(this.saveDisconnection){this.saveDisconnection=!1;for(const n of this.connections.keys())(null==(t=null==(e=this.connections)?void 0:e.get(n))?void 0:t.completed)&&this.connections.delete(n)}else this.saveDisconnection=!0;return this.saveDisconnection}getConnections(){return[...this.connections.values()]}}var at,st;(st=at||(at={})).Host="host",st.Network="network",st.Type="type",st.Chains="chains",st.Rule="rule",st.Speed="speed",st.Upload="upload",st.Download="download",st.SourceIP="sourceIP",st.Time="time";const ot=new Set([at.Network,at.Type,at.Rule,at.Speed,at.Upload,at.Download,at.SourceIP,at.Time]);function rt(e){const t=["B","KB","MB","GB","TB"];let n=0;for(;~~(e/1024)&&nt("Connections").t),[t]),[r,l]=M({uploadTotal:0,downloadTotal:0}),{visible:c,show:i,hide:u}=H();const{connections:d,feed:m,save:p,toggleSave:f}=function(){const e=a.useMemo((()=>new nt),[]),t=a.useRef(!0),[n,s]=a.useState([]),[o,r]=a.useState(!1);return{connections:n,feed:a.useCallback((function(n){e.appendToSet(n),t.current&&s(e.getConnections()),t.current=!t.current}),[e]),toggleSave:a.useCallback((function(){const n=e.toggleSave();r(n),n||s(e.getConnections()),t.current=!0}),[e]),save:o}}(),h=a.useMemo((()=>d.map((e=>({id:e.id,host:`${e.metadata.host||e.metadata.destinationIP}:${e.metadata.destinationPort}`,chains:e.chains.slice().reverse().join(" / "),rule:e.rule===Qe.RuleSet?`${e.rule}(${e.rulePayload})`:e.rule,time:new Date(e.start).getTime(),upload:e.upload,download:e.download,sourceIP:e.metadata.sourceIP,type:e.metadata.type,network:e.metadata.network.toUpperCase(),speed:{upload:e.uploadSpeed,download:e.downloadSpeed},completed:!!e.completed})))),[d]),g=a.useMemo((()=>{const e=w(d,"metadata.sourceIP");return Object.keys(e).map((t=>({label:t,number:e[t].length}))).sort(((e,t)=>e.label.localeCompare(t.label)))}),[d]),y=a.useRef(null),{x:v}=x(y),E=a.useMemo((()=>[{Header:o(`columns.${at.Host}`),accessor:at.Host,minWidth:260,width:260},{Header:o(`columns.${at.Network}`),accessor:at.Network,minWidth:80,width:80},{Header:o(`columns.${at.Type}`),accessor:at.Type,minWidth:120,width:120},{Header:o(`columns.${at.Chains}`),accessor:at.Chains,minWidth:200,width:200},{Header:o(`columns.${at.Rule}`),accessor:at.Rule,minWidth:140,width:140},{id:at.Speed,Header:o(`columns.${at.Speed}`),accessor:e=>[e.speed.upload,e.speed.download],sortType(e,t){const n=e.original.speed,a=t.original.speed;return n.download===a.download?n.upload-a.upload:n.download-a.download},minWidth:200,width:200,sortDescFirst:!0},{Header:o(`columns.${at.Upload}`),accessor:at.Upload,minWidth:100,width:100,sortDescFirst:!0},{Header:o(`columns.${at.Download}`),accessor:at.Download,minWidth:100,width:100,sortDescFirst:!0},{Header:o(`columns.${at.SourceIP}`),accessor:at.SourceIP,minWidth:140,width:140},{Header:o(`columns.${at.Time}`),accessor:at.Time,minWidth:120,width:120,sortType:(e,t)=>t.original.time-e.original.time}]),[o]);a.useLayoutEffect((()=>{let e=null;function t(e){for(const t of e)l({uploadTotal:t.uploadTotal,downloadTotal:t.downloadTotal}),m(t.connections)}return async function(){e=await te(),e.subscribe("data",t)}(),()=>{e&&(e.unsubscribe("data",t),e.destory())}}),[m,l]);const{getTableProps:N,getTableBodyProps:C,headerGroups:k,rows:P,prepareRow:S,setFilter:T}=b.useTable({columns:E,data:h,autoResetSortBy:!1,autoResetFilters:!1,initialState:{sortBy:[{id:at.Time,desc:!1}]}},b.useResizeColumns,b.useBlockLayout,b.useFilters,b.useSortBy),L=a.useMemo((()=>k[0]),[k]),$=a.useCallback((function(e){switch(e.column.id){case at.Speed:return function(e,t){switch(!0){case 0===e&&0===t:return"-";case 0!==e&&0!==t:return`↑ ${rt(e)}/s ↓ ${rt(t)}/s`;case 0!==e:return`↑ ${rt(e)}/s`;default:return`↓ ${rt(t)}/s`}}(e.value[0],e.value[1]);case at.Upload:case at.Download:return rt(e.value);case at.Time:return Me(new Date(e.value),n);default:return e.value}}),[n]),[R,D]=a.useState("");return a.createElement("div",{className:"page"},a.createElement(U,{title:o("title")},a.createElement("span",{className:"connections-filter total"},`(${o("total.text")}: ${o("total.upload")} ${rt(r.uploadTotal)} ${o("total.download")} ${rt(r.downloadTotal)})`),a.createElement(Te,{className:"connections-filter",checked:p,onChange:f},o("keepClosed")),a.createElement(O,{className:"connections-filter dangerous",onClick:i,type:"close-all",size:20})),g.length>1&&a.createElement(tt,{devices:g,selected:R,onChange:function(e){D(e),null==T||T(at.SourceIP,e)}}),a.createElement(F,{className:"connections-card"},a.createElement("div",e(e({},N()),{className:"connections",ref:y}),a.createElement("div",e(e({},L.getHeaderGroupProps()),{className:"connections-header"}),L.headers.map(((t,n)=>{const o=t,r=o.id;return a.createElement("div",e(e({},o.getHeaderProps()),{className:s("connections-th",{resizing:o.isResizing,fixed:v>0&&o.id===at.Host}),key:r}),a.createElement("div",e({},o.getSortByToggleProps()),t.render("Header"),o.isSorted?o.isSortedDesc?" ↓":" ↑":null),n!==L.headers.length-1&&a.createElement("div",e(e({},o.getResizerProps()),{className:"connections-resizer"})))}))),a.createElement("div",e(e({},C()),{className:"connections-body"}),P.map((t=>(S(t),a.createElement("div",e(e({},t.getRowProps()),{className:"connections-item",key:t.original.id}),t.cells.map((n=>{const o=s("connections-block",{center:ot.has(n.column.id),completed:t.original.completed},{fixed:v>0&&n.column.id===at.Host});return a.createElement("div",e(e({},n.getCellProps()),{className:o,key:n.column.id}),$(n))}))))))))),a.createElement(Ce,{title:o("closeAll.title"),show:c,onClose:u,onOk:function(){(async function(){return(await Y()).delete("connections")})().finally((()=>u()))}},o("closeAll.content")))}function ct(){const{translation:e}=oe(),{t:t}=e("Settings"),{data:n,update:s,fetch:o}=Ee(),{identity:r,set:l}=ae(),[c,i]=M({hostname:"",port:"",secret:""});return a.useEffect((()=>{o()}),[o]),a.useEffect((()=>{i({hostname:n.hostname,port:n.port,secret:n.secret})}),[n,i]),a.createElement(Ce,{show:!r,title:t("externalControllerSetting.title"),bodyClassName:"external-controller",onClose:()=>l(!0),onOk:function(){const{hostname:e,port:t,secret:n}=c;s({hostname:e,port:t,secret:n})}},a.createElement(Pe,{type:"info",inside:!0},a.createElement("p",null,t("externalControllerSetting.note"))),a.createElement("div",{className:"flex items-center"},a.createElement("span",{className:"title w-14"},t("externalControllerSetting.host")),a.createElement(Ne,{className:"form flex-1",align:"left",inside:!0,value:c.hostname,onChange:e=>i("hostname",e)})),a.createElement("div",{className:"flex items-center"},a.createElement("div",{className:"title w-14"},t("externalControllerSetting.port")),a.createElement(Ne,{className:"form flex-1",align:"left",inside:!0,value:c.port,onChange:e=>i("port",e)})),a.createElement("div",{className:"flex items-center"},a.createElement("div",{className:"title w-14"},t("externalControllerSetting.secret")),a.createElement(Ne,{className:"form flex-1",align:"left",inside:!0,value:c.secret,onChange:e=>i("secret",e)})))}function it(){a.useEffect((()=>{ee()}),[]);const e=[{path:"/proxies",name:"Proxies",component:Ge},{path:"/logs",name:"Logs",component:Ve},{path:"/rules",name:"Rules",component:Ye,noMobile:!0},{path:"/connections",name:"Connections",component:lt,noMobile:!0},{path:"/settings",name:"Settings",component:qe}];return a.createElement("div",{className:s("app",{"not-clashx":!S()})},a.createElement(et,{routes:e}),a.createElement("div",{className:"page-container"},a.createElement(N,{exact:!0,path:"/",component:()=>a.createElement(C,{to:"/proxies"})}),e.map((e=>a.createElement(N,{exact:!1,path:e.path,key:e.path,component:e.component})))),a.createElement(ct,null))}var ut;function dt(){const e=document.getElementById("root"),t=a.createElement(k,null,a.createElement(P,null,a.createElement(it,null)));m.render(t,e)}S()?(ut=()=>dt(),T?ut():T=new L(ut)):dt(); diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0e294c2a.css b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0e294c2a.css deleted file mode 100644 index d52f671858..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/index.0e294c2a.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.header{margin:10px 0;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.header>h1{flex-shrink:0;font-size:24px;color:#2c8af8;font-weight:500;text-shadow:0 2px 6px rgba(44,138,248,.4);line-height:32px}.operations{display:flex;flex:1;align-items:center;justify-content:flex-end}@media (max-width:768px){.header>h1{font-size:20px}}.switch{display:inline-block;width:32px;height:16px;border-radius:8px;background-color:#d8dee2;transition:background-color .3s ease;position:relative;cursor:pointer}.switch.checked{background-color:#57befc}.switch.checked::after{transform:translateX(16px)}.switch.disabled{cursor:not-allowed;background-color:#b7c5d6}.switch.disabled::after{background-color:#e4eaef;box-shadow:0 0 8px rgba(144,147,153,.5)}.switch.checked.disabled{background-color:#e4eaef}.switch::after{content:"";position:absolute;top:-1px;height:18px;width:18px;border-radius:9px;background-color:#fff;box-shadow:0 0 8px rgba(44,138,248,.4);transition:transform .3s ease;transform:translateX(-2px)}.switch-icon{position:absolute;transform:translateX(-1px) scale(.4);color:#fff;line-height:16px}.card{padding:15px;box-shadow:2px 5px 20px -3px rgba(44,138,248,.18);background-color:#fff;border-radius:4px}.button-select{display:flex;flex-direction:row}.button-select .button-select-options{height:30px;padding:0 15px;color:#54759a;font-size:12px;line-height:30px;background:#fff;border:1px solid #e4eaef;border-right:none;transition:all .3s ease;cursor:pointer;outline:0;display:block}.button-select .button-select-options:first-child{border-radius:3px 0 0 3px}.button-select .button-select-options:last-child{border-radius:0 3px 3px 0;border-right:1px solid #e4eaef}.button-select .button-select-options.actived{background:#57befc;color:#fff;border-color:#57befc;box-shadow:0 2px 5px rgba(87,190,252,.5)}.button-select .button-select-options.actived:active{box-shadow:none}.tags-container{display:flex;align-items:flex-start;overflow-y:hidden}.tags{display:flex;flex:1;align-items:center;list-style:none;flex-wrap:wrap;box-sizing:content-box}.tags li{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #2c8af8;color:#54759a;height:22px;border-radius:11px;padding:0 6px;margin:3px 4px;font-size:10px;cursor:default}.tags li.can-click{cursor:pointer}.tags li.error{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.tags li.tags-selected.error{background:linear-gradient(135deg,#2c8af8,#f56c6c);border:none;height:24px;padding:0 7px}.tags .tags-selected{background-color:#2c8af8;color:#fff}.tags-expand{height:30px;line-height:30px;padding:0 20px;user-select:none;cursor:pointer}.input{display:inline-block;height:30px;width:100%;padding:0 10px;font-size:14px;color:#54759a;border-radius:3px;border:1px solid #e4eaef;transition:all .3s;transition-property:border-color,color,box-shadow}.input:focus{outline:0;border-color:#57befc;color:#2c8af8;box-shadow:0 2px 5px rgba(87,190,252,.5)}.input-align-left{text-align:left}.input-align-center{text-align:center}.input-align-right{text-align:right}.input-inside:focus{box-shadow:none}.select{cursor:pointer;font-size:14px;line-height:30px;color:#54759a;display:flex;overflow:hidden}.select>i{margin-left:5px;color:#54759a}.select-list{position:absolute;max-width:170px;border-radius:4px;overflow:hidden;box-shadow:0 2px 5px rgba(183,197,214,.5);opacity:.8;pointer-events:none;transform:scaleY(0);transform-origin:top;transition:all .2s linear}.select-list .list{max-height:300px;overflow:auto;background:#fff;padding:5px 0;transform:scaleY(2);transform-origin:top;transition:all .2s linear}.select-list .list>.option{color:#54759a;padding:10px 15px;font-size:14px;list-style:none;cursor:pointer}.select-list .list>.option:hover{background:rgba(228,234,239,.5)}.select-list .list>.selected{background:rgba(228,234,239,.5)}.select-list-show{opacity:1;pointer-events:visible;transform:scaleY(1)}.select-list-show .list{transform:scaleY(1)}.modal-mask{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.15);opacity:0;pointer-events:none;transition:all .5s ease;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-mask .modal{margin-top:-50px;padding:20px 30px;background:#fff;box-shadow:0 2px 16px rgba(84,117,154,.2);border-radius:4px;display:flex;flex-direction:column;transform:scale(0);transition:all .3s cubic-bezier(.32,.26,.71,1.29)}.modal-mask .modal .modal-title{margin:5px 0;width:100%;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:18px;color:#2c8af8;text-shadow:0 2px 6px rgba(44,138,248,.4)}.modal-mask .modal .modal-body{margin:10px 0;font-size:14px;color:#54759a}.modal-mask .modal .footer{width:100%;margin:5px 0;display:flex;align-items:center;justify-content:flex-end}.modal-mask .modal .footer .button{margin-left:10px}.modal-mask .modal-small{width:400px}.modal-mask .modal-big{width:600px}.modal-show{opacity:1;pointer-events:visible}.modal-show .modal{transform:scale(1)}@media (max-width:768px){.modal-mask .modal{margin-top:0;padding:18px 20px}.modal-mask .modal-small{width:280px}.modal-mask .modal-big{width:480px}}.alert{padding:15px;background:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(44,138,248,.3);font-size:13px;line-height:1.6;text-align:justify;display:flex}.alert .alert-icon{margin-right:10px;width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;justify-content:center;align-items:center;background:#fff}.alert .alert-icon>i{transform:scale(.5);font-weight:700}.alert .alert-message{width:100%;color:#fff}.alert-box-success{background:linear-gradient(135deg,#5dae34,#67c23a);box-shadow:0 2px 8px rgba(93,174,52,.3)}.alert-box-success .alert-icon>i{color:#67c23a}.alert-box-info{background:linear-gradient(135deg,#3eb4fc,#57befc);box-shadow:0 2px 8px rgba(62,180,252,.3)}.alert-box-info .alert-icon>i{color:#57befc}.alert-box-warning{background:linear-gradient(135deg,#e39725,#e6a23c);box-shadow:0 2px 8px rgba(227,151,37,.3)}.alert-box-warning .alert-icon>i{color:#e6a23c}.alert-box-error{background:linear-gradient(135deg,#f35454,#f56c6c);box-shadow:0 2px 8px rgba(243,84,84,.3)}.alert-box-error .alert-icon>i{color:#f56c6c}.alert-note-success{background:rgba(103,194,58,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #67c23a;box-shadow:0 2px 8px rgba(93,174,52,.3)}.alert-note-success .alert-icon{background:#67c23a}.alert-note-success .alert-icon>i{color:#fff}.alert-note-success .alert-message{color:#3d7323}.alert-note-info{background:rgba(87,190,252,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #57befc;box-shadow:0 2px 8px rgba(62,180,252,.3)}.alert-note-info .alert-icon{background:#57befc}.alert-note-info .alert-icon>i{color:#fff}.alert-note-info .alert-message{color:#0493e9}.alert-note-warning{background:rgba(230,162,60,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #e6a23c;box-shadow:0 2px 8px rgba(227,151,37,.3)}.alert-note-warning .alert-icon{background:#e6a23c}.alert-note-warning .alert-icon>i{color:#fff}.alert-note-warning .alert-message{color:#a76d15}.alert-note-error{background:rgba(245,108,108,.05);border-radius:1px 4px 4px 1px;border-left:2px solid #f56c6c;box-shadow:0 2px 8px rgba(243,84,84,.3)}.alert-note-error .alert-icon{background:#f56c6c}.alert-note-error .alert-icon>i{color:#fff}.alert-note-error .alert-message{color:#eb1010}.button{outline:0;padding:0 15px;height:32px;line-height:32px;border-radius:16px;font-size:14px;cursor:pointer;transition:all 150ms ease}.button-primary{color:#fff;border:none;background:linear-gradient(135deg,#57befc,#2c8af8);box-shadow:0 2px 8px rgba(44,138,248,.5)}.button-primary:hover{border:none}.button-primary:active{box-shadow:0 0 2px rgba(44,138,248,.5)}.button-normal{color:#909399;background:#fff;border:1px solid rgba(0,0,0,.1)}.button-normal:hover{border-color:#b7c5d6;color:#54759a}.button-normal:active{background:#fafafa;color:#54759a}.button-danger{color:#fff;border:none;background:linear-gradient(135deg,#f56c6c,#f23c3c);box-shadow:0 2px 8px rgba(242,60,60,.5)}.button-danger:hover{border:none}.button-danger:active{box-shadow:0 0 2px rgba(242,60,60,.5)}.button-success{color:#fff;border:none;background:linear-gradient(135deg,#67c23a,#5dae34);box-shadow:0 2px 8px rgba(93,174,52,.5)}.button-success:hover{border:none}.button-success:active{box-shadow:0 0 2px rgba(93,174,52,.5)}.button-warning{color:#fff;border:none;background:linear-gradient(135deg,#e6a23c,#e39725);box-shadow:0 2px 8px rgba(227,151,37,.5)}.button-warning:hover{border:none}.button-warning:active{box-shadow:0 0 2px rgba(227,151,37,.5)}.message{position:fixed;top:20px;right:20px;border-radius:4px;opacity:0;background:#fff;display:flex;box-shadow:0 0 20px rgba(44,138,248,.2);transition:all .2s ease;transform:translateX(100%)}.message .message-icon{width:36px;flex:1;border-radius:4px 0 0 4px;display:flex;justify-content:center;align-items:center}.message .message-icon>i{color:#fff}.message .message-content{padding:10px 15px;font-size:13px;color:#54759a}.message-info .message-icon{background:linear-gradient(135deg,#57befc,#2c8af8)}.message-success .message-icon{background:linear-gradient(135deg,#67c23a,#5dae34)}.message-warning .message-icon{background:linear-gradient(135deg,#e6a23c,#e39725)}.message-error .message-icon{background:linear-gradient(135deg,#f56c6c,#f23c3c)}.message-show{opacity:1;transition:all .2s ease;transform:translateX(0)}.checkbox{display:flex;position:relative;padding-left:26px;cursor:pointer;line-height:18px}.checkbox::before{content:"";display:inline-block;position:absolute;left:0;top:50%;width:18px;height:18px;border-radius:3px;transition:background-color .3s ease;transform:translateY(-9px);background-color:#fff;border:1px solid #e4eaef}.checkbox.checked::before{background-color:#57befc}.checkbox-icon{position:absolute;left:0;top:50%;line-height:18px;transform:translateY(-9px) scale(.6);text-shadow:none;font-weight:700}.checkbox-icon.checkbox-icon{color:#fff}.tag{display:flex;align-items:center;justify-content:center;height:24px;font-size:12px;padding:0 12px;text-align:center;background-color:#fff;border:2px solid #2c8af8;color:#2c8af8;border-radius:12px}.spinner{position:relative;width:80px;height:80px;border-radius:100%;animation:spinner 5s infinite linear}.spinner-circle{position:absolute;width:100%;height:100%;transform-origin:48% 48%}.spinner-inner{width:100%;height:100%;border-radius:100%;border:5px solid rgba(44,138,248,.7);border-right:none;border-top:none;background-clip:padding-box;box-shadow:inset 0 0 10px rgba(44,138,248,.15)}.spinner-circle:nth-of-type(0){transform:rotate(0)}.spinner-circle:nth-of-type(0) .spinner-inner{animation:spinner 2s infinite linear}.spinner-circle:nth-of-type(1){transform:rotate(70deg)}.spinner-circle:nth-of-type(1) .spinner-inner{animation:spinner 2s infinite linear}.spinner-circle:nth-of-type(2){transform:rotate(140deg)}.spinner-circle:nth-of-type(2) .spinner-inner{animation:spinner 2s infinite linear}@keyframes spinner{from{transform:rotate(0)}to{transform:rotate(360deg)}}.loading{position:absolute;display:flex;align-items:center;justify-content:center;top:0;left:0;bottom:0;right:0;background-color:rgba(255,255,255,.9);box-shadow:inset 0 0 80px rgba(0,0,0,.1);z-index:1000}.proxy-item{position:relative;width:100%;height:110px;padding:10px;border-radius:4px;background:#fff;user-select:none;cursor:default;box-shadow:2px 5px 20px -3px rgba(44,138,248,.2);transition:all .3s ease}.proxy-item .proxy-type{padding:2px 5px;font-size:10px;color:#fff;border-radius:2px}.proxy-item .proxy-name{display:-webkit-box;margin-top:10px;color:#54759a;font-size:10px;overflow:hidden;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.proxy-item .proxy-delay{position:absolute;left:10px;bottom:13px;font-size:10px;color:rgba(84,117,154,.8)}.proxy-item .proxy-editor{position:absolute;right:10px;bottom:10px;cursor:pointer;color:rgba(84,117,154,.8);opacity:0;pointer-events:none;transition:all .3s ease}.proxy-item:hover{box-shadow:0 14px 20px -4px rgba(84,117,154,.4)}.proxy-item:hover .proxy-editor{opacity:1;pointer-events:visible}.proxy-error{opacity:.5}.proxy-error .proxy-type{background-color:#909399}@media (max-width:768px){.proxy-item{height:70px}.proxy-item .proxy-delay{left:unset;bottom:unset;top:0;right:20px;height:70px;line-height:70px}}.proxy-group{display:flex;align-items:flex-start;font-size:14px;color:#546b87}.proxy-group-part{display:flex;align-items:center;height:60px}.proxy-group-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 20px;width:120px;height:18px}.proxies-group-card{padding:0}.proxies-group-item{border-bottom:1px solid #d8dee2}.proxies-group-item:last-child{border-bottom:none}.proxy-group-tags-container{padding:15px 0}.proxy-group-tags{flex:1;margin-left:30px}@media (max-width:768px){.proxy-group{flex-direction:column}.proxy-group-name{width:140px}.proxy-group-part{width:100%;height:42px;margin-top:6px;justify-content:space-between}.proxy-group-type{margin-right:20px}.proxy-group-tags-container{padding:5px 0 10px}.proxy-group-tags{margin-left:20px}}.proxy-provider{position:relative;display:flex;flex-direction:column;font-size:16px;padding:20px;color:#546b87}.proxy-provider-header{display:flex;align-items:center;justify-content:space-between}.proxy-provider-header-part{display:flex;align-items:center}.proxy-provider-name{margin-right:24px}.proxy-provider-proxies{list-style:none}.proxy-provider-item{box-shadow:0 0 24px 0 rgba(44,138,248,.2)}.proxy-provider-item:hover{box-shadow:0 0 24px 0 rgba(84,117,154,.4)}.proxy-provider-update{line-height:14px;font-size:14px}.proxy-provider-icon{margin-left:20px;cursor:pointer}.proxy-provider-icon.healthcheck{color:#f56c6c}@media (max-width:768px){.proxy-provider-header{flex-direction:column;align-items:flex-start}.proxy-provider-header-part{margin:6px 0}}.proxies-list{--item-width:calc(100% / (var(--columns) + 1));--gap:calc(var(--item-width) / var(--columns));display:flex;margin-right:calc(-1 * var(--gap));margin-top:20px;flex-wrap:wrap;align-content:flex-start;list-style:none}.proxies-list>li{display:inline-block;width:var(--item-width);margin-right:var(--gap);flex-shrink:0;margin-bottom:10px}.proxies-group-list{list-style:none}.proxies-group-card{margin:20px 0}.proxies-container .proxies-action-icon{margin-left:10px}.proxies-speed-test{line-height:32px;margin:0 2px 0 6px;color:#2c8af8;text-shadow:0 2px 6px rgba(44,138,248,.4);cursor:pointer}.proxies-providers-item{margin:20px 0}.proxies-providers-list{list-style:none}@media (min-width:2001px){.proxies-list{--columns:12}}@media (max-width:2000px){.proxies-list{--columns:10}}@media (max-width:1600px){.proxies-list{--columns:8}}@media (max-width:1340px){.proxies-list{--columns:7}}@media (max-width:960px){.proxies-list{--columns:6}}@media (max-width:860px){.proxies-list{--columns:5}}@media (max-width:768px){.proxies-group-card{margin:12px 0}.proxies-list{margin-right:0;padding-bottom:20px;flex-wrap:unset;flex-direction:column}.proxies-list>li{width:100%;margin-right:0;margin-bottom:10px}}@media (max-width:760px){.proxies-list{--columns:3}}.logs-card{display:flex;flex-direction:column;flex:1;margin-top:10px}.logs-panel{display:flex;flex-direction:column;flex-grow:1;flex-basis:0;list-style:none;padding:10px;border-radius:2px;background-color:#f3f6f9;font-size:12px;color:#73808f;overflow-y:auto;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace}.logs-panel li{line-height:20px;display:inline-block}.logs-panel-time{margin-right:10px;color:#adb7c3}.rule-provider{position:relative;display:flex;flex-direction:column;font-size:16px;padding:20px;color:#546b87}.rule-provider-header{display:flex;align-items:center;justify-content:space-between}.rule-provider-header-part{display:flex;align-items:center}.rule-provider-name{width:120px;margin-right:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-provider-behavior{width:80px;margin:0 20px 0 12px;background-color:#2c8af8;color:#fff}.rule-provider-spinner{transform:scale(.4)}.rule-provider-proxies{list-style:none}.rule-provider-item{box-shadow:0 0 24px 0 rgba(44,138,248,.2)}.rule-provider-item:hover{box-shadow:0 0 24px 0 rgba(84,117,154,.4)}.rule-provider-update{line-height:14px;font-size:14px}.rule-provider-icon{display:block;margin-left:20px;cursor:pointer}.rule-provider-icon.rule-provider-loading::before{color:#909399;cursor:not-allowed;animation:spinner 2s infinite linear}@media (max-width:768px){.rule-provider-header{flex-direction:column;align-items:flex-start}.rule-provider-header-part{margin:6px 0}}.rules-card{display:flex;flex-direction:column;flex:1;min-height:700px;margin-top:10px;padding:0}.rules-card:focus{outline:0}.rules-card .rules{flex:1 0 auto}.rule-item{line-height:30px;padding:5px 0;height:50px;overflow:hidden;list-style:none;user-select:none;border-bottom:1px solid rgba(228,234,239,.5)}.rule-item .rule-item-row{padding:5px 0}.rule-item .drag-handler{cursor:row-resize;margin:0 10px;display:flex;justify-content:center}.rule-item .drag-handler>i{font-weight:700;color:#b7c5d6}.rule-item .rule-type{font-size:14px;color:#54759a}.rule-item .rule-type>i{margin-left:5px;color:#54759a}.rule-item .payload{font-size:14px;color:#54759a;cursor:pointer}.rule-item .rule-proxy{font-size:14px;color:#54759a}.rule-item .delete-btn{opacity:0;transition:all .3s ease}.rule-item .delete-btn span{font-size:14px;color:#f56c6c;cursor:pointer}.rule-item:last-child{border-bottom:none}.rule-item:hover .delete-btn{opacity:1}.rule-proxy-option{display:flex;align-items:center;overflow:hidden}.rule-proxy-option .label{margin-right:5px;height:20px;line-height:20px;padding:0 8px;font-size:10px;border-radius:10px;color:#fff;background:#b7c5d6}.rule-proxy-option .value{line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-card{margin-top:10px;padding:.75rem 0}.settings-card .label{font-size:14px;color:#54759a}.settings-card .external-controller{font-size:14px;color:#54759a;display:flex;justify-content:flex-end;font-weight:400;line-height:17px}.settings-card .external-controller.modify-btn{color:#2c8af8;cursor:pointer}.clash-version{position:relative;margin-top:10px;padding:20px 45px;display:flex}.clash-version .check-icon{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#57befc,#2c8af8);display:flex;justify-content:center;align-items:center}.clash-version .check-icon>i{transform:scale(.5);color:#fff;font-weight:700}.clash-version .version-info{margin-left:10px;font-size:14px;line-height:24px;color:#54759a}.clash-version .check-update-btn{position:absolute;right:45px;font-size:14px;line-height:24px;color:#b7c5d6;cursor:pointer;transition:all 150ms ease}.clash-version .check-update-btn:hover{color:#54759a}@media (max-width:768px){.settings-card .flex .flex.w-1\/2{width:100%}}.sidebar{position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:160px;user-select:none}.sidebar-logo{margin-top:50px;width:60px;height:60px}.sidebar-menu{display:flex;flex-direction:column;flex:1;margin-top:12px}.sidebar-menu .item{display:block;margin-top:18px}.sidebar-menu .item>a{display:block;width:120px;height:36px;line-height:36px;font-size:14px;border-radius:18px;text-align:center}.sidebar-menu .item a:active,.sidebar-menu .item a:visited,.sidebar-menu .item>a{color:#909399;text-decoration:none}.sidebar-menu .item>a.active{background:linear-gradient(135deg,#57befc,#2c8af8);color:#fff;box-shadow:0 2px 8px rgba(44,138,248,.5)}.sidebar-version{display:flex;flex-direction:column;align-items:center;padding-bottom:20px}.sidebar-version-label{font-size:14px;color:#2c8af8;text-shadow:0 2px 6px rgba(44,138,248,.4)}.sidebar-version-text{text-align:center;font-size:14px;margin:8px 0;padding:0 10px;color:#54759a}@media (max-width:768px){.sidebar{width:100%;height:60px;flex-direction:row;background:#f4f5f6;z-index:10}.sidebar-logo{margin:0 15px;width:36px;height:36px}.sidebar-menu{flex:1;flex-direction:row;justify-content:center;margin-top:0;overflow-x:scroll;padding:10px}.sidebar-menu::-webkit-scrollbar{display:none}.sidebar-menu .item{margin:0 3px}.sidebar-menu .item>a{width:80px;height:32px;line-height:32px}.sidebar-menu .item.no-mobile{display:none}.sidebar-version{display:none}}.connections-devices{display:flex;padding:8px 2px}.connections-devices-item{padding:4px 0;margin-right:20px;font-size:14px;color:#909399;border-radius:3px;cursor:pointer;transition:color .3s ease}.connections-devices-item.selected{color:#2c8af8}.connections-card{display:flex;flex-direction:column;flex:1;margin-top:10px;padding:0;overflow:hidden}.connections-card .connections{display:flex;flex-direction:column;width:100%;flex-grow:1;flex-basis:0;overflow:auto}.connections-card .connections-body{flex:1 0 auto}.connections-card .connections-th{position:relative;text-align:center;color:#909399;background:#f3f6f9;height:30px;line-height:30px;font-weight:500;font-size:14px;cursor:pointer;user-select:none}.connections-card .connections-th.resizing .connections-resizer{opacity:1}.connections-card .connections-th.fixed{position:sticky!important;left:0;z-index:99;box-shadow:inset -9px 0 8px -14px #000}.connections-card .connections-resizer{position:absolute;opacity:0;right:-10px;top:8px;bottom:8px;width:20px;transition:opacity .3s ease;z-index:10;font-size:14px;font-weight:300;touch-action:none}.connections-card .connections-resizer::before{content:"";display:block;position:absolute;left:10px;transform:translateX(-2px);width:2px;height:100%;background-color:rgba(144,147,153,.6)}.connections-card .connections-header{position:sticky;top:0;z-index:9999;white-space:nowrap}.connections-card .connections-header:hover .connections-resizer{opacity:1}.connections-card .connetions-item{height:36px}.connections-card .connections-block{display:flex;align-items:center;font-size:14px;line-height:36px;padding:0 10px;color:#54759a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connections-card .connections-block.center{text-align:center}.connections-card .connections-block.completed{background-color:#e9eef4;color:rgba(84,117,154,.5)}.connections-card .connections-block.fixed{position:sticky;left:0;z-index:999;background-color:#fff;box-shadow:inset -9px 0 8px -14px #000}.connections-filter{color:#2c8af8;font-size:14px;line-height:20px;margin-left:15px;text-shadow:0 0 6px rgba(44,138,248,.4);cursor:pointer}.connections-filter.dangerous{color:#f56c6c;text-shadow:0 0 6px rgba(87,190,252,.2)}.connections-filter.total{flex:1;cursor:unset}.external-controller .alert{margin:10px 0}.external-controller .form,.external-controller .title{margin:15px 0}.external-controller .title{margin-top:15px;font-size:14px;font-weight:700}@media (max-width:768px){.external-controller .title{margin:5px 0}.external-controller .form{margin:5px 0}.external-controller .alert{display:none}}*,::after,::before{margin:0;padding:0;box-sizing:inherit}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}body ::-webkit-scrollbar{z-index:11;background:0 0}body ::-webkit-scrollbar-thumb{border-radius:5px;background:#2c8af8}body ::-webkit-scrollbar:vertical{width:6px}body ::-webkit-scrollbar:horizontal{height:6px}html{box-sizing:border-box;background:rgba(255,255,255,.8);overflow:hidden}input{-webkit-appearance:none}.container{margin:20px 0}.app{min-height:100vh;padding-left:150px}.app.not-clashx{background:#f4f5f6}.page-container{width:100%;height:100vh;padding-left:10px;overflow-y:scroll}.page{padding:20px 35px 30px 20px;width:100%;min-height:100vh;margin:0 auto;display:flex;flex-direction:column}@media (max-width:768px){.app{padding-left:0;padding-top:60px}.page-container{width:100%;padding:0 10px;height:calc(100vh - 60px);-webkit-overflow-scrolling:touch}.page-container::-webkit-scrollbar{display:none}.page{padding:0 0 20px;height:100%}}@font-face{font-family:clash-iconfont;src:url(//at.alicdn.com/t/font_841708_ok9czskbhel.ttf?t=1576162884356) format("truetype")}.clash-iconfont{font-family:clash-iconfont!important;font-size:14px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c8af8}.icon-update::before{content:""}.icon-healthcheck::before{content:""}.icon-speed::before{content:""}.icon-close::before{content:""}.icon-drag::before{content:""}.icon-down-arrow-o::before{content:""}.icon-check::before{content:""}.icon-plus::before{content:""}.icon-triangle-up::before{content:""}.icon-triangle-down::before{content:""}.icon-up-arrow-o::before{content:""}.icon-info::before{content:""}.icon-info-o::before{content:""}.icon-setting::before{content:""}.icon-show::before{content:""}.icon-hide::before{content:""}.icon-sort::before{content:""}.icon-sort-descending::before{content:""}.icon-sort-ascending::before{content:""}.icon-close-all::before{content:""}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}*{--tw-ring-inset:var(--tw-empty, );/*!*//*!*/--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}body{margin:0;font-family:inherit;line-height:inherit}button,input{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}button{text-transform:none;background-color:transparent;background-image:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}[role=button],button{cursor:pointer}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}h1{font-size:inherit;font-weight:inherit}img{border-style:solid;display:block;vertical-align:middle;max-width:100%;height:auto}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}h1,p{margin:0}ul{list-style:none;margin:0;padding:0}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.flex-1{-webkit-box-flex:1;-ms-flex:1 1 0%;-webkit-flex:1 1 0%;flex:1 1 0%}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.font-bold{font-weight:700}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-8{padding-left:2rem;padding-right:2rem}.text-center{text-align:center}.w-14{width:3.5rem}.w-40{width:10rem}.w-1\/2{width:50%}.w-28{width:7rem}.visible{visibility:visible}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between} \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/logo.b453e72f.png b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/dashboard/assets/logo.b453e72f.png deleted file mode 100644 index 439a7a3b5384fa7068876cf3e47fa197aebcbedc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11748 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,a=function(){},t.unstable_forceFrameRate=function(e){0>e||125>>1,o=e[r];if(!(void 0!==o&&0R(i,n))void 0!==l&&0>R(l,i)?(e[r]=l,e[u]=n,r=u):(e[r]=i,e[a]=n,r=a);else{if(!(void 0!==l&&0>R(l,n)))break e;e[r]=l,e[u]=n,r=u}}}return t}return null}function R(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var x=[],C=[],T=1,P=null,O=3,A=!1,M=!1,N=!1;function L(e){for(var t=E(C);null!==t;){if(null===t.callback)k(C);else{if(!(t.startTime<=e))break;k(C),t.sortIndex=t.expirationTime,_(x,t)}t=E(C)}}function I(e){if(N=!1,L(e),!M)if(null!==E(x))M=!0,n(z);else{var t=E(C);null!==t&&r(I,t.startTime-e)}}function z(e,n){M=!1,N&&(N=!1,o()),A=!0;var a=O;try{for(L(n),P=E(x);null!==P&&(!(P.expirationTime>n)||e&&!t.unstable_shouldYield());){var i=P.callback;if("function"==typeof i){P.callback=null,O=P.priorityLevel;var u=i(P.expirationTime<=n);n=t.unstable_now(),"function"==typeof u?P.callback=u:P===E(x)&&k(x),L(n)}else k(x);P=E(x)}if(null!==P)var l=!0;else{var s=E(C);null!==s&&r(I,s.startTime-n),l=!1}return l}finally{P=null,O=a,A=!1}}var D=a;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){M||A||(M=!0,n(z))},t.unstable_getCurrentPriorityLevel=function(){return O},t.unstable_getFirstCallbackNode=function(){return E(x)},t.unstable_next=function(e){switch(O){case 1:case 2:case 3:var t=3;break;default:t=O}var n=O;O=t;try{return e()}finally{O=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=D,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=O;O=e;try{return t()}finally{O=n}},t.unstable_scheduleCallback=function(e,a,i){var u=t.unstable_now();switch("object"==typeof i&&null!==i?i="number"==typeof(i=i.delay)&&0u?(e.sortIndex=i,_(C,e),null===E(x)&&e===E(C)&&(N?o():N=!0,r(I,i-u))):(e.sortIndex=l,_(x,e),M||A||(M=!0,n(z))),e},t.unstable_wrapCallback=function(e){var t=O;return function(){var n=O;O=t;try{return e.apply(this,arguments)}finally{O=n}}}})),p=o((function(e){e.exports=d})); -/** @license React v17.0.1 - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v17.0.1 - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -function h(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n

    - - - diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash.sh deleted file mode 100755 index 7fbb5452fd..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash.sh +++ /dev/null @@ -1,401 +0,0 @@ -#!/bin/bash -. /lib/functions.sh -. /usr/share/openclash/ruby.sh - -set_lock() { - exec 889>"/tmp/lock/openclash_subs.lock" 2>/dev/null - flock -x 889 2>/dev/null -} - -del_lock() { - flock -u 889 2>/dev/null - rm -rf "/tmp/lock/openclash_subs.lock" -} - -START_LOG="/tmp/openclash_start.log" -LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") -LOG_FILE="/tmp/openclash.log" -CFG_FILE="/tmp/config.yaml" -CRON_FILE="/etc/crontabs/root" -CONFIG_PATH=$(uci get openclash.config.config_path 2>/dev/null) -servers_update=$(uci get openclash.config.servers_update 2>/dev/null) -dns_port=$(uci get openclash.config.dns_port 2>/dev/null) -enable_redirect_dns=$(uci get openclash.config.enable_redirect_dns 2>/dev/null) -disable_masq_cache=$(uci get openclash.config.disable_masq_cache 2>/dev/null) -if_restart=0 -only_download=0 -set_lock - -urlencode() { - local data - if [ "$#" -eq 1 ]; then - data=$(curl -s -o /dev/null -w %{url_effective} --get --data-urlencode "$1" "") - if [ ! -z "$data" ]; then - echo "$(echo ${data##/?} |sed 's/\//%2f/g' |sed 's/:/%3a/g' |sed 's/?/%3f/g' |sed 's/(/%28/g' |sed 's/)/%29/g' |sed 's/\^/%5e/g' |sed 's/=/%3d/g' |sed 's/|/%7c/g')" - fi - fi -} - -kill_watchdog() { - watchdog_pids=$(unify_ps_pids "openclash_watchdog.sh") - for watchdog_pid in $watchdog_pids; do - kill -9 "$watchdog_pid" >/dev/null 2>&1 - done -} - -config_download() -{ -if [ -n "$subscribe_url_param" ]; then - curl -sL --connect-timeout 10 --retry 2 https://api.dler.io/sub"$subscribe_url_param" -o "$CFG_FILE" >/dev/null 2>&1 - if [ "$?" -ne 0 ]; then - curl -sL --connect-timeout 10 --retry 2 https://subcon.dlj.tf/sub"$subscribe_url_param" -o "$CFG_FILE" >/dev/null 2>&1 - fi -else - curl -sL --connect-timeout 10 --retry 2 --user-agent "clash" "$subscribe_url" -o "$CFG_FILE" >/dev/null 2>&1 -fi -} - -config_cus_up() -{ - if [ -z "$CONFIG_PATH" ]; then - CONFIG_PATH="/etc/openclash/config/$(ls -lt /etc/openclash/config/ | grep -E '.yaml|.yml' | head -n 1 |awk '{print $9}')" - uci set openclash.config.config_path="$CONFIG_PATH" - uci commit openclash - fi - if [ -z "$subscribe_url_param" ]; then - if [ "$servers_update" -eq 1 ] || [ ! -z "$keyword" ] || [ ! -z "$ex_keyword" ]; then - echo "配置文件【$name】替换成功,开始挑选节点..." > $START_LOG - uci set openclash.config.config_update_path="/etc/openclash/config/$name.yaml" - uci set openclash.config.servers_if_update=1 - uci commit openclash - /usr/share/openclash/yml_groups_get.sh - uci set openclash.config.servers_if_update=1 - uci commit openclash - /usr/share/openclash/yml_groups_set.sh - if [ "$CONFIG_FILE" == "$CONFIG_PATH" ]; then - if_restart=1 - fi - echo "${LOGTIME} Config 【$name】 Update Successful" >> $LOG_FILE - echo "配置文件【$name】更新成功!" > $START_LOG - sleep 3 - echo "" > $START_LOG - elif [ "$CONFIG_FILE" == "$CONFIG_PATH" ]; then - echo "${LOGTIME} Config 【$name】 Update Successful" >> $LOG_FILE - echo "配置文件【$name】更新成功!" > $START_LOG - sleep 3 - if_restart=1 - else - echo "配置文件【$name】更新成功!" > $START_LOG - echo "${LOGTIME} Config 【$name】 Update Successful" >> $LOG_FILE - sleep 3 - echo "" > $START_LOG - fi - else - if [ "$CONFIG_FILE" == "$CONFIG_PATH" ]; then - echo "${LOGTIME} Config 【$name】 Update Successful" >> $LOG_FILE - echo "配置文件【$name】更新成功!" > $START_LOG - sleep 3 - if_restart=1 - else - echo "配置文件【$name】更新成功!" > $START_LOG - echo "${LOGTIME} Config 【$name】 Update Successful" >> $LOG_FILE - sleep 3 - echo "" >$START_LOG - fi - fi - - rm -rf /tmp/Proxy_Group 2>/dev/null -} - -config_su_check() -{ - echo "配置文件下载成功,检查是否有更新..." > $START_LOG - sed -i 's/! //g' "$CFG_FILE" >/dev/null 2>&1 - if [ -f "$CONFIG_FILE" ]; then - cmp -s "$BACKPACK_FILE" "$CFG_FILE" - if [ "$?" -ne 0 ]; then - echo "配置文件【$name】有更新,开始替换..." > $START_LOG - mv "$CFG_FILE" "$CONFIG_FILE" 2>/dev/null - cp "$CONFIG_FILE" "$BACKPACK_FILE" - if [ "$only_download" -eq 0 ]; then - config_cus_up - else - echo "配置文件【$name】更新成功!" > $START_LOG - echo "${LOGTIME} Config 【$name】 Update Successful" >> $LOG_FILE - sleep 3 - echo "" > $START_LOG - fi - else - echo "配置文件【$name】没有任何更新,停止继续操作..." > $START_LOG - rm -rf "$CFG_FILE" - echo "${LOGTIME} Updated Config【$name】 No Change, Do Nothing" >> $LOG_FILE - sleep 5 - echo "" > $START_LOG - fi - else - echo "配置文件下载成功,本地没有配置文件,开始创建 ..." > $START_LOG - mv "$CFG_FILE" "$CONFIG_FILE" 2>/dev/null - cp "$CONFIG_FILE" "$BACKPACK_FILE" - if [ "$only_download" -eq 0 ]; then - config_cus_up - else - echo "配置文件【$name】更新成功!" >$START_LOG - echo "${LOGTIME} Config 【$name】 Update Successful" >> $LOG_FILE - sleep 3 - echo "" > $START_LOG - fi - fi -} - -config_error() -{ - echo "配置文件【$name】下载失败,请检查网络或稍后再试!" > $START_LOG - echo "${LOGTIME} Error: Config 【$name】Update Error" >> $LOG_FILE - rm -rf "$CFG_FILE" 2>/dev/null - sleep 5 - echo "" > $START_LOG -} - -change_dns() -{ - if pidof clash >/dev/null; then - if [ "$enable_redirect_dns" -ne 0 ]; then - uci del dhcp.@dnsmasq[-1].server >/dev/null 2>&1 - uci add_list dhcp.@dnsmasq[0].server=127.0.0.1#"$dns_port" >/dev/null 2>&1 - uci delete dhcp.@dnsmasq[0].resolvfile >/dev/null 2>&1 - uci set dhcp.@dnsmasq[0].noresolv=1 >/dev/null 2>&1 - [ "$disable_masq_cache" -eq 1 ] && { - uci set dhcp.@dnsmasq[0].cachesize=0 >/dev/null 2>&1 - } - uci commit dhcp - /etc/init.d/dnsmasq restart >/dev/null 2>&1 - fi - iptables -t nat -I OUTPUT -j openclash_output >/dev/null 2>&1 - iptables -t mangle -I OUTPUT -j openclash_output >/dev/null 2>&1 - nohup /usr/share/openclash/openclash_watchdog.sh & - fi -} - -config_download_direct() -{ - if pidof clash >/dev/null; then - - kill_watchdog - - uci del_list dhcp.@dnsmasq[0].server=127.0.0.1#"$dns_port" >/dev/null 2>&1 - if [ -s "/tmp/resolv.conf.d/resolv.conf.auto" ] && [ -n "$(grep "nameserver" /tmp/resolv.conf.d/resolv.conf.auto)" ]; then - uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.d/resolv.conf.auto >/dev/null 2>&1 - elif [ -s "/tmp/resolv.conf.auto" ] && [ -n "$(grep "nameserver" /tmp/resolv.conf.auto)" ]; then - uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto >/dev/null 2>&1 - else - rm -rf /tmp/resolv.conf.auto 2>/dev/null - touch /tmp/resolv.conf.auto 2>/dev/null - cat >> "/tmp/resolv.conf.auto" <<-EOF -# Interface lan -nameserver 114.114.114.114 -nameserver 119.29.29.29 -EOF - uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto >/dev/null 2>&1 - fi - uci set dhcp.@dnsmasq[0].noresolv=0 >/dev/null 2>&1 - uci delete dhcp.@dnsmasq[0].cachesize >/dev/null 2>&1 - uci commit dhcp - /etc/init.d/dnsmasq restart >/dev/null 2>&1 - - iptables -t nat -D OUTPUT -j openclash_output >/dev/null 2>&1 - iptables -t mangle -D OUTPUT -j openclash_output >/dev/null 2>&1 - sleep 3 - - config_download - - if [ "$?" -eq 0 ] && [ -s "$CFG_FILE" ]; then - ruby -ryaml -E UTF-8 -e " - begin - YAML.load_file('$CFG_FILE'); - rescue Exception => e - puts '${LOGTIME} Error: Unable To Parse Config File ' + e.message - system 'rm -rf ${CFG_FILE} 2>/dev/null' - end - " 2>/dev/null >> $LOG_FILE - if [ $? -ne 0 ]; then - echo "${LOGTIME} Error: Ruby Works Abnormally, Please Check The Ruby Library Depends!" >> $LOG_FILE - echo "Ruby依赖异常,无法校验配置文件,请确认ruby依赖工作正常后重试!" > $START_LOG - sleep 3 - only_download=1 - change_dns - config_su_check - elif [ ! -f "$CFG_FILE" ]; then - echo "配置文件格式校验失败..." > $START_LOG - sleep 3 - change_dns - config_error - elif ! "$(ruby_read "$CFG_FILE" ".key?('proxies')")" && ! "$(ruby_read "$CFG_FILE" ".key?('proxy-providers')")" ; then - echo "${LOGTIME} Error: Updated Config 【$name】 Has No Proxy Field, Update Exit..." >> $LOG_FILE - echo "配置文件节点部分校验失败..." > $START_LOG - sleep 3 - change_dns - config_error - else - change_dns - config_su_check - fi - else - change_dns - config_error - fi - else - config_error - fi -} - -server_key_match() -{ - local key_match key_word - - if [ -n "$(echo "$1" |grep "^ \{0,\}$")" ] || [ -n "$(echo "$1" |grep "^\t\{0,\}$")" ]; then - return - fi - - if [ -n "$(echo "$1" |grep "&")" ]; then - key_word=$(echo "$1" |sed 's/&/ /g') - for k in $key_word - do - if [ -z "$k" ]; then - continue - fi - k="(?=.*$k)" - key_match="$key_match$k" - done - key_match="^($key_match).*" - else - if [ -n "$1" ]; then - key_match="($1)" - fi - fi - - if [ "$2" = "keyword" ]; then - if [ -z "$key_match_param" ]; then - key_match_param="$key_match" - else - key_match_param="$key_match_param|$key_match" - fi - elif [ "$2" = "ex_keyword" ]; then - if [ -z "$key_ex_match_param" ]; then - key_ex_match_param="$key_match" - else - key_ex_match_param="$key_ex_match_param|$key_match" - fi - fi -} - -sub_info_get() -{ - local section="$1" subscribe_url template_path subscribe_url_param template_path_encode key_match_param key_ex_match_param - config_get_bool "enabled" "$section" "enabled" "1" - config_get "name" "$section" "name" "" - config_get "sub_convert" "$section" "sub_convert" "" - config_get "address" "$section" "address" "" - config_get "keyword" "$section" "keyword" "" - config_get "ex_keyword" "$section" "ex_keyword" "" - config_get "emoji" "$section" "emoji" "" - config_get "udp" "$section" "udp" "" - config_get "skip_cert_verify" "$section" "skip_cert_verify" "" - config_get "sort" "$section" "sort" "" - config_get "template" "$section" "template" "" - config_get "node_type" "$section" "node_type" "" - config_get "custom_template_url" "$section" "custom_template_url" "" - - if [ "$enabled" -eq 0 ]; then - return - fi - - if [ -z "$address" ]; then - return - fi - - if [ -z "$name" ]; then - name="config" - CONFIG_FILE="/etc/openclash/config/config.yaml" - BACKPACK_FILE="/etc/openclash/backup/config.yaml" - else - CONFIG_FILE="/etc/openclash/config/$name.yaml" - BACKPACK_FILE="/etc/openclash/backup/$name.yaml" - fi - - if [ "$sub_convert" -eq 0 ]; then - subscribe_url=$address - elif [ "$sub_convert" -eq 1 ] && [ -n "$template" ]; then - subscribe_url=$(urlencode "$address") - if [ "$template" != "0" ]; then - template_path=$(grep "^$template," /usr/share/openclash/res/sub_ini.list |awk -F ',' '{print $3}' 2>/dev/null) - else - template_path=$custom_template_url - fi - if [ -n "$template_path" ]; then - template_path_encode=$(urlencode "$template_path") - if [ ! -z "$keyword" ] || [ ! -z "$ex_keyword" ]; then - config_list_foreach "$section" "keyword" server_key_match "keyword" - config_list_foreach "$section" "ex_keyword" server_key_match "ex_keyword" - [ -n "$key_match_param" ] && key_match_param=$(urlencode "$key_match_param") - [ -n "$key_ex_match_param" ] && key_ex_match_param=$(urlencode "$key_ex_match_param") - fi - subscribe_url_param="?target=clash&new_name=true&url=$subscribe_url&config=$template_path_encode&include=$key_match_param&exclude=$key_ex_match_param&emoji=$emoji&list=false&sort=$sort&udp=$udp&scv=$skip_cert_verify&append_type=$node_type&fdn=true" - else - subscribe_url=$address - fi - else - subscribe_url=$address - fi - - echo "开始更新配置文件【$name】..." > $START_LOG - - config_download - - if [ "$?" -eq 0 ] && [ -s "$CFG_FILE" ]; then - ruby -ryaml -E UTF-8 -e " - begin - YAML.load_file('$CFG_FILE'); - rescue Exception => e - puts '${LOGTIME} Error: Unable To Parse Config File ' + e.message - system 'rm -rf ${CFG_FILE} 2>/dev/null' - end - " 2>/dev/null >> $LOG_FILE - if [ $? -ne 0 ]; then - echo "${LOGTIME} Error: Ruby Works Abnormally, Please Check The Ruby Library Depends!" >> $LOG_FILE - echo "Ruby依赖异常,无法校验配置文件,请确认ruby依赖工作正常后重试!" > $START_LOG - sleep 3 - only_download=1 - config_su_check - elif [ ! -f "$CFG_FILE" ]; then - echo "配置文件格式校验失败,尝试不使用代理下载配置文件..." > $START_LOG - sleep 3 - config_download_direct - elif ! "$(ruby_read "$CFG_FILE" ".key?('proxies')")" && ! "$(ruby_read "$CFG_FILE" ".key?('proxy-providers')")" ; then - echo "${LOGTIME} Error: Updated Config 【$name】 Has No Proxy Field" >> $LOG_FILE - echo "配置文件节点部分校验失败,尝试不使用代理下载配置文件..." > $START_LOG - sleep 3 - config_download_direct - else - config_su_check - fi - else - echo "配置文件【$name】订阅失败,尝试不使用代理下载配置文件..." > $START_LOG - echo "${LOGTIME} Error: Config 【$name】 Download Faild" >> $LOG_FILE - config_download_direct - fi -} - -#分别获取订阅信息进行处理 -config_load "openclash" -config_foreach sub_info_get "config_subscribe" -uci delete openclash.config.config_update_path >/dev/null 2>&1 -uci commit openclash - -if [ "$if_restart" -eq 1 ]; then - /etc/init.d/openclash restart >/dev/null 2>&1 & -else - sed -i '/openclash.sh/d' $CRON_FILE 2>/dev/null - [ "$(uci get openclash.config.auto_update 2>/dev/null)" -eq 1 ] && [ "$(uci get openclash.config.config_auto_update_mode 2>/dev/null)" -ne 1 ] && echo "0 $(uci get openclash.config.auto_update_time 2>/dev/null) * * $(uci get openclash.config.config_update_week_time 2>/dev/null) /usr/share/openclash/openclash.sh" >> $CRON_FILE - /etc/init.d/cron restart -fi -del_lock \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_chnroute.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_chnroute.sh deleted file mode 100755 index f2d6f0994c..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_chnroute.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -. /usr/share/openclash/openclash_ps.sh - - status=$(unify_ps_status "openclash_chnroute.sh") - [ "$status" -gt 3 ] && exit 0 - - START_LOG="/tmp/openclash_start.log" - LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") - LOG_FILE="/tmp/openclash.log" - china_ip_route=$(uci get openclash.config.china_ip_route 2>/dev/null) - CHNR_CUSTOM_URL=$(uci get openclash.config.chnr_custom_url 2>/dev/null) - small_flash_memory=$(uci get openclash.config.small_flash_memory 2>/dev/null) - - if [ "$small_flash_memory" != "1" ]; then - chnr_path="/etc/openclash/china_ip_route.ipset" - mkdir -p /etc/openclash - else - chnr_path="/tmp/etc/openclash/china_ip_route.ipset" - mkdir -p /tmp/etc/openclash - fi - - echo "开始下载大陆IP白名单..." >$START_LOG - if [ -z "$CHNR_CUSTOM_URL" ]; then - if pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://ispip.clang.cn/all_cn.txt -o /tmp/china_ip_route.txt >/dev/null 2>&1 - fi - if [ "$?" -ne "0" ] || ! pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://ispip.clang.cn/all_cn_cidr.txt -o /tmp/china_ip_route.txt >/dev/null 2>&1 - fi - else - curl -sL --connect-timeout 10 --retry 2 "$CHNR_CUSTOM_URL" -o /tmp/china_ip_route.txt >/dev/null 2>&1 - fi - if [ "$?" -eq "0" ] && [ -s "/tmp/china_ip_route.txt" ]; then - echo "大陆IP白名单下载成功,检查版本是否更新..." >$START_LOG - #预处理 - echo "create china_ip_route hash:net family inet hashsize 1024 maxelem 65536" >/tmp/china_ip_route.list - awk '!/^$/&&!/^#/{printf("add china_ip_route %s'" "'\n",$0)}' /tmp/china_ip_route.txt >>/tmp/china_ip_route.list - cmp -s /tmp/china_ip_route.list "$chnr_path" - if [ "$?" -ne "0" ]; then - echo "大陆IP白名单有更新,开始替换旧版本..." >$START_LOG - mv /tmp/china_ip_route.list "$chnr_path" >/dev/null 2>&1 - [ "$china_ip_route" -eq 1 ] && [ "$(unify_ps_prevent)" -eq 0 ] && /etc/init.d/openclash restart >/dev/null 2>&1 & - echo "大陆IP白名单更新成功!" >$START_LOG - echo "${LOGTIME} Chnroute Lists Update Successful" >>$LOG_FILE - sleep 5 - else - echo "大陆IP白名单没有更新,停止继续操作..." >$START_LOG - echo "${LOGTIME} Updated Chnroute Lists No Change, Do Nothing" >>$LOG_FILE - sleep 5 - fi - else - echo "大陆IP白名单下载失败,请检查网络或稍后再试!" >$START_LOG - echo "${LOGTIME} Chnroute Lists Update Error" >>$LOG_FILE - sleep 5 - fi - rm -rf /tmp/china_ip_route* >/dev/null 2>&1 - echo "" >$START_LOG \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_core.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_core.sh deleted file mode 100755 index 8431423909..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_core.sh +++ /dev/null @@ -1,208 +0,0 @@ -#!/bin/sh -. /lib/functions.sh -. /usr/share/openclash/openclash_ps.sh - -START_LOG="/tmp/openclash_start.log" -LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") -LOG_FILE="/tmp/openclash.log" -CORE_TYPE="$1" -[ -z "$CORE_TYPE" ] || [ "$1" = "one_key_update" ] && CORE_TYPE="Dev" -en_mode=$(uci get openclash.config.en_mode 2>/dev/null) -small_flash_memory=$(uci get openclash.config.small_flash_memory 2>/dev/null) -CPU_MODEL=$(uci get openclash.config.core_version 2>/dev/null) - -[ ! -f "/tmp/clash_last_version" ] && /usr/share/openclash/clash_version.sh 2>/dev/null -if [ "$small_flash_memory" != "1" ]; then - dev_core_path="/etc/openclash/core/clash" - tun_core_path="/etc/openclash/core/clash_tun" - game_core_path="/etc/openclash/core/clash_game" - mkdir -p /etc/openclash/core -else - dev_core_path="/tmp/etc/openclash/core/clash" - tun_core_path="/tmp/etc/openclash/core/clash_tun" - game_core_path="/tmp/etc/openclash/core/clash_game" - mkdir -p /tmp/etc/openclash/core -fi - -case $CORE_TYPE in - "Tun") - CORE_CV=$($tun_core_path -v 2>/dev/null |awk -F ' ' '{print $2}') - CORE_LV=$(sed -n 2p /tmp/clash_last_version 2>/dev/null) - if [ -z "$CORE_LV" ]; then - echo "获取【Tun】内核最新版本信息失败,请稍后再试..." >$START_LOG - echo "${LOGTIME} Error: 【Tun】Core Version Check Error, Please Try Again After A few Seconds" >>$LOG_FILE - sleep 5 - echo "" >$START_LOG - exit 0 - fi - if [ "$en_mode" = "fake-ip-tun" ] || [ "$en_mode" = "redir-host-tun" ] || [ "$en_mode" = "redir-host-mix" ] || [ "$en_mode" = "fake-ip-mix" ]; then - if_restart=1 - fi - ;; - "Game") - CORE_CV=$($game_core_path -v 2>/dev/null |awk -F ' ' '{print $2}') - CORE_LV=$(sed -n 3p /tmp/clash_last_version 2>/dev/null) - if [ "$en_mode" = "fake-ip-vpn" ] || [ "$en_mode" = "redir-host-vpn" ]; then - if_restart=1 - fi - ;; - *) - CORE_CV=$($dev_core_path -v 2>/dev/null |awk -F ' ' '{print $2}') - CORE_LV=$(sed -n 1p /tmp/clash_last_version 2>/dev/null) - if [ "$en_mode" = "fake-ip" ] || [ "$en_mode" = "redir-host" ]; then - if_restart=1 - fi -esac - -[ -n "$2" ] || [ "$1" = "one_key_update" ] && if_restart=0 - -if [ "$CORE_CV" != "$CORE_LV" ] || [ -z "$CORE_CV" ]; then - if [ "$CPU_MODEL" != 0 ]; then - if pidof clash >/dev/null; then - case $CORE_TYPE in - "Tun") - echo "正在下载【Tun】版本内核,如下载失败请尝试手动下载并上传..." >$START_LOG - curl -sL -m 10 --retry 2 https://github.com/vernesong/OpenClash/releases/download/TUN-Premium/clash-"$CPU_MODEL"-"$CORE_LV".gz -o /tmp/clash_tun.gz >/dev/null 2>&1 - ;; - "Game") - echo "正在下载【Game】版本内核,如下载失败请尝试手动下载并上传..." >$START_LOG - curl -sL -m 10 --retry 2 https://github.com/vernesong/OpenClash/releases/download/TUN/clash-"$CPU_MODEL".tar.gz -o /tmp/clash_game.tar.gz >/dev/null 2>&1 - ;; - *) - echo "正在下载【Dev】版本内核,如下载失败请尝试手动下载并上传..." >$START_LOG - curl -sL -m 10 --retry 2 https://github.com/vernesong/OpenClash/releases/download/Clash/clash-"$CPU_MODEL".tar.gz -o /tmp/clash.tar.gz >/dev/null 2>&1 - esac - fi - if [ "$?" -ne "0" ] || ! pidof clash >/dev/null; then - case $CORE_TYPE in - "Tun") - echo "正在下载【Tun】版本内核,如下载失败请尝试手动下载并上传..." >$START_LOG - curl -sL -m 10 --retry 2 https://cdn.jsdelivr.net/gh/vernesong/OpenClash@master/core-lateset/premium/clash-"$CPU_MODEL"-"$CORE_LV".gz -o /tmp/clash_tun.gz >/dev/null 2>&1 - ;; - "Game") - echo "正在下载【Game】版本内核,如下载失败请尝试手动下载并上传..." >$START_LOG - curl -sL -m 10 --retry 2 https://cdn.jsdelivr.net/gh/vernesong/OpenClash@master/core-lateset/game/clash-"$CPU_MODEL".tar.gz -o /tmp/clash_game.tar.gz >/dev/null 2>&1 - ;; - *) - echo "正在下载【Dev】版本内核,如下载失败请尝试手动下载并上传..." >$START_LOG - curl -sL -m 10 --retry 2 https://cdn.jsdelivr.net/gh/vernesong/OpenClash@master/core-lateset/dev/clash-"$CPU_MODEL".tar.gz -o /tmp/clash.tar.gz >/dev/null 2>&1 - esac - fi - if [ "$?" -eq "0" ]; then - echo "【"$CORE_TYPE"】版本内核下载成功,开始更新..." >$START_LOG - case $CORE_TYPE in - "Tun") - [ -s "/tmp/clash_tun.gz" ] && { - gzip -d /tmp/clash_tun.gz >/dev/null 2>&1 - rm -rf /tmp/clash_tun.gz >/dev/null 2>&1 - rm -rf "$tun_core_path" >/dev/null 2>&1 - chmod 4755 /tmp/clash_tun >/dev/null 2>&1 - } - ;; - "Game") - [ -s "/tmp/clash_game.tar.gz" ] && { - tar zxvf /tmp/clash_game.tar.gz -C /tmp >/dev/null 2>&1 - mv /tmp/clash /tmp/clash_game >/dev/null 2>&1 - rm -rf /tmp/clash_game.tar.gz >/dev/null 2>&1 - rm -rf "$game_core_path" >/dev/null 2>&1 - chmod 4755 /tmp/clash_game >/dev/null 2>&1 - } - ;; - *) - [ -s "/tmp/clash.tar.gz" ] && { - rm -rf "$dev_core_path" >/dev/null 2>&1 - if [ "$small_flash_memory" != "1" ]; then - tar zxvf /tmp/clash.tar.gz -C /etc/openclash/core - else - tar zxvf /tmp/clash.tar.gz -C /tmp/etc/openclash/core - fi - rm -rf /tmp/clash.tar.gz >/dev/null 2>&1 - chmod 4755 "$dev_core_path" >/dev/null 2>&1 - } - esac - - if [ "$?" -ne "0" ]; then - echo "【"$CORE_TYPE"】版本内核更新失败,请检查网络或稍后再试!" >$START_LOG - echo "${LOGTIME} Error: OpenClash 【"$CORE_TYPE"】 Core Update Error" >>$LOG_FILE - case $CORE_TYPE in - "Tun") - rm -rf /tmp/clash_tun >/dev/null 2>&1 - ;; - "Game") - rm -rf /tmp/clash_game >/dev/null 2>&1 - ;; - *) - esac - sleep 5 - echo "" >$START_LOG - exit 0 - fi - - if [ "$if_restart" -eq 1 ]; then - clash_pids=$(pidof clash|sed 's/$//g') - for clash_pid in $clash_pids; do - kill -9 "$clash_pid" 2>/dev/null - done - fi - - case $CORE_TYPE in - "Tun") - mv /tmp/clash_tun "$tun_core_path" >/dev/null 2>&1 - ;; - "Game") - mv /tmp/clash_game "$game_core_path" >/dev/null 2>&1 - ;; - *) - esac - if [ "$?" -eq "0" ]; then - echo "【"$CORE_TYPE"】版本内核更新成功!" >$START_LOG - echo "${LOGTIME} OpenClash 【"$CORE_TYPE"】 Core Update Successful" >>$LOG_FILE - sleep 3 - if [ -n "$2" ] || [ "$1" = "one_key_update" ]; then - uci set openclash.config.config_reload=0 - uci commit openclash - fi - [ "$if_restart" -eq 1 ] && [ "$(unify_ps_prevent)" -eq 0 ] && /etc/init.d/openclash restart - echo "" >$START_LOG - else - echo "【"$CORE_TYPE"】版本内核更新失败,请确认设备闪存空间足够后再试!" >$START_LOG - echo "${LOGTIME} Error: OpenClash 【"$CORE_TYPE"】 Core Update Error" >>$LOG_FILE - case $CORE_TYPE in - "Tun") - rm -rf /tmp/clash_tun >/dev/null 2>&1 - ;; - "Game") - rm -rf /tmp/clash_game >/dev/null 2>&1 - ;; - *) - esac - sleep 5 - echo "" >$START_LOG - fi - else - echo "【"$CORE_TYPE"】版本内核下载失败,请检查网络或稍后再试!" >$START_LOG - echo "${LOGTIME} Error: OpenClash 【"$CORE_TYPE"】 Core Update Error" >>$LOG_FILE - case $CORE_TYPE in - "Tun") - rm -rf /tmp/clash_tun >/dev/null 2>&1 - ;; - "Game") - rm -rf /tmp/clash_game >/dev/null 2>&1 - ;; - *) - rm -rf /tmp/clash >/dev/null 2>&1 - esac - sleep 10 - echo "" >$START_LOG - fi - else - echo "未选择编译版本,请到全局设置中选择后再试!" >$START_LOG - sleep 10 - echo "" >$START_LOG - fi -else - echo "【"$CORE_TYPE"】版本内核没有更新,停止继续操作!" >$START_LOG - echo "${LOGTIME} OpenClash 【"$CORE_TYPE"】 Core No Change, Do Nothing" >>$LOG_FILE - sleep 5 - echo "" >$START_LOG -fi diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_custom_domain_dns.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_custom_domain_dns.sh deleted file mode 100755 index c2021a8855..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_custom_domain_dns.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -. /usr/share/openclash/openclash_ps.sh - -status=$(unify_ps_status "openclash_custom_domain_dns.sh") -[ "$status" -gt "3" ] && exit 0 - -START_LOG="/tmp/openclash_start.log" -rm -rf /tmp/dnsmasq.d/dnsmasq_openclash_custom_domain.conf >/dev/null 2>&1 -if [ "$(uci get openclash.config.dns_advanced_setting 2>/dev/null)" -eq 1 ]; then - echo "正在设置第二DNS服务器列表..." >$START_LOG - - custom_domain_dns_server=$(uci get openclash.config.custom_domain_dns_server 2>/dev/null) - [ -z "$custom_domain_dns_server" ] && { - custom_domain_dns_server="114.114.114.114" - } - - if [ -s "/etc/openclash/custom/openclash_custom_domain_dns.list" ]; then - mkdir -p /tmp/dnsmasq.d - awk -v tag="$custom_domain_dns_server" '!/^$/&&!/^#/{printf("server=/%s/"'tag'"\n",$0)}' /etc/openclash/custom/openclash_custom_domain_dns.list >>/tmp/dnsmasq.d/dnsmasq_openclash_custom_domain.conf 2>/dev/null - fi -fi \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_debug.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_debug.sh deleted file mode 100755 index 1ad80e9531..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_debug.sh +++ /dev/null @@ -1,381 +0,0 @@ -#!/bin/bash -. /lib/functions.sh -. /usr/share/openclash/openclash_ps.sh -. /usr/share/openclash/ruby.sh - -status=$(unify_ps_status "openclash_debug.sh") -[ "$status" -gt "3" ] && exit 0 - -DEBUG_LOG="/tmp/openclash_debug.log" -LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") -uci commit openclash - -enable_custom_dns=$(uci get openclash.config.enable_custom_dns 2>/dev/null) -rule_source=$(uci get openclash.config.rule_source 2>/dev/null) -enable_custom_clash_rules=$(uci get openclash.config.enable_custom_clash_rules 2>/dev/null) -ipv6_enable=$(uci get openclash.config.ipv6_enable 2>/dev/null) -enable_redirect_dns=$(uci get openclash.config.enable_redirect_dns 2>/dev/null) -disable_masq_cache=$(uci get openclash.config.disable_masq_cache 2>/dev/null) -proxy_mode=$(uci get openclash.config.proxy_mode 2>/dev/null) -intranet_allowed=$(uci get openclash.config.intranet_allowed 2>/dev/null) -enable_udp_proxy=$(uci get openclash.config.enable_udp_proxy 2>/dev/null) -enable_rule_proxy=$(uci get openclash.config.enable_rule_proxy 2>/dev/null) -en_mode=$(uci get openclash.config.en_mode 2>/dev/null) -RAW_CONFIG_FILE=$(uci get openclash.config.config_path 2>/dev/null) -CONFIG_FILE="/etc/openclash/$(uci get openclash.config.config_path 2>/dev/null |awk -F '/' '{print $5}' 2>/dev/null)" -core_type=$(uci get openclash.config.core_version 2>/dev/null) -cpu_model=$(opkg status libc 2>/dev/null |grep 'Architecture' |awk -F ': ' '{print $2}' 2>/dev/null) -core_version=$(/etc/openclash/core/clash -v 2>/dev/null |awk -F ' ' '{print $2}' 2>/dev/null) -core_tun_version=$(/etc/openclash/core/clash_tun -v 2>/dev/null |awk -F ' ' '{print $2}' 2>/dev/null) -core_game_version=$(/etc/openclash/core/clash_game -v 2>/dev/null |awk -F ' ' '{print $2}' 2>/dev/null) -servers_update=$(uci get openclash.config.servers_update 2>/dev/null) -mix_proxies=$(uci get openclash.config.mix_proxies 2>/dev/null) -op_version=$(sed -n 1p /usr/share/openclash/res/openclash_version 2>/dev/null) -china_ip_route=$(uci get openclash.config.china_ip_route 2>/dev/null) -common_ports=$(uci get openclash.config.common_ports 2>/dev/null) - -if [ -z "$RAW_CONFIG_FILE" ] || [ ! -f "$RAW_CONFIG_FILE" ]; then - CONFIG_NAME=$(ls -lt /etc/openclash/config/ | grep -E '.yaml|.yml' | head -n 1 |awk '{print $9}') - if [ ! -z "$CONFIG_NAME" ]; then - RAW_CONFIG_FILE="/etc/openclash/config/$CONFIG_NAME" - CONFIG_FILE="/etc/openclash/$CONFIG_NAME" - fi -fi - -ts_cf() -{ - if [ "$1" != 1 ]; then - echo "停用" - else - echo "启用" - fi -} - -ts_re() -{ - if [ -z "$1" ]; then - echo "未安装" - else - echo "已安装" - fi -} - -echo "OpenClash 调试日志" > "$DEBUG_LOG" -cat >> "$DEBUG_LOG" <<-EOF - -生成时间: $LOGTIME -插件版本: $op_version -隐私提示: 上传此日志前请注意检查、屏蔽公网IP、节点、密码等相关敏感信息 - -\`\`\` -EOF - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 系统信息 =====================# - -主机型号: $(cat /tmp/sysinfo/model 2>/dev/null) -固件版本: $(cat /usr/lib/os-release 2>/dev/null |grep OPENWRT_RELEASE 2>/dev/null |awk -F '"' '{print $2}' 2>/dev/null) -LuCI版本: $(opkg status luci 2>/dev/null |grep 'Version' |awk -F ': ' '{print $2}' 2>/dev/null) -内核版本: $(uname -r 2>/dev/null) -处理器架构: $cpu_model - -#此项在使用Tun模式时应为ACCEPT -防火墙转发: $(uci get firewall.@defaults[0].forward 2>/dev/null) - -#此项有值时建议到网络-接口-lan的设置中禁用IPV6的DHCP -IPV6-DHCP: $(uci get dhcp.lan.dhcpv6 2>/dev/null) - -#此项结果应仅有配置文件的DNS监听地址 -Dnsmasq转发设置: $(uci get dhcp.@dnsmasq[0].server 2>/dev/null) -EOF - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 依赖检查 =====================# - -dnsmasq-full: $(ts_re "$(opkg status dnsmasq-full 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -coreutils: $(ts_re "$(opkg status coreutils 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -coreutils-nohup: $(ts_re "$(opkg status coreutils-nohup 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -bash: $(ts_re "$(opkg status bash 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -curl: $(ts_re "$(opkg status curl 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -jsonfilter: $(ts_re "$(opkg status jsonfilter 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -ca-certificates: $(ts_re "$(opkg status ca-certificates 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -ipset: $(ts_re "$(opkg status ipset 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -ip-full: $(ts_re "$(opkg status ip-full 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -iptables-mod-tproxy: $(ts_re "$(opkg status iptables-mod-tproxy 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -kmod-ipt-tproxy: $(ts_re "$(opkg status kmod-ipt-tproxy 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -iptables-mod-extra: $(ts_re "$(opkg status iptables-mod-extra 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -kmod-ipt-extra: $(ts_re "$(opkg status kmod-ipt-extra 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -libcap: $(ts_re "$(opkg status libcap 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -libcap-bin: $(ts_re "$(opkg status libcap-bin 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -ruby: $(ts_re "$(opkg status ruby 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -ruby-yaml: $(ts_re "$(opkg status ruby-yaml 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -ruby-psych: $(ts_re "$(opkg status ruby-psych 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -ruby-pstore: $(ts_re "$(opkg status ruby-pstore 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -ruby-dbm: $(ts_re "$(opkg status ruby-dbm 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -kmod-tun(TUN模式): $(ts_re "$(opkg status kmod-tun 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -luci-compat(Luci-19.07): $(ts_re "$(opkg status luci-compat 2>/dev/null |grep 'Status' |awk -F ': ' '{print $2}' 2>/dev/null)") -EOF - -#core -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 内核检查 =====================# - -EOF -if pidof clash >/dev/null; then -cat >> "$DEBUG_LOG" <<-EOF -运行状态: 运行中 -进程pid: $(pidof clash) -运行权限: `getpcaps $(pidof clash)` -运行用户: $(ps |grep "/etc/openclash/clash" |grep -v grep |awk '{print $2}' 2>/dev/null) -EOF -else -cat >> "$DEBUG_LOG" <<-EOF -运行状态: 未运行 -EOF -fi -if [ "$core_type" = "0" ]; then - core_type="未选择架构" -fi -cat >> "$DEBUG_LOG" <<-EOF -已选择的架构: $core_type - -#下方无法显示内核版本号时请确认您的内核版本是否正确或者有无权限 -EOF - -cat >> "$DEBUG_LOG" <<-EOF -Tun内核版本: $core_tun_version -EOF -if [ ! -f "/etc/openclash/core/clash_tun" ]; then -cat >> "$DEBUG_LOG" <<-EOF -Tun内核文件: 不存在 -EOF -else -cat >> "$DEBUG_LOG" <<-EOF -Tun内核文件: 存在 -EOF -fi -if [ ! -x "/etc/openclash/core/clash_tun" ]; then -cat >> "$DEBUG_LOG" <<-EOF -Tun内核运行权限: 否 -EOF -else -cat >> "$DEBUG_LOG" <<-EOF -Tun内核运行权限: 正常 -EOF -fi - -cat >> "$DEBUG_LOG" <<-EOF - -Game内核版本: $core_game_version -EOF - -if [ ! -f "/etc/openclash/core/clash_game" ]; then -cat >> "$DEBUG_LOG" <<-EOF -Game内核文件: 不存在 -EOF -else -cat >> "$DEBUG_LOG" <<-EOF -Game内核文件: 存在 -EOF -fi -if [ ! -x "/etc/openclash/core/clash_game" ]; then -cat >> "$DEBUG_LOG" <<-EOF -Game内核运行权限: 否 -EOF -else -cat >> "$DEBUG_LOG" <<-EOF -Game内核运行权限: 正常 -EOF -fi - -cat >> "$DEBUG_LOG" <<-EOF - -Dev内核版本: $core_version -EOF -if [ ! -f "/etc/openclash/core/clash" ]; then -cat >> "$DEBUG_LOG" <<-EOF -Dev内核文件: 不存在 -EOF -else -cat >> "$DEBUG_LOG" <<-EOF -Dev内核文件: 存在 -EOF -fi -if [ ! -x "/etc/openclash/core/clash" ]; then -cat >> "$DEBUG_LOG" <<-EOF -Dev内核运行权限: 否 -EOF -else -cat >> "$DEBUG_LOG" <<-EOF -Dev内核运行权限: 正常 -EOF -fi - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 插件设置 =====================# - -当前配置文件: $RAW_CONFIG_FILE -启动配置文件: $CONFIG_FILE -运行模式: $en_mode -默认代理模式: $proxy_mode -UDP流量转发(tproxy): $(ts_cf "$enable_udp_proxy") -DNS劫持: $(ts_cf "$enable_redirect_dns") -自定义DNS: $(ts_cf "$enable_custom_dns") -IPV6-DNS解析: $(ts_cf "$ipv6_enable") -禁用Dnsmasq缓存: $(ts_cf "$disable_masq_cache") -自定义规则: $(ts_cf "$enable_custom_clash_rules") -仅允许内网: $(ts_cf "$intranet_allowed") -仅代理命中规则流量: $(ts_cf "$enable_rule_proxy") -仅允许常用端口流量: $(ts_cf "$common_ports") -绕过中国大陆IP: $(ts_cf "$china_ip_route") - -#启动异常时建议关闭此项后重试 -混合节点: $(ts_cf "$mix_proxies") -保留配置: $(ts_cf "$servers_update") -EOF - -cat >> "$DEBUG_LOG" <<-EOF - -#启动异常时建议关闭此项后重试 -第三方规则: $(ts_cf "$rule_source") -EOF - - -if [ "$enable_custom_clash_rules" -eq 1 ]; then -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 自定义规则 一 =====================# -EOF -cat /etc/openclash/custom/openclash_custom_rules.list >> "$DEBUG_LOG" - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 自定义规则 二 =====================# -EOF -cat /etc/openclash/custom/openclash_custom_rules_2.list >> "$DEBUG_LOG" -fi - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 配置文件 =====================# - -EOF -if [ -f "$CONFIG_FILE" ]; then - ruby_read "$CONFIG_FILE" ".select {|x| 'proxies' != x and 'proxy-providers' != x }.to_yaml" 2>/dev/null >> "$DEBUG_LOG" -else - ruby_read "$RAW_CONFIG_FILE" ".select {|x| 'proxies' != x and 'proxy-providers' != x }.to_yaml" 2>/dev/null >> "$DEBUG_LOG" -fi - -sed -i '/^ \{0,\}secret:/d' "$DEBUG_LOG" 2>/dev/null - -#firewall -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 防火墙设置 =====================# - -#NAT chain - -EOF -iptables-save -t nat >> "$DEBUG_LOG" 2>/dev/null - -cat >> "$DEBUG_LOG" <<-EOF - -#Mangle chain - -EOF -iptables-save -t mangle >> "$DEBUG_LOG" 2>/dev/null - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== IPSET状态 =====================# - -EOF -ipset list |grep "Name:" >> "$DEBUG_LOG" - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 路由表状态 =====================# - -EOF -echo "#route -n" >> "$DEBUG_LOG" -route -n >> "$DEBUG_LOG" 2>/dev/null -echo "#ip route list" >> "$DEBUG_LOG" -ip route list >> "$DEBUG_LOG" 2>/dev/null -echo "#ip rule show" >> "$DEBUG_LOG" -ip rule show >> "$DEBUG_LOG" 2>/dev/null - -if [ "$en_mode" != "fake-ip" ] && [ "$en_mode" != "redir-host" ]; then -cat >> "$DEBUG_LOG" <<-EOF - -#===================== Tun设备状态 =====================# - -EOF -ip tuntap list >> "$DEBUG_LOG" 2>/dev/null -fi - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 端口占用状态 =====================# - -EOF -netstat -nlp |grep clash >> "$DEBUG_LOG" 2>/dev/null - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 测试本机DNS查询 =====================# - -EOF -nslookup www.baidu.com >> "$DEBUG_LOG" 2>/dev/null - -if [ -s "/tmp/resolv.conf.auto" ]; then -cat >> "$DEBUG_LOG" <<-EOF - -#===================== resolv.conf.auto =====================# - -EOF -cat /tmp/resolv.conf.auto >> "$DEBUG_LOG" -fi - -if [ -s "/tmp/resolv.conf.d/resolv.conf.auto" ]; then -cat >> "$DEBUG_LOG" <<-EOF - -#===================== resolv.conf.d =====================# - -EOF -cat /tmp/resolv.conf.d/resolv.conf.auto >> "$DEBUG_LOG" -fi - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 测试本机网络连接 =====================# - -EOF -curl -I -m 5 www.baidu.com >> "$DEBUG_LOG" 2>/dev/null - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 测试本机网络下载 =====================# - -EOF -VERSION_URL="https://raw.githubusercontent.com/vernesong/OpenClash/master/version" -if pidof clash >/dev/null; then - curl -IL -m 3 --retry 2 "$VERSION_URL" >> "$DEBUG_LOG" 2>/dev/null -else - curl -IL -m 3 --retry 2 "$VERSION_URL" >> "$DEBUG_LOG" 2>/dev/null -fi - -cat >> "$DEBUG_LOG" <<-EOF - -#===================== 最近运行日志 =====================# - -EOF -tail -n 50 "/tmp/openclash.log" >> "$DEBUG_LOG" 2>/dev/null - -cat >> "$DEBUG_LOG" <<-EOF - -\`\`\` -EOF \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_download_rule_list.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_download_rule_list.sh deleted file mode 100755 index 121a4a1f0b..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_download_rule_list.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh - RULE_FILE_NAME="$1" - if [ -z "$(grep "$RULE_FILE_NAME" /usr/share/openclash/res/rule_providers.list 2>/dev/null)" ]; then - DOWNLOAD_PATH=$(grep -F "$RULE_FILE_NAME" /usr/share/openclash/res/game_rules.list |awk -F ',' '{print $2}' 2>/dev/null) - RULE_FILE_DIR="/etc/openclash/game_rules/$RULE_FILE_NAME" - RULE_TYPE="game" - else - DOWNLOAD_PATH=$(echo "$RULE_FILE_NAME" |awk -F ',' '{print $1$2}' 2>/dev/null) - RULE_FILE_NAME=$(grep -F "$RULE_FILE_NAME" /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $NF}' 2>/dev/null) - RULE_FILE_DIR="/etc/openclash/rule_provider/$RULE_FILE_NAME" - RULE_TYPE="provider" - fi - - if [ -z "$DOWNLOAD_PATH" ]; then - echo "${LOGTIME} Rule File【$RULE_FILE_NAME】 Download Error" >>$LOG_FILE - return 0 - fi - - TMP_RULE_DIR="/tmp/$RULE_FILE_NAME" - LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") - LOG_FILE="/tmp/openclash.log" - - if [ "$RULE_TYPE" = "game" ]; then - if pidof clash >/dev/null; then - curl -sL --connect-timeout 5 --retry 2 https://raw.githubusercontent.com/FQrabbit/SSTap-Rule/master/rules/"$DOWNLOAD_PATH" -o "$TMP_RULE_DIR" >/dev/null 2>&1 - fi - if [ "$?" -ne "0" ] || ! pidof clash >/dev/null; then - curl -sL --connect-timeout 5 --retry 2 https://cdn.jsdelivr.net/gh/FQrabbit/SSTap-Rule@master/rules/"$DOWNLOAD_PATH" -o "$TMP_RULE_DIR" >/dev/null 2>&1 - fi - elif [ "$RULE_TYPE" = "provider" ]; then - if pidof clash >/dev/null; then - curl -sL --connect-timeout 5 --retry 2 https://raw.githubusercontent.com/"$DOWNLOAD_PATH" -o "$TMP_RULE_DIR" >/dev/null 2>&1 - fi - if [ "$?" -ne "0" ] || ! pidof clash >/dev/null; then - curl -sL --connect-timeout 5 --retry 2 https://cdn.jsdelivr.net/gh/"$(echo "$DOWNLOAD_PATH" |awk -F '/master' '{print $1}' 2>/dev/null)"@master"$(echo "$DOWNLOAD_PATH" |awk -F 'master' '{print $2}')" -o "$TMP_RULE_DIR" >/dev/null 2>&1 - fi - fi - - if [ "$?" -eq "0" ] && [ -s "$TMP_RULE_DIR" ] && [ -z "$(grep "404: Not Found" "$TMP_RULE_DIR")" ]; then - cmp -s "$TMP_RULE_DIR" "$RULE_FILE_DIR" - if [ "$?" -ne "0" ]; then - mv "$TMP_RULE_DIR" "$RULE_FILE_DIR" >/dev/null 2>&1\ - && rm -rf "$TMP_RULE_DIR" >/dev/null 2>&1 - echo "${LOGTIME} Rule File【$RULE_FILE_NAME】 Download Successful" >>$LOG_FILE - return 1 - else - echo "${LOGTIME} Updated Rule File【$RULE_FILE_NAME】 No Change, Do Nothing" >>$LOG_FILE - rm -rf "$TMP_RULE_DIR" >/dev/null 2>&1 - return 2 - fi - else - rm -rf "$TMP_RULE_DIR" >/dev/null 2>&1 - echo "${LOGTIME} Rule File【$RULE_FILE_NAME】 Download Error" >>$LOG_FILE - return 0 - fi \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_fake_filter.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_fake_filter.sh deleted file mode 100755 index af0def8eda..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_fake_filter.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -. /lib/functions.sh - -START_LOG="/tmp/openclash_start.log" -CUSTOM_FILE="/etc/openclash/custom/openclash_custom_fake_filter.list" -FAKE_FILTER_FILE="/tmp/openclash_fake_filter.list" -SER_FAKE_FILTER_FILE="/tmp/openclash_servers_fake_filter.conf" - -echo "正在设置Fake-IP黑名单..." >$START_LOG - -rm -rf "$FAKE_FILTER_FILE" 2>/dev/null -if [ -s "$CUSTOM_FILE" ]; then - cat "$CUSTOM_FILE" |while read -r line || [[ -n ${line} ]]; - do - if [ -z "$(echo $line |grep '^ \{0,\}#' 2>/dev/null)" ]; then - echo " - '$line'" >> "$FAKE_FILTER_FILE" - else - continue - fi - done 2>/dev/null - if [ -s "$FAKE_FILTER_FILE" ]; then - sed -i '1i\fake-ip-filter:' "$FAKE_FILTER_FILE" - else - rm -rf "$FAKE_FILTER_FILE" 2>/dev/null - fi -fi - -cfg_server_address() -{ - local section="$1" - config_get "server" "$section" "server" "" - - IFIP=$(echo $server |grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" 2>/dev/null) - if [ -z "$IFIP" ] && [ ! -z "$server" ] && [ -z "$(grep "/$server/" "$SER_FAKE_FILTER_FILE" 2>/dev/null)" ]; then - echo "server=/$server/$custom_domain_dns_server" >> "$SER_FAKE_FILTER_FILE" - else - return - fi -} - -#Fake下正确检测节点延迟及获取真实地址 - -rm -rf "$SER_FAKE_FILTER_FILE" 2>/dev/null -custom_domain_dns_server=$(uci get openclash.config.custom_domain_dns_server 2>/dev/null) - [ -z "$custom_domain_dns_server" ] && { - custom_domain_dns_server="114.114.114.114" - } -config_load "openclash" -config_foreach cfg_server_address "servers" \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_get.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_get.sh deleted file mode 100755 index a55e08300e..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_get.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -. /usr/share/openclash/openclash_ps.sh - -CURL_GROUP_CACHE="/tmp/openclash_history_gorup.json" -CURL_NOW_CACHE="/tmp/openclash_history_now.json" -CURL_CACHE="/tmp/openclash_history_curl.json" -CONFIG_FILE=$(unify_ps_cfgname) -CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $4}' 2>/dev/null) -HISTORY_PATH="/etc/openclash/history/$CONFIG_NAME" -HISTORY_TMP="/tmp/openclash_history_tmp.yaml" -SECRET=$(uci get openclash.config.dashboard_password 2>/dev/null) -LAN_IP=$(uci get network.lan.ipaddr 2>/dev/null |awk -F '/' '{print $1}' 2>/dev/null) -PORT=$(uci get openclash.config.cn_port 2>/dev/null) -LOG_FILE="/tmp/openclash.log" -LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") - -if [ -z "$CONFIG_FILE" ] || [ ! -f "$CONFIG_FILE" ]; then - CONFIG_FILE=$(uci get openclash.config.config_path 2>/dev/null) - CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) - HISTORY_PATH="/etc/openclash/history/$CONFIG_NAME" -fi - -if [ -n "$(pidof clash)" ] && [ -f "$CONFIG_FILE" ]; then - curl -m 5 --retry 2 -w %{http_code}"\n" -H "Authorization: Bearer ${SECRET}" -H "Content-Type:application/json" -X GET http://"$LAN_IP":"$PORT"/proxies > "$CURL_CACHE" 2>/dev/null - if [ "$(sed -n '$p' "$CURL_CACHE" 2>/dev/null)" = "200" ]; then - mkdir -p /etc/openclash/history 2>/dev/null - cat "$CURL_CACHE" |jsonfilter -e '@["proxies"][@.type="Selector"]["name"]' > "$CURL_GROUP_CACHE" 2>/dev/null - cat "$CURL_CACHE" |jsonfilter -e '@["proxies"][@.type="Selector"]["now"]' > "$CURL_NOW_CACHE" 2>/dev/null - awk 'NR==FNR{a[i]=$0;i++}NR>FNR{print a[j]"#*#"$0;j++}' "$CURL_GROUP_CACHE" "$CURL_NOW_CACHE" > "$HISTORY_TMP" 2>/dev/null - cmp -s "$HISTORY_TMP" "$HISTORY_PATH" - if [ "$?" -ne "0" ] && [ -s "$HISTORY_TMP" ]; then - mv "$HISTORY_TMP" "$HISTORY_PATH" 2>/dev/null - echo "${LOGTIME} Groups History:【${CONFIG_NAME}】 Update Successful" >> $LOG_FILE - fi - else - echo "${LOGTIME} Groups History:【${CONFIG_NAME}】 Update Faild" >> $LOG_FILE - fi -fi -rm -rf /tmp/openclash_history_* 2>/dev/null \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_set.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_set.sh deleted file mode 100755 index 6a472eba36..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_history_set.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/sh -. /lib/functions.sh -. /usr/share/openclash/openclash_ps.sh - -CONFIG_FILE=$(unify_ps_cfgname) -CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $4}' 2>/dev/null) -HISTORY_PATH="/etc/openclash/history/$CONFIG_NAME" -SECRET=$(uci get openclash.config.dashboard_password 2>/dev/null) -LAN_IP=$(uci get network.lan.ipaddr 2>/dev/null |awk -F '/' '{print $1}' 2>/dev/null) -PORT=$(uci get openclash.config.cn_port 2>/dev/null) -LOG_FILE="/tmp/openclash.log" -LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") - -urlencode() { - local data - if [ "$#" -eq "1" ]; then - data=$(curl -s -o /dev/null -w %{url_effective} --get --data-urlencode "$1" "") - if [ ! -z "$data" ]; then - echo "$(echo ${data##/?} |sed 's/\//%2f/g' |sed 's/:/%3a/g' |sed 's/?/%3f/g' |sed 's/(/%28/g' |sed 's/)/%29/g' |sed 's/\^/%5e/g' |sed 's/=/%3d/g' |sed 's/|/%7c/g')" - fi - fi -} - -GROUP_STATE() { - echo "$(curl -m 2 -w %{http_code}"\n" -H "Authorization: Bearer ${SECRET}" -H "Content-Type:application/json" -X GET http://"$LAN_IP":"$PORT"/proxies/"$1" 2>/dev/null |sed -n '$p' 2>/dev/null)" -} - -restore_history() { - GROUP_NAME=$(urlencode "$GROUP_NAME") - NOW_NAME=$(echo $line |awk -F '#*#' '{print $3}') - GROUP_STATE=$(GROUP_STATE "$GROUP_NAME") - GROUP_STATE_NUM=0 - while ( [ "$GROUP_STATE" != "200" ] && [ "$GROUP_STATE_NUM" -le 2 ] ) - do - sleep 1 - GROUP_STATE_NUM=$(expr "$GROUP_STATE_NUM" + 1) - GROUP_STATE=$(GROUP_STATE "$GROUP_NAME") - done - curl -m 2 --retry 2 -H "Authorization: Bearer ${SECRET}" -H "Content-Type:application/json" -X PUT -d '{"name":"'"$NOW_NAME"'"}' http://"$LAN_IP":"$PORT"/proxies/"$GROUP_NAME" >> "$LOG_FILE" -} - -close_all_conection() { - curl -m 2 -H "Authorization: Bearer ${SECRET}" -H "Content-Type:application/json" -X DELETE http://"$LAN_IP":"$PORT"/connections >/dev/null 2>&1 -} - -if [ -z "$CONFIG_FILE" ] || [ ! -f "$CONFIG_FILE" ]; then - CONFIG_FILE=$(uci get openclash.config.config_path 2>/dev/null) - CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) - HISTORY_PATH="/etc/openclash/history/$CONFIG_NAME" -fi - -if [ -s "$HISTORY_PATH" ] && [ ! -z "$(pidof clash)" ]; then - cat "$HISTORY_PATH" |while read -r line - do - GROUP_NAME=$(echo $line |awk -F '#*#' '{print $1}') - if [ "$GROUP_NAME" != "GLOBAL" ]; then - if [ -z "$(echo $line |grep "#*#")" ] || [ -z "$(grep "^$GROUP_NAME$" /tmp/Proxy_Group)" ]; then - continue - else - restore_history - fi - else - restore_history - fi - done >/dev/null 2>&1 - close_all_conection - echo "${LOGTIME} Groups History:【${CONFIG_NAME}】 Restore Successful" >> $LOG_FILE -else - echo "${LOGTIME} Groups History:【${CONFIG_NAME}】 Restore Faild" >> $LOG_FILE -fi \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_ipdb.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_ipdb.sh deleted file mode 100755 index 59ca9bc916..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_ipdb.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh -. /usr/share/openclash/openclash_ps.sh - - status=$(unify_ps_status "openclash_ipdb.sh") - [ "$status" -gt 3 ] && exit 0 - - START_LOG="/tmp/openclash_start.log" - LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") - LOG_FILE="/tmp/openclash.log" - small_flash_memory=$(uci get openclash.config.small_flash_memory 2>/dev/null) - GEOIP_CUSTOM_URL=$(uci get openclash.config.geo_custom_url 2>/dev/null) - - if [ "$small_flash_memory" != "1" ]; then - geoip_path="/etc/openclash/Country.mmdb" - mkdir -p /etc/openclash - else - geoip_path="/tmp/etc/openclash/Country.mmdb" - mkdir -p /tmp/etc/openclash - fi - echo "开始下载 GEOIP 数据库..." >$START_LOG - if [ -z "$GEOIP_CUSTOM_URL" ]; then - if pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://raw.githubusercontent.com/alecthw/mmdb_china_ip_list/release/Country.mmdb -o /tmp/Country.mmdb >/dev/null 2>&1 - fi - if [ "$?" -ne "0" ] || ! pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 http://www.ideame.top/mmdb/Country.mmdb -o /tmp/Country.mmdb >/dev/null 2>&1 - fi - else - curl -sL --connect-timeout 10 --retry 2 "$GEOIP_CUSTOM_URL" -o /tmp/Country.mmdb >/dev/null 2>&1 - fi - if [ "$?" -eq "0" ] && [ -s "/tmp/Country.mmdb" ]; then - echo "GEOIP 数据库下载成功,检查数据库版本是否更新..." >$START_LOG - cmp -s /tmp/Country.mmdb "$geoip_path" - if [ "$?" -ne "0" ]; then - echo "数据库版本有更新,开始替换数据库版本..." >$START_LOG - mv /tmp/Country.mmdb "$geoip_path" >/dev/null 2>&1 - echo "GEOIP 数据库更新成功!" >$START_LOGS - echo "${LOGTIME} GEOIP Database Update Successful" >>$LOG_FILE - sleep 5 - [ "$(unify_ps_prevent)" -eq 0 ] && /etc/init.d/openclash restart >/dev/null 2>&1 & - else - echo "数据库版本没有更新,停止继续操作..." >$START_LOG - echo "${LOGTIME} Updated GEOIP Database No Change, Do Nothing" >>$LOG_FILE - sleep 5 - fi - else - echo "GEOIP 数据库下载失败,请检查网络或稍后再试!" >$START_LOG - echo "${LOGTIME} GEOIP Database Update Error" >>$LOG_FILE - sleep 5 - fi - rm -rf /tmp/Country.mmdb >/dev/null 2>&1 - echo "" >$START_LOG \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_ps.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_ps.sh deleted file mode 100755 index 7c1e37b9e7..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_ps.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -unify_ps_status() { - if [ "$(ps --version 2>&1 |grep -c procps-ng)" -eq 1 ];then - echo "$(ps -ef |grep -v grep |grep -c "$1")" - else - echo "$(ps |grep -v grep |grep -c "$1")" - fi -} - -unify_ps_pids() { - if [ "$(ps --version 2>&1 |grep -c procps-ng)" -eq 1 ];then - echo "$(ps -ef |grep "$1" |grep -v grep |awk '{print $2}' 2>/dev/null)" - else - echo "$(ps |grep "$1" |grep -v grep |awk '{print $1}' 2>/dev/null)" - fi -} - -unify_ps_prevent() { - if [ "$(ps --version 2>&1 |grep -c procps-ng)" -eq 1 ];then - echo "$(ps -ef |grep -v grep |grep -c "/etc/init.d/openclash")" - else - echo "$(ps |grep -v grep |grep -c "/etc/init.d/openclash")" - fi -} - -unify_ps_cfgname() { - if [ "$(ps --version 2>&1 |grep -c procps-ng)" -eq 1 ];then - echo "$(ps -efw |grep /etc/openclash/clash 2>/dev/null |grep -v grep |awk -F '-f ' '{print $2}' 2>/dev/null)" - else - echo "$(ps -w |grep /etc/openclash/clash 2>/dev/null |grep -v grep |awk -F '-f ' '{print $2}' 2>/dev/null)" - fi -} \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_rule.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_rule.sh deleted file mode 100755 index 6bd5b654e1..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_rule.sh +++ /dev/null @@ -1,161 +0,0 @@ -#!/bin/sh -. /usr/share/openclash/openclash_ps.sh -. /lib/functions.sh -. /usr/share/openclash/ruby.sh - - status=$(unify_ps_status "openclash_rule.sh") - [ "$status" -gt 3 ] && exit 0 - - yml_other_rules_dl() - { - local section="$1" - local enabled config - config_get_bool "enabled" "$section" "enabled" "1" - config_get "config" "$section" "config" "" - - if [ "$enabled" = "0" ] || [ "$config" != "$2" ]; then - return - fi - - if [ -n "$rule_name" ]; then - echo "${LOGTIME} Warrning: Multiple Other-Rules-Configurations Enabled, Ignore..." >> $LOG_FILE - return - fi - - config_get "rule_name" "$section" "rule_name" "" - - echo "开始下载使用中的第三方规则..." >$START_LOG - if [ "$rule_name" = "lhie1" ]; then - if pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://raw.githubusercontent.com/lhie1/Rules/master/Clash/Rule.yaml -o /tmp/rules.yaml >/dev/null 2>&1 - fi - if [ "$?" -ne "0" ] || ! pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Rule.yaml -o /tmp/rules.yaml >/dev/null 2>&1 - fi - sed -i '1i rules:' /tmp/rules.yaml - elif [ "$rule_name" = "ConnersHua" ]; then - if pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/Outbound.yaml -o /tmp/rules.yaml >/dev/null 2>&1 - fi - if [ "$?" -ne "0" ] || ! pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://cdn.jsdelivr.net/gh/DivineEngine/Profiles@master/Clash/Outbound.yaml -o /tmp/rules.yaml >/dev/null 2>&1 - fi - sed -i "s/# - RULE-SET,ChinaIP,DIRECT/- RULE-SET,ChinaIP,DIRECT/g" /tmp/rules.yaml 2>/dev/null - sed -i "s/- GEOIP,/#- GEOIP,/g" /tmp/rules.yaml 2>/dev/null - elif [ "$rule_name" = "ConnersHua_return" ]; then - if pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/Inbound.yaml -o /tmp/rules.yaml >/dev/null 2>&1 - fi - if [ "$?" -ne "0" ] || ! pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://cdn.jsdelivr.net/gh/DivineEngine/Profiles@master/Clash/Inbound.yaml -o /tmp/rules.yaml >/dev/null 2>&1 - fi - fi - if [ "$?" -eq "0" ] && [ -s "/tmp/rules.yaml" ]; then - echo "下载成功,开始预处理规则文件..." >$START_LOG - ruby -ryaml -E UTF-8 -e " - begin - YAML.load_file('/tmp/rules.yaml'); - rescue Exception => e - puts '${LOGTIME} Error: Unable To Parse Updated ${rule_name} Rules File ' + e.message - system 'rm -rf /tmp/rules.yaml 2>/dev/null' - end - " 2>/dev/null >> $LOG_FILE - if [ $? -ne 0 ]; then - echo "${LOGTIME} Error: Ruby Works Abnormally, Please Check The Ruby Library Depends!" >> $LOG_FILE - echo "Ruby依赖异常,无法校验配置文件,请确认ruby依赖工作正常后重试!" > $START_LOG - rm -rf /tmp/rules.yaml >/dev/null 2>&1 - sleep 3 - echo "" >$START_LOG - exit 0 - elif [ ! -f "/tmp/rules.yaml" ]; then - echo "错误:$rule_name 规则文件格式校验失败,请稍后再试..." > $START_LOG - rm -rf /tmp/rules.yaml >/dev/null 2>&1 - sleep 3 - echo "" >$START_LOG - exit 0 - elif ! "$(ruby_read "/tmp/rules.yaml" ".key?('rules')")" ; then - echo "${LOGTIME} Error: Updated Others Rules 【$rule_name】 Has No Rules Field, Update Exit..." >> $LOG_FILE - echo "错误:$rule_name 规则文件规则部分校验失败,请稍后再试..." > $START_LOG - rm -rf /tmp/rules.yaml >/dev/null 2>&1 - sleep 3 - echo "" >$START_LOG - exit 0 - #校验是否含有新策略组 - elif ! "$(ruby -ryaml -E UTF-8 -e " - Value = YAML.load_file('/usr/share/openclash/res/${rule_name}.yaml'); - Value_1 = YAML.load_file('/tmp/rules.yaml'); - OLD_GROUP = Value['rules'].collect{|x| x.split(',')[2] or x.split(',')[1]}.uniq; - NEW_GROUP = Value_1['rules'].collect{|x| x.split(',')[2] or x.split(',')[1]}.uniq; - puts (OLD_GROUP | NEW_GROUP).eql?(OLD_GROUP) - ")" ; then - echo "${LOGTIME} Error: Updated Others Rules 【$rule_name】 Has Incompatible Proxy-Group, Update Exit, Please Wait For OpenClash Update To Adapt..." >> $LOG_FILE - echo "错误:$rule_name 规则文件含有未支持的新策略组,更新停止,请等待OpenClash版本更新适配..." > $START_LOG - rm -rf /tmp/rules.yaml >/dev/null 2>&1 - sleep 3 - echo "" >$START_LOG - exit 0 - fi - - #取出规则部分 - ruby_read "/tmp/rules.yaml" ".select {|x| 'rule-providers' == x or 'script' == x or 'rules' == x }.to_yaml" > "$OTHER_RULE_FILE" - #合并 - cat "$OTHER_RULE_FILE" > "/tmp/rules.yaml" 2>/dev/null - rm -rf /tmp/other_rule* 2>/dev/null - - echo "检查下载的规则文件是否有更新..." >$START_LOG - cmp -s /usr/share/openclash/res/"$rule_name".yaml /tmp/rules.yaml - if [ "$?" -ne "0" ]; then - echo "检测到下载的规则文件有更新,开始替换..." >$START_LOG - mv /tmp/rules.yaml /usr/share/openclash/res/"$rule_name".yaml >/dev/null 2>&1 - echo "${LOGTIME} Other Rules 【$rule_name】 Update Successful" >>$LOG_FILE - ifrestart=1 - else - echo "检测到下载的规则文件没有更新,停止继续操作..." >$START_LOG - echo "${LOGTIME} Updated Other Rules 【$rule_name】 No Change, Do Nothing" >>$LOG_FILE - sleep 5 - fi - else - echo "第三方规则下载失败,请检查网络或稍后再试!" >$START_LOG - echo "${LOGTIME} Other Rules 【$rule_name】 Update Error" >>$LOG_FILE - sleep 5 - fi - } - - START_LOG="/tmp/openclash_start.log" - LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") - LOG_FILE="/tmp/openclash.log" - RUlE_SOURCE=$(uci get openclash.config.rule_source 2>/dev/null) - - if [ "$RUlE_SOURCE" = "0" ]; then - echo "未启用第三方规则,更新程序终止!" >$START_LOG - echo "${LOGTIME} Other Rules Not Enable, Update Stop" >>$LOG_FILE - sleep 5 - else - OTHER_RULE_FILE="/tmp/other_rule.yaml" - CONFIG_FILE=$(uci get openclash.config.config_path 2>/dev/null) - CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) - ifrestart=0 - - if [ -z "$CONFIG_FILE" ]; then - CONFIG_FILE="/etc/openclash/config/$(ls -lt /etc/openclash/config/ | grep -E '.yaml|.yml' | head -n 1 |awk '{print $9}')" - CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) - fi - - if [ -z "$CONFIG_NAME" ]; then - CONFIG_FILE="/etc/openclash/config/config.yaml" - CONFIG_NAME="config.yaml" - fi - - config_load "openclash" - config_foreach yml_other_rules_dl "other_rules" "$CONFIG_NAME" - if [ -z "$rule_name" ]; then - echo "未找到第三方规则配置,更新程序终止!" >$START_LOG - echo "${LOGTIME} Get Other Rules Settings Faild, Update Stop" >>$LOG_FILE - sleep 5 - fi - if [ "$ifrestart" -eq 1 ] && [ "$(unify_ps_prevent)" -eq 0 ]; then - /etc/init.d/openclash restart >/dev/null 2>&1 & - fi - fi - rm -rf /tmp/rules.yaml >/dev/null 2>&1 - echo "" >$START_LOG \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_update.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_update.sh deleted file mode 100755 index cbe26fb663..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_update.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/sh -. /usr/share/openclash/openclash_ps.sh - -#禁止多个实例 -status=$(unify_ps_status "openclash_update.sh") -[ "$status" -gt "3" ] && exit 0 - -#一键更新 -if [ "$1" = "one_key_update" ]; then - uci set openclash.config.enable=1 - uci commit openclash - /usr/share/openclash/openclash_core.sh "$1" >/dev/null 2>&1 & - /usr/share/openclash/openclash_core.sh "Tun" "$1" >/dev/null 2>&1 & - /usr/share/openclash/openclash_core.sh "Game" "$1" >/dev/null 2>&1 & - wait -fi - -START_LOG="/tmp/openclash_start.log" -LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") -LOG_FILE="/tmp/openclash.log" -LAST_OPVER="/tmp/openclash_last_version" -LAST_VER=$(sed -n 1p "$LAST_OPVER" 2>/dev/null |sed "s/^v//g") -OP_CV=$(sed -n 1p /usr/share/openclash/res/openclash_version 2>/dev/null |awk -F '-' '{print $1}' |awk -F 'v' '{print $2}' |awk -F '.' '{print $2$3}' 2>/dev/null) -OP_LV=$(sed -n 1p $LAST_OPVER 2>/dev/null |awk -F '-' '{print $1}' |awk -F 'v' '{print $2}' |awk -F '.' '{print $2$3}' 2>/dev/null) - -if [ "$(expr "$OP_LV" \> "$OP_CV")" -eq 1 ] && [ -f "$LAST_OPVER" ]; then - echo "开始下载 OpenClash-v$LAST_VER ..." >$START_LOG - if pidof clash >/dev/null; then - curl -sL -m 10 --retry 2 https://github.com/vernesong/OpenClash/releases/download/v"$LAST_VER"/luci-app-openclash_"$LAST_VER"_all.ipk -o /tmp/openclash.ipk >/dev/null 2>&1 - fi - if [ "$?" -ne "0" ] || ! pidof clash >/dev/null; then - curl -sL -m 10 --retry 2 https://cdn.jsdelivr.net/gh/vernesong/OpenClash@master/luci-app-openclash_"$LAST_VER"_all.ipk -o /tmp/openclash.ipk >/dev/null 2>&1 - fi - if [ "$?" -eq "0" ] && [ -s "/tmp/openclash.ipk" ]; then - echo "OpenClash-$LAST_VER 下载成功,开始进行更新前测试 ..." >$START_LOG - opkg install /tmp/openclash.ipk --noaction >>$LOG_FILE - if [ "$?" -ne "0" ]; then - echo "OpenClash-v$LAST_VER 更新前测试失败,文件保存在/tmp/openclash.ipk,请尝试手动更新!" >$START_LOG - echo "${LOGTIME} OpenClash-v$LAST_VER Update Test Fail" >>$LOG_FILE - sleep 10 - echo "" >$START_LOG - exit 0 - fi - echo "OpenClash-$LAST_VER 更新前测试通过,准备开始更新,更新过程请不要刷新页面和进行其他操作 ..." >$START_LOG - cat > /tmp/openclash_update.sh <<"EOF" -#!/bin/sh -LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") -START_LOG="/tmp/openclash_start.log" -LOG_FILE="/tmp/openclash.log" -echo "正在卸载旧版本,更新过程请不要刷新页面和进行其他操作 ..." >$START_LOG -uci set openclash.config.enable=0 -uci commit openclash -opkg remove --force-depends --force-remove luci-app-openclash -echo "正在安装新版本,更新过程请不要刷新页面和进行其他操作 ..." >$START_LOG -opkg install /tmp/openclash.ipk -if [ "$?" -eq "0" ]; then - rm -rf /tmp/openclash.ipk >/dev/null 2>&1 - echo "OpenClash 更新成功,即将进行重启!" >$START_LOG - echo "${LOGTIME} OpenClash Update Successful" >>$LOG_FILE - sleep 3 - uci set openclash.config.enable=1 - uci commit openclash - /etc/init.d/openclash restart 2>/dev/null -else - echo "OpenClash 更新失败,文件保存在/tmp/openclash.ipk,请尝试手动更新!" >$START_LOG - echo "${LOGTIME} OpenClash Update Fail" >>$LOG_FILE - sleep 10 - echo "" >$START_LOG -fi -EOF - chmod 4755 /tmp/openclash_update.sh - nohup /tmp/openclash_update.sh & - wait - rm -rf /tmp/openclash_update.sh - else - echo "OpenClash-v$LAST_VER 下载失败,请检查网络或稍后再试!" >$START_LOG - rm -rf /tmp/openclash.ipk >/dev/null 2>&1 - echo "${LOGTIME} OpenClash-v$LAST_VER Update Error" >>$LOG_FILE - sleep 5 - echo "" >$START_LOG - if [ "$(uci get openclash.config.config_reload 2>/dev/null)" -eq 0 ]; then - uci set openclash.config.config_reload=1 - uci commit openclash - /etc/init.d/openclash restart 2>/dev/null - fi - fi -else - if [ ! -f "$LAST_OPVER" ]; then - echo "获取版本信息失败,请稍后再试..." >$START_LOG - echo "${LOGTIME} OpenClash Version Check Error, Please Try Again After A few seconds" >>$LOG_FILE - sleep 5 - echo "" >$START_LOG - else - echo "OpenClash 没有更新,停止继续操作!" >$START_LOG - echo "${LOGTIME} OpenClash Version No Change, Do Nothing" >>$LOG_FILE - sleep 5 - echo "" >$START_LOG - fi - if [ "$(uci get openclash.config.config_reload 2>/dev/null)" -eq 0 ]; then - uci set openclash.config.config_reload=1 - uci commit openclash - /etc/init.d/openclash restart 2>/dev/null - fi -fi diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_version.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_version.sh deleted file mode 100755 index bebf5bd0f1..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_version.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -CKTIME=$(date "+%Y-%m-%d-%H") -LAST_OPVER="/tmp/openclash_last_version" -OP_CV=$(sed -n 1p /usr/share/openclash/res/openclash_version 2>/dev/null |awk -F '-' '{print $1}' |awk -F 'v' '{print $2}' |awk -F '.' '{print $2$3}' 2>/dev/null) -OP_LV=$(sed -n 1p $LAST_OPVER 2>/dev/null |awk -F '-' '{print $1}' |awk -F 'v' '{print $2}' |awk -F '.' '{print $2$3}' 2>/dev/null) - -if [ "$CKTIME" != "$(grep "CheckTime" $LAST_OPVER 2>/dev/null |awk -F ':' '{print $2}')" ]; then - if pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://raw.githubusercontent.com/vernesong/OpenClash/master/version -o $LAST_OPVER >/dev/null 2>&1 - fi - if [ "$?" -ne "0" ] || ! pidof clash >/dev/null; then - curl -sL --connect-timeout 10 --retry 2 https://cdn.jsdelivr.net/gh/vernesong/OpenClash@master/version -o $LAST_OPVER >/dev/null 2>&1 - fi - if [ "$?" -eq "0" ] && [ -s "$LAST_OPVER" ]; then - OP_LV=$(sed -n 1p $LAST_OPVER 2>/dev/null |awk -F '-' '{print $1}' |awk -F 'v' '{print $2}' |awk -F '.' '{print $2$3}' 2>/dev/null) - if [ "$(expr "$OP_CV" \>= "$OP_LV")" -eq 1 ]; then - sed -i "/^https:/i\CheckTime:${CKTIME}" "$LAST_OPVER" 2>/dev/null - sed -i '/^https:/,$d' $LAST_OPVER - elif [ "$(expr "$OP_LV" \> "$OP_CV")" -eq 1 ] && [ -n "$OP_LV" ]; then - sed -i "/^https:/i\CheckTime:${CKTIME}" "$LAST_OPVER" 2>/dev/null - return 2 - fi - else - rm -rf "$LAST_OPVER" - fi -elif [ "$(expr "$OP_CV" \>= "$OP_LV")" -eq 1 ]; then - sed -i '/^CheckTime:/,$d' $LAST_OPVER - echo "CheckTime:$CKTIME" >> $LAST_OPVER -elif [ "$(expr "$OP_LV" \> "$OP_CV")" -eq 1 ] && [ -n "$OP_LV" ]; then - return 2 -fi 2>/dev/null diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_watchdog.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_watchdog.sh deleted file mode 100755 index 9a7ace7ef6..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/openclash_watchdog.sh +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/sh - -CLASH="/etc/openclash/clash" -CLASH_CONFIG="/etc/openclash" -LOG_FILE="/tmp/openclash.log" -PROXY_FWMARK="0x162" -PROXY_ROUTE_TABLE="0x162" -enable_redirect_dns=$(uci get openclash.config.enable_redirect_dns 2>/dev/null) -dns_port=$(uci get openclash.config.dns_port 2>/dev/null) -disable_masq_cache=$(uci get openclash.config.disable_masq_cache 2>/dev/null) -en_mode=$(uci get openclash.config.en_mode 2>/dev/null) -cfg_update_interval=$(uci get openclash.config.config_update_interval 2>/dev/null) -log_size=$(uci get openclash.config.log_size 2>/dev/null || 1024) -CRASH_NUM=0 -CFG_UPDATE_INT=0 - -if [ "$en_mode" = "fake-ip-tun" ] || [ "$en_mode" = "redir-host-tun" ] || [ "$en_mode" = "redir-host-mix" ] || [ "$en_mode" = "fake-ip-mix" ]; then - core_type="Tun" -fi - -if [ "$en_mode" = "redir-host-vpn" ] || [ "$en_mode" = "fake-ip-vpn" ]; then - core_type="Game" -fi - -while :; -do - LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") - cfg_update=$(uci get openclash.config.auto_update 2>/dev/null) - cfg_update_mode=$(uci get openclash.config.config_auto_update_mode 2>/dev/null) - cfg_update_interval_now=$(uci get openclash.config.config_update_interval 2>/dev/null) - enable=$(uci get openclash.config.enable) - -if [ "$enable" -eq 1 ]; then - clash_pids=$(pidof clash |sed 's/$//g' |wc -l) - if [ "$clash_pids" -gt 1 ]; then - echo "${LOGTIME} Watchdog: Multiple Clash Processes, Kill All..." >> $LOG_FILE - for clash_pid in $clash_pids; do - kill -9 "$clash_pid" 2>/dev/null - done >/dev/null 2>&1 - sleep 1 - fi 2>/dev/null - if ! pidof clash >/dev/null; then - CRASH_NUM=$(expr "$CRASH_NUM" + 1) - if [ "$CRASH_NUM" -le 3 ]; then - RAW_CONFIG_FILE=$(uci get openclash.config.config_path 2>/dev/null) - CONFIG_FILE="/etc/openclash/$(uci get openclash.config.config_path 2>/dev/null |awk -F '/' '{print $5}' 2>/dev/null)" - echo "${LOGTIME} Watchdog: Clash Core Problem, Restart." >> $LOG_FILE - touch /tmp/openclash.log 2>/dev/null - chmod o+w /etc/openclash/proxy_provider/* 2>/dev/null - chmod o+w /etc/openclash/rule_provider/* 2>/dev/null - chmod o+w /tmp/openclash.log 2>/dev/null - chown nobody:nogroup /etc/openclash/core/* 2>/dev/null - capabilties="cap_sys_resource,cap_dac_override,cap_net_raw,cap_net_bind_service,cap_net_admin" - capsh --caps="${capabilties}+eip" -- -c "capsh --user=nobody --addamb='${capabilties}' -- -c 'nohup $CLASH -d $CLASH_CONFIG -f \"$CONFIG_FILE\" >> $LOG_FILE 2>&1 &'" >> $LOG_FILE 2>&1 - sleep 3 - if [ "$core_type" = "Tun" ]; then - ip route replace default dev utun table "$PROXY_ROUTE_TABLE" 2>/dev/null - ip rule add fwmark "$PROXY_FWMARK" table "$PROXY_ROUTE_TABLE" 2>/dev/null - elif [ "$core_type" = "Game" ]; then - ip tuntap add user root mode tun clash0 2>/dev/null - ip link set clash0 up 2>/dev/null - ip route replace default dev clash0 table "$PROXY_ROUTE_TABLE" 2>/dev/null - ip rule add fwmark "$PROXY_FWMARK" table "$PROXY_ROUTE_TABLE" 2>/dev/null - fi - /usr/share/openclash/openclash_history_set.sh - else - echo "${LOGTIME} Watchdog: Already Restart 3 Times With Clash Core Problem, Auto-Exit." >> $LOG_FILE - /etc/init.d/openclash stop - exit 0 - fi - else - CRASH_NUM=0 - fi -fi - -## Porxy history - /usr/share/openclash/openclash_history_get.sh - -## Log File Size Manage: - LOGSIZE=`ls -l /tmp/openclash.log |awk '{print int($5/1024)}'` - if [ "$LOGSIZE" -gt "$log_size" ]; then - echo "$LOGTIME Watchdog: Log Size Limit, Clean Up All Log Records." > $LOG_FILE - fi - -## 端口转发重启 - last_line=$(iptables -t nat -nL PREROUTING --line-number |awk '{print $1}' 2>/dev/null |awk 'END {print}' |sed -n '$p') - op_line=$(iptables -t nat -nL PREROUTING --line-number |grep "openclash" 2>/dev/null |awk '{print $1}' 2>/dev/null |head -1) - if [ "$last_line" != "$op_line" ] && [ -z "$core_type" ]; then - pre_lines=$(iptables -nvL PREROUTING -t nat |sed 1,2d |sed -n '/openclash/=' 2>/dev/null |sort -rn) - for pre_line in $pre_lines; do - iptables -t nat -D PREROUTING "$pre_line" >/dev/null 2>&1 - done >/dev/null 2>&1 - iptables -t nat -A PREROUTING -p tcp -j openclash - echo "$LOGTIME Watchdog: Reset Firewall For Enabling Redirect." >>$LOG_FILE - fi - -## DNS转发劫持 - if [ "$enable_redirect_dns" -ne 0 ]; then - if [ -z "$(uci get dhcp.@dnsmasq[0].server 2>/dev/null |grep "$dns_port")" ] || [ ! -z "$(uci get dhcp.@dnsmasq[0].server 2>/dev/null |awk -F ' ' '{print $2}')" ]; then - echo "$LOGTIME Watchdog: Force Reset DNS Hijack." >> $LOG_FILE - uci del dhcp.@dnsmasq[-1].server >/dev/null 2>&1 - uci add_list dhcp.@dnsmasq[0].server=127.0.0.1#"$dns_port" - uci delete dhcp.@dnsmasq[0].resolvfile - uci set dhcp.@dnsmasq[0].noresolv=1 - [ "$disable_masq_cache" -eq 1 ] && { - uci set dhcp.@dnsmasq[0].cachesize=0 - } - uci commit dhcp - /etc/init.d/dnsmasq restart >/dev/null 2>&1 - fi - fi - -## 配置文件循环更新 - if [ "$cfg_update" -eq 1 ] && [ "$cfg_update_mode" -eq 1 ]; then - if [ -z "$cfg_update_interval_now" ]; then - cfg_update_interval_now=60 - fi - if [ -z "$cfg_update_interval" ]; then - cfg_update_interval=60 - fi - [ "$cfg_update_interval" -ne "$cfg_update_interval_now" ] && CFG_UPDATE_INT=0 && cfg_update_interval="$cfg_update_interval_now" - if [ "$CFG_UPDATE_INT" -ne 0 ]; then - [ "$(expr "$CFG_UPDATE_INT" % "$cfg_update_interval_now")" -eq 0 ] && /usr/share/openclash/openclash.sh - fi - CFG_UPDATE_INT=$(expr "$CFG_UPDATE_INT" + 1) - fi - - sleep 60 -done 2>/dev/null diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/ConnersHua.yaml b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/ConnersHua.yaml deleted file mode 100644 index b1110a63d3..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/ConnersHua.yaml +++ /dev/null @@ -1,54 +0,0 @@ -rule-providers: - Unbreak: - type: http - behavior: classical - path: "./RuleSet/Unbreak.yaml" - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/Unbreak.yaml - interval: 86400 - Streaming: - type: http - behavior: classical - path: "./RuleSet/StreamingMedia/Streaming.yaml" - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Streaming.yaml - interval: 86400 - StreamingSE: - type: http - behavior: classical - path: "./RuleSet/StreamingMedia/StreamingSE.yaml" - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/StreamingSE.yaml - interval: 86400 - Global: - type: http - behavior: classical - path: "./RuleSet/Global.yaml" - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/Global.yaml - interval: 86400 - China: - type: http - behavior: classical - path: "./RuleSet/China.yaml" - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/China.yaml - interval: 86400 - ChinaIP: - type: http - behavior: ipcidr - path: "./RuleSet/Extra/ChinaIP.yaml" - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/Extra/ChinaIP.yaml - interval: 86400 -rules: -- RULE-SET,Unbreak,DIRECT -- RULE-SET,Streaming,Streaming -- RULE-SET,StreamingSE,StreamingSE -- RULE-SET,Global,PROXY -- RULE-SET,China,DIRECT -- IP-CIDR,192.168.0.0/16,DIRECT -- IP-CIDR,10.0.0.0/8,DIRECT -- IP-CIDR,172.16.0.0/12,DIRECT -- IP-CIDR,127.0.0.0/8,DIRECT -- IP-CIDR,100.64.0.0/10,DIRECT -- IP-CIDR,224.0.0.0/4,DIRECT -- IP-CIDR,fe80::/10,DIRECT -- RULE-SET,ChinaIP,DIRECT -- IP-CIDR,119.28.28.28/32,DIRECT -- IP-CIDR,182.254.116.0/24,DIRECT -- MATCH,MATCH diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/ConnersHua_return.yaml b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/ConnersHua_return.yaml deleted file mode 100644 index e3eacc9019..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/ConnersHua_return.yaml +++ /dev/null @@ -1,79 +0,0 @@ -rules: -##source:ConnersHua_return -# (Video) -# AcFun -# USER-AGENT,AcFun*,PROXY -- DOMAIN-SUFFIX,acfun.cn,PROXY -- DOMAIN-SUFFIX,acfun.com,PROXY -- DOMAIN-SUFFIX,aixifan.com,PROXY -# > bilibili -# USER-AGENT,bili-universal,PROXY -# USER-AGENT,Bilibili*,PROXY -- DOMAIN-SUFFIX,acgvideo.com,PROXY -- DOMAIN-SUFFIX,bilibili.com,PROXY -- DOMAIN-SUFFIX,hdslb.com,PROXY -# > HunanTV -# USER-AGENT,MGTV*,PROXY -- DOMAIN-SUFFIX,hitv.com,PROXY -- DOMAIN-SUFFIX,hunantv.com,PROXY -- DOMAIN-SUFFIX,mgtv.com,PROXY -# > Migu -# USER-AGENT,MiguVideo*,PROXY -# USER-AGENT,%E5%92%AA%E5%92%95%E8%A7%86%E9%A2%91,PROXY -- DOMAIN-SUFFIX,cmvideo.cn,PROXY -- DOMAIN-SUFFIX,migu.cn,PROXY -- DOMAIN-SUFFIX,miguvideo.com,PROXY -# > iQiyi -# USER-AGENT,iQiYiPhoneVideo,PROXY -# USER-AGENT,PPStream,PROXY -# USER-AGENT,QIYIVideo,PROXY -# USER-AGENT,QYPlayer,PROXY -- DOMAIN-SUFFIX,iqiyi.com,PROXY -- DOMAIN-SUFFIX,iqiyipic.com,PROXY -- DOMAIN-SUFFIX,qy.net,PROXY -# > Sohu -- DOMAIN-SUFFIX,sohu.com,PROXY -- DOMAIN-SUFFIX,sohu.com.cn,PROXY -- DOMAIN-SUFFIX,itc.cn,PROXY -- DOMAIN-SUFFIX,v-56.com,PROXY -# > Tencent -# USER-AGENT,live4iphone*,PROXY -# USER-AGENT,qqlive4iphone*,PROXY -# USER-AGENT,TencentMidasConnect*,PROXY -- DOMAIN-SUFFIX,video.qq.com,PROXY -# > Youku -# USER-AGENT,Youku*,PROXY -# USER-AGENT,%E4%BC%98%E9%85%B7*,PROXY -- DOMAIN-SUFFIX,soku.com,PROXY -- DOMAIN-SUFFIX,youku.com,PROXY -- DOMAIN-SUFFIX,ykimg.com,PROXY - -# (Music) -# > Alibaba -# USER-AGENT,walkman*,PROXY -# USER-AGENT,xiami*,PROXY -- DOMAIN-SUFFIX,xiami.com,PROXY -- DOMAIN-SUFFIX,xiami.net,PROXY -# > Netease -# USER-AGENT,NeteaseMusic*,PROXY -# USER-AGENT,%E7%BD%91%E6%98%93%E4%BA%91%E9%9F%B3%E4%B9%90*,PROXY -- DOMAIN-SUFFIX,music.126.net,PROXY -- DOMAIN-SUFFIX,music.163.com,PROXY -# > Tencent -# USER-AGENT,MOO%E9%9F%B3%E4%B9%90*,PROXY -# USER-AGENT,QQ%E9%9F%B3%E4%B9%90,PROXY -- DOMAIN-SUFFIX,qqmusic.qq.com,PROXY -- DOMAIN-SUFFIX,y.qq.com,PROXY -- DOMAIN,aqqmusic.tc.qq.com,PROXY -# Kugou and Kuwo -- DOMAIN-SUFFIX,kugou.com,PROXY -# USER-AGENT,%E9%85%B7%E6%88%91%E9%9F%B3%E4%B9%90*,PROXY -- DOMAIN-SUFFIX,kuwo.cn,PROXY -- DOMAIN-SUFFIX,koowo.com,PROXY -# > Baidu -# USER-AGENT,baiduyinyue,PROXY -- DOMAIN-SUFFIX,qianqian.com,PROXY - -- GEOIP,CN,PROXY - -- MATCH,DIRECT \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/default.yaml b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/default.yaml deleted file mode 100644 index 07c92e4ddf..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/default.yaml +++ /dev/null @@ -1,407 +0,0 @@ -# Copyright (c) 2018 Dreamacro -# 接管:不支持在此页面直接修改,请到全局设置页面进行修改 - -# Port of HTTP(S) proxy server on the local end -# 此项将被接管 -port: 7890 - -# Port of SOCKS5 proxy server on the local end -# 此项将被接管 -socks-port: 7891 - -# Transparent proxy server port for Linux and macOS -# 此项将被接管 -redir-port: 7892 - -# HTTP(S) and SOCKS5 server on the same port -mixed-port: 7890 - -# Set to true to allow connections to the local-end server from -# other LAN IP addresses -# 此项将被接管为true -allow-lan: true - -# This is only applicable when `allow-lan` is `true` -# '*': bind all IP addresses -# 192.168.122.11: bind a single IPv4 address -# "[aaaa::a8aa:ff:fe09:57d8]": bind a single IPv6 address -# HTTP(S)\SOCKS5 监听地址,此项将被接管为all -bind-address: "*" - -# Clash router working mode -# rule: rule-based packet routing -# global: all packets will be forwarded to a single endpoint -# direct: directly forward the packets to the Internet -# 此项将被接管 -mode: rule - -# Clash by default prints logs to STDOUT -# info / warning / error / debug / silent -# 此项将被接管 -log-level: info - -# When set to false, resolver won't translate hostnames to IPv6 addresses -# 此项将被接管 -ipv6: false - -# RESTful web API listening address -# 此项将被接管 -external-controller: 0.0.0.0:9090 - -# A relative path to the configuration directory or an absolute path to a -# directory in which you put some static web resource. Clash core will then -# serve it at `http://{{external-controller}}/ui`. -# 此项将被接管 -external-ui: "/usr/share/openclash/dashboard" - -# Secret for the RESTful API (optional) -# Authenticate by spedifying HTTP header `Authorization: Bearer ${secret}` -# ALWAYS set a secret if RESTful API is listening on 0.0.0.0 -# 此项将被接管 -secret: '123456' - -# authentication of local SOCKS5/HTTP(S) server -# 此项将被接管 -authentication: - - "user1:pass1" - - "user2:pass2" - -# Outbound interface name -interface-name: br-lan - -# tun option -# 此项将被接管 -tun: -# enable: false -# stack: system -# dns-hijack: -# - tcp://8.8.8.8:53 -# - tcp://8.8.4.4:53 - -# Static hosts for DNS server and connection establishment, only works -# when `dns.enhanced-mode` is `redir-host`. -# -# Wildcard hostnames are supported (e.g. *.clash.dev, *.foo.*.example.com) -# Non-wildcard domain names have a higher priority than wildcard domain names -# e.g. foo.example.com > *.example.com > .example.com -# P.S. +.foo.com equals to .foo.com and foo.com -hosts: - # '*.clash.dev': 127.0.0.1 - # '.dev': 127.0.0.1 - # 'alpha.clash.dev': '::1' - -profile: - # store the `select` results in $HOME/.config/clash/.cache - # when two different configurations have groups with the same name, the selected values are shared - # set false if you don't want this behavior - store-selected: true - # open tracing exporter API - tracing: true - -# DNS server settings -# This section is optional. When not present, the DNS server will be disabled. -# 如订阅配置无包括此项的所有DNS设置,OpenClash将自动添加 -dns: - enable: true # set true to enable dns (default is false) # 此项将被接管为true - ipv6: false # default is false # 此项将被接管 - listen: 0.0.0.0:53 # 端口为53时将被接管为7874 - # These nameservers are used to resolve the DNS nameserver hostnames below. - # Specify IP addresses only - default-nameserver: - - 114.114.114.114 - - 8.8.8.8 - enhanced-mode: redir-host # or fake-ip # 此项将被接管 - fake-ip-range: 198.18.0.1/16 # Fake IP addresses pool CIDR # 此项将被接管 - use-hosts: true # lookup hosts and return IP record # 此项将被接管 - # Hostnames in this list will not be resolved with fake IPs - # i.e. questions to these domain names will always be answered with their - # real IP addresses - # fake-ip-filter: - # - '*.lan' - # - localhost.ptlogin2.qq.com - - # Supports UDP, TCP, DoT, DoH. You can specify the port to connect to. - # All DNS questions are sent directly to the nameserver, without proxies - # involved. Clash answers the DNS question with the first result gathered. - nameserver: - - 114.114.114.114 - - https://1.1.1.1/dns-query # dns over https - fallback: # concurrent request with nameserver, fallback used when GEOIP country isn't CN - - tcp://1.1.1.1 - fallback-filter: - geoip: true # default - ipcidr: # ips in these subnets will be considered polluted - - 240.0.0.0/4 - -# 以上设置您可直接覆盖到配置文件,无需更改 -# Openclash 不会对下方服务器设置进行任何更改,请确保设置正确 - -#proxy-providers: # 代理集设置,此部分与Proxy两者不能同时删除 -# pro: -# type: http -# path: ./proxy_provider/pro.yaml -# url: https://xxx -# interval: 3600 -# health-check: -# enable: true -# url: http://www.gstatic.com/generate_204 -# interval: 300 -# iplc: -# type: file -# path: ./proxy_provider/iplc.yaml -# health-check: -# enable: true -# url: http://www.gstatic.com/generate_204 -# interval: 300 - -proxies: # 节点设置,此部分与proxy-provider两者不能同时删除 - -# shadowsocks -# The supported ciphers(encrypt methods): -# aes-128-gcm aes-192-gcm aes-256-gcm -# aes-128-cfb aes-192-cfb aes-256-cfb -# aes-128-ctr aes-192-ctr aes-256-ctr -# rc4-md5 chacha20-ietf xchacha20 -# chacha20-ietf-poly1305 xchacha20-ietf-poly1305 -- name: "ss1" - type: ss - server: server - port: 443 - cipher: chacha20-ietf-poly1305 - password: "password" - # udp: true - -# old obfs configuration remove after prerelease -- name: "ss2" - type: ss - server: server - port: 443 - cipher: chacha20-ietf-poly1305 - password: "password" - plugin: obfs - plugin-opts: - mode: tls # or http - # host: bing.com - -- name: "ss3" - type: ss - server: server - port: 443 - cipher: chacha20-ietf-poly1305 - password: "password" - plugin: v2ray-plugin - plugin-opts: - mode: websocket # no QUIC now - # tls: true # wss - # skip-cert-verify: true - # host: bing.com - # path: "/" - # headers: - # custom: value - -# shadowsocksR -#The supported shadowsocksR ciphers(encrypt methods): -#aes-128-cfb aes-192-cfb aes-256-cfb -#aes-128-ctr aes-192-ctr aes-256-ctr -#rc4-md5 chacha20-ietf xchacha20 - -#The supported shadowsocksR obfses: -#plain http_simple http_post -#random_head tls1.2_ticket_auth tls1.2_ticket_fastauth - -#The supported shadowsocksR protocols: -#origin auth_sha1_v4 auth_aes128_md5 -#auth_aes128_sha1 auth_chain_a auth_chain_b - -- name: "ssr" - type: ssr - server: server - port: 443 - cipher: chacha20-ietf - password: "password" - obfs: tls1.2_ticket_auth - protocol: auth_sha1_v4 - # obfs-param: domain.tld - # protocol-param: "#" - # udp: true - -# vmess -# cipher support auto/aes-128-gcm/chacha20-poly1305/none -- name: "vmess" - type: vmess - server: server - port: 443 - uuid: uuid - alterId: 32 - cipher: auto - # udp: true - # tls: true - # skip-cert-verify: true - # servername: example.com # priority over wss host - # network: ws - # ws-path: /path - # ws-headers: - # Host: v2ray.com - -- name: "vmess-http" - type: vmess - server: server - port: 443 - uuid: uuid - alterId: 32 - cipher: auto - # udp: true - # network: http - # http-opts: - # # method: "GET" - # # path: - # # - '/' - # # - '/video' - # # headers: - # # Connection: - # # - keep-alive - -# socks5 -- name: "socks" - type: socks5 - server: server - port: 443 - # username: username - # password: password - # tls: true - # skip-cert-verify: true - # udp: true -# http -- name: "http" - type: http - server: server - port: 443 - # username: username - # password: password - # tls: true # https - # skip-cert-verify: true - -# snell -- name: "snell" - type: snell - server: server - port: 44046 - psk: yourpsk - # obfs-opts: - # mode: http # or tls - # host: bing.com - -# trojan -- name: "trojan" - type: trojan - server: server - port: 443 - password: yourpsk - # udp: true - # sni: example.com # aka server name - # alpn: - # - h2 - # - http/1.1 - # skip-cert-verify: true - -# Openclash 不会对下方策略组设置进行任何更改,请确保设置正确 - -proxy-groups: # 此参数必须保留,不能删除 - -# relay chains the proxies. proxies shall not contain a proxy-group. No UDP support. -# Traffic: clash <-> http <-> vmess <-> ss1 <-> ss2 <-> Internet -- name: "relay" - type: relay - proxies: - - http - - vmess - - ss1 - - ss2 - -# url-test select which proxy will be used by benchmarking speed to a URL. -- name: "auto" - type: url-test - proxies: - - ss1 - - ss2 - - vmess1 - url: 'http://www.gstatic.com/generate_204' - interval: 300 - -# fallback select an available policy by priority. The availability is tested by accessing an URL, just like an auto url-test group. -- name: "fallback-auto" - type: fallback - proxies: - - ss1 - - ss2 - - vmess1 - url: 'http://www.gstatic.com/generate_204' - interval: 300 - -# load-balance: The request of the same eTLD will be dial on the same proxy. -- name: "load-balance" - type: load-balance - strategy: consistent-hashing # or round-robin - proxies: - - ss1 - - ss2 - - vmess1 - url: 'http://www.gstatic.com/generate_204' - interval: 300 - -# select is used for selecting proxy or proxy group -# you can use RESTful API to switch proxy, is recommended for use in GUI. -- name: Proxy - type: select - proxies: - - ss1 - - ss2 - - vmess1 - - auto - -- name: UseProvider - type: select - use: - - provider1 - proxies: - - Proxy - - DIRECT - -# https://lancellc.gitbook.io/clash/clash-config-file/rule-provider -#rule-providers: -# name: # name of the provider -# type: http # type of the provider, it can be a HTTP or a File -# behavior: classical # or ipcidr、domain -# path: # where is the file, ./ relative to clash home -# url: # only available when type is HTTP, where to download a file. You don't need to create a new file in local space. -# interval: # auto-update interval, only available when type is HTTP - -# https://lancellc.gitbook.io/clash/clash-config-file/script -#script: -# code: | -# def main(ctx, metadata): -# ip = metadata["dst_ip"] = ctx.resolve_ip(metadata["host"]) -# if ip == "": -# return "DIRECT" -# -# code = ctx.geoip(ip) -# if code == "LAN" or code == "CN": -# return "DIRECT" -# -# return "Proxy" # default policy for requests which are not matched by any other script - -rules: # 此参数必须保留,不能删除 -# 如果您将一直使用第三方规则,下方可以留空。 -- DOMAIN-SUFFIX,google.com,auto -- DOMAIN-KEYWORD,google,auto -- DOMAIN,google.com,auto -- DOMAIN-SUFFIX,ad.com,REJECT -- IP-CIDR,127.0.0.0/8,DIRECT -# rename SOURCE-IP-CIDR and would remove after prerelease -- SRC-IP-CIDR,192.168.1.201/32,DIRECT -- GEOIP,CN,DIRECT -- DST-PORT,80,DIRECT -- SRC-PORT,7777,DIRECT -# or use rule with provider -- RULE-SET,name,Proxy -- MATCH,auto \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/game_rules.list b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/game_rules.list deleted file mode 100644 index 7a87cbbcfa..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/game_rules.list +++ /dev/null @@ -1,146 +0,0 @@ -300英雄,300hero-cn.rules -永恒之塔-台服,Aion-TW.rules -美国卡车模拟国际服,American-Truck-Simulator.rules -圣歌,Anthem.rules -Apex-uu,Apex-uu.rules -Apex英雄,Apex.rules -方舟:生存进化,ARK--Survival-Evolved.rules -刺客信条:奥德赛,Assassin's-Creed-Odyssey.rules,Assassins-Creed-Odyssey.rules -刺客信条:起源,Assassin's-Creed-Origins.rules,Assassins-Creed-Origins.rules -Atlas-全区,Atlas.rules -战地1,Battlefield-1.rules -战地4,BattleField-4.rules -战地5,Battlefield-Ⅴ.rules,Battlefield-5.rules -黑色沙漠,Black-Desert.rules -黑色幸存者,BlackSurvivor.rules -剑灵台服,Blade%26Soul%20TW.rules,Blade&Soul TW.rules -剑灵-日服,Blade-%26-Soul-jp.rules,Blade-&-Soul-jp.rules -剑灵-国服全部区服(UU规则),Blood-%26-Soul-CN-TestServer-NantianGuo-Alpha.rules,Blood-&-Soul-CN-TestServer-NantianGuo-Alpha.rules -剑灵-国服-南天国(测试版),Blood-%26-Soul-CN.rules,Blood-&-Soul-CN.rules -无主之地3,Borderlands3-asia.rules -使命召唤4:现代战争重置版,Call-Of-Duty-4-Modern-Warfare.rules -使命召唤15亚服,Call-Of-Duty15-Asia.rules -英雄连2,Company-Of-Heroes-2.rules -反恐精英:全球攻势,CS-GO.rules -反恐精英:全球攻势-港服(tx),CSGO-HKtx.rules -反恐精英:全球攻势-日服(tx),CSGO-JPtx.rules -反恐精英:全球攻势-美服(tx),CSGO-UStx.rules -黑暗之魂3,Dark-Souls-3.rules -不屈不挠,Dauntless.rules -DayZ-steam,DayZ.rules -黎明杀机,Dead-by-Daylight.rules -命运2-全服(tx),Destiny2-Alltx.rules -命运2-全服(uu),Destiny2-Alluu.rules -天命2-亚服/命运2-亚服,Destiny2-Asia.rules -天命2-欧服/命运2-欧服,Destiny2-EU.rules -命运2-steam,Destiny2-steam.rules -天命2-美服/命运2-美服,Destiny2-US.rules -暗黑破坏神3-亚服,Diablo3-Asia.rules -暗黑破坏神3-美服,Diablo3-US.rules -脏弹-Steam,Dirty-Bomb.rules -Discord,Discord-All.rules -饥荒-steam,Don't-Starve-steam.rules,Dont-Starve-steam.rules -刀塔霸业,Dota-Underlords.rules -DOTA2-日服,Dota2-jp.rules -逃离塔科夫,Escape-from-Tarkov.rules -欧卡2所有分区-UU,Euro-Truck-Simulator-2.rules -Eve-online欧服,Eve-online.rules -FIFA19,FiFa19-INT.rules -FIFA20,FIFA20.rules -最终幻想14国服,FINAL-FANTASY-XIV-cn.rules -最终幻想14,Final-Fantasy-XIV.rules -荣耀战魂,For-Honour.rules -堡垒之夜-亚服,Fortnite-AS.rules -堡垒之夜-国服,Fortnite-cn.rules -极限竞速地平线4,Forza-Horizon-4.rules -极限竞速7,Forza-Motorsport-7.rules -基佬大乱斗Gang-Beasts,Gang-Beasts.rules -GTA5,GTA-5.rules -激战2,Guild-Wars-2.rules -巫师昆特牌国际服,Gwent_The-Witcher-Card-game.rules -杀手2外服,HITMAN2.rules -光环:士官长合集,Halo-The-Master-Chief-Collection.rules -荒野行动PC版-国服,HuangYeXingDong-cn.rules -叛乱:沙漠风暴,Insurgency-Sandstorm.rules -Jump大乱斗,Jump-Force.rules -跑跑卡丁车(韩服),KartRider.rules -Kurtzpel,Kurtzpel.rules -求生之路2-Test,L4D2-Test.rules -英雄联盟-日服,League-of-Legends-jp.rules -英雄联盟-韩服,League-of-Legends-kr.rules -英雄联盟PBE,League-of-Legends-PBE.rules -英雄联盟-台服,League-of-Legends-tw+Garena(2018-12-19).rules -英雄联盟-台服+Garena平台(2018-12-19更新),League-of-Legends-tw.rules -英雄联盟-美服,League-of-Legends-us.rules -失落的方舟韩服,Lost-Ark.rules -失落的方舟俄服,Lostark-RU.rules -冒险岛,Maplestory-us.rules -怪兽世界猎人steam版,Monster-Hunter-World.rules -万智牌:竞技场-国际服,MTG-Arena.rules -奇迹传奇MU2,MU2.rules -我的世界-地下城,Minecraft-Dungeons.rules -NBA-2K19,NBA-2K19.rules -NBA2K20,NBA2K20.rules -仁王,NIOH.rules -橘子客户端-UU,Origin.rules -Osu!,Osu!.rules -守望先锋-亚服,Overwatch-Asia.rules -守望先锋-美服,Overwatch-US.rules -流亡黯道-国际服,Path%20Of%20Exile.rules,Path Of Exile.rules -流放之路,PathOfexile.rules -梦幻之星2-日服(tx),PHANTASY%20STAR%20ONLINE2-JPtx.rules,PHANTASY STAR ONLINE2-JPtx.rules -行星边际2,PlanetSide-2.rules -绝地求生大逃杀,PlayerUnknown's-Battlegrounds-update.rules,PlayerUnknowns-Battlegrounds-update.rules -实况足球-2018,Pro-Evolution-Soccer-2018.rules -实况足球-2019,Pro-Evolution-Soccer-2019.rules -绝地求生亚服-东南亚服,PUBG-Asia%26-Southeast-Asia.rules -绝地求生国际服,PUBG-INT.rules -绝地求生韩服,PUBG-kakao.rules -绝地求生低配版-Garena,PUBGLite-Garena.rules -绝地求生轻量版-WEB客户端,PUBGLITE-WEB.rules -R2竞技场服,R2Arena.rules -R2俄服官服,R2RU.rules -R2美服,R2US.rules -仙境传说OL美国,Ragnarok-Online-2-us.rules -仙境传说OL台湾,Ragnarok-Online-tw.rules -荒野大镖客2,Red-dead-redemption2.rules -无限法则,Ring-of-Elysium-asia.rules -Roblox,Roblox.rules -影之诗,Shadowverse.rules -灵魂行者-台服,Soul-Worker.rules -星际公民,Star-Citizen.rules -星球大战2前线,Star-Wars-BattlefrontII.rules -StarCraft-亚服,StarCraft-2-asia.rules -星际争霸2-国服,StarCraftⅡ-cn.rules,StarCraft2-cn.rules -Steam-社区(Beta),Steam.rules -极限巅峰,Steep.rules -街头霸王5,Street-Fighter-V.rules -神谕之战,TERA.rules -飙酷车神,The-Crew.rules -飙酷车神2,The-Crew2.rules -上古卷轴OL,The-Elder-Scrolls-Online.rules -天涯明月刀-台服,TianYaMingYueDao-tw.rules -泰坦陨落2,TiTanFall2.rules -新枫之谷,TMS.rules -幽灵行动:荒野,Tom-Clancy's-Ghost-Recon-Wildlands.rules,Tom-Clancys-Ghost-Recon-Wildlands.rules -彩虹六号-围攻-全部,Tom-Clancy's-Rainbow-Six-Siege-all.rules,Tom-Clancys-Rainbow-Six-Siege-all.rules -彩虹六号-围攻-EAS,Tom-Clancy's-Rainbow-Six-Siege-EAS.rules,Tom-Clancys-Rainbow-Six-Siege-EAS.rules -全境封锁,Tom-clancy's-The-Division-2.rules,Tom-clancys-The-Division-2.rules -全境封锁2,Tom-clancy's-The-Division.rules,Tom-clancys-The-Division.rules -未转变者Unturned,Unturned.rules -无畏契约,Valorant.rules -战争前线,War-thunder-steam.rules -战争雷霆-steam,Warface.rules -看门狗,Watch-Dogs.rules -看门狗2,Watch-Dogs2.rules -求生意志OL,Will-To-Live-Online.rules -坦克世界-亚服,World-of-Tanks-Asia.rules -坦克世界-国服,World-of-Tanks-cn.rules -坦克世界闪电战,World-of-Tanks-Blitz.rules -魔兽世界台服,World-of-warcraft-tw.rules -战舰世界-亚服,World-of-Warships-US.rules -战舰世界-美服,World-of-Warships.rules -僵尸世界大战,Worldwar-Z.rules -魔兽世界-欧服,WoW-EU.rules -游戏王决斗链接,YO-GI-HO%20delulinks.rules,YO-GI-HO delulinks.rules -游侠对战平台,YouXiaDuiZhanPingTai.rules \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/lhie1.yaml b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/lhie1.yaml deleted file mode 100644 index 913e5812fe..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/lhie1.yaml +++ /dev/null @@ -1,429 +0,0 @@ -rules: -- RULE-SET,Reject,AdBlock -- RULE-SET,Special,DIRECT -- RULE-SET,Netflix,Netflix -- RULE-SET,Spotify,Spotify -- RULE-SET,YouTube,YouTube -- RULE-SET,Disney Plus,Disney -- RULE-SET,Bilibili,AsianTV -- RULE-SET,iQiyi,AsianTV -- RULE-SET,Letv,AsianTV -- RULE-SET,Netease Music,AsianTV -- RULE-SET,Tencent Video,AsianTV -- RULE-SET,Youku,AsianTV -- RULE-SET,WeTV,AsianTV -- RULE-SET,ABC,GlobalTV -- RULE-SET,Abema TV,GlobalTV -- RULE-SET,Amazon,GlobalTV -- RULE-SET,Apple News,GlobalTV -- RULE-SET,Apple TV,GlobalTV -- RULE-SET,Bahamut,GlobalTV -- RULE-SET,BBC iPlayer,GlobalTV -- RULE-SET,DAZN,GlobalTV -- RULE-SET,Discovery Plus,GlobalTV -- RULE-SET,encoreTVB,GlobalTV -- RULE-SET,Fox Now,GlobalTV -- RULE-SET,Fox+,GlobalTV -- RULE-SET,HBO,GlobalTV -- RULE-SET,Hulu Japan,GlobalTV -- RULE-SET,Hulu,GlobalTV -- RULE-SET,Japonx,GlobalTV -- RULE-SET,JOOX,GlobalTV -- RULE-SET,KKBOX,GlobalTV -- RULE-SET,KKTV,GlobalTV -- RULE-SET,Line TV,GlobalTV -- RULE-SET,myTV SUPER,GlobalTV -- RULE-SET,Pandora,GlobalTV -- RULE-SET,PBS,GlobalTV -- RULE-SET,Pornhub,GlobalTV -- RULE-SET,Soundcloud,GlobalTV -- RULE-SET,ViuTV,GlobalTV -- RULE-SET,Telegram,Telegram -- RULE-SET,Steam,Steam -- RULE-SET,Speedtest,Speedtest -- RULE-SET,PayPal,PayPal -- RULE-SET,Microsoft,Microsoft -- RULE-SET,PROXY,Proxy -- RULE-SET,Apple,Apple -- RULE-SET,Scholar,Scholar -- RULE-SET,Domestic,Domestic -- RULE-SET,Domestic IPs,Domestic -- RULE-SET,LAN,DIRECT -- GEOIP,CN,Domestic -- MATCH,Others -script: - code: | - def main(ctx, metadata): - port_list = [21, 22, 23, 53, 80, 123, 143, 194, 443, 465, 587, 853, 993, 995, 998, 2052, 2053, 2082, 2083, 2086, 2095, 2096, 5222, 5228, 5229, 5230, 8080, 8443, 8880, 8888, 8889] - ruleset_action = {"Reject": "AdBlock", - "Special": "DIRECT", - "Netflix": "Netflix", - "Spotify": "Spotify", - "YouTube": "YouTube", - "Disney Plus": "Disney", - "Bilibili": "AsianTV", - "iQiyi": "AsianTV", - "Letv": "AsianTV", - "Netease Music": "AsianTV", - "Tencent Video": "AsianTV", - "Youku": "AsianTV", - "WeTV": "AsianTV", - "ABC": "GlobalTV", - "Abema TV": "GlobalTV", - "Amazon": "GlobalTV", - "Apple News": "GlobalTV", - "Apple TV": "GlobalTV", - "Bahamut": "GlobalTV", - "BBC iPlayer": "GlobalTV", - "DAZN": "GlobalTV", - "Discovery Plus": "GlobalTV", - "encoreTVB": "GlobalTV", - "Fox Now": "GlobalTV", - "Fox+": "GlobalTV", - "HBO": "GlobalTV", - "Hulu Japan": "GlobalTV", - "Hulu": "GlobalTV", - "Japonx": "GlobalTV", - "JOOX": "GlobalTV", - "KKBOX": "GlobalTV", - "KKTV": "GlobalTV", - "Line TV": "GlobalTV", - "myTV SUPER": "GlobalTV", - "Pandora": "GlobalTV", - "PBS": "GlobalTV", - "Pornhub": "GlobalTV", - "Soundcloud": "GlobalTV", - "ViuTV": "GlobalTV", - "Telegram": "Telegram", - "Steam": "Steam", - "Speedtest": "Speedtest", - "PayPal": "PayPal", - "Microsoft": "Microsoft", - "PROXY": "Proxy", - "Apple": "Apple", - "Scholar": "Scholar", - "Domestic": "Domestic", - "Domestic IPs": "Domestic", - "LAN": "DIRECT" - } - port = int(metadata["dst_port"]) - - if port not in port_list: - return "DIRECT" - - for rule_name in ctx.rule_providers.keys(): - if ctx.rule_providers[rule_name].match(metadata): - return ruleset_action[rule_name] - - ip = metadata["dst_ip"] or ctx.resolve_ip(metadata["host"]) - - if ip == "": - return "DIRECT" - - code = ctx.geoip(ip) - - if code == "CN": - return "Domestic" - - return "Others" -rule-providers: - Reject: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Reject.yaml - path: "./Rules/Reject" - interval: 86400 - Special: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Special.yaml - path: "./Rules/Special" - interval: 86400 - Netflix: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Netflix.yaml - path: "./Rules/Media/Netflix" - interval: 86400 - Spotify: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Spotify.yaml - path: "./Rules/Media/Spotify" - interval: 86400 - YouTube: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/YouTube.yaml - path: "./Rules/Media/YouTube" - interval: 86400 - Bilibili: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Bilibili.yaml - path: "./Rules/Media/Bilibili" - interval: 86400 - iQiyi: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/iQiyi.yaml - path: "./Rules/Media/iQiyi" - interval: 86400 - Letv: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Letv.yaml - path: "./Rules/Media/Letv" - interval: 86400 - Netease Music: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Netease%20Music.yaml - path: "./Rules/Media/Netease_Music" - interval: 86400 - Tencent Video: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Tencent%20Video.yaml - path: "./Rules/Media/Tencent_Video" - interval: 86400 - Youku: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Youku.yaml - path: "./Rules/Media/Youku" - interval: 86400 - WeTV: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/WeTV.yaml - path: "./Rules/Media/WeTV" - interval: 86400 - ABC: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/ABC.yaml - path: "./Rules/Media/ABC" - interval: 86400 - Abema TV: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Abema%20TV.yaml - path: "./Rules/Media/Abema_TV" - interval: 86400 - Amazon: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Amazon.yaml - path: "./Rules/Media/Amazon" - interval: 86400 - Apple News: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Apple%20News.yaml - path: "./Rules/Media/Apple_News" - interval: 86400 - Apple TV: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Apple%20TV.yaml - path: "./Rules/Media/Apple_TV" - interval: 86400 - Bahamut: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Bahamut.yaml - path: "./Rules/Media/Bahamut" - interval: 86400 - BBC iPlayer: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/BBC%20iPlayer.yaml - path: "./Rules/Media/BBC_iPlayer" - interval: 86400 - DAZN: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/DAZN.yaml - path: "./Rules/Media/DAZN" - interval: 86400 - Discovery Plus: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Discovery%20Plus.yaml - path: "./Rules/Media/Discovery_Plus" - interval: 86400 - Disney Plus: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Disney%20Plus.yaml - path: "./Rules/Media/Disney_Plus" - interval: 86400 - encoreTVB: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/encoreTVB.yaml - path: "./Rules/Media/encoreTVB" - interval: 86400 - Fox Now: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Fox%20Now.yaml - path: "./Rules/Media/Fox_Now" - interval: 86400 - Fox+: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Fox%2B.yaml - path: "./Rules/Media/Fox+" - interval: 86400 - HBO: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/HBO.yaml - path: "./Rules/Media/HBO" - interval: 86400 - Hulu Japan: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Hulu%20Japan.yaml - path: "./Rules/Media/Hulu_Japan" - interval: 86400 - Hulu: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Hulu.yaml - path: "./Rules/Media/Hulu" - interval: 86400 - Japonx: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Japonx.yaml - path: "./Rules/Media/Japonx" - interval: 86400 - JOOX: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/JOOX.yaml - path: "./Rules/Media/JOOX" - interval: 86400 - KKBOX: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/KKBOX.yaml - path: "./Rules/Media/KKBOX" - interval: 86400 - KKTV: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/KKTV.yaml - path: "./Rules/Media/KKTV" - interval: 86400 - Line TV: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Line%20TV.yaml - path: "./Rules/Media/Line_TV" - interval: 86400 - myTV SUPER: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/myTV%20SUPER.yaml - path: "./Rules/Media/myTV_SUPER" - interval: 86400 - Pandora: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Pandora.yaml - path: "./Rules/Media/Pandora" - interval: 86400 - PBS: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/PBS.yaml - path: "./Rules/Media/PBS" - interval: 86400 - Pornhub: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Pornhub.yaml - path: "./Rules/Media/Pornhub" - interval: 86400 - Soundcloud: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/Soundcloud.yaml - path: "./Rules/Media/Soundcloud" - interval: 86400 - ViuTV: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Media/ViuTV.yaml - path: "./Rules/Media/ViuTV" - interval: 86400 - Telegram: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Telegram.yaml - path: "./Rules/Telegram" - interval: 86400 - Steam: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Steam.yaml - path: "./Rules/Steam" - interval: 86400 - Speedtest: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Speedtest.yaml - path: "./Rules/Speedtest" - interval: 86400 - PayPal: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/PayPal.yaml - path: "./Rules/PayPal" - interval: 86400 - Microsoft: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Microsoft.yaml - path: "./Rules/Microsoft" - interval: 86400 - PROXY: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Proxy.yaml - path: "./Rules/Proxy" - interval: 86400 - Domestic: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Domestic.yaml - path: "./Rules/Domestic" - interval: 86400 - Apple: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Apple.yaml - path: "./Rules/Apple" - interval: 86400 - Scholar: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Scholar.yaml - path: "./Rules/Scholar" - interval: 86400 - Domestic IPs: - type: http - behavior: ipcidr - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/Domestic%20IPs.yaml - path: "./Rules/Domestic_IPs" - interval: 86400 - LAN: - type: http - behavior: classical - url: https://cdn.jsdelivr.net/gh/lhie1/Rules@master/Clash/Provider/LAN.yaml - path: "./Rules/LAN" - interval: 86400 diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/openclash_version b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/openclash_version deleted file mode 100644 index 81b86a55ef..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/openclash_version +++ /dev/null @@ -1,2 +0,0 @@ -v0.42.03-beta -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYQAAAAqCAMAAACEAtzLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkExRUI4OTE1ODJBQTExRUI5RTIyRDA3MzM4QkJFQUExIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkExRUI4OTE2ODJBQTExRUI5RTIyRDA3MzM4QkJFQUExIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTFFQjg5MTM4MkFBMTFFQjlFMjJEMDczMzhCQkVBQTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTFFQjg5MTQ4MkFBMTFFQjlFMjJEMDczMzhCQkVBQTEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4q2vqCAAADAFBMVEWUxeEJca0FXI66urplrNSxytjv9Pfh7/dFgaIHXpEqjcZISEilpaWKiooGVYIFbak6lsodcqLR0dFJns49PT0jhLyenp6CgoLR5vMbhcHC3u4GcKw1dZre3t4GZp1Wlbm1tbUVapo/Pz9ubm5Fkb3a2toIXIvn5+fOzs7R4elYptKStck2kcYkapKRkZFFRUVLS0t2ttoEYJRycnKCrsYEU4AIZZmizOSy0eJ3d3eFhYUkeqqcnJwHVoRiYmJjnLyixtq/v7+srKwJYpR4eHiz1uoKdbKhoaHg4OBDQ0NBQUFFmsqUlJTCwsIEWYlqamo0faYFZZvIyMiiwNEXYYwFaaLFxcVilLAJaqFAQEAXgL3w9PfAwMC2trbB1ODKysoJbaXQ3+cgdaakzuZlZWV1p8WDqsGDsMtllrJgYGDB2edHirEYbZ0HbKQJWIVkp81Ui6sJaJ4FcrCNjY2iv9E1hrRHnMwHdLEZfLVynrgJbqkFYpevr68nicB0dHQFa6aJweKTvtZ0sdUmbpgKebkBcrNZWVlTU1NRUVFUVFRVVVULfL1SUlIKe7wFdrcHeLlWVlYDdbUOf8ADdLQOgMAEdbYEdrYDdLUSg8MSg8QShMQAcrIThMUGd7hXV1cOf78Nfr8Nfr4Mfb4Mfb0Je7sJersIeboJeroIebk6OjqqqqrV1dXU1NSrq6vw9/upqak7OzuAgIB+fn719fWBgYGCqcCDvNyEvd3q6uqEvN3z8/P09PSGvt9MTEzB3u6Fvt5/f3+Hv9/B3e2Gv9/g6vBGm8vA1N/o6Ojg6u+Xl5eFvd43k8jB3e5Hm8zW1taFvd0UXokJeLiEtNBVos+ErMKDr8jB2+qDu9yDq8IFdLREmcpEf6F0s9iixNeEq8IHV4bC3OvB1eCjo6NHmslortfB1+Mwk8t/uNgFZ590oLmAudkab6DQ5PCRuM8mcZwCc7QRgsMPgMEQgcJaWlpfX19NTU1eXl5cXFxbW1tPT09QUFBYWFhdXV1OTk7///////+d7IOqAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAADGJJREFUeNrsVwl0U1Uafi0tJaSbNKSlpVJalrImLAEL0ypQ6EaBIp0iyLAji2BBBaXiPpRCSzPqOItDXYYtXVKlLKVlkX1VEcEVBuPC6OjsggL26/z33pe895IWekbP0eTwndN3///7l/ve/yXvplJjY80jA77xBQz9kxfi4uP2xkapMd03JCAR/uiVuBjVKNUMuOwjGPoH78RFu/TIZZ8R4fdeiselAd/7Cob+y0txUfr+pgg/OXxJhP94K6RvfQY3RfgZYMa/vRXSdz6DmyL8HER4zlsh/ddnMOMZb0WTIkQOHz78/oQff0yzIiNnuZyEyMiW1KRGprZUhBebw3NtP9u3L6LpUHhEW9kM77dvX88OnikR+/Z91lbtNZF1AAde/P8hrXRHypQacKQfS1n5AxE5PFLj1+CYy87G1Ja0eBNvtnCzGS81B4k/T1B4E6GewAFu9LOLpz7glhAexGnpGe7NFEl296wDHnUKIg5EvHR9eIiQWgt0rTIaE2mvyB8qwnAMV7vWYUh3aQ30/ZFFeLkZ7MLk2Qs63QZ7B49QOI1+F7eicfDOM2d6OF0nOthxW6cFsyfLNHCw15leB92zaItdLze/ffMxAemaFinpqEswMJiNdZHXfiBIBI2fACTI5jHUFbekhclgauFmM15pGm2BjosIDsz0CNlB4+Xm4LksZ9GdsGsyZiKQ0W2Atsx1tOFZgQjSNtold2kK14sJSB5jq0sxZOjNZpPBYB3b0mEnRWr0ioxMaFoEfXekyWYFpjQ0VeuUy9lDESElMjJF/XHRuiTCn5tGP5rjtFF+I9rA7hbpEIW5Duzl9ohF3QZNnKibAESoU+zoOMJv1DRSsB9zFy3qtnji4m6kibbTXtalbUS4qndERFtVTEZEhDrHCXcRamCMX8Utq5kZFdjKva2okK/H0oGqa1WoSqmiNxeLVrFDpKaK5wEp3K1I4Y6Aq/sqI2qV74RVW6s0vxaZzspq7qYmVRCNkyoYVZEkZybczdwp6lu/ZY2M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 \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/rule_providers.list b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/rule_providers.list deleted file mode 100644 index d4173692b2..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/rule_providers.list +++ /dev/null @@ -1,119 +0,0 @@ -反劫持规则,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Guard/,Hijacking.yaml -国内IP白名单,ConnersHua,ipcidr,DivineEngine/Profiles/master/Clash/RuleSet/Extra/,ChinaIP.yaml -国内IP白名单(By lhie1),lhie1,ipcidr,lhie1/Rules/master/Clash/Provider/,Domestic%20IPs.yaml,Domestic IPs.yaml -国内域名白名单,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/,China.yaml -国内域名白名单(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/,Domestic.yaml -国内流媒体合集,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/,StreamingCN.yaml -国内流媒体国际版合集,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/,StreamingSE.yaml -国外常用网站合集,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/,Global.yaml -国外常用网站合集(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/,Proxy.yaml -国外流媒体合集,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/,Streaming.yaml -学术网站,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/,Scholar.yaml -审计规则(建议直连),lhie1,classical,lhie1/Rules/master/Clash/Provider/,Special.yaml -广告规则,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Guard/,Advertising.yaml -广告规则(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/,Reject.yaml -微软服务,lhie1,classical,lhie1/Rules/master/Clash/Provider/,Microsoft.yaml -隐私规则合集,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Guard/,Privacy.yaml -ABC,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,ABC.yaml -Abema TV,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Abema%20TV.yaml,Abema TV.yaml -AbemaTV,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,AbemaTV.yaml -All-4,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,All-4.yaml -Amazon,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Amazon.yaml -AppStore,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,AppStore.yaml -AppStoreConnect,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,AppStoreConnect.yaml -Apple FindMy,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,FindMy.yaml -Apple Music,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,Music.yaml -Apple News,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,News.yaml -Apple News(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Apple%20News.yaml,Apple News.yaml -Apple SoftwareUpdate,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,SoftwareUpdate.yaml -Apple TV,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,TV.yaml -Apple TV(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Apple%20TV.yaml,Apple TV.yaml -Apple TestFlight,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,TestFlight.yaml -Apple iCloud,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,iCloud.yaml -Apple,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,Apple.yaml -Apple(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/,Apple.yaml,Apple-lhie1.yaml -BBC iPlayer,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,BBC iPlayer.yaml -BBC-iPlayer,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,BBC-iPlayer.yaml -Bahamut,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,Bahamut.yaml -Bahamut(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Bahamut.yaml,Bahamut-lhie1.yaml -Bilibili,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Bilibili.yaml -DAZN,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,DAZN.yaml -DAZN(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,DAZN.yaml,DAZN-lhie1.yaml -Deezer,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Music/,Deezer.yaml -Disney Plus,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Disney%20Plus.yaml,Disney Plus.yaml -DisneyPlus,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,DisneyPlus.yaml -FOX,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,FOX.yaml -Fox Now,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Fox%20Now.yaml,Fox Now.yaml -Fox+,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Fox+.yaml -GFW地址,ConnersHua,ipcidr,DivineEngine/Profiles/master/Clash/RuleSet/Extra/,IP-Blackhole.yaml -GoogleDrive,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Google/,GoogleDrive.yaml -GoogleSearch,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Google/,GoogleSearch.yaml -HBO,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,HBO.yaml -HBO(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,HBO.yaml,HBO-lhie1.yaml -HBO-GO-HKG,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,HBO-GO-HKG.yaml -HWTV,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,HWTV.yaml -Himalaya,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Podcast/,Himalaya.yaml -Hulu Japan,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Hulu Japan.yaml -Hulu,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,Hulu.yaml -Hulu(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Hulu.yaml,Hulu-lhie1.yaml -Hulu-JPN,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,Hulu-JPN.yaml -ITV,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,ITV.yaml -Instagram,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Music/,Instagram.yaml -JOOX,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Music/,JOOX.yaml -JOOX(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,JOOX.yaml,JOOX-lhie1.yaml -Japonx,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Japonx.yaml -KKBOX,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Music/,KKBOX.yaml -KKBOX(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,KKBOX.yaml,KKBOX-lhie1.yaml -KKTV,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,KKTV.yaml -KKTV(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,KKTV.yaml,KKTV-lhie1.yaml -LINE-TV,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,LINE-TV.yaml -Letv,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Letv.yaml -LiTV,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,LiTV.yaml -Line TV,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Line%20TV.yaml,Line TV.yaml -MOO,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,MOO.yaml -My5,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,My5.yaml -Netease Music,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Netease%20Music.yaml,Netease Music.yaml -Netflix,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,Netflix.yaml -Netflix(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Netflix.yaml,Netflix-lhie1.yaml -Now-E,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,Now-E.yaml -OneDrive,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Microsoft/,OneDrive.yaml -PBS,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,PBS.yaml -PBS(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,PBS.yaml,PBS-lhie1.yaml -Pandora,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Music/,Pandora.yaml -Pandora(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Pandora.yaml,Pandora-lhie1.yaml -PayPal,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/,PayPal.yaml -PayPal(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/,PayPal.yaml,PayPal-lhie1.yaml -Pornhub,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,Pornhub.yaml -Pornhub(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Pornhub.yaml,Pornhub-lhie1.yaml -Prime-Video,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,Prime-Video.yaml -Siri,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,Siri.yaml -SoundCloud,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Music/,SoundCloud.yaml -Soundcloud(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Soundcloud.yaml,Soundcloud-lhie1.yaml -Speedtest,lhie1,classical,lhie1/Rules/master/Clash/Provider/,Speedtest.yaml -Spotify,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Music/,Spotify.yaml -Spotify(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Spotify.yaml,Spotify-lhie1.yaml -Steam,lhie1,classical,lhie1/Rules/master/Clash/Provider/,Steam.yaml -TIDAL,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Music/,TIDAL.yaml -TaiwanGood,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,TaiwanGood.yaml -Telegram,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Telegram/,Telegram.yaml -Telegram(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/,Telegram.yaml,Telegram-lhie1.yaml -TelegramNL,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Telegram/,TelegramNL.yaml -TelegramSG,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Telegram/,TelegramSG.yaml -TelegramUS,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Telegram/,TelegramUS.yaml -Tencent Video,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Tencent%20Video.yaml,Tencent Video.yaml -TikTok,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,TikTok.yaml -Twitch,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Live/,Twitch.yaml -ViuTV,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,ViuTV.yaml -ViuTV(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,ViuTV.yaml,ViuTV-lhie1.yaml -YouTube Music,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,YouTube%20Music.yaml,YouTube Music.yaml -YouTube,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,YouTube.yaml -YouTubeMusic,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Music/,YouTubeMusic.yaml -YouTube(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,YouTube.yaml,YouTube-lhie1.yaml -Youku,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,Youku.yaml -encoreTVB,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,encoreTVB.yaml -encoreTVB(By lhie1),lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,encoreTVB.yaml,encoreTVB-lhie1.yaml -iCloud-email,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/Extra/Apple/,Mail.yaml -iQiyi,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,iQiyi.yaml -myTV SUPER,lhie1,classical,lhie1/Rules/master/Clash/Provider/Media/,myTV%20SUPER.yaml,myTV SUPER.yaml -myTV-SUPER,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,myTV-SUPER.yaml -niconico,ConnersHua,classical,DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Video/,niconico.yaml \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/sub_ini.list b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/sub_ini.list deleted file mode 100644 index 857ed451b8..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/res/sub_ini.list +++ /dev/null @@ -1,50 +0,0 @@ -默认(附带用于Clash的AdGuard DNS),default_with_clash_adg.yml,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/default_with_clash_adg.yml -无Urltest,no_urltest.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/no_urltest.ini -带Urltest,urltest.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/urltest.ini -ConnersHua 神机规则 Basic,connershua_basic.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/connershua_basic.ini -ConnersHua 神机规则 Pro,connershua_pro.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/connershua_new.ini -ConnersHua 神机规则 BacktoCN 回国专用,connershua_backtocn.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/connershua_backtocn.ini -lhie1 洞主规则(使用 Clash 分组规则),lhie1_clash.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/lhie1_clash.ini -lhie1 洞主规则完整版,lhie1_dler.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/lhie1_dler.ini -ACL4SSR 规则标准版,acl4ssr_standard.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/acl4ssr_standard.ini -ACL4SSR 规则 GFWList,acl4ssr_gfwlist.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/acl4ssr_gfwlist.ini -ACL4SSR 规则 AdblockPlus,ACL4SSR_AdblockPlus.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_AdblockPlus.ini -ACL4SSR 规则 BackCN,ACL4SSR_BackCN.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_BackCN.ini -ACL4SSR 规则 Mini,ACL4SSR_Mini.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Mini.ini -ACL4SSR 规则 Mini Fallback,ACL4SSR_Mini_Fallback.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Mini_Fallback.ini -ACL4SSR 规则 Mini MultiMode,ACL4SSR_Mini_MultiMode.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Mini_MultiMode.ini -ACL4SSR 规则 Mini NoAuto,ACL4SSR_Mini_NoAuto.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Mini_NoAuto.ini -ACL4SSR 规则 NoApple,ACL4SSR_NoApple.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_NoApple.ini -ACL4SSR 规则 NoAuto,ACL4SSR_NoAuto.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_NoAuto.ini -ACL4SSR 规则 NoAuto NoApple,ACL4SSR_NoAuto_NoApple.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_NoAuto_NoApple.ini -ACL4SSR 规则 NoAuto NoApple NoMicrosoft,ACL4SSR_NoAuto_NoApple_NoMicrosoft.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_NoAuto_NoApple_NoMicrosoft.ini -ACL4SSR 规则 NoMicrosoft,ACL4SSR_NoMicrosoft.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_NoMicrosoft.ini -ACL4SSR 规则 Online,ACL4SSR_Online.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online.ini -ACL4SSR 规则 Online AdblockPlus,ACL4SSR_Online_AdblockPlus.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_AdblockPlus.ini -ACL4SSR 规则 Online Full,ACL4SSR_Online_Full.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_Full.ini -ACL4SSR 规则 Online Full AdblockPlus,ACL4SSR_Online_Full_AdblockPlus.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_Full_AdblockPlus.ini -ACL4SSR 规则 Online Full Netflix,ACL4SSR_Online_Full_Netflix.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_Full_Netflix.ini -ACL4SSR 规则 Online Full NoAuto,ACL4SSR_Online_Full_NoAuto.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_Full_NoAuto.ini -ACL4SSR 规则 Online Mini,ACL4SSR_Online_Mini.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_Mini.ini -ACL4SSR 规则 Online Mini AdblockPlus,ACL4SSR_Online_Mini_AdblockPlus.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_Mini_AdblockPlus.ini -ACL4SSR 规则 Online Mini Fallback,ACL4SSR_Online_Mini_Fallback.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_Mini_Fallback.ini -ACL4SSR 规则 Online Mini MultiMode,ACL4SSR_Online_Mini_MultiMode.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_Mini_MultiMode.ini -ACL4SSR 规则 Online Mini NoAuto,ACL4SSR_Online_Mini_NoAuto.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_Mini_NoAuto.ini -ACL4SSR 规则 Online NoAuto,ACL4SSR_Online_NoAuto.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_NoAuto.ini -ACL4SSR 规则 Online NoReject,ACL4SSR_Online_NoReject.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_Online_NoReject.ini -ACL4SSR 规则 WithChinaIp,ACL4SSR_WithChinaIp.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_WithChinaIp.ini -ACL4SSR 规则 WithChinaIp WithGFW,ACL4SSR_WithChinaIp_WithGFW.ini,https://raw.githubusercontent.com/tindy2013/subconverter/master/base/config/ACL4SSR_WithChinaIp_WithGFW.ini -eHpo1 规则,ehpo1_main.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/ehpo1_main.ini -nzw9314 规则,nzw9314_custom.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/nzw9314_custom.ini -maicoo-l 规则,maicoo-l_custom.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/maicoo-l_custom.ini -rixCloud 官方规则,rixcloud_custom.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/rixcloud_custom.ini -Maying,maying_optimized.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/maying_optimized.ini -Nexitally,nexitally_optimized.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/nexitally_optimized.ini -贼船,zeichuan_optimized.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/zeichuan_optimized.ini -N3RO,n3ro_optimized.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/n3ro_optimized.ini -Scholar,scholar_optimized.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/scholar_optimized.ini -YToo,ytoo_optimized.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/ytoo_optimized.ini -DlerCloud Platinum 李哥定制规则,dlercloud_lige_platinum.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/dlercloud_lige_platinum.ini -DlerCloud Gold 李哥定制规则,dlercloud_lige_gold.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/dlercloud_lige_gold.ini -DlerCloud Silver 李哥定制规则,dlercloud_lige_silver.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/dlercloud_lige_silver.ini -网易云解锁(仅规则分组),netease.ini,https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/netease.ini \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/ruby.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/ruby.sh deleted file mode 100755 index 104bf79fd8..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/ruby.sh +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/sh - -ruby_read() -{ -local Value RUBY_YAML_PARSE -if [ -z "$1" ] || [ -z "$2" ]; then - return -fi -RUBY_YAML_PARSE="Thread.new{Value = YAML.load_file('$1'); puts Value$2}.join" -if [ -n "$(echo "$2" |grep '.to_yaml' 2>/dev/null)" ]; then - ruby -ryaml -E UTF-8 -e "$RUBY_YAML_PARSE" 2>/dev/null |sed '1d' 2>/dev/null -else - ruby -ryaml -E UTF-8 -e "$RUBY_YAML_PARSE" 2>/dev/null -fi -} - -ruby_read_hash() -{ -local Value RUBY_YAML_PARSE -if [ -z "$1" ] || [ -z "$2" ]; then - return -fi -RUBY_YAML_PARSE="Thread.new{Value = $1; puts Value$2}.join" -ruby -ryaml -E UTF-8 -e "$RUBY_YAML_PARSE" 2>/dev/null -} - -ruby_edit() -{ -local Value RUBY_YAML_PARSE -if [ -z "$1" ] || [ -z "$2" ]; then - return -fi -RUBY_YAML_PARSE="Thread.new{Value = YAML.load_file('$1'); Value$2; File.open('$1','w') {|f| YAML.dump(Value, f)}}.join" -ruby -ryaml -E UTF-8 -e "$RUBY_YAML_PARSE" 2>/dev/null -} - -#数组覆盖 -ruby_cover() -{ -local Value Value_1 RUBY_YAML_PARSE -if [ -z "$1" ] || [ -z "$2" ]; then - return -fi -RUBY_YAML_PARSE="Thread.new{Value = YAML.load_file('$1'); Value_1 = YAML.load_file('$3'); Value$2=Value_1$4; File.open('$1','w') {|f| YAML.dump(Value, f)}}.join" -ruby -ryaml -E UTF-8 -e "$RUBY_YAML_PARSE" 2>/dev/null -} - -#hash增加 -ruby_merge() -{ -local Value Value_1 RUBY_YAML_PARSE -if [ -z "$1" ] || [ -z "$2" ]; then - return -fi -RUBY_YAML_PARSE="Thread.new{Value = YAML.load_file('$1'); Value_1 = YAML.load_file('$3'); Value$2.merge!(Value_1$4); File.open('$1','w') {|f| YAML.dump(Value, f)}}.join" -ruby -ryaml -E UTF-8 -e "$RUBY_YAML_PARSE" 2>/dev/null -} - -#数组指定位置前添加一组值(不要key) -ruby_arr_add_file() -{ -local Value Value_1 RUBY_YAML_PARSE -if [ -z "$1" ] || [ -z "$2" ]; then - return -fi -RUBY_YAML_PARSE="Thread.new{Value = YAML.load_file('$1'); Value_1 = YAML.load_file('$4').reverse!; Value_1$5.each{|x| Value$2.insert($3,x)}; Value$2=Value$2.uniq; File.open('$1','w') {|f| YAML.dump(Value, f)}}.join" -ruby -ryaml -E UTF-8 -e "$RUBY_YAML_PARSE" 2>/dev/null -} - -#数组开头添加一组值(含key) -ruby_arr_head_add_file() -{ -local Value Value_1 RUBY_YAML_PARSE -if [ -z "$1" ] || [ -z "$2" ]; then - return -fi -RUBY_YAML_PARSE="Thread.new{Value = YAML.load_file('$1'); Value_1 = YAML.load_file('$3'); Value$2=(Value_1$4+Value$2).uniq; File.open('$1','w') {|f| YAML.dump(Value, f)}}.join" -ruby -ryaml -E UTF-8 -e "$RUBY_YAML_PARSE" 2>/dev/null -} - -#数组指定位置前增加值 -ruby_arr_insert() -{ -local Value RUBY_YAML_PARSE -if [ -z "$1" ] || [ -z "$2" ]; then - return -fi -RUBY_YAML_PARSE="Thread.new{Value = YAML.load_file('$1'); Value$2=Value$2.insert($3,'$4').uniq; File.open('$1','w') {|f| YAML.dump(Value, f)}}.join" -ruby -ryaml -E UTF-8 -e "$RUBY_YAML_PARSE" 2>/dev/null -} - -ruby_read_hash_arr() -{ -local Value RUBY_YAML_PARSE -if [ -z "$1" ] || [ -z "$2" ]; then - return -fi -RUBY_YAML_PARSE="Thread.new{Value = YAML.load_file('$1'); Value$2.each do |i| puts i$3 end}.join" -ruby -ryaml -E UTF-8 -e "$RUBY_YAML_PARSE" 2>/dev/null -} \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/14.2b1ab3375a2b9a48edab.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/14.2b1ab3375a2b9a48edab.js deleted file mode 100644 index 8ddc0d1a01..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/14.2b1ab3375a2b9a48edab.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{"+924":function(t,e,n){"use strict";n.d(e,"d",(function(){return o})),n.d(e,"c",(function(){return i})),n.d(e,"b",(function(){return a})),n.d(e,"a",(function(){return c}));var r=n("9AQC");function o(t,e){return void 0===e&&(e=0),"string"!=typeof t||0===e||t.length<=e?t:t.substr(0,e)+"..."}function i(t,e){var n=t,r=n.length;if(r<=150)return n;e>r&&(e=r);var o=Math.max(e-60,0);o<5&&(o=0);var i=Math.min(o+140,r);return i>r-5&&(i=r),i===r&&(o=Math.max(i-140,0)),n=n.slice(o,i),o>0&&(n="'{snip} "+n),i"}try{c.currentTarget=Object(r.c)(a.currentTarget)?Object(i.h)(a.currentTarget):Object.prototype.toString.call(a.currentTarget)}catch(t){c.currentTarget=""}for(var o in"undefined"!=typeof CustomEvent&&Object(r.g)(t,CustomEvent)&&(c.detail=a.detail),a)Object.prototype.hasOwnProperty.call(a,o)&&(c[o]=a);return c}return t}function p(t){return function(t){return~-encodeURI(t).split(/%..|./).length}(JSON.stringify(t))}function l(t,e,n){void 0===e&&(e=3),void 0===n&&(n=102400);var r=d(t,e);return p(r)>n?l(t,e-1,n):r}function f(e,n){return"domain"===n&&e&&"object"==typeof e&&e._events?"[Domain]":"domainEmitter"===n?"[DomainEmitter]":void 0!==t&&e===t?"[Global]":"undefined"!=typeof window&&e===window?"[Window]":"undefined"!=typeof document&&e===document?"[Document]":Object(r.l)(e)?"[SyntheticEvent]":"number"==typeof e&&e!=e?"[NaN]":void 0===e?"[undefined]":"function"==typeof e?"[Function: "+Object(i.e)(e)+"]":e}function h(t,e,n,i){if(void 0===n&&(n=1/0),void 0===i&&(i=new o.a),0===n)return function(t){var e=Object.prototype.toString.call(t);if("string"==typeof t)return t;if("[object Object]"===e)return"[Object]";if("[object Array]"===e)return"[Array]";var n=f(t);return Object(r.i)(n)?n:e}(e);if(null!=e&&"function"==typeof e.toJSON)return e.toJSON();var a=f(e,t);if(Object(r.i)(a))return a;var c=u(e),s=Array.isArray(e)?[]:{};if(i.memoize(e))return"[Circular ~]";for(var p in c)Object.prototype.hasOwnProperty.call(c,p)&&(s[p]=h(p,c[p],n-1,i));return i.unmemoize(e),s}function d(t,e){try{return JSON.parse(JSON.stringify(t,(function(t,n){return h(t,n,e)})))}catch(t){return"**non-serializable**"}}function v(t,e){void 0===e&&(e=40);var n=Object.keys(u(t));if(n.sort(),!n.length)return"[object has no keys]";if(n[0].length>=e)return Object(a.d)(n[0],e);for(var r=n.length;r>0;r--){var o=n.slice(0,r).join(", ");if(!(o.length>e))return r===n.length?o:Object(a.d)(o,e)}return""}}).call(this,n("yLpj"))},"8oxB":function(t,e){var n,r,o=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function c(t){if(n===setTimeout)return setTimeout(t,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(t){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var s,u=[],p=!1,l=-1;function f(){p&&s&&(p=!1,s.length?u=s.concat(u):l=-1,u.length&&h())}function h(){if(!p){var t=c(f);p=!0;for(var e=u.length;e;){for(s=u,u=[];++l1)for(var n=1;n"}return t.event_id||""}function f(t){var e=s();if(!("console"in e))return t();var n=e.console,r={};["debug","info","warn","error","log","assert"].forEach((function(t){t in e.console&&n[t].__sentry_original__&&(r[t]=n[t],n[t]=n[t].__sentry_original__)}));var o=t();return Object.keys(r).forEach((function(t){n[t]=r[t]})),o}function h(t,e,n){t.exception=t.exception||{},t.exception.values=t.exception.values||[],t.exception.values[0]=t.exception.values[0]||{},t.exception.values[0].value=t.exception.values[0].value||e||"",t.exception.values[0].type=t.exception.values[0].type||n||"Error"}function d(t,e){void 0===e&&(e={});try{t.exception.values[0].mechanism=t.exception.values[0].mechanism||{},Object.keys(e).forEach((function(n){t.exception.values[0].mechanism[n]=e[n]}))}catch(t){}}function v(){try{return document.location.href}catch(t){return""}}function _(t){try{for(var e=t,n=[],r=0,o=0,i=" > ".length,a=void 0;e&&r++<5&&!("html"===(a=y(e))||r>1&&o+n.length*i+a.length>=80);)n.push(a),o+=a.length,e=e.parentNode;return n.reverse().join(" > ")}catch(t){return""}}function y(t){var e,n,r,o,a,c=t,s=[];if(!c||!c.tagName)return"";if(s.push(c.tagName.toLowerCase()),c.id&&s.push("#"+c.id),(e=c.className)&&Object(i.k)(e))for(n=e.split(/\s+/),a=0;a"}catch(t){return""}}}).call(this,n("8oxB"),n("yLpj"),n("3UD+")(t))},"9AQC":function(t,e,n){"use strict";function r(t){switch(Object.prototype.toString.call(t)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return v(t,Error)}}function o(t){return"[object ErrorEvent]"===Object.prototype.toString.call(t)}function i(t){return"[object DOMError]"===Object.prototype.toString.call(t)}function a(t){return"[object DOMException]"===Object.prototype.toString.call(t)}function c(t){return"[object String]"===Object.prototype.toString.call(t)}function s(t){return null===t||"object"!=typeof t&&"function"!=typeof t}function u(t){return"[object Object]"===Object.prototype.toString.call(t)}function p(t){return"undefined"!=typeof Event&&v(t,Event)}function l(t){return"undefined"!=typeof Element&&v(t,Element)}function f(t){return"[object RegExp]"===Object.prototype.toString.call(t)}function h(t){return Boolean(t&&t.then&&"function"==typeof t.then)}function d(t){return u(t)&&"nativeEvent"in t&&"preventDefault"in t&&"stopPropagation"in t}function v(t,e){try{return t instanceof e}catch(t){return!1}}n.d(e,"d",(function(){return r})),n.d(e,"e",(function(){return o})),n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return a})),n.d(e,"k",(function(){return c})),n.d(e,"i",(function(){return s})),n.d(e,"h",(function(){return u})),n.d(e,"f",(function(){return p})),n.d(e,"c",(function(){return l})),n.d(e,"j",(function(){return f})),n.d(e,"m",(function(){return h})),n.d(e,"l",(function(){return d})),n.d(e,"g",(function(){return v}))},WSEr:function(t,e,n){"use strict";n.r(e),n.d(e,"Severity",(function(){return a})),n.d(e,"Status",(function(){return c})),n.d(e,"addGlobalEventProcessor",(function(){return v})),n.d(e,"addBreadcrumb",(function(){return N})),n.d(e,"captureException",(function(){return T})),n.d(e,"captureEvent",(function(){return R})),n.d(e,"captureMessage",(function(){return I})),n.d(e,"configureScope",(function(){return D})),n.d(e,"getHubFromCarrier",(function(){return w})),n.d(e,"getCurrentHub",(function(){return E})),n.d(e,"Hub",(function(){return m})),n.d(e,"makeMain",(function(){return j})),n.d(e,"Scope",(function(){return h})),n.d(e,"startTransaction",(function(){return M})),n.d(e,"setContext",(function(){return C})),n.d(e,"setExtra",(function(){return A})),n.d(e,"setExtras",(function(){return U})),n.d(e,"setTag",(function(){return P})),n.d(e,"setTags",(function(){return L})),n.d(e,"setUser",(function(){return F})),n.d(e,"withScope",(function(){return B})),n.d(e,"BrowserClient",(function(){return Vt})),n.d(e,"injectReportDialog",(function(){return It})),n.d(e,"eventFromException",(function(){return ht})),n.d(e,"eventFromMessage",(function(){return dt})),n.d(e,"defaultIntegrations",(function(){return ae})),n.d(e,"forceLoad",(function(){return pe})),n.d(e,"init",(function(){return ce})),n.d(e,"lastEventId",(function(){return ue})),n.d(e,"onLoad",(function(){return le})),n.d(e,"showReportDialog",(function(){return se})),n.d(e,"flush",(function(){return fe})),n.d(e,"close",(function(){return he})),n.d(e,"wrap",(function(){return de})),n.d(e,"SDK_NAME",(function(){return zt})),n.d(e,"SDK_VERSION",(function(){return $t})),n.d(e,"Integrations",(function(){return ye})),n.d(e,"Transports",(function(){return i}));var r={};n.r(r),n.d(r,"FunctionToString",(function(){return Qt})),n.d(r,"InboundFilters",(function(){return Zt}));var o={};n.r(o),n.d(o,"GlobalHandlers",(function(){return ne})),n.d(o,"TryCatch",(function(){return ee})),n.d(o,"Breadcrumbs",(function(){return Jt})),n.d(o,"LinkedErrors",(function(){return re})),n.d(o,"UserAgent",(function(){return ie}));var i={};n.r(i),n.d(i,"BaseTransport",(function(){return mt})),n.d(i,"FetchTransport",(function(){return jt})),n.d(i,"XHRTransport",(function(){return Et}));var a,c,s=n("mrSG");!function(t){t.Fatal="fatal",t.Error="error",t.Warning="warning",t.Log="log",t.Info="info",t.Debug="debug",t.Critical="critical"}(a||(a={})),function(t){t.fromString=function(e){switch(e){case"debug":return t.Debug;case"info":return t.Info;case"warn":case"warning":return t.Warning;case"error":return t.Error;case"fatal":return t.Fatal;case"critical":return t.Critical;case"log":default:return t.Log}}}(a||(a={})),function(t){t.Unknown="unknown",t.Skipped="skipped",t.Success="success",t.RateLimit="rate_limit",t.Invalid="invalid",t.Failed="failed"}(c||(c={})),function(t){t.fromHttpCode=function(e){return e>=200&&e<300?t.Success:429===e?t.RateLimit:e>=400&&e<500?t.Invalid:e>=500?t.Failed:t.Unknown}}(c||(c={}));var u,p=n("9AQC"),l=n("9/Zf");!function(t){t.PENDING="PENDING",t.RESOLVED="RESOLVED",t.REJECTED="REJECTED"}(u||(u={}));var f=function(){function t(t){var e=this;this._state=u.PENDING,this._handlers=[],this._resolve=function(t){e._setResult(u.RESOLVED,t)},this._reject=function(t){e._setResult(u.REJECTED,t)},this._setResult=function(t,n){e._state===u.PENDING&&(Object(p.m)(n)?n.then(e._resolve,e._reject):(e._state=t,e._value=n,e._executeHandlers()))},this._attachHandler=function(t){e._handlers=e._handlers.concat(t),e._executeHandlers()},this._executeHandlers=function(){if(e._state!==u.PENDING){var t=e._handlers.slice();e._handlers=[],t.forEach((function(t){t.done||(e._state===u.RESOLVED&&t.onfulfilled&&t.onfulfilled(e._value),e._state===u.REJECTED&&t.onrejected&&t.onrejected(e._value),t.done=!0)}))}};try{t(this._resolve,this._reject)}catch(t){this._reject(t)}}return t.resolve=function(e){return new t((function(t){t(e)}))},t.reject=function(e){return new t((function(t,n){n(e)}))},t.all=function(e){return new t((function(n,r){if(Array.isArray(e))if(0!==e.length){var o=e.length,i=[];e.forEach((function(e,a){t.resolve(e).then((function(t){i[a]=t,0===(o-=1)&&n(i)})).then(null,r)}))}else n([]);else r(new TypeError("Promise.all requires an array as input."))}))},t.prototype.then=function(e,n){var r=this;return new t((function(t,o){r._attachHandler({done:!1,onfulfilled:function(n){if(e)try{return void t(e(n))}catch(t){return void o(t)}else t(n)},onrejected:function(e){if(n)try{return void t(n(e))}catch(t){return void o(t)}else o(e)}})}))},t.prototype.catch=function(t){return this.then((function(t){return t}),t)},t.prototype.finally=function(e){var n=this;return new t((function(t,r){var o,i;return n.then((function(t){i=!1,o=t,e&&e()}),(function(t){i=!0,o=t,e&&e()})).then((function(){i?r(o):t(o)}))}))},t.prototype.toString=function(){return"[object SyncPromise]"},t}(),h=function(){function t(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._user={},this._tags={},this._extra={},this._contexts={}}return t.clone=function(e){var n=new t;return e&&(n._breadcrumbs=Object(s.e)(e._breadcrumbs),n._tags=Object(s.a)({},e._tags),n._extra=Object(s.a)({},e._extra),n._contexts=Object(s.a)({},e._contexts),n._user=e._user,n._level=e._level,n._span=e._span,n._transactionName=e._transactionName,n._fingerprint=e._fingerprint,n._eventProcessors=Object(s.e)(e._eventProcessors)),n},t.prototype.addScopeListener=function(t){this._scopeListeners.push(t)},t.prototype.addEventProcessor=function(t){return this._eventProcessors.push(t),this},t.prototype.setUser=function(t){return this._user=t||{},this._notifyScopeListeners(),this},t.prototype.setTags=function(t){return this._tags=Object(s.a)(Object(s.a)({},this._tags),t),this._notifyScopeListeners(),this},t.prototype.setTag=function(t,e){var n;return this._tags=Object(s.a)(Object(s.a)({},this._tags),((n={})[t]=e,n)),this._notifyScopeListeners(),this},t.prototype.setExtras=function(t){return this._extra=Object(s.a)(Object(s.a)({},this._extra),t),this._notifyScopeListeners(),this},t.prototype.setExtra=function(t,e){var n;return this._extra=Object(s.a)(Object(s.a)({},this._extra),((n={})[t]=e,n)),this._notifyScopeListeners(),this},t.prototype.setFingerprint=function(t){return this._fingerprint=t,this._notifyScopeListeners(),this},t.prototype.setLevel=function(t){return this._level=t,this._notifyScopeListeners(),this},t.prototype.setTransactionName=function(t){return this._transactionName=t,this._notifyScopeListeners(),this},t.prototype.setTransaction=function(t){return this.setTransactionName(t)},t.prototype.setContext=function(t,e){var n;return this._contexts=Object(s.a)(Object(s.a)({},this._contexts),((n={})[t]=e,n)),this._notifyScopeListeners(),this},t.prototype.setSpan=function(t){return this._span=t,this._notifyScopeListeners(),this},t.prototype.getSpan=function(){return this._span},t.prototype.getTransaction=function(){var t=this.getSpan();if(t&&t.spanRecorder&&t.spanRecorder.spans[0])return t.spanRecorder.spans[0]},t.prototype.update=function(e){if(!e)return this;if("function"==typeof e){var n=e(this);return n instanceof t?n:this}return e instanceof t?(this._tags=Object(s.a)(Object(s.a)({},this._tags),e._tags),this._extra=Object(s.a)(Object(s.a)({},this._extra),e._extra),this._contexts=Object(s.a)(Object(s.a)({},this._contexts),e._contexts),e._user&&(this._user=e._user),e._level&&(this._level=e._level),e._fingerprint&&(this._fingerprint=e._fingerprint)):Object(p.h)(e)&&(e=e,this._tags=Object(s.a)(Object(s.a)({},this._tags),e.tags),this._extra=Object(s.a)(Object(s.a)({},this._extra),e.extra),this._contexts=Object(s.a)(Object(s.a)({},this._contexts),e.contexts),e.user&&(this._user=e.user),e.level&&(this._level=e.level),e.fingerprint&&(this._fingerprint=e.fingerprint)),this},t.prototype.clear=function(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._span=void 0,this._notifyScopeListeners(),this},t.prototype.addBreadcrumb=function(t,e){var n=Object(s.a)({timestamp:Object(l.l)()},t);return this._breadcrumbs=void 0!==e&&e>=0?Object(s.e)(this._breadcrumbs,[n]).slice(-e):Object(s.e)(this._breadcrumbs,[n]),this._notifyScopeListeners(),this},t.prototype.clearBreadcrumbs=function(){return this._breadcrumbs=[],this._notifyScopeListeners(),this},t.prototype.applyToEvent=function(t,e){return this._extra&&Object.keys(this._extra).length&&(t.extra=Object(s.a)(Object(s.a)({},this._extra),t.extra)),this._tags&&Object.keys(this._tags).length&&(t.tags=Object(s.a)(Object(s.a)({},this._tags),t.tags)),this._user&&Object.keys(this._user).length&&(t.user=Object(s.a)(Object(s.a)({},this._user),t.user)),this._contexts&&Object.keys(this._contexts).length&&(t.contexts=Object(s.a)(Object(s.a)({},this._contexts),t.contexts)),this._level&&(t.level=this._level),this._transactionName&&(t.transaction=this._transactionName),this._span&&(t.contexts=Object(s.a)({trace:this._span.getTraceContext()},t.contexts)),this._applyFingerprint(t),t.breadcrumbs=Object(s.e)(t.breadcrumbs||[],this._breadcrumbs),t.breadcrumbs=t.breadcrumbs.length>0?t.breadcrumbs:void 0,this._notifyEventProcessors(Object(s.e)(d(),this._eventProcessors),t,e)},t.prototype._notifyEventProcessors=function(t,e,n,r){var o=this;return void 0===r&&(r=0),new f((function(i,a){var c=t[r];if(null===e||"function"!=typeof c)i(e);else{var u=c(Object(s.a)({},e),n);Object(p.m)(u)?u.then((function(e){return o._notifyEventProcessors(t,e,n,r+1).then(i)})).then(null,a):o._notifyEventProcessors(t,u,n,r+1).then(i).then(null,a)}}))},t.prototype._notifyScopeListeners=function(){var t=this;this._notifyingListeners||(this._notifyingListeners=!0,setTimeout((function(){t._scopeListeners.forEach((function(e){e(t)})),t._notifyingListeners=!1})))},t.prototype._applyFingerprint=function(t){t.fingerprint=t.fingerprint?Array.isArray(t.fingerprint)?t.fingerprint:[t.fingerprint]:[],this._fingerprint&&(t.fingerprint=t.fingerprint.concat(this._fingerprint)),t.fingerprint&&!t.fingerprint.length&&delete t.fingerprint},t}();function d(){var t=Object(l.f)();return t.__SENTRY__=t.__SENTRY__||{},t.__SENTRY__.globalEventProcessors=t.__SENTRY__.globalEventProcessors||[],t.__SENTRY__.globalEventProcessors}function v(t){d().push(t)}var _=Object(l.f)(),y="Sentry Logger ",b=function(){function t(){this._enabled=!1}return t.prototype.disable=function(){this._enabled=!1},t.prototype.enable=function(){this._enabled=!0},t.prototype.log=function(){for(var t=[],e=0;e0?t[t.length-1].scope:void 0,n=h.clone(e);return this.getStack().push({client:this.getClient(),scope:n}),n},t.prototype.popScope=function(){return void 0!==this.getStack().pop()},t.prototype.withScope=function(t){var e=this.pushScope();try{t(e)}finally{this.popScope()}},t.prototype.getClient=function(){return this.getStackTop().client},t.prototype.getScope=function(){return this.getStackTop().scope},t.prototype.getStack=function(){return this._stack},t.prototype.getStackTop=function(){return this._stack[this._stack.length-1]},t.prototype.captureException=function(t,e){var n=this._lastEventId=Object(l.m)(),r=e;if(!e){var o=void 0;try{throw new Error("Sentry syntheticException")}catch(t){o=t}r={originalException:t,syntheticException:o}}return this._invokeClient("captureException",t,Object(s.a)(Object(s.a)({},r),{event_id:n})),n},t.prototype.captureMessage=function(t,e,n){var r=this._lastEventId=Object(l.m)(),o=n;if(!n){var i=void 0;try{throw new Error(t)}catch(t){i=t}o={originalException:t,syntheticException:i}}return this._invokeClient("captureMessage",t,e,Object(s.a)(Object(s.a)({},o),{event_id:r})),r},t.prototype.captureEvent=function(t,e){var n=this._lastEventId=Object(l.m)();return this._invokeClient("captureEvent",t,Object(s.a)(Object(s.a)({},e),{event_id:n})),n},t.prototype.lastEventId=function(){return this._lastEventId},t.prototype.addBreadcrumb=function(t,e){var n=this.getStackTop();if(n.scope&&n.client){var r=n.client.getOptions&&n.client.getOptions()||{},o=r.beforeBreadcrumb,i=void 0===o?null:o,a=r.maxBreadcrumbs,c=void 0===a?100:a;if(!(c<=0)){var u=Object(l.l)(),p=Object(s.a)({timestamp:u},t),f=i?Object(l.c)((function(){return i(p,e)})):p;null!==f&&n.scope.addBreadcrumb(f,Math.min(c,100))}}},t.prototype.setUser=function(t){var e=this.getStackTop();e.scope&&e.scope.setUser(t)},t.prototype.setTags=function(t){var e=this.getStackTop();e.scope&&e.scope.setTags(t)},t.prototype.setExtras=function(t){var e=this.getStackTop();e.scope&&e.scope.setExtras(t)},t.prototype.setTag=function(t,e){var n=this.getStackTop();n.scope&&n.scope.setTag(t,e)},t.prototype.setExtra=function(t,e){var n=this.getStackTop();n.scope&&n.scope.setExtra(t,e)},t.prototype.setContext=function(t,e){var n=this.getStackTop();n.scope&&n.scope.setContext(t,e)},t.prototype.configureScope=function(t){var e=this.getStackTop();e.scope&&e.client&&t(e.scope)},t.prototype.run=function(t){var e=j(this);try{t(this)}finally{j(e)}},t.prototype.getIntegration=function(t){var e=this.getClient();if(!e)return null;try{return e.getIntegration(t)}catch(e){return g.warn("Cannot retrieve integration "+t.id+" from the current Hub"),null}},t.prototype.startSpan=function(t){return this._callExtensionMethod("startSpan",t)},t.prototype.startTransaction=function(t){return this._callExtensionMethod("startTransaction",t)},t.prototype.traceHeaders=function(){return this._callExtensionMethod("traceHeaders")},t.prototype._invokeClient=function(t){for(var e,n=[],r=1;r1&&(l=h.slice(0,-1).join("/"),f=h.pop()),f){var d=f.match(/^\d+/);d&&(f=d[0])}this._fromComponents({host:c,pass:a,path:l,projectId:f,port:p,protocol:r,user:o})},t.prototype._fromComponents=function(t){this.protocol=t.protocol,this.user=t.user,this.pass=t.pass||"",this.host=t.host,this.port=t.port||"",this.path=t.path||"",this.projectId=t.projectId},t.prototype._validate=function(){var t=this;if(["protocol","user","host","projectId"].forEach((function(e){if(!t[e])throw new q("Invalid Dsn: "+e+" missing")})),!this.projectId.match(/^\d+$/))throw new q("Invalid Dsn: Invalid projectId "+this.projectId);if("http"!==this.protocol&&"https"!==this.protocol)throw new q("Invalid Dsn: Invalid protocol "+this.protocol);if(this.port&&isNaN(parseInt(this.port,10)))throw new q("Invalid Dsn: Invalid port "+this.port)},t}(),G=n("6PXS"),X=n("+924"),J=[];function z(t){var e={};return function(t){var e=t.defaultIntegrations&&Object(s.e)(t.defaultIntegrations)||[],n=t.integrations,r=[];if(Array.isArray(n)){var o=n.map((function(t){return t.name})),i=[];e.forEach((function(t){-1===o.indexOf(t.name)&&-1===i.indexOf(t.name)&&(r.push(t),i.push(t.name))})),n.forEach((function(t){-1===i.indexOf(t.name)&&(r.push(t),i.push(t.name))}))}else"function"==typeof n?(r=n(e),r=Array.isArray(r)?r:[r]):r=Object(s.e)(e);var a=r.map((function(t){return t.name}));return-1!==a.indexOf("Debug")&&r.push.apply(r,Object(s.e)(r.splice(a.indexOf("Debug"),1))),r}(t).forEach((function(t){e[t.name]=t,function(t){-1===J.indexOf(t.name)&&(t.setupOnce(v,E),J.push(t.name),g.log("Integration installed: "+t.name))}(t)})),e}var $=function(){function t(t,e){this._integrations={},this._processing=!1,this._backend=new t(e),this._options=e,e.dsn&&(this._dsn=new Y(e.dsn))}return t.prototype.captureException=function(t,e,n){var r=this,o=e&&e.event_id;return this._processing=!0,this._getBackend().eventFromException(t,e).then((function(t){o=r.captureEvent(t,e,n)})),o},t.prototype.captureMessage=function(t,e,n,r){var o=this,i=n&&n.event_id;return this._processing=!0,(Object(p.i)(t)?this._getBackend().eventFromMessage(""+t,e,n):this._getBackend().eventFromException(t,n)).then((function(t){i=o.captureEvent(t,n,r)})),i},t.prototype.captureEvent=function(t,e,n){var r=this,o=e&&e.event_id;return this._processing=!0,this._processEvent(t,e,n).then((function(t){o=t&&t.event_id,r._processing=!1})).then(null,(function(t){g.error(t),r._processing=!1})),o},t.prototype.getDsn=function(){return this._dsn},t.prototype.getOptions=function(){return this._options},t.prototype.flush=function(t){var e=this;return this._isClientProcessing(t).then((function(n){return clearInterval(n.interval),e._getBackend().getTransport().close(t).then((function(t){return n.ready&&t}))}))},t.prototype.close=function(t){var e=this;return this.flush(t).then((function(t){return e.getOptions().enabled=!1,t}))},t.prototype.setupIntegrations=function(){this._isEnabled()&&(this._integrations=z(this._options))},t.prototype.getIntegration=function(t){try{return this._integrations[t.id]||null}catch(e){return g.warn("Cannot retrieve integration "+t.id+" from the current Client"),null}},t.prototype._isClientProcessing=function(t){var e=this;return new f((function(n){var r=0,o=0;clearInterval(o),o=setInterval((function(){e._processing?(r+=1,t&&r>=t&&n({interval:o,ready:!1})):n({interval:o,ready:!0})}),1)}))},t.prototype._getBackend=function(){return this._backend},t.prototype._isEnabled=function(){return!1!==this.getOptions().enabled&&void 0!==this._dsn},t.prototype._prepareEvent=function(t,e,n){var r=this,o=this.getOptions().normalizeDepth,i=void 0===o?3:o,a=Object(s.a)(Object(s.a)({},t),{event_id:t.event_id||(n&&n.event_id?n.event_id:Object(l.m)()),timestamp:t.timestamp||Object(l.l)()});this._applyClientOptions(a),this._applyIntegrationsMetadata(a);var c=e;n&&n.captureContext&&(c=h.clone(c).update(n.captureContext));var u=f.resolve(a);return c&&(u=c.applyToEvent(a,n)),u.then((function(t){return"number"==typeof i&&i>0?r._normalizeEvent(t,i):t}))},t.prototype._normalizeEvent=function(t,e){if(!t)return null;var n=Object(s.a)(Object(s.a)(Object(s.a)(Object(s.a)(Object(s.a)({},t),t.breadcrumbs&&{breadcrumbs:t.breadcrumbs.map((function(t){return Object(s.a)(Object(s.a)({},t),t.data&&{data:Object(G.c)(t.data,e)})}))}),t.user&&{user:Object(G.c)(t.user,e)}),t.contexts&&{contexts:Object(G.c)(t.contexts,e)}),t.extra&&{extra:Object(G.c)(t.extra,e)});return t.contexts&&t.contexts.trace&&(n.contexts.trace=t.contexts.trace),n},t.prototype._applyClientOptions=function(t){var e=this.getOptions(),n=e.environment,r=e.release,o=e.dist,i=e.maxValueLength,a=void 0===i?250:i;void 0===t.environment&&void 0!==n&&(t.environment=n),void 0===t.release&&void 0!==r&&(t.release=r),void 0===t.dist&&void 0!==o&&(t.dist=o),t.message&&(t.message=Object(X.d)(t.message,a));var c=t.exception&&t.exception.values&&t.exception.values[0];c&&c.value&&(c.value=Object(X.d)(c.value,a));var s=t.request;s&&s.url&&(s.url=Object(X.d)(s.url,a))},t.prototype._applyIntegrationsMetadata=function(t){var e=t.sdk,n=Object.keys(this._integrations);e&&n.length>0&&(e.integrations=n)},t.prototype._sendEvent=function(t){this._getBackend().sendEvent(t)},t.prototype._processEvent=function(t,e,n){var r=this,o=this.getOptions(),i=o.beforeSend,a=o.sampleRate;if(!this._isEnabled())return f.reject("SDK not enabled, will not send event.");var c="transaction"===t.type;return!c&&"number"==typeof a&&Math.random()>a?f.reject("This event has been sampled, will not send event."):new f((function(o,a){r._prepareEvent(t,n,e).then((function(t){if(null!==t){var n=t;if(e&&e.data&&!0===e.data.__sentry__||!i||c)return r._sendEvent(n),void o(n);var s=i(t,e);if(void 0===s)g.error("`beforeSend` method has to return `null` or a valid event.");else if(Object(p.m)(s))r._handleAsyncBeforeSend(s,o,a);else{if(null===(n=s))return g.log("`beforeSend` returned `null`, will not send event."),void o(null);r._sendEvent(n),o(n)}}else a("An event processor returned null, will not send event.")})).then(null,(function(t){r.captureException(t,{data:{__sentry__:!0},originalException:t}),a("Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: "+t)}))}))},t.prototype._handleAsyncBeforeSend=function(t,e,n){var r=this;t.then((function(t){null!==t?(r._sendEvent(t),e(t)):n("`beforeSend` returned `null`, will not send event.")})).then(null,(function(t){n("beforeSend rejected with "+t)}))},t}(),V=function(){function t(){}return t.prototype.sendEvent=function(t){return f.resolve({reason:"NoopTransport: Event has been skipped because no Dsn is configured.",status:c.Skipped})},t.prototype.close=function(t){return f.resolve(!0)},t}(),Q=function(){function t(t){this._options=t,this._options.dsn||g.warn("No DSN provided, backend will not do anything."),this._transport=this._setupTransport()}return t.prototype.eventFromException=function(t,e){throw new q("Backend has to implement `eventFromException` method")},t.prototype.eventFromMessage=function(t,e,n){throw new q("Backend has to implement `eventFromMessage` method")},t.prototype.sendEvent=function(t){this._transport.sendEvent(t).then(null,(function(t){g.error("Error while sending event: "+t)}))},t.prototype.getTransport=function(){return this._transport},t.prototype._setupTransport=function(){return new V},t}();function K(){if(!("fetch"in Object(l.f)()))return!1;try{return new Headers,new Request(""),new Response,!0}catch(t){return!1}}function Z(t){return t&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(t.toString())}function tt(){if(!K())return!1;try{return new Request("_",{referrerPolicy:"origin"}),!0}catch(t){return!1}}var et=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,nt=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i,rt=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,ot=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,it=/\((\S*)(?::(\d+))(?::(\d+))\)/,at=/Minified React error #\d+;/i;function ct(t){var e=null,n=0;t&&("number"==typeof t.framesToPop?n=t.framesToPop:at.test(t.message)&&(n=1));try{if(e=function(t){if(!t||!t.stacktrace)return null;for(var e,n=t.stacktrace,r=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,o=/ line (\d+), column (\d+)\s*(?:in (?:]+)>|([^)]+))\((.*)\))? in (.*):\s*$/i,i=n.split("\n"),a=[],c=0;c eval")>-1&&(e=ot.exec(n[3]))?(n[1]=n[1]||"eval",n[3]=e[1],n[4]=e[2],n[5]=""):0!==a||n[5]||void 0===t.columnNumber||(o[0].column=t.columnNumber+1),r={url:n[3],func:n[1]||"?",args:n[2]?n[2].split(","):[],line:n[4]?+n[4]:null,column:n[5]?+n[5]:null}}!r.func&&r.line&&(r.func="?"),o.push(r)}if(!o.length)return null;return{message:ut(t),name:t.name,stack:o}}(t))return st(e,n)}catch(t){}return{message:ut(t),name:t&&t.name,stack:[],failed:!0}}function st(t,e){try{return Object(s.a)(Object(s.a)({},t),{stack:t.stack.slice(e)})}catch(e){return t}}function ut(t){var e=t&&t.message;return e?e.error&&"string"==typeof e.error.message?e.error.message:e:"No error message"}function pt(t){var e=ft(t.stack),n={type:t.name,value:t.message};return e&&e.length&&(n.stacktrace={frames:e}),void 0===n.type&&""===n.value&&(n.value="Unrecoverable error caught"),n}function lt(t){return{exception:{values:[pt(t)]}}}function ft(t){if(!t||!t.length)return[];var e=t,n=e[0].func||"",r=e[e.length-1].func||"";return-1===n.indexOf("captureMessage")&&-1===n.indexOf("captureException")||(e=e.slice(1)),-1!==r.indexOf("sentryWrapped")&&(e=e.slice(0,-1)),e.slice(0,50).map((function(t){return{colno:null===t.column?void 0:t.column,filename:t.url||e[0].url,function:t.func||"?",in_app:!0,lineno:null===t.line?void 0:t.line}})).reverse()}function ht(t,e,n){var r=vt(e,n&&n.syntheticException||void 0,{attachStacktrace:t.attachStacktrace});return Object(l.a)(r,{handled:!0,type:"generic"}),r.level=a.Error,n&&n.event_id&&(r.event_id=n.event_id),f.resolve(r)}function dt(t,e,n,r){void 0===n&&(n=a.Info);var o=_t(e,r&&r.syntheticException||void 0,{attachStacktrace:t.attachStacktrace});return o.level=n,r&&r.event_id&&(o.event_id=r.event_id),f.resolve(o)}function vt(t,e,n){var r;if(void 0===n&&(n={}),Object(p.e)(t)&&t.error)return r=lt(ct(t=t.error));if(Object(p.a)(t)||Object(p.b)(t)){var o=t,i=o.name||(Object(p.a)(o)?"DOMError":"DOMException"),a=o.message?i+": "+o.message:i;return r=_t(a,e,n),Object(l.b)(r,a),r}return Object(p.d)(t)?r=lt(ct(t)):Object(p.h)(t)||Object(p.f)(t)?(r=function(t,e,n){var r={exception:{values:[{type:Object(p.f)(t)?t.constructor.name:n?"UnhandledRejection":"Error",value:"Non-Error "+(n?"promise rejection":"exception")+" captured with keys: "+Object(G.a)(t)}]},extra:{__serialized__:Object(G.d)(t)}};if(e){var o=ft(ct(e).stack);r.stacktrace={frames:o}}return r}(t,e,n.rejection),Object(l.a)(r,{synthetic:!0}),r):(r=_t(t,e,n),Object(l.b)(r,""+t,void 0),Object(l.a)(r,{synthetic:!0}),r)}function _t(t,e,n){void 0===n&&(n={});var r={message:t};if(n.attachStacktrace&&e){var o=ft(ct(e).stack);r.stacktrace={frames:o}}return r}function yt(t,e){var n="transaction"===t.type,r={body:JSON.stringify(t),url:n?e.getEnvelopeEndpointWithUrlEncodedAuth():e.getStoreEndpointWithUrlEncodedAuth()};if(n){var o=JSON.stringify({event_id:t.event_id,sent_at:new Date(1e3*Object(l.l)()).toISOString()})+"\n"+JSON.stringify({type:t.type})+"\n"+r.body;r.body=o}return r}var bt=function(){function t(t){this.dsn=t,this._dsnObject=new Y(t)}return t.prototype.getDsn=function(){return this._dsnObject},t.prototype.getBaseApiEndpoint=function(){var t=this._dsnObject,e=t.protocol?t.protocol+":":"",n=t.port?":"+t.port:"";return e+"//"+t.host+n+(t.path?"/"+t.path:"")+"/api/"},t.prototype.getStoreEndpoint=function(){return this._getIngestEndpoint("store")},t.prototype.getStoreEndpointWithUrlEncodedAuth=function(){return this.getStoreEndpoint()+"?"+this._encodedAuth()},t.prototype.getEnvelopeEndpointWithUrlEncodedAuth=function(){return this._getEnvelopeEndpoint()+"?"+this._encodedAuth()},t.prototype.getStoreEndpointPath=function(){var t=this._dsnObject;return(t.path?"/"+t.path:"")+"/api/"+t.projectId+"/store/"},t.prototype.getRequestHeaders=function(t,e){var n=this._dsnObject,r=["Sentry sentry_version=7"];return r.push("sentry_client="+t+"/"+e),r.push("sentry_key="+n.user),n.pass&&r.push("sentry_secret="+n.pass),{"Content-Type":"application/json","X-Sentry-Auth":r.join(", ")}},t.prototype.getReportDialogEndpoint=function(t){void 0===t&&(t={});var e=this._dsnObject,n=this.getBaseApiEndpoint()+"embed/error-page/",r=[];for(var o in r.push("dsn="+e.toString()),t)if("user"===o){if(!t.user)continue;t.user.name&&r.push("name="+encodeURIComponent(t.user.name)),t.user.email&&r.push("email="+encodeURIComponent(t.user.email))}else r.push(encodeURIComponent(o)+"="+encodeURIComponent(t[o]));return r.length?n+"?"+r.join("&"):n},t.prototype._getEnvelopeEndpoint=function(){return this._getIngestEndpoint("envelope")},t.prototype._getIngestEndpoint=function(t){return""+this.getBaseApiEndpoint()+this._dsnObject.projectId+"/"+t+"/"},t.prototype._encodedAuth=function(){var t={sentry_key:this._dsnObject.user,sentry_version:"7"};return Object(G.e)(t)},t}(),gt=function(){function t(t){this._limit=t,this._buffer=[]}return t.prototype.isReady=function(){return void 0===this._limit||this.length()0&&n(!1)}),t);f.all(e._buffer).then((function(){clearTimeout(r),n(!0)})).then(null,(function(){n(!0)}))}))},t}(),mt=function(){function t(t){this.options=t,this._buffer=new gt(30),this._api=new bt(this.options.dsn),this.url=this._api.getStoreEndpointWithUrlEncodedAuth()}return t.prototype.sendEvent=function(t){throw new q("Transport Class has to implement `sendEvent` method")},t.prototype.close=function(t){return this._buffer.drain(t)},t}(),Ot=Object(l.f)(),jt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._disabledUntil=new Date(Date.now()),e}return Object(s.b)(e,t),e.prototype.sendEvent=function(t){var e=this;if(new Date(Date.now())0}function kt(){wt+=1,setTimeout((function(){wt-=1}))}function Tt(t,e,n){if(void 0===e&&(e={}),"function"!=typeof t)return t;try{if(t.__sentry__)return t;if(t.__sentry_wrapped__)return t.__sentry_wrapped__}catch(e){return t}var r=function(){var r=Array.prototype.slice.call(arguments);try{n&&"function"==typeof n&&n.apply(this,arguments);var o=r.map((function(t){return Tt(t,e)}));return t.handleEvent?t.handleEvent.apply(this,o):t.apply(this,o)}catch(t){throw kt(),B((function(n){n.addEventProcessor((function(t){var n=Object(s.a)({},t);return e.mechanism&&(Object(l.b)(n,void 0,void 0),Object(l.a)(n,e.mechanism)),n.extra=Object(s.a)(Object(s.a)({},n.extra),{arguments:r}),n})),T(t)})),t}};try{for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(r[o]=t[o])}catch(t){}t.prototype=t.prototype||{},r.prototype=t.prototype,Object.defineProperty(t,"__sentry_wrapped__",{enumerable:!1,value:r}),Object.defineProperties(r,{__sentry__:{enumerable:!1,value:!0},__sentry_original__:{enumerable:!1,value:t}});try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get:function(){return t.name}})}catch(t){}return r}function It(t){if(void 0===t&&(t={}),t.eventId)if(t.dsn){var e=document.createElement("script");e.async=!0,e.src=new bt(t.dsn).getReportDialogEndpoint(t),t.onLoad&&(e.onload=t.onLoad),(document.head||document.body).appendChild(e)}else g.error("Missing dsn option in showReportDialog call");else g.error("Missing eventId option in showReportDialog call")}var Rt,Dt=Object(l.f)(),Nt={},Ct={};function Ut(t){if(!Ct[t])switch(Ct[t]=!0,t){case"console":!function(){if(!("console"in Dt))return;["debug","info","warn","error","log","assert"].forEach((function(t){t in Dt.console&&Object(G.b)(Dt.console,t,(function(e){return function(){for(var n=[],r=0;r2?e[2]:void 0;if(r){var o=Rt,i=String(r);Rt=i,At("history",{from:o,to:i})}return t.apply(this,e)}}Dt.onpopstate=function(){for(var t=[],e=0;e"}0!==e.length&&E().addBreadcrumb({category:"ui."+t.name,message:e},{event:t.event,name:t.name})},t.prototype._xhrBreadcrumb=function(t){if(t.endTimestamp){if(t.xhr.__sentry_own_request__)return;E().addBreadcrumb({category:"xhr",data:t.xhr.__sentry_xhr__,type:"http"},{xhr:t.xhr})}else;},t.prototype._fetchBreadcrumb=function(t){t.endTimestamp&&(t.fetchData.url.match(/sentry_key/)&&"POST"===t.fetchData.method||(t.error?E().addBreadcrumb({category:"fetch",data:t.fetchData,level:a.Error,type:"http"},{data:t.error,input:t.args}):E().addBreadcrumb({category:"fetch",data:Object(s.a)(Object(s.a)({},t.fetchData),{status_code:t.response.status}),type:"http"},{input:t.args,response:t.response})))},t.prototype._historyBreadcrumb=function(t){var e=Object(l.f)(),n=t.from,r=t.to,o=Object(l.k)(e.location.href),i=Object(l.k)(n),a=Object(l.k)(r);i.path||(i=o),o.protocol===a.protocol&&o.host===a.host&&(r=a.relative),o.protocol===i.protocol&&o.host===i.host&&(n=i.relative),E().addBreadcrumb({category:"navigation",data:{from:n,to:r}})},t.id="Breadcrumbs",t}(),zt="sentry.javascript.browser",$t="5.22.3",Vt=function(t){function e(e){return void 0===e&&(e={}),t.call(this,xt,e)||this}return Object(s.b)(e,t),e.prototype.showReportDialog=function(t){void 0===t&&(t={}),Object(l.f)().document&&(this._isEnabled()?It(Object(s.a)(Object(s.a)({},t),{dsn:t.dsn||this.getDsn()})):g.error("Trying to call showReportDialog with Sentry Client disabled"))},e.prototype._prepareEvent=function(e,n,r){return e.platform=e.platform||"javascript",e.sdk=Object(s.a)(Object(s.a)({},e.sdk),{name:zt,packages:Object(s.e)(e.sdk&&e.sdk.packages||[],[{name:"npm:@sentry/browser",version:$t}]),version:$t}),t.prototype._prepareEvent.call(this,e,n,r)},e.prototype._sendEvent=function(e){var n=this.getIntegration(Jt);n&&n.addSentryBreadcrumb(e),t.prototype._sendEvent.call(this,e)},e}($),Qt=function(){function t(){this.name=t.id}return t.prototype.setupOnce=function(){Xt=Function.prototype.toString,Function.prototype.toString=function(){for(var t=[],e=0;e0?e:Object(l.g)();return 0===t.exception.values[0].stacktrace.frames.length&&t.exception.values[0].stacktrace.frames.push({colno:o,filename:a,function:"?",in_app:!0,lineno:i}),t},t.id="GlobalHandlers",t}(),re=function(){function t(e){void 0===e&&(e={}),this.name=t.id,this._key=e.key||"cause",this._limit=e.limit||5}return t.prototype.setupOnce=function(){v((function(e,n){var r=E().getIntegration(t);return r?r._handler(e,n):e}))},t.prototype._handler=function(t,e){if(!(t.exception&&t.exception.values&&e&&Object(p.g)(e.originalException,Error)))return t;var n=this._walkErrorTree(e.originalException,this._key);return t.exception.values=Object(s.e)(n,t.exception.values),t},t.prototype._walkErrorTree=function(t,e,n){if(void 0===n&&(n=[]),!Object(p.g)(t[e],Error)||n.length+1>=this._limit)return n;var r=pt(ct(t[e]));return this._walkErrorTree(t[e],e,Object(s.e)([r],n))},t.id="LinkedErrors",t}(),oe=Object(l.f)(),ie=function(){function t(){this.name=t.id}return t.prototype.setupOnce=function(){v((function(e){if(E().getIntegration(t)){if(!oe.navigator||!oe.location)return e;var n=e.request||{};return n.url=n.url||oe.location.href,n.headers=n.headers||{},n.headers["User-Agent"]=oe.navigator.userAgent,Object(s.a)(Object(s.a)({},e),{request:n})}return e}))},t.id="UserAgent",t}(),ae=[new r.InboundFilters,new r.FunctionToString,new ee,new Jt,new ne,new re,new ie];function ce(t){if(void 0===t&&(t={}),void 0===t.defaultIntegrations&&(t.defaultIntegrations=ae),void 0===t.release){var e=Object(l.f)();e.SENTRY_RELEASE&&e.SENTRY_RELEASE.id&&(t.release=e.SENTRY_RELEASE.id)}!function(t,e){!0===e.debug&&g.enable();var n=E(),r=new t(e);n.bindClient(r)}(Vt,t)}function se(t){void 0===t&&(t={}),t.eventId||(t.eventId=E().lastEventId());var e=E().getClient();e&&e.showReportDialog(t)}function ue(){return E().lastEventId()}function pe(){}function le(t){t()}function fe(t){var e=E().getClient();return e?e.flush(t):f.reject(!1)}function he(t){var e=E().getClient();return e?e.close(t):f.reject(!1)}function de(t){return Tt(t)()}var ve={},_e=Object(l.f)();_e.Sentry&&_e.Sentry.Integrations&&(ve=_e.Sentry.Integrations);var ye=Object(s.a)(Object(s.a)(Object(s.a)({},ve),r),o)},wCA9:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var r=function(){function t(){this._hasWeakSet="function"==typeof WeakSet,this._inner=this._hasWeakSet?new WeakSet:[]}return t.prototype.memoize=function(t){if(this._hasWeakSet)return!!this._inner.has(t)||(this._inner.add(t),!1);for(var e=0;e1?e-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:r,n=null,i=null;return function(){return o(e,n,arguments)||(i=t.apply(null,arguments)),n=arguments,i}}));var s=function(t){return t.logs.logs},u=function(t){return t.logs.tail},c=function(t){return t.logs.searchText},l=a(s,u,c,(function(t,e,n){for(var r=[],o=e;o>=0;o--)r.push(t[o]);if(300===t.length)for(var i=299;i>e;i--)r.push(t[i]);return""===n?r:r.filter((function(t){return t.payload.toLowerCase().indexOf(n)>=0}))}));function f(t){return function(e){e("logsUpdateSearchText",(function(e){e.logs.searchText=t.toLowerCase()}))}}function p(t){return function(e,n){var r=n(),o=s(r),i=u(r),a=i>=299?0:i+1;o[a]=t,e("logsAppendLog",(function(t){t.logs.tail=a}))}}var d={searchText:"",logs:[],tail:-1}},"+wdc":function(t,e,n){"use strict";var r,o,i,a,s;if(Object.defineProperty(e,"__esModule",{value:!0}),"undefined"==typeof window||"function"!=typeof MessageChannel){var u=null,c=null,l=function(){if(null!==u)try{var t=e.unstable_now();u(!0,t),u=null}catch(t){throw setTimeout(l,0),t}},f=Date.now();e.unstable_now=function(){return Date.now()-f},r=function(t){null!==u?setTimeout(r,0,t):(u=t,setTimeout(l,0))},o=function(t,e){c=setTimeout(t,e)},i=function(){clearTimeout(c)},a=function(){return!1},s=e.unstable_forceFrameRate=function(){}}else{var p=window.performance,d=window.Date,h=window.setTimeout,v=window.clearTimeout;if("undefined"!=typeof console){var m=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof p&&"function"==typeof p.now)e.unstable_now=function(){return p.now()};else{var y=d.now();e.unstable_now=function(){return d.now()-y}}var g=!1,b=null,w=-1,O=5,x=0;a=function(){return e.unstable_now()>=x},s=function(){},e.unstable_forceFrameRate=function(t){0>t||125>>1,o=t[r];if(!(void 0!==o&&0k(a,n))void 0!==u&&0>k(u,a)?(t[r]=u,t[s]=n,r=s):(t[r]=a,t[i]=n,r=i);else{if(!(void 0!==u&&0>k(u,n)))break t;t[r]=u,t[s]=n,r=s}}}return e}return null}function k(t,e){var n=t.sortIndex-e.sortIndex;return 0!==n?n:t.id-e.id}var T=[],A=[],R=1,M=null,L=3,D=!1,_=!1,N=!1;function F(t){for(var e=C(A);null!==e;){if(null===e.callback)P(A);else{if(!(e.startTime<=t))break;P(A),e.sortIndex=e.expirationTime,j(T,e)}e=C(A)}}function V(t){if(N=!1,F(t),!_)if(null!==C(T))_=!0,r(B);else{var e=C(A);null!==e&&o(V,e.startTime-t)}}function B(t,n){_=!1,N&&(N=!1,i()),D=!0;var r=L;try{for(F(n),M=C(T);null!==M&&(!(M.expirationTime>n)||t&&!a());){var s=M.callback;if(null!==s){M.callback=null,L=M.priorityLevel;var u=s(M.expirationTime<=n);n=e.unstable_now(),"function"==typeof u?M.callback=u:M===C(T)&&P(T),F(n)}else P(T);M=C(T)}if(null!==M)var c=!0;else{var l=C(A);null!==l&&o(V,l.startTime-n),c=!1}return c}finally{M=null,L=r,D=!1}}function I(t){switch(t){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var U=s;e.unstable_ImmediatePriority=1,e.unstable_UserBlockingPriority=2,e.unstable_NormalPriority=3,e.unstable_IdlePriority=5,e.unstable_LowPriority=4,e.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var n=L;L=t;try{return e()}finally{L=n}},e.unstable_next=function(t){switch(L){case 1:case 2:case 3:var e=3;break;default:e=L}var n=L;L=e;try{return t()}finally{L=n}},e.unstable_scheduleCallback=function(t,n,a){var s=e.unstable_now();if("object"==typeof a&&null!==a){var u=a.delay;u="number"==typeof u&&0s?(t.sortIndex=u,j(A,t),null===C(T)&&t===C(A)&&(N?i():N=!0,o(V,u-s))):(t.sortIndex=a,j(T,t),_||D||(_=!0,r(B))),t},e.unstable_cancelCallback=function(t){t.callback=null},e.unstable_wrapCallback=function(t){var e=L;return function(){var n=L;L=e;try{return t.apply(this,arguments)}finally{L=n}}},e.unstable_getCurrentPriorityLevel=function(){return L},e.unstable_shouldYield=function(){var t=e.unstable_now();F(t);var n=C(T);return n!==M&&null!==M&&null!==n&&null!==n.callback&&n.startTime<=t&&n.expirationTime=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var $=Object(r.forwardRef)((function(t,e){var n=t.color,r=void 0===n?"currentColor":n,i=t.size,a=void 0===i?24:i,s=Q(t,["color","size"]);return o.a.createElement("svg",G({ref:e,xmlns:"http://www.w3.org/2000/svg",width:a,height:a,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},s),o.a.createElement("path",{d:"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"}))}));$.propTypes={color:w.a.string,size:w.a.oneOfType([w.a.string,w.a.number])},$.displayName="GitHub";var K=$,X=n("Qv+K"),Y=n("o0o1"),Z=n.n(Y),J=(n("ls82"),n("HaE+")),tt=n("EJpJ");function et(t,e){return nt.apply(this,arguments)}function nt(){return(nt=Object(J.a)(Z.a.mark((function t(e,n){var r,o,i,a,s;return Z.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r={},t.prev=1,o=Object(tt.a)(n),i=o.url,a=o.init,t.next=5,fetch(i+e,a);case 5:if(!(s=t.sent).ok){t.next=10;break}return t.next=9,s.json();case 9:r=t.sent;case 10:t.next=15;break;case 12:t.prev=12,t.t0=t.catch(1),console.log("failed to fetch "+e,t.t0);case 15:return t.abrupt("return",r);case 16:case"end":return t.stop()}}),t,null,[[1,12]])})))).apply(this,arguments)}var rt=n("DKqX"),ot=n("WfPo"),it=n("OADI"),at=n("zZH+"),st=n.n(at);function ut(t){var e=t.name,n=t.link,o=t.version;return r.createElement("div",{className:st.a.root},r.createElement("h2",null,e),r.createElement("p",null,r.createElement("span",null,"Version "),r.createElement("span",{className:st.a.mono},o)),r.createElement("p",null,r.createElement("a",{className:st.a.link,href:n,target:"_blank",rel:"noopener noreferrer"},r.createElement(K,{size:20}),r.createElement("span",null,"Source"))))}var ct=Object(ot.a)((function(t){return{apiConfig:Object(it.c)(t)}}))((function(t){var e=Object(X.c)(["/version",t.apiConfig],et,{suspense:!0}).data;return r.createElement(r.Fragment,null,r.createElement(rt.a,{title:"About"}),e&&e.version?r.createElement(ut,{name:"Clash",version:e.version,link:"https://github.com/Dreamacro/clash"}):null,r.createElement(ut,{name:"Yacd",version:"0.2.5",link:"https://github.com/haishanh/yacd"}))})),lt=n("vJea"),ft=n("+FPD"),pt=n("LNGp"),dt=n("GmYy"),ht={app:Object(it.j)(),modals:pt.b,configs:lt.d,proxies:dt.j,logs:ft.d},vt={selectChartStyleIndex:it.k,updateAppConfig:it.m,app:{updateCollapsibleIsOpen:it.o,updateAppConfig:it.m},proxies:dt.b},mt={0:{message:"Browser not supported!",detail:'This browser does not support "fetch", please choose another one.'},default:{message:"Oops, something went wrong!"}};var yt=n("Plid"),gt=n.n(yt),bt=n("n57c"),wt=n("wx14"),Ot=n("Ff2n"),xt=n("iuhU"),Et=n("SzcZ"),St=n.n(Et),jt=o.a.useCallback;function Ct(t){var e=t.id,n=t.label,r=t.value,i=t.onChange,a=Object(Ot.a)(t,["id","label","value","onChange"]),s=jt((function(t){return i(t)}),[i]),u=Object(xt.a)({[St.a.floatAbove]:"string"==typeof r&&""!==r});return o.a.createElement("div",{className:St.a.root},o.a.createElement("input",Object(wt.a)({id:e,value:r,onChange:s},a)),o.a.createElement("label",{htmlFor:e,className:u},n))}Ct.propTypes={value:w.a.oneOfType([w.a.string,w.a.number]),type:w.a.oneOf(["text","number"]),onChange:w.a.func,id:w.a.string,label:w.a.string};var Pt=n("VVUS"),kt=o.a.useState,Tt=o.a.useEffect,At=o.a.useRef,Rt=o.a.useCallback;var Mt=Object(ot.a)((function(t){return{apiConfig:Object(it.c)(t)}}))((function(t){var e=t.apiConfig,n=t.dispatch,r=kt(e.hostname),i=Object(c.a)(r,2),a=i[0],s=i[1],u=kt(e.port),l=Object(c.a)(u,2),f=l[0],p=l[1],d=kt(e.secret),h=Object(c.a)(d,2),v=h[0],m=h[1],y=At(!1),g=At(null);Tt((function(){function t(){return(t=Object(J.a)(Z.a.mark((function t(){var e,n,r,o;return Z.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,fetch("/");case 3:return e=t.sent,t.next=6,e.json();case 6:"clash"===t.sent.hello&&!1===y.current&&(n=window.location,r=n.hostname,o=n.port,s(r),p(o)),t.next=12;break;case 10:t.prev=10,t.t0=t.catch(0);case 12:case"end":return t.stop()}}),t,null,[[0,10]])})))).apply(this,arguments)}g.current.focus(),function(){t.apply(this,arguments)}()}),[]);var b=Rt((function(t){y.current=!0;var e=t.target,n=e.name,r=e.value;switch(n){case"port":p(r);break;case"hostname":s(r);break;case"secret":m(r);break;default:throw new Error("unknown input name "+n)}}),[]),w=Rt((function(){n(Object(it.n)({hostname:a,port:f,secret:v}))}),[a,f,v,n]),O=Rt((function(t){13===t.keyCode&&w()}),[w]);return o.a.createElement("div",{className:gt.a.root,ref:g,onKeyDown:O},o.a.createElement("div",{className:gt.a.header},o.a.createElement("div",{className:gt.a.icon},o.a.createElement(Pt.a,{width:160,height:160}))),o.a.createElement("div",{className:gt.a.body},o.a.createElement("div",{className:gt.a.hostnamePort},o.a.createElement("div",null,o.a.createElement(Ct,{id:"hostname",name:"hostname",label:"Hostname",type:"text",value:a,onChange:b})),o.a.createElement("div",null,o.a.createElement(Ct,{id:"port",name:"port",label:"Port",type:"number",value:f,onChange:b}))),o.a.createElement("div",null,o.a.createElement(Ct,{id:"secret",name:"secret",label:"Secret(optional)",value:v,type:"text",onChange:b}))),o.a.createElement("div",{className:gt.a.footer},o.a.createElement(bt.a,{label:"Confirm",onClick:w})))})),Lt=n("rRNg"),Dt=n.n(Lt),_t=n("Z9Yo"),Nt=n.n(_t);function Ft(t){var e=t.isOpen,n=t.onRequestClose,r=t.className,i=t.overlayClassName,a=t.children,s=Object(Ot.a)(t,["isOpen","onRequestClose","className","overlayClassName","children"]),c=Object(xt.a)(r,Nt.a.content),l=Object(xt.a)(i,Nt.a.overlay);return o.a.createElement(u.a,Object(wt.a)({isOpen:e,onRequestClose:n,className:c,overlayClassName:l},s),a)}Ft.propTypes={isOpen:w.a.bool.isRequired,onRequestClose:w.a.func.isRequired,children:w.a.node.isRequired,className:w.a.string,overlayClassName:w.a.string};var Vt=o.a.memo(Ft),Bt=o.a.useCallback,It=o.a.useEffect;var Ut=Object(ot.a)((function(t){return{modals:t.modals,apiConfig:Object(it.c)(t)}}))((function(t){var e=t.dispatch,n=t.apiConfig,r=t.modals;if(!window.fetch){var i=mt[0].detail,a=new Error(i);throw a.code=0,a}var s=Bt((function(){e(Object(pt.a)("apiConfig"))}),[e]);return It((function(){e(Object(lt.a)(n))}),[e,n]),o.a.createElement(Vt,{isOpen:r.apiConfig,className:Dt.a.content,overlayClassName:Dt.a.overlay,shouldCloseOnOverlayClick:!1,shouldCloseOnEsc:!1,onRequestClose:s},o.a.createElement("div",{className:Dt.a.container},o.a.createElement(Mt,null)))}));n("ma9I"),n("SuFq"),n("JfAA");function qt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Wt(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},e=t.width,n=void 0===e?24:e,r=t.height,i=void 0===r?24:r;return o.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:n,height:i,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.a.createElement("path",{d:"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"}))}oe.propTypes={width:w.a.number,height:w.a.number};function ie(t){var e=t.message,n=t.detail;return o.a.createElement("div",{className:re.a.root},o.a.createElement("div",{className:re.a.yacd},o.a.createElement(Pt.a,{width:150,height:150})),e?o.a.createElement("h1",null,e):null,n?o.a.createElement("p",null,n):null,o.a.createElement("p",null,o.a.createElement("a",{className:re.a.link,href:"https://github.com/haishanh/yacd/issues"},o.a.createElement(oe,{width:16,height:16}),"haishanh/yacd")))}ie.propTypes={message:w.a.string};var ae=ie;function se(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=Xt(t);if(e){var o=Xt(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Kt(this,n)}}var ue=function(t){Qt(n,t);var e=se(n);function n(){var t;qt(this,n);for(var r=arguments.length,o=new Array(r),i=0;i=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var Ie=Object(r.forwardRef)((function(t,e){var n=t.color,r=void 0===n?"currentColor":n,i=t.size,a=void 0===i?24:i,s=Be(t,["color","size"]);return o.a.createElement("svg",Ve({ref:e,xmlns:"http://www.w3.org/2000/svg",width:a,height:a,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},s),o.a.createElement("circle",{cx:"12",cy:"12",r:"10"}),o.a.createElement("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),o.a.createElement("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"}))}));Ie.propTypes={color:w.a.string,size:w.a.oneOfType([w.a.string,w.a.number])},Ie.displayName="Info";var Ue=Ie,qe={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},We=r.createContext&&r.createContext(qe),ze=function(){return(ze=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0&&void 0!==arguments[0]&&arguments[0],e=o.a.useState(t),n=Object(c.a)(e,2),r=n[0],i=n[1],a=o.a.useCallback((function(){i((function(t){return!t}))}),[]);return[r,a]}(!1),e=Object(c.a)(t,2),n=e[0],r=e[1];return o.a.createElement(sn.a,{checked:n,onChange:r})}r.PureComponent;var yn=Object(r.lazy)((function(){return Promise.all([n.e(0),n.e(12),n.e(4)]).then(n.bind(null,"rfEN"))})),gn=Object(r.lazy)((function(){return n.e(3).then(n.bind(null,"EeQf"))})),bn=Object(r.lazy)((function(){return Promise.all([n.e(1),n.e(6)]).then(n.bind(null,"aTX5"))})),wn=Object(r.lazy)((function(){return Promise.all([n.e(0),n.e(13),n.e(7)]).then(n.bind(null,"kCV3"))})),On=Object(r.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(9)]).then(n.bind(null,"BVyM"))})),xn=[["home","/",o.a.createElement(Re,null)],["connections","/connections",o.a.createElement(yn,null)],["configs","/configs",o.a.createElement(gn,null)],["logs","/logs",o.a.createElement(bn,null)],["proxies","/proxies",o.a.createElement(wn,null)],["rules","/rules",o.a.createElement(On,null)],["about","/about",o.a.createElement(ct,null)],!1].filter(Boolean),En=function(){return o.a.createElement(ce,null,o.a.createElement(H.RecoilRoot,null,o.a.createElement(ot.b,{initialState:ht,actions:vt},o.a.createElement(W,null,o.a.createElement("div",{className:Ne.a.app},o.a.createElement(Ut,null),o.a.createElement(nn,null),o.a.createElement("div",{className:Ne.a.content},o.a.createElement(r.Suspense,{fallback:o.a.createElement(De,null)},o.a.createElement(T,null,xn.map((function(t){var e=Object(c.a)(t,3),n=e[0],r=e[1],i=e[2];return o.a.createElement(P,{key:n,path:r,element:i})}))))))))))},Sn=document.getElementById("app");u.a.setAppElement(Sn),(0,a.a.createRoot)(Sn).render(o.a.createElement(En,null)),console.log("Checkout the repo: https://github.com/haishanh/yacd"),console.log("Version:","0.2.5")},Ff2n:function(t,e,n){"use strict";function r(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}n.d(e,"a",(function(){return r}))},GmYy:function(t,e,n){"use strict";n.d(e,"j",(function(){return A})),n.d(e,"a",(function(){return M})),n.d(e,"e",(function(){return L})),n.d(e,"d",(function(){return D})),n.d(e,"f",(function(){return _})),n.d(e,"g",(function(){return N})),n.d(e,"h",(function(){return V})),n.d(e,"c",(function(){return B})),n.d(e,"n",(function(){return I})),n.d(e,"i",(function(){return W})),n.d(e,"m",(function(){return K})),n.d(e,"l",(function(){return Z})),n.d(e,"b",(function(){return et})),n.d(e,"k",(function(){return nt}));n("pNMO"),n("4Brf"),n("TeQF"),n("QWBl"),n("pjDv"),n("yXV3"),n("4mDm"),n("2B1R"),n("+2oP"),n("ToJy"),n("27RR"),n("07d7"),n("5s+n"),n("JfAA"),n("FZtP"),n("3bBZ");var r=n("o0o1"),o=n.n(r),i=n("rePB"),a=n("ODXe"),s=(n("ls82"),n("HaE+")),u=n("dBaT"),c=n("4x4b"),l=n("EJpJ");function f(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function p(t){for(var e=1;e2&&void 0!==c[2]?c[2]:"http://www.gstatic.com/generate_204",i=Object(l.a)(e),a=i.url,s=i.init,u=`${a}/proxies/${n}/delay?${"timeout=5000&url="+r}`,t.next=6,fetch(u,s);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function b(t){return w.apply(this,arguments)}function w(){return(w=Object(s.a)(o.a.mark((function t(e){var n,r,i,a;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=Object(l.a)(e),r=n.url,i=n.init,t.next=3,fetch(r+"/providers/proxies",i);case 3:if(404!==(a=t.sent).status){t.next=6;break}return t.abrupt("return",{providers:{}});case 6:return t.next=8,a.json();case 8:return t.abrupt("return",t.sent);case 9:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function O(t,e){return x.apply(this,arguments)}function x(){return(x=Object(s.a)(o.a.mark((function t(e,n){var r,i,a,s;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=Object(l.a)(e),i=r.url,a=r.init,s=p(p({},a),{},{method:"PUT"}),t.next=4,fetch(i+"/providers/proxies/"+n,s);case 4:return t.abrupt("return",t.sent);case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function E(t,e){return S.apply(this,arguments)}function S(){return(S=Object(s.a)(o.a.mark((function t(e,n){var r,i,a,s;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=Object(l.a)(e),i=r.url,a=r.init,s=p(p({},a),{},{method:"GET"}),t.next=4,fetch(i+"/providers/proxies/"+n+"/healthcheck",s);case 4:return t.abrupt("return",t.sent);case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var j=n("OADI");function C(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return P(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return P(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw i}}}}function P(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n-1&&p.chains.indexOf(r)<0&&u.push(p.id)}catch(t){l.e(t)}finally{l.f()}return t.next=13,Promise.all(u.map((function(t){return c.b(e,t).catch(R)})));case 13:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function H(t,e,n,r,o){return G.apply(this,arguments)}function G(){return(G=Object(s.a)(o.a.mark((function t(e,n,r,i,a){var s;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,v(r,i,a);case 3:if(!1!==t.sent.ok){t.next=6;break}throw new Error("failed to switch proxy: res.statusText");case 6:t.next=12;break;case 8:throw t.prev=8,t.t0=t.catch(0),console.log(t.t0,"failed to swith proxy"),t.t0;case 12:e(B(r)),Object(j.b)(n())&&(s=L(n()),$(r,s,{groupName:i,itemName:a}));case 15:case"end":return t.stop()}}),t,null,[[0,8]])})))).apply(this,arguments)}function Q(){return function(t){t("closeModalClosePrevConns",(function(t){t.proxies.showModalClosePrevConns=!1}))}}function $(t,e,n){var r=function(t,e,n){for(var r,o=[n,e],i=n;(r=t[i])&&r.now;)o.unshift(r.now),i=r.now;return o}(e,n.groupName,n.itemName);!function(t,e,n){z.apply(this,arguments)}(t,n.groupName,r[0])}function K(t,e,n){return function(){var r=Object(s.a)(o.a.mark((function r(i,a){return o.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:H(i,a,t,e,n).catch(R),i("store/proxies#switchProxy",(function(t){var r=t.proxies.proxies;r[e]&&r[e].now&&(r[e].now=n)}));case 2:case"end":return r.stop()}}),r)})));return function(t,e){return r.apply(this,arguments)}}()}function X(t,e){return function(){var n=Object(s.a)(o.a.mark((function n(r,i){var a,s,u,c,l,f,p;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=Object(j.f)(i()),n.next=3,y(t,e,a);case 3:return s=n.sent,u="",!1===s.ok&&(u=s.statusText),n.next=8,s.json();case 8:c=n.sent,l=c.delay,f=D(i()),p=T(T({},f),{},{[e]:{error:u,number:l}}),r("requestDelayForProxyOnce",(function(t){t.proxies.delay=p}));case 13:case"end":return n.stop()}}),n)})));return function(t,e){return n.apply(this,arguments)}}()}function Y(t,e){return function(){var n=Object(s.a)(o.a.mark((function n(r){return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,r(X(t,e));case 2:case"end":return n.stop()}}),n)})));return function(t){return n.apply(this,arguments)}}()}function Z(t){return function(){var e=Object(s.a)(o.a.mark((function e(n,r){var i,a,s,u,c;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=F(r()),e.next=3,Promise.all(i.map((function(e){return n(Y(t,e))})));case 3:a=N(r()),s=C(a),e.prev=5,s.s();case 7:if((u=s.n()).done){e.next=13;break}return c=u.value,e.next=11,U(t,c.name);case 11:e.next=7;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(5),s.e(e.t0);case 18:return e.prev=18,s.f(),e.finish(18);case 21:return e.next=23,n(B(t));case 23:case"end":return e.stop()}}),e,null,[[5,15,18,21]])})));return function(t,n){return e.apply(this,arguments)}}()}function J(t){var e,n=[],r=[];for(var o in t){var i=t[o];i.all&&Array.isArray(i.all)?(n.push(o),"GLOBAL"===o&&(e=i.all)):M.indexOf(i.type)<0&&r.push(o)}return e&&(e.push("GLOBAL"),n=n.map((function(t){return[e.indexOf(t),t]})).sort((function(t,e){return t[0]-e[0]})).map((function(t){return t[1]}))),[n,r]}function tt(t){for(var e=Object.keys(t),n=[],r={},o=0;o-1})).map((function(e){return r(Y(t,e))})),n.next=4,Promise.all(s);case 4:return n.next=6,r(B(t));case 6:case"end":return n.stop()}}),n)})));return function(t,e){return n.apply(this,arguments)}}()},closeModalClosePrevConns:Q,closePrevConnsAndTheModal:function(t){return function(){var e=Object(s.a)(o.a.mark((function e(n,r){var i,a,s,u;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=r(),s=null===(i=a.proxies.switchProxyCtx)||void 0===i?void 0:i.to){e.next=5;break}return n((function(t){t("closeModalClosePrevConns",(function(t){t.proxies.showModalClosePrevConns=!1}))})),e.abrupt("return");case 5:u=a.proxies.proxies,$(t,u,s),n("closePrevConnsAndTheModal",(function(t){t.proxies.showModalClosePrevConns=!1,t.proxies.switchProxyCtx=void 0}));case 8:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()}},nt=Object(u.atom)({key:"proxyFilterText",default:""})},"HaE+":function(t,e,n){"use strict";function r(t,e,n,r,o,i,a){try{var s=t[i](a),u=s.value}catch(t){return void n(t)}s.done?e(u):Promise.resolve(u).then(r,o)}function o(t){return function(){var e=this,n=arguments;return new Promise((function(o,i){var a=t.apply(e,n);function s(t){r(a,o,i,s,u,"next",t)}function u(t){r(a,o,i,s,u,"throw",t)}s(void 0)}))}}n.d(e,"a",(function(){return o}))},"J3/6":function(t,e,n){t.exports={TrafficNow:"_2n4kL7wLDR"}},Jf6s:function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));n("QWBl"),n("yXV3"),n("pDQq"),n("07d7"),n("5s+n"),n("EnZy"),n("FZtP");var r,o=n("EJpJ"),i=new TextDecoder("utf-8"),a={labels:Array(150),up:Array(150),down:Array(150),size:150,subscribers:[],appendData(t){this.up.push(t.up),this.down.push(t.down);var e=new Date,n=""+e.getMinutes()+e.getSeconds();this.labels.push(n),this.up.length>this.size&&this.up.shift(),this.down.length>this.size&&this.down.shift(),this.labels.length>this.size&&this.labels.shift(),this.subscribers.forEach((function(e){return e(t)}))},subscribe(t){var e=this;return this.subscribers.push(t),function(){var n=e.subscribers.indexOf(t);e.subscribers.splice(n,1)}}},s=!1,u="";function c(t){a.appendData(JSON.parse(t))}function l(t){if(s||1===r)return a;r=1;var e=function(t){var e=t.hostname,n=t.port,r=t.secret,o="";return"string"==typeof r&&""!==r&&(o+="?token="+encodeURIComponent(r)),`ws://${e}:${n}/traffic${o}`}(t),n=new WebSocket(e);return n.addEventListener("error",(function(t){r=3})),n.addEventListener("close",(function(e){r=3,function(t){if(s)return a;s=!0;var e=Object(o.a)(t),n=e.url,r=e.init;fetch(n+"/traffic",r).then((function(t){t.ok?function t(e){return e.read().then((function(n){for(var r=n.done,o=n.value,a=i.decode(o,{stream:!r}),l=(u+=a).split("\n"),f=l[l.length-1],p=0;pk(null!=t?t:M,r,["TODO debug name",n]))},function(t){return{...t,nodeToComponentSubscriptions:T(t.nodeToComponentSubscriptions,e,t=>P(null!=t?t:M,r))}}]},fireNodeSubscriptions:function(t,e,n){var r;const o="enqueue"===n&&null!==(r=t.getState().nextTree)&&void 0!==r?r:t.getState().currentTree,i=function(t,e){const n=new Set,r=new Set,o=Array.from(e);for(let e=o.pop();e;e=o.pop()){var i;n.add(e),r.add(e);const a=null!==(i=t.nodeToNodeSubscriptions.get(e))&&void 0!==i?i:L;for(const t of a)r.has(t)||o.push(t)}return n}(o,e);for(const e of i){var a;(null!==(a=o.nodeToComponentSubscriptions.get(e))&&void 0!==a?a:[]).forEach(([e,r])=>{"enqueue"===n?t.getState().queuedComponentCallbacks.push(r):r(o)})}j("value became available, waking components",Array.from(e).join(", "),()=>{const e=t.getState().suspendedComponentResolvers;e.forEach(t=>t()),e.clear()})},detectCircularDependencies:function t(e,n){if(!n.length)return;const r=n[n.length-1],o=e.nodeToNodeSubscriptions.get(r);if(!(null==o?void 0:o.size))return;const i=n[0];if(o.has(i))throw new Error("Recoil selector has circular dependencies: "+[...n,i].reverse().join(" → "));for(const r of o)t(e,[...n,r])}},V=function(t,e){const n=new Map;return t.forEach((t,r)=>{n.set(r,e(t,r))}),n};const{getNodeLoadable:B,peekNodeLoadable:I,setNodeValue:U,setUnvalidatedAtomValue:q,subscribeComponentToNode:W}=F,{RecoilValueNotReady:z}=x,{AbstractRecoilValue:H,RecoilState:G,RecoilValueReadOnly:Q}=m;var $={RecoilValueReadOnly:Q,AbstractRecoilValue:H,RecoilState:G,valueFromValueOrUpdater:function(t,{key:e},n){if("function"==typeof n){var r;const o=t.getState(),i=null!==(r=o.nextTree)&&void 0!==r?r:o.currentTree,a=I(t,i,e);if("loading"===a.state)throw new z(e);if("hasError"===a.state)throw a.contents;return n(a.contents)}return n},getRecoilValueAsLoadable:function(t,{key:e}){let n;return j("get RecoilValue",e,()=>t.replaceState(C(r=>{const[o,i]=B(t,r,e);return n=i,o}))),n},setRecoilValue:function(t,{key:e},n){j("set RecoilValue",e,()=>t.replaceState(C(r=>{const[o,i]=U(t,r,e,n);return t.fireNodeSubscriptions(i,"enqueue"),o})))},setUnvalidatedRecoilValue:function(t,{key:e},n){j("set unvalidated persisted atom",e,()=>t.replaceState(C(r=>{const o=q(r,e,n);return t.fireNodeSubscriptions(new Set([e]),"enqueue"),o})))},subscribeToRecoilValue:function(t,{key:e},n){let r,o;return j("subscribe component to RecoilValue",e,()=>t.replaceState(C(t=>([r,o]=W(t,e,n),r)))),{release:t=>t.replaceState(o)}}};function K(){return{transactionMetadata:{},atomValues:new Map,nonvalidatedAtoms:new Map,dirtyAtoms:new Set,nodeDeps:new Map,nodeToNodeSubscriptions:new Map,nodeToComponentSubscriptions:new Map}}function X(t){return{currentTree:t,nextTree:null,transactionSubscriptions:new Map,queuedComponentCallbacks:[],suspendedComponentResolvers:new Set}}var Y={makeEmptyTreeState:K,makeEmptyStoreState:function(){return X(K())},makeStoreState:X};const{DEFAULT_VALUE:Z}=x,{getRecoilValueAsLoadable:J,setRecoilValue:tt,valueFromValueOrUpdater:et}=$,{makeEmptyTreeState:nt,makeStoreState:rt}=Y;class ot{constructor(t){a(this,"_store",void 0),a(this,"getLoadable",t=>J(this._store,t)),a(this,"getPromise",t=>this.getLoadable(t).toPromise()),a(this,"map",t=>{const e=new st(this._store.getState().currentTree);return t(e),at(e.getStore_INTERNAL().getState().currentTree)}),a(this,"asyncMap",async t=>{const e=new st(this._store.getState().currentTree);return await t(e),at(e.getStore_INTERNAL().getState().currentTree)}),this._store=function(t){const e=rt(t);return{getState:()=>e,replaceState:t=>{e.currentTree=t(e.currentTree)},subscribeToTransactions:()=>{throw new Error("Cannot subscribe to Snapshots")},addTransactionMetadata:()=>{throw new Error("Cannot subscribe to Snapshots")},fireNodeSubscriptions:()=>{}}}(t)}getStore_INTERNAL(){return this._store}}function it(t){return{transactionMetadata:{...t.transactionMetadata},atomValues:new Map(t.atomValues),nonvalidatedAtoms:new Map(t.nonvalidatedAtoms),dirtyAtoms:new Set(t.dirtyAtoms),nodeDeps:new Map(t.nodeDeps),nodeToNodeSubscriptions:V(t.nodeToNodeSubscriptions,t=>new Set(t)),nodeToComponentSubscriptions:new Map}}function at(t){return new ot(it(t))}class st extends ot{constructor(t){super(it(t)),a(this,"set",(t,e)=>{const n=this.getStore_INTERNAL(),r=et(n,t,e);tt(n,t,r)}),a(this,"reset",t=>tt(this.getStore_INTERNAL(),t,Z))}}var ut={Snapshot:ot,MutableSnapshot:st,freshSnapshot:function(){return new ot(nt())},cloneSnapshot:at},ct=ut.Snapshot,lt=ut.MutableSnapshot,ft=ut.freshSnapshot,pt=ut.cloneSnapshot,dt=function(t,e){if(null!=t)return t;throw new Error(null!=e?e:"Got unexpected null or undefined")},ht=v(Object.freeze({__proto__:null,Snapshot:ct,MutableSnapshot:lt,freshSnapshot:ft,cloneSnapshot:pt}));const{useContext:vt,useEffect:mt,useRef:yt,useState:gt}=o,{fireNodeSubscriptions:bt,setNodeValue:wt,setUnvalidatedAtomValue:Ot}=F,{freshSnapshot:xt}=ht,{makeEmptyStoreState:Et,makeStoreState:St}=Y;function jt(){throw new Error("This component must be used inside a component.")}const Ct=Object.freeze({getState:jt,replaceState:jt,subscribeToTransactions:jt,addTransactionMetadata:jt,fireNodeSubscriptions:jt});function Pt(t){null===t.nextTree&&(t.nextTree={...t.currentTree,dirtyAtoms:new Set,transactionMetadata:{}})}const kt=o.createContext({current:Ct}),Tt=()=>vt(kt);function At(t){const e=Tt(),[n,r]=gt([]);return t.setNotifyBatcherOfChange(()=>r({})),mt(()=>{E("Batcher",()=>{const t=e.current.getState(),{nextTree:n}=t;null!==n&&(n.dirtyAtoms.size&&t.transactionSubscriptions.forEach(t=>t(e.current)),t.queuedComponentCallbacks.forEach(t=>t(n)),t.queuedComponentCallbacks.splice(0,t.queuedComponentCallbacks.length),t.currentTree=n,t.nextTree=null)})}),null}let Rt=0;var Mt={useStoreRef:Tt,RecoilRoot:function({initializeState_DEPRECATED:t,initializeState:e,children:n}){let r;const i=yt(null),a={getState:()=>r.current,replaceState:t=>{const e=s.current.getState();Pt(e);const n=dt(e.nextTree),r=t(n);r!==n&&(e.nextTree=r,dt(i.current)())},subscribeToTransactions:t=>{const e=Rt++;return s.current.getState().transactionSubscriptions.set(e,t),{release:()=>{s.current.getState().transactionSubscriptions.delete(e)}}},addTransactionMetadata:t=>{Pt(s.current.getState());for(const e of Object.keys(t))dt(s.current.getState().nextTree).transactionMetadata[e]=t[e]},fireNodeSubscriptions:function(t,e){bt(s.current,t,e)}},s=yt(a);return r=yt(null!=t?function(t,e){const n=Et();return e({set:(e,r)=>{n.currentTree=wt(t,n.currentTree,e.key,r)[0]},setUnvalidatedAtomValues:t=>{t.forEach((t,e)=>{n.currentTree=Ot(n.currentTree,e,t)})}}),n}(a,t):null!=e?function(t){const e=xt().map(t);return St(e.getStore_INTERNAL().getState().currentTree)}(e):Et()),o.createElement(kt.Provider,{value:s},o.createElement(At,{setNotifyBatcherOfChange:function(t){i.current=t}}),n)}},Lt=function(t,...e){const n=new Set;t:for(const r of t){for(const t of e)if(t.has(r))continue t;n.add(r)}return n};const{useCallback:Dt,useEffect:_t,useMemo:Nt,useRef:Ft,useState:Vt}=o,{peekNodeLoadable:Bt,setNodeValue:It}=F,{DEFAULT_VALUE:Ut,getNode:qt,nodes:Wt}=x,{useStoreRef:zt}=Mt,{AbstractRecoilValue:Ht,getRecoilValueAsLoadable:Gt,setRecoilValue:Qt,setUnvalidatedRecoilValue:$t,subscribeToRecoilValue:Kt,valueFromValueOrUpdater:Xt}=$,{Snapshot:Yt,cloneSnapshot:Zt}=ht,{setByAddingToSet:Jt}=S;function te(){const t=zt(),[e,n]=Vt([]),r=Ft(new Set);r.current=new Set;const o=Ft(new Set),i=Ft(new Map),a=Dt(e=>{const n=i.current.get(e);n&&(n.release(t.current),i.current.delete(e))},[t,i]);return _t(()=>{const e=t.current;function s(t,e){i.current.has(e)&&n([])}Lt(r.current,o.current).forEach(t=>{if(i.current.has(t))return;const n=Kt(e,new Ht(t),e=>{j("RecoilValue subscription fired",t,()=>{s(0,t)})});i.current.set(t,n),j("initial update on subscribing",t,()=>{s(e.getState(),t)})}),Lt(o.current,r.current).forEach(t=>{a(t)}),o.current=r.current}),_t(()=>{const t=i.current;return()=>t.forEach((t,e)=>a(e))},[a]),Nt(()=>{function e(e){return n=>{const r=Xt(t.current,e,n);Qt(t.current,e,r)}}function n(e){return r.current.has(e.key)||(r.current=Jt(r.current,e.key)),Gt(t.current,e)}function o(e){return function(t,e,n){if("hasValue"===t.state)return t.contents;if("loading"===t.state)throw new Promise(t=>{n.current.getState().suspendedComponentResolvers.add(t)});throw"hasError"===t.state?t.contents:new Error(`Invalid value of loadable atom "${e.key}"`)}(n(e),e,t)}return{getRecoilValue:o,getRecoilValueLoadable:n,getRecoilState:function(t){return[o(t),e(t)]},getRecoilStateLoadable:function(t){return[n(t),e(t)]},getSetRecoilState:e,getResetRecoilState:function(e){return()=>Qt(t.current,e,Ut)}}},[r,t])}function ee(t){const e=zt();_t(()=>e.current.subscribeToTransactions(t).release,[t,e])}function ne(t){const e=t.atomValues,n=V(function(t,e){const n=new Map;for(const[r,o]of t)e(o,r)&&n.set(r,o);return n}(e,(t,e)=>{var n;const r=null===(n=qt(e).options)||void 0===n?void 0:n.persistence_UNSTABLE;return null!=r&&"none"!==r.type&&"hasValue"===t.state}),t=>t.contents);return function(...t){const e=new Map;for(let n=0;n{i.unstable_batchedUpdates(()=>{t.current.replaceState(n=>{const r=e.getStore_INTERNAL().getState().currentTree,o=new Set;for(const t of[n.atomValues.keys(),r.atomValues.keys()])for(const e of t){var i,a;(null===(i=n.atomValues.get(e))||void 0===i?void 0:i.contents)!==(null===(a=r.atomValues.get(e))||void 0===a?void 0:a.contents)&&o.add(e)}return t.current.fireNodeSubscriptions(o,"enqueue"),{...r,nodeToComponentSubscriptions:n.nodeToComponentSubscriptions}})})},[t])}class oe{}const ie=new oe;var ae={useRecoilCallback:function(t,e){const n=zt(),r=re();return Dt((...e)=>{const o=Zt(n.current.getState().currentTree);function a(t,e){const r=Xt(n.current,t,e);Qt(n.current,t,r)}function s(t){Qt(n.current,t,Ut)}let u=ie;return i.unstable_batchedUpdates(()=>{u=t({set:a,reset:s,snapshot:o,gotoSnapshot:r})(...e)}),u instanceof oe&&function(t,e){if(!t)throw new Error(e)}(!1),u},null!=e?[...e,n]:void 0)},useRecoilValue:function(t){return te().getRecoilValue(t)},useRecoilValueLoadable:function(t){return te().getRecoilValueLoadable(t)},useRecoilState:function(t){const e=te(),[n]=e.getRecoilState(t);return[n,Dt(e.getSetRecoilState(t),[t])]},useRecoilStateLoadable:function(t){const e=te(),[n]=e.getRecoilStateLoadable(t);return[n,Dt(e.getSetRecoilState(t),[t])]},useSetRecoilState:function(t){return Dt(te().getSetRecoilState(t),[t])},useResetRecoilState:function(t){return Dt(te().getResetRecoilState(t),[t])},useRecoilInterface:te,useSnapshotWithStateChange_DEPRECATED:function(t){const e=zt();let n=function(){const[t,e]=Vt(0);return ee(Dt(()=>e(t=>t+1),[])),{transactionMetadata:{...(n=zt().current.getState().currentTree).transactionMetadata},atomValues:new Map(n.atomValues),nonvalidatedAtoms:new Map(n.nonvalidatedAtoms),dirtyAtoms:new Set(n.dirtyAtoms),nodeDeps:new Map(n.nodeDeps),nodeToNodeSubscriptions:V(n.nodeToNodeSubscriptions,t=>new Set(t)),nodeToComponentSubscriptions:V(n.nodeToComponentSubscriptions,t=>new Map(t))};var n}();t(({key:t},r)=>{[n]=It(e.current,n,t,Bt(e.current,n,t).map(r))});const r=V(n.atomValues,t=>t.contents),o=function(t,...e){const n=new Set;t:for(const r of t){for(const t of e)if(!t.has(r))continue t;n.add(r)}return n}(n.dirtyAtoms,new Set(r.keys()));return{atomValues:r,updatedAtoms:o}},useTransactionSubscription_DEPRECATED:ee,useTransactionObservation_DEPRECATED:function(t){ee(Dt(e=>{const n=e.getState().currentTree;let r=e.getState().nextTree;r||(r=e.getState().currentTree);const o=ne(r),i=ne(n),a=V(Wt,t=>{var e,n,r,o,i,a;return{persistence_UNSTABLE:{type:null!==(e=null===(n=t.options)||void 0===n||null===(r=n.persistence_UNSTABLE)||void 0===r?void 0:r.type)&&void 0!==e?e:"none",backButton:null!==(o=null===(i=t.options)||void 0===i||null===(a=i.persistence_UNSTABLE)||void 0===a?void 0:a.backButton)&&void 0!==o&&o}}}),s=new Set(r.dirtyAtoms);t({atomValues:o,previousAtomValues:i,atomInfo:a,modifiedAtoms:s,transactionMetadata:{...r.transactionMetadata}})},[t]))},useRecoilTransactionObserver:function(t){ee(Dt(e=>{const n=e.getState().currentTree;let r=e.getState().nextTree;r||(r=n),t({snapshot:Zt(r),previousSnapshot:Zt(n)})},[t]))},useRecoilSnapshot:function(){const t=zt(),[e,n]=Vt(()=>Zt(t.current.getState().currentTree));return ee(Dt(t=>{var e;return n(Zt(null!==(e=t.getState().nextTree)&&void 0!==e?e:t.getState().currentTree))},[])),e},useGoToSnapshot_DEPRECATED:function(){const t=zt();return e=>{i.unstable_batchedUpdates(()=>{e.updatedAtoms.forEach(n=>{Qt(t.current,new Ht(n),e.atomValues.get(n))})})}},useGotoRecoilSnapshot:re,useSetUnvalidatedAtomValues:function(){const t=zt();return(e,n={})=>{i.unstable_batchedUpdates(()=>{t.current.addTransactionMetadata(n),e.forEach((e,n)=>$t(t.current,new Ht(n),e))})}}},se=function(t){return!!t&&"function"==typeof t.then};const ue={getValue(){if("hasValue"!==this.state)throw this.contents;return this.contents},toPromise(){return"hasValue"===this.state?Promise.resolve(this.contents):"hasError"===this.state?Promise.reject(this.contents):this.contents},valueMaybe(){return"hasValue"===this.state?this.contents:void 0},valueOrThrow(){if("hasValue"!==this.state)throw new Error(`Loadable expected value, but in "${this.state}" state`);return this.contents},errorMaybe(){return"hasError"===this.state?this.contents:void 0},errorOrThrow(){if("hasError"!==this.state)throw new Error(`Loadable expected error, but in "${this.state}" state`);return this.contents},promiseMaybe(){return"loading"===this.state?this.contents:void 0},promiseOrThrow(){if("loading"!==this.state)throw new Error(`Loadable expected promise, but in "${this.state}" state`);return this.contents},map(t){if("hasError"===this.state)return this;if("hasValue"===this.state)try{const e=t(this.contents);return se(e)?fe(e):ce(e)}catch(e){return se(e)?fe(e.next(()=>t(this.contents))):le(e)}if("loading"===this.state)return fe(this.contents.then(t).catch(e=>{if(se(e))return e.then(()=>t(this.contents));throw e}));throw new Error("Invalid Loadable state")}};function ce(t){return Object.freeze({state:"hasValue",contents:t,...ue})}function le(t){return Object.freeze({state:"hasError",contents:t,...ue})}function fe(t){return Object.freeze({state:"loading",contents:t,...ue})}var pe={loadableWithValue:ce,loadableWithError:le,loadableWithPromise:fe,loadableLoading:function(){return fe(new Promise(()=>{}))},loadableAll:function(t){return t.every(t=>"hasValue"===t.state)?ce(t.map(t=>t.contents)):t.some(t=>"hasError"===t.state)?le(dt(t.find(t=>"hasError"===t.state),"Invalid loadable passed to loadableAll").contents):fe(Promise.all(t.map(t=>t.contents)))}},de=function t(e){if("object"==typeof e&&!function(t){if(null===t||"object"!=typeof t)return!0;switch(typeof t.$$typeof){case"symbol":case"number":return!0}return null!=t["@@__IMMUTABLE_ITERABLE__@@"]||null!=t["@@__IMMUTABLE_KEYED__@@"]||null!=t["@@__IMMUTABLE_INDEXED__@@"]||null!=t["@@__IMMUTABLE_ORDERED__@@"]||null!=t["@@__IMMUTABLE_RECORD__@@"]||!!function(t){var e,n;if("undefined"==typeof window)return!1;const r=null!==(n=(null!=t?null!==(e=t.ownerDocument)&&void 0!==e?e:t:document).defaultView)&&void 0!==n?n:window;return!(null==t||!("function"==typeof r.Node?t instanceof r.Node:"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName))}(t)||!!se(t)}(e)){Object.freeze(e);for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)){const r=e[n];"object"!=typeof r||null==r||Object.isFrozen(r)||t(r)}Object.seal(e)}};const he=Symbol("ArrayKeyedMap"),ve=new Map;class me{constructor(t){if(this._base=new Map,t instanceof me)for(const[e,n]of t.entries())this.set(e,n);else if(t)for(const[e,n]of t)this.set(e,n);return this}get(t){const e=Array.isArray(t)?t:[t];let n=this._base;return e.forEach(t=>{var e;n=null!==(e=n.get(t))&&void 0!==e?e:ve}),void 0===n?void 0:n.get(he)}set(t,e){const n=Array.isArray(t)?t:[t];let r=this._base,o=r;return n.forEach(t=>{o=r.get(t),o||(o=new Map,r.set(t,o)),r=o}),o.set(he,e),this}delete(t){const e=Array.isArray(t)?t:[t];let n=this._base,r=n;return e.forEach(t=>{r=n.get(t),r||(r=new Map,n.set(t,r)),n=r}),r.delete(he),this}entries(){const t=[];return function e(n,r){n.forEach((n,o)=>{o===he?t.push([r,n]):e(n,r.concat(o))})}(this._base,[]),t.values()}toBuiltInMap(){return new Map(this.entries())}}var ye=me,ge=function(){return new ye},be=function(t,e,n){const r=t.entries();let o=r.next();for(;!o.done;){const i=o.value;if(!e.call(n,i[1],i[0],t))return!1;o=r.next()}return!0};Object.freeze(new Set);const{mapBySettingInMap:we,mapByUpdatingInMap:Oe,setByAddingToSet:xe,setByDeletingFromSet:Ee}=S,{detectCircularDependencies:Se,getNodeLoadable:je,setNodeValue:Ce}=F,{loadableWithError:Pe,loadableWithPromise:ke,loadableWithValue:Te}=pe,{DEFAULT_VALUE:Ae,RecoilValueNotReady:Re,registerNode:Me}=x,{startPerfBlock:Le}={startPerfBlock:function(t){return()=>null}},{isRecoilValue:De}=m,_e=Object.freeze(new Set);function Ne(t){const e=[];for(const n of Array.from(t.keys()).sort()){const r=dt(t.get(n));e.push(n),e.push(r.contents)}return e}var Fe=function(t){const{key:e,get:n,cacheImplementation_UNSTABLE:r}=t,o=null!=t.set?t.set:void 0;let i=null!=r?r:ge();function a(r,o){var s;let u=o;const c=null!==(s=o.nodeDeps.get(e))&&void 0!==s?s:_e,l=Ne(new Map(Array.from(c).sort().map(t=>{const[e,n]=je(r,u,t);return u=e,[t,n]}))),f=i.get(l);if(null!=f)return[u,f];const[p,d,h]=function(t,r){var o;const[i,s,u]=function(t,r){const o=Le(e);let i=r;const s=new Map;function u({key:e}){let n;if([i,n]=je(t,i,e),s.set(e,n),"hasValue"===n.state)return n.contents;throw n.contents}try{const t=n({get:u}),e=De(t)?u(t):t,r=se(e)?ke(e.finally(o)):(o(),Te(e));return[i,r,s]}catch(e){const n=se(e)?ke(e.then(()=>{let e=Pe(new Error("Internal Recoil Selector Error"));if(t.replaceState(n=>{let r;return[r,e]=a(t,n),r}),"hasError"===e.state)throw e.contents;return e.contents}).finally(o)):(o(),Pe(e));return[i,n,s]}}(t,r);let c=i;const l=null!==(o=r.nodeDeps.get(e))&&void 0!==o?o:_e,f=new Set(u.keys());var p,d;d=f,c=(p=l).size===d.size&&be(p,t=>d.has(t))?c:{...c,nodeDeps:we(c.nodeDeps,e,f)};const h=Lt(f,l),v=Lt(l,f);for(const t of h)c={...c,nodeToNodeSubscriptions:Oe(c.nodeToNodeSubscriptions,t,t=>xe(null!=t?t:_e,e))};for(const t of v)c={...c,nodeToNodeSubscriptions:Oe(c.nodeToNodeSubscriptions,t,t=>Ee(null!=t?t:_e,e))};return[c,s,u]}(r,u);u=p;const v=Ne(h);return function(n,r,o){"loading"!==o.state?1==!t.dangerouslyAllowMutability&&de(o.contents):o.contents.then(o=>(1==!t.dangerouslyAllowMutability&&de(o),i=i.set(r,Te(o)),n.fireNodeSubscriptions(new Set([e]),"now"),o)).catch(o=>(se(o)||(1==!t.dangerouslyAllowMutability&&de(o),i=i.set(r,Pe(o)),n.fireNodeSubscriptions(new Set([e]),"now")),o)),i=i.set(r,o)}(r,v,d),[u,d]}function s(t,e){return a(t,e)}return Me(null!=o?{key:e,options:t,get:s,set:function(t,e,n){let r=e;const i=new Set;function a({key:e}){const[n,o]=je(t,r,e);if(r=n,"hasValue"===o.state)return o.contents;throw"loading"===o.state?new Re(e):o.contents}function s(e,n){const o="function"==typeof n?n(a(e)):n;let s;[r,s]=Ce(t,r,e.key,o),s.forEach(t=>i.add(t))}return o({set:s,get:a,reset:function(t){s(t,Ae)}},n),[r,i]}}:{key:e,options:t,get:s})};const{loadableWithValue:Ve}=pe,{DEFAULT_VALUE:Be,DefaultValue:Ie,registerNode:Ue}=x,{isRecoilValue:qe}=m,{mapByDeletingFromMap:We,mapBySettingInMap:ze,setByAddingToSet:He}=S;var Ge=function t(e){const{default:n,...r}=e;return qe(n)||se(n)?function(e){const n=t({...e,default:Be,persistence_UNSTABLE:void 0===e.persistence_UNSTABLE?void 0:{...e.persistence_UNSTABLE,validator:t=>t instanceof Ie?t:dt(e.persistence_UNSTABLE).validator(t,Be)}});return Fe({key:e.key+"__withFallback",get:({get:t})=>{const r=t(n);return r instanceof Ie?e.default:r},set:({set:t},e)=>t(n,e),dangerouslyAllowMutability:e.dangerouslyAllowMutability})}({...r,default:n}):function(t){const{key:e,persistence_UNSTABLE:n}=t;return Ue({key:e,options:t,get:(r,o)=>{if(o.atomValues.has(e))return[o,dt(o.atomValues.get(e))];if(o.nonvalidatedAtoms.has(e)){if(null==n)return[o,Ve(t.default)];const r=o.nonvalidatedAtoms.get(e),i=n.validator(r,Be);return i instanceof Ie?[{...o,nonvalidatedAtoms:We(o.nonvalidatedAtoms,e)},Ve(t.default)]:[{...o,atomValues:ze(o.atomValues,e,Ve(i)),nonvalidatedAtoms:We(o.nonvalidatedAtoms,e)},Ve(i)]}return[o,Ve(t.default)]},set:(n,r,o)=>(!0!==t.dangerouslyAllowMutability&&de(o),[{...r,dirtyAtoms:He(r.dirtyAtoms,e),atomValues:o instanceof Ie?We(r.atomValues,e):ze(r.atomValues,e,Ve(o)),nonvalidatedAtoms:We(r.nonvalidatedAtoms,e)},new Set([e])])})}({...r,default:n})},Qe=function(t,e={allowFunctions:!1}){return function t(e,n,r){if("string"==typeof e&&!e.includes('"')&&!e.includes("\\"))return`"${e}"`;switch(typeof e){case"undefined":return"";case"boolean":return e?"true":"false";case"number":case"symbol":return String(e);case"string":return JSON.stringify(e);case"function":if(!0!==(null==n?void 0:n.allowFunctions))throw new Error("Attempt to serialize function in a Recoil cache key");return`__FUNCTION(${e.name})__`}return null===e?"null":"object"!=typeof e?null!==(o=JSON.stringify(e))&&void 0!==o?o:"":se(e)?"__PROMISE__":Array.isArray(e)?`[${e.map((e,r)=>t(e,n,r.toString()))}]`:"function"==typeof e.toJSON?t(e.toJSON(r),n,r):e instanceof Map?t(Array.from(e).reduce((e,[r,o])=>({...e,["string"==typeof r?r:t(r,n)]:o}),{}),n,r):e instanceof Set?t(Array.from(e).sort((e,r)=>t(e,n).localeCompare(t(r,n))),n,r):null!=e[Symbol.iterator]&&"function"==typeof e[Symbol.iterator]?t(Array.from(e),n,r):`{${Object.keys(e).filter(t=>void 0!==e[t]).sort().map(r=>`${t(r,n)}:${t(e[r],n,r)}`).join(",")}}`;var o}(t,e)},$e=function(){const t=new Map,e={get:e=>t.get(Qe(e)),set:(n,r)=>(t.set(Qe(n),r),e),map:t};return e};let Ke=0;var Xe=function(t){var e,n;let r=null!==(e=null===(n=t.cacheImplementationForParams_UNSTABLE)||void 0===n?void 0:n.call(t))&&void 0!==e?e:$e();return e=>{var n,o;const i=r.get(e);if(null!=i)return i;const a=`${t.key}__selectorFamily/${null!==(n=Qe(e,{allowFunctions:!0}))&&void 0!==n?n:"void"}/${Ke++}`,s=n=>t.get(e)(n),u=null===(o=t.cacheImplementation_UNSTABLE)||void 0===o?void 0:o.call(t);let c;if(null!=t.set){const n=t.set;c=Fe({key:a,get:s,set:(t,r)=>n(e)(t,r),cacheImplementation_UNSTABLE:u,dangerouslyAllowMutability:t.dangerouslyAllowMutability})}else c=Fe({key:a,get:s,cacheImplementation_UNSTABLE:u,dangerouslyAllowMutability:t.dangerouslyAllowMutability});return r=r.set(e,c),c}},Ye=v(Object.freeze({__proto__:null}));const{DEFAULT_VALUE:Ze,DefaultValue:Je}=x;function tn(t,e){return be(e,e=>t.has(e))}const en=(t,e)=>Array.from(e).reduce((e,n)=>({...e,[n]:t[n]}),{});function nn(t){if(null==t)return;const{...e}=t;return{...e,validator:t=>t instanceof Ye?new Ye(t.value.filter(([t,e])=>t instanceof Set&&e instanceof Map).map(([t,n])=>[t,Array.from(n.entries()).reduce((t,[n,r])=>{const o=e.validator(r,Ze);return o instanceof Je||t.set(n,o),t},new Map)])):e.validator(t,Ze)}}const rn=Xe({key:"__constant",get:t=>()=>t,cacheImplementationForParams_UNSTABLE:ge});const on=Xe({key:"__error",get:t=>()=>{throw new Error(t)},cacheImplementationForParams_UNSTABLE:ge});const{loadableWithError:an,loadableWithPromise:sn,loadableWithValue:un}=pe;function cn(t,e){const n=Array(e.length).fill(void 0),r=Array(e.length).fill(void 0);for(const[o,i]of e.entries())try{n[o]=t(i)}catch(t){r[o]=t}return[n,r]}function ln(t){return null!=t&&!se(t)}function fn(t){return Array.isArray(t)?t:Object.getOwnPropertyNames(t).map(e=>t[e])}function pn(t,e){return Array.isArray(t)?e:Object.getOwnPropertyNames(t).reduce((t,n,r)=>({...t,[n]:e[r]}),{})}function dn(t,e,n){return pn(t,n.map((t,n)=>null==t?un(e[n]):se(t)?sn(t):an(t)))}var hn={waitForNone:Xe({key:"__waitForNone",get:t=>({get:e})=>{const n=fn(t),[r,o]=cn(e,n);return dn(t,r,o)}}),waitForAny:Xe({key:"__waitForAny",get:t=>({get:e})=>{const n=fn(t),[r,o]=cn(e,n);if(o.some(t=>null==t))return dn(t,r,o);if(o.every(ln))throw o.find(ln);throw new Promise((e,n)=>{for(const[i,a]of o.entries())se(a)&&a.then(n=>{r[i]=n,o[i]=null,e(dn(t,r,o))}).catch(t=>{o[i]=t,o.every(ln)&&n(o[0])})})}}),waitForAll:Xe({key:"__waitForAll",get:t=>({get:e})=>{const n=fn(t),[r,o]=cn(e,n);if(o.every(t=>null==t))return pn(t,r);const i=o.find(ln);if(null!=i)throw i;throw Promise.all(o).then(e=>pn(t,e))}}),noWait:Xe({key:"__noWait",get:t=>({get:e})=>{try{return un(e(t))}catch(t){return se(t)?sn(t):an(t)}}})};const{DefaultValue:vn}=x,{RecoilRoot:mn}=Mt,{isRecoilValue:yn}=m,{useGotoRecoilSnapshot:gn,useRecoilCallback:bn,useRecoilSnapshot:wn,useRecoilState:On,useRecoilStateLoadable:xn,useRecoilTransactionObserver:En,useRecoilValue:Sn,useRecoilValueLoadable:jn,useResetRecoilState:Cn,useSetRecoilState:Pn,useSetUnvalidatedAtomValues:kn,useTransactionObservation_DEPRECATED:Tn}=ae,{noWait:An,waitForAll:Rn,waitForAny:Mn,waitForNone:Ln}=hn;var Dn={DefaultValue:vn,RecoilRoot:mn,atom:Ge,selector:Fe,atomFamily:function(t){let e=$e();const n={key:t.key,default:Ze,persistence_UNSTABLE:nn(t.persistence_UNSTABLE)};let r;r=Ge(n);const o=Xe({key:t.key+"__atomFamily/Default",get:e=>({get:n})=>{const o=n("function"==typeof r?r(e):r);if(!(o instanceof Je)){const t=function(t,e){if(!(t instanceof Ye))return t;if("object"!=typeof e||null==e||Array.isArray(e))return Ze;const n=t.value,r=new Set(Object.keys(e));for(const[t,o]of n)if(tn(r,t)){const n=r.size===t.size?e:en(e,t),i=o.get(Qe(n));if(void 0!==i)return i}return Ze}(o,e);if(!(t instanceof Je))return t}return"function"==typeof t.default?t.default(e):t.default},dangerouslyAllowMutability:t.dangerouslyAllowMutability});return n=>{var r;const i=e.get(n);if(null!=i)return i;const a=Ge({key:`${t.key}__${null!==(r=Qe(n))&&void 0!==r?r:"void"}`,default:o(n),persistence_UNSTABLE:t.persistence_UNSTABLE,dangerouslyAllowMutability:t.dangerouslyAllowMutability});return e=e.set(n,a),a}},selectorFamily:Xe,constSelector:function(t){return rn(t)},errorSelector:function(t){return on(t)},readOnlySelector:function(t){return t},useRecoilValue:Sn,useRecoilValueLoadable:jn,useRecoilState:On,useRecoilStateLoadable:xn,useSetRecoilState:Pn,useResetRecoilState:Cn,useRecoilCallback:bn,useGotoRecoilSnapshot:gn,useRecoilSnapshot:wn,useRecoilTransactionObserver_UNSTABLE:En,useTransactionObservation_UNSTABLE:Tn,useSetUnvalidatedAtomValues_UNSTABLE:kn,noWait:An,waitForNone:Ln,waitForAny:Mn,waitForAll:Rn,isRecoilValue:yn},_n=Dn.DefaultValue,Nn=Dn.RecoilRoot,Fn=Dn.atom,Vn=Dn.selector,Bn=Dn.atomFamily,In=Dn.selectorFamily,Un=Dn.constSelector,qn=Dn.errorSelector,Wn=Dn.readOnlySelector,zn=Dn.useRecoilValue,Hn=Dn.useRecoilValueLoadable,Gn=Dn.useRecoilState,Qn=Dn.useRecoilStateLoadable,$n=Dn.useSetRecoilState,Kn=Dn.useResetRecoilState,Xn=Dn.useRecoilCallback,Yn=Dn.useGotoRecoilSnapshot,Zn=Dn.useRecoilSnapshot,Jn=Dn.useRecoilTransactionObserver_UNSTABLE,tr=Dn.useTransactionObservation_UNSTABLE,er=Dn.useSetUnvalidatedAtomValues_UNSTABLE,nr=Dn.noWait,rr=Dn.waitForNone,or=Dn.waitForAny,ir=Dn.waitForAll,ar=Dn.isRecoilValue;e.DefaultValue=_n,e.RecoilRoot=Nn,e.atom=Fn,e.atomFamily=Bn,e.constSelector=Un,e.default=Dn,e.errorSelector=qn,e.isRecoilValue=ar,e.noWait=nr,e.readOnlySelector=Wn,e.selector=Vn,e.selectorFamily=In,e.useGotoRecoilSnapshot=Yn,e.useRecoilCallback=Xn,e.useRecoilSnapshot=Zn,e.useRecoilState=Gn,e.useRecoilStateLoadable=Qn,e.useRecoilTransactionObserver_UNSTABLE=Jn,e.useRecoilValue=zn,e.useRecoilValueLoadable=Hn,e.useResetRecoilState=Kn,e.useSetRecoilState=$n,e.useSetUnvalidatedAtomValues_UNSTABLE=er,e.useTransactionObservation_UNSTABLE=tr,e.waitForAll=ir,e.waitForAny=or,e.waitForNone=rr},MgzW:function(t,e,n){"use strict";var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function a(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,s,u=a(t),c=1;c0&&void 0!==arguments[0]?arguments[0]:"dark";"dark"===t?(C.classList.remove("light"),C.classList.add("dark")):(C.classList.remove("dark"),C.classList.add("light"))}function k(){return function(t,e){var n="light"===y(e())?"dark":"light";P(n),t("storeSwitchTheme",(function(t){t.app.theme=n})),u(e().app)}}function T(){!function(){try{localStorage.removeItem("yacd.haishan.me")}catch(t){}}();try{window.location.reload()}catch(t){}}function A(t){return function(e,n){e("appSelectChartStyleIndex",(function(e){e.app.selectedChartStyleIndex=t})),u(n().app)}}function R(t,e){return function(n,r){n("appUpdateAppConfig",(function(n){n.app[t]=e})),u(r().app)}}function M(t,e,n){return function(r,o){r("updateCollapsibleIsOpen",(function(r){r.app.collapsibleIsOpen[`${t}:${e}`]=n})),S(o().app)}}var L={clashAPIConfig:{hostname:"127.0.0.1",port:"7892",secret:""},latencyTestUrl:"http://www.gstatic.com/generate_204",selectedChartStyleIndex:0,theme:"dark",collapsibleIsOpen:{},proxySortBy:"Natural",hideUnavailableProxies:!1,autoCloseOldConns:!1};function D(){var t=function(){try{var t=localStorage.getItem("yacd.haishan.me");if(!t)return;return JSON.parse(t)}catch(t){return}}();t=p(p({},L),t);var e=function(){var t=window.location.search,e={};if("string"!=typeof t||""===t)return e;for(var n=t.replace(/^\?/,"").split("&"),r=0;r0&&0===(g-=1)&&f.show(e),n.props.shouldFocusAfterRender&&(n.props.shouldReturnFocusAfterClose?(c.returnFocus(),c.teardownScopedFocus()):c.popWithoutFocus()),n.props.onAfterClose&&n.props.onAfterClose(),h.default.deregister(n)},n.open=function(){n.beforeOpen(),n.state.afterOpen&&n.state.beforeClose?(clearTimeout(n.closeTimer),n.setState({beforeClose:!1})):(n.props.shouldFocusAfterRender&&(c.setupScopedFocus(n.node),c.markForFocusLater()),n.setState({isOpen:!0},(function(){n.setState({afterOpen:!0}),n.props.isOpen&&n.props.onAfterOpen&&n.props.onAfterOpen({overlayEl:n.overlay,contentEl:n.content})})))},n.close=function(){n.props.closeTimeoutMS>0?n.closeWithTimeout():n.closeWithoutTimeout()},n.focusContent=function(){return n.content&&!n.contentHasFocus()&&n.content.focus()},n.closeWithTimeout=function(){var t=Date.now()+n.props.closeTimeoutMS;n.setState({beforeClose:!0,closesAt:t},(function(){n.closeTimer=setTimeout(n.closeWithoutTimeout,n.state.closesAt-Date.now())}))},n.closeWithoutTimeout=function(){n.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},n.afterClose)},n.handleKeyDown=function(t){9===t.keyCode&&(0,l.default)(n.content,t),n.props.shouldCloseOnEsc&&27===t.keyCode&&(t.stopPropagation(),n.requestClose(t))},n.handleOverlayOnClick=function(t){null===n.shouldClose&&(n.shouldClose=!0),n.shouldClose&&n.props.shouldCloseOnOverlayClick&&(n.ownerHandlesClose()?n.requestClose(t):n.focusContent()),n.shouldClose=null},n.handleContentOnMouseUp=function(){n.shouldClose=!1},n.handleOverlayOnMouseDown=function(t){n.props.shouldCloseOnOverlayClick||t.target!=n.overlay||t.preventDefault()},n.handleContentOnClick=function(){n.shouldClose=!1},n.handleContentOnMouseDown=function(){n.shouldClose=!1},n.requestClose=function(t){return n.ownerHandlesClose()&&n.props.onRequestClose(t)},n.ownerHandlesClose=function(){return n.props.onRequestClose},n.shouldBeClosed=function(){return!n.state.isOpen&&!n.state.beforeClose},n.contentHasFocus=function(){return document.activeElement===n.content||n.content.contains(document.activeElement)},n.buildClassName=function(t,e){var r="object"===(void 0===e?"undefined":o(e))?e:{base:y[t],afterOpen:y[t]+"--after-open",beforeClose:y[t]+"--before-close"},i=r.base;return n.state.afterOpen&&(i=i+" "+r.afterOpen),n.state.beforeClose&&(i=i+" "+r.beforeClose),"string"==typeof e&&e?i+" "+e:i},n.attributesFromObject=function(t,e){return Object.keys(e).reduce((function(n,r){return n[t+"-"+r]=e[r],n}),{})},n.state={afterOpen:!1,beforeClose:!1},n.shouldClose=null,n.moveFromContentToOverlay=null,n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),i(e,[{key:"componentDidMount",value:function(){this.props.isOpen&&this.open()}},{key:"componentDidUpdate",value:function(t,e){this.props.isOpen&&!t.isOpen?this.open():!this.props.isOpen&&t.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!e.isOpen&&this.focusContent()}},{key:"componentWillUnmount",value:function(){this.state.isOpen&&this.afterClose(),clearTimeout(this.closeTimer)}},{key:"beforeOpen",value:function(){var t=this.props,e=t.appElement,n=t.ariaHideApp,r=t.htmlOpenClassName,o=t.bodyOpenClassName;o&&p.add(document.body,o),r&&p.add(document.getElementsByTagName("html")[0],r),n&&(g+=1,f.hide(e)),h.default.register(this)}},{key:"render",value:function(){var t=this.props,e=t.id,n=t.className,o=t.overlayClassName,i=t.defaultStyles,a=n?{}:i.content,u=o?{}:i.overlay;return this.shouldBeClosed()?null:s.default.createElement("div",{ref:this.setOverlayRef,className:this.buildClassName("overlay",o),style:r({},u,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},s.default.createElement("div",r({id:e,ref:this.setContentRef,style:r({},a,this.props.style.content),className:this.buildClassName("content",n),tabIndex:"-1",onKeyDown:this.handleKeyDown,onMouseDown:this.handleContentOnMouseDown,onMouseUp:this.handleContentOnMouseUp,onClick:this.handleContentOnClick,role:this.props.role,"aria-label":this.props.contentLabel},this.attributesFromObject("aria",this.props.aria||{}),this.attributesFromObject("data",this.props.data||{}),{"data-testid":this.props.testId}),this.props.children))}}]),e}(a.Component);b.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},b.propTypes={isOpen:u.default.bool.isRequired,defaultStyles:u.default.shape({content:u.default.object,overlay:u.default.object}),style:u.default.shape({content:u.default.object,overlay:u.default.object}),className:u.default.oneOfType([u.default.string,u.default.object]),overlayClassName:u.default.oneOfType([u.default.string,u.default.object]),bodyOpenClassName:u.default.string,htmlOpenClassName:u.default.string,ariaHideApp:u.default.bool,appElement:u.default.instanceOf(d.default),onAfterOpen:u.default.func,onAfterClose:u.default.func,onRequestClose:u.default.func,closeTimeoutMS:u.default.number,shouldFocusAfterRender:u.default.bool,shouldCloseOnOverlayClick:u.default.bool,shouldReturnFocusAfterClose:u.default.bool,role:u.default.string,contentLabel:u.default.string,aria:u.default.object,data:u.default.object,children:u.default.node,shouldCloseOnEsc:u.default.bool,overlayRef:u.default.func,contentRef:u.default.func,id:u.default.string,testId:u.default.string},e.default=b,t.exports=e.default},"Qv+K":function(t,e,n){"use strict";n.d(e,"a",(function(){return I})),n.d(e,"b",(function(){return nt})),n.d(e,"c",(function(){return ot}));var r,o=n("q1tI");function i(){return(i=Object.assign||function(t){for(var e=1;e0||(this.cacheTimeout=setTimeout((function(){t.clear()}),this.config.cacheTime)))},e.refetch=function(t){try{var e=this;return C((function(){return j(e.fetch())}),(function(e){if(!0===(null==t?void 0:t.throwOnError))throw e}))}catch(t){return Promise.reject(t)}},e.cancel=function(){var t;null==(t=this.cancelFetch)||t.call(this)},e.continue=function(){var t;null==(t=this.continueFetch)||t.call(this)},e.clearTimersObservers=function(){this.observers.forEach((function(t){t.clearRefetchInterval()}))},e.clearStaleTimeout=function(){this.staleTimeout&&(clearTimeout(this.staleTimeout),this.staleTimeout=void 0)},e.clearCacheTimeout=function(){this.cacheTimeout&&(clearTimeout(this.cacheTimeout),this.cacheTimeout=void 0)},e.setData=function(t){var e,n,r=this.state.data,o=f(t,r);this.config.structuralSharing&&(o=function t(e,n){if(e===n)return e;var r=Array.isArray(e)&&Array.isArray(n);if(r||y(e)&&y(n)){for(var o=r?e.length:Object.keys(e).length,i=r?n:Object.keys(n),a=i.length,s=r?[]:{},u=0,c=0;c-1&&(c+=o?-1:1);if(void 0===(r=n[c]))return e.preventDefault(),void(r=o?s:a).focus();e.preventDefault(),r.focus()};var r,o=n("ZDLa"),i=(r=o)&&r.__esModule?r:{default:r};t.exports=e.default},SzcZ:function(t,e,n){t.exports={root:"_2uN43zExEi",floatAbove:"_2gQ0j5OHC8"}},Tk1H:function(t,e,n){t.exports={root:"_113JVByWGF",yacd:"_1m2ZsnzFvt",link:"_3TKFOM4Tgj"}},UIKY:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=new function t(){var e=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.register=function(t){-1===e.openInstances.indexOf(t)&&(e.openInstances.push(t),e.emit("register"))},this.deregister=function(t){var n=e.openInstances.indexOf(t);-1!==n&&(e.openInstances.splice(n,1),e.emit("deregister"))},this.subscribe=function(t){e.subscribers.push(t)},this.emit=function(t){e.subscribers.forEach((function(n){return n(t,e.openInstances.slice())}))},this.openInstances=[],this.subscribers=[]};e.default=r,t.exports=e.default},Utih:function(t,e,n){"use strict";n("yXV3"),n("2B1R");var r=n("17x9"),o=n.n(r),i=n("q1tI"),a=n.n(i),s=n("YKzy"),u=n.n(s);function c(t){var e=t.options,n=t.value,r=t.name,o=t.onChange,s=Object(i.useMemo)((function(){return e.map((function(t){return t.value})).indexOf(n)}),[e,n]),c=Object(i.useCallback)((function(t){var n=Math.floor(100/e.length);return t===e.length-1?100-e.length*n+n:t>-1?n:void 0}),[e]),l=Object(i.useMemo)((function(){return{width:c(s)+"%",left:s*c(0)+"%"}}),[s,c]);return a.a.createElement("div",{className:u.a.ToggleSwitch},a.a.createElement("div",{className:u.a.slider,style:l}),e.map((function(t,e){var i=`${r}-${t.label}`,s=0===e?"":"border-left";return a.a.createElement("label",{htmlFor:i,key:i,className:s,style:{width:c(e)+"%"}},a.a.createElement("input",{id:i,name:r,type:"radio",value:t.value,checked:n===t.value,onChange:o}),a.a.createElement("div",null,t.label))})))}c.propTypes={options:o.a.array,value:o.a.string,name:o.a.string,onChange:o.a.func},e.a=a.a.memo(c)},V4mC:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n("q1tI"),o=n("QCnb"),i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function a(t,e){var n=i.current;if(null===n)throw Error("react-cache: read and preload may only be called from within a component's render. They are not supported in event handlers or lifecycle methods.");return n.readContext(t,e)}function s(t){return t}var u=function(t){function e(){!1===s&&a>r&&(s=!0,o.unstable_scheduleCallback(n))}function n(){s=!1;var t=r;if(null!==i)for(var e=i.previous;a>t&&null!==e;){var n=e.onDelete,o=e.previous;e.onDelete=null,e.previous=e.next=null,e===i?i=e=null:(i.previous=o,o.next=i,e=o),--a,n()}}var r=500,i=null,a=0,s=!1;return{add:function(t,e){return t={value:t,onDelete:e,next:null,previous:null},null===i?t.previous=t.next=t:((e=i.previous).next=t,t.previous=e,i.previous=t,t.next=i),i=t,a+=1,t},update:function(t,e){t.value=e},access:function(t){var n=t.next;if(null!==n){var r=i;if(i!==t){var o=t.previous;o.next=n,n.previous=o,(n=r.previous).next=t,t.previous=n,r.previous=t,t.next=r,i=t}}return e(),t.value},setLimit:function(t){r=t,e()}}}(),c=new Map,l=r.createContext(null);function f(t,e,n,r){var o=c.get(t);void 0===o&&(o=new Map,c.set(t,o));var i=o.get(r);if(void 0===i){(e=e(n)).then((function(t){if(0===a.status){var e=a;e.status=1,e.value=t}}),(function(t){if(0===a.status){var e=a;e.status=2,e.value=t}}));var a={status:0,value:e};return t=u.add(a,p.bind(null,t,r)),o.set(r,t),a}return u.access(i)}function p(t,e){var n=c.get(t);void 0!==n&&(n.delete(e),0===n.size&&c.delete(t))}e.unstable_createResource=function(t,e){var n=void 0!==e?e:s,r={read:function(e){a(l);var o=n(e);switch((e=f(r,t,e,o)).status){case 0:throw e.value;case 1:return e.value;case 2:throw e.value}},preload:function(e){a(l);var o=n(e);f(r,t,e,o)}};return r},e.unstable_setGlobalCacheLimit=function(t){u.setLimit(t)}},VCL8:function(t,e,n){"use strict";function r(){var t=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=t&&this.setState(t)}function o(t){this.setState(function(e){var n=this.constructor.getDerivedStateFromProps(t,e);return null!=n?n:null}.bind(this))}function i(t,e){try{var n=this.props,r=this.state;this.props=t,this.state=e,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function a(t){var e=t.prototype;if(!e||!e.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof t.getDerivedStateFromProps&&"function"!=typeof e.getSnapshotBeforeUpdate)return t;var n=null,a=null,s=null;if("function"==typeof e.componentWillMount?n="componentWillMount":"function"==typeof e.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof e.componentWillReceiveProps?a="componentWillReceiveProps":"function"==typeof e.UNSAFE_componentWillReceiveProps&&(a="UNSAFE_componentWillReceiveProps"),"function"==typeof e.componentWillUpdate?s="componentWillUpdate":"function"==typeof e.UNSAFE_componentWillUpdate&&(s="UNSAFE_componentWillUpdate"),null!==n||null!==a||null!==s){var u=t.displayName||t.name,c="function"==typeof t.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+u+" uses "+c+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==a?"\n "+a:"")+(null!==s?"\n "+s:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof t.getDerivedStateFromProps&&(e.componentWillMount=r,e.componentWillReceiveProps=o),"function"==typeof e.getSnapshotBeforeUpdate){if("function"!=typeof e.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");e.componentWillUpdate=i;var l=e.componentDidUpdate;e.componentDidUpdate=function(t,e,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;l.call(this,t,e,r)}}return t}n.r(e),n.d(e,"polyfill",(function(){return a})),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0},VKEO:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.handleBlur=c,e.handleFocus=l,e.markForFocusLater=function(){a.push(document.activeElement)},e.returnFocus=function(){var t=null;try{return void(0!==a.length&&(t=a.pop()).focus())}catch(e){console.warn(["You tried to return focus to",t,"but it is not in the DOM anymore"].join(" "))}},e.popWithoutFocus=function(){a.length>0&&a.pop()},e.setupScopedFocus=function(t){s=t,window.addEventListener?(window.addEventListener("blur",c,!1),document.addEventListener("focus",l,!0)):(window.attachEvent("onBlur",c),document.attachEvent("onFocus",l))},e.teardownScopedFocus=function(){s=null,window.addEventListener?(window.removeEventListener("blur",c),document.removeEventListener("focus",l)):(window.detachEvent("onBlur",c),document.detachEvent("onFocus",l))};var r,o=n("ZDLa"),i=(r=o)&&r.__esModule?r:{default:r};var a=[],s=null,u=!1;function c(){u=!0}function l(){if(u){if(u=!1,!s)return;setTimeout((function(){s.contains(document.activeElement)||((0,i.default)(s)[0]||s).focus()}),0)}}},VVUS:function(t,e,n){"use strict";var r=n("iuhU"),o=n("17x9"),i=n.n(o),a=n("q1tI"),s=n.n(a),u=n("uG2Q"),c=n.n(u);function l(t){var e=t.width,n=void 0===e?320:e,o=t.height,i=void 0===o?320:o,a=t.animate,u=void 0!==a&&a,l=t.c0,f=void 0===l?"currentColor":l,p=t.c1,d=void 0===p?"#eee":p,h=Object(r.a)({[c.a.path]:u});return s.a.createElement("svg",{width:n,height:i,viewBox:"0 0 320 320",xmlns:"http://www.w3.org/2000/svg"},s.a.createElement("g",{fill:"none",fillRule:"evenodd"},s.a.createElement("path",{d:"M71.689 53.055c9.23-1.487 25.684 27.263 41.411 56.663 18.572-8.017 71.708-7.717 93.775 0 4.714-15.612 31.96-57.405 41.626-56.663 3.992.088 13.07 31.705 23.309 94.96 2.743 16.949 7.537 47.492 14.38 91.63-42.339 17.834-84.37 26.751-126.095 26.751-41.724 0-83.756-8.917-126.095-26.751C52.973 116.244 65.536 54.047 71.689 53.055z",stroke:d,strokeWidth:"4",strokeLinecap:"round",fill:f,className:h}),s.a.createElement("circle",{fill:d,cx:"216.5",cy:"181.5",r:"14.5"}),s.a.createElement("circle",{fill:d,cx:"104.5",cy:"181.5",r:"14.5"}),s.a.createElement("g",{stroke:d,strokeLinecap:"round",strokeWidth:"4"},s.a.createElement("path",{d:"M175.568 218.694c-2.494 1.582-5.534 2.207-8.563 1.508-3.029-.7-5.487-2.594-7.035-5.11M143.981 218.694c2.494 1.582 5.534 2.207 8.563 1.508 3.03-.7 5.488-2.594 7.036-5.11"}))))}l.propTypes={width:i.a.number,height:i.a.number},e.a=l},WbBG:function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},WfPo:function(t,e,n){"use strict";n.d(e,"c",(function(){return gt})),n.d(e,"b",(function(){return bt})),n.d(e,"a",(function(){return wt}));n("pNMO"),n("TeQF"),n("QWBl"),n("27RR"),n("FZtP");var r=n("rePB"),o=n("ODXe");function i(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r3?e.i-4:e.i:Array.isArray(t)?1:h(t)?2:v(t)?3:0}function l(t,e){return 2===c(t)?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function f(t,e){return 2===c(t)?t.get(e):t[e]}function p(t,e,n){var r=c(t);2===r?t.set(e,n):3===r?(t.delete(e),t.add(n)):t[e]=n}function d(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function h(t){return q&&t instanceof Map}function v(t){return W&&t instanceof Set}function m(t){return t.o||t.t}function y(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=K(t);delete e[Q];for(var n=$(e),r=0;r1&&(t.set=t.add=t.clear=t.delete=b),Object.freeze(t),e&&u(t,(function(t,e){return g(e,!0)}),!0))}function b(){i(2)}function w(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function O(t){var e=X[t];return e||i(19,t),e}function x(){return I}function E(t,e){e&&(O("Patches"),t.u=[],t.s=[],t.v=e)}function S(t){j(t),t.p.forEach(P),t.p=null}function j(t){t===I&&(I=t.l)}function C(t){return I={p:[],l:I,h:t,m:!0,_:0}}function P(t){var e=t[Q];0===e.i||1===e.i?e.j():e.g=!0}function k(t,e){e._=e.p.length;var n=e.p[0],r=void 0!==t&&t!==n;return e.h.O||O("ES5").S(e,t,r),r?(n[Q].P&&(S(e),i(4)),s(t)&&(t=T(e,t),e.l||R(e,t)),e.u&&O("Patches").M(n[Q],t,e.u,e.s)):t=T(e,n,[]),S(e),e.u&&e.v(e.u,e.s),t!==H?t:void 0}function T(t,e,n){if(w(e))return e;var r=e[Q];if(!r)return u(e,(function(o,i){return A(t,r,e,o,i,n)}),!0),e;if(r.A!==t)return e;if(!r.P)return R(t,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var o=4===r.i||5===r.i?r.o=y(r.k):r.o;u(3===r.i?new Set(o):o,(function(e,i){return A(t,r,o,e,i,n)})),R(t,o,!1),n&&t.u&&O("Patches").R(r,n,t.u,t.s)}return r.o}function A(t,e,n,r,o,i){if(a(o)){var u=T(t,o,i&&e&&3!==e.i&&!l(e.D,r)?i.concat(r):void 0);if(p(n,r,u),!a(u))return;t.m=!1}if(s(o)&&!w(o)){if(!t.h.N&&t._<1)return;T(t,o),e&&e.A.l||R(t,o)}}function R(t,e,n){void 0===n&&(n=!1),t.h.N&&t.m&&g(e,n)}function M(t,e){var n=t[Q];return(n?m(n):t)[e]}function L(t,e){if(e in t)for(var n=Object.getPrototypeOf(t);n;){var r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=Object.getPrototypeOf(n)}}function D(t){t.P||(t.P=!0,t.l&&D(t.l))}function _(t){t.o||(t.o=y(t.t))}function N(t,e,n){var r=h(e)?O("MapSet").T(e,n):v(e)?O("MapSet").F(e,n):t.O?function(t,e){var n=Array.isArray(t),r={i:n?1:0,A:e?e.A:x(),P:!1,I:!1,D:{},l:e,t:t,k:null,o:null,j:null,C:!1},o=r,i=Y;n&&(o=[r],i=Z);var a=Proxy.revocable(o,i),s=a.revoke,u=a.proxy;return r.k=u,r.j=s,u}(e,n):O("ES5").J(e,n);return(n?n.A:x()).p.push(r),r}function F(t){return a(t)||i(22,t),function t(e){if(!s(e))return e;var n,r=e[Q],o=c(e);if(r){if(!r.P&&(r.i<4||!O("ES5").K(r)))return r.t;r.I=!0,n=V(e,o),r.I=!1}else n=V(e,o);return u(n,(function(e,o){r&&f(r.t,e)===o||p(n,e,t(o))})),3===o?new Set(n):n}(t)}function V(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return y(t)}var B,I,U="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),q="undefined"!=typeof Map,W="undefined"!=typeof Set,z="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=U?Symbol.for("immer-nothing"):((B={})["immer-nothing"]=!0,B),G=U?Symbol.for("immer-draftable"):"__$immer_draftable",Q=U?Symbol.for("immer-state"):"__$immer_state",$=("undefined"!=typeof Symbol&&Symbol.iterator,"undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames),K=Object.getOwnPropertyDescriptors||function(t){var e={};return $(t).forEach((function(n){e[n]=Object.getOwnPropertyDescriptor(t,n)})),e},X={},Y={get:function(t,e){if(e===Q)return t;var n=m(t);if(!l(n,e))return function(t,e,n){var r,o=L(e,n);return o?"value"in o?o.value:null===(r=o.get)||void 0===r?void 0:r.call(t.k):void 0}(t,n,e);var r=n[e];return t.I||!s(r)?r:r===M(t.t,e)?(_(t),t.o[e]=N(t.A.h,r,t)):r},has:function(t,e){return e in m(t)},ownKeys:function(t){return Reflect.ownKeys(m(t))},set:function(t,e,n){var r=L(m(t),e);if(null==r?void 0:r.set)return r.set.call(t.k,n),!0;if(t.D[e]=!0,!t.P){if(d(n,M(m(t),e))&&(void 0!==n||l(t.t,e)))return!0;_(t),D(t)}return t.o[e]=n,!0},deleteProperty:function(t,e){return void 0!==M(t.t,e)||e in t.t?(t.D[e]=!1,_(t),D(t)):delete t.D[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var n=m(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r?{writable:!0,configurable:1!==t.i||"length"!==e,enumerable:r.enumerable,value:n[e]}:r},defineProperty:function(){i(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){i(12)}},Z={};u(Y,(function(t,e){Z[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}})),Z.deleteProperty=function(t,e){return Y.deleteProperty.call(this,t[0],e)},Z.set=function(t,e,n){return Y.set.call(this,t[0],e,n,t[0])};var J=new(function(){function t(t){this.O=z,this.N=!1,"boolean"==typeof(null==t?void 0:t.useProxies)&&this.setUseProxies(t.useProxies),"boolean"==typeof(null==t?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),this.produce=this.produce.bind(this),this.produceWithPatches=this.produceWithPatches.bind(this)}var e=t.prototype;return e.produce=function(t,e,n){if("function"==typeof t&&"function"!=typeof e){var r=e;e=t;var o=this;return function(t){var n=this;void 0===t&&(t=r);for(var i=arguments.length,a=Array(i>1?i-1:0),s=1;s1?n-1:0),i=1;i=0;n--){var r=e[n];if(0===r.path.length&&"replace"===r.op){t=r.value;break}}var o=O("Patches").$;return a(t)?o(t,e):this.produce(t,(function(t){return o(t,e.slice(n+1))}))},t}()),tt=J.produce,et=(J.produceWithPatches.bind(J),J.setAutoFreeze.bind(J)),nt=(J.setUseProxies.bind(J),J.applyPatches.bind(J),J.createDraft.bind(J),J.finishDraft.bind(J),tt),rt=n("q1tI"),ot=n.n(rt);function it(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function at(t){for(var e=1;e0?(document.body.firstChild!==a&&document.body.insertBefore(a,document.body.firstChild),document.body.lastChild!==s&&document.body.appendChild(s)):(a.parentElement&&a.parentElement.removeChild(a),s.parentElement&&s.parentElement.removeChild(s))}))},XN28:function(t,e,n){t.exports={root:"_24ddJm1Q5s",h1:"B4QNkMu-0t"}},YKzy:function(t,e,n){t.exports={ToggleSwitch:"_2IgDTE__bQ",slider:"_2IfOm9qQ_4"}},Ye7m:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.assertNodeList=u,e.setElement=function(t){var e=t;if("string"==typeof e&&a.canUseDOM){var n=document.querySelectorAll(e);u(n,e),e="length"in n?n[0]:n}return s=e||s},e.validateElement=c,e.hide=function(t){c(t)&&(t||s).setAttribute("aria-hidden","true")},e.show=function(t){c(t)&&(t||s).removeAttribute("aria-hidden")},e.documentNotReadyOrSSRTesting=function(){s=null},e.resetForTesting=function(){s=null};var r,o=n("2W6z"),i=(r=o)&&r.__esModule?r:{default:r},a=n("2zs7");var s=null;function u(t,e){if(!t||!t.length)throw new Error("react-modal: No elements were found for selector "+e+".")}function c(t){return!(!t&&!s)||((0,i.default)(!1,["react-modal: App element is not defined.","Please use `Modal.setAppElement(el)` or set `appElement={el}`.","This is needed so screen readers don't see main content","when modal is opened. It is not recommended, but you can opt-out","by setting `ariaHideApp={false}`."].join(" ")),!1)}},Z9Yo:function(t,e,n){t.exports={overlay:"_2ueF0jmjym",content:"UZ5fqyDCOb"}},ZDLa:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return[].slice.call(t.querySelectorAll("*"),0).filter(a)};var r=/input|select|textarea|button|object/;function o(t){var e=t.offsetWidth<=0&&t.offsetHeight<=0;if(e&&!t.innerHTML)return!0;var n=window.getComputedStyle(t);return e?"visible"!==n.getPropertyValue("overflow")||t.scrollWidth<=0&&t.scrollHeight<=0:"none"==n.getPropertyValue("display")}function i(t,e){var n=t.nodeName.toLowerCase();return(r.test(n)&&!t.disabled||"a"===n&&t.href||e)&&function(t){for(var e=t;e&&e!==document.body;){if(o(e))return!1;e=e.parentNode}return!0}(t)}function a(t){var e=t.getAttribute("tabindex");null===e&&(e=void 0);var n=isNaN(e);return(n||e>=0)&&i(t,!n)}t.exports=e.default},ZMKu:function(t,e,n){"use strict";n.d(e,"a",(function(){return Ci}));var r={};n.r(r),n.d(r,"DecayAnimator",(function(){return ee})),n.d(r,"KeyframesAnimator",(function(){return te})),n.d(r,"SpringAnimator",(function(){return ht})),n.d(r,"angle",(function(){return fe})),n.d(r,"animate",(function(){return se})),n.d(r,"anticipate",(function(){return Xt})),n.d(r,"applyOffset",(function(){return pe})),n.d(r,"attract",(function(){return ve})),n.d(r,"attractExpo",(function(){return me})),n.d(r,"backIn",(function(){return Qt})),n.d(r,"backInOut",(function(){return Kt})),n.d(r,"backOut",(function(){return $t})),n.d(r,"bounceIn",(function(){return Zt})),n.d(r,"bounceInOut",(function(){return Jt})),n.d(r,"bounceOut",(function(){return Yt})),n.d(r,"circIn",(function(){return zt})),n.d(r,"circInOut",(function(){return Gt})),n.d(r,"circOut",(function(){return Ht})),n.d(r,"clamp",(function(){return Rt})),n.d(r,"createAnticipate",(function(){return Bt})),n.d(r,"createAttractor",(function(){return he})),n.d(r,"createBackIn",(function(){return Vt})),n.d(r,"createExpoIn",(function(){return Ft})),n.d(r,"cubicBezier",(function(){return De})),n.d(r,"degreesToRadians",(function(){return ye})),n.d(r,"distance",(function(){return Oe})),n.d(r,"easeIn",(function(){return Ut})),n.d(r,"easeInOut",(function(){return Wt})),n.d(r,"easeOut",(function(){return qt})),n.d(r,"inertia",(function(){return ce})),n.d(r,"interpolate",(function(){return Dt})),n.d(r,"isPoint",(function(){return ge})),n.d(r,"isPoint3D",(function(){return be})),n.d(r,"linear",(function(){return It})),n.d(r,"mirrorEasing",(function(){return Nt})),n.d(r,"mix",(function(){return mt})),n.d(r,"mixColor",(function(){return Ot})),n.d(r,"mixComplex",(function(){return At})),n.d(r,"pipe",(function(){return jt})),n.d(r,"pointFromVector",(function(){return xe})),n.d(r,"progress",(function(){return vt})),n.d(r,"radiansToDegrees",(function(){return le})),n.d(r,"reverseEasing",(function(){return _t})),n.d(r,"smooth",(function(){return je})),n.d(r,"smoothFrame",(function(){return Se})),n.d(r,"snap",(function(){return Ce})),n.d(r,"steps",(function(){return _e})),n.d(r,"toDecimal",(function(){return Ee})),n.d(r,"velocityPerFrame",(function(){return Pe})),n.d(r,"velocityPerSecond",(function(){return ue})),n.d(r,"wrap",(function(){return ke}));var o=n("mrSG");var i,a=0,s="undefined"!=typeof window&&void 0!==window.requestAnimationFrame?function(t){return window.requestAnimationFrame(t)}:function(t){var e=Date.now(),n=Math.max(0,16.7-(e-a));a=e+n,setTimeout((function(){return t(a)}),n)};!function(t){t.Read="read",t.Update="update",t.Render="render",t.PostRender="postRender",t.FixedUpdate="fixedUpdate"}(i||(i={}));var u=1/60*1e3,c=!0,l=!1,f=!1,p={delta:0,timestamp:0},d=[i.Read,i.Update,i.Render,i.PostRender],h=function(t){return l=t},v=d.reduce((function(t,e){var n,r,o,i,a,s,u,c,f,p=(n=h,r=[],o=[],i=0,a=!1,s=0,u=new WeakSet,c=new WeakSet,f={cancel:function(t){var e=o.indexOf(t);u.add(t),-1!==e&&o.splice(e,1)},process:function(t){var e,l;if(a=!0,r=(e=[o,r])[0],(o=e[1]).length=0,i=r.length)for(s=0;s4?(e=t.substr(1,2),n=t.substr(3,2),r=t.substr(5,2)):(e=t.substr(1,1),n=t.substr(2,1),r=t.substr(3,1),e+=e,n+=n,r+=r),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:1}}}),$={test:function(t){return"string"==typeof t&&k.test(t)||I(t)||U(t)},parse:function(t){return H.test(t)?H.parse(t):G.test(t)?G.parse(t):Q.test(t)?Q.parse(t):t},transform:function(t){return I(t)?H.transform(t):U(t)?G.transform(t):t}},K=function(t){return"number"==typeof t?0:t},X={test:function(t){if("string"!=typeof t||!isNaN(t))return!1;var e=0,n=t.match(C),r=t.match(P);return n&&(e+=n.length),r&&(e+=r.length),e>0},parse:function(t){var e=t,n=[],r=e.match(P);r&&(e=e.replace(P,"${c}"),n.push.apply(n,r.map($.parse)));var o=e.match(C);return o&&n.push.apply(n,o.map(T.parse)),n},createTransformer:function(t){var e=t,n=0,r=t.match(P),o=r?r.length:0;if(r)for(var i=0;it[u-1]&&(t=[].concat(t),e=[].concat(e),t.reverse(),e.reverse());var c=Lt(e,a,s),l=2===u?function(t,e){var n=t[0],r=t[1],o=e[0];return function(t){return o(vt(n,r,t))}}(t,c):function(t,e){var n=t.length,r=n-1;return function(o){var i=0,a=!1;if(o<=t[0]?a=!0:o>=t[r]&&(i=r-1,a=!0),!a){for(var s=1;so||s===r);s++);i=s-1}var u=vt(t[i],t[i+1],o);return e[i](u)}}(t,c);return i?function(e){return l(Rt(t[0],t[u-1],e))}:l}var _t=function(t){return function(e){return 1-t(1-e)}},Nt=function(t){return function(e){return e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2}},Ft=function(t){return function(e){return Math.pow(e,t)}},Vt=function(t){return function(e){return e*e*((t+1)*e-t)}},Bt=function(t){var e=Vt(t);return function(t){return(t*=2)<1?.5*e(t):.5*(2-Math.pow(2,-10*(t-1)))}},It=function(t){return t},Ut=Ft(2),qt=_t(Ut),Wt=Nt(Ut),zt=function(t){return 1-Math.sin(Math.acos(t))},Ht=_t(zt),Gt=Nt(Ht),Qt=Vt(1.525),$t=_t(Qt),Kt=Nt(Qt),Xt=Bt(1.525),Yt=function(t){if(1===t||0===t)return t;var e=t*t;return t<.36363636363636365?7.5625*e:t<.7272727272727273?9.075*e-9.9*t+3.4:t<.9?12.066481994459833*e-19.63545706371191*t+8.898060941828255:10.8*t*t-20.52*t+10.72},Zt=_t(Yt),Jt=function(t){return t<.5?.5*(1-Yt(1-2*t)):.5*Yt(2*t-1)+.5};var te=function(){function t(t){this.isComplete=!1,this.updateOptions(t);var e=this.options,n=e.from,r=e.to;this.values=Array.isArray(r)?r:[n,r],this.createInterpolator()}return t.prototype.createInterpolator=function(){var t,e,n=this.options,r=n.duration,o=n.ease,i=n.offset;o=Array.isArray(o)?o:(t=this.values,e=o,t.map((function(){return e||Wt})).splice(0,t.length-1));var a=function(t,e){return t.map((function(t){return t*e}))}(i=i||function(t){var e=t.length;return t.map((function(t,n){return 0!==n?n/(e-1):0}))}(this.values),r);this.interpolator=Dt(a,this.values,{ease:o})},t.prototype.update=function(t){var e=this.options.duration;return this.isComplete=t>=e,this.interpolator(t)},t.prototype.updateOptions=function(t){var e=t.from,n=void 0===e?0:e,r=t.to,o=void 0===r?1:r,i=t.ease,a=t.offset,s=t.duration,u=void 0===s?300:s;this.options={from:n,to:o,ease:i,offset:a,duration:u}},t.prototype.flipTarget=function(){this.values.reverse(),this.createInterpolator()},t.needsInterpolation=function(){return!1},t.uniqueOptionKeys=new Set(["duration","ease"]),t}(),ee=function(){function t(t){this.isComplete=!1,this.updateOptions(t);var e=this.options,n=e.power,r=e.velocity,o=e.modifyTarget,i=e.from,a=n*r,s=i+a,u=void 0===o?s:o(s);u!==s&&(a=u-i),this.target=u,this.amplitude=a}return t.prototype.flipTarget=function(){},t.prototype.update=function(t){var e=this.options,n=e.timeConstant,r=e.restDelta,o=-this.amplitude*Math.exp(-t/n);return this.isComplete=!(o>r||o<-r),this.isComplete?this.target:this.target+o},t.prototype.updateOptions=function(t){var e=void 0===t?{}:t,n=e.velocity,r=void 0===n?0:n,o=e.from,i=void 0===o?0:o,a=e.power,s=void 0===a?.8:a,u=e.timeConstant,c=void 0===u?350:u,l=e.restDelta,f=void 0===l?.5:l,p=e.modifyTarget;this.options={velocity:r,from:i,power:s,timeConstant:c,restDelta:f,modifyTarget:p}},t.needsInterpolation=function(){return!1},t.uniqueOptionKeys=new Set(["power","timeConstant","modifyTarget"]),t}(),ne=[te,ee,ht],re={keyframes:te,spring:ht,decay:ee},oe=ne.length;function ie(t,e,n){return void 0===n&&(n=0),t-e-n}var ae=function(t){var e=function(e){var n=e.delta;return t(n)};return{start:function(){return dt.update(e,!0,!0)},stop:function(){return ut.update(e)}}};function se(t){var e,n,r,i=t.from,a=t.autoplay,s=void 0===a||a,u=t.driver,c=void 0===u?ae:u,l=t.elapsed,f=void 0===l?0:l,p=t.repeat,d=void 0===p?0:p,h=t.repeatType,v=void 0===h?"loop":h,m=t.repeatDelay,y=void 0===m?0:m,g=t.onPlay,b=t.onStop,w=t.onComplete,O=t.onRepeat,x=t.onUpdate,E=Object(o.d)(t,["from","autoplay","driver","elapsed","repeat","repeatType","repeatDelay","onPlay","onStop","onComplete","onRepeat","onUpdate"]),S=E.to,j=0,C=E.duration,P=!1,k=!0,T=function(t){if(Array.isArray(t.to))return te;if(re[t.type])return re[t.type];for(var e in t)for(var n=0;n=e+n:t<=-n}(f,C,y,k)&&R():(e.stop(),w&&w()))}function L(){null==g||g(),(e=c(M)).start()}return s&&L(),{play:L,pause:function(){},resume:function(){},reverse:function(){},seek:function(){},stop:function(){null==b||b(),e.stop()}}}function ue(t,e){return e?t*(1e3/e):0}function ce(t){var e,n=t.from,r=void 0===n?0:n,i=t.velocity,a=void 0===i?0:i,s=t.min,u=t.max,c=t.power,l=void 0===c?.8:c,f=t.timeConstant,p=void 0===f?750:f,d=t.bounceStiffness,h=void 0===d?500:d,v=t.bounceDamping,m=void 0===v?10:v,y=t.restDelta,g=void 0===y?1:y,b=t.modifyTarget,w=t.driver,O=t.onUpdate,x=t.onComplete;function E(t){return void 0!==s&&tu}function S(t){return void 0===s?u:void 0===u||Math.abs(s-t)0||C({from:k,to:T,velocity:a})}:void 0})}return{stop:function(){return null==e?void 0:e.stop()}}}var le=function(t){return 180*t/Math.PI},fe=function(t,e){return void 0===e&&(e=xt),le(Math.atan2(e.y-t.y,e.x-t.x))},pe=function(t,e){var n=!0;return void 0===e&&(e=t,n=!1),function(r){return n?r-t+e:(t=r,n=!0,e)}},de=function(t){return t},he=function(t){return void 0===t&&(t=de),function(e,n,r){var o=n-r,i=-(0-e+1)*(0-t(Math.abs(o)));return o<=0?n+i:n-i}},ve=he(),me=he(Math.sqrt),ye=function(t){return t*Math.PI/180},ge=function(t){return t.hasOwnProperty("x")&&t.hasOwnProperty("y")},be=function(t){return ge(t)&&t.hasOwnProperty("z")},we=function(t,e){return Math.abs(t-e)};function Oe(t,e){if(Et(t)&&Et(e))return we(t,e);if(ge(t)&&ge(e)){var n=we(t.x,e.x),r=we(t.y,e.y),o=be(t)&&be(e)?we(t.z,e.z):0;return Math.sqrt(Math.pow(n,2)+Math.pow(r,2)+Math.pow(o,2))}}var xe=function(t,e,n){return e=ye(e),{x:n*Math.cos(e)+t.x,y:n*Math.sin(e)+t.y}},Ee=function(t,e){return void 0===e&&(e=2),e=Math.pow(10,e),Math.round(t*e)/e},Se=function(t,e,n,r){return void 0===r&&(r=0),Ee(t+n*(e-t)/Math.max(r,n))},je=function(t){void 0===t&&(t=50);var e=0,n=0;return function(r){var o=pt().timestamp,i=o!==n?o-n:0,a=i?Se(e,r,i,t):e;return n=o,e=a,a}},Ce=function(t){if("number"==typeof t)return function(e){return Math.round(e/t)*t};var e=0,n=t.length;return function(r){var o=Math.abs(t[0]-r);for(e=1;eo)return t[e-1];if(e===n-1)return i;o=a}}};function Pe(t,e){return t/(1e3/e)}var ke=function(t,e,n){var r=e-t;return((n-t)%r+r)%r+t},Te=function(t,e){return 1-3*e+3*t},Ae=function(t,e){return 3*e-6*t},Re=function(t){return 3*t},Me=function(t,e,n){return((Te(e,n)*t+Ae(e,n))*t+Re(e))*t},Le=function(t,e,n){return 3*Te(e,n)*t*t+2*Ae(e,n)*t+Re(e)};function De(t,e,n,r){if(t===e&&n===r)return It;for(var o=new Float32Array(11),i=0;i<11;++i)o[i]=Me(.1*i,t,n);function a(e){for(var r=0,i=1;10!==i&&o[i]<=e;++i)r+=.1;--i;var a=r+.1*((e-o[i])/(o[i+1]-o[i])),s=Le(a,t,n);return s>=.001?function(t,e,n,r){for(var o=0;o<8;++o){var i=Le(e,n,r);if(0===i)return e;e-=(Me(e,n,r)-t)/i}return e}(e,a,t,n):0===s?a:function(t,e,n,r,o){var i,a,s=0;do{(i=Me(a=e+(n-e)/2,r,o)-t)>0?n=a:e=a}while(Math.abs(i)>1e-7&&++s<10);return a}(e,r,r+.1,t,n)}return function(t){return 0===t||1===t?t:Me(a(t),e,r)}}var _e=function(t,e){return void 0===e&&(e="end"),function(n){var r=(n="end"===e?Math.min(n,.999):Math.max(n,.001))*t,o="end"===e?Math.floor(r):Math.ceil(r);return Rt(0,1,o/t)}},Ne=n("q1tI"),Fe=n.n(Ne),Ve=function(t){return"object"==typeof t&&t.hasOwnProperty("current")},Be=function(){function t(){this.subscriptions=new Set}return t.prototype.add=function(t){var e=this;return this.subscriptions.add(t),function(){e.subscriptions.delete(t)}},t.prototype.notify=function(t,e,n){var r,i;if(this.subscriptions.size)try{for(var a=Object(o.g)(this.subscriptions),s=a.next();!s.done;s=a.next()){(0,s.value)(t,e,n)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}},t.prototype.clear=function(){this.subscriptions.clear()},t}(),Ie=function(){function t(t){var e,n=this;this.timeDelta=0,this.lastUpdated=0,this.updateSubscribers=new Be,this.renderSubscribers=new Be,this.canTrackVelocity=!1,this.updateAndNotify=function(t,e){void 0===e&&(e=!0),n.prev=n.current,n.current=t,n.prev!==n.current&&n.updateSubscribers.notify(n.current),e&&n.renderSubscribers.notify(n.current);var r=x(),o=r.delta,i=r.timestamp;n.lastUpdated!==i&&(n.timeDelta=o,n.lastUpdated=i,E.postRender(n.scheduleVelocityCheck))},this.scheduleVelocityCheck=function(){return E.postRender(n.velocityCheck)},this.velocityCheck=function(t){t.timestamp!==n.lastUpdated&&(n.prev=n.current)},this.set(t,!1),this.canTrackVelocity=(e=this.current,!isNaN(parseFloat(e)))}return t.prototype.onChange=function(t){return this.updateSubscribers.add(t)},t.prototype.clearListeners=function(){this.updateSubscribers.clear()},t.prototype.onRenderRequest=function(t){return t(this.get()),this.renderSubscribers.add(t)},t.prototype.attach=function(t){this.passiveEffect=t},t.prototype.set=function(t,e){void 0===e&&(e=!0),e&&this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t,e)},t.prototype.get=function(){return this.current},t.prototype.getPrevious=function(){return this.prev},t.prototype.getVelocity=function(){return this.canTrackVelocity?ue(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0},t.prototype.start=function(t){var e=this;return this.stop(),new Promise((function(n){e.stopAnimation=t(n)})).then((function(){return e.clearAnimation()}))},t.prototype.stop=function(){this.stopAnimation&&this.stopAnimation(),this.clearAnimation()},t.prototype.isAnimating=function(){return!!this.stopAnimation},t.prototype.clearAnimation=function(){this.stopAnimation=null},t.prototype.destroy=function(){this.updateSubscribers.clear(),this.renderSubscribers.clear(),this.stop()},t}();function Ue(t){return new Ie(t)}var qe=function(){function t(t,e){var n=this;this.children=new Set,this.latest={},this.values=new Map,this.valueSubscriptions=new Map,this.config={},this.update=function(){return n.config.onUpdate(n.latest)},this.triggerRender=function(){return n.render()},this.scheduleRender=function(){return E.render(n.triggerRender,!1,!0)},this.ref=function(t){t?n.mount(t):n.unmount(),n.externalRef&&("function"==typeof n.externalRef?n.externalRef(t):Ve(n.externalRef)&&(n.externalRef.current=t))},this.parent=t,this.rootParent=t?t.rootParent:this,this.treePath=t?Object(o.e)(t.treePath,[t]):[],this.depth=t?t.depth+1:0,this.externalRef=e}return t.prototype.subscribe=function(t){var e=this;return this.children.add(t),function(){return e.children.delete(t)}},t.prototype.hasValue=function(t){return this.values.has(t)},t.prototype.addValue=function(t,e){this.hasValue(t)&&this.removeValue(t),this.values.set(t,e),this.latest[t]=e.get(),this.element&&this.subscribeToValue(t,e)},t.prototype.removeValue=function(t){var e=this.valueSubscriptions.get(t);e&&e(),this.values.delete(t),delete this.latest[t],this.valueSubscriptions.delete(t)},t.prototype.getValue=function(t,e){var n=this.values.get(t);return void 0===n&&void 0!==e&&(n=new Ie(e),this.addValue(t,n)),n},t.prototype.forEachValue=function(t){this.values.forEach(t)},t.prototype.getInstance=function(){return this.element},t.prototype.updateConfig=function(t){void 0===t&&(t={}),this.config=Object(o.a)({},t)},t.prototype.setSingleStaticValue=function(t,e){this.latest[t]=e},t.prototype.setStaticValues=function(t,e){if("string"==typeof t)this.setSingleStaticValue(t,e);else for(var n in t)this.setSingleStaticValue(n,t[n])},t.prototype.scheduleUpdateLayoutDelta=function(){E.update(this.rootParent.updateLayoutDelta,!1,!0)},t.prototype.subscribeToValue=function(t,e){var n=this,r=e.onChange((function(e){n.setSingleStaticValue(t,e),n.latest[t]=e,n.config.onUpdate&&E.update(n.update,!1,!0)})),o=e.onRenderRequest(this.scheduleRender);this.valueSubscriptions.set(t,(function(){r(),o()}))},t.prototype.mount=function(t){var e=this;this.parent&&(this.removeFromParent=this.parent.subscribe(this)),this.element=this.current=t,this.forEachValue((function(t,n){return e.subscribeToValue(n,t)}))},t.prototype.unmount=function(){var t=this;this.forEachValue((function(e,n){return t.removeValue(n)})),g.update(this.update),g.render(this.render),this.removeFromParent&&this.removeFromParent()},t}();function We(t){return t}function ze(t){var e=t.top;return{x:{min:t.left,max:t.right},y:{min:e,max:t.bottom}}}function He(t){return{x:Object(o.a)({},t.x),y:Object(o.a)({},t.y)}}var Ge={translate:0,scale:1,origin:0,originPoint:0};function Qe(){return{x:Object(o.a)({},Ge),y:Object(o.a)({},Ge)}}var $e=Object(o.a)(Object(o.a)({},T),{transform:Math.round}),Ke={color:$,backgroundColor:$,outlineColor:$,fill:$,stroke:$,borderColor:$,borderTopColor:$,borderRightColor:$,borderBottomColor:$,borderLeftColor:$,borderWidth:_,borderTopWidth:_,borderRightWidth:_,borderBottomWidth:_,borderLeftWidth:_,borderRadius:_,radius:_,borderTopLeftRadius:_,borderTopRightRadius:_,borderBottomRightRadius:_,borderBottomLeftRadius:_,width:_,maxWidth:_,height:_,maxHeight:_,size:_,top:_,right:_,bottom:_,left:_,padding:_,paddingTop:_,paddingRight:_,paddingBottom:_,paddingLeft:_,margin:_,marginTop:_,marginRight:_,marginBottom:_,marginLeft:_,rotate:L,rotateX:L,rotateY:L,rotateZ:L,scale:R,scaleX:R,scaleY:R,scaleZ:R,skew:L,skewX:L,skewY:L,distance:_,translateX:_,translateY:_,translateZ:_,x:_,y:_,z:_,perspective:_,transformPerspective:_,opacity:A,originX:V,originY:V,originZ:_,zIndex:$e,fillOpacity:A,strokeOpacity:A,numOctaves:$e},Xe=[T,_,D,L,F,N,{test:function(t){return"auto"===t},parse:function(t){return t}}],Ye=function(t){return function(e){return e.test(t)}},Ze=function(t){return Xe.find(Ye(t))},Je=Object(o.e)(Xe,[$,X]),tn=function(t){return Je.find(Ye(t))},en=function(t){return Ke[t]},nn=function(t,e){return e&&"number"==typeof t?e.transform(t):t},rn=["","X","Y","Z"],on=new Set,an=["transformPerspective","x","y","z"];function sn(t,e){return an.indexOf(t)-an.indexOf(e)}["perspective","translate","scale","rotate","skew"].forEach((function(t){var e=new Set(["rotate","skew"]).has(t);rn.forEach((function(n){var r=t+n;an.push(r),e&&on.add(r)}))}));var un=new Set(an);function cn(t){return un.has(t)}var ln=new Set(["originX","originY","originZ"]);function fn(t){return ln.has(t)}var pn={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"};function dn(t,e){var n=t.x,r=t.y;return"translate3d("+n.translate/e.x+"px, "+r.translate/e.y+"px, 0) scale("+n.scale+", "+r.scale+")"}function hn(t){return t.startsWith("--")}function vn(t,e){return t/(e.max-e.min)*100}var mn={process:function(t,e){return"number"!=typeof t?t:vn(t,e.x)+"% "+vn(t,e.y)+"%"}},yn={borderRadius:Object(o.a)(Object(o.a)({},mn),{applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]}),borderTopLeftRadius:mn,borderTopRightRadius:mn,borderBottomLeftRadius:mn,borderBottomRightRadius:mn,boxShadow:{process:function(t,e,n,r){var o=X.parse(t),i=X.createTransformer(t),a=n.x.scale*r.x,s=n.y.scale*r.y;o[1]/=a,o[2]/=s;var u=mt(a,s,.5);return"number"==typeof o[3]&&(o[3]/=u),"number"==typeof o[4]&&(o[4]/=u),i(o)}}};function gn(t,e,n,r,o,i,a,s,u,c,l,f){var p=a.enableHardwareAcceleration,d=a.transformTemplate,h=a.allowTransformNone;i.length=0;var v=!1,m=!1,y=!0;for(var g in t){var b=t[g],w=en(g),O=nn(b,w);if(cn(g)){if(v=!0,r[g]=O,i.push(g),!y)continue;b!==(void 0!==w.default?w.default:0)&&(y=!1)}else if(fn(g))o[g]=O,m=!0;else if("transform"!==g||"function"!=typeof b){var x=hn(g)?n:e;if(s&&yn[g]){var E=yn[g].process(b,f,u,l),S=yn[g].applyTo;if(S)for(var j=S.length,C=0;Cr?n=vt(e.min,e.max-r,t.min):r>o&&(n=vt(t.min,t.max-o,e.min)),Rt(0,1,n)}function Rn(t,e,n,r){var o=e.max-e.min,i=n.max-n.min;t.origin=void 0===r?An(e,n):r,t.originPoint=mt(e.min,e.max,t.origin),t.scale=i/o,Tn(t.scale,1,1e-4)&&(t.scale=1),t.translate=function(t,e,n){var r=mt(t.min,t.max,n);return mt(e.min,e.max,n)-r}(e,n,t.origin),Tn(t.translate)&&(t.translate=0)}function Mn(t,e,n,r){Rn(t.x,e.x,n.x,r),Rn(t.y,e.y,n.y,r)}function Ln(t){return[t("x"),t("y")]}var Dn=function(t){return 1e3*t},_n=function(t){if(Array.isArray(t)){t.length;var e=Object(o.c)(t,4);return De(e[0],e[1],e[2],e[3])}return"string"==typeof t?r[t]:t},Nn=function(t,e){return"zIndex"!==t&&(!("number"!=typeof e&&!Array.isArray(e))||!("string"!=typeof e||!X.test(e)||e.startsWith("url(")))},Fn=function(t){return Array.isArray(t)},Vn=function(){return{type:"spring",stiffness:500,damping:25,restDelta:.5,restSpeed:10}},Bn=function(t){return{type:"spring",stiffness:550,damping:0===t?100:30,restDelta:.01,restSpeed:10}},In=function(){return{type:"keyframes",ease:"linear",duration:.3}},Un=function(t){return{type:"keyframes",duration:.8,values:t}},qn={x:Vn,y:Vn,z:Vn,rotate:Vn,rotateX:Vn,rotateY:Vn,rotateZ:Vn,scaleX:Bn,scaleY:Bn,scale:Bn,opacity:In,backgroundColor:In,color:In,default:Bn};function Wn(t){var e=t.yoyo,n=t.loop,r=t.flip,i=t.ease,a=Object(o.d)(t,["yoyo","loop","flip","ease"]),s=Object(o.a)({},a);return a.duration&&(s.duration=Dn(a.duration)),a.repeatDelay&&(s.repeatDelay=Dn(a.repeatDelay)),i&&(s.ease=function(t){return Array.isArray(t)&&"number"!=typeof t[0]}(i)?i.map(_n):_n(i)),"tween"===a.type&&(s.type="keyframes"),e?s.repeatType="reverse":n?s.repeatType="loop":r&&(s.repeatType="mirror"),s.repeat=n||e||r||a.repeat,"spring"!==a.type&&(s.type="keyframes"),s}function zn(t,e,n){var r,i,a;return function(t){Array.isArray(t.to)&&null===t.to[0]&&(t.to=Object(o.e)(t.to),t.to[0]=t.from)}(e),function(t){t.when,t.delay,t.delayChildren,t.staggerChildren,t.staggerDirection,t.repeat,t.repeatType,t.repeatDelay,t.from;var e=Object(o.d)(t,["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from"]);return!!Object.keys(e).length}(t)||(t=Object(o.a)(Object(o.a)({},t),(r=n,i=e.to,a=Fn(i)?Un:qn[r]||qn.default,Object(o.a)({to:i},a(i))))),Object(o.a)(Object(o.a)({},e),Wn(t))}function Hn(t,e,n,r){return void 0===r&&(r={}),e.start((function(i){var a,s,u=function(t,e,n,r,i){var a=e.get(),s=r[t]||r.default||r,u=Nn(t,e.get()),c=Nn(t,n);return u&&c&&!1!==s.type?function(){var r={from:a,to:n,velocity:e.getVelocity(),onComplete:i,onUpdate:function(t){return e.set(t)}};return"inertia"===s.type||"decay"===s.type?ce(Object(o.a)(Object(o.a)({},r),s)):se(zn(s,r,t))}:function(){return e.set(n),i(),{stop:function(){}}}}(t,e,n,r,i),c=function(t,e){var n,r,o,i,a;return null!==(a=null!==(i=null!==(r=null===(n=t[e])||void 0===n?void 0:n.delay)&&void 0!==r?r:null===(o=t.default)||void 0===o?void 0:o.delay)&&void 0!==i?i:t.delay)&&void 0!==a?a:0}(r,t),l=function(){return s=u()};return c?a=setTimeout(l,Dn(c)):l(),function(){clearTimeout(a),null==s||s.stop()}}))}function Gn(t,e){return ze(function(t,e){var n=t.top,r=t.left,o=t.bottom,i=t.right;void 0===e&&(e=We);var a=e({x:r,y:n}),s=e({x:i,y:o});return{top:a.y,left:a.x,bottom:s.y,right:s.x}}(t.getBoundingClientRect(),e))}var Qn=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.defaultConfig={enableHardwareAcceleration:!0,allowTransformNone:!0},e.style={},e.reactStyle={},e.vars={},e.transform={},e.transformOrigin={},e.transformKeys=[],e.config=e.defaultConfig,e.isLayoutProjectionEnabled=!1,e.layoutUpdateListeners=new Be,e.layoutMeasureListeners=new Be,e.viewportBoxUpdateListeners=new Be,e.hasViewportBoxUpdated=!1,e.targetBoxFinal={x:{min:0,max:1},y:{min:0,max:1}},e.treeScale={x:1,y:1},e.delta=Qe(),e.deltaFinal=Qe(),e.stopLayoutAxisAnimation={x:function(){},y:function(){}},e.isTargetBoxLocked=!1,e.axisProgress={x:Ue(0),y:Ue(0)},e.updateLayoutDelta=function(){e.isLayoutProjectionEnabled&&e.box&&e.updateLayoutDeltas(),e.children.forEach($n)},e}return Object(o.b)(e,t),e.prototype.removeValue=function(e){t.prototype.removeValue.call(this,e),delete this.vars[e],delete this.style[e]},e.prototype.clean=function(){this.style={},this.vars={},this.transform={}},e.prototype.updateConfig=function(t){void 0===t&&(t={}),this.config=Object(o.a)(Object(o.a)({},this.defaultConfig),t)},e.prototype.read=function(t){return this.getComputedStyle()[t]||0},e.prototype.addValue=function(e,n){t.prototype.addValue.call(this,e,n),e.startsWith("rotate")&&(this.layoutOrigin=.5)},e.prototype.readNativeValue=function(t){if(cn(t)){var e=en(t);return e&&e.default||0}return this.read(t)},e.prototype.enableLayoutProjection=function(){this.isLayoutProjectionEnabled=!0},e.prototype.hide=function(){!1!==this.isVisible&&(this.isVisible=!1,this.scheduleRender())},e.prototype.show=function(){!0!==this.isVisible&&(this.isVisible=!0,this.scheduleRender())},e.prototype.onLayoutUpdate=function(t){return this.layoutUpdateListeners.add(t)},e.prototype.onLayoutMeasure=function(t){return this.layoutMeasureListeners.add(t)},e.prototype.onViewportBoxUpdate=function(t){return this.viewportBoxUpdateListeners.add(t)},e.prototype.layoutReady=function(t){this.layoutUpdateListeners.notify(this.box,this.prevViewportBox||this.box,t)},e.prototype.getBoundingBox=function(){var t=this.config.transformPagePoint;return Gn(this.element,t)},e.prototype.getBoundingBoxWithoutTransforms=function(){var t,e,n=this.getBoundingBox();return t=n,e=this.latest,kn(t.x,e,jn),kn(t.y,e,Cn),n},e.prototype.getComputedStyle=function(){return window.getComputedStyle(this.element)},e.prototype.snapshotBoundingBox=function(){this.prevViewportBox=this.getBoundingBoxWithoutTransforms();var t=this.axisProgress,e=t.x,n=t.y;this.isTargetBoxLocked||e.isAnimating()||n.isAnimating()||(this.targetBox=He(this.prevViewportBox))},e.prototype.measureLayout=function(){this.box=this.getBoundingBox(),this.boxCorrected=He(this.box),this.targetBox||(this.targetBox=He(this.box)),this.layoutMeasureListeners.notify(this.box,this.prevViewportBox||this.box)},e.prototype.refreshTargetBox=function(){this.targetBox=this.getBoundingBoxWithoutTransforms()},e.prototype.lockTargetBox=function(){this.isTargetBoxLocked=!0},e.prototype.unlockTargetBox=function(){this.stopLayoutAnimation(),this.isTargetBoxLocked=!1},e.prototype.resetTransform=function(){var t=this.config.transformTemplate;this.element.style.transform=t?t({},""):"none",this.scheduleRender()},e.prototype.resetRotate=function(){var t=this,e=!1,n={};if(rn.forEach((function(r){var o="rotate"+r;t.hasValue(o)&&(e=!0,n[o]=t.latest[o],t.latest[o]=0)})),e){for(var r in this.render(),n)this.latest[r]=n[r];this.scheduleRender()}},e.prototype.setAxisTarget=function(t,e,n){var r=this.targetBox[t];r.min=e,r.max=n,this.hasViewportBoxUpdated=!0,this.rootParent.scheduleUpdateLayoutDelta()},e.prototype.startLayoutAxisAnimation=function(t,e){var n=this,r=this.axisProgress[t],o=this.targetBox[t],i=o.min,a=o.max-i;return r.clearListeners(),r.set(i),r.set(i),r.onChange((function(e){return n.setAxisTarget(t,e,e+a)})),Hn(t,r,0,e)},e.prototype.stopLayoutAnimation=function(){var t=this;Ln((function(e){return t.axisProgress[e].stop()}))},e.prototype.updateLayoutDeltas=function(){var t,e,n,r,o;t=this.boxCorrected,e=this.box,bn(t.x,e.x),bn(t.y,e.y),this.parent&&(n=this.treeScale,r=this.parent.treeScale,o=this.parent.delta,n.x=r.x*o.x.scale,n.y=r.y*o.y.scale),function(t,e){for(var n=e.length,r=0;r=3;if(e||n){var i=t.point,a=x().timestamp;r.history.push(Object(o.a)(Object(o.a)({},i),{timestamp:a}));var s=r.handlers,u=s.onStart,c=s.onMove;e||(u&&u(r.lastMoveEvent,t),r.startEvent=r.lastMoveEvent),c&&c(r.lastMoveEvent,t)}}},!(ho(t)&&t.touches.length>1)){this.handlers=e,this.transformPagePoint=i;var a=To(go(t),this.transformPagePoint),s=a.point,u=x().timestamp;this.history=[Object(o.a)(Object(o.a)({},s),{timestamp:u})];var c=e.onSessionStart;c&&c(t,Ao(a,this.history));var l=Co(window,"pointermove",(function(t,e){return r.handlePointerMove(t,e)})),f=Co(window,"pointerup",(function(t,e){return r.handlePointerUp(t,e)}));this.removeListeners=function(){l&&l(),f&&f()}}}return t.prototype.handlePointerMove=function(t,e){this.lastMoveEvent=t,this.lastMoveEventInfo=To(e,this.transformPagePoint),po(t)&&0===t.buttons?this.handlePointerUp(t,e):E.update(this.updatePoint,!0)},t.prototype.handlePointerUp=function(t,e){this.end();var n=this.handlers.onEnd;if(n){var r=Ao(To(e,this.transformPagePoint),this.history);n&&n(t,r)}},t.prototype.updateHandlers=function(t){this.handlers=t},t.prototype.end=function(){this.removeListeners&&this.removeListeners(),g.update(this.updatePoint),lo()},t}();function To(t,e){return e?{point:e(t.point)}:t}function Ao(t,e){var n=t.point;return{point:n,delta:wo.subtract(n,Mo(e)),offset:wo.subtract(n,Ro(e)),velocity:Lo(e,.1)}}function Ro(t){return t[0]}function Mo(t){return t[t.length-1]}function Lo(t,e){if(t.length<2)return{x:0,y:0};for(var n=t.length-1,r=null,o=Mo(t);n>=0&&(r=t[n],!(o.timestamp-r.timestamp>Dn(e)));)n--;if(!r)return{x:0,y:0};var i=(o.timestamp-r.timestamp)/1e3;if(0===i)return{x:0,y:0};var a={x:(o.x-r.x)/i,y:(o.y-r.y)/i};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function Do(t,e,n){var r=e.min,o=e.max;return void 0!==r&&to&&(t=n?mt(o,t,n):Math.min(t,o)),t}function _o(t,e,n){return{min:void 0!==e?t.min+e:void 0,max:void 0!==n?t.max+n-(t.max-t.min):void 0}}function No(t,e){var n,r=e.min-t.min,i=e.max-t.max;return e.max-e.mine?n="y":Math.abs(t.x)>e&&(n="x");return n}(l),void(null!==n.currentDirection&&(null===(o=(r=n.props).onDirectionLock)||void 0===o||o.call(r,n.currentDirection)));n.updateAxis("x",t,l),n.updateAxis("y",t,l),null===(a=(i=n.props).onDrag)||void 0===a||a.call(i,t,e),Fo=t}},onEnd:function(t,e){return n.stop(t,e)}},{transformPagePoint:s})},t.prototype.prepareBoundingBox=function(){var t=this.visualElement.getInstance(),e=t.style.transform;this.visualElement.resetTransform(),this.visualElement.measureLayout(),t.style.transform=e,this.visualElement.refreshTargetBox()},t.prototype.resolveDragConstraints=function(){var t,e,n,r,o,i,a=this,s=this.props.dragConstraints;this.constraints=!!s&&(Ve(s)?this.resolveRefConstraints(this.visualElement.box,s):(t=this.visualElement.box,n=(e=s).top,r=e.left,o=e.bottom,i=e.right,{x:_o(t.x,r,i),y:_o(t.y,n,o)})),this.constraints&&Ln((function(t){var e,n,r;a.getAxisMotionValue(t)&&(a.constraints[t]=(e=a.visualElement.box[t],n=a.constraints[t],r={},void 0!==n.min&&(r.min=n.min-e.min),void 0!==n.max&&(r.max=n.max-e.min),r))}))},t.prototype.resolveRefConstraints=function(t,e){var n=this.props,r=n.onMeasureDragConstraints,o=n.transformPagePoint,i=e.current;this.constraintsBox=Gn(i,o);var a=function(t,e){return{x:No(t.x,e.x),y:No(t.y,e.y)}}(t,this.constraintsBox);if(r){var s=r(function(t){var e=t.x,n=t.y;return{top:n.min,bottom:n.max,left:e.min,right:e.max}}(a));s&&(a=ze(s))}return a},t.prototype.cancelDrag=function(){lo(),this.isDragging=!1,this.panSession&&this.panSession.end(),this.panSession=null,!this.props.dragPropagation&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null)},t.prototype.stop=function(t,e){var n;this.visualElement.unlockTargetBox(),null===(n=this.panSession)||void 0===n||n.end(),this.panSession=null;var r=this.isDragging;if(this.cancelDrag(),r){var o=this.props,i=o.dragMomentum,a=o.dragElastic,s=o.onDragEnd;if(i||a){var u=e.velocity;this.animateDragEnd(u)}null==s||s(t,e)}},t.prototype.snapToCursor=function(t){var e=this;this.prepareBoundingBox(),Ln((function(n){var r=e.getAxisMotionValue(n);if(r){var o=bo(t).point,i=e.visualElement.box,a=i[n].max-i[n].min,s=i[n].min+a/2,u=o[n]-s;e.originPoint[n]=o[n],r.set(u)}else e.cursorProgress[n]=.5,e.updateVisualElementAxis(n,t)}))},t.prototype.updateAxis=function(t,e,n){if(Io(t,this.props.drag,this.currentDirection))return this.getAxisMotionValue(t)?this.updateAxisMotionValue(t,n):this.updateVisualElementAxis(t,e)},t.prototype.updateAxisMotionValue=function(t,e){var n=this.getAxisMotionValue(t);if(e&&n){var r=this.props.dragElastic,o=this.originPoint[t]+e[t],i=this.constraints?Do(o,this.constraints[t],r):o;n.set(i)}},t.prototype.updateVisualElementAxis=function(t,e){var n,r=this.props.dragElastic,o=this.visualElement.box[t],i=o.max-o.min,a=this.cursorProgress[t],s=function(t,e,n,r,o){var i=t-e*n;return r?Do(i,r,o):i}(bo(e).point[t],i,a,null===(n=this.constraints)||void 0===n?void 0:n[t],r);this.visualElement.setAxisTarget(t,s,s+i)},t.prototype.updateProps=function(t){var e=t.drag,n=void 0!==e&&e,r=t.dragDirectionLock,i=void 0!==r&&r,a=t.dragPropagation,s=void 0!==a&&a,u=t.dragConstraints,c=void 0!==u&&u,l=t.dragElastic,f=void 0===l?.35:l,p=t.dragMomentum,d=void 0===p||p,h=Object(o.d)(t,["drag","dragDirectionLock","dragPropagation","dragConstraints","dragElastic","dragMomentum"]);this.props=Object(o.a)({drag:n,dragDirectionLock:i,dragPropagation:s,dragConstraints:c,dragElastic:f,dragMomentum:d},h)},t.prototype.getAxisMotionValue=function(t){var e=this.props,n=e.layout,r=e.layoutId,o="_drag"+t.toUpperCase();return this.props[o]?this.props[o]:n||void 0!==r?void 0:this.visualElement.getValue(t,0)},t.prototype.animateDragEnd=function(t){var e=this,n=this.props,r=n.drag,i=n.dragMomentum,a=n.dragElastic,s=n.dragTransition,u=Ln((function(n){if(Io(n,r,e.currentDirection)){var u=e.constraints?e.constraints[n]:{},c=a?200:1e6,l=a?40:1e7,f=Object(o.a)(Object(o.a)({type:"inertia",velocity:i?t[n]:0,bounceStiffness:c,bounceDamping:l,timeConstant:750,restDelta:1,restSpeed:10},s),u);return e.getAxisMotionValue(n)?e.startAxisValueAnimation(n,f):e.visualElement.startLayoutAxisAnimation(n,f)}}));return Promise.all(u).then((function(){var t,n;null===(n=(t=e.props).onDragTransitionEnd)||void 0===n||n.call(t)}))},t.prototype.stopMotion=function(){var t=this;Ln((function(e){var n=t.getAxisMotionValue(e);n?n.stop():t.visualElement.stopLayoutAnimation()}))},t.prototype.startAxisValueAnimation=function(t,e){var n=this.getAxisMotionValue(t);if(n){var r=n.get();return n.set(r),n.set(r),Hn(t,n,0,e)}},t.prototype.scalePoint=function(){var t=this,e=this.props,n=e.drag,r=e.dragConstraints;if(Ve(r)&&this.constraintsBox){this.stopMotion();var o={x:0,y:0};Ln((function(e){o[e]=An(t.visualElement.targetBox[e],t.constraintsBox[e])})),this.prepareBoundingBox(),this.resolveDragConstraints(),Ln((function(e){if(Io(e,n,null)){var r=function(t,e,n){var r=t.max-t.min,o=mt(e.min,e.max-r,n);return{min:o,max:o+r}}(t.visualElement.targetBox[e],t.constraintsBox[e],o[e]),i=r.min,a=r.max;t.visualElement.setAxisTarget(e,i,a)}}))}},t.prototype.mount=function(t){var e=this,n=Co(t.getInstance(),"pointerdown",(function(t){var n=e.props,r=n.drag,o=n.dragListener;r&&(void 0===o||o)&&e.start(t)})),r=fo(window,"resize",(function(){e.scalePoint()})),o=t.onLayoutUpdate((function(){e.isDragging&&e.resolveDragConstraints()})),i=t.prevSnapshot;return(null==i?void 0:i.isDragging)&&this.start(Fo,{cursorProgress:i.cursorProgress}),function(){null==n||n(),null==r||r(),null==o||o(),e.cancelDrag()}},t}();function Io(t,e,n){return!(!0!==e&&e!==t||null!==n&&n!==t)}var Uo=function(t){return function(e){return t(e),null}},qo=Uo((function(t){var e=t.visualElement;return function(t,e){var n=t.dragControls,r=Object(Ne.useContext)(Yr).transformPagePoint,i=Kn((function(){return new Bo({visualElement:e})}));i.updateProps(Object(o.a)(Object(o.a)({},t),{transformPagePoint:r})),Object(Ne.useEffect)((function(){return n&&n.subscribe(i)}),[i]),Object(Ne.useEffect)((function(){return i.mount(e)}),[])}(Object(o.d)(t,["visualElement"]),e)})),Wo={key:"drag",shouldRender:function(t){return!!t.drag},getComponent:function(){return qo}};function zo(t){return Object(Ne.useEffect)((function(){return function(){return t()}}),[])}var Ho=function(t,e){return!!e&&(t===e||Ho(t,e.parentElement))},Go=["whileHover","whileTap","whileDrag"],Qo=function(t){return Go.indexOf(t)+1},$o=Qo("whileTap");var Ko=Qo("whileHover"),Xo=function(t){return function(e,n){po(e)&&t(e,n)}};function Yo(t,e){!function(t,e){var n=t.onPan,r=t.onPanStart,o=t.onPanEnd,i=t.onPanSessionStart,a=n||r||o||i,s=Object(Ne.useRef)(null),u=Object(Ne.useContext)(Yr).transformPagePoint,c={onSessionStart:i,onStart:r,onMove:n,onEnd:function(t,e){s.current=null,o&&o(t,e)}};Object(Ne.useEffect)((function(){null!==s.current&&s.current.updateHandlers(c)})),Po(e,"pointerdown",a&&function(t){s.current=new ko(t,c,{transformPagePoint:u})}),zo((function(){return s.current&&s.current.end()}))}(t,e),function(t,e){var n=t.onTap,r=t.onTapStart,o=t.onTapCancel,i=t.whileTap,a=t.controls,s=n||r||o||i,u=Object(Ne.useRef)(!1),c=Object(Ne.useRef)(null);function l(){c.current&&c.current(),c.current=null}i&&a&&a.setOverride(i,$o);var f=Object(Ne.useRef)(null);f.current=function(t,r){var s=e.current;if(l(),u.current&&s){u.current=!1,a&&i&&a.clearOverride($o);var c=uo(!0);c&&(c(),Ho(s,t.target)?n&&n(t,r):o&&o(t,r))}},Po(e,"pointerdown",s?function(t,n){l(),c.current=Co(window,"pointerup",(function(t,e){return f.current(t,e)})),e.current&&!u.current&&(u.current=!0,r&&r(t,n),a&&i&&a.startOverride($o))}:void 0),zo(l)}(t,e),function(t,e){var n=t.whileHover,r=t.onHoverStart,o=t.onHoverEnd,i=t.controls;n&&i&&i.setOverride(n,Ko),Po(e,"pointerenter",Xo((function(t,e){r&&r(t,e),n&&i&&i.startOverride(Ko)}))),Po(e,"pointerleave",Xo((function(t,e){o&&o(t,e),n&&i&&i.clearOverride(Ko)})))}(t,e)}var Zo,Jo=["onPan","onPanStart","onPanEnd","onPanSessionStart","onTap","onTapStart","onTapCancel","whileTap","whileHover","onHoverStart","onHoverEnd"],ti=Uo((function(t){var e=t.visualElement;Yo(Object(o.d)(t,["visualElement"]),e)})),ei={key:"gestures",shouldRender:function(t){return Jo.some((function(e){return t.hasOwnProperty(e)}))},getComponent:function(){return ti}},ni=Uo((function(t){var e=t.animate,n=t.controls,r=t.exit,i=Object(o.c)(cr(),2),a=i[0],s=i[1],u=Object(Ne.useContext)(ur),c=Object(Ne.useRef)(!1),l=void 0!==(null==u?void 0:u.custom)?u.custom:t.custom;Object(Ne.useEffect)((function(){a?!c.current||!e||"boolean"==typeof e||e instanceof _r||n.start(e):(!c.current&&r&&n.start(r,{custom:l}).then(s),c.current=!0),a&&(c.current=!1)}),[e,n,l,r,a,s,t])})),ri={key:"exit",shouldRender:function(t){return!!t.exit&&!Ir(t)},getComponent:function(){return ni}};!function(t){t.Target="Target",t.VariantLabel="VariantLabel",t.AnimationSubscription="AnimationSubscription"}(Zo||(Zo={}));function oi(t,e){void 0===e&&(e=!1);t.transition;var n=t.transitionEnd,r=Object(o.d)(t,["transition","transitionEnd"]);return e?Object(o.a)(Object(o.a)({},r),n):r}var ii,ai,si=function(t){var e,n=t instanceof Ie?t.get():t;return Array.from(new Set((e=n)?Array.isArray(e)?e:[e]:[]))};var ui=((ii={})[Zo.Target]=Uo((function(t){return function(t,e,n,r){var i=Object(Ne.useRef)(!0),a=Object(Ne.useRef)(null);a.current||(a.current=oi(t,!0)),Object(Ne.useEffect)((function(){var s,u,c={},l=oi(t),f=oi(t,!0);for(var p in l){var d=i.current&&(!n.hasValue(p)||n.getValue(p).get()!==f[p]),h=null!==f[p],v=(s=a.current[p],void 0!==(u=f[p])&&(Array.isArray(s)&&Array.isArray(u)?!function(t,e){if(null===e)return!1;var n=e.length;if(n!==t.length)return!1;for(var r=0;re?1:n(vt(t,e,r))}}var bi=gi(0,.5,Ht),wi=gi(.5,.95,It),Oi={key:"animate-layout",shouldRender:function(t){return!!t.layout||!!t.layoutId},getComponent:function(){return hi}},xi=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(o.b)(e,t),e.prototype.componentDidMount=function(){var t=this.props,e=t.syncLayout,n=t.visualElement;eo(e)&&e.register(n)},e.prototype.getSnapshotBeforeUpdate=function(){var t=this.props,e=t.syncLayout,n=t.visualElement;return eo(e)?e.syncUpdate():(n.snapshotBoundingBox(),e.add(n)),null},e.prototype.componentDidUpdate=function(){var t=this.props,e=t.syncLayout,n=t.visualElement;eo(e)||e.flush();var r=n.axisProgress,o=r.x,i=r.y;!n.box||n.isTargetBoxLocked||o.isAnimating()||i.isAnimating()||(Ln((function(t){var e=n.box[t],r=e.min,o=e.max;n.setAxisTarget(t,r,o)})),n.render())},e.prototype.render=function(){return null},e}(Fe.a.Component);function Ei(t){var e=Object(Ne.useContext)(no);return Fe.a.createElement(xi,Object(o.a)({},t,{syncLayout:e}))}var Si={key:"measure-layout",shouldRender:function(t){return!!t.drag||!!t.layout||!!t.layoutId},getComponent:function(){return Ei}};function ji(t){var e={defaultFeatures:t,useVisualElement:dr,render:gr,animationControlsConfig:{makeTargetAnimatable:Dr}};var n=new Map;return new Proxy({custom:function(t){return oo(t,e)}},{get:function(t,r){return"custom"===r?t.custom:(n.has(r)||n.set(r,oo(r,e)),n.get(r))}})}var Ci=ji([Si,pi,Wo,ei,ri,Oi]);function Pi(t,e){return e&&t!==e.lead?{visibilityAction:Xr.Hide}:e&&t.presence!==Kr.Entering&&t===e.lead&&e.lead!==e.prevLead?{visibilityAction:Xr.Show}:(t.presence===Kr.Entering?n=null==e?void 0:e.getFollowOrigin():t.presence===Kr.Exiting&&(r=null==e?void 0:e.getFollowTarget()),{originBox:n,targetBox:r});var n,r}function ki(t,e){var n,r,o,i={},a=e&&e.lead,s=null==a?void 0:a.presence;return e&&t===a?t.presence===Kr.Entering?i.originBox=e.getFollowOrigin():t.presence===Kr.Exiting&&(i.targetBox=e.getFollowTarget()):e&&t===e.follow&&(i.transition=e.getLeadTransition(),s===Kr.Entering?i.targetBox=e.getLeadTarget():s===Kr.Exiting&&(i.originBox=e.getLeadOrigin())),(null===(n=null==e?void 0:e.follow)||void 0===n?void 0:n.isPresenceRoot)||(null==a?void 0:a.isPresenceRoot)?(e&&t!==a?e&&t===e.follow?a&&s!==Kr.Entering&&s===Kr.Exiting&&(i.crossfadeOpacity=null===(o=null==e?void 0:e.lead)||void 0===o?void 0:o.getValue("opacity",1)):i.visibilityAction=Xr.Hide:t.presence===Kr.Entering&&(i.crossfadeOpacity=null===(r=null==e?void 0:e.follow)||void 0===r?void 0:r.getValue("opacity",0)),i):i}var Ti=function(){function t(){this.order=[],this.hasChildren=!1}return t.prototype.add=function(t){var e,n=t.config.layoutOrder;if(void 0===n)this.order.push(t);else{var r=this.order.findIndex((function(t){return n<=(t.config.layoutOrder||0)}));-1===r&&(t.presence=this.hasChildren?Kr.Entering:Kr.Present,r=this.order.length),this.order.splice(r,0,t)}if(this.snapshot){t.prevSnapshot=this.snapshot,t.prevViewportBox=this.snapshot.boundingBox;var o=this.snapshot.latestMotionValues;for(var i in o)t.hasValue(i)?null===(e=t.getValue(i))||void 0===e||e.set(o[i]):t.addValue(i,Ue(o[i]))}this.hasChildren=!0},t.prototype.remove=function(t){var e=this.order.findIndex((function(e){return t===e}));-1!==e&&this.order.splice(e,1)},t.prototype.updateLeadAndFollow=function(){this.prevLead=this.lead,this.prevFollow=this.follow;var t=Object(o.c)(function(t,e){for(var n=Object(o.c)(e,2),r=n[0],i=n[1],a=void 0,s=0,u=void 0,c=t.length,l=!1,f=c-1;f>=0;f--){var p=t[f];if(f===c-1&&(l=p.isPresent),l)a=p;else{var d=t[f-1];d&&d.isPresent&&(a=p)}if(a){s=f;break}}if(a||(a=t[0]),u=t[s-1],a)for(f=s-1;f>=0;f--)if((p=t[f]).isPresent){u=p;break}return a!==r&&!l&&u===i&&t.find((function(t){return t===r}))&&(a=r),[a,u]}(this.order,[this.lead,this.follow]),2),e=t[0],n=t[1];this.lead=e,this.follow=n},t.prototype.updateSnapshot=function(){if(this.lead){var t={boundingBox:this.lead.prevViewportBox,latestMotionValues:{}};this.lead.forEachValue((function(e,n){var r=e.get();cn(r)||(t.latestMotionValues[n]=r)}));var e=Vo.get(this.lead);e&&e.isDragging&&(t.isDragging=!0,t.cursorProgress=e.cursorProgress),this.snapshot=t}},t.prototype.isLeadPresent=function(){var t;return this.lead&&(null===(t=this.lead)||void 0===t?void 0:t.presence)!==Kr.Exiting},t.prototype.shouldStackAnimate=function(){return!0},t.prototype.getFollowOrigin=function(){var t;return this.follow?this.follow.prevViewportBox:null===(t=this.snapshot)||void 0===t?void 0:t.boundingBox},t.prototype.getFollowTarget=function(){var t;return null===(t=this.follow)||void 0===t?void 0:t.box},t.prototype.getLeadOrigin=function(){var t;return null===(t=this.lead)||void 0===t?void 0:t.prevViewportBox},t.prototype.getLeadTarget=function(){var t;return null===(t=this.lead)||void 0===t?void 0:t.box},t.prototype.getLeadTransition=function(){var t;return null===(t=this.lead)||void 0===t?void 0:t.config.transition},t}();!function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.children=new Set,e.stacks=new Map,e.hasMounted=!1,e.updateScheduled=!1,e.renderScheduled=!1,e.syncContext=Object(o.a)(Object(o.a)({},to()),{syncUpdate:function(t){return e.scheduleUpdate(t)},forceUpdate:function(){e.syncContext=Object(o.a)({},e.syncContext),e.scheduleUpdate(!0)},register:function(t){return e.addChild(t)},remove:function(t){return e.removeChild(t)}}),e}Object(o.b)(e,t),e.prototype.componentDidMount=function(){this.hasMounted=!0,this.updateStacks()},e.prototype.componentDidUpdate=function(){this.startLayoutAnimation()},e.prototype.shouldComponentUpdate=function(){return this.renderScheduled=!0,!0},e.prototype.startLayoutAnimation=function(){var t=this;this.renderScheduled=this.updateScheduled=!1;var e=this.props.type;this.children.forEach((function(t){t.isPresent?t.presence!==Kr.Entering&&(t.presence=t.presence===Kr.Exiting?Kr.Entering:Kr.Present):t.presence=Kr.Exiting})),this.updateStacks();var n="crossfade"===e?ki:Pi,r={measureLayout:function(t){return t.measureLayout()},layoutReady:function(e){var r=e.layoutId;e.layoutReady(n(e,t.getStack(r)))}};this.children.forEach((function(e){return t.syncContext.add(e)})),this.syncContext.flush(r),this.stacks.forEach((function(t){return t.snapshot=void 0}))},e.prototype.updateStacks=function(){this.stacks.forEach((function(t){return t.updateLeadAndFollow()}))},e.prototype.scheduleUpdate=function(t){void 0===t&&(t=!1),!t&&this.updateScheduled||(this.updateScheduled=!0,this.props._supportRotate&&this.children.forEach((function(t){return t.resetRotate()})),this.children.forEach((function(t){return t.snapshotBoundingBox()})),this.stacks.forEach((function(t){return t.updateSnapshot()})),!t&&this.renderScheduled||(this.renderScheduled=!0,this.forceUpdate()))},e.prototype.addChild=function(t){this.children.add(t),this.addToStack(t),t.presence=this.hasMounted?Kr.Entering:Kr.Present},e.prototype.removeChild=function(t){this.scheduleUpdate(),this.children.delete(t),this.removeFromStack(t)},e.prototype.addToStack=function(t){var e=this.getStack(t.layoutId);null==e||e.add(t)},e.prototype.removeFromStack=function(t){var e=this.getStack(t.layoutId);null==e||e.remove(t)},e.prototype.getStack=function(t){if(void 0!==t)return!this.stacks.has(t)&&this.stacks.set(t,new Ti),this.stacks.get(t)},e.prototype.render=function(){return Object(Ne.createElement)(no.Provider,{value:this.syncContext},this.props.children)}}(Ne.Component);function Ai(){return{scrollX:Ue(0),scrollY:Ue(0),scrollXProgress:Ue(0),scrollYProgress:Ue(0)}}Ai();var Ri=Ue(null);if("undefined"!=typeof window)if(window.matchMedia){var Mi=window.matchMedia("(prefers-reduced-motion)"),Li=function(){return Ri.set(Mi.matches)};Mi.addListener(Li),Li()}else Ri.set(!1);!function(){function t(){this.componentControls=new Set}t.prototype.subscribe=function(t){var e=this;return this.componentControls.add(t),function(){return e.componentControls.delete(t)}},t.prototype.start=function(t,e){this.componentControls.forEach((function(n){n.start(t.nativeEvent||t,e)}))}}();!function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.initialState={},e}Object(o.b)(e,t),e.prototype.updateLayoutDelta=function(){},e.prototype.build=function(){},e.prototype.clean=function(){},e.prototype.getBoundingBox=function(){return{x:{min:0,max:0},y:{min:0,max:0}}},e.prototype.readNativeValue=function(t){return this.initialState[t]||0},e.prototype.render=function(){this.build()}}(qe)},a3WO:function(t,e,n){"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n4&&void 0!==arguments[4]?arguments[4]:{};c((function(){var i=document.getElementById(e).getContext("2d"),a=new t(i,{type:"line",data:n,options:u(u({},l),o)}),s=r&&r.subscribe((function(){return a.update()}));return function(){s&&s(),a.destroy()}}),[t,e,n,r,o])}},btwz:function(t,e,n){t.exports={lo:"_2fg1R7Zu62"}},dBaT:function(t,e,n){"use strict";t.exports=n("MF5s")},ewTs:function(t,e,n){},fbhf:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.dumpClassLists=function(){0};var r={},o={};e.add=function(t,e){return n=t.classList,i="html"==t.nodeName.toLowerCase()?r:o,void e.split(" ").forEach((function(t){!function(t,e){t[e]||(t[e]=0),t[e]+=1}(i,t),n.add(t)}));var n,i},e.remove=function(t,e){return n=t.classList,i="html"==t.nodeName.toLowerCase()?r:o,void e.split(" ").forEach((function(t){!function(t,e){t[e]&&(t[e]-=1)}(i,t),0===i[t]&&n.remove(t)}));var n,i}},gjz0:function(t,e,n){t.exports={root:"_2kr0S-YLqE"}},"hN5/":function(t,e,n){},hkBY:function(t,e,n){"use strict";var r=n("q1tI"),o=n.n(r),i=n("ohBo"),a=n.n(i),s=n("OADI"),u=n("WfPo");e.a=Object(u.a)((function(t){return{theme:Object(s.i)(t)}}))((function(t){var e=t.checked,n=void 0!==e&&e,r=t.onChange,i=t.theme,s=t.name,u="dark"===i?"#393939":"#e9e9e9";return o.a.createElement(a.a,{onChange:r,checked:n,uncheckedIcon:!1,checkedIcon:!1,offColor:u,onColor:"#047aff",offHandleColor:"#fff",onHandleColor:"#fff",handleDiameter:24,height:28,width:44,className:"rs",name:s})}))},iuhU:function(t,e,n){"use strict";function r(t){var e,n,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t)if(Array.isArray(t))for(e=0;e=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(s&&u){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=undefined),l}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}},mLhc:function(t,e,n){var r=function(t){"use strict";var e=Object.prototype,n=e.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag";function s(t,e,n,r){var o=e&&e.prototype instanceof l?e:l,i=Object.create(o.prototype),a=new x(r||[]);return i._invoke=function(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return S()}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var s=b(a,n);if(s){if(s===c)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=u(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===c)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}(t,n,a),i}function u(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=s;var c={};function l(){}function f(){}function p(){}var d={};d[o]=function(){return this};var h=Object.getPrototypeOf,v=h&&h(h(E([])));v&&v!==e&&n.call(v,o)&&(d=v);var m=p.prototype=l.prototype=Object.create(d);function y(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function g(t,e){var r;this._invoke=function(o,i){function a(){return new e((function(r,a){!function r(o,i,a,s){var c=u(t[o],t,i);if("throw"!==c.type){var l=c.arg,f=l.value;return f&&"object"==typeof f&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return r("throw",t,a,s)}))}s(c.arg)}(o,i,r,a)}))}return r=r?r.then(a,a):a()}}function b(t,e){var n=t.iterator[e.method];if(undefined===n){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=undefined,b(t,e),"throw"===e.method))return c;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}var r=u(n,t.iterator,e.arg);if("throw"===r.type)return e.method="throw",e.arg=r.arg,e.delegate=null,c;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=undefined),e.delegate=null,c):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,c)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(w,this),this.reset(!0)}function E(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(s&&u){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),O(n),c}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;O(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:E(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=undefined),c}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}},mrSG:function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"a",(function(){return i})),n.d(e,"d",(function(){return a})),n.d(e,"g",(function(){return s})),n.d(e,"c",(function(){return u})),n.d(e,"e",(function(){return c})),n.d(e,"f",(function(){return l}));var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function o(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var i=function(){return(i=Object.assign||function(t){for(var e,n=1,r=arguments.length;n=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function u(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,i=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function c(){for(var t=[],e=0;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var c=Object(r.forwardRef)((function(t,e){var n=t.color,r=void 0===n?"currentColor":n,i=t.size,a=void 0===i?24:i,c=u(t,["color","size"]);return o.a.createElement("svg",s({ref:e,xmlns:"http://www.w3.org/2000/svg",width:a,height:a,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},c),o.a.createElement("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"}))}));c.propTypes={color:a.a.string,size:a.a.oneOfType([a.a.string,a.a.number])},c.displayName="Zap",e.a=c},"zZH+":function(t,e,n){t.exports={root:"cHbZy_rAHf",mono:"_2SNe_x81Ib",link:"LUI6m76ply"}},zouR:function(t,e,n){"use strict";n.d(e,"a",(function(){return i})),n.d(e,"d",(function(){return a})),n.d(e,"c",(function(){return s})),n.d(e,"b",(function(){return u}));n("07d7"),n("5s+n");var r=n("xaHF"),o=n("KGqP"),i=Object(r.unstable_createResource)((function(){return n.e(11).then(n.t.bind(null,"JVhT",7)).then((function(t){return t.default}))})),a={borderWidth:1,lineTension:0,pointRadius:0},s={responsive:!0,maintainAspectRatio:!0,title:{display:!1},legend:{display:!0,position:"top",labels:{fontColor:"#ccc",boxWidth:20}},tooltips:{enabled:!1,mode:"index",intersect:!1,animationDuration:100},hover:{mode:"nearest",intersect:!0},scales:{xAxes:[{display:!1,gridLines:{display:!1}}],yAxes:[{display:!0,gridLines:{display:!0,color:"#555",borderDash:[3,6],drawBorder:!1},ticks:{callback:t=>Object(o.a)(t)+"/s "}}]}},u=[{down:{backgroundColor:"rgba(176, 209, 132, 0.8)",borderColor:"rgb(176, 209, 132)"},up:{backgroundColor:"rgba(181, 220, 231, 0.8)",borderColor:"rgb(181, 220, 231)"}},{up:{backgroundColor:"rgb(98, 190, 100)",borderColor:"rgb(78,146,79)"},down:{backgroundColor:"rgb(160, 230, 66)",borderColor:"rgb(110, 156, 44)"}},{up:{backgroundColor:"rgba(94, 175, 223, 0.3)",borderColor:"rgb(94, 175, 223)"},down:{backgroundColor:"rgba(139, 227, 195, 0.3)",borderColor:"rgb(139, 227, 195)"}},{up:{backgroundColor:"rgba(242, 174, 62, 0.3)",borderColor:"rgb(242, 174, 62)"},down:{backgroundColor:"rgba(69, 154, 248, 0.3)",borderColor:"rgb(69, 154, 248)"}}]}},[[0,10,5,8]],[0,12,4,1,9,13,7,6,3,11]]); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/app.9446db28fec78551ca86.js.LICENSE.txt b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/app.9446db28fec78551ca86.js.LICENSE.txt deleted file mode 100644 index 82526aa3a3..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/app.9446db28fec78551ca86.js.LICENSE.txt +++ /dev/null @@ -1,56 +0,0 @@ -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ - -/*! - Copyright (c) 2015 Jed Watson. - Based on code that is Copyright 2013-2015, Facebook, Inc. - All rights reserved. -*/ - -/*! - * Adapted from jQuery UI core - * - * http://jqueryui.com - * - * Copyright 2014 jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/category/ui-core/ - */ - -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -/** @license React v0.0.0-experimental-241c4467e - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** @license React v16.6.1 - * react-cache.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/config.185469682369eea7ed5e.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/config.185469682369eea7ed5e.js deleted file mode 100644 index cacef37dd7..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/config.185469682369eea7ed5e.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{EeQf:function(e,t,a){"use strict";a.r(t);a("pNMO"),a("TeQF"),a("QWBl"),a("2B1R"),a("+2oP"),a("27RR"),a("FZtP");var n=a("rePB"),r=a("ODXe"),l=a("17x9"),c=a.n(l),o=a("q1tI"),i=a.n(o),s=a("OADI"),u=a("vJea"),p=a("n57c"),b=a("S7Mu"),d=a.n(b),m=a("DKqX"),f=a("/P0+"),v=a("iuhU"),O=a("uLK7"),y=a.n(O);function g(e){var t=e.OptionComponent,a=e.optionPropsList,n=e.selectedIndex,r=e.onChange;return i.a.createElement("div",{className:y.a.root},a.map((function(e,a){var l=Object(v.a)(y.a.item,{[y.a.itemActive]:a===n}),c=function(e){e.preventDefault(),a!==n&&r(a)};return i.a.createElement("div",{key:a,className:l,tabIndex:0,role:"menuitem",onKeyDown:c,onClick:c},i.a.createElement(t,e))})))}g.propTypes={OptionComponent:l.func,optionPropsList:l.array,selectedIndex:l.number,onChange:l.func};var j=a("WfPo"),E=a("hkBY"),w=a("Utih"),h=a("aK+U"),P=a("zouR");function k(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function C(e){for(var t=1;t65535)return}h(n,r);break;default:return}}),[c,t,h]),C=Object(j.c)(),x=C.selectChartStyleIndex,D=C.updateAppConfig,N=U((function(e){var a=e.target,n=a.name,r=a.value;switch(n){case"port":case"socks-port":case"mixed-port":case"redir-port":var l=parseInt(r,10);if(l<0||l>65535)return;t(Object(u.e)(c,{[n]:l}));break;case"latencyTestUrl":D(n,r);break;default:throw new Error("unknown input name "+n)}}),[c,t,D]),I=K((function(){var e=v.mode;return"string"==typeof e&&e[0].toUpperCase()+e.slice(1)}),[v.mode]);return i.a.createElement("div",null,i.a.createElement(m.a,{title:"Config"}),i.a.createElement("div",{className:d.a.root},Q.map((function(e){return void 0!==v[e.key]?i.a.createElement("div",{key:e.key},i.a.createElement("div",{className:d.a.label},e.label),i.a.createElement(f.b,{name:e.key,value:v[e.key],onChange:k,onBlur:N})):null})),i.a.createElement("div",null,i.a.createElement("div",{className:d.a.label},"Allow LAN"),i.a.createElement(E.a,{name:"allow-lan",checked:v["allow-lan"],onChange:P})),i.a.createElement("div",null,i.a.createElement("div",{className:d.a.label},"Mode"),i.a.createElement(w.a,{options:B,name:"mode",value:I,onChange:k})),i.a.createElement("div",null,i.a.createElement("div",{className:d.a.label},"Log Level"),i.a.createElement(w.a,{options:W,name:"log-level",value:v["log-level"],onChange:k}))),i.a.createElement("div",{className:d.a.sep},i.a.createElement("div",null)),i.a.createElement("div",{className:d.a.section},i.a.createElement("div",null,i.a.createElement("div",{className:d.a.label},"Chart Style"),i.a.createElement(g,{OptionComponent:S,optionPropsList:_,selectedIndex:n,onChange:x})),i.a.createElement("div",{style:{maxWidth:360}},i.a.createElement("div",{className:d.a.label},"Latency Test URL"),i.a.createElement(f.a,{name:"latencyTestUrl",type:"text",value:l,onBlur:N})),i.a.createElement("div",null,i.a.createElement("div",{className:d.a.label},"Action"),i.a.createElement(p.a,{label:"Log out",onClick:s.a}))))}));t.default=Object(j.a)((function(e){return{configs:Object(u.b)(e),apiConfig:Object(s.c)(e)}}))((function(e){var t=e.dispatch,a=e.configs,n=e.apiConfig;return R((function(){t(Object(u.a)(n))}),[t,n]),i.a.createElement(q,{configs:a})}));q.propTypes={configs:c.a.object}},S7Mu:function(e,t,a){e.exports={root:"_2drigWG08z",section:"_3qy5-MPwaw",sep:"_1sbDIR8sCY",label:"_1Hvw0QbyvH"}},uLK7:function(e,t,a){e.exports={root:"_3uy3l7xDdI",item:"_2hwDLKbh5f",itemActive:"_1OeAkW2Cff"}}}]); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/config.683c5e4f78100df80abd.css b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/config.683c5e4f78100df80abd.css deleted file mode 100644 index d6fac38c13..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/config.683c5e4f78100df80abd.css +++ /dev/null @@ -1,2 +0,0 @@ -._2drigWG08z>div{min-width:345px}@media screen and (min-width:30em){._2drigWG08z>div{width:360px}}._2drigWG08z,._3qy5-MPwaw{padding:6px 15px 15px}@media screen and (min-width:30em){._2drigWG08z,._3qy5-MPwaw{padding:10px 40px 40px}}._1sbDIR8sCY{padding:0 15px}@media screen and (min-width:30em){._1sbDIR8sCY{padding:0 40px}}._1sbDIR8sCY>div{border-top:1px dashed #373737}._1Hvw0QbyvH{padding:16px 0} -._3uy3l7xDdI{display:flex;flex-wrap:wrap}._2hwDLKbh5f{flex-grow:0;margin-right:10px;margin-bottom:10px;cursor:pointer;border:2px solid transparent}._1OeAkW2Cff{border-color:#387cec} diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/conns.a55d943aa09565fccb1a.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/conns.a55d943aa09565fccb1a.js deleted file mode 100644 index 8fa2b263ba..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/conns.a55d943aa09565fccb1a.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{"09d0":function(e,t,n){e.exports={overlay:"_2EXTX1C3T7",cnt:"_3Or8nP9psK",afterOpen:"cMLUu0qS4R",btngrp:"_29FK6hdfwZ"}},"9cvt":function(e,t,n){"use strict";n.d(t,"c",(function(){return a}));n("U20h");var r=n("cq0i");n.d(t,"b",(function(){return r.b})),n.d(t,"a",(function(){return r.a}));var a={right:10,bottom:10}},KcxQ:function(e,t,n){},Kv4h:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n("ODXe"),a=n("q1tI"),o=n.n(a),c=o.a.useState,u=o.a.useRef,s=o.a.useCallback,l=o.a.useLayoutEffect;function i(){var e=u(null),t=c(200),n=Object(r.a)(t,2),a=n[0],o=n[1],i=s((function(){var t=e.current.getBoundingClientRect().top;o(window.innerHeight-t)}),[]);return l((function(){return i(),window.addEventListener("resize",i),function(){window.removeEventListener("resize",i)}}),[i]),[e,a]}},U20h:function(e,t,n){},eWP2:function(e,t,n){e.exports={tr:"_1jfIf4GmHx",th:"_3lQG38TYko",td:"_2jKsqjrYbo",odd:"MuvmFG__PV",du:"_3ydhc_nkf0",sortIconContainer:"_3q0v0OLzZL",rotate180:"_1XNg9MalRS"}},rfEN:function(e,t,n){"use strict";n.r(t);n("pNMO"),n("4Brf"),n("ma9I"),n("TeQF"),n("x0AG"),n("QWBl"),n("pjDv"),n("yq1k"),n("4mDm"),n("2B1R"),n("+2oP"),n("Rfxz"),n("27RR"),n("07d7"),n("JfAA"),n("JTJg"),n("FZtP"),n("3bBZ");var r=n("KQm4"),a=n("ODXe"),o=n("rePB"),c=(n("KcxQ"),n("q1tI")),u=n.n(c),s=n("au/U"),l=n("dzOb"),i=n("wHH0"),d=n("GTV5"),f=n("4x4b"),p=n("Kv4h"),m=n("OADI"),v=n("zCtg"),b=n.n(v),y=n("wx14"),O=n("iuhU"),h=n("FVam"),E=n("j7o3"),w=n("VYKx"),g=n("KGqP"),j=n("eWP2"),C=n.n(j),P=[{accessor:"id",show:!1},{Header:"Host",accessor:"host"},{Header:"DL",accessor:"download",sortDescFirst:true},{Header:"UL",accessor:"upload",sortDescFirst:true},{Header:"DL Speed",accessor:"downloadSpeedCurr",sortDescFirst:true},{Header:"UL Speed",accessor:"uploadSpeedCurr",sortDescFirst:true},{Header:"Chains",accessor:"chains"},{Header:"Rule",accessor:"rule"},{Header:"Time",accessor:"start",sortDescFirst:true},{Header:"Source",accessor:"source"},{Header:"Destination IP",accessor:"destinationIP"},{Header:"Type",accessor:"type"}];var S={sortBy:[{id:"id",desc:!0}],hiddenColumns:["id"]};var D=function(e){var t=e.data,n=Object(w.useTable)({columns:P,data:t,initialState:S,autoResetSortBy:!1},w.useSortBy),r=n.getTableProps,a=n.headerGroups,o=n.rows,c=n.prepareRow;return u.a.createElement("div",r(),a.map((function(e){return u.a.createElement("div",Object(y.a)({},e.getHeaderGroupProps(),{className:C.a.tr}),e.headers.map((function(e){return u.a.createElement("div",Object(y.a)({},e.getHeaderProps(e.getSortByToggleProps()),{className:C.a.th}),u.a.createElement("span",null,e.render("Header")),u.a.createElement("span",{className:C.a.sortIconContainer},e.isSorted?u.a.createElement("span",{className:e.isSortedDesc?"":C.a.rotate180},u.a.createElement(E.a,{size:16})):null))})),o.map((function(e,t){return c(e),e.cells.map((function(e,n){return u.a.createElement("div",Object(y.a)({},e.getCellProps(),{className:Object(O.a)(C.a.td,t%2==0&&C.a.odd,n>=1&&n<=4&&C.a.du)}),function(e){switch(e.column.id){case"start":return Object(h.a)(e.value,0);case"download":case"upload":return Object(g.a)(e.value);case"downloadSpeedCurr":case"uploadSpeedCurr":return Object(g.a)(e.value)+"/s";default:return e.value}}(e))}))})))})))},H=n("DKqX"),x=n("9rZX"),I=n.n(x),R=n("n57c"),N=n("Z9Yo"),k=n.n(N),_=n("09d0"),B=n.n(_),q=u.a.useRef,T=u.a.useCallback,A=u.a.useMemo;function L(e){var t=e.isOpen,n=e.onRequestClose,r=e.primaryButtonOnTap,a=q(null),o=T((function(){a.current.focus()}),[]),c=A((function(){return{base:Object(O.a)(k.a.content,B.a.cnt),afterOpen:B.a.afterOpen,beforeClose:""}}),[]);return u.a.createElement(I.a,{isOpen:t,onRequestClose:n,onAfterOpen:o,className:c,overlayClassName:Object(O.a)(k.a.overlay,B.a.overlay)},u.a.createElement("p",null,"Are you sure you want to close all connections?"),u.a.createElement("div",{className:B.a.btngrp},u.a.createElement(R.a,{onClick:r,ref:a},"I'm sure"),u.a.createElement("div",{style:{width:20}}),u.a.createElement(R.a,{onClick:n},"No")))}var z=n("9cvt"),F=n("WfPo"),K=n("VVUS");function G(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Q(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Q(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return c=e.done,e},e:function(e){u=!0,o=e},f:function(){try{c||null==n.return||n.return()}finally{if(u)throw o}}}}function Q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?u.a.createElement(D,{data:e}):u.a.createElement("div",{className:b.a.placeHolder},u.a.createElement(K.a,{width:200,height:200,c1:"var(--color-text)"}))}function J(e){var t=e.qty;return t<100?""+t:"99+"}t.default=Object(F.a)((function(e){return{apiConfig:Object(m.c)(e)}}))((function(e){var t=e.apiConfig,n=Object(p.a)(),o=Object(a.a)(n,2),c=o[0],m=o[1],v=V([]),y=Object(a.a)(v,2),O=y[0],h=y[1],E=V([]),w=Object(a.a)(E,2),g=w[0],j=w[1],C=V(""),P=Object(a.a)(C,2),S=P[0],D=P[1],x=Y(O,S),I=Y(g,S),R=V(!1),N=Object(a.a)(R,2),k=N[0],_=N[1],B=M((function(){return _(!0)}),[]),q=M((function(){return _(!1)}),[]),T=V(!1),A=Object(a.a)(T,2),F=A[0],K=A[1],Q=M((function(){K((function(e){return!e}))}),[]),U=M((function(){f.a(t),q()}),[t,q]),ee=$(O),te=M((function(e){var t,n=e.connections,a=function(e){for(var t={},n=0;n*{transition:transform .2s ease-in-out}.rtf.open .rtf--mb{background:rgba(56,124,236,.92);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.rtf.open .rtf--mb>ul{list-style:none;margin:0;padding:0}.rtf.open .rtf--ab__c:hover>span,.rtf.open .rtf--ab__c>span.always-show{transition:opacity .2s ease-in-out;opacity:.9}.rtf.open .rtf--ab__c:first-child{transform:translateY(-60px) scale(1);transition-delay:.03s}.rtf.open .rtf--ab__c:first-child.top{transform:translateY(60px) scale(1)}.rtf.open .rtf--ab__c:nth-child(2){transform:translateY(-120px) scale(1);transition-delay:.09s}.rtf.open .rtf--ab__c:nth-child(2).top{transform:translateY(120px) scale(1)}.rtf.open .rtf--ab__c:nth-child(3){transform:translateY(-180px) scale(1);transition-delay:.12s}.rtf.open .rtf--ab__c:nth-child(3).top{transform:translateY(180px) scale(1)}.rtf.open .rtf--ab__c:nth-child(4){transform:translateY(-240px) scale(1);transition-delay:.15s}.rtf.open .rtf--ab__c:nth-child(4).top{transform:translateY(240px) scale(1)}.rtf.open .rtf--ab__c:nth-child(5){transform:translateY(-300px) scale(1);transition-delay:.18s}.rtf.open .rtf--ab__c:nth-child(5).top{transform:translateY(300px) scale(1)}.rtf.open .rtf--ab__c:nth-child(6){transform:translateY(-360px) scale(1);transition-delay:.21s}.rtf.open .rtf--ab__c:nth-child(6).top{transform:translateY(360px) scale(1)}.rtf--mb__c{padding:25px;margin:-25px}.rtf--mb__c :last-child{margin-bottom:0}.rtf--mb__c:hover>span,.rtf--mb__c>span.always-show{transition:opacity .2s ease-in-out;opacity:.9}.rtf--mb__c>span{opacity:0;transition:opacity .2s ease-in-out;position:absolute;top:50%;transform:translateY(-50%);margin-right:6px;margin-left:4px;background:rgba(0,0,0,.75);padding:2px 4px;border-radius:2px;color:#fff;font-size:13px;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28)}.rtf--mb__c>span.right{right:100%}.rtf--mb{height:48px;width:48px;z-index:9999;background:#387cec;display:inline-flex;justify-content:center;align-items:center;position:relative;border:none;border-radius:50%;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28);cursor:pointer;outline:none;padding:0;-webkit-user-drag:none;font-weight:700;color:#f1f1f1;font-size:18px}.rtf--ab__c,.rtf--mb>*{transition:transform .2s ease-in-out}.rtf--ab__c{display:block;position:absolute;top:0;right:1px;padding:10px 0;margin:-10px 0}.rtf--ab__c>span{opacity:0;transition:opacity .2s ease-in-out;position:absolute;top:50%;transform:translateY(-50%);margin-right:6px;background:rgba(0,0,0,.75);padding:2px 4px;border-radius:2px;color:#fff;font-size:13px;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28)}.rtf--ab__c>span.right{right:100%}.rtf--ab__c:first-child{transform:translateY(-60px) scale(0);transition-delay:.21s}.rtf--ab__c:first-child.top{transform:translateY(60px) scale(0)}.rtf--ab__c:nth-child(2){transform:translateY(-120px) scale(0);transition-delay:.18s}.rtf--ab__c:nth-child(2).top{transform:translateY(120px) scale(0)}.rtf--ab__c:nth-child(3){transform:translateY(-180px) scale(0);transition-delay:.15s}.rtf--ab__c:nth-child(3).top{transform:translateY(180px) scale(0)}.rtf--ab__c:nth-child(4){transform:translateY(-240px) scale(0);transition-delay:.12s}.rtf--ab__c:nth-child(4).top{transform:translateY(240px) scale(0)}.rtf--ab__c:nth-child(5){transform:translateY(-300px) scale(0);transition-delay:.09s}.rtf--ab__c:nth-child(5).top{transform:translateY(300px) scale(0)}.rtf--ab__c:nth-child(6){transform:translateY(-360px) scale(0);transition-delay:.03s}.rtf--ab__c:nth-child(6).top{transform:translateY(360px) scale(0)}.rtf--ab{height:40px;width:40px;margin-right:4px;background-color:#aaa;display:inline-flex;justify-content:center;align-items:center;position:relative;border:none;border-radius:50%;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28);cursor:pointer;outline:none;padding:0;-webkit-user-drag:none;font-weight:700;color:#f1f1f1;font-size:16px;z-index:10000}.rtf--ab:hover{background:#387cec;border:1px solid #387cec;color:#fff}.rtf--ab:focus{border-color:var(--color-focus-blue)} diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/core-js~app.d6acbd497dd781bcb87a.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/core-js~app.d6acbd497dd781bcb87a.js deleted file mode 100644 index 0ccd504356..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/core-js~app.d6acbd497dd781bcb87a.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{"+2oP":function(t,n,r){"use strict";var e=r("I+eb"),o=r("hh1v"),i=r("6LWA"),c=r("I8vh"),u=r("UMSQ"),a=r("/GqU"),f=r("hBjN"),s=r("tiKp"),l=r("Hd5f"),p=r("rkAj"),v=l("slice"),h=p("slice",{ACCESSORS:!0,0:0,1:2}),d=s("species"),y=[].slice,g=Math.max;e({target:"Array",proto:!0,forced:!v||!h},{slice:function(t,n){var r,e,s,l=a(this),p=u(l.length),v=c(t,p),h=c(void 0===n?p:n,p);if(i(l)&&("function"!=typeof(r=l.constructor)||r!==Array&&!i(r.prototype)?o(r)&&null===(r=r[d])&&(r=void 0):r=void 0,r===Array||void 0===r))return y.call(l,v,h);for(e=new(void 0===r?Array:r)(g(h-v,0)),s=0;v")})),s="$0"==="a".replace(/./,"$0"),l=i("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),v=!o((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}));t.exports=function(t,n,r,l){var h=i(t),d=!o((function(){var n={};return n[h]=function(){return 7},7!=""[t](n)})),y=d&&!o((function(){var n=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[a]=function(){return r},r.flags="",r[h]=/./[h]),r.exec=function(){return n=!0,null},r[h](""),!n}));if(!d||!y||"replace"===t&&(!f||!s||p)||"split"===t&&!v){var g=/./[h],x=r(h,""[t],(function(t,n,r,e,o){return n.exec===c?d&&!o?{done:!0,value:g.call(n,r,e)}:{done:!0,value:t.call(r,n,e)}:{done:!1}}),{REPLACE_KEEPS_$0:s,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),m=x[0],b=x[1];e(String.prototype,t,m),e(RegExp.prototype,h,2==n?function(t,n){return b.call(t,this,n)}:function(t){return b.call(t,this)})}l&&u(RegExp.prototype[h],"sham",!0)}},"1E5z":function(t,n,r){var e=r("m/L8").f,o=r("UTVS"),i=r("tiKp")("toStringTag");t.exports=function(t,n,r){t&&!o(t=r?t:t.prototype,i)&&e(t,i,{configurable:!0,value:n})}},"27RR":function(t,n,r){var e=r("I+eb"),o=r("g6v/"),i=r("Vu81"),c=r("/GqU"),u=r("Bs8V"),a=r("hBjN");e({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){for(var n,r,e=c(t),o=u.f,f=i(e),s={},l=0;f.length>l;)void 0!==(r=o(e,n=f[l++]))&&a(s,n,r);return s}})},"2B1R":function(t,n,r){"use strict";var e=r("I+eb"),o=r("tycR").map,i=r("Hd5f"),c=r("rkAj"),u=i("map"),a=c("map");e({target:"Array",proto:!0,forced:!u||!a},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},"2oRo":function(t,n,r){(function(n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")()}).call(this,r("yLpj"))},"33Wh":function(t,n,r){var e=r("yoRg"),o=r("eDl+");t.exports=Object.keys||function(t){return e(t,o)}},"3bBZ":function(t,n,r){var e=r("2oRo"),o=r("/byt"),i=r("4mDm"),c=r("kRJp"),u=r("tiKp"),a=u("iterator"),f=u("toStringTag"),s=i.values;for(var l in o){var p=e[l],v=p&&p.prototype;if(v){if(v[a]!==s)try{c(v,a,s)}catch(t){v[a]=s}if(v[f]||c(v,f,l),o[l])for(var h in i)if(v[h]!==i[h])try{c(v,h,i[h])}catch(t){v[h]=i[h]}}}},"4Brf":function(t,n,r){"use strict";var e=r("I+eb"),o=r("g6v/"),i=r("2oRo"),c=r("UTVS"),u=r("hh1v"),a=r("m/L8").f,f=r("6JNq"),s=i.Symbol;if(o&&"function"==typeof s&&(!("description"in s.prototype)||void 0!==s().description)){var l={},p=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),n=this instanceof p?new s(t):void 0===t?s():s(t);return""===t&&(l[n]=!0),n};f(p,s);var v=p.prototype=s.prototype;v.constructor=p;var h=v.toString,d="Symbol(test)"==String(s("test")),y=/^Symbol\((.*)\)[^)]+$/;a(v,"description",{configurable:!0,get:function(){var t=u(this)?this.valueOf():this,n=h.call(t);if(c(l,t))return"";var r=d?n.slice(7,-1):n.replace(y,"$1");return""===r?void 0:r}}),e({global:!0,forced:!0},{Symbol:p})}},"4WOD":function(t,n,r){var e=r("UTVS"),o=r("ewvW"),i=r("93I0"),c=r("4Xet"),u=i("IE_PROTO"),a=Object.prototype;t.exports=c?Object.getPrototypeOf:function(t){return t=o(t),e(t,u)?t[u]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"4Xet":function(t,n,r){var e=r("0Dky");t.exports=!e((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},"4mDm":function(t,n,r){"use strict";var e=r("/GqU"),o=r("RNIs"),i=r("P4y1"),c=r("afO8"),u=r("fdAy"),a=c.set,f=c.getterFor("Array Iterator");t.exports=u(Array,"Array",(function(t,n){a(this,{type:"Array Iterator",target:e(t),index:0,kind:n})}),(function(){var t=f(this),n=t.target,r=t.kind,e=t.index++;return!n||e>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:e,done:!1}:"values"==r?{value:n[e],done:!1}:{value:[e,n[e]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},"4syw":function(t,n,r){var e=r("busE");t.exports=function(t,n,r){for(var o in n)e(t,o,n[o],r);return t}},"5Tg+":function(t,n,r){var e=r("tiKp");n.f=e},"5mdu":function(t,n){t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},"5s+n":function(t,n,r){"use strict";var e,o,i,c,u=r("I+eb"),a=r("xDBR"),f=r("2oRo"),s=r("0GbY"),l=r("/qmn"),p=r("busE"),v=r("4syw"),h=r("1E5z"),d=r("JiZb"),y=r("hh1v"),g=r("HAuM"),x=r("GarU"),m=r("xrYK"),b=r("iSVu"),S=r("ImZN"),E=r("HH4o"),w=r("SEBh"),O=r("LPSS").set,R=r("tXUg"),A=r("zfnd"),k=r("RN6c"),j=r("8GlL"),T=r("5mdu"),I=r("afO8"),P=r("lMq5"),M=r("tiKp"),L=r("LQDL"),D=M("species"),B="Promise",N=I.get,U=I.set,C=I.getterFor(B),G=l,W=f.TypeError,V=f.document,K=f.process,_=s("fetch"),F=j.f,H=F,J="process"==m(K),Y=!!(V&&V.createEvent&&f.dispatchEvent),q=P(B,(function(){if(!(b(G)!==String(G))){if(66===L)return!0;if(!J&&"function"!=typeof PromiseRejectionEvent)return!0}if(a&&!G.prototype.finally)return!0;if(L>=51&&/native code/.test(G))return!1;var t=G.resolve(1),n=function(t){t((function(){}),(function(){}))};return(t.constructor={})[D]=n,!(t.then((function(){}))instanceof n)})),Q=q||!E((function(t){G.all(t).catch((function(){}))})),z=function(t){var n;return!(!y(t)||"function"!=typeof(n=t.then))&&n},X=function(t,n,r){if(!n.notified){n.notified=!0;var e=n.reactions;R((function(){for(var o=n.value,i=1==n.state,c=0;e.length>c;){var u,a,f,s=e[c++],l=i?s.ok:s.fail,p=s.resolve,v=s.reject,h=s.domain;try{l?(i||(2===n.rejection&&nt(t,n),n.rejection=1),!0===l?u=o:(h&&h.enter(),u=l(o),h&&(h.exit(),f=!0)),u===s.promise?v(W("Promise-chain cycle")):(a=z(u))?a.call(u,p,v):p(u)):v(o)}catch(t){h&&!f&&h.exit(),v(t)}}n.reactions=[],n.notified=!1,r&&!n.rejection&&$(t,n)}))}},Z=function(t,n,r){var e,o;Y?((e=V.createEvent("Event")).promise=n,e.reason=r,e.initEvent(t,!1,!0),f.dispatchEvent(e)):e={promise:n,reason:r},(o=f["on"+t])?o(e):"unhandledrejection"===t&&k("Unhandled promise rejection",r)},$=function(t,n){O.call(f,(function(){var r,e=n.value;if(tt(n)&&(r=T((function(){J?K.emit("unhandledRejection",e,t):Z("unhandledrejection",t,e)})),n.rejection=J||tt(n)?2:1,r.error))throw r.value}))},tt=function(t){return 1!==t.rejection&&!t.parent},nt=function(t,n){O.call(f,(function(){J?K.emit("rejectionHandled",t):Z("rejectionhandled",t,n.value)}))},rt=function(t,n,r,e){return function(o){t(n,r,o,e)}},et=function(t,n,r,e){n.done||(n.done=!0,e&&(n=e),n.value=r,n.state=2,X(t,n,!0))},ot=function(t,n,r,e){if(!n.done){n.done=!0,e&&(n=e);try{if(t===r)throw W("Promise can't be resolved itself");var o=z(r);o?R((function(){var e={done:!1};try{o.call(r,rt(ot,t,e,n),rt(et,t,e,n))}catch(r){et(t,e,r,n)}})):(n.value=r,n.state=1,X(t,n,!1))}catch(r){et(t,{done:!1},r,n)}}};q&&(G=function(t){x(this,G,B),g(t),e.call(this);var n=N(this);try{t(rt(ot,this,n),rt(et,this,n))}catch(t){et(this,n,t)}},(e=function(t){U(this,{type:B,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=v(G.prototype,{then:function(t,n){var r=C(this),e=F(w(this,G));return e.ok="function"!=typeof t||t,e.fail="function"==typeof n&&n,e.domain=J?K.domain:void 0,r.parent=!0,r.reactions.push(e),0!=r.state&&X(this,r,!1),e.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new e,n=N(t);this.promise=t,this.resolve=rt(ot,t,n),this.reject=rt(et,t,n)},j.f=F=function(t){return t===G||t===i?new o(t):H(t)},a||"function"!=typeof l||(c=l.prototype.then,p(l.prototype,"then",(function(t,n){var r=this;return new G((function(t,n){c.call(r,t,n)})).then(t,n)}),{unsafe:!0}),"function"==typeof _&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return A(G,_.apply(f,arguments))}}))),u({global:!0,wrap:!0,forced:q},{Promise:G}),h(G,B,!1,!0),d(B),i=s(B),u({target:B,stat:!0,forced:q},{reject:function(t){var n=F(this);return n.reject.call(void 0,t),n.promise}}),u({target:B,stat:!0,forced:a||q},{resolve:function(t){return A(a&&this===i?G:this,t)}}),u({target:B,stat:!0,forced:Q},{all:function(t){var n=this,r=F(n),e=r.resolve,o=r.reject,i=T((function(){var r=g(n.resolve),i=[],c=0,u=1;S(t,(function(t){var a=c++,f=!1;i.push(void 0),u++,r.call(n,t).then((function(t){f||(f=!0,i[a]=t,--u||e(i))}),o)})),--u||e(i)}));return i.error&&o(i.value),r.promise},race:function(t){var n=this,r=F(n),e=r.reject,o=T((function(){var o=g(n.resolve);S(t,(function(t){o.call(n,t).then(r.resolve,e)}))}));return o.error&&e(o.value),r.promise}})},"6JNq":function(t,n,r){var e=r("UTVS"),o=r("Vu81"),i=r("Bs8V"),c=r("m/L8");t.exports=function(t,n){for(var r=o(n),u=c.f,a=i.f,f=0;f1||"".split(/.?/).length?function(t,r){var e=String(c(this)),i=void 0===r?4294967295:r>>>0;if(0===i)return[];if(void 0===t)return[e];if(!o(t))return n.call(e,t,i);for(var u,a,f,s=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,d=new RegExp(t.source,p+"g");(u=l.call(d,e))&&!((a=d.lastIndex)>h&&(s.push(e.slice(h,u.index)),u.length>1&&u.index=i));)d.lastIndex===u.index&&d.lastIndex++;return h===e.length?!f&&d.test("")||s.push(""):s.push(e.slice(h)),s.length>i?s.slice(0,i):s}:"0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:n.call(this,t,r)}:n,[function(n,r){var o=c(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,o){var c=r(e,t,this,o,e!==n);if(c.done)return c.value;var l=i(t),p=String(this),v=u(l,RegExp),y=l.unicode,g=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(d?"y":"g"),x=new v(d?l:"^(?:"+l.source+")",g),m=void 0===o?4294967295:o>>>0;if(0===m)return[];if(0===p.length)return null===s(x,p)?[p]:[];for(var b=0,S=0,E=[];S1?arguments[1]:void 0)}},FMNM:function(t,n,r){var e=r("xrYK"),o=r("kmMV");t.exports=function(t,n){var r=t.exec;if("function"==typeof r){var i=r.call(t,n);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==e(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,n)}},FZtP:function(t,n,r){var e=r("2oRo"),o=r("/byt"),i=r("F8JR"),c=r("kRJp");for(var u in o){var a=e[u],f=a&&a.prototype;if(f&&f.forEach!==i)try{c(f,"forEach",i)}catch(t){f.forEach=i}}},"G+Rx":function(t,n,r){var e=r("0GbY");t.exports=e("document","documentElement")},GarU:function(t,n){t.exports=function(t,n,r){if(!(t instanceof n))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t}},HAuM:function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},HH4o:function(t,n,r){var e=r("tiKp")("iterator"),o=!1;try{var i=0,c={next:function(){return{done:!!i++}},return:function(){o=!0}};c[e]=function(){return this},Array.from(c,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!o)return!1;var r=!1;try{var i={};i[e]=function(){return{next:function(){return{done:r=!0}}}},t(i)}catch(t){}return r}},HNyW:function(t,n,r){var e=r("NC/Y");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(e)},HYAF:function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},Hd5f:function(t,n,r){var e=r("0Dky"),o=r("tiKp"),i=r("LQDL"),c=o("species");t.exports=function(t){return i>=51||!e((function(){var n=[];return(n.constructor={})[c]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},"I+eb":function(t,n,r){var e=r("2oRo"),o=r("Bs8V").f,i=r("kRJp"),c=r("busE"),u=r("zk60"),a=r("6JNq"),f=r("lMq5");t.exports=function(t,n){var r,s,l,p,v,h=t.target,d=t.global,y=t.stat;if(r=d?e:y?e[h]||u(h,{}):(e[h]||{}).prototype)for(s in n){if(p=n[s],l=t.noTargetGet?(v=o(r,s))&&v.value:r[s],!f(d?s:h+(y?".":"#")+s,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;a(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),c(r,s,p,t)}}},I8vh:function(t,n,r){var e=r("ppGB"),o=Math.max,i=Math.min;t.exports=function(t,n){var r=e(t);return r<0?o(r+n,0):i(r,n)}},ImZN:function(t,n,r){var e=r("glrk"),o=r("6VoE"),i=r("UMSQ"),c=r("A2ZE"),u=r("NaFW"),a=r("m92n"),f=function(t,n){this.stopped=t,this.result=n};(t.exports=function(t,n,r,s,l){var p,v,h,d,y,g,x,m=c(n,r,s?2:1);if(l)p=t;else{if("function"!=typeof(v=u(t)))throw TypeError("Target is not iterable");if(o(v)){for(h=0,d=i(t.length);d>h;h++)if((y=s?m(e(x=t[h])[0],x[1]):m(t[h]))&&y instanceof f)return y;return new f(!1)}p=v.call(t)}for(g=p.next;!(x=g.call(p)).done;)if("object"==typeof(y=a(p,m,x.value,s))&&y&&y instanceof f)return y;return new f(!1)}).stop=function(t){return new f(!0,t)}},JBy8:function(t,n,r){var e=r("yoRg"),o=r("eDl+").concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,o)}},JfAA:function(t,n,r){"use strict";var e=r("busE"),o=r("glrk"),i=r("0Dky"),c=r("rW0t"),u=RegExp.prototype,a=u.toString,f=i((function(){return"/a/b"!=a.call({source:"a",flags:"b"})})),s="toString"!=a.name;(f||s)&&e(RegExp.prototype,"toString",(function(){var t=o(this),n=String(t.source),r=t.flags;return"/"+n+"/"+String(void 0===r&&t instanceof RegExp&&!("flags"in u)?c.call(t):r)}),{unsafe:!0})},JiZb:function(t,n,r){"use strict";var e=r("0GbY"),o=r("m/L8"),i=r("tiKp"),c=r("g6v/"),u=i("species");t.exports=function(t){var n=e(t),r=o.f;c&&n&&!n[u]&&r(n,u,{configurable:!0,get:function(){return this}})}},LPSS:function(t,n,r){var e,o,i,c=r("2oRo"),u=r("0Dky"),a=r("xrYK"),f=r("A2ZE"),s=r("G+Rx"),l=r("zBJ4"),p=r("HNyW"),v=c.location,h=c.setImmediate,d=c.clearImmediate,y=c.process,g=c.MessageChannel,x=c.Dispatch,m=0,b={},S=function(t){if(b.hasOwnProperty(t)){var n=b[t];delete b[t],n()}},E=function(t){return function(){S(t)}},w=function(t){S(t.data)},O=function(t){c.postMessage(t+"",v.protocol+"//"+v.host)};h&&d||(h=function(t){for(var n=[],r=1;arguments.length>r;)n.push(arguments[r++]);return b[++m]=function(){("function"==typeof t?t:Function(t)).apply(void 0,n)},e(m),m},d=function(t){delete b[t]},"process"==a(y)?e=function(t){y.nextTick(E(t))}:x&&x.now?e=function(t){x.now(E(t))}:g&&!p?(i=(o=new g).port2,o.port1.onmessage=w,e=f(i.postMessage,i,1)):!c.addEventListener||"function"!=typeof postMessage||c.importScripts||u(O)||"file:"===v.protocol?e="onreadystatechange"in l("script")?function(t){s.appendChild(l("script")).onreadystatechange=function(){s.removeChild(this),S(t)}}:function(t){setTimeout(E(t),0)}:(e=O,c.addEventListener("message",w,!1))),t.exports={set:h,clear:d}},LQDL:function(t,n,r){var e,o,i=r("2oRo"),c=r("NC/Y"),u=i.process,a=u&&u.versions,f=a&&a.v8;f?o=(e=f.split("."))[0]+e[1]:c&&(!(e=c.match(/Edge\/(\d+)/))||e[1]>=74)&&(e=c.match(/Chrome\/(\d+)/))&&(o=e[1]),t.exports=o&&+o},"N+g0":function(t,n,r){var e=r("g6v/"),o=r("m/L8"),i=r("glrk"),c=r("33Wh");t.exports=e?Object.defineProperties:function(t,n){i(t);for(var r,e=c(n),u=e.length,a=0;u>a;)o.f(t,r=e[a++],n[r]);return t}},"NC/Y":function(t,n,r){var e=r("0GbY");t.exports=e("navigator","userAgent")||""},NaFW:function(t,n,r){var e=r("9d/t"),o=r("P4y1"),i=r("tiKp")("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[e(t)]}},O741:function(t,n,r){var e=r("hh1v");t.exports=function(t){if(!e(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},P4y1:function(t,n){t.exports={}},QWBl:function(t,n,r){"use strict";var e=r("I+eb"),o=r("F8JR");e({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},Qo9l:function(t,n,r){var e=r("2oRo");t.exports=e},RK3t:function(t,n,r){var e=r("0Dky"),o=r("xrYK"),i="".split;t.exports=e((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},RN6c:function(t,n,r){var e=r("2oRo");t.exports=function(t,n){var r=e.console;r&&r.error&&(1===arguments.length?r.error(t):r.error(t,n))}},RNIs:function(t,n,r){var e=r("tiKp"),o=r("fHMY"),i=r("m/L8"),c=e("unscopables"),u=Array.prototype;null==u[c]&&i.f(u,c,{configurable:!0,value:o(null)}),t.exports=function(t){u[c][t]=!0}},ROdP:function(t,n,r){var e=r("hh1v"),o=r("xrYK"),i=r("tiKp")("match");t.exports=function(t){var n;return e(t)&&(void 0!==(n=t[i])?!!n:"RegExp"==o(t))}},SEBh:function(t,n,r){var e=r("glrk"),o=r("HAuM"),i=r("tiKp")("species");t.exports=function(t,n){var r,c=e(t).constructor;return void 0===c||null==(r=e(c)[i])?n:o(r)}},STAE:function(t,n,r){var e=r("0Dky");t.exports=!!Object.getOwnPropertySymbols&&!e((function(){return!String(Symbol())}))},SYor:function(t,n,r){"use strict";var e=r("I+eb"),o=r("WKiH").trim;e({target:"String",proto:!0,forced:r("yNLB")("trim")},{trim:function(){return o(this)}})},SuFq:function(t,n,r){var e=r("I+eb"),o=r("0GbY"),i=r("HAuM"),c=r("glrk"),u=r("hh1v"),a=r("fHMY"),f=r("BTho"),s=r("0Dky"),l=o("Reflect","construct"),p=s((function(){function t(){}return!(l((function(){}),[],t)instanceof t)})),v=!s((function(){l((function(){}))})),h=p||v;e({target:"Reflect",stat:!0,forced:h,sham:h},{construct:function(t,n){i(t),c(n);var r=arguments.length<3?t:i(arguments[2]);if(v&&!p)return l(t,n,r);if(t==r){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var e=[null];return e.push.apply(e,n),new(f.apply(t,e))}var o=r.prototype,s=a(u(o)?o:Object.prototype),h=Function.apply.call(t,s,n);return u(h)?h:s}})},TWQb:function(t,n,r){var e=r("/GqU"),o=r("UMSQ"),i=r("I8vh"),c=function(t){return function(n,r,c){var u,a=e(n),f=o(a.length),s=i(c,f);if(t&&r!=r){for(;f>s;)if((u=a[s++])!=u)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===r)return t||s||0;return!t&&-1}};t.exports={includes:c(!0),indexOf:c(!1)}},TeQF:function(t,n,r){"use strict";var e=r("I+eb"),o=r("tycR").filter,i=r("Hd5f"),c=r("rkAj"),u=i("filter"),a=c("filter");e({target:"Array",proto:!0,forced:!u||!a},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},TfTi:function(t,n,r){"use strict";var e=r("A2ZE"),o=r("ewvW"),i=r("m92n"),c=r("6VoE"),u=r("UMSQ"),a=r("hBjN"),f=r("NaFW");t.exports=function(t){var n,r,s,l,p,v,h=o(t),d="function"==typeof this?this:Array,y=arguments.length,g=y>1?arguments[1]:void 0,x=void 0!==g,m=f(h),b=0;if(x&&(g=e(g,y>2?arguments[2]:void 0,2)),null==m||d==Array&&c(m))for(r=new d(n=u(h.length));n>b;b++)v=x?g(h[b],b):h[b],a(r,b,v);else for(p=(l=m.call(h)).next,r=new d;!(s=p.call(l)).done;b++)v=x?i(l,g,[s.value,b],!0):s.value,a(r,b,v);return r.length=b,r}},ToJy:function(t,n,r){"use strict";var e=r("I+eb"),o=r("HAuM"),i=r("ewvW"),c=r("0Dky"),u=r("pkCn"),a=[],f=a.sort,s=c((function(){a.sort(void 0)})),l=c((function(){a.sort(null)})),p=u("sort");e({target:"Array",proto:!0,forced:s||!l||!p},{sort:function(t){return void 0===t?f.call(i(this)):f.call(i(this),o(t))}})},UMSQ:function(t,n,r){var e=r("ppGB"),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},UTVS:function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},UxlC:function(t,n,r){"use strict";var e=r("14Sl"),o=r("glrk"),i=r("ewvW"),c=r("UMSQ"),u=r("ppGB"),a=r("HYAF"),f=r("iqWW"),s=r("FMNM"),l=Math.max,p=Math.min,v=Math.floor,h=/\$([$&'`]|\d\d?|<[^>]*>)/g,d=/\$([$&'`]|\d\d?)/g;e("replace",2,(function(t,n,r,e){var y=e.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,g=e.REPLACE_KEEPS_$0,x=y?"$":"$0";return[function(r,e){var o=a(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,e):n.call(String(o),r,e)},function(t,e){if(!y&&g||"string"==typeof e&&-1===e.indexOf(x)){var i=r(n,t,this,e);if(i.done)return i.value}var a=o(t),v=String(this),h="function"==typeof e;h||(e=String(e));var d=a.global;if(d){var b=a.unicode;a.lastIndex=0}for(var S=[];;){var E=s(a,v);if(null===E)break;if(S.push(E),!d)break;""===String(E[0])&&(a.lastIndex=f(v,c(a.lastIndex),b))}for(var w,O="",R=0,A=0;A=R&&(O+=v.slice(R,j)+L,R=j+k.length)}return O+v.slice(R)}];function m(t,r,e,o,c,u){var a=e+t.length,f=o.length,s=d;return void 0!==c&&(c=i(c),s=h),n.call(u,s,(function(n,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,e);case"'":return r.slice(a);case"<":u=c[i.slice(1,-1)];break;default:var s=+i;if(0===s)return n;if(s>f){var l=v(s/10);return 0===l?n:l<=f?void 0===o[l-1]?i.charAt(1):o[l-1]+i.charAt(1):n}u=o[s-1]}return void 0===u?"":u}))}}))},VpIT:function(t,n,r){var e=r("xDBR"),o=r("xs3f");(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:e?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},Vu81:function(t,n,r){var e=r("0GbY"),o=r("JBy8"),i=r("dBg+"),c=r("glrk");t.exports=e("Reflect","ownKeys")||function(t){var n=o.f(c(t)),r=i.f;return r?n.concat(r(t)):n}},WJkJ:function(t,n){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},WKiH:function(t,n,r){var e=r("HYAF"),o="["+r("WJkJ")+"]",i=RegExp("^"+o+o+"*"),c=RegExp(o+o+"*$"),u=function(t){return function(n){var r=String(e(n));return 1&t&&(r=r.replace(i,"")),2&t&&(r=r.replace(c,"")),r}};t.exports={start:u(1),end:u(2),trim:u(3)}},XGwC:function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},ZUd8:function(t,n,r){var e=r("ppGB"),o=r("HYAF"),i=function(t){return function(n,r){var i,c,u=String(o(n)),a=e(r),f=u.length;return a<0||a>=f?t?"":void 0:(i=u.charCodeAt(a))<55296||i>56319||a+1===f||(c=u.charCodeAt(a+1))<56320||c>57343?t?u.charAt(a):i:t?u.slice(a,a+2):c-56320+(i-55296<<10)+65536}};t.exports={codeAt:i(!1),charAt:i(!0)}},ZfDv:function(t,n,r){var e=r("hh1v"),o=r("6LWA"),i=r("tiKp")("species");t.exports=function(t,n){var r;return o(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!o(r.prototype)?e(r)&&null===(r=r[i])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)}},afO8:function(t,n,r){var e,o,i,c=r("f5p1"),u=r("2oRo"),a=r("hh1v"),f=r("kRJp"),s=r("UTVS"),l=r("93I0"),p=r("0BK2"),v=u.WeakMap;if(c){var h=new v,d=h.get,y=h.has,g=h.set;e=function(t,n){return g.call(h,t,n),n},o=function(t){return d.call(h,t)||{}},i=function(t){return y.call(h,t)}}else{var x=l("state");p[x]=!0,e=function(t,n){return f(t,x,n),n},o=function(t){return s(t,x)?t[x]:{}},i=function(t){return s(t,x)}}t.exports={set:e,get:o,has:i,enforce:function(t){return i(t)?o(t):e(t,{})},getterFor:function(t){return function(n){var r;if(!a(n)||(r=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}}},busE:function(t,n,r){var e=r("2oRo"),o=r("kRJp"),i=r("UTVS"),c=r("zk60"),u=r("iSVu"),a=r("afO8"),f=a.get,s=a.enforce,l=String(String).split("String");(t.exports=function(t,n,r,u){var a=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof r&&("string"!=typeof n||i(r,"name")||o(r,"name",n),s(r).source=l.join("string"==typeof n?n:"")),t!==e?(a?!p&&t[n]&&(f=!0):delete t[n],f?t[n]=r:o(t,n,r)):f?t[n]=r:c(n,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&f(this).source||u(this)}))},"dBg+":function(t,n){n.f=Object.getOwnPropertySymbols},"dG/n":function(t,n,r){var e=r("Qo9l"),o=r("UTVS"),i=r("5Tg+"),c=r("m/L8").f;t.exports=function(t){var n=e.Symbol||(e.Symbol={});o(n,t)||c(n,t,{value:i.f(t)})}},"eDl+":function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},ewvW:function(t,n,r){var e=r("HYAF");t.exports=function(t){return Object(e(t))}},f5p1:function(t,n,r){var e=r("2oRo"),o=r("iSVu"),i=e.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},fHMY:function(t,n,r){var e,o=r("glrk"),i=r("N+g0"),c=r("eDl+"),u=r("0BK2"),a=r("G+Rx"),f=r("zBJ4"),s=r("93I0"),l=s("IE_PROTO"),p=function(){},v=function(t){return"
    \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/logs.367e6b30d27de1213a87.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/logs.367e6b30d27de1213a87.js deleted file mode 100644 index 0c02c2ed23..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/logs.367e6b30d27de1213a87.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{Kv4h:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n("ODXe"),a=n("q1tI"),o=n.n(a),c=o.a.useState,l=o.a.useRef,i=o.a.useCallback,s=o.a.useLayoutEffect;function u(){var e=l(null),t=c(200),n=Object(r.a)(t,2),a=n[0],o=n[1],u=i((function(){var t=e.current.getBoundingClientRect().top;o(window.innerHeight-t)}),[]);return s((function(){return u(),window.addEventListener("resize",u),function(){window.removeEventListener("resize",u)}}),[u]),[e,a]}},OA2e:function(e,t,n){e.exports={RuleSearch:"_2QPZldYe9U",RuleSearchContainer:"_2PCUI90lIf",inputWrapper:"xOYTLnYrng",input:"_1JKQs_Qawx",iconWrapper:"_2km92h_dfH"}},RLOP:function(e,t,n){e.exports={logMeta:"_3rlaagQhmO",logType:"_1Y8l2FW3db",logTime:"_3RhnPkHfE2",logText:"o1S9cV4T0R",logsWrapper:"_3GIdCSyyS7",log:"lUDfnPiNdD",logPlaceholder:"PaFzglKCf5",logPlaceholderIcon:"_29b6nIu_GY"}},aTX5:function(e,t,n){"use strict";n.r(t);var r=n("ODXe"),a=n("iuhU"),o=n("17x9"),c=n.n(o),l=n("q1tI"),i=n.n(l),s=n("iR1w"),u=(n("pNMO"),n("TeQF"),n("QWBl"),n("27RR"),n("07d7"),n("5s+n"),n("JfAA"),n("EnZy"),n("FZtP"),n("rePB")),g=n("EJpJ");function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var D=Object(l.forwardRef)((function(e,t){var n=e.color,r=void 0===n?"currentColor":n,a=e.size,o=void 0===a?24:a,c=R(e,["color","size"]);return i.a.createElement("svg",k({ref:t,xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},c),i.a.createElement("circle",{cx:"11",cy:"11",r:"8"}),i.a.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}))}));D.propTypes={color:c.a.string,size:c.a.oneOfType([c.a.string,c.a.number])},D.displayName="Search";var _=D,I=n("OA2e"),W=n.n(I);var J=function(e){var t=e.dispatch,n=e.searchText,a=e.updateSearchText,o=Object(l.useState)(n),c=Object(r.a)(o,2),s=c[0],u=c[1],g=Object(l.useCallback)((function(e){t(a(e))}),[t,a]),p=Object(l.useMemo)((function(){return Object(C.a)(g,300)}),[g]);return i.a.createElement("div",{className:W.a.RuleSearch},i.a.createElement("div",{className:W.a.RuleSearchContainer},i.a.createElement("div",{className:W.a.inputWrapper},i.a.createElement("input",{type:"text",value:s,onChange:function(e){u(e.target.value),p(e.target.value)},className:W.a.input})),i.a.createElement("div",{className:W.a.iconWrapper},i.a.createElement(_,{size:20}))))},z=n("WfPo"),A=Object(z.a)((function(e){return{searchText:Object(L.c)(e),updateSearchText:L.e}}))(J),K=n("VVUS"),M=i.a.useCallback,Q=i.a.memo,U=i.a.useEffect,B={debug:"none",info:"#454545",warning:"#b99105",error:"#c11c1c"};function F(e){var t=e.time,n=e.even,r=e.payload,o=e.type,c=Object(a.a)({even:n},T.a.log);return i.a.createElement("div",{className:c},i.a.createElement("div",{className:T.a.logMeta},i.a.createElement("div",{className:T.a.logTime},t),i.a.createElement("div",{className:T.a.logType,style:{backgroundColor:B[o]}},o),i.a.createElement("div",{className:T.a.logText},r)))}function Y(e,t){return t[e].id}F.propTypes={time:c.a.string,even:c.a.bool,payload:c.a.string,type:c.a.string};var G=Q((function(e){var t=e.index,n=e.style,r=e.data[t];return i.a.createElement("div",{style:n},i.a.createElement(F,r))}),s.c);t.default=Object(z.a)((function(e){return{logs:Object(L.b)(e),logLevel:Object(S.c)(e),apiConfig:Object(P.c)(e)}}))((function(e){var t=e.dispatch,n=e.logLevel,a=e.apiConfig,o=e.logs,c=a.hostname,l=a.port,u=a.secret,g=M((function(e){t(Object(L.a)(e))}),[t]);U((function(){w({hostname:c,port:l,secret:u,logLevel:n},g)}),[c,l,u,n,g]);var p=Object(j.a)(),f=Object(r.a)(p,2),d=f[0],v=f[1];return i.a.createElement("div",null,i.a.createElement(x.a,{title:"Logs"}),i.a.createElement(A,null),i.a.createElement("div",{ref:d,style:{paddingBottom:30}},0===o.length?i.a.createElement("div",{className:T.a.logPlaceholder,style:{height:v-30}},i.a.createElement("div",{className:T.a.logPlaceholderIcon},i.a.createElement(K.a,{width:200,height:200})),i.a.createElement("div",null,"No logs yet, hang tight...")):i.a.createElement("div",{className:T.a.logsWrapper},i.a.createElement(s.a,{height:v-30,width:"100%",itemCount:o.length,itemSize:80,itemData:o,itemKey:Y},G))))}))}}]); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/logs.bf8d3190ebe74f5f5c12.css b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/logs.bf8d3190ebe74f5f5c12.css deleted file mode 100644 index c7831ed14d..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/logs.bf8d3190ebe74f5f5c12.css +++ /dev/null @@ -1,2 +0,0 @@ -._3rlaagQhmO{display:flex;align-items:center;flex-wrap:wrap;font-size:.9em;padding:10px}._1Y8l2FW3db{color:#eee;flex-shrink:0;text-align:center;width:66px;background:green;border-radius:5px;padding:3px 5px;margin:0 8px}._3RhnPkHfE2{flex-shrink:0;color:#999;font-size:14px}.o1S9cV4T0R{flex-shrink:0;display:flex;font-family:Roboto Mono,Menlo,monospace;align-items:center;padding:8px 0;width:100%;white-space:pre;overflow:auto}._3GIdCSyyS7{margin:0;padding:0;color:var(--color-text)}._3GIdCSyyS7 li,._3GIdCSyyS7 li.even{background:var(--color-background)}.lUDfnPiNdD{padding:10px 40px}.PaFzglKCf5{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#2d2d30}.PaFzglKCf5 div:nth-child(2){color:var(--color-text-secondary);font-size:1.4em;opacity:.6}._29b6nIu_GY{opacity:.3} -._2QPZldYe9U{padding:0 40px 5px}._2PCUI90lIf{position:relative;height:40px}.xOYTLnYrng{position:absolute;top:50%;transform:translateY(-50%);left:0;width:100%}._1JKQs_Qawx{-webkit-appearance:none;background-color:var(--color-input-bg);background-image:none;border-radius:20px;border:1px solid var(--color-input-border);box-sizing:border-box;color:#c1c1c1;display:inline-block;font-size:inherit;height:40px;outline:none;padding:0 15px 0 35px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}._2km92h_dfH{position:absolute;top:50%;transform:translateY(-50%);left:10px} diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/open-sans-latin-400.woff2 b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/open-sans-latin-400.woff2 deleted file mode 100644 index e9f58b775ec05aedecb58eaa34d0fd2a8d5d1aae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14380 zcmV+{IMc^>Pew8T0RR9105~iF5dZ)H0BW2705{420RR9100000000000000000000 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

    DrmI)kIo{*_s#lK(ecpK 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:transform .2s ease-in-out}.rtf.open .rtf--mb{background:rgba(56,124,236,.92);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.rtf.open .rtf--mb>ul{list-style:none;margin:0;padding:0}.rtf.open .rtf--ab__c:hover>span,.rtf.open .rtf--ab__c>span.always-show{transition:opacity .2s ease-in-out;opacity:.9}.rtf.open .rtf--ab__c:first-child{transform:translateY(-60px) scale(1);transition-delay:.03s}.rtf.open .rtf--ab__c:first-child.top{transform:translateY(60px) scale(1)}.rtf.open .rtf--ab__c:nth-child(2){transform:translateY(-120px) scale(1);transition-delay:.09s}.rtf.open .rtf--ab__c:nth-child(2).top{transform:translateY(120px) scale(1)}.rtf.open .rtf--ab__c:nth-child(3){transform:translateY(-180px) scale(1);transition-delay:.12s}.rtf.open .rtf--ab__c:nth-child(3).top{transform:translateY(180px) scale(1)}.rtf.open .rtf--ab__c:nth-child(4){transform:translateY(-240px) scale(1);transition-delay:.15s}.rtf.open .rtf--ab__c:nth-child(4).top{transform:translateY(240px) scale(1)}.rtf.open .rtf--ab__c:nth-child(5){transform:translateY(-300px) scale(1);transition-delay:.18s}.rtf.open .rtf--ab__c:nth-child(5).top{transform:translateY(300px) scale(1)}.rtf.open .rtf--ab__c:nth-child(6){transform:translateY(-360px) scale(1);transition-delay:.21s}.rtf.open .rtf--ab__c:nth-child(6).top{transform:translateY(360px) scale(1)}.rtf--mb__c{padding:25px;margin:-25px}.rtf--mb__c :last-child{margin-bottom:0}.rtf--mb__c:hover>span,.rtf--mb__c>span.always-show{transition:opacity .2s ease-in-out;opacity:.9}.rtf--mb__c>span{opacity:0;transition:opacity .2s ease-in-out;position:absolute;top:50%;transform:translateY(-50%);margin-right:6px;margin-left:4px;background:rgba(0,0,0,.75);padding:2px 4px;border-radius:2px;color:#fff;font-size:13px;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28)}.rtf--mb__c>span.right{right:100%}.rtf--mb{height:48px;width:48px;z-index:9999;background:#387cec;display:inline-flex;justify-content:center;align-items:center;position:relative;border:none;border-radius:50%;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28);cursor:pointer;outline:none;padding:0;-webkit-user-drag:none;font-weight:700;color:#f1f1f1;font-size:18px}.rtf--ab__c,.rtf--mb>*{transition:transform .2s ease-in-out}.rtf--ab__c{display:block;position:absolute;top:0;right:1px;padding:10px 0;margin:-10px 0}.rtf--ab__c>span{opacity:0;transition:opacity .2s ease-in-out;position:absolute;top:50%;transform:translateY(-50%);margin-right:6px;background:rgba(0,0,0,.75);padding:2px 4px;border-radius:2px;color:#fff;font-size:13px;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28)}.rtf--ab__c>span.right{right:100%}.rtf--ab__c:first-child{transform:translateY(-60px) scale(0);transition-delay:.21s}.rtf--ab__c:first-child.top{transform:translateY(60px) scale(0)}.rtf--ab__c:nth-child(2){transform:translateY(-120px) scale(0);transition-delay:.18s}.rtf--ab__c:nth-child(2).top{transform:translateY(120px) scale(0)}.rtf--ab__c:nth-child(3){transform:translateY(-180px) scale(0);transition-delay:.15s}.rtf--ab__c:nth-child(3).top{transform:translateY(180px) scale(0)}.rtf--ab__c:nth-child(4){transform:translateY(-240px) scale(0);transition-delay:.12s}.rtf--ab__c:nth-child(4).top{transform:translateY(240px) scale(0)}.rtf--ab__c:nth-child(5){transform:translateY(-300px) scale(0);transition-delay:.09s}.rtf--ab__c:nth-child(5).top{transform:translateY(300px) scale(0)}.rtf--ab__c:nth-child(6){transform:translateY(-360px) scale(0);transition-delay:.03s}.rtf--ab__c:nth-child(6).top{transform:translateY(360px) scale(0)}.rtf--ab{height:40px;width:40px;margin-right:4px;background-color:#aaa;display:inline-flex;justify-content:center;align-items:center;position:relative;border:none;border-radius:50%;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28);cursor:pointer;outline:none;padding:0;-webkit-user-drag:none;font-weight:700;color:#f1f1f1;font-size:16px;z-index:10000}.rtf--ab:hover{background:#387cec;border:1px solid #387cec;color:#fff}.rtf--ab:focus{border-color:var(--color-focus-blue)} -._1NNIVhRL-n{display:flex;justify-content:center;align-items:center} -._2adLhYLrrV{position:-webkit-sticky;position:sticky;top:0;justify-content:space-between;flex-wrap:wrap;z-index:1;background:var(--color-background);background:linear-gradient(var(--color-background) 70%,transparent)}._2adLhYLrrV,._1gc_yljm7w{display:flex;align-items:center}._1gc_yljm7w{flex-wrap:wrap;flex:1;justify-content:flex-end;margin-right:20px}._1N0wXB7TV7{max-width:350px;min-width:150px;flex:1;margin-right:8px}._35E6rdJlPT{padding:10px 15px}@media screen and (min-width:30em){._35E6rdJlPT{padding:10px 40px}}._3NWc4-pcFT{position:relative;border-radius:50%;background:linear-gradient(60deg,#e66465,#9198e5)}._3NWc4-pcFT:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border:2px solid transparent;border-top-color:initial;border-radius:50%;animation:_2zZyX5N3wc 1s linear infinite}@keyframes _2zZyX5N3wc{0%{transform:rotate(0)}to{transform:rotate(1turn)}} -._2qbBB1Sojw{display:flex;align-items:center}._2qbBB1Sojw:focus{outline:none}._2qbBB1Sojw ._1iuVspxe4f{display:inline-flex;transform:rotate(0deg);transition:transform .3s}._2qbBB1Sojw ._1iuVspxe4f._2CN_S7POBQ{transform:rotate(180deg)}._2qbBB1Sojw ._1iuVspxe4f:focus{outline:var(--color-focus-blue) solid 1px}._3504uhlYv5{margin-left:5px}._3Vynmp3NK4{font-family:var(--font-normal);font-size:.75em;margin-left:3px;padding:2px 7px;display:inline-flex;justify-content:center;align-items:center;background-color:var(--bg-near-transparent);border-radius:30px} -.v5oNKUwcTc{margin-bottom:12px}._2fR1H0ysyY{width:20px;height:20px;display:flex;align-items:center;justify-content:center} -._5-kOJyYfSn{margin:3px;padding:5px;position:relative;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;outline:none;border:1px solid transparent;background-color:var(--color-bg-proxy)}._5-kOJyYfSn:focus{border:1px solid var(--color-focus-blue)}._5-kOJyYfSn{max-width:280px}@media screen and (min-width:30em){._5-kOJyYfSn{min-width:200px;border-radius:10px;padding:10px}}._5-kOJyYfSn.MbWebw2VH4{background-color:var(--color-focus-blue);color:#ddd}._5-kOJyYfSn._2dlAYgAIKi{opacity:.5}._5-kOJyYfSn._3rB1UgDAL6{transition:transform .2s ease-in-out;cursor:pointer}._5-kOJyYfSn._3rB1UgDAL6:hover{transform:translateY(-2px)}.nnjdzHZySt{font-family:var(--font-mono);font-size:.6em}@media screen and (min-width:30em){.nnjdzHZySt{font-size:1em}}._2E11-huRp7{display:flex;align-items:center;justify-content:space-between}._2Eys6UMXCm{width:100%;margin-bottom:5px;font-size:.85em}@media screen and (min-width:30em){._2Eys6UMXCm{font-size:1em}}._2rRGWVNOYC{width:13px;height:13px;border-radius:50%;border:1px solid var(--color-background)}._2rRGWVNOYC.MbWebw2VH4{border-color:var(--color-text-secondary)}._2rRGWVNOYC._3rB1UgDAL6{transition:transform .1s ease-in-out;cursor:pointer}._2rRGWVNOYC._3rB1UgDAL6:hover{transform:scale(1.2)} -._1GlyjMFCSf{border-radius:20px;color:#eee;font-size:.6em}@media screen and (min-width:30em){._1GlyjMFCSf{font-size:1em}} -._1pPZyUDtdp{display:flex;flex-wrap:wrap;margin:8px 0 8px -3px}._6uXcWV1Myk{margin:8px 0;display:grid;grid-template-columns:repeat(auto-fill,13px);grid-gap:10px} -._113att7Ifr{margin-bottom:12px}._113att7Ifr small{color:#777}._26mH_RmGnl{padding:10px 15px}@media screen and (min-width:30em){._26mH_RmGnl{padding:10px 40px}}._2cXcxGEUNI{display:flex}._2cXcxGEUNI button{margin:0 5px}._2cXcxGEUNI button:first-child{margin-left:0}._2NjdAt9CvG{display:flex;justify-content:center;align-items:center;cursor:pointer} -._2epoA7G8CQ{height:30px;width:100%;padding-left:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-background);color:var(--color-text);padding-right:20px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 7l3 4H1l3-4zM4 17l-3-4h6l-3 4z' fill='%23999'/%3E%3C/svg%3E");border-radius:4px;border-image:initial;border:1px solid var(--select-border-color);transition:all .1s ease 0s;background-position:calc(100% - 8px) 50%;background-repeat:no-repeat}._2epoA7G8CQ:focus,._2epoA7G8CQ:hover{border-color:#343434;outline:none!important;color:var(--color-text-highlight);background-image:var(--select-bg-hover)}._2epoA7G8CQ option{background-color:var(--color-background)} -._1tkxMBL44k{max-width:85vw;width:400px;display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:13px 0}hr{height:1px;background-color:var(--color-separator);border:none;outline:none;margin:1rem 0} -._1I0EXOg8Vu{-webkit-appearance:none;background-color:var(--color-input-bg);background-image:none;border-radius:20px;border:1px solid var(--color-input-border);box-sizing:border-box;color:#c1c1c1;display:inline-block;font-size:inherit;outline:none;padding:8px 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}._1I0EXOg8Vu:focus{border:1px solid var(--color-focus-blue)} diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/proxies.fe3172e32076eb8749e4.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/proxies.fe3172e32076eb8749e4.js deleted file mode 100644 index 09f7aa5cf5..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/proxies.fe3172e32076eb8749e4.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{"/Uh6":function(e,t,n){e.exports={proxyLatency:"_1GlyjMFCSf"}},"0tMl":function(e,t,n){e.exports={topBar:"_2adLhYLrrV",topBarRight:"_1gc_yljm7w",textFilterContainer:"_1N0wXB7TV7",group:"_35E6rdJlPT",spining:"_3NWc4-pcFT",spining_keyframes:"_2zZyX5N3wc"}},"5JRb":function(e,t,n){e.exports={labeledInput:"_1tkxMBL44k"}},"9cvt":function(e,t,n){"use strict";n.d(t,"c",(function(){return r}));n("U20h");var a=n("cq0i");n.d(t,"b",(function(){return a.b})),n.d(t,"a",(function(){return a.a}));var r={right:10,bottom:10}},DsEz:function(e,t,n){e.exports={input:"_1I0EXOg8Vu"}},LhcJ:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var a=n("ODXe"),r=n("hbEN"),c=n("q1tI"),l=n("dBaT"),o=c.useCallback,i=c.useState,u=c.useMemo;function s(e){var t=Object(l.useRecoilState)(e),n=Object(a.a)(t,2)[1],c=i(""),s=Object(a.a)(c,2),m=s[0],p=s[1],d=u((function(){return Object(r.a)(n,300)}),[n]);return[o((function(e){p(e.target.value),d(e.target.value)}),[d]),m]}},MR5J:function(e,t,n){e.exports={FlexCenter:"_1NNIVhRL-n"}},RL2M:function(e,t,n){e.exports={header:"_2qbBB1Sojw",arrow:"_1iuVspxe4f",isOpen:"_2CN_S7POBQ",btn:"_3504uhlYv5",qty:"_3Vynmp3NK4"}},U20h:function(e,t,n){},UVHL:function(e,t,n){e.exports={select:"_2epoA7G8CQ"}},UmKA:function(e,t,n){e.exports={overlay:"_25Hedjekvk",cnt:"_1tfU5GSa-_",afterOpen:"_2VMuy-HWwC"}},agpB:function(e,t,n){e.exports={updatedAt:"_113att7Ifr",body:"_26mH_RmGnl",actionFooter:"_2cXcxGEUNI",refresh:"_2NjdAt9CvG"}},drH3:function(e,t,n){e.exports={list:"_1pPZyUDtdp",listSummaryView:"_6uXcWV1Myk"}},kCV3:function(e,t,n){"use strict";n.r(t);n("2B1R");var a=n("ODXe"),r=n("q1tI"),c=n.n(r),l=n("ySHw"),o=n("OADI"),i=n("GmYy"),u=n("n57c"),s=n("DKqX"),m=n("iuhU"),p=n("9rZX"),d=n.n(p),f=n("Z9Yo"),v=n.n(f),y=n("UmKA"),b=n.n(y),E=r.useMemo;function h(e){var t=e.isOpen,n=e.onRequestClose,a=e.children,c=E((function(){return{base:Object(m.a)(v.a.content,b.a.cnt),afterOpen:b.a.afterOpen,beforeClose:""}}),[]);return r.createElement(d.a,{isOpen:t,onRequestClose:n,className:c,overlayClassName:Object(m.a)(v.a.overlay,b.a.overlay)},a)}var O=n("9cvt"),C=n("WfPo");function x(e){var t=e.color,n=void 0===t?"currentColor":t,a=e.size,c=void 0===a?24:a;return r.createElement("svg",{fill:"none",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:c,height:c,stroke:n,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M2 6h9M18.5 6H22"}),r.createElement("circle",{cx:"16",cy:"6",r:"2"}),r.createElement("path",{d:"M22 18h-9M6 18H2"}),r.createElement("circle",{r:"2",transform:"matrix(-1 0 0 1 8 18)"}))}var g=n("MR5J"),w=n.n(g);function k(e){var t=e.children;return r.createElement("div",{className:w.a.FlexCenter},t)}var j=r.useRef,N=r.useEffect;function S(e){var t=e.onClickPrimaryButton,n=e.onClickSecondaryButton,a=j(null),c=j(null);N((function(){a.current.focus()}),[]);return r.createElement("div",{onKeyDown:function(e){39===e.keyCode?c.current.focus():37===e.keyCode&&a.current.focus()}},r.createElement("h2",null,"Close Connections?"),r.createElement("p",null,'Click "Yes" to close those connections that are still using the old selected proxy in this group'),r.createElement("div",{style:{height:30}}),r.createElement(k,null,r.createElement(u.a,{onClick:t,ref:a},"Yes"),r.createElement("div",{style:{width:20}}),r.createElement(u.a,{onClick:n,ref:c},"No")))}var _=n("0tMl"),B=n.n(_),M=n("o0o1"),A=n.n(M),L=(n("ls82"),n("HaE+")),P=n("j7o3"),U=13,R=32,D=n("RL2M"),T=n.n(D),I=n("riol");function H(e){var t=e.name,n=e.type,a=e.toggle,c=e.isOpen,l=e.qty,o=r.useCallback((function(e){e.preventDefault(),e.keyCode!==U&&e.keyCode!==R||a()}),[a]);return r.createElement("div",{className:T.a.header,onClick:a,style:{cursor:"pointer"},tabIndex:0,onKeyDown:o,role:"button"},r.createElement("div",null,r.createElement(I.b,{name:t,type:n})),"number"==typeof l?r.createElement("span",{className:T.a.qty},l):null,r.createElement(u.a,{kind:"minimal",onClick:a,className:T.a.btn},r.createElement("span",{className:Object(m.a)(T.a.arrow,{[T.a.isOpen]:c})},r.createElement(P.a,{size:20}))))}n("TeQF"),n("yXV3"),n("ToJy"),n("EnZy"),n("SYor");var V=n("KQm4"),q=n("dBaT"),K=r.useMemo;var z=function(e,t){if(e&&"number"==typeof e.number&&e.number>0)return e.number;var n=t&&t.type;return n&&i.a.indexOf(n)>-1?-1:999999},F={Natural:function(e){return e},LatencyAsc:function(e,t,n){return e.sort((function(e,a){return z(t[e],n&&n[e])-z(t[a],n&&n[a])}))},LatencyDesc:function(e,t,n){return e.sort((function(e,a){var r=z(t[e],n&&n[e]);return z(t[a],n&&n[a])-r}))},NameAsc:function(e){return e.sort()},NameDesc:function(e){return e.sort((function(e,t){return e>t?-1:e-1)return!0}return!1}))}(l,a)),F[r](l,t,c)}(e,t,n,o,r,c)}),[e,t,n,o,r,c])}var J=n("xKoM"),X=n.n(J),Z=n("wztZ"),G=n.n(Z),W=n("/Uh6"),Q=n.n(W);function $(e){var t=e.number,n=e.color;return r.createElement("span",{className:Q.a.proxyLatency,style:{color:n}},r.createElement("span",null,t," ms"))}var ee=r.useMemo,te="#67c23a",ne="#d4b75c",ae="#e67f3c",re="#909399";function ce(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.number;return 0===t?re:t<200?te:t<400?ne:"number"==typeof t?ae:re}var le=function(e,t){var n=t.name,a=Object(i.e)(e),r=Object(i.d)(e);return{proxy:a[n],latency:r[n]}},oe=Object(C.a)(le)((function(e){var t=e.now,n=e.name,a=e.proxy,c=e.latency,l=e.isSelectable,o=e.onClick,i=ee((function(){return ce(c)}),[c]),u=r.useCallback((function(){l&&o&&o(n)}),[n,o,l]),s=r.useCallback((function(e){e.keyCode===U&&u()}),[u]),p=ee((function(){return Object(m.a)(G.a.proxy,{[G.a.now]:t,[G.a.error]:c&&c.error,[G.a.selectable]:l})}),[l,t,c]);return r.createElement("div",{tabIndex:0,className:p,onClick:u,onKeyDown:s,role:l?"menuitem":""},r.createElement("div",{className:G.a.proxyName},n),r.createElement("div",{className:G.a.row},r.createElement("span",{className:G.a.proxyType,style:{opacity:t?.6:.2}},a.type),c&&c.number?r.createElement($,{number:c.number,color:i}):null))})),ie=Object(C.a)(le)((function(e){var t=e.now,n=e.name,a=e.proxy,c=e.latency,l=e.isSelectable,o=e.onClick,u=ee((function(){return function(e,t){return i.a.indexOf(t)>-1?"linear-gradient(135deg, white 15%, #999 15% 30%, white 30% 45%, #999 45% 60%, white 60% 75%, #999 75% 90%, white 90% 100%)":ce(e)}(c,a.type)}),[c,a]),s=ee((function(){var e=n;return c&&"number"==typeof c.number&&(e+=" "+c.number+" ms"),e}),[n,c]),p=r.useCallback((function(){l&&o&&o(n)}),[n,o,l]),d=ee((function(){return Object(m.a)(G.a.proxySmall,{[G.a.now]:t,[G.a.selectable]:l})}),[l,t]),f=r.useCallback((function(e){e.keyCode===U&&p()}),[p]);return r.createElement("div",{title:s,className:d,style:{background:u},onClick:p,onKeyDown:f,role:l?"menuitem":""})})),ue=n("drH3"),se=n.n(ue);function me(e){var t=e.all,n=e.now,a=e.isSelectable,c=e.itemOnTapCallback,l=t;return r.createElement("div",{className:se.a.list},l.map((function(e){return r.createElement(oe,{key:e,onClick:c,isSelectable:a,name:e,now:e===n})})))}function pe(e){var t=e.all,n=e.now,a=e.isSelectable,c=e.itemOnTapCallback;return r.createElement("div",{className:se.a.listSummaryView},t.map((function(e){return r.createElement(ie,{key:e,onClick:c,isSelectable:a,name:e,now:e===n})})))}var de=r.createElement,fe=r.useCallback,ve=r.useMemo,ye=r.useState;function be(){return r.createElement("div",{className:X.a.zapWrapper},r.createElement(l.a,{size:16}))}var Ee=Object(C.a)((function(e,t){var n=t.name,a=t.delay,r=Object(i.e)(e),c=Object(o.d)(e),l=Object(o.g)(e),u=Object(o.e)(e),s=r[n];return{all:s.all,delay:a,hideUnavailableProxies:u,proxySortBy:l,proxies:r,type:s.type,now:s.now,isOpen:c["proxyGroup:"+n]}}))((function(e){var t=e.name,n=e.all,c=e.delay,l=e.hideUnavailableProxies,o=e.proxySortBy,s=e.proxies,m=e.type,p=e.now,d=e.isOpen,f=e.apiConfig,v=e.dispatch,y=Y(n,c,l,o,s),b=ve((function(){return"Selector"===m}),[m]),E=Object(C.c)(),h=E.app.updateCollapsibleIsOpen,O=E.proxies.requestDelayForProxies,x=fe((function(){h("proxyGroup",t,!d)}),[d,h,t]),g=fe((function(e){b&&v(Object(i.m)(f,t,e))}),[f,v,t,b]),w=ye(!1),k=Object(a.a)(w,2),j=k[0],N=k[1],S=fe(Object(L.a)(A.a.mark((function e(){return A.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return N(!0),e.prev=1,e.next=4,O(f,y);case 4:e.next=8;break;case 6:e.prev=6,e.t0=e.catch(1);case 8:N(!1);case 9:case"end":return e.stop()}}),e,null,[[1,6]])}))),[y,f,O]);return r.createElement("div",{className:X.a.group},r.createElement("div",{style:{display:"flex",alignItems:"center"}},r.createElement(H,{name:t,type:m,toggle:x,qty:y.length,isOpen:d}),r.createElement(u.a,{kind:"minimal",onClick:S,isLoading:j},r.createElement(be,null))),de(d?me:pe,{all:y,now:p,isSelectable:b,itemOnTapCallback:g}))})),he=n("FVam"),Oe=n("ZMKu"),Ce=n("OAQO"),xe=n("bdgK"),ge=c.a.memo,we=c.a.useState,ke=c.a.useRef,je=c.a.useEffect;var Ne={initialOpen:{height:"auto",transition:{duration:0}},open:function(e){return{height:e,opacity:1,visibility:"visible",transition:{duration:.3}}},closed:{height:0,opacity:0,visibility:"hidden",transition:{duration:.3}}},Se={open:{x:0},closed:{x:20}},_e=ge((function(e){var t,n,r=e.children,l=e.isOpen,o=(t=l,n=ke(),je((function(){n.current=t}),[t]),n.current),i=function(){var e=ke(),t=we({height:0}),n=Object(a.a)(t,2),r=n[0],c=n[1];return je((function(){var t=new xe.a((function(e){var t=Object(a.a)(e,1)[0];return c(t.contentRect)}));return e.current&&t.observe(e.current),function(){return t.disconnect()}}),[]),[e,r]}(),u=Object(a.a)(i,2),s=u[0],m=u[1].height;return c.a.createElement("div",null,c.a.createElement(Oe.a.div,{animate:l&&o===l?"initialOpen":l?"open":"closed",custom:m,variants:Ne},c.a.createElement(Oe.a.div,{variants:Se,ref:s},r)))})),Be=n("agpB"),Me=n.n(Be),Ae=r.useState,Le=r.useCallback;var Pe={rest:{scale:1},pressed:{scale:.95}},Ue={rest:{rotate:0},hover:{rotate:360,transition:{duration:.3}}};function Re(){return r.createElement(Oe.a.div,{className:Me.a.refresh,variants:Pe,initial:"rest",whileHover:"hover",whileTap:"pressed"},r.createElement(Oe.a.div,{className:"flexCenter",variants:Ue},r.createElement(Ce.a,{size:16})))}var De=Object(C.a)((function(e,t){var n=t.proxies,a=t.name,r=Object(o.e)(e),c=Object(i.d)(e),l=Object(o.d)(e);return{apiConfig:Object(o.c)(e),proxies:n,delay:c,hideUnavailableProxies:r,proxySortBy:Object(o.g)(e),isOpen:l["proxyProvider:"+a]}}))((function(e){var t=e.name,n=e.proxies,c=e.delay,o=e.hideUnavailableProxies,s=e.proxySortBy,m=e.vehicleType,p=e.updatedAt,d=e.isOpen,f=e.dispatch,v=e.apiConfig,y=Y(n,c,o,s),b=Ae(!1),E=Object(a.a)(b,2),h=E[0],O=E[1],x=Le((function(){return f(Object(i.n)(v,t))}),[v,f,t]),g=Le(Object(L.a)(A.a.mark((function e(){return A.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return O(!0),e.next=3,f(Object(i.i)(v,t));case 3:O(!1);case 4:case"end":return e.stop()}}),e)}))),[v,f,t,O]),w=Object(C.c)().app.updateCollapsibleIsOpen,k=Le((function(){w("proxyProvider",t,!d)}),[d,w,t]),j=Object(he.a)(new Date(p),new Date);return r.createElement("div",{className:Me.a.body},r.createElement(H,{name:t,toggle:k,type:m,isOpen:d,qty:y.length}),r.createElement("div",{className:Me.a.updatedAt},r.createElement("small",null,"Updated ",j," ago")),r.createElement(_e,{isOpen:d},r.createElement(me,{all:y}),r.createElement("div",{className:Me.a.actionFooter},r.createElement(u.a,{text:"Update",start:r.createElement(Re,null),onClick:x}),r.createElement(u.a,{text:"Health Check",start:r.createElement(l.a,{size:16}),onClick:g,isLoading:h}))),r.createElement(_e,{isOpen:!d},r.createElement(pe,{all:y})))}));function Te(e){var t=e.items;return 0===t.length?null:r.createElement(r.Fragment,null,r.createElement(s.a,{title:"Proxy Provider"}),r.createElement("div",null,t.map((function(e){return r.createElement(De,{key:e.name,name:e.name,proxies:e.proxies,type:e.type,vehicleType:e.vehicleType,updatedAt:e.updatedAt})}))))}var Ie=n("UVHL"),He=n.n(Ie);function Ve(e){var t=e.options,n=e.selected,c=e.onChange;return r.createElement("select",{className:He.a.select,value:n,onChange:c},t.map((function(e){var t=Object(a.a)(e,2),n=t[0],c=t[1];return r.createElement("option",{key:n,value:n},c)})))}var qe=n("hkBY"),Ke=n("5JRb"),ze=n.n(Ke),Fe=[["Natural","Original order in config file"],["LatencyAsc","By latency from small to big"],["LatencyDesc","By latency from big to small"],["NameAsc","By name alphabetically (A-Z)"],["NameDesc","By name alphabetically (Z-A)"]],Ye=r.useCallback;var Je=Object(C.a)((function(e){return{appConfig:{proxySortBy:Object(o.g)(e),hideUnavailableProxies:Object(o.e)(e),autoCloseOldConns:Object(o.b)(e)}}}))((function(e){var t=e.appConfig,n=Object(C.c)().app.updateAppConfig,a=Ye((function(e){n("proxySortBy",e.target.value)}),[n]),c=Ye((function(e){n("hideUnavailableProxies",e)}),[n]);return r.createElement(r.Fragment,null,r.createElement("div",{className:ze.a.labeledInput},r.createElement("span",null,"Sorting in group"),r.createElement("div",null,r.createElement(Ve,{options:Fe,selected:t.proxySortBy,onChange:a}))),r.createElement("hr",null),r.createElement("div",{className:ze.a.labeledInput},r.createElement("span",null,"Hide unavailable proxies"),r.createElement("div",null,r.createElement(qe.a,{name:"hideUnavailableProxies",checked:t.hideUnavailableProxies,onChange:c}))),r.createElement("div",{className:ze.a.labeledInput},r.createElement("span",null,"Automatically close old connections"),r.createElement("div",null,r.createElement(qe.a,{name:"autoCloseOldConns",checked:t.autoCloseOldConns,onChange:function(e){return n("autoCloseOldConns",e)}}))))})),Xe=n("LhcJ"),Ze=n("DsEz"),Ge=n.n(Ze);function We(){var e=Object(Xe.a)(i.k),t=Object(a.a)(e,2),n=t[0],c=t[1];return r.createElement("input",{className:Ge.a.input,type:"text",value:c,onChange:n})}var Qe=r.useState,$e=r.useEffect,et=r.useCallback,tt=r.useRef;function nt(){return r.createElement("div",{className:B.a.spining,style:{width:48,height:48,display:"flex",justifyContent:"center",alignItems:"center"}},r.createElement(l.a,{width:16,height:16}))}t.default=Object(C.a)((function(e){return{apiConfig:Object(o.c)(e),groupNames:Object(i.f)(e),proxyProviders:Object(i.g)(e),delay:Object(i.d)(e),showModalClosePrevConns:Object(i.h)(e)}}))((function(e){var t=e.dispatch,n=e.groupNames,c=e.delay,o=e.proxyProviders,m=e.apiConfig,p=e.showModalClosePrevConns,d=tt({}),f=Qe(!1),v=Object(a.a)(f,2),y=v[0],b=v[1],E=et((function(){y||(b(!0),t(Object(i.l)(m)).then((function(){return b(!1)}),(function(){return b(!1)})))}),[m,t,y]),g=et((function(){d.current.startAt=Date.now(),t(Object(i.c)(m)).then((function(){d.current.completeAt=Date.now()}))}),[m,t]);$e((function(){g();var e=function(){d.current.startAt&&Date.now()-d.current.startAt>3e4&&g()};return window.addEventListener("focus",e,!1),function(){return window.removeEventListener("focus",e,!1)}}),[g]);var w=Qe(!1),k=Object(a.a)(w,2),j=k[0],N=k[1],_=et((function(){N(!1)}),[]),M=Object(C.c)().proxies,A=M.closeModalClosePrevConns,L=M.closePrevConnsAndTheModal;return r.createElement(r.Fragment,null,r.createElement(h,{isOpen:j,onRequestClose:_},r.createElement(Je,null)),r.createElement("div",{className:B.a.topBar},r.createElement(s.a,{title:"Proxies"}),r.createElement("div",{className:B.a.topBarRight},r.createElement("div",{className:B.a.textFilterContainer},r.createElement(We,null)),r.createElement(u.a,{kind:"minimal",onClick:function(){return N(!0)}},r.createElement(x,{size:16})))),r.createElement("div",null,n.map((function(e){return r.createElement("div",{className:B.a.group,key:e},r.createElement(Ee,{name:e,delay:c,apiConfig:m,dispatch:t}))}))),r.createElement(Te,{items:o}),r.createElement("div",{style:{height:60}}),r.createElement(O.b,{icon:y?r.createElement(nt,null):r.createElement(l.a,{width:16,height:16}),onClick:E,text:"Test Latency",position:O.c}),r.createElement(h,{isOpen:p,onRequestClose:A},r.createElement(S,{onClickPrimaryButton:function(){return L(m)},onClickSecondaryButton:A})))}))},wztZ:function(e,t,n){e.exports={proxy:"_5-kOJyYfSn",now:"MbWebw2VH4",error:"_2dlAYgAIKi",selectable:"_3rB1UgDAL6",proxyType:"nnjdzHZySt",row:"_2E11-huRp7",proxyName:"_2Eys6UMXCm",proxySmall:"_2rRGWVNOYC"}},xKoM:function(e,t,n){e.exports={header:"v5oNKUwcTc",zapWrapper:"_2fR1H0ysyY"}}}]); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/react~app.85a6af7ab221658559e3.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/react~app.85a6af7ab221658559e3.js deleted file mode 100644 index 746a0330c8..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/react~app.85a6af7ab221658559e3.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see react~app.85a6af7ab221658559e3.js.LICENSE.txt */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{i8i4:function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n("yl30")},q1tI:function(e,t,n){"use strict";e.exports=n("viRO")},viRO:function(e,t,n){"use strict";var r=n("MgzW"),l="function"==typeof Symbol&&Symbol.for,i=l?Symbol.for("react.element"):60103,a=l?Symbol.for("react.portal"):60106,o=l?Symbol.for("react.fragment"):60107,u=l?Symbol.for("react.strict_mode"):60108,c=l?Symbol.for("react.profiler"):60114,s=l?Symbol.for("react.provider"):60109,f=l?Symbol.for("react.context"):60110,d=l?Symbol.for("react.forward_ref"):60112,p=l?Symbol.for("react.suspense"):60113,m=l?Symbol.for("react.suspense_list"):60120,h=l?Symbol.for("react.memo"):60115,g=l?Symbol.for("react.lazy"):60116,v=l?Symbol.for("react.chunk"):60121;l&&Symbol.for("react.fundamental"),l&&Symbol.for("react.responder"),l&&Symbol.for("react.scope");var y="function"==typeof Symbol&&Symbol.iterator;function b(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;nR.length&&R.push(e)}function D(e,t,n){return null==e?0:function e(t,n,r,l){var o=typeof t;"undefined"!==o&&"boolean"!==o||(t=null);var u=!1;if(null===t)u=!0;else switch(o){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case i:case a:u=!0}}if(u)return r(l,t,""===n?"."+F(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c

    - - - diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/roboto-mono-latin-400.woff2 b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/roboto-mono-latin-400.woff2 deleted file mode 100644 index 53d4b505c2eb685b2b57d30efebb71a40b096276..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16328 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:transform .2s ease-in-out}.rtf.open .rtf--mb{background:rgba(56,124,236,.92);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.rtf.open .rtf--mb>ul{list-style:none;margin:0;padding:0}.rtf.open .rtf--ab__c:hover>span,.rtf.open .rtf--ab__c>span.always-show{transition:opacity .2s ease-in-out;opacity:.9}.rtf.open .rtf--ab__c:first-child{transform:translateY(-60px) scale(1);transition-delay:.03s}.rtf.open .rtf--ab__c:first-child.top{transform:translateY(60px) scale(1)}.rtf.open .rtf--ab__c:nth-child(2){transform:translateY(-120px) scale(1);transition-delay:.09s}.rtf.open .rtf--ab__c:nth-child(2).top{transform:translateY(120px) scale(1)}.rtf.open .rtf--ab__c:nth-child(3){transform:translateY(-180px) scale(1);transition-delay:.12s}.rtf.open .rtf--ab__c:nth-child(3).top{transform:translateY(180px) scale(1)}.rtf.open .rtf--ab__c:nth-child(4){transform:translateY(-240px) scale(1);transition-delay:.15s}.rtf.open .rtf--ab__c:nth-child(4).top{transform:translateY(240px) scale(1)}.rtf.open .rtf--ab__c:nth-child(5){transform:translateY(-300px) scale(1);transition-delay:.18s}.rtf.open .rtf--ab__c:nth-child(5).top{transform:translateY(300px) scale(1)}.rtf.open .rtf--ab__c:nth-child(6){transform:translateY(-360px) scale(1);transition-delay:.21s}.rtf.open .rtf--ab__c:nth-child(6).top{transform:translateY(360px) scale(1)}.rtf--mb__c{padding:25px;margin:-25px}.rtf--mb__c :last-child{margin-bottom:0}.rtf--mb__c:hover>span,.rtf--mb__c>span.always-show{transition:opacity .2s ease-in-out;opacity:.9}.rtf--mb__c>span{opacity:0;transition:opacity .2s ease-in-out;position:absolute;top:50%;transform:translateY(-50%);margin-right:6px;margin-left:4px;background:rgba(0,0,0,.75);padding:2px 4px;border-radius:2px;color:#fff;font-size:13px;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28)}.rtf--mb__c>span.right{right:100%}.rtf--mb{height:48px;width:48px;z-index:9999;background:#387cec;display:inline-flex;justify-content:center;align-items:center;position:relative;border:none;border-radius:50%;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28);cursor:pointer;outline:none;padding:0;-webkit-user-drag:none;font-weight:700;color:#f1f1f1;font-size:18px}.rtf--ab__c,.rtf--mb>*{transition:transform .2s ease-in-out}.rtf--ab__c{display:block;position:absolute;top:0;right:1px;padding:10px 0;margin:-10px 0}.rtf--ab__c>span{opacity:0;transition:opacity .2s ease-in-out;position:absolute;top:50%;transform:translateY(-50%);margin-right:6px;background:rgba(0,0,0,.75);padding:2px 4px;border-radius:2px;color:#fff;font-size:13px;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28)}.rtf--ab__c>span.right{right:100%}.rtf--ab__c:first-child{transform:translateY(-60px) scale(0);transition-delay:.21s}.rtf--ab__c:first-child.top{transform:translateY(60px) scale(0)}.rtf--ab__c:nth-child(2){transform:translateY(-120px) scale(0);transition-delay:.18s}.rtf--ab__c:nth-child(2).top{transform:translateY(120px) scale(0)}.rtf--ab__c:nth-child(3){transform:translateY(-180px) scale(0);transition-delay:.15s}.rtf--ab__c:nth-child(3).top{transform:translateY(180px) scale(0)}.rtf--ab__c:nth-child(4){transform:translateY(-240px) scale(0);transition-delay:.12s}.rtf--ab__c:nth-child(4).top{transform:translateY(240px) scale(0)}.rtf--ab__c:nth-child(5){transform:translateY(-300px) scale(0);transition-delay:.09s}.rtf--ab__c:nth-child(5).top{transform:translateY(300px) scale(0)}.rtf--ab__c:nth-child(6){transform:translateY(-360px) scale(0);transition-delay:.03s}.rtf--ab__c:nth-child(6).top{transform:translateY(360px) scale(0)}.rtf--ab{height:40px;width:40px;margin-right:4px;background-color:#aaa;display:inline-flex;justify-content:center;align-items:center;position:relative;border:none;border-radius:50%;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28);cursor:pointer;outline:none;padding:0;-webkit-user-drag:none;font-weight:700;color:#f1f1f1;font-size:16px;z-index:10000}.rtf--ab:hover{background:#387cec;border:1px solid #387cec;color:#fff}.rtf--ab:focus{border-color:var(--color-focus-blue)} diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/rules.fe5dbfb2f26ad4211d1e.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/rules.fe5dbfb2f26ad4211d1e.js deleted file mode 100644 index 9c191efb5e..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/rules.fe5dbfb2f26ad4211d1e.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{"8odY":function(e,t,r){e.exports={RuleProviderItem:"_2F14Vs-eyF",left:"x4HgsJSs_L",middle:"_1AQt0kcvQz",gray:"_28wqsVo1h2",refreshButtonWrapper:"_1g-irMIYO_",rotate:"_3HvVwQHShY",isRotating:"_3rwg4EbgB3",rotating:"_2ju9m-RrFA"}},"9cvt":function(e,t,r){"use strict";r.d(t,"c",(function(){return a}));r("U20h");var n=r("cq0i");r.d(t,"b",(function(){return n.b})),r.d(t,"a",(function(){return n.a}));var a={right:10,bottom:10}},BVyM:function(e,t,r){"use strict";r.r(t);r("TeQF"),r("yXV3");var n=r("ODXe"),a=r("wx14"),i=r("q1tI"),o=r.n(i),c=r("OAQO"),u=r("Qv+K"),s=r("iR1w"),l=r("dBaT"),p=(r("pNMO"),r("QWBl"),r("27RR"),r("07d7"),r("5s+n"),r("FZtP"),r("o0o1")),f=r.n(p),v=(r("ls82"),r("HaE+")),d=r("rePB"),m=r("EJpJ");function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function O(e){for(var t=1;t=0,"there is no valid rules list in the rules API response"),e.rules.map((function(e,t){return k(k({},e),{},{id:t})}))}function R(e,t){return D.apply(this,arguments)}function D(){return(D=Object(v.a)(f.a.mark((function e(t,r){var n,a,i,o,c;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={rules:[]},e.prev=1,a=Object(m.a)(r),i=a.url,o=a.init,e.next=5,fetch(i+t,o);case 5:if(!(c=e.sent).ok){e.next=10;break}return e.next=9,c.json();case 9:n=e.sent;case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(1),console.log("failed to fetch rules",e.t0);case 15:return e.abrupt("return",C(n));case 16:case"end":return e.stop()}}),e,null,[[1,12]])})))).apply(this,arguments)}var N=r("iuhU"),_=r("FVam"),I=r("n57c"),L=r("riol"),S=r("8odY"),Q=r.n(S);function T(e){var t=e.isRotating,r=Object(N.a)(Q.a.rotate,{[Q.a.isRotating]:t});return i.createElement("span",{className:r},i.createElement(c.a,{width:16}))}function B(e){var t=e.idx,r=e.name,a=e.vehicleType,o=e.behavior,c=e.updatedAt,s=e.ruleCount,l=function(e,t){var r=Object(u.b)(j,{onSuccess:function(){u.a.invalidateQueries("/providers/rules")}}),a=Object(n.a)(r,2),i=a[0];return[function(r){r.preventDefault(),i({name:e,apiConfig:t})},a[1].isLoading]}(r,e.apiConfig),p=Object(n.a)(l,2),f=p[0],v=p[1],d=Object(_.a)(new Date(c),new Date);return i.createElement("div",{className:Q.a.RuleProviderItem},i.createElement("span",{className:Q.a.left},t),i.createElement("div",{className:Q.a.middle},i.createElement(L.b,{name:r,type:`${a} / ${o}`}),i.createElement("div",{className:Q.a.gray},s<2?s+" rule":s+" rules"),i.createElement("small",{className:Q.a.gray},"Updated ",d," ago")),i.createElement("span",{className:Q.a.refreshButtonWrapper},i.createElement(I.a,{onClick:f,disabled:v},i.createElement(T,{isRotating:v}))))}var W=r("LhcJ"),z=Object(l.atom)({key:"ruleFilterText",default:""}),A=r("DsEz"),q=r.n(A);function F(){var e=Object(W.a)(z),t=Object(n.a)(e,2),r=t[0],a=t[1];return i.createElement("input",{className:q.a.input,type:"text",value:a,onChange:r,placeholder:"Filter"})}var J=r("Kv4h"),V=r("OADI"),M=r("DKqX"),X=r("17x9"),K=r.n(X),U=r("xrux"),Y=r.n(U),H={_default:"#59caf9",DIRECT:"#f5bc41",REJECT:"#cb3166"};function Z(e){var t=e.type,r=e.payload,n=e.proxy,a=e.id,i=function(e){var t=e.proxy,r=H._default;return H[t]&&(r=H[t]),{color:r}}({proxy:n});return o.a.createElement("div",{className:Y.a.rule},o.a.createElement("div",{className:Y.a.left},a),o.a.createElement("div",null,o.a.createElement("div",{className:Y.a.b},r),o.a.createElement("div",{className:Y.a.a},o.a.createElement("div",{className:Y.a.type},t),o.a.createElement("div",{style:i},n))))}Z.propTypes={id:K.a.number,type:K.a.string,payload:K.a.string,proxy:K.a.string};var $=Z,G=r("mlDh"),ee=r.n(G),te=r("9cvt"),re=r("WfPo"),ne=o.a.memo,ae=o.a.useMemo,ie=o.a.useCallback;function oe(e,t){var r=t.rules,n=t.provider,a=n.names.length;return e=0})),provider:{byName:r.byName,names:r.names.filter((function(e){return e.toLowerCase().indexOf(o)>=0}))}}}(t),d=v.rules,m=v.provider,b=ie((function(){u.a.invalidateQueries("/rules"),u.a.invalidateQueries("/providers/rules")}),[]),O=function(e){var t=e.provider;return function(e){return e=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=Object(n.forwardRef)((function(e,t){var r=e.color,n=void 0===r?"currentColor":r,i=e.size,o=void 0===i?24:i,s=u(e,["color","size"]);return a.a.createElement("svg",c({ref:t,xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:n,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},s),a.a.createElement("polyline",{points:"23 4 23 10 17 10"}),a.a.createElement("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"}))}));s.propTypes={color:o.a.string,size:o.a.oneOfType([o.a.string,o.a.number])},s.displayName="RotateCw",t.a=s},QLaP:function(e,t,r){"use strict";e.exports=function(e,t,r,n,a,i,o,c){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var s=[r,n,a,i,o,c],l=0;(u=new Error(t.replace(/%s/g,(function(){return s[l++]})))).name="Invariant Violation"}throw u.framesToPop=1,u}}},U20h:function(e,t,r){},mlDh:function(e,t,r){e.exports={header:"_3WrcX9K2WQ",RuleProviderItemWrapper:"_109LiAqCt-"}},xrux:function(e,t,r){e.exports={rule:"_2ZxnpAgEbI",left:"_1Waxn5PO-y",a:"_1YW1imuuRW",b:"_3Anv9Ytzq4",type:"_28txnmlSD3"}}}]); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/runtime.184b22669d1e3f4e39e2.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/runtime.184b22669d1e3f4e39e2.js deleted file mode 100644 index d716c474e4..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/runtime.184b22669d1e3f4e39e2.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){function r(r){for(var n,o,s=r[0],u=r[1],i=r[2],f=r[3]||[],l=0,b=[];l1&&(a-=1)),[360*a,100*r,100*u]},a.rgb.hwb=function(t){var e=t[0],n=t[1],i=t[2];return[a.rgb.hsl(t)[0],1/255*Math.min(e,Math.min(n,i))*100,100*(i=1-1/255*Math.max(e,Math.max(n,i)))]},a.rgb.cmyk=function(t){var e,n=t[0]/255,i=t[1]/255,a=t[2]/255;return[100*((1-n-(e=Math.min(1-n,1-i,1-a)))/(1-e)||0),100*((1-i-e)/(1-e)||0),100*((1-a-e)/(1-e)||0),100*e]},a.rgb.keyword=function(t){var i=n[t];if(i)return i;var a,r,o,s=1/0;for(var l in e)if(e.hasOwnProperty(l)){var u=(r=t,o=e[l],Math.pow(r[0]-o[0],2)+Math.pow(r[1]-o[1],2)+Math.pow(r[2]-o[2],2));u.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)),100*(.2126*e+.7152*n+.0722*i),100*(.0193*e+.1192*n+.9505*i)]},a.rgb.lab=function(t){var e=a.rgb.xyz(t),n=e[0],i=e[1],r=e[2];return i/=100,r/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},a.hsl.rgb=function(t){var e,n,i,a,r,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[r=255*l,r,r];e=2*l-(n=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var u=0;u<3;u++)(i=o+1/3*-(u-1))<0&&i++,i>1&&i--,r=6*i<1?e+6*(n-e)*i:2*i<1?n:3*i<2?e+(n-e)*(2/3-i)*6:e,a[u]=255*r;return a},a.hsl.hsv=function(t){var e=t[0],n=t[1]/100,i=t[2]/100,a=n,r=Math.max(i,.01);return n*=(i*=2)<=1?i:2-i,a*=r<=1?r:2-r,[e,100*(0===i?2*a/(r+a):2*n/(i+n)),(i+n)/2*100]},a.hsv.rgb=function(t){var e=t[0]/60,n=t[1]/100,i=t[2]/100,a=Math.floor(e)%6,r=e-Math.floor(e),o=255*i*(1-n),s=255*i*(1-n*r),l=255*i*(1-n*(1-r));switch(i*=255,a){case 0:return[i,l,o];case 1:return[s,i,o];case 2:return[o,i,l];case 3:return[o,s,i];case 4:return[l,o,i];case 5:return[i,o,s]}},a.hsv.hsl=function(t){var e,n,i,a=t[0],r=t[1]/100,o=t[2]/100,s=Math.max(o,.01);return i=(2-r)*o,n=r*s,[a,100*(n=(n/=(e=(2-r)*s)<=1?e:2-e)||0),100*(i/=2)]},a.hwb.rgb=function(t){var e,n,i,a,r,o,s,l=t[0]/360,u=t[1]/100,d=t[2]/100,h=u+d;switch(h>1&&(u/=h,d/=h),i=6*l-(e=Math.floor(6*l)),0!=(1&e)&&(i=1-i),a=u+i*((n=1-d)-u),e){default:case 6:case 0:r=n,o=a,s=u;break;case 1:r=a,o=n,s=u;break;case 2:r=u,o=n,s=a;break;case 3:r=u,o=a,s=n;break;case 4:r=a,o=u,s=n;break;case 5:r=n,o=u,s=a}return[255*r,255*o,255*s]},a.cmyk.rgb=function(t){var e=t[0]/100,n=t[1]/100,i=t[2]/100,a=t[3]/100;return[255*(1-Math.min(1,e*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a)),255*(1-Math.min(1,i*(1-a)+a))]},a.xyz.rgb=function(t){var e,n,i,a=t[0]/100,r=t[1]/100,o=t[2]/100;return n=-.9689*a+1.8758*r+.0415*o,i=.0557*a+-.204*r+1.057*o,e=(e=3.2406*a+-1.5372*r+-.4986*o)>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:12.92*i,[255*(e=Math.min(Math.max(0,e),1)),255*(n=Math.min(Math.max(0,n),1)),255*(i=Math.min(Math.max(0,i),1))]},a.xyz.lab=function(t){var e=t[0],n=t[1],i=t[2];return n/=100,i/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(e-n),200*(n-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},a.lab.xyz=function(t){var e,n,i,a=t[0];e=t[1]/500+(n=(a+16)/116),i=n-t[2]/200;var r=Math.pow(n,3),o=Math.pow(e,3),s=Math.pow(i,3);return n=r>.008856?r:(n-16/116)/7.787,e=o>.008856?o:(e-16/116)/7.787,i=s>.008856?s:(i-16/116)/7.787,[e*=95.047,n*=100,i*=108.883]},a.lab.lch=function(t){var e,n=t[0],i=t[1],a=t[2];return(e=360*Math.atan2(a,i)/2/Math.PI)<0&&(e+=360),[n,Math.sqrt(i*i+a*a),e]},a.lch.lab=function(t){var e,n=t[0],i=t[1];return e=t[2]/360*2*Math.PI,[n,i*Math.cos(e),i*Math.sin(e)]},a.rgb.ansi16=function(t){var e=t[0],n=t[1],i=t[2],r=1 in arguments?arguments[1]:a.rgb.hsv(t)[2];if(0===(r=Math.round(r/50)))return 30;var o=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(e/255));return 2===r&&(o+=60),o},a.hsv.ansi16=function(t){return a.rgb.ansi16(a.hsv.rgb(t),t[2])},a.rgb.ansi256=function(t){var e=t[0],n=t[1],i=t[2];return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},a.ansi16.rgb=function(t){var e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),[e=e/10.5*255,e,e];var n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},a.ansi256.rgb=function(t){if(t>=232){var e=10*(t-232)+8;return[e,e,e]}var n;return t-=16,[Math.floor(t/36)/5*255,Math.floor((n=t%36)/6)/5*255,n%6/5*255]},a.rgb.hex=function(t){var e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},a.hex.rgb=function(t){var e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];var n=e[0];3===e[0].length&&(n=n.split("").map((function(t){return t+t})).join(""));var i=parseInt(n,16);return[i>>16&255,i>>8&255,255&i]},a.rgb.hcg=function(t){var e,n=t[0]/255,i=t[1]/255,a=t[2]/255,r=Math.max(Math.max(n,i),a),o=Math.min(Math.min(n,i),a),s=r-o;return e=s<=0?0:r===n?(i-a)/s%6:r===i?2+(a-n)/s:4+(n-i)/s+4,e/=6,[360*(e%=1),100*s,100*(s<1?o/(1-s):0)]},a.hsl.hcg=function(t){var e=t[1]/100,n=t[2]/100,i=1,a=0;return(i=n<.5?2*e*n:2*e*(1-n))<1&&(a=(n-.5*i)/(1-i)),[t[0],100*i,100*a]},a.hsv.hcg=function(t){var e=t[1]/100,n=t[2]/100,i=e*n,a=0;return i<1&&(a=(n-i)/(1-i)),[t[0],100*i,100*a]},a.hcg.rgb=function(t){var e=t[0]/360,n=t[1]/100,i=t[2]/100;if(0===n)return[255*i,255*i,255*i];var a,r=[0,0,0],o=e%1*6,s=o%1,l=1-s;switch(Math.floor(o)){case 0:r[0]=1,r[1]=s,r[2]=0;break;case 1:r[0]=l,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=s;break;case 3:r[0]=0,r[1]=l,r[2]=1;break;case 4:r[0]=s,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=l}return a=(1-n)*i,[255*(n*r[0]+a),255*(n*r[1]+a),255*(n*r[2]+a)]},a.hcg.hsv=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e),i=0;return n>0&&(i=e/n),[t[0],100*i,100*n]},a.hcg.hsl=function(t){var e=t[1]/100,n=t[2]/100*(1-e)+.5*e,i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[t[0],100*i,100*n]},a.hcg.hwb=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},a.hwb.hcg=function(t){var e=t[1]/100,n=1-t[2]/100,i=n-e,a=0;return i<1&&(a=(n-i)/(1-i)),[t[0],100*i,100*a]},a.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},a.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},a.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},a.gray.hsl=a.gray.hsv=function(t){return[0,0,t[0]]},a.gray.hwb=function(t){return[0,100,t[0]]},a.gray.cmyk=function(t){return[0,0,0,t[0]]},a.gray.lab=function(t){return[t[0],0,0]},a.gray.hex=function(t){var e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n},a.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}}));function i(t){var e=function(){for(var t={},e=Object.keys(n),i=e.length,a=0;a1&&(e=Array.prototype.slice.call(arguments));var n=t(e);if("object"==typeof n)for(var i=n.length,a=0;a1&&(e=Array.prototype.slice.call(arguments)),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(i)}))}));var s=o,l={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},u={getRgba:d,getHsla:h,getRgb:function(t){var e=d(t);return e&&e.slice(0,3)},getHsl:function(t){var e=h(t);return e&&e.slice(0,3)},getHwb:c,getAlpha:function(t){var e=d(t);return e||(e=h(t))||(e=c(t))?e[3]:void 0},hexString:function(t,e){return e=void 0!==e&&3===t.length?e:t[3],"#"+v(t[0])+v(t[1])+v(t[2])+(e>=0&&e<1?v(Math.round(255*e)):"")},rgbString:function(t,e){return e<1||t[3]&&t[3]<1?f(t,e):"rgb("+t[0]+", "+t[1]+", "+t[2]+")"},rgbaString:f,percentString:function(t,e){return e<1||t[3]&&t[3]<1?g(t,e):"rgb("+Math.round(t[0]/255*100)+"%, "+Math.round(t[1]/255*100)+"%, "+Math.round(t[2]/255*100)+"%)"},percentaString:g,hslString:function(t,e){return e<1||t[3]&&t[3]<1?m(t,e):"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)"},hslaString:m,hwbString:function(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+(void 0!==e&&1!==e?", "+e:"")+")"},keyword:function(t){return b[t.slice(0,3)]}};function d(t){if(t){var e=[0,0,0],n=1,i=t.match(/^#([a-fA-F0-9]{3,4})$/i),a="";if(i){a=(i=i[1])[3];for(var r=0;rn?(e+.05)/(n+.05):(n+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,n=(e[0]+t)%360;return e[0]=n<0?360+n:n,this.setValues("hsl",e),this},mix:function(t,e){var n=t,i=void 0===e?.5:e,a=2*i-1,r=this.alpha()-n.alpha(),o=((a*r==-1?a:(a+r)/(1+a*r))+1)/2,s=1-o;return this.rgb(o*this.red()+s*n.red(),o*this.green()+s*n.green(),o*this.blue()+s*n.blue()).alpha(this.alpha()*i+n.alpha()*(1-i))},toJSON:function(){return this.rgb()},clone:function(){var t,e,n=new x,i=this.values,a=n.values;for(var r in i)i.hasOwnProperty(r)&&(t=i[r],"[object Array]"===(e={}.toString.call(t))?a[r]=t.slice(0):"[object Number]"===e?a[r]=t:console.error("unexpected color value:",t));return n}},x.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},x.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},x.prototype.getValues=function(t){for(var e=this.values,n={},i=0;i=0;a--)e.call(n,t[a],a);else for(a=0;a=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n))},easeOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/n)+1)},easeInOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:2==(t/=.5)?1:(n||(n=.45),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),t<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-S.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*S.easeInBounce(2*t):.5*S.easeOutBounce(2*t-1)+.5}},D={effects:S};M.easingEffects=S;var C=Math.PI,P=C/180,T=2*C,O=C/2,A=C/4,F=2*C/3,I={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,n,i,a,r){if(r){var o=Math.min(r,a/2,i/2),s=e+o,l=n+o,u=e+i-o,d=n+a-o;t.moveTo(e,l),se.left-1e-6&&t.xe.top-1e-6&&t.y0&&this.requestAnimationFrame()},advance:function(){for(var t,e,n,i,a=this.animations,r=0;r=n?(V.callback(t.onAnimationComplete,[t],e),e.animating=!1,a.splice(r,1)):++r}},K=V.options.resolve,Q=["push","pop","shift","splice","unshift"];function tt(t,e){var n=t._chartjs;if(n){var i=n.listeners,a=i.indexOf(e);-1!==a&&i.splice(a,1),i.length>0||(Q.forEach((function(e){delete t[e]})),delete t._chartjs)}}var et=function(t,e){this.initialize(t,e)};V.extend(et.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(t,e){var n=this;n.chart=t,n.index=e,n.linkScales(),n.addElements(),n._type=n.getMeta().type},updateIndex:function(t){this.index=t},linkScales:function(){var t=this.getMeta(),e=this.chart,n=e.scales,i=this.getDataset(),a=e.options.scales;null!==t.xAxisID&&t.xAxisID in n&&!i.xAxisID||(t.xAxisID=i.xAxisID||a.xAxes[0].id),null!==t.yAxisID&&t.yAxisID in n&&!i.yAxisID||(t.yAxisID=i.yAxisID||a.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&tt(this._data,this)},createMetaDataset:function(){var t=this.datasetElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(t){var e=this.dataElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index,_index:t})},addElements:function(){var t,e,n=this.getMeta(),i=this.getDataset().data||[],a=n.data;for(t=0,e=i.length;tn&&this.insertElements(n,i-n)},insertElements:function(t,e){for(var n=0;na?(r=a/e.innerRadius,t.arc(o,s,e.innerRadius-a,i+r,n-r,!0)):t.arc(o,s,a,i+Math.PI/2,n-Math.PI/2),t.closePath(),t.clip()}function rt(t,e,n){var i="inner"===e.borderAlign;i?(t.lineWidth=2*e.borderWidth,t.lineJoin="round"):(t.lineWidth=e.borderWidth,t.lineJoin="bevel"),n.fullCircles&&function(t,e,n,i){var a,r=n.endAngle;for(i&&(n.endAngle=n.startAngle+it,at(t,n),n.endAngle=r,n.endAngle===n.startAngle&&n.fullCircles&&(n.endAngle+=it,n.fullCircles--)),t.beginPath(),t.arc(n.x,n.y,n.innerRadius,n.startAngle+it,n.startAngle,!0),a=0;as;)a-=it;for(;a=o&&a<=s,u=r>=n.innerRadius&&r<=n.outerRadius;return l&&u}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,n=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,n=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},draw:function(){var t,e=this._chart.ctx,n=this._view,i="inner"===n.borderAlign?.33:0,a={x:n.x,y:n.y,innerRadius:n.innerRadius,outerRadius:Math.max(n.outerRadius-i,0),pixelMargin:i,startAngle:n.startAngle,endAngle:n.endAngle,fullCircles:Math.floor(n.circumference/it)};if(e.save(),e.fillStyle=n.backgroundColor,e.strokeStyle=n.borderColor,a.fullCircles){for(a.endAngle=a.startAngle+it,e.beginPath(),e.arc(a.x,a.y,a.outerRadius,a.startAngle,a.endAngle),e.arc(a.x,a.y,a.innerRadius,a.endAngle,a.startAngle,!0),e.closePath(),t=0;tt.x&&(e=vt(e,"left","right")):t.basen?n:i,r:l.right||a<0?0:a>e?e:a,b:l.bottom||r<0?0:r>n?n:r,l:l.left||o<0?0:o>e?e:o}}function yt(t,e,n){var i=null===e,a=null===n,r=!(!t||i&&a)&&pt(t);return r&&(i||e>=r.left&&e<=r.right)&&(a||n>=r.top&&n<=r.bottom)}N._set("global",{elements:{rectangle:{backgroundColor:gt,borderColor:gt,borderSkipped:"bottom",borderWidth:0}}});var xt=Z.extend({_type:"rectangle",draw:function(){var t=this._chart.ctx,e=this._view,n=function(t){var e=pt(t),n=e.right-e.left,i=e.bottom-e.top,a=bt(t,n/2,i/2);return{outer:{x:e.left,y:e.top,w:n,h:i},inner:{x:e.left+a.l,y:e.top+a.t,w:n-a.l-a.r,h:i-a.t-a.b}}}(e),i=n.outer,a=n.inner;t.fillStyle=e.backgroundColor,t.fillRect(i.x,i.y,i.w,i.h),i.w===a.w&&i.h===a.h||(t.save(),t.beginPath(),t.rect(i.x,i.y,i.w,i.h),t.clip(),t.fillStyle=e.borderColor,t.rect(a.x,a.y,a.w,a.h),t.fill("evenodd"),t.restore())},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){return yt(this._view,t,e)},inLabelRange:function(t,e){var n=this._view;return mt(n)?yt(n,t,null):yt(n,null,e)},inXRange:function(t){return yt(this._view,t,null)},inYRange:function(t){return yt(this._view,null,t)},getCenterPoint:function(){var t,e,n=this._view;return mt(n)?(t=n.x,e=(n.y+n.base)/2):(t=(n.x+n.base)/2,e=n.y),{x:t,y:e}},getArea:function(){var t=this._view;return mt(t)?t.width*Math.abs(t.y-t.base):t.height*Math.abs(t.x-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}}),_t={},wt=ot,kt=ut,Mt=ft,St=xt;_t.Arc=wt,_t.Line=kt,_t.Point=Mt,_t.Rectangle=St;var Dt=V._deprecated,Ct=V.valueOrDefault;function Pt(t,e,n){var i,a,r=n.barThickness,o=e.stackCount,s=e.pixels[t],l=V.isNullOrUndef(r)?function(t,e){var n,i,a,r,o=t._length;for(a=1,r=e.length;a0?Math.min(o,Math.abs(i-n)):o,n=i;return o}(e.scale,e.pixels):-1;return V.isNullOrUndef(r)?(i=l*n.categoryPercentage,a=n.barPercentage):(i=r*o,a=1),{chunk:i/o,ratio:a,start:s-i/2}}N._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),N._set("global",{datasets:{bar:{categoryPercentage:.8,barPercentage:.9}}});var Tt=nt.extend({dataElementType:_t.Rectangle,_dataElementOptions:["backgroundColor","borderColor","borderSkipped","borderWidth","barPercentage","barThickness","categoryPercentage","maxBarThickness","minBarLength"],initialize:function(){var t,e,n=this;nt.prototype.initialize.apply(n,arguments),(t=n.getMeta()).stack=n.getDataset().stack,t.bar=!0,e=n._getIndexScale().options,Dt("bar chart",e.barPercentage,"scales.[x/y]Axes.barPercentage","dataset.barPercentage"),Dt("bar chart",e.barThickness,"scales.[x/y]Axes.barThickness","dataset.barThickness"),Dt("bar chart",e.categoryPercentage,"scales.[x/y]Axes.categoryPercentage","dataset.categoryPercentage"),Dt("bar chart",n._getValueScale().options.minBarLength,"scales.[x/y]Axes.minBarLength","dataset.minBarLength"),Dt("bar chart",e.maxBarThickness,"scales.[x/y]Axes.maxBarThickness","dataset.maxBarThickness")},update:function(t){var e,n,i=this.getMeta().data;for(this._ruler=this.getRuler(),e=0,n=i.length;e=0&&m.min>=0?m.min:m.max,x=void 0===m.start?m.end:m.max>=0&&m.min>=0?m.max-m.min:m.min-m.max,_=g.length;if(v||void 0===v&&void 0!==b)for(i=0;i<_&&(a=g[i]).index!==t;++i)a.stack===b&&(r=void 0===(u=h._parseValue(f[a.index].data[e])).start?u.end:u.min>=0&&u.max>=0?u.max:u.min,(m.min<0&&r<0||m.max>=0&&r>0)&&(y+=r));return o=h.getPixelForValue(y),l=(s=h.getPixelForValue(y+x))-o,void 0!==p&&Math.abs(l)=0&&!c||x<0&&c?o-p:o+p),{size:l,base:o,head:s,center:s+l/2}},calculateBarIndexPixels:function(t,e,n,i){var a="flex"===i.barThickness?function(t,e,n){var i,a=e.pixels,r=a[t],o=t>0?a[t-1]:null,s=t=Lt?-Rt:b<-Lt?Rt:0)+p,x=Math.cos(b),_=Math.sin(b),w=Math.cos(y),k=Math.sin(y),M=b<=0&&y>=0||y>=Rt,S=b<=Nt&&y>=Nt||y>=Rt+Nt,D=b<=-Nt&&y>=-Nt||y>=Lt+Nt,C=b===-Lt||y>=Lt?-1:Math.min(x,x*m,w,w*m),P=D?-1:Math.min(_,_*m,k,k*m),T=M?1:Math.max(x,x*m,w,w*m),O=S?1:Math.max(_,_*m,k,k*m);u=(T-C)/2,d=(O-P)/2,h=-(T+C)/2,c=-(O+P)/2}for(i=0,a=g.length;i0&&!isNaN(t)?Rt*(Math.abs(t)/e):0},getMaxBorderWidth:function(t){var e,n,i,a,r,o,s,l,u=0,d=this.chart;if(!t)for(e=0,n=d.data.datasets.length;e(u=s>u?s:u)?l:u);return u},setHoverStyle:function(t){var e=t._model,n=t._options,i=V.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=It(n.hoverBackgroundColor,i(n.backgroundColor)),e.borderColor=It(n.hoverBorderColor,i(n.borderColor)),e.borderWidth=It(n.hoverBorderWidth,n.borderWidth)},_getRingWeightOffset:function(t){for(var e=0,n=0;n0&&Vt(l[t-1]._model,s)&&(n.controlPointPreviousX=u(n.controlPointPreviousX,s.left,s.right),n.controlPointPreviousY=u(n.controlPointPreviousY,s.top,s.bottom)),t0&&(r=t.getDatasetMeta(r[0]._datasetIndex).data),r},"x-axis":function(t,e){return ie(t,e,{intersect:!1})},point:function(t,e){return te(t,Kt(e,t))},nearest:function(t,e,n){var i=Kt(e,t);n.axis=n.axis||"xy";var a=ne(n.axis);return ee(t,i,n.intersect,a)},x:function(t,e,n){var i=Kt(e,t),a=[],r=!1;return Qt(t,(function(t){t.inXRange(i.x)&&a.push(t),t.inRange(i.x,i.y)&&(r=!0)})),n.intersect&&!r&&(a=[]),a},y:function(t,e,n){var i=Kt(e,t),a=[],r=!1;return Qt(t,(function(t){t.inYRange(i.y)&&a.push(t),t.inRange(i.x,i.y)&&(r=!0)})),n.intersect&&!r&&(a=[]),a}}},re=V.extend;function oe(t,e){return V.where(t,(function(t){return t.pos===e}))}function se(t,e){return t.sort((function(t,n){var i=e?n:t,a=e?t:n;return i.weight===a.weight?i.index-a.index:i.weight-a.weight}))}function le(t,e,n,i){return Math.max(t[n],e[n])+Math.max(t[i],e[i])}function ue(t,e,n){var i,a,r=n.box,o=t.maxPadding;if(n.size&&(t[n.pos]-=n.size),n.size=n.horizontal?r.height:r.width,t[n.pos]+=n.size,r.getPadding){var s=r.getPadding();o.top=Math.max(o.top,s.top),o.left=Math.max(o.left,s.left),o.bottom=Math.max(o.bottom,s.bottom),o.right=Math.max(o.right,s.right)}if(i=e.outerWidth-le(o,t,"left","right"),a=e.outerHeight-le(o,t,"top","bottom"),i!==t.w||a!==t.h)return t.w=i,t.h=a,n.horizontal?i!==t.w:a!==t.h}function de(t,e){var n=e.maxPadding;function i(t){var i={left:0,top:0,right:0,bottom:0};return t.forEach((function(t){i[t]=Math.max(e[t],n[t])})),i}return i(t?["left","right"]:["top","bottom"])}function he(t,e,n){var i,a,r,o,s,l,u=[];for(i=0,a=t.length;idiv{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}"}))&&fe.default||fe,pe="$chartjs",ve="chartjs-size-monitor",be="chartjs-render-monitor",ye="chartjs-render-animation",xe=["animationstart","webkitAnimationStart"],_e={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function we(t,e){var n=V.getStyle(t,e),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?Number(i[1]):void 0}var ke=!!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("e",null,e)}catch(t){}return t}()&&{passive:!0};function Me(t,e,n){t.addEventListener(e,n,ke)}function Se(t,e,n){t.removeEventListener(e,n,ke)}function De(t,e,n,i,a){return{type:t,chart:e,native:a||null,x:void 0!==n?n:null,y:void 0!==i?i:null}}function Ce(t){var e=document.createElement("div");return e.className=t||"",e}function Pe(t,e,n){var i,a,r,o,s=t[pe]||(t[pe]={}),l=s.resizer=function(t){var e=Ce(ve),n=Ce(ve+"-expand"),i=Ce(ve+"-shrink");n.appendChild(Ce()),i.appendChild(Ce()),e.appendChild(n),e.appendChild(i),e._reset=function(){n.scrollLeft=1e6,n.scrollTop=1e6,i.scrollLeft=1e6,i.scrollTop=1e6};var a=function(){e._reset(),t()};return Me(n,"scroll",a.bind(n,"expand")),Me(i,"scroll",a.bind(i,"shrink")),e}((i=function(){if(s.resizer){var i=n.options.maintainAspectRatio&&t.parentNode,a=i?i.clientWidth:0;e(De("resize",n)),i&&i.clientWidth0){var r=t[0];r.label?n=r.label:r.xLabel?n=r.xLabel:a>0&&r.index-1?t.split("\n"):t}function Ee(t){var e=N.global;return{xPadding:t.xPadding,yPadding:t.yPadding,xAlign:t.xAlign,yAlign:t.yAlign,rtl:t.rtl,textDirection:t.textDirection,bodyFontColor:t.bodyFontColor,_bodyFontFamily:Re(t.bodyFontFamily,e.defaultFontFamily),_bodyFontStyle:Re(t.bodyFontStyle,e.defaultFontStyle),_bodyAlign:t.bodyAlign,bodyFontSize:Re(t.bodyFontSize,e.defaultFontSize),bodySpacing:t.bodySpacing,titleFontColor:t.titleFontColor,_titleFontFamily:Re(t.titleFontFamily,e.defaultFontFamily),_titleFontStyle:Re(t.titleFontStyle,e.defaultFontStyle),titleFontSize:Re(t.titleFontSize,e.defaultFontSize),_titleAlign:t.titleAlign,titleSpacing:t.titleSpacing,titleMarginBottom:t.titleMarginBottom,footerFontColor:t.footerFontColor,_footerFontFamily:Re(t.footerFontFamily,e.defaultFontFamily),_footerFontStyle:Re(t.footerFontStyle,e.defaultFontStyle),footerFontSize:Re(t.footerFontSize,e.defaultFontSize),_footerAlign:t.footerAlign,footerSpacing:t.footerSpacing,footerMarginTop:t.footerMarginTop,caretSize:t.caretSize,cornerRadius:t.cornerRadius,backgroundColor:t.backgroundColor,opacity:0,legendColorBackground:t.multiKeyBackground,displayColors:t.displayColors,borderColor:t.borderColor,borderWidth:t.borderWidth}}function Ve(t,e){return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-t.xPadding:t.x+t.xPadding}function He(t){return Ye([],ze(t))}var Be=Z.extend({initialize:function(){this._model=Ee(this._options),this._lastActive=[]},getTitle:function(){var t=this,e=t._options.callbacks,n=e.beforeTitle.apply(t,arguments),i=e.title.apply(t,arguments),a=e.afterTitle.apply(t,arguments),r=[];return r=Ye(r,ze(n)),r=Ye(r,ze(i)),Ye(r,ze(a))},getBeforeBody:function(){return He(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(t,e){var n=this,i=n._options.callbacks,a=[];return V.each(t,(function(t){var r={before:[],lines:[],after:[]};Ye(r.before,ze(i.beforeLabel.call(n,t,e))),Ye(r.lines,i.label.call(n,t,e)),Ye(r.after,ze(i.afterLabel.call(n,t,e))),a.push(r)})),a},getAfterBody:function(){return He(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var t=this,e=t._options.callbacks,n=e.beforeFooter.apply(t,arguments),i=e.footer.apply(t,arguments),a=e.afterFooter.apply(t,arguments),r=[];return r=Ye(r,ze(n)),r=Ye(r,ze(i)),Ye(r,ze(a))},update:function(t){var e,n,i,a,r,o,s,l,u,d,h=this,c=h._options,f=h._model,g=h._model=Ee(c),m=h._active,p=h._data,v={xAlign:f.xAlign,yAlign:f.yAlign},b={x:f.x,y:f.y},y={width:f.width,height:f.height},x={x:f.caretX,y:f.caretY};if(m.length){g.opacity=1;var _=[],w=[];x=We[c.position].call(h,m,h._eventPosition);var k=[];for(e=0,n=m.length;ei.width&&(a=i.width-e.width),a<0&&(a=0)),"top"===d?r+=h:r-="bottom"===d?e.height+h:e.height/2,"center"===d?"left"===u?a+=h:"right"===u&&(a-=h):"left"===u?a-=c:"right"===u&&(a+=c),{x:a,y:r}}(g,y=function(t,e){var n=t._chart.ctx,i=2*e.yPadding,a=0,r=e.body,o=r.reduce((function(t,e){return t+e.before.length+e.lines.length+e.after.length}),0);o+=e.beforeBody.length+e.afterBody.length;var s=e.title.length,l=e.footer.length,u=e.titleFontSize,d=e.bodyFontSize,h=e.footerFontSize;i+=s*u,i+=s?(s-1)*e.titleSpacing:0,i+=s?e.titleMarginBottom:0,i+=o*d,i+=o?(o-1)*e.bodySpacing:0,i+=l?e.footerMarginTop:0,i+=l*h,i+=l?(l-1)*e.footerSpacing:0;var c=0,f=function(t){a=Math.max(a,n.measureText(t).width+c)};return n.font=V.fontString(u,e._titleFontStyle,e._titleFontFamily),V.each(e.title,f),n.font=V.fontString(d,e._bodyFontStyle,e._bodyFontFamily),V.each(e.beforeBody.concat(e.afterBody),f),c=e.displayColors?d+2:0,V.each(r,(function(t){V.each(t.before,f),V.each(t.lines,f),V.each(t.after,f)})),c=0,n.font=V.fontString(h,e._footerFontStyle,e._footerFontFamily),V.each(e.footer,f),{width:a+=2*e.xPadding,height:i}}(this,g),v=function(t,e){var n,i,a,r,o,s=t._model,l=t._chart,u=t._chart.chartArea,d="center",h="center";s.yl.height-e.height&&(h="bottom");var c=(u.left+u.right)/2,f=(u.top+u.bottom)/2;"center"===h?(n=function(t){return t<=c},i=function(t){return t>c}):(n=function(t){return t<=e.width/2},i=function(t){return t>=l.width-e.width/2}),a=function(t){return t+e.width+s.caretSize+s.caretPadding>l.width},r=function(t){return t-e.width-s.caretSize-s.caretPadding<0},o=function(t){return t<=f?"top":"bottom"},n(s.x)?(d="left",a(s.x)&&(d="center",h=o(s.y))):i(s.x)&&(d="right",r(s.x)&&(d="center",h=o(s.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:d,yAlign:g.yAlign?g.yAlign:h}}(this,y),h._chart)}else g.opacity=0;return g.xAlign=v.xAlign,g.yAlign=v.yAlign,g.x=b.x,g.y=b.y,g.width=y.width,g.height=y.height,g.caretX=x.x,g.caretY=x.y,h._model=g,t&&c.custom&&c.custom.call(h,g),h},drawCaret:function(t,e){var n=this._chart.ctx,i=this._view,a=this.getCaretPosition(t,e,i);n.lineTo(a.x1,a.y1),n.lineTo(a.x2,a.y2),n.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,n){var i,a,r,o,s,l,u=n.caretSize,d=n.cornerRadius,h=n.xAlign,c=n.yAlign,f=t.x,g=t.y,m=e.width,p=e.height;if("center"===c)s=g+p/2,"left"===h?(a=(i=f)-u,r=i,o=s+u,l=s-u):(a=(i=f+m)+u,r=i,o=s-u,l=s+u);else if("left"===h?(i=(a=f+d+u)-u,r=a+u):"right"===h?(i=(a=f+m-d-u)-u,r=a+u):(i=(a=n.caretX)-u,r=a+u),"top"===c)s=(o=g)-u,l=o;else{s=(o=g+p)+u,l=o;var v=r;r=i,i=v}return{x1:i,x2:a,x3:r,y1:o,y2:s,y3:l}},drawTitle:function(t,e,n){var i,a,r,o=e.title,s=o.length;if(s){var l=Ne(e.rtl,e.x,e.width);for(t.x=Ve(e,e._titleAlign),n.textAlign=l.textAlign(e._titleAlign),n.textBaseline="middle",i=e.titleFontSize,a=e.titleSpacing,n.fillStyle=e.titleFontColor,n.font=V.fontString(i,e._titleFontStyle,e._titleFontFamily),r=0;r0&&n.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var n={width:e.width,height:e.height},i={x:e.x,y:e.y},a=Math.abs(e.opacity<.001)?0:e.opacity,r=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&r&&(t.save(),t.globalAlpha=a,this.drawBackground(i,e,t,n),i.y+=e.yPadding,V.rtl.overrideTextDirection(t,e.textDirection),this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),V.rtl.restoreTextDirection(t,e.textDirection),t.restore())}},handleEvent:function(t){var e,n=this,i=n._options;return n._lastActive=n._lastActive||[],"mouseout"===t.type?n._active=[]:(n._active=n._chart.getElementsAtEventForMode(t,i.mode,i),i.reverse&&n._active.reverse()),(e=!V.arrayEquals(n._active,n._lastActive))&&(n._lastActive=n._active,(i.enabled||i.custom)&&(n._eventPosition={x:t.x,y:t.y},n.update(!0),n.pivot())),e}}),je=We,Ue=Be;Ue.positioners=je;var Ge=V.valueOrDefault;function qe(){return V.merge({},[].slice.call(arguments),{merger:function(t,e,n,i){if("xAxes"===t||"yAxes"===t){var a,r,o,s=n[t].length;for(e[t]||(e[t]=[]),a=0;a=e[t].length&&e[t].push({}),!e[t][a].type||o.type&&o.type!==e[t][a].type?V.merge(e[t][a],[Le.getScaleDefaults(r),o]):V.merge(e[t][a],o)}else V._merger(t,e,n,i)}})}function Ze(){return V.merge({},[].slice.call(arguments),{merger:function(t,e,n,i){var a=e[t]||{},r=n[t];"scales"===t?e[t]=qe(a,r):"scale"===t?e[t]=V.merge(a,[Le.getScaleDefaults(r.type),r]):V._merger(t,e,n,i)}})}function $e(t){var e=t.options;V.each(t.scales,(function(e){ge.removeBox(t,e)})),e=Ze(N.global,N[t.config.type],e),t.options=t.config.options=e,t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.tooltip._options=e.tooltips,t.tooltip.initialize()}function Xe(t,e,n){var i,a=function(t){return t.id===i};do{i=e+n++}while(V.findIndex(t,a)>=0);return i}function Je(t){return"top"===t||"bottom"===t}function Ke(t,e){return function(n,i){return n[t]===i[t]?n[e]-i[e]:n[t]-i[t]}}N._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var Qe=function(t,e){return this.construct(t,e),this};V.extend(Qe.prototype,{construct:function(t,e){var n=this;e=function(t){var e=(t=t||{}).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=Ze(N.global,N[t.type],t.options||{}),t}(e);var i=Fe.acquireContext(t,e),a=i&&i.canvas,r=a&&a.height,o=a&&a.width;n.id=V.uid(),n.ctx=i,n.canvas=a,n.config=e,n.width=o,n.height=r,n.aspectRatio=r?o/r:null,n.options=e.options,n._bufferedRender=!1,n._layers=[],n.chart=n,n.controller=n,Qe.instances[n.id]=n,Object.defineProperty(n,"data",{get:function(){return n.config.data},set:function(t){n.config.data=t}}),i&&a?(n.initialize(),n.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return Ie.notify(t,"beforeInit"),V.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.initToolTip(),Ie.notify(t,"afterInit"),t},clear:function(){return V.canvas.clear(this),this},stop:function(){return J.cancelAnimation(this),this},resize:function(t){var e=this,n=e.options,i=e.canvas,a=n.maintainAspectRatio&&e.aspectRatio||null,r=Math.max(0,Math.floor(V.getMaximumWidth(i))),o=Math.max(0,Math.floor(a?r/a:V.getMaximumHeight(i)));if((e.width!==r||e.height!==o)&&(i.width=e.width=r,i.height=e.height=o,i.style.width=r+"px",i.style.height=o+"px",V.retinaScale(e,n.devicePixelRatio),!t)){var s={width:r,height:o};Ie.notify(e,"resize",[s]),n.onResize&&n.onResize(e,s),e.stop(),e.update({duration:n.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},n=t.scale;V.each(e.xAxes,(function(t,n){t.id||(t.id=Xe(e.xAxes,"x-axis-",n))})),V.each(e.yAxes,(function(t,n){t.id||(t.id=Xe(e.yAxes,"y-axis-",n))})),n&&(n.id=n.id||"scale")},buildOrUpdateScales:function(){var t=this,e=t.options,n=t.scales||{},i=[],a=Object.keys(n).reduce((function(t,e){return t[e]=!1,t}),{});e.scales&&(i=i.concat((e.scales.xAxes||[]).map((function(t){return{options:t,dtype:"category",dposition:"bottom"}})),(e.scales.yAxes||[]).map((function(t){return{options:t,dtype:"linear",dposition:"left"}})))),e.scale&&i.push({options:e.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),V.each(i,(function(e){var i=e.options,r=i.id,o=Ge(i.type,e.dtype);Je(i.position)!==Je(e.dposition)&&(i.position=e.dposition),a[r]=!0;var s=null;if(r in n&&n[r].type===o)(s=n[r]).options=i,s.ctx=t.ctx,s.chart=t;else{var l=Le.getScaleConstructor(o);if(!l)return;s=new l({id:r,type:o,options:i,ctx:t.ctx,chart:t}),n[s.id]=s}s.mergeTicksOptions(),e.isDefault&&(t.scale=s)})),V.each(a,(function(t,e){t||delete n[e]})),t.scales=n,Le.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t,e,n=this,i=[],a=n.data.datasets;for(t=0,e=a.length;t=0;--n)this.drawDataset(e[n],t);Ie.notify(this,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var n={meta:t,index:t.index,easingValue:e};!1!==Ie.notify(this,"beforeDatasetDraw",[n])&&(t.controller.draw(e),Ie.notify(this,"afterDatasetDraw",[n]))},_drawTooltip:function(t){var e=this.tooltip,n={tooltip:e,easingValue:t};!1!==Ie.notify(this,"beforeTooltipDraw",[n])&&(e.draw(),Ie.notify(this,"afterTooltipDraw",[n]))},getElementAtEvent:function(t){return ae.modes.single(this,t)},getElementsAtEvent:function(t){return ae.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return ae.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,n){var i=ae.modes[e];return"function"==typeof i?i(this,t,n):[]},getDatasetAtEvent:function(t){return ae.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var n=e._meta[this.id];return n||(n=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e.order||0,index:t}),n},getVisibleDatasetCount:function(){for(var t=0,e=0,n=this.data.datasets.length;e3?n[2]-n[1]:n[1]-n[0];Math.abs(i)>1&&t!==Math.floor(t)&&(i=t-Math.floor(t));var a=V.log10(Math.abs(i)),r="";if(0!==t)if(Math.max(Math.abs(n[0]),Math.abs(n[n.length-1]))<1e-4){var o=V.log10(Math.abs(t)),s=Math.floor(o)-Math.floor(a);s=Math.max(Math.min(s,20),0),r=t.toExponential(s)}else{var l=-1*Math.floor(a);l=Math.max(Math.min(l,20),0),r=t.toFixed(l)}else r="0";return r},logarithmic:function(t,e,n){var i=t/Math.pow(10,Math.floor(V.log10(t)));return 0===t?"0":1===i||2===i||5===i||0===e||e===n.length-1?t.toExponential():""}}},on=V.isArray,sn=V.isNullOrUndef,ln=V.valueOrDefault,un=V.valueAtIndexOrDefault;function dn(t,e,n){var i,a=t.getTicks().length,r=Math.min(e,a-1),o=t.getPixelForTick(r),s=t._startPixel,l=t._endPixel;if(!(n&&(i=1===a?Math.max(o-s,l-o):0===e?(t.getPixelForTick(1)-o)/2:(o-t.getPixelForTick(r-1))/2,(o+=rl+1e-6)))return o}function hn(t,e,n,i){var a,r,o,s,l,u,d,h,c,f,g,m,p,v=n.length,b=[],y=[],x=[];for(a=0;ae){for(n=0;n=c||d<=1||!s.isHorizontal()?s.labelRotation=h:(e=(t=s._getLabelSizes()).widest.width,n=t.highest.height-t.highest.offset,i=Math.min(s.maxWidth,s.chart.width-e),e+6>(a=l.offset?s.maxWidth/d:i/(d-1))&&(a=i/(d-(l.offset?.5:1)),r=s.maxHeight-cn(l.gridLines)-u.padding-fn(l.scaleLabel),o=Math.sqrt(e*e+n*n),f=V.toDegrees(Math.min(Math.asin(Math.min((t.highest.height+6)/a,1)),Math.asin(Math.min(r/o,1))-Math.asin(n/o))),f=Math.max(h,Math.min(c,f))),s.labelRotation=f)},afterCalculateTickRotation:function(){V.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){V.callback(this.options.beforeFit,[this])},fit:function(){var t=this,e=t.minSize={width:0,height:0},n=t.chart,i=t.options,a=i.ticks,r=i.scaleLabel,o=i.gridLines,s=t._isVisible(),l="bottom"===i.position,u=t.isHorizontal();if(u?e.width=t.maxWidth:s&&(e.width=cn(o)+fn(r)),u?s&&(e.height=cn(o)+fn(r)):e.height=t.maxHeight,a.display&&s){var d=mn(a),h=t._getLabelSizes(),c=h.first,f=h.last,g=h.widest,m=h.highest,p=.4*d.minor.lineHeight,v=a.padding;if(u){var b=0!==t.labelRotation,y=V.toRadians(t.labelRotation),x=Math.cos(y),_=Math.sin(y),w=_*g.width+x*(m.height-(b?m.offset:0))+(b?0:p);e.height=Math.min(t.maxHeight,e.height+w+v);var k,M,S=t.getPixelForTick(0)-t.left,D=t.right-t.getPixelForTick(t.getTicks().length-1);b?(k=l?x*c.width+_*c.offset:_*(c.height-c.offset),M=l?_*(f.height-f.offset):x*f.width+_*f.offset):(k=c.width/2,M=f.width/2),t.paddingLeft=Math.max((k-S)*t.width/(t.width-S),0)+3,t.paddingRight=Math.max((M-D)*t.width/(t.width-D),0)+3}else{var C=a.mirror?0:g.width+v+p;e.width=Math.min(t.maxWidth,e.width+C),t.paddingTop=c.height/2,t.paddingBottom=f.height/2}}t.handleMargins(),u?(t.width=t._length=n.width-t.margins.left-t.margins.right,t.height=e.height):(t.width=e.width,t.height=t._length=n.height-t.margins.top-t.margins.bottom)},handleMargins:function(){var t=this;t.margins&&(t.margins.left=Math.max(t.paddingLeft,t.margins.left),t.margins.top=Math.max(t.paddingTop,t.margins.top),t.margins.right=Math.max(t.paddingRight,t.margins.right),t.margins.bottom=Math.max(t.paddingBottom,t.margins.bottom))},afterFit:function(){V.callback(this.options.afterFit,[this])},isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(sn(t))return NaN;if(("number"==typeof t||t instanceof Number)&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},_convertTicksToLabels:function(t){var e,n,i,a=this;for(a.ticks=t.map((function(t){return t.value})),a.beforeTickToLabelConversion(),e=a.convertTicksToLabels(t)||a.ticks,a.afterTickToLabelConversion(),n=0,i=t.length;nn-1?null:this.getPixelForDecimal(t*i+(e?i/2:0))},getPixelForDecimal:function(t){return this._reversePixels&&(t=1-t),this._startPixel+t*this._length},getDecimalForPixel:function(t){var e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this.min,e=this.max;return this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0},_autoSkip:function(t){var e,n,i,a,r=this.options.ticks,o=this._length,s=r.maxTicksLimit||o/this._tickSize()+1,l=r.major.enabled?function(t){var e,n,i=[];for(e=0,n=t.length;es)return function(t,e,n){var i,a,r=0,o=e[0];for(n=Math.ceil(n),i=0;iu)return r;return Math.max(u,1)}(l,t,0,s),u>0){for(e=0,n=u-1;e1?(h-d)/(u-1):null,vn(t,i,V.isNullOrUndef(a)?0:d-a,d),vn(t,i,h,V.isNullOrUndef(a)?t.length:h+a),pn(t)}return vn(t,i),pn(t)},_tickSize:function(){var t=this.options.ticks,e=V.toRadians(this.labelRotation),n=Math.abs(Math.cos(e)),i=Math.abs(Math.sin(e)),a=this._getLabelSizes(),r=t.autoSkipPadding||0,o=a?a.widest.width+r:0,s=a?a.highest.height+r:0;return this.isHorizontal()?s*n>o*i?o/n:s/i:s*i=0&&(o=t),void 0!==r&&(t=n.indexOf(r))>=0&&(s=t),e.minIndex=o,e.maxIndex=s,e.min=n[o],e.max=n[s]},buildTicks:function(){var t=this._getLabels(),e=this.minIndex,n=this.maxIndex;this.ticks=0===e&&n===t.length-1?t:t.slice(e,n+1)},getLabelForIndex:function(t,e){var n=this.chart;return n.getDatasetMeta(e).controller._getValueScaleId()===this.id?this.getRightValue(n.data.datasets[e].data[t]):this._getLabels()[t]},_configure:function(){var t=this,e=t.options.offset,n=t.ticks;yn.prototype._configure.call(t),t.isHorizontal()||(t._reversePixels=!t._reversePixels),n&&(t._startValue=t.minIndex-(e?.5:0),t._valueRange=Math.max(n.length-(e?0:1),1))},getPixelForValue:function(t,e,n){var i,a,r,o=this;return xn(e)||xn(n)||(t=o.chart.data.datasets[n].data[e]),xn(t)||(i=o.isHorizontal()?t.x:t.y),(void 0!==i||void 0!==t&&isNaN(e))&&(a=o._getLabels(),t=V.valueOrDefault(i,t),e=-1!==(r=a.indexOf(t))?r:e,isNaN(e)&&(e=t)),o.getPixelForDecimal((e-o._startValue)/o._valueRange)},getPixelForTick:function(t){var e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t],t+this.minIndex)},getValueForPixel:function(t){var e=Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange);return Math.min(Math.max(e,0),this.ticks.length-1)},getBasePixel:function(){return this.bottom}}),wn={position:"bottom"};_n._defaults=wn;var kn=V.noop,Mn=V.isNullOrUndef,Sn=yn.extend({getRightValue:function(t){return"string"==typeof t?+t:yn.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;if(e.beginAtZero){var n=V.sign(t.min),i=V.sign(t.max);n<0&&i<0?t.max=0:n>0&&i>0&&(t.min=0)}var a=void 0!==e.min||void 0!==e.suggestedMin,r=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(null===t.min?t.min=e.suggestedMin:t.min=Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(null===t.max?t.max=e.suggestedMax:t.max=Math.max(t.max,e.suggestedMax)),a!==r&&t.min>=t.max&&(a?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:function(){var t,e=this.options.ticks,n=e.stepSize,i=e.maxTicksLimit;return n?t=Math.ceil(this.max/n)-Math.floor(this.min/n)+1:(t=this._computeTickLimit(),i=i||11),i&&(t=Math.min(i,t)),t},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:kn,buildTicks:function(){var t=this,e=t.options.ticks,n=t.getTickLimit(),i={maxTicks:n=Math.max(2,n),min:e.min,max:e.max,precision:e.precision,stepSize:V.valueOrDefault(e.fixedStepSize,e.stepSize)},a=t.ticks=function(t,e){var n,i,a,r,o=[],s=t.stepSize,l=s||1,u=t.maxTicks-1,d=t.min,h=t.max,c=t.precision,f=e.min,g=e.max,m=V.niceNum((g-f)/u/l)*l;if(m<1e-14&&Mn(d)&&Mn(h))return[f,g];(r=Math.ceil(g/m)-Math.floor(f/m))>u&&(m=V.niceNum(r*m/u/l)*l),s||Mn(c)?n=Math.pow(10,V._decimalPlaces(m)):(n=Math.pow(10,c),m=Math.ceil(m*n)/n),i=Math.floor(f/m)*m,a=Math.ceil(g/m)*m,s&&(!Mn(d)&&V.almostWhole(d/m,m/1e3)&&(i=d),!Mn(h)&&V.almostWhole(h/m,m/1e3)&&(a=h)),r=(a-i)/m,r=V.almostEquals(r,Math.round(r),m/1e3)?Math.round(r):Math.ceil(r),i=Math.round(i*n)/n,a=Math.round(a*n)/n,o.push(Mn(d)?i:d);for(var p=1;pe.length-1?null:this.getPixelForValue(e[t])}}),On=Dn;Tn._defaults=On;var An=V.valueOrDefault,Fn=V.math.log10,In={position:"left",ticks:{callback:rn.formatters.logarithmic}};function Ln(t,e){return V.isFinite(t)&&t>=0?t:e}var Rn=yn.extend({determineDataLimits:function(){var t,e,n,i,a,r,o=this,s=o.options,l=o.chart,u=l.data.datasets,d=o.isHorizontal();function h(t){return d?t.xAxisID===o.id:t.yAxisID===o.id}o.min=Number.POSITIVE_INFINITY,o.max=Number.NEGATIVE_INFINITY,o.minNotZero=Number.POSITIVE_INFINITY;var c=s.stacked;if(void 0===c)for(t=0;t0){var e=V.min(t),n=V.max(t);o.min=Math.min(o.min,e),o.max=Math.max(o.max,n)}}))}else for(t=0;t0?t.minNotZero=t.min:t.max<1?t.minNotZero=Math.pow(10,Math.floor(Fn(t.max))):t.minNotZero=1)},buildTicks:function(){var t=this,e=t.options.ticks,n=!t.isHorizontal(),i={min:Ln(e.min),max:Ln(e.max)},a=t.ticks=function(t,e){var n,i,a=[],r=An(t.min,Math.pow(10,Math.floor(Fn(e.min)))),o=Math.floor(Fn(e.max)),s=Math.ceil(e.max/Math.pow(10,o));0===r?(n=Math.floor(Fn(e.minNotZero)),i=Math.floor(e.minNotZero/Math.pow(10,n)),a.push(r),r=i*Math.pow(10,n)):(n=Math.floor(Fn(r)),i=Math.floor(r/Math.pow(10,n)));var l=n<0?Math.pow(10,Math.abs(n)):1;do{a.push(r),10==++i&&(i=1,l=++n>=0?1:l),r=Math.round(i*Math.pow(10,n)*l)/l}while(ne.length-1?null:this.getPixelForValue(e[t])},_getFirstTickValue:function(t){var e=Math.floor(Fn(t));return Math.floor(t/Math.pow(10,e))*Math.pow(10,e)},_configure:function(){var t=this,e=t.min,n=0;yn.prototype._configure.call(t),0===e&&(e=t._getFirstTickValue(t.minNotZero),n=An(t.options.ticks.fontSize,N.global.defaultFontSize)/t._length),t._startValue=Fn(e),t._valueOffset=n,t._valueRange=(Fn(t.max)-Fn(e))/(1-n)},getPixelForValue:function(t){var e=this,n=0;return(t=+e.getRightValue(t))>e.min&&t>0&&(n=(Fn(t)-e._startValue)/e._valueRange+e._valueOffset),e.getPixelForDecimal(n)},getValueForPixel:function(t){var e=this,n=e.getDecimalForPixel(t);return 0===n&&0===e.min?0:Math.pow(10,e._startValue+(n-e._valueOffset)*e._valueRange)}}),Nn=In;Rn._defaults=Nn;var Wn=V.valueOrDefault,Yn=V.valueAtIndexOrDefault,zn=V.options.resolve,En={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:rn.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(t){return t}}};function Vn(t){var e=t.ticks;return e.display&&t.display?Wn(e.fontSize,N.global.defaultFontSize)+2*e.backdropPaddingY:0}function Hn(t,e,n,i,a){return t===i||t===a?{start:e-n/2,end:e+n/2}:ta?{start:e-n,end:e}:{start:e,end:e+n}}function Bn(t){return 0===t||180===t?"center":t<180?"left":"right"}function jn(t,e,n,i){var a,r,o=n.y+i/2;if(V.isArray(e))for(a=0,r=e.length;a270||t<90)&&(n.y-=e.h)}function Gn(t){return V.isNumber(t)?t:0}var qn=Sn.extend({setDimensions:function(){var t=this;t.width=t.maxWidth,t.height=t.maxHeight,t.paddingTop=Vn(t.options)/2,t.xCenter=Math.floor(t.width/2),t.yCenter=Math.floor((t.height-t.paddingTop)/2),t.drawingArea=Math.min(t.height-t.paddingTop,t.width)/2},determineDataLimits:function(){var t=this,e=t.chart,n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;V.each(e.data.datasets,(function(a,r){if(e.isDatasetVisible(r)){var o=e.getDatasetMeta(r);V.each(a.data,(function(e,a){var r=+t.getRightValue(e);isNaN(r)||o.data[a].hidden||(n=Math.min(r,n),i=Math.max(r,i))}))}})),t.min=n===Number.POSITIVE_INFINITY?0:n,t.max=i===Number.NEGATIVE_INFINITY?0:i,t.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/Vn(this.options))},convertTicksToLabels:function(){var t=this;Sn.prototype.convertTicksToLabels.call(t),t.pointLabels=t.chart.data.labels.map((function(){var e=V.callback(t.options.pointLabels.callback,arguments,t);return e||0===e?e:""}))},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t=this.options;t.display&&t.pointLabels.display?function(t){var e,n,i,a=V.options._parseFont(t.options.pointLabels),r={l:0,r:t.width,t:0,b:t.height-t.paddingTop},o={};t.ctx.font=a.string,t._pointLabelSizes=[];var s,l,u,d=t.chart.data.labels.length;for(e=0;er.r&&(r.r=f.end,o.r=h),g.startr.b&&(r.b=g.end,o.b=h)}t.setReductions(t.drawingArea,r,o)}(this):this.setCenterPoint(0,0,0,0)},setReductions:function(t,e,n){var i=this,a=e.l/Math.sin(n.l),r=Math.max(e.r-i.width,0)/Math.sin(n.r),o=-e.t/Math.cos(n.t),s=-Math.max(e.b-(i.height-i.paddingTop),0)/Math.cos(n.b);a=Gn(a),r=Gn(r),o=Gn(o),s=Gn(s),i.drawingArea=Math.min(Math.floor(t-(a+r)/2),Math.floor(t-(o+s)/2)),i.setCenterPoint(a,r,o,s)},setCenterPoint:function(t,e,n,i){var a=this,r=a.width-e-a.drawingArea,o=t+a.drawingArea,s=n+a.drawingArea,l=a.height-a.paddingTop-i-a.drawingArea;a.xCenter=Math.floor((o+r)/2+a.left),a.yCenter=Math.floor((s+l)/2+a.top+a.paddingTop)},getIndexAngle:function(t){var e=this.chart,n=(t*(360/e.data.labels.length)+((e.options||{}).startAngle||0))%360;return(n<0?n+360:n)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(V.isNullOrUndef(t))return NaN;var n=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*n:(t-e.min)*n},getPointPosition:function(t,e){var n=this.getIndexAngle(t)-Math.PI/2;return{x:Math.cos(n)*e+this.xCenter,y:Math.sin(n)*e+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(t){var e=this.min,n=this.max;return this.getPointPositionForValue(t||0,this.beginAtZero?0:e<0&&n<0?n:e>0&&n>0?e:0)},_drawGrid:function(){var t,e,n,i=this,a=i.ctx,r=i.options,o=r.gridLines,s=r.angleLines,l=Wn(s.lineWidth,o.lineWidth),u=Wn(s.color,o.color);if(r.pointLabels.display&&function(t){var e=t.ctx,n=t.options,i=n.pointLabels,a=Vn(n),r=t.getDistanceFromCenterForValue(n.ticks.reverse?t.min:t.max),o=V.options._parseFont(i);e.save(),e.font=o.string,e.textBaseline="middle";for(var s=t.chart.data.labels.length-1;s>=0;s--){var l=0===s?a/2:0,u=t.getPointPosition(s,r+l+5),d=Yn(i.fontColor,s,N.global.defaultFontColor);e.fillStyle=d;var h=t.getIndexAngle(s),c=V.toDegrees(h);e.textAlign=Bn(c),Un(c,t._pointLabelSizes[s],u),jn(e,t.pointLabels[s],u,o.lineHeight)}e.restore()}(i),o.display&&V.each(i.ticks,(function(t,n){0!==n&&(e=i.getDistanceFromCenterForValue(i.ticksAsNumbers[n]),function(t,e,n,i){var a,r=t.ctx,o=e.circular,s=t.chart.data.labels.length,l=Yn(e.color,i-1),u=Yn(e.lineWidth,i-1);if((o||s)&&l&&u){if(r.save(),r.strokeStyle=l,r.lineWidth=u,r.setLineDash&&(r.setLineDash(e.borderDash||[]),r.lineDashOffset=e.borderDashOffset||0),r.beginPath(),o)r.arc(t.xCenter,t.yCenter,n,0,2*Math.PI);else{a=t.getPointPosition(0,n),r.moveTo(a.x,a.y);for(var d=1;d=0;t--)e=i.getDistanceFromCenterForValue(r.ticks.reverse?i.min:i.max),n=i.getPointPosition(t,e),a.beginPath(),a.moveTo(i.xCenter,i.yCenter),a.lineTo(n.x,n.y),a.stroke();a.restore()}},_drawLabels:function(){var t=this,e=t.ctx,n=t.options.ticks;if(n.display){var i,a,r=t.getIndexAngle(0),o=V.options._parseFont(n),s=Wn(n.fontColor,N.global.defaultFontColor);e.save(),e.font=o.string,e.translate(t.xCenter,t.yCenter),e.rotate(r),e.textAlign="center",e.textBaseline="middle",V.each(t.ticks,(function(r,l){(0!==l||n.reverse)&&(i=t.getDistanceFromCenterForValue(t.ticksAsNumbers[l]),n.showLabelBackdrop&&(a=e.measureText(r).width,e.fillStyle=n.backdropColor,e.fillRect(-a/2-n.backdropPaddingX,-i-o.size/2-n.backdropPaddingY,a+2*n.backdropPaddingX,o.size+2*n.backdropPaddingY)),e.fillStyle=s,e.fillText(r,0,-i))})),e.restore()}},_drawTitle:V.noop}),Zn=En;qn._defaults=Zn;var $n=V._deprecated,Xn=V.options.resolve,Jn=V.valueOrDefault,Kn=Number.MIN_SAFE_INTEGER||-9007199254740991,Qn=Number.MAX_SAFE_INTEGER||9007199254740991,ti={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ei=Object.keys(ti);function ni(t,e){return t-e}function ii(t){return V.valueOrDefault(t.time.min,t.ticks.min)}function ai(t){return V.valueOrDefault(t.time.max,t.ticks.max)}function ri(t,e,n,i){var a=function(t,e,n){for(var i,a,r,o=0,s=t.length-1;o>=0&&o<=s;){if(a=t[(i=o+s>>1)-1]||null,r=t[i],!a)return{lo:null,hi:r};if(r[e]n))return{lo:a,hi:r};s=i-1}}return{lo:r,hi:null}}(t,e,n),r=a.lo?a.hi?a.lo:t[t.length-2]:t[0],o=a.lo?a.hi?a.hi:t[t.length-1]:t[1],s=o[e]-r[e],l=s?(n-r[e])/s:0,u=(o[i]-r[i])*l;return r[i]+u}function oi(t,e){var n=t._adapter,i=t.options.time,a=i.parser,r=a||i.format,o=e;return"function"==typeof a&&(o=a(o)),V.isFinite(o)||(o="string"==typeof r?n.parse(o,r):n.parse(o)),null!==o?+o:(a||"function"!=typeof r||(o=r(e),V.isFinite(o)||(o=n.parse(o))),o)}function si(t,e){if(V.isNullOrUndef(e))return null;var n=t.options.time,i=oi(t,t.getRightValue(e));return null===i||n.round&&(i=+t._adapter.startOf(i,n.round)),i}function li(t,e,n,i){var a,r,o,s=ei.length;for(a=ei.indexOf(t);a=0&&(e[r].major=!0);return e}(t,r,o,n):r}var di=yn.extend({initialize:function(){this.mergeTicksOptions(),yn.prototype.initialize.call(this)},update:function(){var t=this,e=t.options,n=e.time||(e.time={}),i=t._adapter=new an._date(e.adapters.date);return $n("time scale",n.format,"time.format","time.parser"),$n("time scale",n.min,"time.min","ticks.min"),$n("time scale",n.max,"time.max","ticks.max"),V.mergeIf(n.displayFormats,i.formats()),yn.prototype.update.apply(t,arguments)},getRightValue:function(t){return t&&void 0!==t.t&&(t=t.t),yn.prototype.getRightValue.call(this,t)},determineDataLimits:function(){var t,e,n,i,a,r,o,s=this,l=s.chart,u=s._adapter,d=s.options,h=d.time.unit||"day",c=Qn,f=Kn,g=[],m=[],p=[],v=s._getLabels();for(t=0,n=v.length;t1?function(t){var e,n,i,a={},r=[];for(e=0,n=t.length;e1e5*u)throw e+" and "+n+" are too far apart with stepSize of "+u+" "+l;for(a=h;a=a&&n<=r&&d.push(n);return i.min=a,i.max=r,i._unit=l.unit||(s.autoSkip?li(l.minUnit,i.min,i.max,h):function(t,e,n,i,a){var r,o;for(r=ei.length-1;r>=ei.indexOf(n);r--)if(o=ei[r],ti[o].common&&t._adapter.diff(a,i,o)>=e-1)return o;return ei[n?ei.indexOf(n):0]}(i,d.length,l.minUnit,i.min,i.max)),i._majorUnit=s.major.enabled&&"year"!==i._unit?function(t){for(var e=ei.indexOf(t)+1,n=ei.length;ee&&s=0&&t0?s:1}}),hi={position:"bottom",distribution:"linear",bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}};di._defaults=hi;var ci={category:_n,linear:Tn,logarithmic:Rn,radialLinear:qn,time:di},fi={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};an._date.override("function"==typeof t?{_id:"moment",formats:function(){return fi},parse:function(e,n){return"string"==typeof e&&"string"==typeof n?e=t(e,n):e instanceof t||(e=t(e)),e.isValid()?e.valueOf():null},format:function(e,n){return t(e).format(n)},add:function(e,n,i){return t(e).add(n,i).valueOf()},diff:function(e,n,i){return t(e).diff(t(n),i)},startOf:function(e,n,i){return e=t(e),"isoWeek"===n?e.isoWeekday(i).valueOf():e.startOf(n).valueOf()},endOf:function(e,n){return t(e).endOf(n).valueOf()},_create:function(e){return t(e)}}:{}),N._set("global",{plugins:{filler:{propagate:!0}}});var gi={dataset:function(t){var e=t.fill,n=t.chart,i=n.getDatasetMeta(e),a=i&&n.isDatasetVisible(e)&&i.dataset._children||[],r=a.length||0;return r?function(t,e){return e=n)&&i;switch(r){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return r;default:return!1}}function pi(t){return(t.el._scale||{}).getPointPositionForValue?function(t){var e,n,i,a,r,o=t.el._scale,s=o.options,l=o.chart.data.labels.length,u=t.fill,d=[];if(!l)return null;for(e=s.ticks.reverse?o.max:o.min,n=s.ticks.reverse?o.min:o.max,i=o.getPointPositionForValue(0,e),a=0;a0;--r)V.canvas.lineTo(t,n[r],n[r-1],!0);else for(o=n[0].cx,s=n[0].cy,l=Math.sqrt(Math.pow(n[0].x-o,2)+Math.pow(n[0].y-s,2)),r=a-1;r>0;--r)t.arc(o,s,l,n[r].angle,n[r-1].angle,!0)}}function _i(t,e,n,i,a,r){var o,s,l,u,d,h,c,f,g=e.length,m=i.spanGaps,p=[],v=[],b=0,y=0;for(t.beginPath(),o=0,s=g;o=0;--n)(e=l[n].$filler)&&e.visible&&(a=(i=e.el)._view,r=i._children||[],o=e.mapper,s=a.backgroundColor||N.global.defaultColor,o&&s&&r.length&&(V.canvas.clipArea(u,t.chartArea),_i(u,r,o,a,s,i._loop),V.canvas.unclipArea(u)))}},ki=V.rtl.getRtlAdapter,Mi=V.noop,Si=V.valueOrDefault;function Di(t,e){return t.usePointStyle&&t.boxWidth>e?e:t.boxWidth}N._set("global",{legend:{display:!0,position:"top",align:"center",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(t,e){var n=e.datasetIndex,i=this.chart,a=i.getDatasetMeta(n);a.hidden=null===a.hidden?!i.data.datasets[n].hidden:null,i.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data.datasets,n=t.options.legend||{},i=n.labels&&n.labels.usePointStyle;return t._getSortedDatasetMetas().map((function(n){var a=n.controller.getStyle(i?0:void 0);return{text:e[n.index].label,fillStyle:a.backgroundColor,hidden:!t.isDatasetVisible(n.index),lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:a.borderWidth,strokeStyle:a.borderColor,pointStyle:a.pointStyle,rotation:a.rotation,datasetIndex:n.index}}),this)}}},legendCallback:function(t){var e,n,i,a=document.createElement("ul"),r=t.data.datasets;for(a.setAttribute("class",t.id+"-legend"),e=0,n=r.length;el.width)&&(h+=o+n.padding,d[d.length-(e>0?0:1)]=0),s[e]={left:0,top:0,width:i,height:o},d[d.length-1]+=i+n.padding})),l.height+=h}else{var c=n.padding,f=t.columnWidths=[],g=t.columnHeights=[],m=n.padding,p=0,v=0;V.each(t.legendItems,(function(t,e){var i=Di(n,o)+o/2+a.measureText(t.text).width;e>0&&v+o+2*c>l.height&&(m+=p+n.padding,f.push(p),g.push(v),p=0,v=0),p=Math.max(p,i),v+=o+c,s[e]={left:0,top:0,width:i,height:o}})),m+=p,f.push(p),g.push(v),l.width+=m}t.width=l.width,t.height=l.height}else t.width=l.width=t.height=l.height=0},afterFit:Mi,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var t=this,e=t.options,n=e.labels,i=N.global,a=i.defaultColor,r=i.elements.line,o=t.height,s=t.columnHeights,l=t.width,u=t.lineWidths;if(e.display){var d,h=ki(e.rtl,t.left,t.minSize.width),c=t.ctx,f=Si(n.fontColor,i.defaultFontColor),g=V.options._parseFont(n),m=g.size;c.textAlign=h.textAlign("left"),c.textBaseline="middle",c.lineWidth=.5,c.strokeStyle=f,c.fillStyle=f,c.font=g.string;var p=Di(n,m),v=t.legendHitBoxes,b=function(t,i){switch(e.align){case"start":return n.padding;case"end":return t-i;default:return(t-i+n.padding)/2}},y=t.isHorizontal();d=y?{x:t.left+b(l,u[0]),y:t.top+n.padding,line:0}:{x:t.left+n.padding,y:t.top+b(o,s[0]),line:0},V.rtl.overrideTextDirection(t.ctx,e.textDirection);var x=m+n.padding;V.each(t.legendItems,(function(e,i){var f=c.measureText(e.text).width,g=p+m/2+f,_=d.x,w=d.y;h.setWidth(t.minSize.width),y?i>0&&_+g+n.padding>t.left+t.minSize.width&&(w=d.y+=x,d.line++,_=d.x=t.left+b(l,u[d.line])):i>0&&w+x>t.top+t.minSize.height&&(_=d.x=_+t.columnWidths[d.line]+n.padding,d.line++,w=d.y=t.top+b(o,s[d.line]));var k=h.x(_);!function(t,e,i){if(!(isNaN(p)||p<=0)){c.save();var o=Si(i.lineWidth,r.borderWidth);if(c.fillStyle=Si(i.fillStyle,a),c.lineCap=Si(i.lineCap,r.borderCapStyle),c.lineDashOffset=Si(i.lineDashOffset,r.borderDashOffset),c.lineJoin=Si(i.lineJoin,r.borderJoinStyle),c.lineWidth=o,c.strokeStyle=Si(i.strokeStyle,a),c.setLineDash&&c.setLineDash(Si(i.lineDash,r.borderDash)),n&&n.usePointStyle){var s=p*Math.SQRT2/2,l=h.xPlus(t,p/2),u=e+m/2;V.canvas.drawPoint(c,i.pointStyle,s,l,u,i.rotation)}else c.fillRect(h.leftForLtr(t,p),e,p,m),0!==o&&c.strokeRect(h.leftForLtr(t,p),e,p,m);c.restore()}}(k,w,e),v[i].left=h.leftForLtr(k,v[i].width),v[i].top=w,function(t,e,n,i){var a=m/2,r=h.xPlus(t,p+a),o=e+a;c.fillText(n.text,r,o),n.hidden&&(c.beginPath(),c.lineWidth=2,c.moveTo(r,o),c.lineTo(h.xPlus(r,i),o),c.stroke())}(k,w,e,f),y?d.x+=g+n.padding:d.y+=x})),V.rtl.restoreTextDirection(t.ctx,e.textDirection)}},_getLegendItemAt:function(t,e){var n,i,a,r=this;if(t>=r.left&&t<=r.right&&e>=r.top&&e<=r.bottom)for(a=r.legendHitBoxes,n=0;n=(i=a[n]).left&&t<=i.left+i.width&&e>=i.top&&e<=i.top+i.height)return r.legendItems[n];return null},handleEvent:function(t){var e,n=this,i=n.options,a="mouseup"===t.type?"click":t.type;if("mousemove"===a){if(!i.onHover&&!i.onLeave)return}else{if("click"!==a)return;if(!i.onClick)return}e=n._getLegendItemAt(t.x,t.y),"click"===a?e&&i.onClick&&i.onClick.call(n,t.native,e):(i.onLeave&&e!==n._hoveredItem&&(n._hoveredItem&&i.onLeave.call(n,t.native,n._hoveredItem),n._hoveredItem=e),i.onHover&&e&&i.onHover.call(n,t.native,e))}});function Pi(t,e){var n=new Ci({ctx:t.ctx,options:e,chart:t});ge.configure(t,n,e),ge.addBox(t,n),t.legend=n}var Ti={id:"legend",_element:Ci,beforeInit:function(t){var e=t.options.legend;e&&Pi(t,e)},beforeUpdate:function(t){var e=t.options.legend,n=t.legend;e?(V.mergeIf(e,N.global.legend),n?(ge.configure(t,n,e),n.options=e):Pi(t,e)):n&&(ge.removeBox(t,n),delete t.legend)},afterEvent:function(t,e){var n=t.legend;n&&n.handleEvent(e)}},Oi=V.noop;N._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var Ai=Z.extend({initialize:function(t){V.extend(this,t),this.legendHitBoxes=[]},beforeUpdate:Oi,update:function(t,e,n){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:Oi,beforeSetDimensions:Oi,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:Oi,beforeBuildLabels:Oi,buildLabels:Oi,afterBuildLabels:Oi,beforeFit:Oi,fit:function(){var t,e=this,n=e.options,i=e.minSize={},a=e.isHorizontal();n.display?(t=(V.isArray(n.text)?n.text.length:1)*V.options._parseFont(n).lineHeight+2*n.padding,e.width=i.width=a?e.maxWidth:t,e.height=i.height=a?t:e.maxHeight):e.width=i.width=e.height=i.height=0},afterFit:Oi,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var t=this,e=t.ctx,n=t.options;if(n.display){var i,a,r,o=V.options._parseFont(n),s=o.lineHeight,l=s/2+n.padding,u=0,d=t.top,h=t.left,c=t.bottom,f=t.right;e.fillStyle=V.valueOrDefault(n.fontColor,N.global.defaultFontColor),e.font=o.string,t.isHorizontal()?(a=h+(f-h)/2,r=d+l,i=f-h):(a="left"===n.position?h+l:f-l,r=d+(c-d)/2,i=c-d,u=Math.PI*("left"===n.position?-.5:.5)),e.save(),e.translate(a,r),e.rotate(u),e.textAlign="center",e.textBaseline="middle";var g=n.text;if(V.isArray(g))for(var m=0,p=0;p=0;i--){var a=t[i];if(e(a))return a}},V.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},V.almostEquals=function(t,e,n){return Math.abs(t-e)=t},V.max=function(t){return t.reduce((function(t,e){return isNaN(e)?t:Math.max(t,e)}),Number.NEGATIVE_INFINITY)},V.min=function(t){return t.reduce((function(t,e){return isNaN(e)?t:Math.min(t,e)}),Number.POSITIVE_INFINITY)},V.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0==(t=+t)||isNaN(t)?t:t>0?1:-1},V.toRadians=function(t){return t*(Math.PI/180)},V.toDegrees=function(t){return t*(180/Math.PI)},V._decimalPlaces=function(t){if(V.isFinite(t)){for(var e=1,n=0;Math.round(t*e)/e!==t;)e*=10,n++;return n}},V.getAngleFromPoint=function(t,e){var n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),r=Math.atan2(i,n);return r<-.5*Math.PI&&(r+=2*Math.PI),{angle:r,distance:a}},V.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},V.aliasPixel=function(t){return t%2==0?0:.5},V._alignPixel=function(t,e,n){var i=t.currentDevicePixelRatio,a=n/2;return Math.round((e-a)*i)/i+a},V.splineCurve=function(t,e,n,i){var a=t.skip?e:t,r=e,o=n.skip?e:n,s=Math.sqrt(Math.pow(r.x-a.x,2)+Math.pow(r.y-a.y,2)),l=Math.sqrt(Math.pow(o.x-r.x,2)+Math.pow(o.y-r.y,2)),u=s/(s+l),d=l/(s+l),h=i*(u=isNaN(u)?0:u),c=i*(d=isNaN(d)?0:d);return{previous:{x:r.x-h*(o.x-a.x),y:r.y-h*(o.y-a.y)},next:{x:r.x+c*(o.x-a.x),y:r.y+c*(o.y-a.y)}}},V.EPSILON=Number.EPSILON||1e-14,V.splineCurveMonotone=function(t){var e,n,i,a,r,o,s,l,u,d=(t||[]).map((function(t){return{model:t._model,deltaK:0,mK:0}})),h=d.length;for(e=0;e0?d[e-1]:null,(a=e0?d[e-1]:null,a=e=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},V.previousItem=function(t,e,n){return n?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},V.niceNum=function(t,e){var n=Math.floor(V.log10(t)),i=t/Math.pow(10,n);return(e?i<1.5?1:i<3?2:i<7?5:10:i<=1?1:i<=2?2:i<=5?5:10)*Math.pow(10,n)},V.requestAnimFrame="undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},V.getRelativePosition=function(t,e){var n,i,a=t.originalEvent||t,r=t.target||t.srcElement,o=r.getBoundingClientRect(),s=a.touches;s&&s.length>0?(n=s[0].clientX,i=s[0].clientY):(n=a.clientX,i=a.clientY);var l=parseFloat(V.getStyle(r,"padding-left")),u=parseFloat(V.getStyle(r,"padding-top")),d=parseFloat(V.getStyle(r,"padding-right")),h=parseFloat(V.getStyle(r,"padding-bottom")),c=o.right-o.left-l-d,f=o.bottom-o.top-u-h;return{x:n=Math.round((n-o.left-l)/c*r.width/e.currentDevicePixelRatio),y:i=Math.round((i-o.top-u)/f*r.height/e.currentDevicePixelRatio)}},V.getConstraintWidth=function(t){return n(t,"max-width","clientWidth")},V.getConstraintHeight=function(t){return n(t,"max-height","clientHeight")},V._calculatePadding=function(t,e,n){return(e=V.getStyle(t,e)).indexOf("%")>-1?n*parseInt(e,10)/100:parseInt(e,10)},V._getParentNode=function(t){var e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e},V.getMaximumWidth=function(t){var e=V._getParentNode(t);if(!e)return t.clientWidth;var n=e.clientWidth,i=n-V._calculatePadding(e,"padding-left",n)-V._calculatePadding(e,"padding-right",n),a=V.getConstraintWidth(t);return isNaN(a)?i:Math.min(i,a)},V.getMaximumHeight=function(t){var e=V._getParentNode(t);if(!e)return t.clientHeight;var n=e.clientHeight,i=n-V._calculatePadding(e,"padding-top",n)-V._calculatePadding(e,"padding-bottom",n),a=V.getConstraintHeight(t);return isNaN(a)?i:Math.min(i,a)},V.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},V.retinaScale=function(t,e){var n=t.currentDevicePixelRatio=e||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==n){var i=t.canvas,a=t.height,r=t.width;i.height=a*n,i.width=r*n,t.ctx.scale(n,n),i.style.height||i.style.width||(i.style.height=a+"px",i.style.width=r+"px")}},V.fontString=function(t,e,n){return e+" "+t+"px "+n},V.longestText=function(t,e,n,i){var a=(i=i||{}).data=i.data||{},r=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(a=i.data={},r=i.garbageCollect=[],i.font=e),t.font=e;var o,s,l,u,d,h=0,c=n.length;for(o=0;on.length){for(o=0;oi&&(i=r),i},V.numberOfLabelLines=function(t){var e=1;return V.each(t,(function(t){V.isArray(t)&&t.length>e&&(e=t.length)})),e},V.color=w?function(t){return t instanceof CanvasGradient&&(t=N.global.defaultColor),w(t)}:function(t){return console.error("Color.js not found!"),t},V.getHoverColor=function(t){return t instanceof CanvasPattern||t instanceof CanvasGradient?t:V.color(t).saturate(.5).darken(.1).rgbString()}}(),tn._adapters=an,tn.Animation=X,tn.animationService=J,tn.controllers=Jt,tn.DatasetController=nt,tn.defaults=N,tn.Element=Z,tn.elements=_t,tn.Interaction=ae,tn.layouts=ge,tn.platform=Fe,tn.plugins=Ie,tn.Scale=yn,tn.scaleService=Le,tn.Ticks=rn,tn.Tooltip=Ue,tn.helpers.each(ci,(function(t,e){tn.scaleService.registerScaleType(e,t,t._defaults)})),Ii)Ii.hasOwnProperty(Wi)&&tn.plugins.register(Ii[Wi]);tn.platform.initialize();var Yi=tn;return"undefined"!=typeof window&&(window.Chart=tn),tn.Chart=tn,tn.Legend=Ii.legend._element,tn.Title=Ii.title._element,tn.pluginService=tn.plugins,tn.PluginBase=tn.Element.extend({}),tn.canvasHelpers=tn.helpers.canvas,tn.layoutService=tn.layouts,tn.LinearScaleBase=Sn,tn.helpers.each(["Bar","Bubble","Doughnut","Line","PolarArea","Radar","Scatter"],(function(t){tn[t]=function(e,n){return new tn(e,tn.helpers.merge(n||{},{type:t.charAt(0).toLowerCase()+t.slice(1)}))}})),Yi}(function(){try{return n("wd/R")}catch(t){}}())},YuTi:function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"wd/R":function(t,e,n){(function(t){t.exports=function(){"use strict";var e,n;function i(){return e.apply(null,arguments)}function a(t){e=t}function r(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}function l(t){return void 0===t}function u(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function d(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var n,i=[];for(n=0;n>>0,i=0;i0)for(n=0;n0?"future":"past"];return F(n)?n(e):n.replace(/%s/i,e)}var Z={};function $(t,e){var n=t.toLowerCase();Z[n]=Z[n+"s"]=Z[e]=t}function X(t){return"string"==typeof t?Z[t]||Z[t.toLowerCase()]:void 0}function J(t){var e,n,i={};for(n in t)c(t,n)&&(e=X(n))&&(i[e]=t[n]);return i}var K={};function Q(t,e){K[t]=e}function tt(t){var e=[];for(var n in t)e.push({unit:n,priority:K[n]});return e.sort((function(t,e){return t.priority-e.priority})),e}function et(t,e,n){var i=""+Math.abs(t),a=e-i.length;return(t>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+i}var nt=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,it=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,at={},rt={};function ot(t,e,n,i){var a=i;"string"==typeof i&&(a=function(){return this[i]()}),t&&(rt[t]=a),e&&(rt[e[0]]=function(){return et(a.apply(this,arguments),e[1],e[2])}),n&&(rt[n]=function(){return this.localeData().ordinal(a.apply(this,arguments),t)})}function st(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function lt(t){var e,n,i=t.match(nt);for(e=0,n=i.length;e=0&&it.test(t);)t=t.replace(it,i),it.lastIndex=0,n-=1;return t}var ht=/\d/,ct=/\d\d/,ft=/\d{3}/,gt=/\d{4}/,mt=/[+-]?\d{6}/,pt=/\d\d?/,vt=/\d\d\d\d?/,bt=/\d\d\d\d\d\d?/,yt=/\d{1,3}/,xt=/\d{1,4}/,_t=/[+-]?\d{1,6}/,wt=/\d+/,kt=/[+-]?\d+/,Mt=/Z|[+-]\d\d:?\d\d/gi,St=/Z|[+-]\d\d(?::?\d\d)?/gi,Dt=/[+-]?\d+(\.\d{1,3})?/,Ct=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Pt={};function Tt(t,e,n){Pt[t]=F(e)?e:function(t,i){return t&&n?n:e}}function Ot(t,e){return c(Pt,t)?Pt[t](e._strict,e._locale):new RegExp(At(t))}function At(t){return Ft(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,n,i,a){return e||n||i||a})))}function Ft(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var It={};function Lt(t,e){var n,i=e;for("string"==typeof t&&(t=[t]),u(e)&&(i=function(t,n){n[e]=S(t)}),n=0;n68?1900:2e3)};var Zt,$t=Jt("FullYear",!0);function Xt(){return qt(this.year())}function Jt(t,e){return function(n){return null!=n?(Qt(this,t,n),i.updateOffset(this,e),this):Kt(this,t)}}function Kt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Qt(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&qt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),ie(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function te(t){return F(this[t=X(t)])?this[t]():this}function ee(t,e){if("object"==typeof t)for(var n=tt(t=J(t)),i=0;i=0?(s=new Date(t+400,e,n,i,a,r,o),isFinite(s.getFullYear())&&s.setFullYear(t)):s=new Date(t,e,n,i,a,r,o),s}function xe(t){var e;if(t<100&&t>=0){var n=Array.prototype.slice.call(arguments);n[0]=t+400,e=new Date(Date.UTC.apply(null,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function _e(t,e,n){var i=7+e-n;return-(7+xe(t,0,i).getUTCDay()-e)%7+i-1}function we(t,e,n,i,a){var r,o,s=1+7*(e-1)+(7+n-i)%7+_e(t,i,a);return s<=0?o=Gt(r=t-1)+s:s>Gt(t)?(r=t+1,o=s-Gt(t)):(r=t,o=s),{year:r,dayOfYear:o}}function ke(t,e,n){var i,a,r=_e(t.year(),e,n),o=Math.floor((t.dayOfYear()-r-1)/7)+1;return o<1?i=o+Me(a=t.year()-1,e,n):o>Me(t.year(),e,n)?(i=o-Me(t.year(),e,n),a=t.year()+1):(a=t.year(),i=o),{week:i,year:a}}function Me(t,e,n){var i=_e(t,e,n),a=_e(t+1,e,n);return(Gt(t)-i+a)/7}function Se(t){return ke(t,this._week.dow,this._week.doy).week}ot("w",["ww",2],"wo","week"),ot("W",["WW",2],"Wo","isoWeek"),$("week","w"),$("isoWeek","W"),Q("week",5),Q("isoWeek",5),Tt("w",pt),Tt("ww",pt,ct),Tt("W",pt),Tt("WW",pt,ct),Rt(["w","ww","W","WW"],(function(t,e,n,i){e[i.substr(0,1)]=S(t)}));var De={dow:0,doy:6};function Ce(){return this._week.dow}function Pe(){return this._week.doy}function Te(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Oe(t){var e=ke(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Ae(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}function Fe(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Ie(t,e){return t.slice(e,7).concat(t.slice(0,e))}ot("d",0,"do","day"),ot("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),ot("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),ot("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),ot("e",0,0,"weekday"),ot("E",0,0,"isoWeekday"),$("day","d"),$("weekday","e"),$("isoWeekday","E"),Q("day",11),Q("weekday",11),Q("isoWeekday",11),Tt("d",pt),Tt("e",pt),Tt("E",pt),Tt("dd",(function(t,e){return e.weekdaysMinRegex(t)})),Tt("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),Tt("dddd",(function(t,e){return e.weekdaysRegex(t)})),Rt(["dd","ddd","dddd"],(function(t,e,n,i){var a=n._locale.weekdaysParse(t,i,n._strict);null!=a?e.d=a:p(n).invalidWeekday=t})),Rt(["d","e","E"],(function(t,e,n,i){e[i]=S(t)}));var Le="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");function Re(t,e){var n=r(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?Ie(n,this._week.dow):t?n[t.day()]:n}var Ne="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");function We(t){return!0===t?Ie(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort}var Ye="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function ze(t){return!0===t?Ie(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Ee(t,e,n){var i,a,r,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)r=g([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(a=Zt.call(this._weekdaysParse,o))?a:null:"ddd"===e?-1!==(a=Zt.call(this._shortWeekdaysParse,o))?a:null:-1!==(a=Zt.call(this._minWeekdaysParse,o))?a:null:"dddd"===e?-1!==(a=Zt.call(this._weekdaysParse,o))||-1!==(a=Zt.call(this._shortWeekdaysParse,o))||-1!==(a=Zt.call(this._minWeekdaysParse,o))?a:null:"ddd"===e?-1!==(a=Zt.call(this._shortWeekdaysParse,o))||-1!==(a=Zt.call(this._weekdaysParse,o))||-1!==(a=Zt.call(this._minWeekdaysParse,o))?a:null:-1!==(a=Zt.call(this._minWeekdaysParse,o))||-1!==(a=Zt.call(this._weekdaysParse,o))||-1!==(a=Zt.call(this._shortWeekdaysParse,o))?a:null}function Ve(t,e,n){var i,a,r;if(this._weekdaysParseExact)return Ee.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(a=g([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(r="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[i]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(n&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(n&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!n&&this._weekdaysParse[i].test(t))return i}}function He(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Ae(t,this.localeData()),this.add(t-e,"d")):e}function Be(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function je(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Fe(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}var Ue=Ct;function Ge(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Je.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(c(this,"_weekdaysRegex")||(this._weekdaysRegex=Ue),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}var qe=Ct;function Ze(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Je.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(c(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=qe),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}var $e=Ct;function Xe(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Je.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(c(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=$e),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Je(){function t(t,e){return e.length-t.length}var e,n,i,a,r,o=[],s=[],l=[],u=[];for(e=0;e<7;e++)n=g([2e3,1]).day(e),i=this.weekdaysMin(n,""),a=this.weekdaysShort(n,""),r=this.weekdays(n,""),o.push(i),s.push(a),l.push(r),u.push(i),u.push(a),u.push(r);for(o.sort(t),s.sort(t),l.sort(t),u.sort(t),e=0;e<7;e++)s[e]=Ft(s[e]),l[e]=Ft(l[e]),u[e]=Ft(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function Ke(){return this.hours()%12||12}function Qe(){return this.hours()||24}function tn(t,e){ot(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function en(t,e){return e._meridiemParse}function nn(t){return"p"===(t+"").toLowerCase().charAt(0)}ot("H",["HH",2],0,"hour"),ot("h",["hh",2],0,Ke),ot("k",["kk",2],0,Qe),ot("hmm",0,0,(function(){return""+Ke.apply(this)+et(this.minutes(),2)})),ot("hmmss",0,0,(function(){return""+Ke.apply(this)+et(this.minutes(),2)+et(this.seconds(),2)})),ot("Hmm",0,0,(function(){return""+this.hours()+et(this.minutes(),2)})),ot("Hmmss",0,0,(function(){return""+this.hours()+et(this.minutes(),2)+et(this.seconds(),2)})),tn("a",!0),tn("A",!1),$("hour","h"),Q("hour",13),Tt("a",en),Tt("A",en),Tt("H",pt),Tt("h",pt),Tt("k",pt),Tt("HH",pt,ct),Tt("hh",pt,ct),Tt("kk",pt,ct),Tt("hmm",vt),Tt("hmmss",bt),Tt("Hmm",vt),Tt("Hmmss",bt),Lt(["H","HH"],Et),Lt(["k","kk"],(function(t,e,n){var i=S(t);e[Et]=24===i?0:i})),Lt(["a","A"],(function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t})),Lt(["h","hh"],(function(t,e,n){e[Et]=S(t),p(n).bigHour=!0})),Lt("hmm",(function(t,e,n){var i=t.length-2;e[Et]=S(t.substr(0,i)),e[Vt]=S(t.substr(i)),p(n).bigHour=!0})),Lt("hmmss",(function(t,e,n){var i=t.length-4,a=t.length-2;e[Et]=S(t.substr(0,i)),e[Vt]=S(t.substr(i,2)),e[Ht]=S(t.substr(a)),p(n).bigHour=!0})),Lt("Hmm",(function(t,e,n){var i=t.length-2;e[Et]=S(t.substr(0,i)),e[Vt]=S(t.substr(i))})),Lt("Hmmss",(function(t,e,n){var i=t.length-4,a=t.length-2;e[Et]=S(t.substr(0,i)),e[Vt]=S(t.substr(i,2)),e[Ht]=S(t.substr(a))}));var an=/[ap]\.?m?\.?/i;function rn(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}var on,sn=Jt("Hours",!0),ln={calendar:N,longDateFormat:Y,invalidDate:E,ordinal:H,dayOfMonthOrdinalParse:B,relativeTime:U,months:re,monthsShort:se,week:De,weekdays:Le,weekdaysMin:Ye,weekdaysShort:Ne,meridiemParse:an},un={},dn={};function hn(t){return t?t.toLowerCase().replace("_","-"):t}function cn(t){for(var e,n,i,a,r=0;r0;){if(i=fn(a.slice(0,e).join("-")))return i;if(n&&n.length>=e&&D(a,n,!0)>=e-1)break;e--}r++}return on}function fn(e){var n=null;if(!un[e]&&void 0!==t&&t&&t.exports)try{n=on._abbr,!function(){var t=new Error("Cannot find module 'undefined'");throw t.code="MODULE_NOT_FOUND",t}(),gn(n)}catch(t){}return un[e]}function gn(t,e){var n;return t&&((n=l(e)?vn(t):mn(t,e))?on=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),on._abbr}function mn(t,e){if(null!==e){var n,i=ln;if(e.abbr=t,null!=un[t])A("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=un[t]._config;else if(null!=e.parentLocale)if(null!=un[e.parentLocale])i=un[e.parentLocale]._config;else{if(null==(n=fn(e.parentLocale)))return dn[e.parentLocale]||(dn[e.parentLocale]=[]),dn[e.parentLocale].push({name:t,config:e}),null;i=n._config}return un[t]=new R(L(i,e)),dn[t]&&dn[t].forEach((function(t){mn(t.name,t.config)})),gn(t),un[t]}return delete un[t],null}function pn(t,e){if(null!=e){var n,i,a=ln;null!=(i=fn(t))&&(a=i._config),(n=new R(e=L(a,e))).parentLocale=un[t],un[t]=n,gn(t)}else null!=un[t]&&(null!=un[t].parentLocale?un[t]=un[t].parentLocale:null!=un[t]&&delete un[t]);return un[t]}function vn(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return on;if(!r(t)){if(e=fn(t))return e;t=[t]}return cn(t)}function bn(){return T(un)}function yn(t){var e,n=t._a;return n&&-2===p(t).overflow&&(e=n[Yt]<0||n[Yt]>11?Yt:n[zt]<1||n[zt]>ie(n[Wt],n[Yt])?zt:n[Et]<0||n[Et]>24||24===n[Et]&&(0!==n[Vt]||0!==n[Ht]||0!==n[Bt])?Et:n[Vt]<0||n[Vt]>59?Vt:n[Ht]<0||n[Ht]>59?Ht:n[Bt]<0||n[Bt]>999?Bt:-1,p(t)._overflowDayOfYear&&(ezt)&&(e=zt),p(t)._overflowWeeks&&-1===e&&(e=jt),p(t)._overflowWeekday&&-1===e&&(e=Ut),p(t).overflow=e),t}function xn(t,e,n){return null!=t?t:null!=e?e:n}function _n(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function wn(t){var e,n,i,a,r,o=[];if(!t._d){for(i=_n(t),t._w&&null==t._a[zt]&&null==t._a[Yt]&&kn(t),null!=t._dayOfYear&&(r=xn(t._a[Wt],i[Wt]),(t._dayOfYear>Gt(r)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),n=xe(r,0,t._dayOfYear),t._a[Yt]=n.getUTCMonth(),t._a[zt]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=o[e]=i[e];for(;e<7;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Et]&&0===t._a[Vt]&&0===t._a[Ht]&&0===t._a[Bt]&&(t._nextDay=!0,t._a[Et]=0),t._d=(t._useUTC?xe:ye).apply(null,o),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Et]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(p(t).weekdayMismatch=!0)}}function kn(t){var e,n,i,a,r,o,s,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)r=1,o=4,n=xn(e.GG,t._a[Wt],ke(Zn(),1,4).year),i=xn(e.W,1),((a=xn(e.E,1))<1||a>7)&&(l=!0);else{r=t._locale._week.dow,o=t._locale._week.doy;var u=ke(Zn(),r,o);n=xn(e.gg,t._a[Wt],u.year),i=xn(e.w,u.week),null!=e.d?((a=e.d)<0||a>6)&&(l=!0):null!=e.e?(a=e.e+r,(e.e<0||e.e>6)&&(l=!0)):a=r}i<1||i>Me(n,r,o)?p(t)._overflowWeeks=!0:null!=l?p(t)._overflowWeekday=!0:(s=we(n,i,a,r,o),t._a[Wt]=s.year,t._dayOfYear=s.dayOfYear)}var Mn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Sn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Dn=/Z|[+-]\d\d(?::?\d\d)?/,Cn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Pn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Tn=/^\/?Date\((\-?\d+)/i;function On(t){var e,n,i,a,r,o,s=t._i,l=Mn.exec(s)||Sn.exec(s);if(l){for(p(t).iso=!0,e=0,n=Cn.length;e0&&p(t).unusedInput.push(o),s=s.slice(s.indexOf(n)+n.length),u+=n.length),rt[r]?(n?p(t).empty=!1:p(t).unusedTokens.push(r),Nt(r,n,t)):t._strict&&!n&&p(t).unusedTokens.push(r);p(t).charsLeftOver=l-u,s.length>0&&p(t).unusedInput.push(s),t._a[Et]<=12&&!0===p(t).bigHour&&t._a[Et]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[Et]=Vn(t._locale,t._a[Et],t._meridiem),wn(t),yn(t)}else Yn(t);else On(t)}function Vn(t,e,n){var i;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?((i=t.isPM(n))&&e<12&&(e+=12),i||12!==e||(e=0),e):e}function Hn(t){var e,n,i,a,r;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(a=0;athis?this:t:b()}));function Jn(t,e){var n,i;if(1===e.length&&r(e[0])&&(e=e[0]),!e.length)return Zn();for(n=e[0],i=1;ithis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function xi(){if(!l(this._isDSTShifted))return this._isDSTShifted;var t={};if(x(t,this),(t=Un(t))._a){var e=t._isUTC?g(t._a):Zn(t._a);this._isDSTShifted=this.isValid()&&D(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function _i(){return!!this.isValid()&&!this._isUTC}function wi(){return!!this.isValid()&&this._isUTC}function ki(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var Mi=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Si=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Di(t,e){var n,i,a,r=t,o=null;return oi(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:u(t)?(r={},e?r[e]=t:r.milliseconds=t):(o=Mi.exec(t))?(n="-"===o[1]?-1:1,r={y:0,d:S(o[zt])*n,h:S(o[Et])*n,m:S(o[Vt])*n,s:S(o[Ht])*n,ms:S(si(1e3*o[Bt]))*n}):(o=Si.exec(t))?(n="-"===o[1]?-1:1,r={y:Ci(o[2],n),M:Ci(o[3],n),w:Ci(o[4],n),d:Ci(o[5],n),h:Ci(o[6],n),m:Ci(o[7],n),s:Ci(o[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(a=Ti(Zn(r.from),Zn(r.to)),(r={}).ms=a.milliseconds,r.M=a.months),i=new ri(r),oi(t)&&c(t,"_locale")&&(i._locale=t._locale),i}function Ci(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Pi(t,e){var n={};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Ti(t,e){var n;return t.isValid()&&e.isValid()?(e=hi(e,t),t.isBefore(e)?n=Pi(t,e):((n=Pi(e,t)).milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Oi(t,e){return function(n,i){var a;return null===i||isNaN(+i)||(A(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),a=n,n=i,i=a),Ai(this,Di(n="string"==typeof n?+n:n,i),t),this}}function Ai(t,e,n,a){var r=e._milliseconds,o=si(e._days),s=si(e._months);t.isValid()&&(a=null==a||a,s&&he(t,Kt(t,"Month")+s*n),o&&Qt(t,"Date",Kt(t,"Date")+o*n),r&&t._d.setTime(t._d.valueOf()+r*n),a&&i.updateOffset(t,o||s))}Di.fn=ri.prototype,Di.invalid=ai;var Fi=Oi(1,"add"),Ii=Oi(-1,"subtract");function Li(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Ri(t,e){var n=t||Zn(),a=hi(n,this).startOf("day"),r=i.calendarFormat(this,a)||"sameElse",o=e&&(F(e[r])?e[r].call(this,n):e[r]);return this.format(o||this.localeData().calendar(r,this,Zn(n)))}function Ni(){return new w(this)}function Wi(t,e){var n=k(t)?t:Zn(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=X(e)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()9999?ut(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):F(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",ut(n,"Z")):ut(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function qi(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a="-MM-DD[T]HH:mm:ss.SSS",r=e+'[")]';return this.format(n+i+a+r)}function Zi(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=ut(this,t);return this.localeData().postformat(e)}function $i(t,e){return this.isValid()&&(k(t)&&t.isValid()||Zn(t).isValid())?Di({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function Xi(t){return this.from(Zn(),t)}function Ji(t,e){return this.isValid()&&(k(t)&&t.isValid()||Zn(t).isValid())?Di({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function Ki(t){return this.to(Zn(),t)}function Qi(t){var e;return void 0===t?this._locale._abbr:(null!=(e=vn(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var ta=P("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function ea(){return this._locale}var na=1e3,ia=60*na,aa=60*ia,ra=3506328*aa;function oa(t,e){return(t%e+e)%e}function sa(t,e,n){return t<100&&t>=0?new Date(t+400,e,n)-ra:new Date(t,e,n).valueOf()}function la(t,e,n){return t<100&&t>=0?Date.UTC(t+400,e,n)-ra:Date.UTC(t,e,n)}function ua(t){var e;if(void 0===(t=X(t))||"millisecond"===t||!this.isValid())return this;var n=this._isUTC?la:sa;switch(t){case"year":e=n(this.year(),0,1);break;case"quarter":e=n(this.year(),this.month()-this.month()%3,1);break;case"month":e=n(this.year(),this.month(),1);break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=n(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=oa(e+(this._isUTC?0:this.utcOffset()*ia),aa);break;case"minute":e=this._d.valueOf(),e-=oa(e,ia);break;case"second":e=this._d.valueOf(),e-=oa(e,na)}return this._d.setTime(e),i.updateOffset(this,!0),this}function da(t){var e;if(void 0===(t=X(t))||"millisecond"===t||!this.isValid())return this;var n=this._isUTC?la:sa;switch(t){case"year":e=n(this.year()+1,0,1)-1;break;case"quarter":e=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=n(this.year(),this.month()+1,1)-1;break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=aa-oa(e+(this._isUTC?0:this.utcOffset()*ia),aa)-1;break;case"minute":e=this._d.valueOf(),e+=ia-oa(e,ia)-1;break;case"second":e=this._d.valueOf(),e+=na-oa(e,na)-1}return this._d.setTime(e),i.updateOffset(this,!0),this}function ha(){return this._d.valueOf()-6e4*(this._offset||0)}function ca(){return Math.floor(this.valueOf()/1e3)}function fa(){return new Date(this.valueOf())}function ga(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function ma(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function pa(){return this.isValid()?this.toISOString():null}function va(){return v(this)}function ba(){return f({},p(this))}function ya(){return p(this).overflow}function xa(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function _a(t,e){ot(0,[t,t.length],0,e)}function wa(t){return Da.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function ka(t){return Da.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Ma(){return Me(this.year(),1,4)}function Sa(){var t=this.localeData()._week;return Me(this.year(),t.dow,t.doy)}function Da(t,e,n,i,a){var r;return null==t?ke(this,i,a).year:(e>(r=Me(t,i,a))&&(e=r),Ca.call(this,t,e,n,i,a))}function Ca(t,e,n,i,a){var r=we(t,e,n,i,a),o=xe(r.year,0,r.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function Pa(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}ot(0,["gg",2],0,(function(){return this.weekYear()%100})),ot(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),_a("gggg","weekYear"),_a("ggggg","weekYear"),_a("GGGG","isoWeekYear"),_a("GGGGG","isoWeekYear"),$("weekYear","gg"),$("isoWeekYear","GG"),Q("weekYear",1),Q("isoWeekYear",1),Tt("G",kt),Tt("g",kt),Tt("GG",pt,ct),Tt("gg",pt,ct),Tt("GGGG",xt,gt),Tt("gggg",xt,gt),Tt("GGGGG",_t,mt),Tt("ggggg",_t,mt),Rt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,n,i){e[i.substr(0,2)]=S(t)})),Rt(["gg","GG"],(function(t,e,n,a){e[a]=i.parseTwoDigitYear(t)})),ot("Q",0,"Qo","quarter"),$("quarter","Q"),Q("quarter",7),Tt("Q",ht),Lt("Q",(function(t,e){e[Yt]=3*(S(t)-1)})),ot("D",["DD",2],"Do","date"),$("date","D"),Q("date",9),Tt("D",pt),Tt("DD",pt,ct),Tt("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),Lt(["D","DD"],zt),Lt("Do",(function(t,e){e[zt]=S(t.match(pt)[0])}));var Ta=Jt("Date",!0);function Oa(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}ot("DDD",["DDDD",3],"DDDo","dayOfYear"),$("dayOfYear","DDD"),Q("dayOfYear",4),Tt("DDD",yt),Tt("DDDD",ft),Lt(["DDD","DDDD"],(function(t,e,n){n._dayOfYear=S(t)})),ot("m",["mm",2],0,"minute"),$("minute","m"),Q("minute",14),Tt("m",pt),Tt("mm",pt,ct),Lt(["m","mm"],Vt);var Aa=Jt("Minutes",!1);ot("s",["ss",2],0,"second"),$("second","s"),Q("second",15),Tt("s",pt),Tt("ss",pt,ct),Lt(["s","ss"],Ht);var Fa,Ia=Jt("Seconds",!1);for(ot("S",0,0,(function(){return~~(this.millisecond()/100)})),ot(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),ot(0,["SSS",3],0,"millisecond"),ot(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),ot(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),ot(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),ot(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),ot(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),ot(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),$("millisecond","ms"),Q("millisecond",16),Tt("S",yt,ht),Tt("SS",yt,ct),Tt("SSS",yt,ft),Fa="SSSS";Fa.length<=9;Fa+="S")Tt(Fa,wt);function La(t,e){e[Bt]=S(1e3*("0."+t))}for(Fa="S";Fa.length<=9;Fa+="S")Lt(Fa,La);var Ra=Jt("Milliseconds",!1);function Na(){return this._isUTC?"UTC":""}function Wa(){return this._isUTC?"Coordinated Universal Time":""}ot("z",0,0,"zoneAbbr"),ot("zz",0,0,"zoneName");var Ya=w.prototype;function za(t){return Zn(1e3*t)}function Ea(){return Zn.apply(null,arguments).parseZone()}function Va(t){return t}Ya.add=Fi,Ya.calendar=Ri,Ya.clone=Ni,Ya.diff=Bi,Ya.endOf=da,Ya.format=Zi,Ya.from=$i,Ya.fromNow=Xi,Ya.to=Ji,Ya.toNow=Ki,Ya.get=te,Ya.invalidAt=ya,Ya.isAfter=Wi,Ya.isBefore=Yi,Ya.isBetween=zi,Ya.isSame=Ei,Ya.isSameOrAfter=Vi,Ya.isSameOrBefore=Hi,Ya.isValid=va,Ya.lang=ta,Ya.locale=Qi,Ya.localeData=ea,Ya.max=Xn,Ya.min=$n,Ya.parsingFlags=ba,Ya.set=ee,Ya.startOf=ua,Ya.subtract=Ii,Ya.toArray=ga,Ya.toObject=ma,Ya.toDate=fa,Ya.toISOString=Gi,Ya.inspect=qi,Ya.toJSON=pa,Ya.toString=Ui,Ya.unix=ca,Ya.valueOf=ha,Ya.creationData=xa,Ya.year=$t,Ya.isLeapYear=Xt,Ya.weekYear=wa,Ya.isoWeekYear=ka,Ya.quarter=Ya.quarters=Pa,Ya.month=ce,Ya.daysInMonth=fe,Ya.week=Ya.weeks=Te,Ya.isoWeek=Ya.isoWeeks=Oe,Ya.weeksInYear=Sa,Ya.isoWeeksInYear=Ma,Ya.date=Ta,Ya.day=Ya.days=He,Ya.weekday=Be,Ya.isoWeekday=je,Ya.dayOfYear=Oa,Ya.hour=Ya.hours=sn,Ya.minute=Ya.minutes=Aa,Ya.second=Ya.seconds=Ia,Ya.millisecond=Ya.milliseconds=Ra,Ya.utcOffset=fi,Ya.utc=mi,Ya.local=pi,Ya.parseZone=vi,Ya.hasAlignedHourOffset=bi,Ya.isDST=yi,Ya.isLocal=_i,Ya.isUtcOffset=wi,Ya.isUtc=ki,Ya.isUTC=ki,Ya.zoneAbbr=Na,Ya.zoneName=Wa,Ya.dates=P("dates accessor is deprecated. Use date instead.",Ta),Ya.months=P("months accessor is deprecated. Use month instead",ce),Ya.years=P("years accessor is deprecated. Use year instead",$t),Ya.zone=P("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",gi),Ya.isDSTShifted=P("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",xi);var Ha=R.prototype;function Ba(t,e,n,i){var a=vn(),r=g().set(i,e);return a[n](r,t)}function ja(t,e,n){if(u(t)&&(e=t,t=void 0),t=t||"",null!=e)return Ba(t,e,n,"month");var i,a=[];for(i=0;i<12;i++)a[i]=Ba(t,i,n,"month");return a}function Ua(t,e,n,i){"boolean"==typeof t?(u(e)&&(n=e,e=void 0),e=e||""):(n=e=t,t=!1,u(e)&&(n=e,e=void 0),e=e||"");var a,r=vn(),o=t?r._week.dow:0;if(null!=n)return Ba(e,(n+o)%7,i,"day");var s=[];for(a=0;a<7;a++)s[a]=Ba(e,(a+o)%7,i,"day");return s}function Ga(t,e){return ja(t,e,"months")}function qa(t,e){return ja(t,e,"monthsShort")}function Za(t,e,n){return Ua(t,e,n,"weekdays")}function $a(t,e,n){return Ua(t,e,n,"weekdaysShort")}function Xa(t,e,n){return Ua(t,e,n,"weekdaysMin")}Ha.calendar=W,Ha.longDateFormat=z,Ha.invalidDate=V,Ha.ordinal=j,Ha.preparse=Va,Ha.postformat=Va,Ha.relativeTime=G,Ha.pastFuture=q,Ha.set=I,Ha.months=oe,Ha.monthsShort=le,Ha.monthsParse=de,Ha.monthsRegex=ve,Ha.monthsShortRegex=me,Ha.week=Se,Ha.firstDayOfYear=Pe,Ha.firstDayOfWeek=Ce,Ha.weekdays=Re,Ha.weekdaysMin=ze,Ha.weekdaysShort=We,Ha.weekdaysParse=Ve,Ha.weekdaysRegex=Ge,Ha.weekdaysShortRegex=Ze,Ha.weekdaysMinRegex=Xe,Ha.isPM=nn,Ha.meridiem=rn,gn("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===S(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=P("moment.lang is deprecated. Use moment.locale instead.",gn),i.langData=P("moment.langData is deprecated. Use moment.localeData instead.",vn);var Ja=Math.abs;function Ka(){var t=this._data;return this._milliseconds=Ja(this._milliseconds),this._days=Ja(this._days),this._months=Ja(this._months),t.milliseconds=Ja(t.milliseconds),t.seconds=Ja(t.seconds),t.minutes=Ja(t.minutes),t.hours=Ja(t.hours),t.months=Ja(t.months),t.years=Ja(t.years),this}function Qa(t,e,n,i){var a=Di(e,n);return t._milliseconds+=i*a._milliseconds,t._days+=i*a._days,t._months+=i*a._months,t._bubble()}function tr(t,e){return Qa(this,t,e,1)}function er(t,e){return Qa(this,t,e,-1)}function nr(t){return t<0?Math.floor(t):Math.ceil(t)}function ir(){var t,e,n,i,a,r=this._milliseconds,o=this._days,s=this._months,l=this._data;return r>=0&&o>=0&&s>=0||r<=0&&o<=0&&s<=0||(r+=864e5*nr(rr(s)+o),o=0,s=0),l.milliseconds=r%1e3,t=M(r/1e3),l.seconds=t%60,e=M(t/60),l.minutes=e%60,n=M(e/60),l.hours=n%24,o+=M(n/24),s+=a=M(ar(o)),o-=nr(rr(a)),i=M(s/12),s%=12,l.days=o,l.months=s,l.years=i,this}function ar(t){return 4800*t/146097}function rr(t){return 146097*t/4800}function or(t){if(!this.isValid())return NaN;var e,n,i=this._milliseconds;if("month"===(t=X(t))||"quarter"===t||"year"===t)switch(e=this._days+i/864e5,n=this._months+ar(e),t){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(e=this._days+Math.round(rr(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}}function sr(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*S(this._months/12):NaN}function lr(t){return function(){return this.as(t)}}var ur=lr("ms"),dr=lr("s"),hr=lr("m"),cr=lr("h"),fr=lr("d"),gr=lr("w"),mr=lr("M"),pr=lr("Q"),vr=lr("y");function br(){return Di(this)}function yr(t){return t=X(t),this.isValid()?this[t+"s"]():NaN}function xr(t){return function(){return this.isValid()?this._data[t]:NaN}}var _r=xr("milliseconds"),wr=xr("seconds"),kr=xr("minutes"),Mr=xr("hours"),Sr=xr("days"),Dr=xr("months"),Cr=xr("years");function Pr(){return M(this.days()/7)}var Tr=Math.round,Or={ss:44,s:45,m:45,h:22,d:26,M:11};function Ar(t,e,n,i,a){return a.relativeTime(e||1,!!n,t,i)}function Fr(t,e,n){var i=Di(t).abs(),a=Tr(i.as("s")),r=Tr(i.as("m")),o=Tr(i.as("h")),s=Tr(i.as("d")),l=Tr(i.as("M")),u=Tr(i.as("y")),d=a<=Or.ss&&["s",a]||a0,d[4]=n,Ar.apply(null,d)}function Ir(t){return void 0===t?Tr:"function"==typeof t&&(Tr=t,!0)}function Lr(t,e){return void 0!==Or[t]&&(void 0===e?Or[t]:(Or[t]=e,"s"===t&&(Or.ss=e-1),!0))}function Rr(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=Fr(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}var Nr=Math.abs;function Wr(t){return(t>0)-(t<0)||+t}function Yr(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=Nr(this._milliseconds)/1e3,i=Nr(this._days),a=Nr(this._months);t=M(n/60),e=M(t/60),n%=60,t%=60;var r=M(a/12),o=a%=12,s=i,l=e,u=t,d=n?n.toFixed(3).replace(/\.?0+$/,""):"",h=this.asSeconds();if(!h)return"P0D";var c=h<0?"-":"",f=Wr(this._months)!==Wr(h)?"-":"",g=Wr(this._days)!==Wr(h)?"-":"",m=Wr(this._milliseconds)!==Wr(h)?"-":"";return c+"P"+(r?f+r+"Y":"")+(o?f+o+"M":"")+(s?g+s+"D":"")+(l||u||d?"T":"")+(l?m+l+"H":"")+(u?m+u+"M":"")+(d?m+d+"S":"")}var zr=ri.prototype;return zr.isValid=ii,zr.abs=Ka,zr.add=tr,zr.subtract=er,zr.as=or,zr.asMilliseconds=ur,zr.asSeconds=dr,zr.asMinutes=hr,zr.asHours=cr,zr.asDays=fr,zr.asWeeks=gr,zr.asMonths=mr,zr.asQuarters=pr,zr.asYears=vr,zr.valueOf=sr,zr._bubble=ir,zr.clone=br,zr.get=yr,zr.milliseconds=_r,zr.seconds=wr,zr.minutes=kr,zr.hours=Mr,zr.days=Sr,zr.weeks=Pr,zr.months=Dr,zr.years=Cr,zr.humanize=Rr,zr.toISOString=Yr,zr.toString=Yr,zr.toJSON=Yr,zr.locale=Qi,zr.localeData=ea,zr.toIsoString=P("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Yr),zr.lang=ta,ot("X",0,0,"unix"),ot("x",0,0,"valueOf"),Tt("x",kt),Tt("X",Dt),Lt("X",(function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))})),Lt("x",(function(t,e,n){n._d=new Date(S(t))})),i.version="2.24.0",a(Zn),i.fn=Ya,i.min=Kn,i.max=Qn,i.now=ti,i.utc=g,i.unix=za,i.months=Ga,i.isDate=d,i.locale=gn,i.invalid=b,i.duration=Di,i.isMoment=k,i.weekdays=Za,i.parseZone=Ea,i.localeData=vn,i.isDuration=oi,i.monthsShort=qa,i.weekdaysMin=Xa,i.defineLocale=mn,i.updateLocale=pn,i.locales=bn,i.weekdaysShort=$a,i.normalizeUnits=X,i.relativeTimeRounding=Ir,i.relativeTimeThreshold=Lr,i.calendarFormat=Li,i.prototype=Ya,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,n("YuTi")(t))}}]); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~chartjs.c749992ca47ba67623b4.js.LICENSE.txt b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~chartjs.c749992ca47ba67623b4.js.LICENSE.txt deleted file mode 100644 index befe47f8cd..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~chartjs.c749992ca47ba67623b4.js.LICENSE.txt +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Chart.js v2.9.3 - * https://www.chartjs.org - * (c) 2019 Chart.js Contributors - * Released under the MIT License - */ diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~conns.2d8ba1925a9d128867eb.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~conns.2d8ba1925a9d128867eb.js deleted file mode 100644 index 6fd02db6ee..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~conns.2d8ba1925a9d128867eb.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{GTV5:function(e,t,n){"use strict";n.d(t,"d",(function(){return x})),n.d(t,"b",(function(){return I})),n.d(t,"a",(function(){return E})),n.d(t,"c",(function(){return T}));n("17x9");var r=n("q1tI"),o=n.n(r);function i(e){return function(t){return!!t.type&&t.type.tabsRole===e}}var u=i("Tab"),a=i("TabList"),s=i("TabPanel");function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=this.getTabsCount())){var n=this.props;(0,n.onSelect)(e,n.selectedIndex,t)}},l.getNextTab=function(e){for(var t=this.getTabsCount(),n=e+1;ne;)if(!C(this.getTab(t)))return t;return e},l.getFirstTab=function(){for(var e=this.getTabsCount(),t=0;t=0||(o[n]=e[n]);return o}(t,["children","className","disabledTabClassName","domRef","focus","forceRenderTabPanel","onSelect","selectedIndex","selectedTabClassName","selectedTabPanelClassName"]));return o.a.createElement("div",b({},i,{className:Object(v.a)(n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:function(t){e.node=t,r&&r(t)},"data-tabs":!0}),this.getChildren())},i}(r.Component);S.defaultProps={className:"react-tabs",focus:!1},S.propTypes={};var x=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).handleSelected=function(e,t,r){var o=n.props.onSelect,i=n.state.mode;if("function"!=typeof o||!1!==o(e,t,r)){var u={focus:"keydown"===r.type};1===i&&(u.selectedIndex=e),n.setState(u)}},n.state=r.copyPropsToState(n.props,{},t.defaultFocus),n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,r.getDerivedStateFromProps=function(e,t){return r.copyPropsToState(e,t)},r.getModeFromProps=function(e){return null===e.selectedIndex?1:0},r.copyPropsToState=function(e,t,n){void 0===n&&(n=!1);var o={focus:n,mode:r.getModeFromProps(e)};if(1===o.mode){var i=y(e.children)-1,u=null;u=null!=t.selectedIndex?Math.min(t.selectedIndex,i):e.defaultIndex||0,o.selectedIndex=u}return o},r.prototype.render=function(){var e=this.props,t=e.children,n=(e.defaultIndex,e.defaultFocus,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["children","defaultIndex","defaultFocus"])),r=this.state,i=r.focus,u=r.selectedIndex;return n.focus=i,n.onSelect=this.handleSelected,null!=u&&(n.selectedIndex=u),o.a.createElement(S,n,t)},r}(r.Component);function P(){return(P=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,["children","className"]);return o.a.createElement("ul",P({},r,{className:Object(v.a)(n),role:"tablist"}),t)},r}(r.Component);function O(){return(O=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(n,["children","className","disabled","disabledClassName","focus","id","panelId","selected","selectedClassName","tabIndex","tabRef"]);return o.a.createElement("li",O({},g,{className:Object(v.a)(i,(e={},e[d]=c,e[a]=u,e)),ref:function(e){t.node=e,p&&p(e)},role:"tab",id:s,"aria-selected":c?"true":"false","aria-disabled":u?"true":"false","aria-controls":l,tabIndex:f||(c?"0":null)}),r)},r}(r.Component);function B(){return(B=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(t,["children","className","forceRender","id","selected","selectedClassName","tabId"]);return o.a.createElement("div",B({},c,{className:Object(v.a)(r,(e={},e[s]=a,e)),role:"tabpanel",id:u,"aria-labelledby":l}),i||a?n:null)},r}(r.Component);T.defaultProps={className:"react-tabs__tab-panel",forceRender:!1,selectedClassName:"react-tabs__tab-panel--selected"},T.propTypes={},T.tabsRole="TabPanel"},JTJg:function(e,t,n){"use strict";var r=n("I+eb"),o=n("WjRb"),i=n("HYAF");r({target:"String",proto:!0,forced:!n("qxPZ")("includes")},{includes:function(e){return!!~String(i(this)).indexOf(o(e),arguments.length>1?arguments[1]:void 0)}})},KQm4:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n("a3WO");var o=n("BsWD");function i(e){return function(e){if(Array.isArray(e))return Object(r.a)(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Object(o.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},Rfxz:function(e,t,n){"use strict";var r=n("I+eb"),o=n("tycR").some,i=n("pkCn"),u=n("rkAj"),a=i("some"),s=u("some");r({target:"Array",proto:!0,forced:!a||!s},{some:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},TXJB:function(e,t,n){!function(e,t){"use strict";function n(e,t,n,r,o,i,u){try{var a=e[i](u),s=a.value}catch(e){return void n(e)}a.done?t(s):Promise.resolve(s).then(r,o)}function r(e){return function(){var t=this,r=arguments;return new Promise((function(o,i){var u=e.apply(t,r);function a(e){n(u,o,i,a,s,"next",e)}function s(e){n(u,o,i,a,s,"throw",e)}a(void 0)}))}}function o(){return(o=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function u(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var a={init:"init"},s=function(e){var t=e.value;return void 0===t?"":t},l=function(){return t.createElement(t.Fragment,null," ")},c={Cell:s,width:150,minWidth:0,maxWidth:Number.MAX_SAFE_INTEGER};function d(){for(var e=arguments.length,t=new Array(e),n=0;n(i="number"==typeof i?i:1/0)){var u=o;o=i,i=u}return e.filter((function(e){return t.some((function(t){var n=e.values[t];return n>=o&&n<=i}))}))};Se.autoRemove=function(e){return!e||"number"!=typeof e[0]&&"number"!=typeof e[1]};var xe=Object.freeze({__proto__:null,text:ge,exactText:ve,exactTextCase:he,includes:me,includesAll:ye,includesSome:be,includesValue:we,exact:Re,equals:Ce,between:Se});a.resetFilters="resetFilters",a.setFilter="setFilter",a.setAllFilters="setAllFilters";var Pe=function(e){e.stateReducers.push(Ie),e.useInstance.push(Oe)};function Ie(e,t,n,r){if(t.type===a.init)return o({filters:[]},e);if(t.type===a.resetFilters)return o({},e,{filters:r.initialState.filters||[]});if(t.type===a.setFilter){var i=t.columnId,u=t.filterValue,s=r.allColumns,l=r.filterTypes,c=s.find((function(e){return e.id===i}));if(!c)throw new Error("React-Table: Could not find a column with id: "+i);var d=F(c.filter,l||{},xe),f=e.filters.find((function(e){return e.id===i})),p=h(u,f&&f.value);return j(d.autoRemove,p,c)?o({},e,{filters:e.filters.filter((function(e){return e.id!==i}))}):o({},e,f?{filters:e.filters.map((function(e){return e.id===i?{id:i,value:p}:e}))}:{filters:[].concat(e.filters,[{id:i,value:p}])})}if(t.type===a.setAllFilters){var g=t.filters,v=r.allColumns,m=r.filterTypes;return o({},e,{filters:h(g,e.filters).filter((function(e){var t=v.find((function(t){return t.id===e.id}));return!j(F(t.filter,m||{},xe).autoRemove,e.value,t)}))})}}function Oe(e){var n=e.data,r=e.rows,o=e.flatRows,i=e.rowsById,u=e.allColumns,s=e.filterTypes,l=e.manualFilters,c=e.defaultCanFilter,d=void 0!==c&&c,f=e.disableFilters,p=e.state.filters,g=e.dispatch,v=e.autoResetFilters,h=void 0===v||v,y=t.useCallback((function(e,t){g({type:a.setFilter,columnId:e,filterValue:t})}),[g]),w=t.useCallback((function(e){g({type:a.setAllFilters,filters:e})}),[g]);u.forEach((function(e){var t=e.id,n=e.accessor,r=e.defaultCanFilter,o=e.disableFilters;e.canFilter=n?E(!0!==o&&void 0,!0!==f&&void 0,!0):E(r,d,!1),e.setFilter=function(t){return y(e.id,t)};var i=p.find((function(e){return e.id===t}));e.filterValue=i&&i.value}));var R=t.useMemo((function(){if(l||!p.length)return[r,o,i];var e=[],t={};return[function n(r,o){void 0===o&&(o=0);var i=r;return(i=p.reduce((function(e,t){var n=t.id,r=t.value,i=u.find((function(e){return e.id===n}));if(!i)return e;0===o&&(i.preFilteredRows=e);var a=F(i.filter,s||{},xe);return a?(i.filteredRows=a(e,[n],r),i.filteredRows):(console.warn("Could not find a valid 'column.filter' for column with the ID: "+i.id+"."),e)}),r)).forEach((function(r){e.push(r),t[r.id]=r,r.subRows&&(r.subRows=r.subRows&&r.subRows.length>0?n(r.subRows,o+1):r.subRows)})),i}(r),e,t]}),[l,p,r,o,i,u,s]),C=R[0],S=R[1],x=R[2];t.useMemo((function(){u.filter((function(e){return!p.find((function(t){return t.id===e.id}))})).forEach((function(e){e.preFilteredRows=C,e.filteredRows=C}))}),[C,p,u]);var P=m(h);b((function(){P()&&g({type:a.resetFilters})}),[g,l?null:n]),Object.assign(e,{preFilteredRows:r,preFilteredFlatRows:o,preFilteredRowsById:i,filteredRows:C,filteredFlatRows:S,filteredRowsById:x,rows:C,flatRows:S,rowsById:x,setFilter:y,setAllFilters:w})}Pe.pluginName="useFilters",a.resetGlobalFilter="resetGlobalFilter",a.setGlobalFilter="setGlobalFilter";var Ee=function(e){e.stateReducers.push(Be),e.useInstance.push(Te)};function Be(e,t,n,r){if(t.type===a.resetGlobalFilter)return o({},e,{globalFilter:r.initialState.globalFilter||void 0});if(t.type===a.setGlobalFilter){var u=t.filterValue,s=r.userFilterTypes,l=F(r.globalFilter,s||{},xe),c=h(u,e.globalFilter);return j(l.autoRemove,c)?(e.globalFilter,i(e,["globalFilter"])):o({},e,{globalFilter:c})}}function Te(e){var n=e.data,r=e.rows,o=e.flatRows,i=e.rowsById,u=e.allColumns,s=e.filterTypes,l=e.globalFilter,c=e.manualGlobalFilter,d=e.state.globalFilter,f=e.dispatch,p=e.autoResetGlobalFilter,g=void 0===p||p,v=e.disableGlobalFilter,h=t.useCallback((function(e){f({type:a.setGlobalFilter,filterValue:e})}),[f]),y=t.useMemo((function(){if(c||void 0===d)return[r,o,i];var e=[],t={},n=F(l,s||{},xe);if(!n)return console.warn("Could not find a valid 'globalFilter' option."),r;u.forEach((function(e){var t=e.disableGlobalFilter;e.canFilter=E(!0!==t&&void 0,!0!==v&&void 0,!0)}));var a=u.filter((function(e){return!0===e.canFilter}));return[function r(o){return(o=n(o,a.map((function(e){return e.id})),d)).forEach((function(n){e.push(n),t[n.id]=n,n.subRows=n.subRows&&n.subRows.length?r(n.subRows):n.subRows})),o}(r),e,t]}),[c,d,l,s,u,r,o,i,v]),w=y[0],R=y[1],C=y[2],S=m(g);b((function(){S()&&f({type:a.resetGlobalFilter})}),[f,c?null:n]),Object.assign(e,{preGlobalFilteredRows:r,preGlobalFilteredFlatRows:o,preGlobalFilteredRowsById:i,globalFilteredRows:w,globalFilteredFlatRows:R,globalFilteredRowsById:C,rows:w,flatRows:R,rowsById:C,setGlobalFilter:h,disableGlobalFilter:v})}function ke(e,t){return t.reduce((function(e,t){return e+("number"==typeof t?t:0)}),0)}Ee.pluginName="useGlobalFilter";var Fe=Object.freeze({__proto__:null,sum:ke,min:function(e){var t=0;return e.forEach((function(e){"number"==typeof e&&(t=Math.min(t,e))})),t},max:function(e){var t=0;return e.forEach((function(e){"number"==typeof e&&(t=Math.max(t,e))})),t},minMax:function(e){var t=0,n=0;return e.forEach((function(e){"number"==typeof e&&(t=Math.min(t,e),n=Math.max(n,e))})),t+".."+n},average:function(e){return ke(0,e)/e.length},median:function(e){if(!e.length)return null;var t=Math.floor(e.length/2),n=[].concat(e).sort((function(e,t){return e-t}));return e.length%2!=0?n[t]:(n[t-1]+n[t])/2},unique:function(e){return Array.from(new Set(e).values())},uniqueCount:function(e){return new Set(e).size},count:function(e){return e.length}}),je=[],Ge={};a.resetGroupBy="resetGroupBy",a.setGroupBy="setGroupBy",a.toggleGroupBy="toggleGroupBy";var Ae=function(e){e.getGroupByToggleProps=[Ne],e.stateReducers.push(He),e.visibleColumnsDeps.push((function(e,t){var n=t.instance;return[].concat(e,[n.state.groupBy])})),e.visibleColumns.push(ze),e.useInstance.push(_e),e.prepareRow.push(Me)};Ae.pluginName="useGroupBy";var Ne=function(e,t){var n=t.header;return[e,{onClick:n.canGroupBy?function(e){e.persist(),n.toggleGroupBy()}:void 0,style:{cursor:n.canGroupBy?"pointer":void 0},title:"Toggle GroupBy"}]};function He(e,t,n,r){if(t.type===a.init)return o({groupBy:[]},e);if(t.type===a.resetGroupBy)return o({},e,{groupBy:r.initialState.groupBy||[]});if(t.type===a.setGroupBy)return o({},e,{groupBy:t.value});if(t.type===a.toggleGroupBy){var i=t.columnId,u=t.value,s=void 0!==u?u:!e.groupBy.includes(i);return o({},e,s?{groupBy:[].concat(e.groupBy,[i])}:{groupBy:e.groupBy.filter((function(e){return e!==i}))})}}function ze(e,t){var n=t.instance.state.groupBy,r=n.map((function(t){return e.find((function(e){return e.id===t}))})).filter(Boolean),o=e.filter((function(e){return!n.includes(e.id)}));return(e=[].concat(r,o)).forEach((function(e){e.isGrouped=n.includes(e.id),e.groupedIndex=n.indexOf(e.id)})),e}var We={};function _e(e){var n=e.data,r=e.rows,o=e.flatRows,i=e.rowsById,u=e.allColumns,s=e.flatHeaders,l=e.groupByFn,c=void 0===l?De:l,d=e.manualGroupBy,p=e.aggregations,g=void 0===p?We:p,h=e.plugins,y=e.state.groupBy,w=e.dispatch,R=e.autoResetGroupBy,C=void 0===R||R,S=e.disableGroupBy,x=e.defaultCanGroupBy,P=e.getHooks;v(h,["useColumnOrder","useFilters"],"useGroupBy");var I=m(e);u.forEach((function(t){var n=t.accessor,r=t.defaultGroupBy,o=t.disableGroupBy;t.canGroupBy=n?E(t.canGroupBy,!0!==o&&void 0,!0!==S&&void 0,!0):E(t.canGroupBy,r,x,!1),t.canGroupBy&&(t.toggleGroupBy=function(){return e.toggleGroupBy(t.id)}),t.Aggregated=t.Aggregated||t.Cell}));var O=t.useCallback((function(e,t){w({type:a.toggleGroupBy,columnId:e,value:t})}),[w]),B=t.useCallback((function(e){w({type:a.setGroupBy,value:e})}),[w]);s.forEach((function(e){e.getGroupByToggleProps=f(P().getGroupByToggleProps,{instance:I(),header:e})}));var k=t.useMemo((function(){if(d||!y.length)return[r,o,i,je,Ge,o,i];var e=y.filter((function(e){return u.find((function(t){return t.id===e}))})),t=[],n={},a=[],s={},l=[],f={},p=function r(o,i,d){if(void 0===i&&(i=0),i===e.length)return o;var p=e[i],v=c(o,p);return Object.entries(v).map((function(o,c){var v=o[0],h=o[1],m=p+":"+v,y=r(h,i+1,m=d?d+">"+m:m),b=i?T(h,"leafRows"):h,w=function(t,n,r){var o={};return u.forEach((function(i){if(e.includes(i.id))o[i.id]=n[0]?n[0].values[i.id]:null;else{var u=n.map((function(e){return e.values[i.id]})),a=t.map((function(e){var t=e.values[i.id];if(!r&&i.aggregateValue){var n="function"==typeof i.aggregateValue?i.aggregateValue:g[i.aggregateValue]||Fe[i.aggregateValue];if(!n)throw console.info({column:i}),new Error("React Table: Invalid column.aggregateValue option for column listed above");t=n(t,e,i)}return t})),s="function"==typeof i.aggregate?i.aggregate:g[i.aggregate]||Fe[i.aggregate];if(s)o[i.id]=s(a,u);else{if(i.aggregate)throw console.info({column:i}),new Error("React Table: Invalid column.aggregate option for column listed above");o[i.id]=null}}})),o}(b,h,i),R={id:m,isGrouped:!0,groupByID:p,groupByVal:v,values:w,subRows:y,leafRows:b,depth:i,index:c};return y.forEach((function(e){t.push(e),n[e.id]=e,e.isGrouped?(a.push(e),s[e.id]=e):(l.push(e),f[e.id]=e)})),R}))}(r);return p.forEach((function(e){t.push(e),n[e.id]=e,e.isGrouped?(a.push(e),s[e.id]=e):(l.push(e),f[e.id]=e)})),[p,t,n,a,s,l,f]}),[d,y,r,o,i,u,g,c]),F=k[0],j=k[1],G=k[2],A=k[3],N=k[4],H=k[5],z=k[6],W=m(C);b((function(){W()&&w({type:a.resetGroupBy})}),[w,d?null:n]),Object.assign(e,{preGroupedRows:r,preGroupedFlatRow:o,preGroupedRowsById:i,groupedRows:F,groupedFlatRows:j,groupedRowsById:G,onlyGroupedFlatRows:A,onlyGroupedRowsById:N,nonGroupedFlatRows:H,nonGroupedRowsById:z,rows:F,flatRows:j,rowsById:G,toggleGroupBy:O,setGroupBy:B})}function Me(e){e.allCells.forEach((function(t){var n;t.isGrouped=t.column.isGrouped&&t.column.id===e.groupByID,t.isPlaceholder=!t.isGrouped&&t.column.isGrouped,t.isAggregated=!t.isGrouped&&!t.isPlaceholder&&(null==(n=e.subRows)?void 0:n.length)}))}function De(e,t){return e.reduce((function(e,n,r){var o=""+n.values[t];return e[o]=Array.isArray(e[o])?e[o]:[],e[o].push(n),e}),{})}var Le=/([0-9]+)/gm;function Ve(e,t){return e===t?0:e>t?1:-1}function qe(e,t){return e.values[t]}function Xe(e){return"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}var Ke=Object.freeze({__proto__:null,alphanumeric:function(e,t,n){var r=qe(e,n),o=qe(t,n);for(r=Xe(r),o=Xe(o),r=r.split(Le).filter(Boolean),o=o.split(Le).filter(Boolean);r.length&&o.length;){var i=r.shift(),u=o.shift(),a=parseInt(i,10),s=parseInt(u,10),l=[a,s].sort();if(isNaN(l[0])){if(i>u)return 1;if(u>i)return-1}else{if(isNaN(l[1]))return isNaN(a)?-1:1;if(a>s)return 1;if(s>a)return-1}}return r.length-o.length},datetime:function(e,t,n){var r=qe(e,n),o=qe(t,n);return Ve(r=r.getTime(),o=o.getTime())},basic:function(e,t,n){return Ve(qe(e,n),qe(t,n))}});a.resetSortBy="resetSortBy",a.setSortBy="setSortBy",a.toggleSortBy="toggleSortBy",a.clearSortBy="clearSortBy",c.sortType="alphanumeric",c.sortDescFirst=!1;var Je=function(e){e.getSortByToggleProps=[Ue],e.stateReducers.push($e),e.useInstance.push(Ye)};Je.pluginName="useSortBy";var Ue=function(e,t){var n=t.instance,r=t.column,o=n.isMultiSortEvent,i=void 0===o?function(e){return e.shiftKey}:o;return[e,{onClick:r.canSort?function(e){e.persist(),r.toggleSortBy(void 0,!n.disableMultiSort&&i(e))}:void 0,style:{cursor:r.canSort?"pointer":void 0},title:r.canSort?"Toggle SortBy":void 0}]};function $e(e,t,n,r){if(t.type===a.init)return o({sortBy:[]},e);if(t.type===a.resetSortBy)return o({},e,{sortBy:r.initialState.sortBy||[]});if(t.type===a.clearSortBy)return o({},e,{sortBy:e.sortBy.filter((function(e){return e.id!==t.columnId}))});if(t.type===a.setSortBy)return o({},e,{sortBy:t.sortBy});if(t.type===a.toggleSortBy){var i,u=t.columnId,s=t.desc,l=t.multi,c=r.allColumns,d=r.disableMultiSort,f=r.disableSortRemove,p=r.disableMultiRemove,g=r.maxMultiSortColCount,v=void 0===g?Number.MAX_SAFE_INTEGER:g,h=e.sortBy,m=c.find((function(e){return e.id===u})).sortDescFirst,y=h.find((function(e){return e.id===u})),b=h.findIndex((function(e){return e.id===u})),w=null!=s,R=[];return"toggle"!=(i=!d&&l?y?"toggle":"add":b!==h.length-1||1!==h.length?"replace":y?"toggle":"replace")||f||w||l&&p||!(y&&y.desc&&!m||!y.desc&&m)||(i="remove"),"replace"===i?R=[{id:u,desc:w?s:m}]:"add"===i?(R=[].concat(h,[{id:u,desc:w?s:m}])).splice(0,R.length-v):"toggle"===i?R=h.map((function(e){return e.id===u?o({},e,{desc:w?s:!y.desc}):e})):"remove"===i&&(R=h.filter((function(e){return e.id!==u}))),o({},e,{sortBy:R})}}function Ye(e){var n=e.data,r=e.rows,o=e.flatRows,i=e.allColumns,u=e.orderByFn,s=void 0===u?Qe:u,l=e.sortTypes,c=e.manualSortBy,d=e.defaultCanSort,p=e.disableSortBy,g=e.flatHeaders,h=e.state.sortBy,y=e.dispatch,w=e.plugins,R=e.getHooks,C=e.autoResetSortBy,S=void 0===C||C;v(w,["useFilters","useGlobalFilter","useGroupBy","usePivotColumns"],"useSortBy");var x=t.useCallback((function(e){y({type:a.setSortBy,sortBy:e})}),[y]),P=t.useCallback((function(e,t,n){y({type:a.toggleSortBy,columnId:e,desc:t,multi:n})}),[y]),I=m(e);g.forEach((function(e){var t=e.accessor,n=e.canSort,r=e.disableSortBy,o=e.id,i=t?E(!0!==r&&void 0,!0!==p&&void 0,!0):E(d,n,!1);e.canSort=i,e.canSort&&(e.toggleSortBy=function(t,n){return P(e.id,t,n)},e.clearSortBy=function(){y({type:a.clearSortBy,columnId:e.id})}),e.getSortByToggleProps=f(R().getSortByToggleProps,{instance:I(),column:e});var u=h.find((function(e){return e.id===o}));e.isSorted=!!u,e.sortedIndex=h.findIndex((function(e){return e.id===o})),e.isSortedDesc=e.isSorted?u.desc:void 0}));var O=t.useMemo((function(){if(c||!h.length)return[r,o];var e=[],t=h.filter((function(e){return i.find((function(t){return t.id===e.id}))}));return[function n(r){var o=s(r,t.map((function(e){var t=i.find((function(t){return t.id===e.id}));if(!t)throw new Error("React-Table: Could not find a column with id: "+e.id+" while sorting");var n=t.sortType,r=B(n)||(l||{})[n]||Ke[n];if(!r)throw new Error("React-Table: Could not find a valid sortType of '"+n+"' for column '"+e.id+"'.");return function(t,n){return r(t,n,e.id,e.desc)}})),t.map((function(e){var t=i.find((function(t){return t.id===e.id}));return t&&t.sortInverted?e.desc:!e.desc})));return o.forEach((function(t){e.push(t),t.subRows&&(1!==t.subRows.length?t.subRows=n(t.subRows):e.push(t.subRows[0]))})),o}(r),e]}),[c,h,r,o,i,s,l]),T=O[0],k=O[1],F=m(S);b((function(){F()&&y({type:a.resetSortBy})}),[c?null:n]),Object.assign(e,{preSortedRows:r,preSortedFlatRows:o,sortedRows:T,sortedFlatRows:k,rows:T,flatRows:k,setSortBy:x,toggleSortBy:P})}function Qe(e,t,n){return[].concat(e).sort((function(e,r){for(var o=0;oe.pageIndex?l=-1===i?u.length>=e.pageSize:s<=i:s-1),l?o({},e,{pageIndex:s}):e}if(t.type===a.setPageSize){var c=t.pageSize,d=e.pageSize*e.pageIndex;return o({},e,{pageIndex:Math.floor(d/c),pageSize:c})}}function tt(e){var n=e.rows,r=e.autoResetPage,o=void 0===r||r,i=e.manualExpandedKey,u=void 0===i?"expanded":i,s=e.plugins,l=e.pageCount,c=e.paginateExpandedRows,d=void 0===c||c,f=e.expandSubRows,p=void 0===f||f,g=e.state,h=g.pageSize,y=g.pageIndex,w=g.expanded,R=g.globalFilter,C=g.filters,S=g.groupBy,x=g.sortBy,P=e.dispatch,I=e.data,O=e.manualPagination;v(s,["useGlobalFilter","useFilters","useGroupBy","useSortBy","useExpanded"],"usePagination");var E=m(o);b((function(){E()&&P({type:a.resetPage})}),[P,O?null:I,R,C,S,x]);var B=O?l:Math.ceil(n.length/h),T=t.useMemo((function(){return B>0?[].concat(new Array(B)).fill(null).map((function(e,t){return t})):[]}),[B]),F=t.useMemo((function(){var e;if(O)e=n;else{var t=h*y,r=t+h;e=n.slice(t,r)}return d?e:k(e,{manualExpandedKey:u,expanded:w,expandSubRows:p})}),[p,w,u,O,y,h,d,n]),j=y>0,G=-1===B?F.length>=h:y-1&&i.push(o.splice(t,1)[0])};o.length&&r.length;)u();return[].concat(i,o)}function kt(e){var n=e.dispatch;e.setColumnOrder=t.useCallback((function(e){return n({type:a.setColumnOrder,columnOrder:e})}),[n])}Et.pluginName="useColumnOrder",c.canResize=!0,a.columnStartResizing="columnStartResizing",a.columnResizing="columnResizing",a.columnDoneResizing="columnDoneResizing",a.resetResize="resetResize";var Ft=function(e){e.getResizerProps=[jt],e.getHeaderProps.push({style:{position:"relative"}}),e.stateReducers.push(Gt),e.useInstance.push(Nt),e.useInstanceBeforeDimensions.push(At)},jt=function(e,t){var n=t.instance,r=t.header,o=n.dispatch,i=function(e,t){var n=!1;if("touchstart"===e.type){if(e.touches&&e.touches.length>1)return;n=!0}var r=function(e){var t=[];return function e(n){n.columns&&n.columns.length&&n.columns.map(e),t.push(n)}(e),t}(t).map((function(e){return[e.id,e.totalWidth]})),i=n?Math.round(e.touches[0].clientX):e.clientX,u=function(e){o({type:a.columnResizing,clientX:e})},s=function(){return o({type:a.columnDoneResizing})},l={mouse:{moveEvent:"mousemove",moveHandler:function(e){return u(e.clientX)},upEvent:"mouseup",upHandler:function(e){document.removeEventListener("mousemove",l.mouse.moveHandler),document.removeEventListener("mouseup",l.mouse.upHandler),s()}},touch:{moveEvent:"touchmove",moveHandler:function(e){return e.cancelable&&(e.preventDefault(),e.stopPropagation()),u(e.touches[0].clientX),!1},upEvent:"touchend",upHandler:function(e){document.removeEventListener(l.touch.moveEvent,l.touch.moveHandler),document.removeEventListener(l.touch.upEvent,l.touch.moveHandler),s()}}},c=n?l.touch:l.mouse,d=!!function(){if("boolean"==typeof A)return A;var e=!1;try{var t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(t){e=!1}return A=e}()&&{passive:!1};document.addEventListener(c.moveEvent,c.moveHandler,d),document.addEventListener(c.upEvent,c.upHandler,d),o({type:a.columnStartResizing,columnId:t.id,columnWidth:t.totalWidth,headerIdWidths:r,clientX:i})};return[e,{onMouseDown:function(e){return e.persist()||i(e,r)},onTouchStart:function(e){return e.persist()||i(e,r)},style:{cursor:"ew-resize"},draggable:!1,role:"separator"}]};function Gt(e,t){if(t.type===a.init)return o({columnResizing:{columnWidths:{}}},e);if(t.type===a.resetResize)return o({},e,{columnResizing:{columnWidths:{}}});if(t.type===a.columnStartResizing){var n=t.clientX,r=t.columnId,i=t.columnWidth,u=t.headerIdWidths;return o({},e,{columnResizing:o({},e.columnResizing,{startX:n,headerIdWidths:u,columnWidth:i,isResizingColumn:r})})}if(t.type===a.columnResizing){var s=t.clientX,l=e.columnResizing,c=l.startX,d=l.columnWidth,f=l.headerIdWidths,p=(s-c)/d,g={};return f.forEach((function(e){var t=e[0],n=e[1];g[t]=Math.max(n+n*p,0)})),o({},e,{columnResizing:o({},e.columnResizing,{columnWidths:o({},e.columnResizing.columnWidths,{},g)})})}return t.type===a.columnDoneResizing?o({},e,{columnResizing:o({},e.columnResizing,{startX:null,isResizingColumn:null})}):void 0}Ft.pluginName="useResizeColumns";var At=function(e){var t=e.flatHeaders,n=e.disableResizing,r=e.getHooks,o=e.state.columnResizing,i=m(e);t.forEach((function(e){var t=E(!0!==e.disableResizing&&void 0,!0!==n&&void 0,!0);e.canResize=t,e.width=o.columnWidths[e.id]||e.originalWidth||e.width,e.isResizing=o.isResizingColumn===e.id,t&&(e.getResizerProps=f(r().getResizerProps,{instance:i(),header:e}))}))};function Nt(e){var n=e.plugins,r=e.dispatch,o=e.autoResetResize,i=void 0===o||o,u=e.columns;v(n,["useAbsoluteLayout"],"useResizeColumns");var s=m(i);b((function(){s()&&r({type:a.resetResize})}),[u]);var l=t.useCallback((function(){return r({type:a.resetResize})}),[r]);Object.assign(e,{resetResizing:l})}var Ht={position:"absolute",top:0},zt=function(e){e.getTableBodyProps.push(Wt),e.getRowProps.push(Wt),e.getHeaderGroupProps.push(Wt),e.getFooterGroupProps.push(Wt),e.getHeaderProps.push((function(e,t){var n=t.column;return[e,{style:o({},Ht,{left:n.totalLeft+"px",width:n.totalWidth+"px"})}]})),e.getCellProps.push((function(e,t){var n=t.cell;return[e,{style:o({},Ht,{left:n.column.totalLeft+"px",width:n.column.totalWidth+"px"})}]})),e.getFooterProps.push((function(e,t){var n=t.column;return[e,{style:o({},Ht,{left:n.totalLeft+"px",width:n.totalWidth+"px"})}]}))};zt.pluginName="useAbsoluteLayout";var Wt=function(e,t){return[e,{style:{position:"relative",width:t.instance.totalColumnsWidth+"px"}}]},_t={display:"inline-block",boxSizing:"border-box"},Mt=function(e,t){return[e,{style:{display:"flex",width:t.instance.totalColumnsWidth+"px"}}]},Dt=function(e){e.getRowProps.push(Mt),e.getHeaderGroupProps.push(Mt),e.getFooterGroupProps.push(Mt),e.getHeaderProps.push((function(e,t){var n=t.column;return[e,{style:o({},_t,{width:n.totalWidth+"px"})}]})),e.getCellProps.push((function(e,t){var n=t.cell;return[e,{style:o({},_t,{width:n.column.totalWidth+"px"})}]})),e.getFooterProps.push((function(e,t){var n=t.column;return[e,{style:o({},_t,{width:n.totalWidth+"px"})}]}))};function Lt(e){e.getTableProps.push(Vt),e.getRowProps.push(qt),e.getHeaderGroupProps.push(qt),e.getFooterGroupProps.push(qt),e.getHeaderProps.push(Xt),e.getCellProps.push(Kt),e.getFooterProps.push(Jt)}Dt.pluginName="useBlockLayout",Lt.pluginName="useFlexLayout";var Vt=function(e,t){return[e,{style:{minWidth:t.instance.totalColumnsWidth+"px"}}]},qt=function(e,t){return[e,{style:{display:"flex",flex:"1 0 auto",minWidth:t.instance.totalColumnsMinWidth+"px"}}]},Xt=function(e,t){var n=t.column;return[e,{style:{boxSizing:"border-box",flex:n.totalFlexWidth?n.totalFlexWidth+" 0 auto":void 0,minWidth:n.totalMinWidth+"px",width:n.totalWidth+"px"}}]},Kt=function(e,t){var n=t.cell;return[e,{style:{boxSizing:"border-box",flex:n.column.totalFlexWidth+" 0 auto",minWidth:n.column.totalMinWidth+"px",width:n.column.totalWidth+"px"}}]},Jt=function(e,t){var n=t.column;return[e,{style:{boxSizing:"border-box",flex:n.totalFlexWidth?n.totalFlexWidth+" 0 auto":void 0,minWidth:n.totalMinWidth+"px",width:n.totalWidth+"px"}}]};e._UNSTABLE_usePivotColumns=nt,e.actions=a,e.defaultColumn=c,e.defaultGroupByFn=De,e.defaultOrderByFn=Qe,e.defaultRenderer=s,e.emptyRenderer=l,e.ensurePluginOrder=v,e.flexRender=R,e.functionalUpdate=h,e.loopHooks=g,e.makePropGetter=f,e.makeRenderer=w,e.reduceHooks=p,e.safeUseLayoutEffect=y,e.useAbsoluteLayout=zt,e.useAsyncDebounce=function(e,n){void 0===n&&(n=0);var o=t.useRef({}),i=m(e),u=m(n);return t.useCallback(function(){var e=r(regeneratorRuntime.mark((function e(){var t,n,a,s=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=s.length,n=new Array(t),a=0;a1?n-1:0),i=1;i=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=Object(r.forwardRef)((function(e,t){var n=e.color,r=void 0===n?"currentColor":n,i=e.size,u=void 0===i?24:i,l=s(e,["color","size"]);return o.a.createElement("svg",a({ref:t,xmlns:"http://www.w3.org/2000/svg",width:u,height:u,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},l),o.a.createElement("polygon",{points:"5 3 19 12 5 21 5 3"}))}));l.propTypes={color:u.a.string,size:u.a.oneOfType([u.a.string,u.a.number])},l.displayName="Play",t.a=l},dzOb:function(e,t,n){"use strict";var r=n("q1tI"),o=n.n(r),i=n("17x9"),u=n.n(i);function a(){return(a=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=Object(r.forwardRef)((function(e,t){var n=e.color,r=void 0===n?"currentColor":n,i=e.size,u=void 0===i?24:i,l=s(e,["color","size"]);return o.a.createElement("svg",a({ref:t,xmlns:"http://www.w3.org/2000/svg",width:u,height:u,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},l),o.a.createElement("rect",{x:"6",y:"4",width:"4",height:"16"}),o.a.createElement("rect",{x:"14",y:"4",width:"4",height:"16"}))}));l.propTypes={color:u.a.string,size:u.a.oneOfType([u.a.string,u.a.number])},l.displayName="Pause",t.a=l},j7o3:function(e,t,n){"use strict";var r=n("q1tI"),o=n.n(r),i=n("17x9"),u=n.n(i);function a(){return(a=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=Object(r.forwardRef)((function(e,t){var n=e.color,r=void 0===n?"currentColor":n,i=e.size,u=void 0===i?24:i,l=s(e,["color","size"]);return o.a.createElement("svg",a({ref:t,xmlns:"http://www.w3.org/2000/svg",width:u,height:u,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},l),o.a.createElement("polyline",{points:"6 9 12 15 18 9"}))}));l.propTypes={color:u.a.string,size:u.a.oneOfType([u.a.string,u.a.number])},l.displayName="ChevronDown",t.a=l},qxPZ:function(e,t,n){var r=n("tiKp")("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,"/./"[e](t)}catch(e){}}return!1}},wHH0:function(e,t,n){"use strict";var r=n("q1tI"),o=n.n(r),i=n("17x9"),u=n.n(i);function a(){return(a=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=Object(r.forwardRef)((function(e,t){var n=e.color,r=void 0===n?"currentColor":n,i=e.size,u=void 0===i?24:i,l=s(e,["color","size"]);return o.a.createElement("svg",a({ref:t,xmlns:"http://www.w3.org/2000/svg",width:u,height:u,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},l),o.a.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),o.a.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))}));l.propTypes={color:u.a.string,size:u.a.oneOfType([u.a.string,u.a.number])},l.displayName="X",t.a=l},x0AG:function(e,t,n){"use strict";var r=n("I+eb"),o=n("tycR").findIndex,i=n("RNIs"),u=n("rkAj"),a=!0,s=u("findIndex");"findIndex"in[]&&Array(1).findIndex((function(){a=!1})),r({target:"Array",proto:!0,forced:a||!s},{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("findIndex")},yq1k:function(e,t,n){"use strict";var r=n("I+eb"),o=n("TWQb").includes,i=n("RNIs");r({target:"Array",proto:!0,forced:!n("rkAj")("indexOf",{ACCESSORS:!0,1:0})},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("includes")}}]); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~conns~proxies~rules.99b1a71b3d76d3035e41.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~conns~proxies~rules.99b1a71b3d76d3035e41.js deleted file mode 100644 index 9a264407e0..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~conns~proxies~rules.99b1a71b3d76d3035e41.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{FVam:function(t,e,n){"use strict";function a(t,e){if(e.length1?"s":"")+" required, but only "+e.length+" present")}function r(t){a(1,arguments);var e=Object.prototype.toString.call(t);return t instanceof Date||"object"==typeof t&&"[object Date]"===e?new Date(t.getTime()):"number"==typeof t||"[object Number]"===e?new Date(t):("string"!=typeof t&&"[object String]"!==e||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn((new Error).stack)),new Date(NaN))}function i(t,e){a(2,arguments);var n=r(t),i=r(e),o=n.getTime()-i.getTime();return o<0?-1:o>0?1:o}function o(t,e){a(2,arguments);var n=r(t),i=r(e),o=n.getFullYear()-i.getFullYear(),u=n.getMonth()-i.getMonth();return 12*o+u}function u(t,e){a(2,arguments);var n=r(t),u=r(e),s=i(n,u),l=Math.abs(o(n,u));n.setMonth(n.getMonth()-s*l);var d=i(n,u)===-s,h=s*(l-d);return 0===h?0:h}function s(t,e){a(2,arguments);var n=r(t),i=r(e);return n.getTime()-i.getTime()}function l(t,e){a(2,arguments);var n=s(t,e)/1e3;return n>0?Math.floor(n):Math.ceil(n)}n.d(e,"a",(function(){return M}));var d={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function h(t){return function(e){var n=e||{},a=n.width?String(n.width):t.defaultWidth;return t.formats[a]||t.formats[t.defaultWidth]}}var m={date:h({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:h({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:h({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},c={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function f(t){return function(e,n){var a,r=n||{};if("formatting"===(r.context?String(r.context):"standalone")&&t.formattingValues){var i=t.defaultFormattingWidth||t.defaultWidth,o=r.width?String(r.width):i;a=t.formattingValues[o]||t.formattingValues[i]}else{var u=t.defaultWidth,s=r.width?String(r.width):t.defaultWidth;a=t.values[s]||t.values[u]}return a[t.argumentCallback?t.argumentCallback(e):e]}}function g(t){return function(e,n){var a=String(e),r=n||{},i=r.width,o=i&&t.matchPatterns[i]||t.matchPatterns[t.defaultMatchWidth],u=a.match(o);if(!u)return null;var s,l=u[0],d=i&&t.parsePatterns[i]||t.parsePatterns[t.defaultParseWidth];return s="[object Array]"===Object.prototype.toString.call(d)?function(t,e){for(var n=0;n0?"in "+a:a+" ago":a},formatLong:m,formatRelative:function(t,e,n,a){return c[t]},localize:{ordinalNumber:function(t,e){var n=Number(t),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:f({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:f({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(t){return Number(t)-1}}),month:f({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:f({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:f({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(b={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(t){return parseInt(t,10)}},function(t,e){var n=String(t),a=e||{},r=n.match(b.matchPattern);if(!r)return null;var i=r[0],o=n.match(b.parsePattern);if(!o)return null;var u=b.valueCallback?b.valueCallback(o[0]):o[0];return{value:u=a.valueCallback?a.valueCallback(u):u,rest:n.slice(i.length)}}),era:g({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:g({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:g({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:g({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:g({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function p(t){return function(t,e){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in e=e||{})e.hasOwnProperty(n)&&(t[n]=e[n]);return t}({},t)}function y(t){return t.getTime()%6e4}function w(t){var e=new Date(t.getTime()),n=Math.ceil(e.getTimezoneOffset());return e.setSeconds(0,0),6e4*n+(n>0?(6e4+y(e))%6e4:y(e))}function M(t,e,n){a(2,arguments);var o=n||{},s=o.locale||v;if(!s.formatDistance)throw new RangeError("locale must contain formatDistance property");var d=i(t,e);if(isNaN(d))throw new RangeError("Invalid time value");var h,m,c=p(o);c.addSuffix=Boolean(o.addSuffix),c.comparison=d,d>0?(h=r(e),m=r(t)):(h=r(t),m=r(e));var f,g=l(m,h),b=(w(m)-w(h))/1e3,y=Math.round((g-b)/60);if(y<2)return o.includeSeconds?g<5?s.formatDistance("lessThanXSeconds",5,c):g<10?s.formatDistance("lessThanXSeconds",10,c):g<20?s.formatDistance("lessThanXSeconds",20,c):g<40?s.formatDistance("halfAMinute",null,c):g<60?s.formatDistance("lessThanXMinutes",1,c):s.formatDistance("xMinutes",1,c):0===y?s.formatDistance("lessThanXMinutes",1,c):s.formatDistance("xMinutes",y,c);if(y<45)return s.formatDistance("xMinutes",y,c);if(y<90)return s.formatDistance("aboutXHours",1,c);if(y<1440){var M=Math.round(y/60);return s.formatDistance("aboutXHours",M,c)}if(y<2520)return s.formatDistance("xDays",1,c);if(y<43200){var S=Math.round(y/1440);return s.formatDistance("xDays",S,c)}if(y<86400)return f=Math.round(y/43200),s.formatDistance("aboutXMonths",f,c);if((f=u(m,h))<12){var D=Math.round(y/43200);return s.formatDistance("xMonths",D,c)}var W=f%12,P=Math.floor(f/12);return W<3?s.formatDistance("aboutXYears",P,c):W<9?s.formatDistance("overXYears",P,c):s.formatDistance("almostXYears",P+1,c)}},cq0i:function(t,e,n){"use strict";n.d(e,"a",(function(){return o})),n.d(e,"b",(function(){return l}));var a=n("q1tI"),r=n.n(a);function i(){return(i=Object.assign||function(t){for(var e=1;er.a.createElement("button",i({type:"button"},t,{className:"rtf--ab"}),t.children),u=t=>r.a.createElement("button",i({type:"button",className:"rtf--mb"},t),t.children),s={bottom:24,right:24},l=({event:t="hover",position:e=s,alwaysShowTitle:n=!1,children:i,icon:o,mainButtonStyles:l,onClick:d,text:h})=>{const[m,c]=Object(a.useState)(!1),f=n||!m,g=()=>c(!0),b=()=>c(!1);return r.a.createElement("ul",{onMouseEnter:()=>"hover"===t&&g(),onMouseLeave:()=>"hover"===t&&b(),className:"rtf "+(m?"open":"closed"),style:e},r.a.createElement("li",{className:"rtf--mb__c"},r.a.createElement(u,{onClick:e=>d?d(e):(e.persist(),"click"===t?m?b():g():null),style:l,role:"button","aria-label":"Floating menu",tabIndex:"0"},o),h&&r.a.createElement("span",{className:`${"right"in e?"right":""} ${n?"always-show":""}`,"aria-hidden":f},h),r.a.createElement("ul",null,r.a.Children.map(i,(t,a)=>t&&r.a.createElement("li",{className:"rtf--ab__c "+("top"in e?"top":"")},r.a.cloneElement(t,{"data-testid":"action-button-"+a,"aria-label":t.props.text||"Menu button "+(a+1),"aria-hidden":f,tabIndex:m?0:-1,...t.props,onClick:e=>((t,e)=>{t.persist(),c(!1),setTimeout(()=>{e(t)},1)})(e,t.props.onClick)}),t.props.text&&r.a.createElement("span",{className:`${"right"in e?"right":""} ${n?"always-show":""}`,"aria-hidden":f},t.props.text))))))}}}]); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~logs~rules.1b69c8ae2dc5929cac38.js b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~logs~rules.1b69c8ae2dc5929cac38.js deleted file mode 100644 index e5cc84a676..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/vendors~logs~rules.1b69c8ae2dc5929cac38.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{XqMk:function(t,e,r){"use strict";(function(t){var r="object"==typeof t&&t&&t.Object===Object&&t;e.a=r}).call(this,r("yLpj"))},hbEN:function(t,e,r){"use strict";var n=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},o=r("XqMk"),i="object"==typeof self&&self&&self.Object===Object&&self,a=o.a||i||Function("return this")(),l=function(){return a.Date.now()},s=a.Symbol,c=Object.prototype,u=c.hasOwnProperty,f=c.toString,d=s?s.toStringTag:void 0;var h=function(t){var e=u.call(t,d),r=t[d];try{t[d]=void 0;var n=!0}catch(t){}var o=f.call(t);return n&&(e?t[d]=r:delete t[d]),o},p=Object.prototype.toString;var m=function(t){return p.call(t)},v=s?s.toStringTag:void 0;var g=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":v&&v in Object(t)?h(t):m(t)};var S=function(t){return null!=t&&"object"==typeof t};var I=function(t){return"symbol"==typeof t||S(t)&&"[object Symbol]"==g(t)},y=/^\s+|\s+$/g,O=/^[-+]0x[0-9a-f]+$/i,b=/^0b[01]+$/i,_=/^0o[0-7]+$/i,M=parseInt;var x=function(t){if("number"==typeof t)return t;if(I(t))return NaN;if(n(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=n(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(y,"");var r=b.test(t);return r||_.test(t)?M(t.slice(2),r?2:8):O.test(t)?NaN:+t},w=Math.max,z=Math.min;e.a=function(t,e,r){var o,i,a,s,c,u,f=0,d=!1,h=!1,p=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function m(e){var r=o,n=i;return o=i=void 0,f=e,s=t.apply(n,r)}function v(t){return f=t,c=setTimeout(S,e),d?m(t):s}function g(t){var r=t-u;return void 0===u||r>=e||r<0||h&&t-f>=a}function S(){var t=l();if(g(t))return I(t);c=setTimeout(S,function(t){var r=e-(t-u);return h?z(r,a-(t-f)):r}(t))}function I(t){return c=void 0,p&&o?m(t):(o=i=void 0,s)}function y(){var t=l(),r=g(t);if(o=arguments,i=this,u=t,r){if(void 0===c)return v(u);if(h)return clearTimeout(c),c=setTimeout(S,e),m(u)}return void 0===c&&(c=setTimeout(S,e)),s}return e=x(e)||0,n(r)&&(d=!!r.leading,a=(h="maxWait"in r)?w(x(r.maxWait)||0,e):a,p="trailing"in r?!!r.trailing:p),y.cancel=function(){void 0!==c&&clearTimeout(c),f=0,o=u=i=c=void 0},y.flush=function(){return void 0===c?s:I(l())},y}},iR1w:function(t,e,r){"use strict";function n(){return(n=Object.assign||function(t){for(var e=1;e=0||(o[r]=t[r]);return o}var u="object"==typeof performance&&"function"==typeof performance.now?function(){return performance.now()}:function(){return Date.now()};function f(t){cancelAnimationFrame(t.id)}function d(t,e){var r=u();var n={id:requestAnimationFrame((function o(){u()-r>=e?t.call(null):n.id=requestAnimationFrame(o)}))};return n}var h=null;function p(t){if(void 0===t&&(t=!1),null===h||t){var e=document.createElement("div"),r=e.style;r.width="50px",r.height="50px",r.overflow="scroll",r.direction="rtl";var n=document.createElement("div"),o=n.style;return o.width="100px",o.height="100px",e.appendChild(n),document.body.appendChild(e),e.scrollLeft>0?h="positive-descending":(e.scrollLeft=1,h=0===e.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(e),h}return h}var m=function(t,e){return t};function v(t){var e,r,a=t.getItemOffset,c=t.getEstimatedTotalSize,u=t.getItemSize,h=t.getOffsetForIndexAndAlignment,v=t.getStartIndexForOffset,S=t.getStopIndexForStartIndex,I=t.initInstanceProps,y=t.shouldResetStyleCacheOnItemSizeChange,O=t.validateProps;return r=e=function(t){function e(e){var r;return(r=t.call(this,e)||this)._instanceProps=I(r.props,i(i(r))),r._outerRef=void 0,r._resetIsScrollingTimeoutId=null,r.state={instance:i(i(r)),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"==typeof r.props.initialScrollOffset?r.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},r._callOnItemsRendered=void 0,r._callOnItemsRendered=l((function(t,e,n,o){return r.props.onItemsRendered({overscanStartIndex:t,overscanStopIndex:e,visibleStartIndex:n,visibleStopIndex:o})})),r._callOnScroll=void 0,r._callOnScroll=l((function(t,e,n){return r.props.onScroll({scrollDirection:t,scrollOffset:e,scrollUpdateWasRequested:n})})),r._getItemStyle=void 0,r._getItemStyle=function(t){var e,n=r.props,o=n.direction,i=n.itemSize,l=n.layout,s=r._getItemStyleCache(y&&i,y&&l,y&&o);if(s.hasOwnProperty(t))e=s[t];else{var c,f=a(r.props,t,r._instanceProps),d=u(r.props,t,r._instanceProps),h="horizontal"===o||"horizontal"===l;s[t]=((c={position:"absolute"})["rtl"===o?"right":"left"]=h?f:0,c.top=h?0:f,c.height=h?"100%":d,c.width=h?d:"100%",e=c)}return e},r._getItemStyleCache=void 0,r._getItemStyleCache=l((function(t,e,r){return{}})),r._onScrollHorizontal=function(t){var e=t.currentTarget,n=e.clientWidth,o=e.scrollLeft,i=e.scrollWidth;r.setState((function(t){if(t.scrollOffset===o)return null;var e=r.props.direction,a=o;if("rtl"===e)switch(p()){case"negative":a=-o;break;case"positive-descending":a=i-n-o}return a=Math.max(0,Math.min(a,i-n)),{isScrolling:!0,scrollDirection:t.scrollOffset0)for(var R=w;R<=z;R++)T.push(Object(s.createElement)(e,{data:d,key:p(R,d),index:R,isScrolling:y?b:void 0,style:this._getItemStyle(R)}));var C=c(this.props,this._instanceProps);return Object(s.createElement)(g||S||"div",{className:r,onScroll:M,ref:this._outerRefSetter,style:n({position:"relative",height:i,width:O,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:o},I)},Object(s.createElement)(l||u||"div",{children:T,ref:a,style:{height:_?"100%":C,pointerEvents:b?"none":void 0,width:_?C:"100%"}}))},r._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var t=this._getRangeToRender(),e=t[0],r=t[1],n=t[2],o=t[3];this._callOnItemsRendered(e,r,n,o)}if("function"==typeof this.props.onScroll){var i=this.state,a=i.scrollDirection,l=i.scrollOffset,s=i.scrollUpdateWasRequested;this._callOnScroll(a,l,s)}},r._getRangeToRender=function(){var t=this.props,e=t.itemCount,r=t.overscanCount,n=this.state,o=n.isScrolling,i=n.scrollDirection,a=n.scrollOffset;if(0===e)return[0,0,0,0];var l=v(this.props,a,this._instanceProps),s=S(this.props,l,a,this._instanceProps),c=o&&"backward"!==i?1:Math.max(1,r),u=o&&"forward"!==i?1:Math.max(1,r);return[Math.max(0,l-c),Math.max(0,Math.min(e-1,s+u)),l,s]},e}(s.PureComponent),e.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},r}var g=function(t,e){t.children,t.direction,t.height,t.layout,t.innerTagName,t.outerTagName,t.width,e.instance},S=function(t,e,r){var n=t.itemSize,o=r.itemMetadataMap,i=r.lastMeasuredIndex;if(e>i){var a=0;if(i>=0){var l=o[i];a=l.offset+l.size}for(var s=i+1;s<=e;s++){var c=n(s);o[s]={offset:a,size:c},a+=c}r.lastMeasuredIndex=e}return o[e]},I=function(t,e,r,n,o){for(;n<=r;){var i=n+Math.floor((r-n)/2),a=S(t,i,e).offset;if(a===o)return i;ao&&(r=i-1)}return n>0?n-1:0},y=function(t,e,r,n){for(var o=t.itemCount,i=1;r=r&&(i=r-1),i>=0){var l=n[i];a=l.offset+l.size}return a+(r-i-1)*o},b=v({getItemOffset:function(t,e,r){return S(t,e,r).offset},getItemSize:function(t,e,r){return r.itemMetadataMap[e].size},getEstimatedTotalSize:O,getOffsetForIndexAndAlignment:function(t,e,r,n,o){var i=t.direction,a=t.height,l=t.layout,s=t.width,c="horizontal"===i||"horizontal"===l?s:a,u=S(t,e,o),f=O(t,o),d=Math.max(0,Math.min(f-c,u.offset)),h=Math.max(0,u.offset-c+u.size);switch("smart"===r&&(r=n>=h-c&&n<=d+c?"auto":"center"),r){case"start":return d;case"end":return h;case"center":return Math.round(h+(d-h)/2);case"auto":default:return n>=h&&n<=d?n:n0?n[o].offset:0)>=r?I(t,e,o,0,r):y(t,e,Math.max(0,o),r)}(t,r,e)},getStopIndexForStartIndex:function(t,e,r,n){for(var o=t.direction,i=t.height,a=t.itemCount,l=t.layout,s=t.width,c="horizontal"===o||"horizontal"===l?s:i,u=S(t,e,n),f=r+c,d=u.offset+u.size,h=e;h=h-u&&n<=d+u?"auto":"center"),r){case"start":return d;case"end":return h;case"center":var p=Math.round(h+(d-h)/2);return pf+Math.floor(u/2)?f:p;case"auto":default:return n>=h&&n<=d?n:n=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}var u=Object(r.forwardRef)((function(t,e){var n=t.color,r=void 0===n?"currentColor":n,o=t.size,s=void 0===o?24:o,u=c(t,["color","size"]);return i.a.createElement("svg",a({ref:e,xmlns:"http://www.w3.org/2000/svg",width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},u),i.a.createElement("polyline",{points:"23 4 23 10 17 10"}),i.a.createElement("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"}))}));u.propTypes={color:s.a.string,size:s.a.oneOfType([s.a.string,s.a.number])},u.displayName="RotateCw",e.a=u},XqMk:function(t,e,n){"use strict";(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.a=n}).call(this,n("yLpj"))},bdgK:function(t,e,n){"use strict";(function(t){var n=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var n=-1;return t.some((function(t,r){return t[0]===e&&(n=r,!0)})),n}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var n=t(this.__entries__,e),r=this.__entries__[n];return r&&r[1]},e.prototype.set=function(e,n){var r=t(this.__entries__,e);~r?this.__entries__[r][1]=n:this.__entries__.push([e,n])},e.prototype.delete=function(e){var n=this.__entries__,r=t(n,e);~r&&n.splice(r,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var n=0,r=this.__entries__;n0},t.prototype.connect_=function(){r&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),a?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){r&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?"":e;s.some((function(t){return!!~n.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),u=function(t,e){for(var n=0,r=Object.keys(e);n0},t}(),w="undefined"!=typeof WeakMap?new WeakMap:new n,O=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=c.getInstance(),r=new g(e,n,this);w.set(this,r)};["observe","unobserve","disconnect"].forEach((function(t){O.prototype[t]=function(){var e;return(e=w.get(this))[t].apply(e,arguments)}}));var E=void 0!==i.ResizeObserver?i.ResizeObserver:O;e.a=E}).call(this,n("yLpj"))},hbEN:function(t,e,n){"use strict";var r=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},i=n("XqMk"),o="object"==typeof self&&self&&self.Object===Object&&self,s=i.a||o||Function("return this")(),a=function(){return s.Date.now()},c=s.Symbol,u=Object.prototype,f=u.hasOwnProperty,h=u.toString,l=c?c.toStringTag:void 0;var d=function(t){var e=f.call(t,l),n=t[l];try{t[l]=void 0;var r=!0}catch(t){}var i=h.call(t);return r&&(e?t[l]=n:delete t[l]),i},p=Object.prototype.toString;var v=function(t){return p.call(t)},b=c?c.toStringTag:void 0;var y=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":b&&b in Object(t)?d(t):v(t)};var m=function(t){return null!=t&&"object"==typeof t};var _=function(t){return"symbol"==typeof t||m(t)&&"[object Symbol]"==y(t)},g=/^\s+|\s+$/g,w=/^[-+]0x[0-9a-f]+$/i,O=/^0b[01]+$/i,E=/^0o[0-7]+$/i,j=parseInt;var M=function(t){if("number"==typeof t)return t;if(_(t))return NaN;if(r(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=r(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(g,"");var n=O.test(t);return n||E.test(t)?j(t.slice(2),n?2:8):w.test(t)?NaN:+t},T=Math.max,x=Math.min;e.a=function(t,e,n){var i,o,s,c,u,f,h=0,l=!1,d=!1,p=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function v(e){var n=i,r=o;return i=o=void 0,h=e,c=t.apply(r,n)}function b(t){return h=t,u=setTimeout(m,e),l?v(t):c}function y(t){var n=t-f;return void 0===f||n>=e||n<0||d&&t-h>=s}function m(){var t=a();if(y(t))return _(t);u=setTimeout(m,function(t){var n=e-(t-f);return d?x(n,s-(t-h)):n}(t))}function _(t){return u=void 0,p&&i?v(t):(i=o=void 0,c)}function g(){var t=a(),n=y(t);if(i=arguments,o=this,f=t,n){if(void 0===u)return b(f);if(d)return clearTimeout(u),u=setTimeout(m,e),v(f)}return void 0===u&&(u=setTimeout(m,e)),c}return e=M(e)||0,r(n)&&(l=!!n.leading,s=(d="maxWait"in n)?T(M(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),g.cancel=function(){void 0!==u&&clearTimeout(u),h=0,i=f=o=u=void 0},g.flush=function(){return void 0===u?c:_(a())},g}},j7o3:function(t,e,n){"use strict";var r=n("q1tI"),i=n.n(r),o=n("17x9"),s=n.n(o);function a(){return(a=Object.assign||function(t){for(var e=1;e=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}var u=Object(r.forwardRef)((function(t,e){var n=t.color,r=void 0===n?"currentColor":n,o=t.size,s=void 0===o?24:o,u=c(t,["color","size"]);return i.a.createElement("svg",a({ref:e,xmlns:"http://www.w3.org/2000/svg",width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},u),i.a.createElement("polyline",{points:"6 9 12 15 18 9"}))}));u.propTypes={color:s.a.string,size:s.a.oneOfType([s.a.string,s.a.number])},u.displayName="ChevronDown",e.a=u}}]); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/yacd-128.png b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/yacd-128.png deleted file mode 100644 index 4609a149d9a5cce8dcbae9502fdb9996852420d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7703 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 diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/yacd-64.png b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/yacd-64.png deleted file mode 100644 index bbbcf65131c8f2c1b0108767cc416b09190732e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3433 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 LNkvXXu0mjfEasRE diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/yacd.ico b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yacd/yacd.ico deleted file mode 100644 index ec4e4708261d84ee0fe34fe921b39509a0bfffd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5430 zcmeHLXHZo~6kasgVuEC%I3_dE$QV0fZ&<+&HtdQhHk={G9!n5xVMe1QJQkIcBtVei{}%AT{Q?G?gCln_;`3d~i- zt_nib5JFVI%-`ca6XGJCYhn#3q8)(iYGD1-`2ScSGc!}Xc=5svoJzebBu|r5HZ2;u}4taTbj#*h* zP8k^)jj@*|pmEO4&8>-dRRCWAO3a%#Ph7u#T>!_#kG!o7t!H+2wvu`2(j_g=0Xn)Q zBqaD9Ja{m8)22<)K|w*ubLPysJ8jyur;{d4dOmUD#1~VhOv#u%d-nZBix&O4Zr!@r zef#!>o;h=7I`-Zfd-)bn^6c5O%04e&zEn0c+J*Z9j@laL$~SM`>~-kSp|#7GFHf2< zVM3Otr>E@Dp@VGJteI@su%T?wpn-I9axw$1IXgScrcIm5wr$(WUcGurUtiyxB};2R;3Z(}JRXC+RZI_2M^M-OFl zOMNVPlh?q31LgSf<7KyQ-DLCT&CP6JiO=6%yLOewj~`zEdzqa-eG;-oQc{vP^m%8r zC+X;SZQ8U^zNh!ab>it+uXAqHsFBjONs}ffTN1Zlzkc%k`SZR94jfQ1sbi6`aQpUc zap%q**Ky;<KHW@5qfGrw*@%6an3yPogM(#@7A+JX^29m4 zMr`%GdiAQA{@lmo$BzZ(r?e&rGJJrAg!-vokQt*3Yy#^`>m(EM-61 zkuZ1e+_e1s{O_3)Ek{8PD7SIr#^XG1&5v}NJ}32ObU~0T-W$oHs7^s)k<#PzC9fBOBE&`@mypK z8fARUGxx!BjEIO>Mt!ZxfA#8>h>MF8SFT(cHe|>Uvl#psS=MlM?7=U6k>jk&XAHt; zSkqnn{QR=5*_&%dn_9}UW_RK+ju_YA?}qrZDxY>?U-9PZ9Xc{6~N5-MhE4wUM6B{{H@dy?*_=2K$u4Mu897ty!}so;SW&eNX>YuB!g3keB{U~a!~;X)wl+zswa(~}o@!uRZ~oxR>qf&7wt z_wL=QV~2aE?{40_IR^A!6PG>=V4q`O0AFG*1F*5Tw->RovHm*mke)RyJUo0e-j^s& z{>+&(Nk5bIO`rGV$&<5?pFPmi2=++iQ5Z0f!p@G%mMu%A-sHjl<=nY*KZb^e7JBy7 zi#(Z|Z{51(K6>=%+`4t^sxyy{j$V$v+oH!SmLC2idiLxo&}aCK7%?KRUcGvfJrw-9 z4RUCa^vuEZk2i1LI3icx>D;+9Yfm&}S7FX%e@mRA26do~Kx2n<40CsPm+*%q{H{b= zzAI`l4uM-LDk>^?&z?OIkXif2jT_1?p3+t$7l+PMtcc|0WMWdGPxn9;9U+psfk_?%h*##o0~E=8U_6qM^>z zhd^E*ql1y(r|1990yrbn$QNP`Zi{vS_+(HNoD!mBVUR9FX)`FDj=#*(nRfX5E?0p` zARhRgf}bU-0!-g2@C~E5!8oH|(WkVJ@tOBxYktNx`XFNqcQLVR*Dis)Bpe(ZOrmUU zZ3XUL0`*13J98QH4rv!GSRl|FDO}{(uTX26tz5a%3%xF`p0k5y&6@Qqa#jHDj6S<} z?{0-!Tan1X6IfR~kw+a-TNk6JP3+#idnRg3KIl@t&V5QIGB z$h-|1V*UE{Ls)-VQ<&EYtZ^MXc2qT&e2nj0U0vCW4nt2(TJE6(`k=o_#~zb)jr8pI z$d|o4dGHQMK3Mx_%a$!}t5>fU*oQcF>{xBwYag?pSh#Q@?^34zp7>lxk1c_xY98)V z8HW!au8+I4xOVLt>x#qR!Go_+zK@TOgicDHuG3ua-@m_{KYzaBJ7B51jUgwN{G8Q!D`JJR7uZyWur*1U%2AUV~37QXWfw~(CdK=Ob zYSpSmKlqvbHSy3VrlC&8V!jGU!Tly4{&R)j0Eh$J8P%#)Gu3SR5YC}D`hmAyx^&5b zZ9S/dev/null)" ]; then - /usr/share/openclash/openclash_fake_filter.sh - fi - if [ -s "/tmp/openclash_servers_fake_filter.conf" ]; then - mkdir -p /tmp/dnsmasq.d - ln -s /tmp/openclash_servers_fake_filter.conf /tmp/dnsmasq.d/dnsmasq_openclash.conf - fi -fi - -ruby -ryaml -E UTF-8 -e " -begin - Value = YAML.load_file('$7'); -rescue Exception => e - puts '${LOGTIME} Load File Error: ' + e.message -end -begin - Value['redir-port']=$6; - Value['port']=$9; - Value['socks-port']=${10}; - Value['mixed-port']=${19}; - Value['mode']='${13}'; - Value['log-level']='${12}'; - Value['allow-lan']=true; - Value['external-controller']='$controller_address:$5'; - Value['secret']='$4'; - Value['bind-address']='$bind_address'; - Value['external-ui']='/usr/share/openclash/dashboard'; -if not Value.key?('dns') then - Value_1={'dns'=>{'enable'=>true}} - Value['dns']=Value_1['dns'] -else - Value['dns']['enable']=true -end; -if $8 == 1 then - Value['dns']['ipv6']=true - Value['ipv6']=true -else - Value['dns']['ipv6']=false - Value['ipv6']=false -end; -Value['dns']['enhanced-mode']='$2'; -if '$2' == 'fake-ip' then - Value['dns']['fake-ip-range']='198.18.0.1/16' -else - Value['dns'].delete('fake-ip-range') -end; -if $8 != 1 then - Value['dns']['listen']='127.0.0.1:${17}' -else - Value['dns']['listen']='0.0.0.0:${17}' -end; -Value_2={'tun'=>{'enable'=>true}}; -if $en_mode_tun == 1 or $en_mode_tun == 3 then - Value['tun']=Value_2['tun'] - Value['tun']['stack']='$stack_type' - Value_2={'dns-hijack'=>['tcp://8.8.8.8:53','tcp://8.8.4.4:53']} - Value['tun'].merge!(Value_2) -elsif $en_mode_tun == 2 - Value['tun']=Value_2['tun'] - Value['tun']['device-url']='dev://clash0' - Value['tun']['dns-listen']='0.0.0.0:53' -elsif $en_mode_tun == 0 - if Value.key?('tun') then - Value['tun'].clear - end -end; -if not Value.key?('profile') then - Value_3={'profile'=>{'store-selected'=>true}} - Value['profile']=Value_3['profile'] -else - Value['profile']['store-selected']=true -end; -rescue Exception => e -puts '${LOGTIME} Set General Error: ' + e.message -end -begin -#添加自定义Hosts设置 -if '$2' == 'redir-host' then - if File::exist?('/etc/openclash/custom/openclash_custom_hosts.list') then - Value_3 = YAML.load_file('/etc/openclash/custom/openclash_custom_hosts.list') - if Value_3 != false then - Value['dns']['use-hosts']=true - if Value.has_key?('hosts') and not Value['hosts'].to_a.empty? then - Value['hosts'].merge!(Value_3) - Value['hosts'].uniq - else - Value['hosts']=Value_3 - end - end - end -end; -rescue Exception => e -puts '${LOGTIME} Set Hosts Rules Error: ' + e.message -end -begin -#fake-ip-filter -if '$2' == 'fake-ip' then - if File::exist?('/tmp/openclash_fake_filter.list') then - Value_4 = YAML.load_file('/tmp/openclash_fake_filter.list') - if Value_4 != false then - if Value['dns'].has_key?('fake-ip-filter') and not Value['dns']['fake-ip-filter'].to_a.empty? then - Value_5 = Value_4['fake-ip-filter'].reverse! - Value_5.each{|x| Value['dns']['fake-ip-filter'].insert(-1,x)} - Value['dns']['fake-ip-filter']=Value['dns']['fake-ip-filter'].uniq - else - Value['dns']['fake-ip-filter']=Value_4['fake-ip-filter'] - end - end - end -end; -rescue Exception => e -puts '${LOGTIME} Set Fake IP Filter Error: ' + e.message -ensure -File.open('$7','w') {|f| YAML.dump(Value, f)} -end" 2>/dev/null >> $LOG_FILE \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_get.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_get.sh deleted file mode 100755 index 36ceebe57a..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_get.sh +++ /dev/null @@ -1,222 +0,0 @@ -#!/bin/bash -. /lib/functions.sh -. /usr/share/openclash/openclash_ps.sh -. /usr/share/openclash/ruby.sh - -status=$(unify_ps_status "yml_groups_get.sh") -[ "$status" -gt "3" ] && exit 0 - -START_LOG="/tmp/openclash_start.log" -CFG_FILE="/etc/config/openclash" -other_group_file="/tmp/yaml_other_group.yaml" -servers_update=$(uci get openclash.config.servers_update 2>/dev/null) -servers_if_update=$(uci get openclash.config.servers_if_update 2>/dev/null) -CONFIG_FILE=$(uci get openclash.config.config_path 2>/dev/null) -CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) -UPDATE_CONFIG_FILE=$(uci get openclash.config.config_update_path 2>/dev/null) -UPDATE_CONFIG_NAME=$(echo "$UPDATE_CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) -LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") -LOG_FILE="/tmp/openclash.log" - -if [ ! -z "$UPDATE_CONFIG_FILE" ]; then - CONFIG_FILE="$UPDATE_CONFIG_FILE" - CONFIG_NAME="$UPDATE_CONFIG_NAME" -fi - -if [ -z "$CONFIG_FILE" ]; then - CONFIG_FILE="/etc/openclash/config/$(ls -lt /etc/openclash/config/ | grep -E '.yaml|.yml' | head -n 1 |awk '{print $9}')" - CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) -fi - -if [ -z "$CONFIG_NAME" ]; then - CONFIG_FILE="/etc/openclash/config/config.yaml" - CONFIG_NAME="config.yaml" -fi - -BACKUP_FILE="/etc/openclash/backup/$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null)" - -if [ ! -s "$CONFIG_FILE" ] && [ ! -s "$BACKUP_FILE" ]; then - exit 0 -elif [ ! -s "$CONFIG_FILE" ] && [ -s "$BACKUP_FILE" ]; then - mv "$BACKUP_FILE" "$CONFIG_FILE" -fi - -echo "开始更新【$CONFIG_NAME】的策略组配置..." >$START_LOG - -/usr/share/openclash/yml_groups_name_get.sh -[ ! -z "$(grep "读取错误" /tmp/Proxy_Group)" ] && { - echo "读取错误,配置文件【$CONFIG_NAME】异常!" >$START_LOG - uci commit openclash - sleep 5 - echo "" >$START_LOG - exit 0 -} - -#判断当前配置文件是否有策略组信息 -cfg_group_name() -{ - local section="$1" - config_get "config" "$section" "config" "" - - if [ -z "$config" ]; then - return - fi - - [ "$config" = "$CONFIG_NAME" ] && { - config_group_exist=1 - } -} - -#删除不必要的配置 -cfg_delete() -{ - echo "正在删除旧配置..." >$START_LOG -#删除策略组 - group_num=$(grep "config groups" "$CFG_FILE" |wc -l) - for ((i=$group_num;i>=0;i--)) - do - if [ "$(uci get openclash.@groups["$i"].config 2>/dev/null)" = "$CONFIG_NAME" ] || [ "$(uci get openclash.@groups["$i"].config 2>/dev/null)" = "all" ]; then - uci delete openclash.@groups["$i"] 2>/dev/null - uci commit openclash - fi - done -#删除启用的节点 - server_num=$(grep "config servers" "$CFG_FILE" |wc -l) - for ((i=$server_num;i>=0;i--)) - do - if [ "$(uci get openclash.@servers["$i"].config 2>/dev/null)" = "$CONFIG_NAME" ] || [ "$(uci get openclash.@servers["$i"].config 2>/dev/null)" = "all" ]; then - if [ "$(uci get openclash.@servers["$i"].enabled 2>/dev/null)" = "1" ]; then - uci delete openclash.@servers["$i"] 2>/dev/null - uci commit openclash - fi - fi - done -#删除启用的代理集 - provider_num=$(grep "config proxy-provider" "$CFG_FILE" 2>/dev/null |wc -l) - for ((i=$provider_num;i>=0;i--)) - do - if [ "$(uci get openclash.@proxy-provider["$i"].config 2>/dev/null)" = "$CONFIG_NAME" ] || [ "$(uci get openclash.@proxy-provider["$i"].config 2>/dev/null)" = "all" ]; then - if [ "$(uci get openclash.@proxy-provider["$i"].enabled)" = "1" ]; then - uci delete openclash.@proxy-provider["$i"] 2>/dev/null - uci commit openclash - fi - fi - done -} - -config_load "openclash" -config_foreach cfg_group_name "groups" - -if [ "$servers_if_update" -eq 1 ] && [ "$servers_update" -eq 1 ] && [ "$config_group_exist" -eq 1 ]; then - /usr/share/openclash/yml_proxys_get.sh - exit 0 -else - cfg_delete -fi - -count=0 -match_group_file="/tmp/Proxy_Group" -#提取策略组部分 -group_hash=$(ruby_read "$CONFIG_FILE" ".select {|x| 'proxy-groups' == x}") -num=$(ruby_read_hash "$group_hash" "['proxy-groups'].count") - -if [ -z "$num" ]; then - echo "配置文件校验失败,请检查配置文件后重试!" >$START_LOG - echo "${LOGTIME} Error: Unable To Parse Config File, Please Check And Try Again!" >> $LOG_FILE - sleep 3 - exit 0 -fi - -while [ "$count" -lt "$num" ] -do - - #type - group_type=$(ruby_read_hash "$group_hash" "['proxy-groups'][$count]['type']") - #name - group_name=$(ruby_read_hash "$group_hash" "['proxy-groups'][$count]['name']") - - if [ -z "$group_type" ] || [ -z "$group_name" ]; then - let count++ - continue - fi - - echo "正在读取【$CONFIG_NAME】-【$group_type】-【$group_name】策略组配置..." > $START_LOG - - name=openclash - uci_name_tmp=$(uci add $name groups) - uci_set="uci -q set $name.$uci_name_tmp." - uci_add="uci -q add_list $name.$uci_name_tmp." - - ${uci_set}config="$CONFIG_NAME" - ${uci_set}name="$group_name" - ${uci_set}old_name="$group_name" - ${uci_set}old_name_cfg="$group_name" - ${uci_set}type="$group_type" - - ruby -ryaml -E UTF-8 -e " - begin - Value = $group_hash; - Thread.new{ - #strategy - if Value['proxy-groups'][$count].key?('strategy') then - group_strategy = '${uci_set}strategy=' + Value['proxy-groups'][$count]['strategy'].to_s - system(group_strategy) - end - }.join; - - Thread.new{ - #disable-udp - if Value['proxy-groups'][$count].key?('disable-udp') then - group_disable_udp = '${uci_set}disable_udp=' + Value['proxy-groups'][$count]['disable-udp'].to_s - system(group_disable_udp) - end - }.join; - - Thread.new{ - #test_url - if Value['proxy-groups'][$count].key?('url') then - group_test_url = '${uci_set}test_url=\"' + Value['proxy-groups'][$count]['url'].to_s + '\"' - system(group_test_url) - end - }.join; - - Thread.new{ - #test_interval - if Value['proxy-groups'][$count].key?('interval') then - group_test_interval = '${uci_set}test_interval=' + Value['proxy-groups'][$count]['interval'].to_s - system(group_test_interval) - end - }.join; - - Thread.new{ - #test_tolerance - if Value['proxy-groups'][$count].key?('tolerance') then - group_test_tolerance = '${uci_set}tolerance=' + Value['proxy-groups'][$count]['tolerance'].to_s - system(group_test_tolerance) - end - }.join; - - Thread.new{ - #other_group - Value_1=YAML.load_file('/tmp/Proxy_Group'); - if Value['proxy-groups'][$count].key?('proxies') then - Value['proxy-groups'][$count]['proxies'].each{ - |x| - if Value_1.include?(x) then - uci = '${uci_add}other_group=\"' + x.to_s + '\"' - system(uci) - end - } - end - }.join; - rescue Exception => e - puts '${LOGTIME} Resolve Proxy-group【${CONFIG_NAME} - ${group_type} - ${group_name}】 Error: ' + e.message - end - " 2>/dev/null >> $LOG_FILE & - - let count++ -done - -wait -uci commit openclash -/usr/share/openclash/yml_proxys_get.sh \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_name_ch.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_name_ch.sh deleted file mode 100755 index 16a1557d33..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_name_ch.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -. /lib/functions.sh -. /usr/share/openclash/openclash_ps.sh - -status=$(unify_ps_status "yml_groups_name_ch.sh") -[ "$status" -gt "3" ] && exit 0 - -cfg_groups_set() -{ - - CFG_FILE="/etc/config/openclash" - local section="$1" - config_get "name" "$section" "name" "" - config_get "old_name_cfg" "$section" "old_name_cfg" "" - config_get "old_name" "$section" "old_name" "" - - if [ -z "$name" ]; then - return - fi - - if [ -z "$old_name_cfg" ]; then - uci set openclash."$section".old_name_cfg="$name" - uci commit openclash - fi - - if [ -z "$old_name" ]; then - uci set openclash."$section".old_name="$name" - uci commit openclash - fi - - #名字变化时处理配置文件 - if [ "$name" != "$old_name_cfg" ] && [ ! -z "$old_name_cfg" ]; then - sed -i "s/old_name_cfg \'${old_name_cfg}\'/old_name_cfg \'${name}\'/g" $CFG_FILE 2>/dev/null - sed -i "s/groups \'${old_name_cfg}/groups \'${name}/g" $CFG_FILE 2>/dev/null - sed -i "s/other_group \'${old_name_cfg}/other_group \'${name}/g" $CFG_FILE 2>/dev/null - sed -i "s/new_servers_group \'${old_name_cfg}/new_servers_group \'${name}/g" $CFG_FILE 2>/dev/null - sed -i "s/relay_groups \'${old_name_cfg}/relay_groups \'${name}/g" $CFG_FILE 2>/dev/null - #第三方规则处理 - OTHER_RULE_NAMES=("GlobalTV" "AsianTV" "Proxy" "Youtube" "Apple" "Microsoft" "Netflix" "Spotify" "Steam" "Speedtest" "Telegram" "PayPal" "Netease_Music" "AdBlock" "Domestic" "Others") - for i in ${OTHER_RULE_NAMES[@]}; do - if [ "$(uci get openclash.config."$i" 2>/dev/null)" = "$old_name_cfg" ]; then - uci set openclash.config."$i"=$name 2>/dev/null - uci commit openclash - fi - done 2>/dev/null - config_load "openclash" - fi - -} - -config_load "openclash" -config_foreach cfg_groups_set "groups" \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_name_get.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_name_get.sh deleted file mode 100755 index eaa33b595b..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_name_get.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -. /usr/share/openclash/ruby.sh - -CFG_FILE=$(uci get openclash.config.config_path 2>/dev/null) -UPDATE_CONFIG_FILE=$(uci get openclash.config.config_update_path 2>/dev/null) - -if [ ! -z "$UPDATE_CONFIG_FILE" ]; then - CFG_FILE="$UPDATE_CONFIG_FILE" -fi - -if [ -z "$CFG_FILE" ]; then - CFG_FILE="/etc/openclash/config/$(ls -lt /etc/openclash/config/ | grep -E '.yaml|.yml' | head -n 1 |awk '{print $9}')" -fi - -if [ -f "$CFG_FILE" ]; then - rm -rf "/tmp/Proxy_Group" 2>/dev/null - ruby_read_hash_arr "$CFG_FILE" "['proxy-groups']" "['name']" >/tmp/Proxy_Group 2>&1 - - if [ -f "/tmp/Proxy_Group" ]; then - echo 'DIRECT' >>/tmp/Proxy_Group - echo 'REJECT' >>/tmp/Proxy_Group - else - echo '读取错误,配置文件异常!' >/tmp/Proxy_Group - fi -else - echo '读取错误,配置文件异常!' >/tmp/Proxy_Group -fi \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_set.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_set.sh deleted file mode 100755 index 2d06a1b49b..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_groups_set.sh +++ /dev/null @@ -1,280 +0,0 @@ -#!/bin/sh -. /lib/functions.sh - -set_lock() { - exec 887>"/tmp/lock/openclash_groups_set.lock" 2>/dev/null - flock -x 887 2>/dev/null -} - -del_lock() { - flock -u 887 2>/dev/null - rm -rf "/tmp/lock/openclash_groups_set.lock" -} - -set_lock -START_LOG="/tmp/openclash_start.log" -GROUP_FILE="/tmp/yaml_groups.yaml" -CFG_FILE="/etc/config/openclash" -servers_update=$(uci get openclash.config.servers_update 2>/dev/null) -CONFIG_FILE=$(uci get openclash.config.config_path 2>/dev/null) -CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) -UPDATE_CONFIG_FILE=$(uci get openclash.config.config_update_path 2>/dev/null) -UPDATE_CONFIG_NAME=$(echo "$UPDATE_CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) - -if [ ! -z "$UPDATE_CONFIG_FILE" ]; then - CONFIG_FILE="$UPDATE_CONFIG_FILE" - CONFIG_NAME="$UPDATE_CONFIG_NAME" -fi - -if [ -z "$CONFIG_FILE" ]; then - CONFIG_FILE="/etc/openclash/config/$(ls -lt /etc/openclash/config/ | grep -E '.yaml|.yml' | head -n 1 |awk '{print $9}')" - CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) -fi - -if [ -z "$CONFIG_NAME" ]; then - CONFIG_FILE="/etc/openclash/config/config.yaml" - CONFIG_NAME="config.yaml" -fi - -set_groups() -{ - if [ -z "$1" ]; then - return - fi - - if [ "$1" = "$3" ]; then - set_group=1 - echo " - \"${2}\"" >>$GROUP_FILE - fi - -} - -set_relay_groups() -{ - if [ -z "$1" ]; then - return - fi - - if [ ! -z "$(echo "$1" |grep "#relay#")" ]; then - server_relay_num=$(echo "$1" |awk -F '#relay#' '{print $2}') - server_group_name=$(echo "$1" |awk -F '#relay#' '{print $1}') - fi - - if [ ! -z "$server_relay_num" ] && [ "$server_group_name" = "$3" ]; then - set_group=1 - echo "$server_relay_num # - \"${2}\"" >>/tmp/relay_server - fi -} - -#加入节点 -yml_servers_add() -{ - - local section="$1" - config_get_bool "enabled" "$section" "enabled" "1" - config_get "config" "$section" "config" "" - config_get "name" "$section" "name" "" - config_get "relay_groups" "$section" "relay_groups" "" - - if [ ! -z "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then - return - fi - - if [ "$enabled" = "0" ]; then - return - else - if [ -z "$4" ] && [ "$3" = "relay" ] && [ ! -z "$relay_groups" ]; then - config_list_foreach "$section" "relay_groups" set_relay_groups "$name" "$2" - elif [ -z "$4" ]; then - config_list_foreach "$section" "groups" set_groups "$name" "$2" - fi - - if [ ! -z "$if_game_group" ] && [ -z "$(ruby -ryaml -E UTF-8 -e "Value = YAML.load_file('$CONFIG_FILE'); Value['proxies'].each{|x| if x['name'].eql?('$name') then puts x['name'] end}" 2>/dev/null)" ]; then - /usr/share/openclash/yml_proxys_set.sh "$name" "proxy" - fi - fi - -} - -#加入其它策略组 -set_other_groups() -{ - if [ -z "$1" ]; then - return - fi - set_group=1 - echo " - ${1}" >>$GROUP_FILE - -} - -#加入代理集 -set_proxy_provider() -{ - local section="$1" - config_get_bool "enabled" "$section" "enabled" "1" - config_get "config" "$section" "config" "" - config_get "name" "$section" "name" "" - - if [ ! -z "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then - return - fi - - if [ "$enabled" = "0" ]; then - return - else - if [ -z "$3" ]; then - config_list_foreach "$section" "groups" set_provider_groups "$name" "$2" - fi - - if [ ! -z "$if_game_group" ] && [ -z "$(ruby -ryaml -E UTF-8 -e "Value = YAML.load_file('$CONFIG_FILE'); Value['proxy-providers'].keys.each{|x| if x.eql?('$name') then puts x end}" 2>/dev/null)" ]; then - /usr/share/openclash/yml_proxys_set.sh "$name" "proxy-provider" - fi - fi -} - -set_provider_groups() -{ - if [ -z "$1" ]; then - return - fi - - if [ "$1" = "$3" ]; then - set_proxy_provider=1 - echo " - ${2}" >>$GROUP_FILE - fi - -} - -#创建策略组 -yml_groups_set() -{ - - local section="$1" - config_get "config" "$section" "config" "" - config_get "type" "$section" "type" "" - config_get "name" "$section" "name" "" - config_get "disable_udp" "$section" "disable_udp" "" - config_get "strategy" "$section" "strategy" "" - config_get "old_name" "$section" "old_name" "" - config_get "test_url" "$section" "test_url" "" - config_get "test_interval" "$section" "test_interval" "" - config_get "tolerance" "$section" "tolerance" "" - - if [ ! -z "$if_game_group" ] && [ "$if_game_group" != "$name" ]; then - return - fi - - if [ ! -z "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then - return - fi - - if [ -z "$type" ]; then - return - fi - - if [ -z "$name" ]; then - return - fi - - if [ -z "$test_url" ] || [ -z "$test_interval" ] && [ "$type" != "select" ] && [ "$type" != "relay" ]; then - return - fi - - #游戏策略组存在时判断节点是否存在 - if [ -n "$if_game_group" ] && [ -n "$(grep "^$if_game_group$" /tmp/Proxy_Group)" ]; then - config_foreach yml_servers_add "servers" "$name" "$type" "check" #加入服务器节点 - config_foreach set_proxy_provider "proxy-provider" "$group_name" "check" #加入代理集 - return - fi - - echo "正在写入【$type】-【$name】策略组到配置文件【$CONFIG_NAME】..." >$START_LOG - - echo " - name: $name" >>$GROUP_FILE - echo " type: $type" >>$GROUP_FILE - if [ "$type" = "load-balance" ]; then - [ -n "$strategy" ] && { - echo " strategy: $strategy" >>$GROUP_FILE - } - fi - [ -n "$disable_udp" ] && { - echo " disable-udp: $disable_udp" >>$GROUP_FILE - } - group_name="$name" - echo " proxies: $group_name" >>$GROUP_FILE - - #名字变化时处理规则部分 - if [ "$name" != "$old_name" ] && [ ! -z "$old_name" ]; then - sed -i "s/,${old_name}/,${name}#d/g" "$CONFIG_FILE" 2>/dev/null - sed -i "s/old_name \'${old_name}/old_name \'${name}/g" "$CFG_FILE" 2>/dev/null - config_load "openclash" - fi - - set_group=0 - set_proxy_provider=0 - - config_list_foreach "$section" "other_group" set_other_groups #加入其他策略组 - config_foreach yml_servers_add "servers" "$name" "$type" #加入服务器节点 - - if [ "$type" = "relay" ] && [ -s "/tmp/relay_server" ]; then - cat /tmp/relay_server |sort -k 1 |awk -F '#' '{print $2}' > /tmp/relay_server.list 2>/dev/null - sed -i "/^ \{0,\}proxies: ${group_name}/r/tmp/relay_server.list" "$GROUP_FILE" 2>/dev/null - rm -rf /tmp/relay_server 2>/dev/null - fi - - echo " use: $group_name" >>$GROUP_FILE - - config_foreach set_proxy_provider "proxy-provider" "$group_name" #加入代理集 - - if [ "$set_group" -eq 1 ]; then - sed -i "/^ \{0,\}proxies: ${group_name}/c\ proxies:" $GROUP_FILE - else - sed -i "/proxies: ${group_name}/d" $GROUP_FILE 2>/dev/null - fi - - if [ "$set_proxy_provider" -eq 1 ]; then - sed -i "/^ \{0,\}use: ${group_name}/c\ use:" $GROUP_FILE - else - sed -i "/use: ${group_name}/d" $GROUP_FILE 2>/dev/null - fi - - [ ! -z "$test_url" ] && { - echo " url: $test_url" >>$GROUP_FILE - } - [ ! -z "$test_interval" ] && { - echo " interval: \"$test_interval\"" >>$GROUP_FILE - } - [ ! -z "$tolerance" ] && { - echo " tolerance: \"$tolerance\"" >>$GROUP_FILE - } -} - -create_config=$(uci get openclash.config.create_config 2>/dev/null) -servers_if_update=$(uci get openclash.config.servers_if_update 2>/dev/null) -if_game_group="$1" -if [ "$create_config" = "0" ] || [ "$servers_if_update" = "1" ] || [ ! -z "$if_game_group" ]; then - /usr/share/openclash/yml_groups_name_get.sh - if [ ! -z "$(grep "读取错误" /tmp/Proxy_Group)"]; then - echo "配置文件【$CONFIG_NAME】的信息读取失败,无法进行修改,请选择一键创建配置文件..." >$START_LOG - uci commit openclash - sleep 5 - echo "" >$START_LOG - del_lock - exit 0 - else - if [ -z "$if_game_group" ]; then - echo "开始写入配置文件【$CONFIG_NAME】的策略组信息..." >$START_LOG - echo "proxy-groups:" >$GROUP_FILE - else - echo "开始加入游戏&规则集策略组【$if_game_group】的信息..." >$START_LOG - rm -rf $GROUP_FILE - fi - config_load "openclash" - config_foreach yml_groups_set "groups" - sed -i "s/#d//g" "$CONFIG_FILE" 2>/dev/null - rm -rf /tmp/relay_server.list 2>/dev/null - fi -fi -if [ -z "$if_game_group" ]; then - /usr/share/openclash/yml_proxys_set.sh -fi -del_lock \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_get.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_get.sh deleted file mode 100755 index 8efbfc6bf9..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_get.sh +++ /dev/null @@ -1,897 +0,0 @@ -#!/bin/bash -. /lib/functions.sh -. /usr/share/openclash/openclash_ps.sh -. /usr/share/openclash/ruby.sh - -status=$(unify_ps_status "yml_proxys_get.sh") -[ "$status" -gt "3" ] && exit 0 - -START_LOG="/tmp/openclash_start.log" -CONFIG_FILE=$(uci get openclash.config.config_path 2>/dev/null) -CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) -UPDATE_CONFIG_FILE=$(uci get openclash.config.config_update_path 2>/dev/null) -UPDATE_CONFIG_NAME=$(echo "$UPDATE_CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) -LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") -LOG_FILE="/tmp/openclash.log" - -if [ ! -z "$UPDATE_CONFIG_FILE" ]; then - CONFIG_FILE="$UPDATE_CONFIG_FILE" - CONFIG_NAME="$UPDATE_CONFIG_NAME" -fi - -if [ -z "$CONFIG_FILE" ]; then - CONFIG_FILE="/etc/openclash/config/$(ls -lt /etc/openclash/config/ | grep -E '.yaml|.yml' | head -n 1 |awk '{print $9}')" - CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) -fi - -if [ -z "$CONFIG_NAME" ]; then - CONFIG_FILE="/etc/openclash/config/config.yaml" - CONFIG_NAME="config.yaml" -fi - -BACKUP_FILE="/etc/openclash/backup/$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null)" - -if [ ! -s "$CONFIG_FILE" ] && [ ! -s "$BACKUP_FILE" ]; then - exit 0 -elif [ ! -s "$CONFIG_FILE" ] && [ -s "$BACKUP_FILE" ]; then - mv "$BACKUP_FILE" "$CONFIG_FILE" -fi - -#提取节点部分 -proxy_hash=$(ruby_read "$CONFIG_FILE" ".select {|x| 'proxies' == x or 'proxy-providers' == x}") - -CFG_FILE="/etc/config/openclash" -match_servers="/tmp/match_servers.list" -match_provider="/tmp/match_provider.list" -servers_update=$(uci get openclash.config.servers_update 2>/dev/null) -servers_if_update=$(uci get openclash.config.servers_if_update 2>/dev/null) - -#proxy -num=$(ruby_read_hash "$proxy_hash" "['proxies'].count") -count=0 - -#provider -provider_num=$(ruby_read_hash "$proxy_hash" "['proxy-providers'].count") -provider_count=0 - -#group -group_hash=$(ruby_read "$CONFIG_FILE" ".select {|x| 'proxy-groups' == x}") - -if [ -z "$num" ] && [ -z "$provider_num" ]; then - echo "配置文件校验失败,请检查配置文件后重试!" >$START_LOG - echo "${LOGTIME} Error: Unable To Parse Config File, Please Check And Try Again!" >> $LOG_FILE - sleep 3 - exit 0 -fi - -cfg_new_servers_groups_check() -{ - config_group_exist=$(( $config_group_exist + 1 )) - - if [ -z "$1" ]; then - return - fi - - config_foreach cfg_group_name "groups" "$1" -} - -cfg_group_name() -{ - local section="$1" - config_get "name" "$section" "name" "" - config_get "config" "$section" "config" "" - - if [ -z "$config" ]; then - return - fi - - if [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then - return - fi - - if [ -z "$name" ]; then - return - fi - - if [ "$name" = "$2" ]; then - config_group_exists=$(( $config_group_exists + 1 )) - fi -} - -#判断当前配置文件策略组信息是否包含指定策略组 -config_group_exist=0 -config_group_exists=0 -config_load "openclash" -config_list_foreach "config" "new_servers_group" cfg_new_servers_groups_check - -if [ "$config_group_exists" -eq "$config_group_exist" ] && [ "$config_group_exist" -ne 0 ]; then - config_group_exist=1 -else - config_group_exist=0 -fi - -echo "开始更新【$CONFIG_NAME】的代理集配置..." >$START_LOG - -yml_provider_name_get() -{ - local section="$1" - config_get "name" "$section" "name" "" - [ ! -z "$name" ] && { - echo "$provider_nums.$name" >>"$match_provider" - } - provider_nums=$(( $provider_nums + 1 )) -} - -cfg_new_provider_groups_get() -{ - if [ -z "$1" ]; then - return - fi - - ${uci_add}groups="${1}" -} - -[ "$servers_update" -eq 1 ] && { -echo "" >"$match_provider" -provider_nums=0 -config_load "openclash" -config_foreach yml_provider_name_get "proxy-provider" -} - -#获取代理集信息 -while [ "$provider_count" -lt "$provider_num" ] -do - #name - provider_name=$(ruby_read_hash "$proxy_hash" "['proxy-providers'].keys[$provider_count]") - #type - provider_type=$(ruby_read_hash "$proxy_hash" "['proxy-providers'].values[$provider_count]['type']") - - if [ -z "$provider_name" ] || [ -z "$provider_type" ]; then - let provider_count++ - continue - fi - - echo "正在读取【$CONFIG_NAME】-【$provider_name】代理集配置..." >$START_LOG - - #代理集存在时获取代理集编号 - provider_nums=$(grep -Fw "$provider_name" "$match_provider" 2>/dev/null|awk -F '.' '{print $1}') - if [ "$servers_update" -eq 1 ] && [ -n "$provider_nums" ]; then - sed -i "/^${provider_nums}\./c\#match#" "$match_provider" 2>/dev/null - uci_set="uci -q set openclash.@proxy-provider["$provider_nums"]." - ${uci_set}manual="0" - ${uci_set}type="$provider_type" - else - #代理集不存在时添加新代理集 - name=openclash - uci_name_tmp=$(uci add $name proxy-provider) - uci_set="uci -q set $name.$uci_name_tmp." - uci_add="uci -q add_list $name.$uci_name_tmp." - - if [ "$config_group_exist" -eq 0 ] && [ "$servers_if_update" = "1" ] && [ "$servers_update" -eq 1 ]; then - ${uci_set}enabled="0" - else - ${uci_set}enabled="1" - fi - if [ "$servers_if_update" = "1" ]; then - ${uci_set}manual="0" - else - ${uci_set}manual="1" - fi - ${uci_set}config="$CONFIG_NAME" - ${uci_set}name="$provider_name" - ${uci_set}type="$provider_type" - fi - ruby -ryaml -E UTF-8 -e " - begin - Value = $proxy_hash; - Thread.new{ - #path - if Value['proxy-providers'].values[$provider_count].key?('path') then - if '$provider_type' == 'http' then - provider_path = '${uci_set}path=./proxy_provider/${provider_name}.yaml' - else - provider_path = '${uci_set}path=\"' + Value['proxy-providers'].values[$provider_count]['path'].to_s + '\"' - end - system(provider_path) - end - }.join; - - Thread.new{ - #gen_url - if Value['proxy-providers'].values[$provider_count].key?('url') then - provider_gen_url = '${uci_set}provider_url=\"' + Value['proxy-providers'].values[$provider_count]['url'].to_s + '\"' - system(provider_gen_url) - end - }.join; - - Thread.new{ - #gen_interval - if Value['proxy-providers'].values[$provider_count].key?('interval') then - provider_gen_interval = '${uci_set}provider_interval=' + Value['proxy-providers'].values[$provider_count]['interval'].to_s - system(provider_gen_interval) - end - }.join; - - Thread.new{ - #che_enable - if Value['proxy-providers'].values[$provider_count].key?('health-check') then - if Value['proxy-providers'].values[$provider_count]['health-check'].key?('enable') then - provider_che_enable = '${uci_set}health_check=' + Value['proxy-providers'].values[$provider_count]['health-check']['enable'].to_s - system(provider_che_enable) - end - end - }.join; - - Thread.new{ - #che_url - if Value['proxy-providers'].values[$provider_count].key?('health-check') then - if Value['proxy-providers'].values[$provider_count]['health-check'].key?('url') then - provider_che_url = '${uci_set}health_check_url=\"' + Value['proxy-providers'].values[$provider_count]['health-check']['url'].to_s + '\"' - system(provider_che_url) - end - end - }.join; - - Thread.new{ - #che_interval - if Value['proxy-providers'].values[$provider_count].key?('health-check') then - if Value['proxy-providers'].values[$provider_count]['health-check'].key?('interval') then - provider_che_interval = '${uci_set}health_check_interval=' + Value['proxy-providers'].values[$provider_count]['health-check']['interval'].to_s - system(provider_che_interval) - end - end - }.join; - - rescue Exception => e - puts '${LOGTIME} Resolve Proxy-provider【${CONFIG_NAME} - ${provider_name}】 Error: ' + e.message - end - " 2>/dev/null >> $LOG_FILE & - - if [ "$servers_update" != 1 ] || [ -z "$provider_nums" ]; then - #加入策略组 - if [ "$servers_if_update" == 1 ] && [ "$config_group_exist" == 1 ]; then - #新代理集且设置默认策略组时加入指定策略组 - config_load "openclash" - config_list_foreach "config" "new_servers_group" cfg_new_provider_groups_get - else - ruby -ryaml -E UTF-8 -e " - Thread.new{ - begin - Value = $group_hash - Value['proxy-groups'].each{ - |x| - if x.key?('use') then - if x['use'].include?('$provider_name') then - uci = '${uci_add}groups=\"' + x['name'] + '\"' - system(uci) - end - end - } - rescue Exception => e - puts '${LOGTIME} Resolve Proxy-provider【${CONFIG_NAME} - ${provider_name}】 Error: ' + e.message - end - }.join; - " 2>/dev/null >> $LOG_FILE & - fi - fi - let provider_count++ -done 2>/dev/null - - -#删除订阅中已不存在的代理集 -if [ "$servers_if_update" = "1" ]; then - echo "删除【$CONFIG_NAME】订阅中已不存在的代理集..." >$START_LOG - sed -i '/#match#/d' "$match_provider" 2>/dev/null - cat $match_provider 2>/dev/null|awk -F '.' '{print $1}' |sort -rn |while read line - do - if [ -z "$line" ]; then - continue - fi - if [ "$(uci get openclash.@proxy-provider["$line"].manual)" = "0" ] && [ "$(uci get openclash.@proxy-provider["$line"].config)" = "$CONFIG_NAME" ]; then - uci delete openclash.@proxy-provider["$line"] 2>/dev/null - fi - done -fi - - -yml_servers_name_get() -{ - local section="$1" - config_get "name" "$section" "name" "" - [ ! -z "$name" ] && { - echo "$server_num.$name" >>"$match_servers" - } - server_num=$(( $server_num + 1 )) -} - -server_key_get() -{ - local section="$1" - config_get_bool "enabled" "$section" "enabled" "1" - - if [ "$enabled" = "0" ]; then - return - fi - - config_get "name" "$section" "name" "" - config_get "keyword" "$section" "keyword" "" - config_get "ex_keyword" "$section" "ex_keyword" "" - - if [ -z "$name" ]; then - name="config" - fi - - if [ ! -z "$keyword" ] && [ "$name.yaml" == "$CONFIG_NAME" ]; then - config_keyword="$keyword" - key_section="$1" - fi - - if [ ! -z "$ex_keyword" ] && [ "$name.yaml" == "$CONFIG_NAME" ]; then - config_ex_keyword="$ex_keyword" - key_section="$1" - fi - -} - -server_key_match() -{ - - if [ "$match" = "true" ] || [ ! -z "$(echo "$1" |grep "^ \{0,\}$")" ] || [ ! -z "$(echo "$1" |grep "^\t\{0,\}$")" ]; then - return - fi - - if [ ! -z "$(echo "$1" |grep "&")" ]; then - key_word=$(echo "$1" |sed 's/&/ /g') - match=0 - matchs=0 - for k in $key_word - do - if [ -z "$k" ]; then - continue - fi - - if [ ! -z "$(echo "$2" |grep -i "$k")" ]; then - match=$(( $match + 1 )) - fi - matchs=$(( $matchs + 1 )) - done - if [ "$match" = "$matchs" ]; then - match="true" - else - match="false" - fi - else - if [ ! -z "$(echo "$2" |grep -i "$1")" ]; then - match="true" - fi - fi -} - -server_key_exmatch() -{ - - if [ "$match" = "false" ] || [ ! -z "$(echo "$1" |grep "^ \{0,\}$")" ] || [ ! -z "$(echo "$1" |grep "^\t\{0,\}$")" ]; then - return - fi - - if [ ! -z "$(echo "$1" |grep "&")" ]; then - key_word=$(echo "$1" |sed 's/&/ /g') - match=0 - matchs=0 - for k in $key_word - do - if [ -z "$k" ]; then - continue - fi - - if [ ! -z "$(echo "$2" |grep -i "$k")" ]; then - match=$(( $match + 1 )) - fi - matchs=$(( $matchs + 1 )) - done - if [ "$match" = "$matchs" ]; then - match="false" - else - match="true" - fi - else - if [ ! -z "$(echo "$2" |grep -i "$1")" ]; then - match="false" - fi - fi -} - -cfg_new_servers_groups_get() -{ - if [ -z "$1" ]; then - return - fi - - ${uci_add}groups="${1}" -} - -echo "开始更新【$CONFIG_NAME】的服务器节点配置..." >$START_LOG - -[ "$servers_update" -eq 1 ] && { -echo "" >"$match_servers" -server_num=0 -config_load "openclash" -config_foreach yml_servers_name_get "servers" -} - -while [ "$count" -lt "$num" ] -do - #name - server_name=$(ruby_read_hash "$proxy_hash" "['proxies'][$count]['name']") - - if [ -z "$server_name" ]; then - let count++ - continue - fi - - config_load "openclash" - config_foreach server_key_get "config_subscribe" - - #匹配关键字订阅节点 - if [ "$servers_if_update" = "1" ]; then - if [ -n "$config_keyword" ] || [ -n "$config_ex_keyword" ]; then - if [ -n "$config_keyword" ] && [ -z "$config_ex_keyword" ]; then - match="false" - config_list_foreach "$key_section" "keyword" server_key_match "$server_name" - elif [ -z "$config_keyword" ] && [ ! -z "$config_ex_keyword" ]; then - match="true" - config_list_foreach "$key_section" "ex_keyword" server_key_exmatch "$server_name" - elif [ ! -z "$config_keyword" ] && [ ! -z "$config_ex_keyword" ]; then - match="false" - config_list_foreach "$key_section" "keyword" server_key_match "$server_name" - config_list_foreach "$key_section" "ex_keyword" server_key_exmatch "$server_name" - fi - - if [ "$match" = "false" ]; then - echo "跳过【$server_name】服务器节点..." >$START_LOG - let count++ - continue - fi - fi - fi - -#节点存在时获取节点编号 - server_num=$(grep -Fw "$server_name" "$match_servers" 2>/dev/null|awk -F '.' '{print $1}') - if [ "$servers_update" -eq 1 ] && [ -n "$server_num" ]; then - sed -i "/^${server_num}\./c\#match#" "$match_servers" 2>/dev/null - fi - - #type - server_type=$(ruby_read_hash "$proxy_hash" "['proxies'][$count]['type']") - - echo "正在读取【$CONFIG_NAME】-【$server_type】-【$server_name】服务器节点配置..." > "$START_LOG" - - if [ "$servers_update" -eq 1 ] && [ ! -z "$server_num" ]; then -#更新已有节点 - uci_set="uci -q set openclash.@servers["$server_num"]." - uci_add="uci -q add_list $name.$uci_name_tmp." - uci_del="uci -q del_list $name.$uci_name_tmp." - - ${uci_set}manual="0" - ${uci_set}name="$server_name" - ${uci_set}type="$server_type" - else -#添加新节点 - name=openclash - uci_name_tmp=$(uci add $name servers) - - uci_set="uci -q set $name.$uci_name_tmp." - uci_add="uci -q add_list $name.$uci_name_tmp." - - if [ "$config_group_exist" -eq 0 ] && [ "$servers_if_update" = "1" ] && [ "$servers_update" -eq 1 ]; then - ${uci_set}enabled="0" - else - ${uci_set}enabled="1" - fi - if [ "$servers_if_update" = "1" ]; then - ${uci_set}manual="0" - else - ${uci_set}manual="1" - fi - ${uci_set}config="$CONFIG_NAME" - ${uci_set}name="$server_name" - ${uci_set}type="$server_type" - fi - - ruby -ryaml -E UTF-8 -e " - begin - Value = $proxy_hash; - Thread.new{ - #server - if Value['proxies'][$count].key?('server') then - server = '${uci_set}server=\"' + Value['proxies'][$count]['server'].to_s + '\"' - system(server) - end - }.join; - - Thread.new{ - #port - if Value['proxies'][$count].key?('port') then - port = '${uci_set}port=' + Value['proxies'][$count]['port'].to_s - system(port) - end - }.join; - - Thread.new{ - #udp - if Value['proxies'][$count].key?('udp') then - udp = '${uci_set}udp=' + Value['proxies'][$count]['udp'].to_s - system(udp) - end - }.join; - - if '$server_type' == 'ss' then - Thread.new{ - #cipher - if Value['proxies'][$count].key?('cipher') then - cipher = '${uci_set}cipher=' + Value['proxies'][$count]['cipher'].to_s - system(cipher) - end - }.join - - Thread.new{ - #plugin-opts - if Value['proxies'][$count].key?('plugin-opts') then - #mode - if Value['proxies'][$count]['plugin-opts'].key?('mode') then - mode = '${uci_set}obfs=' + Value['proxies'][$count]['plugin-opts']['mode'].to_s - system(mode) - else - mode = '${uci_set}obfs=none' - system(mode) - end - #host: - if Value['proxies'][$count]['plugin-opts'].key?('host') then - host = '${uci_set}host=\"' + Value['proxies'][$count]['plugin-opts']['host'].to_s + '\"' - system(host) - end - if Value['proxies'][$count]['plugin'].to_s == 'v2ray-plugin' then - #path - if Value['proxies'][$count]['plugin-opts'].key?('path') then - path = '${uci_set}path=\"' + Value['proxies'][$count]['plugin-opts']['path'].to_s + '\"' - system(path) - end - #mux - if Value['proxies'][$count]['plugin-opts'].key?('mux') then - mux = '${uci_set}mux=' + Value['proxies'][$count]['plugin-opts']['mux'].to_s - system(mux) - end - #headers - if Value['proxies'][$count]['plugin-opts'].key?('headers') then - if Value['proxies'][$count]['plugin-opts']['headers'].key?('custom') then - custom = '${uci_set}custom=\"' + Value['proxies'][$count]['plugin-opts']['headers']['custom'].to_s + '\"' - system(custom) - end - end - #tls - if Value['proxies'][$count]['plugin-opts'].key?('tls') then - tls = '${uci_set}tls=' + Value['proxies'][$count]['plugin-opts']['tls'].to_s - system(tls) - end - #skip-cert-verify - if Value['proxies'][$count]['plugin-opts'].key?('skip-cert-verify') then - skip_cert_verify = '${uci_set}skip_cert_verify=' + Value['proxies'][$count]['plugin-opts']['skip-cert-verify'].to_s - system(skip_cert_verify) - end - end - end - }.join - end; - if '$server_type' == 'ssr' then - Thread.new{ - #cipher - if Value['proxies'][$count].key?('cipher') then - cipher = '${uci_set}cipher_ssr=' + Value['proxies'][$count]['cipher'].to_s - system(cipher) - end - }.join - - Thread.new{ - #obfs - if Value['proxies'][$count].key?('obfs') then - obfs = '${uci_set}obfs_ssr=' + Value['proxies'][$count]['obfs'].to_s - system(obfs) - end - }.join - - Thread.new{ - #protocol - if Value['proxies'][$count].key?('protocol') then - protocol = '${uci_set}protocol=' + Value['proxies'][$count]['protocol'].to_s - system(protocol) - end - }.join - - Thread.new{ - #obfs-param - if Value['proxies'][$count].key?('obfs-param') then - obfs_param = '${uci_set}obfs_param=\"' + Value['proxies'][$count]['obfs-param'].to_s + '\"' - system(obfs_param) - end - }.join - - Thread.new{ - #protocol-param - if Value['proxies'][$count].key?('protocol-param') then - protocol_param = '${uci_set}protocol_param=\"' + Value['proxies'][$count]['protocol-param'].to_s + '\"' - system(protocol_param) - end - }.join - end; - if '$server_type' == 'vmess' then - Thread.new{ - #uuid - if Value['proxies'][$count].key?('uuid') then - uuid = '${uci_set}uuid=' + Value['proxies'][$count]['uuid'].to_s - system(uuid) - end - }.join - - Thread.new{ - #alterId - if Value['proxies'][$count].key?('alterId') then - alterId = '${uci_set}alterId=' + Value['proxies'][$count]['alterId'].to_s - system(alterId) - end - }.join - - Thread.new{ - #cipher - if Value['proxies'][$count].key?('cipher') then - cipher = '${uci_set}securitys=' + Value['proxies'][$count]['cipher'].to_s - system(cipher) - end - }.join - - Thread.new{ - #tls - if Value['proxies'][$count].key?('tls') then - tls = '${uci_set}tls=' + Value['proxies'][$count]['tls'].to_s - system(tls) - end - }.join - - Thread.new{ - #skip-cert-verify - if Value['proxies'][$count].key?('skip-cert-verify') then - skip_cert_verify = '${uci_set}skip_cert_verify=' + Value['proxies'][$count]['skip-cert-verify'].to_s - system(skip_cert_verify) - end - }.join - - Thread.new{ - #servername - if Value['proxies'][$count].key?('servername') then - servername = '${uci_set}servername=\"' + Value['proxies'][$count]['servername'].to_s + '\"' - system(servername) - end - }.join - - Thread.new{ - #network: - if Value['proxies'][$count].key?('network') then - if Value['proxies'][$count]['network'].to_s == 'ws' - system '${uci_set}obfs_vmess=websocket' - #ws-path: - if Value['proxies'][$count].key?('ws-path') then - path = '${uci_set}path=\"' + Value['proxies'][$count]['ws-path'].to_s + '\"' - system(path) - end - #Host: - if Value['proxies'][$count].key?('ws-headers') then - if Value['proxies'][$count]['ws-headers'].key?('Host') then - custom = '${uci_set}custom=\"' + Value['proxies'][$count]['ws-headers']['Host'].to_s + '\"' - system(custom) - end - end - elsif Value['proxies'][$count]['network'].to_s == 'http' - system '${uci_set}obfs_vmess=http' - if Value['proxies'][$count].key?('http-opts') then - if Value['proxies'][$count]['http-opts'].key?('path') then - system '${uci_del}http_path >/dev/null 2>&1' - Value['proxies'][$count]['http-opts']['path'].each{ - |x| - http_path = '${uci_add}http_path=\"' + x.to_s + '\"' - system(http_path) - } - end - if Value['proxies'][$count]['http-opts'].key?('headers') then - if Value['proxies'][$count]['http-opts']['headers'].key?('Connection') then - if Value['proxies'][$count]['http-opts']['headers']['Connection'].include?('keep-alive') then - keep_alive = '${uci_set}keep_alive=true' - else - keep_alive = '${uci_set}keep_alive=false' - end - system(keep_alive) - end - end - end - elsif Value['proxies'][$count]['network'].to_s == 'h2' - system '${uci_set}obfs_vmess=h2' - if Value['proxies'][$count].key?('h2-opts') then - if Value['proxies'][$count]['h2-opts'].key?('host') then - system '${uci_del}h2_host >/dev/null 2>&1' - Value['proxies'][$count]['h2-opts']['host'].each{ - |x| - h2_host = '${uci_add}h2_host=\"' + x.to_s + '\"' - system(h2_host) - } - end - if Value['proxies'][$count]['h2-opts'].key?('path') then - h2_path = '${uci_set}h2_path=\"' + Value['proxies'][$count]['h2-opts']['host'].to_s + '\"' - system(h2_path) - end - end - else - system '${uci_set}obfs_vmess=none' - end - end - }.join - end; - if '$server_type' == 'snell' then - Thread.new{ - if Value['proxies'][$count].key?('obfs-opts') then - if Value['proxies'][$count]['obfs-opts'].key?('mode') then - mode = '${uci_set}obfs_snell=' + Value['proxies'][$count]['obfs-opts']['mode'].to_s - system(mode) - else - system '${uci_set}obfs_snell=none' - end - if Value['proxies'][$count]['obfs-opts'].key?('host') then - host = '${uci_set}host=\"' + Value['proxies'][$count]['obfs-opts']['host'].to_s + '\"' - system(host) - end - end - }.join - - Thread.new{ - if Value['proxies'][$count].key?('psk') then - psk = '${uci_set}psk=' + Value['proxies'][$count]['psk'].to_s - system(psk) - end - }.join - end; - if '$server_type' == 'socks5' or '$server_type' == 'http' then - Thread.new{ - if Value['proxies'][$count].key?('username') then - username = '${uci_set}auth_name=\"' + Value['proxies'][$count]['username'].to_s + '\"' - system(username) - end - }.join - - Thread.new{ - if Value['proxies'][$count].key?('password') then - password = '${uci_set}auth_pass=\"' + Value['proxies'][$count]['password'].to_s + '\"' - system(password) - end - }.join - - Thread.new{ - #tls - if Value['proxies'][$count].key?('tls') then - tls = '${uci_set}tls=' + Value['proxies'][$count]['tls'].to_s - system(tls) - end - }.join - - Thread.new{ - #skip-cert-verify - if Value['proxies'][$count].key?('skip-cert-verify') then - skip_cert_verify = '${uci_set}skip_cert_verify=' + Value['proxies'][$count]['skip-cert-verify'].to_s - system(skip_cert_verify) - end - }.join - else - Thread.new{ - if Value['proxies'][$count].key?('password') then - password = '${uci_set}password=\"' + Value['proxies'][$count]['password'].to_s + '\"' - system(password) - end - }.join - end; - if '$server_type' == 'http' or '$server_type' == 'trojan' then - Thread.new{ - if Value['proxies'][$count].key?('sni') then - sni = '${uci_set}sni=\"' + Value['proxies'][$count]['sni'].to_s + '\"' - system(sni) - end - }.join - end; - if '$server_type' == 'trojan' then - Thread.new{ - #alpn - if Value['proxies'][$count].key?('alpn') then - system '${uci_del}alpn >/dev/null 2>&1' - Value['proxies'][$count]['alpn'].each{ - |x| - alpn = '${uci_add}alpn=\"' + x.to_s + '\"' - system(alpn) - } - end - }.join - - Thread.new{ - #skip-cert-verify - if Value['proxies'][$count].key?('skip-cert-verify') then - skip_cert_verify = '${uci_set}skip_cert_verify=' + Value['proxies'][$count]['skip-cert-verify'].to_s - system(skip_cert_verify) - end - }.join - end; - - rescue Exception => e - puts '${LOGTIME} Resolve Proxy【${CONFIG_NAME} - ${server_type} - ${server_name}】 Error: ' + e.message - end - " 2>/dev/null >> $LOG_FILE & - - if [ "$servers_update" != 1 ] || [ -z "$server_num" ]; then - #加入策略组 - if [ "$servers_if_update" = 1 ] && [ "$config_group_exist" = 1 ]; then - #新代理且设置默认策略组时加入指定策略组 - config_load "openclash" - config_list_foreach "config" "new_servers_group" cfg_new_servers_groups_get - else - ruby -ryaml -E UTF-8 -e " - Thread.new{ - begin - Value = $group_hash - #proxy - Value['proxy-groups'].each{ - |x| - if x.key?('proxies') then - if x['proxies'].include?('$server_name') then - uci_proxy = '${uci_add}groups=\"' + x['name'] + '\"' - system(uci_proxy) - end - end - } - #relay - Value['proxy-groups'].each{ - |x| - if x['type'] == 'relay' then - if x['proxies'].include?('$server_name') then - uci_relay = '${uci_add}relay_groups=\"' + x['name'] + '#relay#' + x['proxies'].index('$server_name') + '\"' - system(uci_relay) - end - end - } - rescue Exception => e - puts '${LOGTIME} Resolve Proxy【${CONFIG_NAME} - ${server_type} - ${server_name}】 Error: ' + e.message - end - }.join; - " 2>/dev/null >> $LOG_FILE & - fi - fi - let count++ -done 2>/dev/null - -#删除订阅中已不存在的节点 -if [ "$servers_if_update" = "1" ]; then - echo "删除【$CONFIG_NAME】订阅中已不存在的节点..." >$START_LOG - sed -i '/#match#/d' "$match_servers" 2>/dev/null - cat $match_servers |awk -F '.' '{print $1}' |sort -rn |while read -r line - do - if [ -z "$line" ]; then - continue - fi - if [ "$(uci get openclash.@servers["$line"].manual 2>/dev/null)" = "0" ] && [ "$(uci get openclash.@servers["$line"].config 2>/dev/null)" = "$CONFIG_NAME" ]; then - uci delete openclash.@servers["$line"] 2>/dev/null - fi - done 2>/dev/null -fi - -uci set openclash.config.servers_if_update=0 -wait -uci commit openclash -/usr/share/openclash/cfg_servers_address_fake_filter.sh -echo "配置文件【$CONFIG_NAME】读取完成!" >$START_LOG -sleep 3 -echo "" >$START_LOG -rm -rf /tmp/match_servers.list 2>/dev/null -rm -rf /tmp/match_provider.list 2>/dev/null -rm -rf /tmp/yaml_other_group.yaml 2>/dev/null diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_set.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_set.sh deleted file mode 100755 index 65937242a5..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_proxys_set.sh +++ /dev/null @@ -1,1109 +0,0 @@ -#!/bin/sh -. /lib/functions.sh -. /usr/share/openclash/openclash_ps.sh -. /usr/share/openclash/ruby.sh - -status=$(unify_ps_status "yml_proxys_set.sh") -[ "$status" -gt "3" ] && exit 0 - -START_LOG="/tmp/openclash_start.log" -SERVER_FILE="/tmp/yaml_servers.yaml" -PROXY_PROVIDER_FILE="/tmp/yaml_provider.yaml" -servers_if_update=$(uci get openclash.config.servers_if_update 2>/dev/null) -config_auto_update=$(uci get openclash.config.auto_update 2>/dev/null) -CONFIG_FILE=$(uci get openclash.config.config_path 2>/dev/null) -CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) -UPDATE_CONFIG_FILE=$(uci get openclash.config.config_update_path 2>/dev/null) -UPDATE_CONFIG_NAME=$(echo "$UPDATE_CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) -UCI_DEL_LIST="uci del_list openclash.config.new_servers_group" -UCI_ADD_LIST="uci add_list openclash.config.new_servers_group" -UCI_SET="uci set openclash.config." -MIX_PROXY=$(uci get openclash.config.mix_proxies 2>/dev/null) -servers_name="/tmp/servers_name.list" -proxy_provider_name="/tmp/provider_name.list" - -if [ ! -z "$UPDATE_CONFIG_FILE" ]; then - CONFIG_FILE="$UPDATE_CONFIG_FILE" - CONFIG_NAME="$UPDATE_CONFIG_NAME" -fi - -if [ -z "$CONFIG_FILE" ]; then - CONFIG_FILE="/etc/openclash/config/$(ls -lt /etc/openclash/config/ | grep -E '.yaml|.yml' | head -n 1 |awk '{print $9}')" - CONFIG_NAME=$(echo "$CONFIG_FILE" |awk -F '/' '{print $5}' 2>/dev/null) -fi - -if [ -z "$CONFIG_NAME" ]; then - CONFIG_FILE="/etc/openclash/config/config.yaml" - CONFIG_NAME="config.yaml" -fi - -yml_other_rules_del() -{ - local section="$1" - local enabled config - config_get_bool "enabled" "$section" "enabled" "1" - config_get "config" "$section" "config" "" - config_get "rule_name" "$section" "rule_name" "" - - if [ "$enabled" = "0" ] || [ "$config" != "$2" ] || [ "$rule_name" != "$3" ]; then - return - else - uci set openclash."$section".enabled=0 2>/dev/null - fi -} -#写入代理集到配置文件 -yml_proxy_provider_set() -{ - local section="$1" - config_get_bool "enabled" "$section" "enabled" "1" - config_get "config" "$section" "config" "" - config_get "type" "$section" "type" "" - config_get "name" "$section" "name" "" - config_get "path" "$section" "path" "" - config_get "provider_url" "$section" "provider_url" "" - config_get "provider_interval" "$section" "provider_interval" "" - config_get "health_check" "$section" "health_check" "" - config_get "health_check_url" "$section" "health_check_url" "" - config_get "health_check_interval" "$section" "health_check_interval" "" - - if [ "$enabled" = "0" ]; then - return - fi - - if [ -z "$type" ]; then - return - fi - - if [ -z "$name" ]; then - return - fi - - if [ "$path" != "./proxy_provider/$name.yaml" ] && [ "$type" = "http" ]; then - path="./proxy_provider/$name.yaml" - elif [ -z "$path" ]; then - return - fi - - if [ -z "$health_check" ]; then - return - fi - - if [ ! -z "$if_game_proxy" ] && [ "$if_game_proxy" != "$name" ] && [ "$if_game_proxy_type" = "proxy-provider" ]; then - return - fi - - if [ "$MIX_PROXY" != "1" ] && [ ! -z "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then - return - fi - - #避免重复代理集 - if [ "$config" = "$CONFIG_NAME" ] || [ "$config" = "all" ]; then - if [ -n "$(grep -w "path: $path" "$PROXY_PROVIDER_FILE" 2>/dev/null)" ]; then - return - elif [ "$(grep -w "$name$" "$proxy_provider_name" |wc -l 2>/dev/null)" -ge 2 ] && [ -z "$(grep -w "path: $path" "$PROXY_PROVIDER_FILE" 2>/dev/null)" ]; then - sed -i "1,/${name}/{//d}" "$proxy_provider_name" 2>/dev/null - return - fi - fi - - echo "正在写入【$type】-【$name】代理集到配置文件【$CONFIG_NAME】..." >$START_LOG - echo "$name" >> /tmp/Proxy_Provider - -cat >> "$PROXY_PROVIDER_FILE" <<-EOF - $name: - type: $type - path: $path -EOF - if [ ! -z "$provider_url" ]; then -cat >> "$PROXY_PROVIDER_FILE" <<-EOF - url: $provider_url - interval: $provider_interval -EOF - fi -cat >> "$PROXY_PROVIDER_FILE" <<-EOF - health-check: - enable: $health_check - url: $health_check_url - interval: $health_check_interval -EOF - -} - -set_alpn() -{ - if [ -z "$1" ]; then - return - fi -cat >> "$SERVER_FILE" <<-EOF - - $1 -EOF -} - -set_http_path() -{ - if [ -z "$1" ]; then - return - fi -cat >> "$SERVER_FILE" <<-EOF - - '$1' -EOF -} - -set_h2_host() -{ - if [ -z "$1" ]; then - return - fi -cat >> "$SERVER_FILE" <<-EOF - - '$1' -EOF -} - -#写入服务器节点到配置文件 -yml_servers_set() -{ - - local section="$1" - config_get_bool "enabled" "$section" "enabled" "1" - config_get "config" "$section" "config" "" - config_get "type" "$section" "type" "" - config_get "name" "$section" "name" "" - config_get "server" "$section" "server" "" - config_get "port" "$section" "port" "" - config_get "cipher" "$section" "cipher" "" - config_get "cipher_ssr" "$section" "cipher_ssr" "" - config_get "password" "$section" "password" "" - config_get "securitys" "$section" "securitys" "" - config_get "udp" "$section" "udp" "" - config_get "obfs" "$section" "obfs" "" - config_get "obfs_ssr" "$section" "obfs_ssr" "" - config_get "obfs_param" "$section" "obfs_param" "" - config_get "obfs_vmess" "$section" "obfs_vmess" "" - config_get "protocol" "$section" "protocol" "" - config_get "protocol_param" "$section" "protocol_param" "" - config_get "host" "$section" "host" "" - config_get "mux" "$section" "mux" "" - config_get "custom" "$section" "custom" "" - config_get "tls" "$section" "tls" "" - config_get "skip_cert_verify" "$section" "skip_cert_verify" "" - config_get "path" "$section" "path" "" - config_get "alterId" "$section" "alterId" "" - config_get "uuid" "$section" "uuid" "" - config_get "auth_name" "$section" "auth_name" "" - config_get "auth_pass" "$section" "auth_pass" "" - config_get "psk" "$section" "psk" "" - config_get "obfs_snell" "$section" "obfs_snell" "" - config_get "sni" "$section" "sni" "" - config_get "alpn" "$section" "alpn" "" - config_get "http_path" "$section" "http_path" "" - config_get "keep_alive" "$section" "keep_alive" "" - config_get "servername" "$section" "servername" "" - config_get "h2_path" "$section" "h2_path" "" - config_get "h2_host" "$section" "h2_host" "" - - if [ "$enabled" = "0" ]; then - return - fi - - if [ -z "$type" ]; then - return - fi - - if [ -z "$name" ]; then - return - fi - - if [ -z "$server" ]; then - return - fi - - if [ -z "$port" ]; then - return - fi - - if [ -z "$password" ]; then - if [ "$type" = "ss" ] || [ "$type" = "trojan" ] || [ "$type" = "ssr" ]; then - return - fi - fi - - if [ ! -z "$if_game_proxy" ] && [ "$if_game_proxy" != "$name" ] && [ "$if_game_proxy_type" = "proxy" ]; then - return - fi - - if [ "$MIX_PROXY" != "1" ] && [ ! -z "$config" ] && [ "$config" != "$CONFIG_NAME" ] && [ "$config" != "all" ]; then - return - fi - - #避免重复节点 - if [ "$config" = "$CONFIG_NAME" ] || [ "$config" = "all" ]; then - if [ "$(grep -w "$name$" "$servers_name" |wc -l 2>/dev/null)" -ge 2 ] && [ -n "$(grep -w "name: \"$name\"" "$SERVER_FILE" 2>/dev/null)" ]; then - return - fi - fi - - if [ "$config" = "$CONFIG_NAME" ] || [ "$config" = "all" ]; then - if [ -n "$(grep -w "name: \"$name\"" "$SERVER_FILE" 2>/dev/null)" ]; then - return - elif [ "$(grep -w "$name$" "$servers_name" |wc -l 2>/dev/null)" -ge 2 ] && [ -z "$(grep -w "name: \"$name\"" "$SERVER_FILE" 2>/dev/null)" ]; then - sed -i "1,/${name}/{//d}" "$servers_name" 2>/dev/null - return - fi - fi - echo "正在写入【$type】-【$name】节点到配置文件【$CONFIG_NAME】..." >$START_LOG - - if [ "$obfs" != "none" ] && [ -n "$obfs" ]; then - if [ "$obfs" = "websocket" ]; then - obfss="plugin: v2ray-plugin" - else - obfss="plugin: obfs" - fi - else - obfss="" - fi - - if [ "$obfs_vmess" = "websocket" ]; then - obfs_vmess="network: ws" - fi - - if [ "$obfs_vmess" = "http" ]; then - obfs_vmess="network: http" - fi - - if [ "$obfs_vmess" = "h2" ]; then - obfs_vmess="network: h2" - fi - - if [ ! -z "$custom" ] && [ "$type" = "vmess" ]; then - custom="Host: $custom" - fi - - if [ ! -z "$path" ]; then - if [ "$type" != "vmess" ]; then - path="path: '$path'" - elif [ "$obfs_vmess" = "network: ws" ]; then - path="ws-path: $path" - fi - fi - -#ss - if [ "$type" = "ss" ]; then -cat >> "$SERVER_FILE" <<-EOF - - name: "$name" - type: $type - server: $server - port: $port - cipher: $cipher - password: "$password" -EOF - if [ ! -z "$udp" ]; then -cat >> "$SERVER_FILE" <<-EOF - udp: $udp -EOF - fi - if [ ! -z "$obfss" ]; then -cat >> "$SERVER_FILE" <<-EOF - $obfss - plugin-opts: - mode: $obfs -EOF - if [ ! -z "$host" ]; then -cat >> "$SERVER_FILE" <<-EOF - host: $host -EOF - fi - if [ "$obfss" = "plugin: v2ray-plugin" ]; then - if [ ! -z "$tls" ]; then -cat >> "$SERVER_FILE" <<-EOF - tls: $tls -EOF - fi - if [ ! -z "$skip_cert_verify" ]; then -cat >> "$SERVER_FILE" <<-EOF - skip-cert-verify: $skip_cert_verify -EOF - fi - if [ ! -z "$path" ]; then -cat >> "$SERVER_FILE" <<-EOF - $path -EOF - fi - if [ ! -z "$mux" ]; then -cat >> "$SERVER_FILE" <<-EOF - mux: $mux -EOF - fi - if [ ! -z "$custom" ]; then -cat >> "$SERVER_FILE" <<-EOF - headers: - custom: $custom -EOF - fi - fi - fi - fi - -#ssr -if [ "$type" = "ssr" ]; then -cat >> "$SERVER_FILE" <<-EOF - - name: "$name" - type: $type - server: $server - port: $port - cipher: $cipher_ssr - password: "$password" - obfs: "$obfs_ssr" - protocol: "$protocol" -EOF - if [ ! -z "$obfs_param" ]; then -cat >> "$SERVER_FILE" <<-EOF - obfs-param: $obfs_param -EOF - fi - if [ ! -z "$protocol_param" ]; then -cat >> "$SERVER_FILE" <<-EOF - protocol-param: $protocol_param -EOF - fi - if [ ! -z "$udp" ]; then -cat >> "$SERVER_FILE" <<-EOF - udp: $udp -EOF - fi -fi - -#vmess - if [ "$type" = "vmess" ]; then -cat >> "$SERVER_FILE" <<-EOF - - name: "$name" - type: $type - server: $server - port: $port - uuid: $uuid - alterId: $alterId - cipher: $securitys -EOF - if [ ! -z "$udp" ]; then -cat >> "$SERVER_FILE" <<-EOF - udp: $udp -EOF - fi - if [ ! -z "$skip_cert_verify" ]; then -cat >> "$SERVER_FILE" <<-EOF - skip-cert-verify: $skip_cert_verify -EOF - fi - if [ ! -z "$tls" ]; then -cat >> "$SERVER_FILE" <<-EOF - tls: $tls -EOF - fi - if [ ! -z "$servername" ] && [ "$tls" = "true" ]; then -cat >> "$SERVER_FILE" <<-EOF - servername: $servername -EOF - fi - if [ "$obfs_vmess" != "none" ]; then -cat >> "$SERVER_FILE" <<-EOF - $obfs_vmess -EOF - if [ ! -z "$path" ] && [ "$obfs_vmess" = "network: ws" ]; then -cat >> "$SERVER_FILE" <<-EOF - $path -EOF - fi - if [ ! -z "$custom" ] && [ "$obfs_vmess" = "network: ws" ]; then -cat >> "$SERVER_FILE" <<-EOF - ws-headers: - $custom -EOF - fi - if [ ! -z "$http_path" ] && [ "$obfs_vmess" = "network: http" ]; then -cat >> "$SERVER_FILE" <<-EOF - http-opts: - method: "GET" - path: -EOF - config_list_foreach "$section" "http_path" set_http_path - fi - if [ "$keep_alive" = "true" ] && [ "$obfs_vmess" = "network: http" ]; then -cat >> "$SERVER_FILE" <<-EOF - headers: - Connection: - - keep-alive -EOF - fi - - #h2 - if [ ! -z "$h2_host" ] && [ "$obfs_vmess" = "network: h2" ]; then -cat >> "$SERVER_FILE" <<-EOF - h2-opts: - host: -EOF - config_list_foreach "$section" "h2_host" set_h2_host - fi - if [ ! -z "$h2_path" ] && [ "$obfs_vmess" = "network: h2" ]; then -cat >> "$SERVER_FILE" <<-EOF - path: $h2_path -EOF - fi - fi - fi - -#socks5 - if [ "$type" = "socks5" ]; then -cat >> "$SERVER_FILE" <<-EOF - - name: "$name" - type: $type - server: $server - port: $port -EOF - if [ ! -z "$auth_name" ]; then -cat >> "$SERVER_FILE" <<-EOF - username: $auth_name -EOF - fi - if [ ! -z "$auth_pass" ]; then -cat >> "$SERVER_FILE" <<-EOF - password: $auth_pass -EOF - fi - if [ ! -z "$udp" ]; then -cat >> "$SERVER_FILE" <<-EOF - udp: $udp -EOF - fi - if [ ! -z "$skip_cert_verify" ]; then -cat >> "$SERVER_FILE" <<-EOF - skip-cert-verify: $skip_cert_verify -EOF - fi - if [ ! -z "$tls" ]; then -cat >> "$SERVER_FILE" <<-EOF - tls: $tls -EOF - fi - fi - -#http - if [ "$type" = "http" ]; then -cat >> "$SERVER_FILE" <<-EOF - - name: "$name" - type: $type - server: $server - port: $port -EOF - if [ ! -z "$auth_name" ]; then -cat >> "$SERVER_FILE" <<-EOF - username: $auth_name -EOF - fi - if [ ! -z "$auth_pass" ]; then -cat >> "$SERVER_FILE" <<-EOF - password: $auth_pass -EOF - fi - if [ ! -z "$skip_cert_verify" ]; then -cat >> "$SERVER_FILE" <<-EOF - skip-cert-verify: $skip_cert_verify -EOF - fi - if [ ! -z "$tls" ]; then -cat >> "$SERVER_FILE" <<-EOF - tls: $tls -EOF - fi - if [ ! -z "$sni" ]; then -cat >> "$SERVER_FILE" <<-EOF - sni: $sni -EOF - fi - fi - -#trojan - if [ "$type" = "trojan" ]; then -cat >> "$SERVER_FILE" <<-EOF - - name: "$name" - type: $type - server: $server - port: $port - password: "$password" -EOF - if [ ! -z "$udp" ]; then -cat >> "$SERVER_FILE" <<-EOF - udp: $udp -EOF - fi - if [ ! -z "$sni" ]; then -cat >> "$SERVER_FILE" <<-EOF - sni: $sni -EOF - fi - if [ ! -z "$alpn" ]; then -cat >> "$SERVER_FILE" <<-EOF - alpn: -EOF - config_list_foreach "$section" "alpn" set_alpn - fi - if [ ! -z "$skip_cert_verify" ]; then -cat >> "$SERVER_FILE" <<-EOF - skip-cert-verify: $skip_cert_verify -EOF - fi - fi - -#snell - if [ "$type" = "snell" ]; then -cat >> "$SERVER_FILE" <<-EOF - - name: "$name" - type: $type - server: $server - port: $port - psk: $psk -EOF - if [ "$obfs_snell" != "none" ] && [ ! -z "$host" ]; then -cat >> "$SERVER_FILE" <<-EOF - obfs-opts: - mode: $obfs_snell - host: $host -EOF - fi - fi - -} - -new_servers_group_set() -{ - local section="$1" - config_get_bool "enabled" "$section" "enabled" "1" - config_get "name" "$section" "name" "" - - if [ "$enabled" = "0" ]; then - return - fi - - if [ -z "$name" ] || [ "$(echo $name.yaml)" != "$CONFIG_NAME" ]; then - return - fi - - new_servers_group_set=1 - -} - -yml_servers_name_get() -{ - local section="$1" - config_get "name" "$section" "name" "" - [ ! -z "$name" ] && { - echo "$name" >>"$servers_name" - } -} - -yml_proxy_provider_name_get() -{ - local section="$1" - config_get "name" "$section" "name" "" - [ ! -z "$name" ] && { - echo "$name" >>"$proxy_provider_name" - } -} - -#创建配置文件 -if_game_proxy="$1" -if_game_proxy_type="$2" -#创建对比文件防止重复 -config_load "openclash" -config_foreach yml_servers_name_get "servers" -config_foreach yml_proxy_provider_name_get "proxy-provider" -#判断是否启用保留配置 -config_foreach new_servers_group_set "config_subscribe" -#proxy-provider -echo "开始写入配置文件【$CONFIG_NAME】的代理集信息..." >$START_LOG -echo "proxy-providers:" >$PROXY_PROVIDER_FILE -rm -rf /tmp/Proxy_Provider -config_foreach yml_proxy_provider_set "proxy-provider" -sed -i "s/^ \{0,\}/ - /" /tmp/Proxy_Provider 2>/dev/null #添加参数 -if [ "$(grep "-" /tmp/Proxy_Provider 2>/dev/null |wc -l)" -eq 0 ]; then - rm -rf $PROXY_PROVIDER_FILE - rm -rf /tmp/Proxy_Provider -fi -rm -rf $proxy_provider_name - -#proxy -rule_sources=$(uci get openclash.config.rule_sources 2>/dev/null) -create_config=$(uci get openclash.config.create_config 2>/dev/null) -echo "开始写入配置文件【$CONFIG_NAME】的服务器节点信息..." >$START_LOG -echo "proxies:" >$SERVER_FILE -config_foreach yml_servers_set "servers" -egrep '^ {0,}-' $SERVER_FILE |grep name: |awk -F 'name: ' '{print $2}' |sed 's/,.*//' 2>/dev/null >/tmp/Proxy_Server 2>&1 -if [ -s "/tmp/Proxy_Server" ]; then - sed -i "s/^ \{0,\}/ - /" /tmp/Proxy_Server 2>/dev/null #添加参数 -else - rm -rf $SERVER_FILE - rm -rf /tmp/Proxy_Server -fi -rm -rf $servers_name - -#一键创建配置文件 -if [ "$rule_sources" = "ConnersHua" ] && [ "$servers_if_update" != "1" ] && [ -z "$if_game_proxy" ]; then -echo "使用ConnersHua(规则集)规则创建中..." >$START_LOG -echo "proxy-groups:" >>$SERVER_FILE -cat >> "$SERVER_FILE" <<-EOF - - name: Auto - UrlTest - type: url-test -EOF -if [ -f "/tmp/Proxy_Server" ]; then -cat >> "$SERVER_FILE" <<-EOF - proxies: -EOF -fi -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - url: https://cp.cloudflare.com/generate_204 - interval: "600" - tolerance: "150" - - name: Proxy - type: select - proxies: - - Auto - UrlTest - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: Domestic - type: select - proxies: - - DIRECT - - Proxy - - name: Others - type: select - proxies: - - Proxy - - DIRECT - - Domestic - - name: AsianTV - type: select - proxies: - - DIRECT - - Proxy -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: GlobalTV - type: select - proxies: - - Proxy - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -config_load "openclash" -config_foreach yml_other_rules_del "other_rules" "$CONFIG_NAME" "ConnersHua" -uci_name_tmp=$(uci add openclash other_rules) -uci_set="uci -q set openclash.$uci_name_tmp." -${UCI_SET}rule_source="1" -${uci_set}enable="1" -${uci_set}rule_name="ConnersHua" -${uci_set}config="$CONFIG_NAME" -${uci_set}GlobalTV="GlobalTV" -${uci_set}AsianTV="AsianTV" -${uci_set}Proxy="Proxy" -${uci_set}AdBlock="AdBlock" -${uci_set}Domestic="Domestic" -${uci_set}Others="Others" - -[ "$config_auto_update" -eq 1 ] && [ "$new_servers_group_set" -eq 1 ] && { - ${UCI_SET}servers_update="1" - ${UCI_DEL_LIST}="Auto - UrlTest" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Auto - UrlTest" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Proxy" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Proxy" >/dev/null 2>&1 - ${UCI_DEL_LIST}="AsianTV" >/dev/null 2>&1 && ${UCI_ADD_LIST}="AsianTV" >/dev/null 2>&1 - ${UCI_DEL_LIST}="GlobalTV" >/dev/null 2>&1 && ${UCI_ADD_LIST}="GlobalTV" >/dev/null 2>&1 -} -elif [ "$rule_sources" = "lhie1" ] && [ "$servers_if_update" != "1" ] && [ -z "$if_game_proxy" ]; then -echo "使用lhie1规则创建中..." >$START_LOG -echo "proxy-groups:" >>$SERVER_FILE -cat >> "$SERVER_FILE" <<-EOF - - name: Auto - UrlTest - type: url-test -EOF -if [ -f "/tmp/Proxy_Server" ]; then -cat >> "$SERVER_FILE" <<-EOF - proxies: -EOF -fi -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - url: https://cp.cloudflare.com/generate_204 - interval: "600" - tolerance: "150" - - name: Proxy - type: select - proxies: - - Auto - UrlTest - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: Domestic - type: select - proxies: - - DIRECT - - Proxy - - name: Others - type: select - proxies: - - Proxy - - DIRECT - - Domestic - - name: Microsoft - type: select - proxies: - - DIRECT - - Proxy -EOF -cat >> "$SERVER_FILE" <<-EOF - - name: Apple - type: select - proxies: - - DIRECT - - Proxy -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: Scholar - type: select - proxies: - - Proxy - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: Netflix - type: select - proxies: - - GlobalTV - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: Disney - type: select - proxies: - - GlobalTV - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: Youtube - type: select - disable-udp: true - proxies: - - GlobalTV - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: Spotify - type: select - proxies: - - GlobalTV - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: Steam - type: select - proxies: - - DIRECT - - Proxy -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: AdBlock - type: select - proxies: - - REJECT - - DIRECT - - Proxy - - name: AsianTV - type: select - proxies: - - DIRECT - - Proxy -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: GlobalTV - type: select - proxies: - - Proxy - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: Speedtest - type: select - proxies: - - Proxy - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: Telegram - type: select - proxies: - - Proxy - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: PayPal - type: select - proxies: - - DIRECT - - Proxy -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -config_load "openclash" -config_foreach yml_other_rules_del "other_rules" "$CONFIG_NAME" "lhie1" -uci_name_tmp=$(uci add openclash other_rules) -uci_set="uci -q set openclash.$uci_name_tmp." -${UCI_SET}rule_source="1" -${uci_set}enable="1" -${uci_set}rule_name="lhie1" -${uci_set}config="$CONFIG_NAME" -${uci_set}GlobalTV="GlobalTV" -${uci_set}AsianTV="AsianTV" -${uci_set}Proxy="Proxy" -${uci_set}Youtube="Youtube" -${uci_set}Apple="Apple" -${uci_set}Scholar="Scholar" -${uci_set}Microsoft="Microsoft" -${uci_set}Netflix="Netflix" -${uci_set}Disney="Disney" -${uci_set}Spotify="Spotify" -${uci_set}Steam="Steam" -${uci_set}AdBlock="AdBlock" -${uci_set}Speedtest="Speedtest" -${uci_set}Telegram="Telegram" -${uci_set}PayPal="PayPal" -${uci_set}Domestic="Domestic" -${uci_set}Others="Others" - -[ "$config_auto_update" -eq 1 ] && [ "$new_servers_group_set" -eq 1 ] && { - ${UCI_SET}servers_update="1" - ${UCI_DEL_LIST}="Auto - UrlTest" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Auto - UrlTest" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Proxy" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Proxy" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Youtube" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Youtube" >/dev/null 2>&1 - ${UCI_DEL_LIST}="AsianTV" >/dev/null 2>&1 && ${UCI_ADD_LIST}="AsianTV" >/dev/null 2>&1 - ${UCI_DEL_LIST}="GlobalTV" >/dev/null 2>&1 && ${UCI_ADD_LIST}="GlobalTV" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Netflix" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Netflix" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Apple" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Apple" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Scholar" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Scholar" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Disney" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Disney" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Spotify" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Spotify" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Steam" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Steam" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Telegram" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Telegram" >/dev/null 2>&1 - ${UCI_DEL_LIST}="PayPal" >/dev/null 2>&1 && ${UCI_ADD_LIST}="PayPal" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Speedtest" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Speedtest" >/dev/null 2>&1 -} -elif [ "$rule_sources" = "ConnersHua_return" ] && [ "$servers_if_update" != "1" ] && [ -z "$if_game_proxy" ]; then -echo "使用ConnersHua回国规则创建中..." >$START_LOG -echo "proxy-groups:" >>$SERVER_FILE -cat >> "$SERVER_FILE" <<-EOF - - name: Auto - UrlTest - type: url-test -EOF -if [ -f "/tmp/Proxy_Server" ]; then -cat >> "$SERVER_FILE" <<-EOF - proxies: -EOF -fi -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - url: https://cp.cloudflare.com/generate_204 - interval: "600" - tolerance: "150" - - name: Proxy - type: select - proxies: - - Auto - UrlTest - - DIRECT -EOF -cat /tmp/Proxy_Server >> $SERVER_FILE 2>/dev/null -if [ -f "/tmp/Proxy_Provider" ]; then -cat >> "$SERVER_FILE" <<-EOF - use: -EOF -fi -cat /tmp/Proxy_Provider >> $SERVER_FILE 2>/dev/null -cat >> "$SERVER_FILE" <<-EOF - - name: Others - type: select - proxies: - - Proxy - - DIRECT -EOF -config_load "openclash" -config_foreach yml_other_rules_del "other_rules" "$CONFIG_NAME" "ConnersHua_return" -uci_name_tmp=$(uci add openclash other_rules) -uci_set="uci -q set openclash.$uci_name_tmp." -${UCI_SET}rule_source="1" -${uci_set}enable="1" -${uci_set}rule_name="ConnersHua_return" -${uci_set}config="$CONFIG_NAME" -${uci_set}Proxy="Proxy" -${uci_set}Others="Others" -[ "$config_auto_update" -eq 1 ] && [ "$new_servers_group_set" -eq 1 ] && { - ${UCI_SET}servers_update="1" - ${UCI_DEL_LIST}="Auto - UrlTest" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Auto - UrlTest" >/dev/null 2>&1 - ${UCI_DEL_LIST}="Proxy" >/dev/null 2>&1 && ${UCI_ADD_LIST}="Proxy" >/dev/null 2>&1 -} -fi - -if [ "$create_config" != "0" ] && [ "$servers_if_update" != "1" ] && [ -z "$if_game_proxy" ]; then - echo "rules:" >>$SERVER_FILE - echo "配置文件【$CONFIG_NAME】创建完成,正在更新服务器、代理集、策略组信息..." >$START_LOG - cat "$PROXY_PROVIDER_FILE" > "$CONFIG_FILE" 2>/dev/null - cat "$SERVER_FILE" >> "$CONFIG_FILE" 2>/dev/null - /usr/share/openclash/yml_groups_get.sh >/dev/null 2>&1 -elif [ -z "$if_game_proxy" ]; then - echo "服务器、代理集、策略组信息修改完成,正在更新配置文件【$CONFIG_NAME】..." >$START_LOG - config_hash=$(ruby -ryaml -E UTF-8 -e "Value = YAML.load_file('$CONFIG_FILE'); puts Value" 2>/dev/null) - if [ "$config_hash" != "false" ] && [ -n "$config_hash" ]; then - ruby_cover "$CONFIG_FILE" "['proxies']" "$SERVER_FILE" "['proxies']" - ruby_cover "$CONFIG_FILE" "['proxy-providers']" "$PROXY_PROVIDER_FILE" "['proxy-providers']" - ruby_cover "$CONFIG_FILE" "['proxy-groups']" "/tmp/yaml_groups.yaml" "['proxy-groups']" - else - cat "$SERVER_FILE" "$PROXY_PROVIDER_FILE" "/tmp/yaml_groups.yaml" > "$CONFIG_FILE" 2>/dev/null - fi -fi - -if [ -z "$if_game_proxy" ]; then - rm -rf $SERVER_FILE 2>/dev/null - rm -rf $PROXY_PROVIDER_FILE 2>/dev/null - rm -rf /tmp/yaml_groups.yaml 2>/dev/null - echo "配置文件【$CONFIG_NAME】写入完成!" >$START_LOG - sleep 3 - echo "" >$START_LOG -fi -rm -rf /tmp/Proxy_Server 2>/dev/null -rm -rf /tmp/Proxy_Provider 2>/dev/null -${UCI_SET}enable=1 2>/dev/null -[ "$(uci get openclash.config.servers_if_update)" == "0" ] && [ -z "$if_game_proxy" ] && /etc/init.d/openclash restart >/dev/null 2>&1 -${UCI_SET}servers_if_update=0 -uci commit openclash - diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_rules_change.sh b/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_rules_change.sh deleted file mode 100755 index 7e4ca0f328..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/openclash/yml_rules_change.sh +++ /dev/null @@ -1,316 +0,0 @@ -#!/bin/sh -. /lib/functions.sh -. /usr/share/openclash/ruby.sh - -/usr/share/openclash/yml_groups_name_get.sh -LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") -LOG_FILE="/tmp/openclash.log" - -yml_other_set() -{ - ruby -ryaml -E UTF-8 -e " - begin - Value = YAML.load_file('$4'); - rescue Exception => e - puts '${LOGTIME} Load File Error: ' + e.message - end - begin - if $3 == 1 then - if Value.has_key?('rules') and not Value['rules'].to_a.empty? then - if File::exist?('/etc/openclash/custom/openclash_custom_rules.list') then - Value_1 = YAML.load_file('/etc/openclash/custom/openclash_custom_rules.list') - if Value_1 != false then - Value_2 = Value_1.reverse! - Value_2.each{|x| Value['rules'].insert(0,x)} - Value['rules']=Value['rules'].uniq - end - end - if File::exist?('/etc/openclash/custom/openclash_custom_rules_2.list') then - Value_3 = YAML.load_file('/etc/openclash/custom/openclash_custom_rules_2.list') - if Value_3 != false then - ruby_add_index = Value['rules'].index(Value['rules'].grep(/(GEOIP|MATCH|FINAL)/).first) - ruby_add_index ||= -1 - Value_4 = Value_3.reverse! - Value_4.each{|x| Value['rules'].insert(ruby_add_index,x)} - Value['rules']=Value['rules'].uniq - end - end - else - if File::exist?('/etc/openclash/custom/openclash_custom_rules.list') then - Value_1 = YAML.load_file('/etc/openclash/custom/openclash_custom_rules.list') - if Value_1 != false then - Value['rules']=Value_1 - Value['rules']=Value['rules'].uniq - end - end - if File::exist?('/etc/openclash/custom/openclash_custom_rules_2.list') then - Value_2 = YAML.load_file('/etc/openclash/custom/openclash_custom_rules_2.list') - if Value_2 != false then - if Value['rules'].to_a.empty? then - Value['rules']=Value_2 - else - ruby_add_index = Value['rules'].index(Value['rules'].grep(/(GEOIP|MATCH|FINAL)/).first) - ruby_add_index ||= -1 - Value_3 = Value_2.reverse! - Value_3.each{|x| Value['rules'].insert(ruby_add_index,x)} - end - Value['rules']=Value['rules'].uniq - end - end - end - end; - rescue Exception => e - puts '${LOGTIME} Set Custom Rules Error: ' + e.message - end - begin - if $5 == 1 then - Value['rules']=Value['rules'].to_a.insert(0, - 'DOMAIN-KEYWORD,tracker,DIRECT', - 'DOMAIN-KEYWORD,announce.php?passkey=,DIRECT', - 'DOMAIN-KEYWORD,torrent,DIRECT', - 'DOMAIN-KEYWORD,peer_id=,DIRECT', - 'DOMAIN-KEYWORD,info_hash,DIRECT', - 'DOMAIN-KEYWORD,get_peers,DIRECT', - 'DOMAIN-KEYWORD,find_node,DIRECT', - 'DOMAIN-KEYWORD,BitTorrent,DIRECT', - 'DOMAIN-KEYWORD,announce_peer,DIRECT' - ) - begin - match_group=Value['rules'].grep(/(MATCH|FINAL)/)[0] - if not match_group.empty? and not match_group.nil? then - common_port_group=match_group.split(',')[2] or common_port_group=match_group.split(',')[1] - if not common_port_group.empty? and not common_port_group.nil? then - ruby_add_index = Value['rules'].index(Value['rules'].grep(/(MATCH|FINAL)/).first) - ruby_add_index ||= -1 - Value['rules']=Value['rules'].to_a.insert(ruby_add_index, - 'DST-PORT,80,' + common_port_group, - 'DST-PORT,443,' + common_port_group, - 'DST-PORT,22,' + common_port_group - ) - end - end - rescue Exception => e - puts '${LOGTIME} Set BT/P2P Common Port Rules Error: ' + e.message - end - Value['rules'].to_a.collect!{|x|x.to_s.gsub(/(^MATCH.*|^FINAL.*)/, 'MATCH,DIRECT')} - end; - rescue Exception => e - puts '${LOGTIME} Set BT/P2P DIRECT Rules Error: ' + e.message - end - begin - if Value.has_key?('rules') and not Value['rules'].to_a.empty? then - if Value['rules'].to_a.grep(/(?=.*198.18)(?=.*REJECT)/).empty? then - ruby_add_index = Value['rules'].index(Value['rules'].grep(/(GEOIP|MATCH|FINAL)/).first) - ruby_add_index ||= -1 - Value['rules']=Value['rules'].to_a.insert(ruby_add_index,'IP-CIDR,198.18.0.1/16,REJECT,no-resolve') - end - else - Value['rules']=%w(IP-CIDR,198.18.0.1/16,REJECT,no-resolve) - end; - rescue Exception => e - puts '${LOGTIME} Set 198.18.0.1/16 REJECT Rule Error: ' + e.message - ensure - File.open('$4','w') {|f| YAML.dump(Value, f)} - end" 2>/dev/null >> $LOG_FILE -} - -yml_other_rules_get() -{ - local section="$1" - local enabled config - config_get_bool "enabled" "$section" "enabled" "1" - config_get "config" "$section" "config" "" - - if [ "$enabled" = "0" ] || [ "$config" != "$2" ]; then - return - fi - - if [ -n "$rule_name" ]; then - echo "${LOGTIME} Warrning: Multiple Other-Rules-Configurations Enabled, Ignore..." >> $LOG_FILE - return - fi - - config_get "rule_name" "$section" "rule_name" "" - config_get "GlobalTV" "$section" "GlobalTV" "" - config_get "AsianTV" "$section" "AsianTV" "" - config_get "Proxy" "$section" "Proxy" "" - config_get "Youtube" "$section" "Youtube" "" - config_get "Apple" "$section" "Apple" "" - config_get "Scholar" "$section" "Scholar" "" - config_get "Netflix" "$section" "Netflix" "" - config_get "Disney" "$section" "Disney" "" - config_get "Spotify" "$section" "Spotify" "" - config_get "Steam" "$section" "Steam" "" - config_get "AdBlock" "$section" "AdBlock" "" - config_get "Netease_Music" "$section" "Netease_Music" "" - config_get "Speedtest" "$section" "Speedtest" "" - config_get "Telegram" "$section" "Telegram" "" - config_get "Microsoft" "$section" "Microsoft" "" - config_get "PayPal" "$section" "PayPal" "" - config_get "Domestic" "$section" "Domestic" "" - config_get "Others" "$section" "Others" "" -} - -if [ "$2" != "0" ]; then - config_load "openclash" - config_foreach yml_other_rules_get "other_rules" "$6" - if [ -z "$rule_name" ]; then - yml_other_set "$1" "$2" "$3" "$4" "$5" - exit 0 - #判断策略组是否存在 - elif [ "$rule_name" = "ConnersHua_return" ]; then - if [ -z "$(grep -F "$Proxy" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Others" /tmp/Proxy_Group)" ];then - echo "${1} Warning: Because of The Different Porxy-Group's Name, Stop Setting The Other Rules!" >> $LOG_FILE - yml_other_set "$1" "$2" "$3" "$4" "$5" - exit 0 - fi - elif [ "$rule_name" = "ConnersHua" ]; then - if [ -z "$(grep "$GlobalTV" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$AsianTV" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Proxy" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Others" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Domestic" /tmp/Proxy_Group)" ]; then - echo "${1} Warning: Because of The Different Porxy-Group's Name, Stop Setting The Other Rules!" >> $LOG_FILE - yml_other_set "$1" "$2" "$3" "$4" "$5" - exit 0 - fi - elif [ "$rule_name" = "lhie1" ]; then - if [ -z "$(grep -F "$GlobalTV" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$AsianTV" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Proxy" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Youtube" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Apple" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Scholar" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Netflix" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Disney" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Spotify" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Steam" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$AdBlock" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Speedtest" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Telegram" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Microsoft" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$PayPal" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Others" /tmp/Proxy_Group)" ]\ - || [ -z "$(grep -F "$Domestic" /tmp/Proxy_Group)" ]; then - echo "${1} Warning: Because of The Different Porxy-Group's Name, Stop Setting The Other Rules!" >> $LOG_FILE - yml_other_set "$1" "$2" "$3" "$4" "$5" - exit 0 - fi - fi - if [ -z "$Proxy" ]; then - echo "${1} Error: Missing Porxy-Group's Name, Stop Setting The Other Rules!" >> $LOG_FILE - yml_other_set "$1" "$2" "$3" "$4" "$5" - exit 0 - else - #删除原有的部分,防止冲突 - if [ -n "$(ruby_read "$4" "['script']")" ]; then - ruby_edit "$4" "['script'].clear" - fi - if [ -n "$(ruby_read "$4" "['rules']")" ]; then - ruby_edit "$4" "['rules'].clear" - fi - if [ "$rule_name" = "lhie1" ]; then - ruby -ryaml -E UTF-8 -e " - begin - Value = YAML.load_file('$4'); - Value_1 = YAML.load_file('/usr/share/openclash/res/lhie1.yaml'); - if Value_1.has_key?('rule-providers') and not Value_1['rule-providers'].to_a.empty? then - if Value.has_key?('rule-providers') and not Value['rule-providers'].to_a.empty? then - Value['rule-providers'].merge!(Value_1['rule-providers']) - else - Value['rule-providers']=Value_1['rule-providers'] - end - end; - Value['script']=Value_1['script']; - Value['rules']=Value_1['rules']; - Value['rules'].to_a.collect!{|x| - x.to_s.gsub(/,GlobalTV$/, ',$GlobalTV#d') - .gsub(/,AsianTV$/, ',$AsianTV#d') - .gsub(/,Proxy$/, ',$Proxy#d') - .gsub(/,YouTube$/, ',$Youtube#d') - .gsub(/,Apple$/, ',$Apple#d') - .gsub(/,Scholar$/, ',$Scholar#d') - .gsub(/,Netflix$/, ',$Netflix#d') - .gsub(/,Disney$/, ',$Disney#d') - .gsub(/,Spotify$/, ',$Spotify#d') - .gsub(/,Steam$/, ',$Steam#d') - .gsub(/,AdBlock$/, ',$AdBlock#d') - .gsub(/,Speedtest$/, ',$Speedtest#d') - .gsub(/,Telegram$/, ',$Telegram#d') - .gsub(/,Microsoft$/, ',$Microsoft#d') - .to_s.gsub(/,PayPal$/, ',$PayPal#d') - .gsub(/,Domestic$/, ',$Domestic#d') - .gsub(/,Others$/, ',$Others#d') - .gsub(/#d/, '') - }; - Value['script']['code'].to_s.gsub!(/: \"GlobalTV\"/,': \"$GlobalTV#d\"') - .gsub!(/: \"AsianTV\"/,': \"$AsianTV#d\"') - .gsub!(/: \"Proxy\"/,': \"$Proxy#d\"') - .gsub!(/: \"YouTube\"/,': \"$Youtube#d\"') - .gsub!(/: \"Apple\"/,': \"$Apple#d\"') - .gsub!(/: \"Scholar\"/,': \"$Scholar#d\"') - .gsub!(/: \"Netflix\"/,': \"$Netflix#d\"') - .gsub!(/: \"Disney\"/,': \"$Disney#d\"') - .gsub!(/: \"Spotify\"/,': \"$Spotify#d\"') - .gsub!(/: \"Steam\"/,': \"$Steam#d\"') - .gsub!(/: \"AdBlock\"/,': \"$AdBlock#d\"') - .gsub!(/: \"Speedtest\"/,': \"$Speedtest#d\"') - .gsub!(/: \"Telegram\"/,': \"$Telegram#d\"') - .gsub!(/: \"Microsoft\"/,': \"$Microsoft#d\"') - .gsub!(/: \"PayPal\"/,': \"$PayPal#d\"') - .gsub!(/: \"Domestic\"/,': \"$Domestic#d\"') - .gsub!(/return \"Domestic\"$/, 'return \"$Domestic#d\"') - .gsub!(/return \"Others\"$/, 'return \"$Others#d\"') - .gsub!(/#d/, ''); - File.open('$4','w') {|f| YAML.dump(Value, f)}; - rescue Exception => e - puts '${LOGTIME} Set lhie1 Rules Error: ' + e.message - end" 2>/dev/null >> $LOG_FILE - elif [ "$rule_name" = "ConnersHua" ]; then - ruby -ryaml -E UTF-8 -e " - begin - Value = YAML.load_file('$4'); - Value_1 = YAML.load_file('/usr/share/openclash/res/ConnersHua.yaml'); - if Value_1.has_key?('rule-providers') and not Value_1['rule-providers'].to_a.empty? then - if Value.has_key?('rule-providers') and not Value['rule-providers'].to_a.empty? then - Value['rule-providers'].merge!(Value_1['rule-providers']) - else - Value['rule-providers']=Value_1['rule-providers'] - end - end; - Value['rules']=Value_1['rules']; - Value['rules'].to_a.collect!{|x| - x.to_s.gsub(/,Streaming$/, ',$GlobalTV#d') - .gsub(/,StreamingSE$/, ',$AsianTV#d') - .gsub(/(,PROXY$|,IP-Blackhole$)/, ',$Proxy#d') - .gsub(/,China,DIRECT$/, ',China,$Domestic#d') - .gsub(/,ChinaIP,DIRECT$/, ',ChinaIP,$Domestic#d') - .gsub(/,CN,DIRECT$/, ',CN,$Domestic#d') - .gsub(/,MATCH$/, ',$Others#d') - .gsub(/#d/, '') - }; - File.open('$4','w') {|f| YAML.dump(Value, f)}; - rescue Exception => e - puts '${LOGTIME} Set ConnersHua Rules Error: ' + e.message - end" 2>/dev/null >> $LOG_FILE - else - ruby -ryaml -E UTF-8 -e " - begin - Value = YAML.load_file('$4'); - Value_1 = YAML.load_file('/usr/share/openclash/res/ConnersHua_return.yaml'); - Value['rules']=Value_1['rules']; - Value['rules'].to_a.collect!{|x| - x.to_s.gsub(/,PROXY$/, ',$Proxy#d') - .gsub(/MATCH,DIRECT$/, 'MATCH,$Others#d') - .gsub(/#d/, '') - }; - File.open('$4','w') {|f| YAML.dump(Value, f)}; - rescue Exception => e - puts '${LOGTIME} Set ConnersHua Return Rules Error: ' + e.message - end" 2>/dev/null >> $LOG_FILE - fi - fi -fi - -yml_other_set "$1" "$2" "$3" "$4" "$5" diff --git a/package/ctcgfw/luci-app-openclash/root/usr/share/rpcd/acl.d/luci-app-openclash.json b/package/ctcgfw/luci-app-openclash/root/usr/share/rpcd/acl.d/luci-app-openclash.json deleted file mode 100644 index 8214de2101..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/usr/share/rpcd/acl.d/luci-app-openclash.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-openclash": { - "description": "Grant UCI access for luci-app-openclash", - "read": { - "uci": [ "openclash" ] - }, - "write": { - "uci": [ "openclash" ] - } - } -} \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/display/fullscreen.css b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/display/fullscreen.css deleted file mode 100644 index 437acd89be..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/display/fullscreen.css +++ /dev/null @@ -1,6 +0,0 @@ -.CodeMirror-fullscreen { - position: fixed; - top: 0; left: 0; right: 0; bottom: 0; - height: auto; - z-index: 9; -} diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/display/fullscreen.js b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/display/fullscreen.js deleted file mode 100644 index eda7300f12..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/display/fullscreen.js +++ /dev/null @@ -1,41 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: https://codemirror.net/LICENSE - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - "use strict"; - - CodeMirror.defineOption("fullScreen", false, function(cm, val, old) { - if (old == CodeMirror.Init) old = false; - if (!old == !val) return; - if (val) setFullscreen(cm); - else setNormal(cm); - }); - - function setFullscreen(cm) { - var wrap = cm.getWrapperElement(); - cm.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset, - width: wrap.style.width, height: wrap.style.height}; - wrap.style.width = ""; - wrap.style.height = "auto"; - wrap.className += " CodeMirror-fullscreen"; - document.documentElement.style.overflow = "hidden"; - cm.refresh(); - } - - function setNormal(cm) { - var wrap = cm.getWrapperElement(); - wrap.className = wrap.className.replace(/\s*CodeMirror-fullscreen\b/, ""); - document.documentElement.style.overflow = ""; - var info = cm.state.fullScreenRestore; - wrap.style.width = info.width; wrap.style.height = info.height; - window.scrollTo(info.scrollLeft, info.scrollTop); - cm.refresh(); - } -}); diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/edit/matchbrackets.js b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/edit/matchbrackets.js deleted file mode 100644 index 43dc8840f5..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/edit/matchbrackets.js +++ /dev/null @@ -1,160 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: https://codemirror.net/LICENSE - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - var ie_lt8 = /MSIE \d/.test(navigator.userAgent) && - (document.documentMode == null || document.documentMode < 8); - - var Pos = CodeMirror.Pos; - - var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<", "<": ">>", ">": "<<"}; - - function bracketRegex(config) { - return config && config.bracketRegex || /[(){}[\]]/ - } - - function findMatchingBracket(cm, where, config) { - var line = cm.getLineHandle(where.line), pos = where.ch - 1; - var afterCursor = config && config.afterCursor - if (afterCursor == null) - afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className) - var re = bracketRegex(config) - - // A cursor is defined as between two characters, but in in vim command mode - // (i.e. not insert mode), the cursor is visually represented as a - // highlighted box on top of the 2nd character. Otherwise, we allow matches - // from before or after the cursor. - var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) || - re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)]; - if (!match) return null; - var dir = match.charAt(1) == ">" ? 1 : -1; - if (config && config.strict && (dir > 0) != (pos == where.ch)) return null; - var style = cm.getTokenTypeAt(Pos(where.line, pos + 1)); - - var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config); - if (found == null) return null; - return {from: Pos(where.line, pos), to: found && found.pos, - match: found && found.ch == match.charAt(0), forward: dir > 0}; - } - - // bracketRegex is used to specify which type of bracket to scan - // should be a regexp, e.g. /[[\]]/ - // - // Note: If "where" is on an open bracket, then this bracket is ignored. - // - // Returns false when no bracket was found, null when it reached - // maxScanLines and gave up - function scanForBracket(cm, where, dir, style, config) { - var maxScanLen = (config && config.maxScanLineLength) || 10000; - var maxScanLines = (config && config.maxScanLines) || 1000; - - var stack = []; - var re = bracketRegex(config) - var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1) - : Math.max(cm.firstLine() - 1, where.line - maxScanLines); - for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) { - var line = cm.getLine(lineNo); - if (!line) continue; - var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1; - if (line.length > maxScanLen) continue; - if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0); - for (; pos != end; pos += dir) { - var ch = line.charAt(pos); - if (re.test(ch) && (style === undefined || - (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || "") == (style || ""))) { - var match = matching[ch]; - if (match && (match.charAt(1) == ">") == (dir > 0)) stack.push(ch); - else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch}; - else stack.pop(); - } - } - } - return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null; - } - - function matchBrackets(cm, autoclear, config) { - // Disable brace matching in long lines, since it'll cause hugely slow updates - var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000, - highlightNonMatching = config && config.highlightNonMatching; - var marks = [], ranges = cm.listSelections(); - for (var i = 0; i < ranges.length; i++) { - var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config); - if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) { - var style = match.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket"; - marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style})); - if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen) - marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style})); - } - } - - if (marks.length) { - // Kludge to work around the IE bug from issue #1193, where text - // input stops going to the textarea whenever this fires. - if (ie_lt8 && cm.state.focused) cm.focus(); - - var clear = function() { - cm.operation(function() { - for (var i = 0; i < marks.length; i++) marks[i].clear(); - }); - }; - if (autoclear) setTimeout(clear, 800); - else return clear; - } - } - - function doMatchBrackets(cm) { - cm.operation(function() { - if (cm.state.matchBrackets.currentlyHighlighted) { - cm.state.matchBrackets.currentlyHighlighted(); - cm.state.matchBrackets.currentlyHighlighted = null; - } - cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets); - }); - } - - function clearHighlighted(cm) { - if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) { - cm.state.matchBrackets.currentlyHighlighted(); - cm.state.matchBrackets.currentlyHighlighted = null; - } - } - - CodeMirror.defineOption("matchBrackets", false, function(cm, val, old) { - if (old && old != CodeMirror.Init) { - cm.off("cursorActivity", doMatchBrackets); - cm.off("focus", doMatchBrackets) - cm.off("blur", clearHighlighted) - clearHighlighted(cm); - } - if (val) { - cm.state.matchBrackets = typeof val == "object" ? val : {}; - cm.on("cursorActivity", doMatchBrackets); - cm.on("focus", doMatchBrackets) - cm.on("blur", clearHighlighted) - } - }); - - CodeMirror.defineExtension("matchBrackets", function() {matchBrackets(this, true);}); - CodeMirror.defineExtension("findMatchingBracket", function(pos, config, oldConfig){ - // Backwards-compatibility kludge - if (oldConfig || typeof config == "boolean") { - if (!oldConfig) { - config = config ? {strict: true} : null - } else { - oldConfig.strict = config - config = oldConfig - } - } - return findMatchingBracket(this, pos, config) - }); - CodeMirror.defineExtension("scanForBracket", function(pos, dir, style, config){ - return scanForBracket(this, pos, dir, style, config); - }); -}); diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldcode.js b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldcode.js deleted file mode 100644 index 887df3fe04..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldcode.js +++ /dev/null @@ -1,157 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: https://codemirror.net/LICENSE - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - "use strict"; - - function doFold(cm, pos, options, force) { - if (options && options.call) { - var finder = options; - options = null; - } else { - var finder = getOption(cm, options, "rangeFinder"); - } - if (typeof pos == "number") pos = CodeMirror.Pos(pos, 0); - var minSize = getOption(cm, options, "minFoldSize"); - - function getRange(allowFolded) { - var range = finder(cm, pos); - if (!range || range.to.line - range.from.line < minSize) return null; - var marks = cm.findMarksAt(range.from); - for (var i = 0; i < marks.length; ++i) { - if (marks[i].__isFold && force !== "fold") { - if (!allowFolded) return null; - range.cleared = true; - marks[i].clear(); - } - } - return range; - } - - var range = getRange(true); - if (getOption(cm, options, "scanUp")) while (!range && pos.line > cm.firstLine()) { - pos = CodeMirror.Pos(pos.line - 1, 0); - range = getRange(false); - } - if (!range || range.cleared || force === "unfold") return; - - var myWidget = makeWidget(cm, options, range); - CodeMirror.on(myWidget, "mousedown", function(e) { - myRange.clear(); - CodeMirror.e_preventDefault(e); - }); - var myRange = cm.markText(range.from, range.to, { - replacedWith: myWidget, - clearOnEnter: getOption(cm, options, "clearOnEnter"), - __isFold: true - }); - myRange.on("clear", function(from, to) { - CodeMirror.signal(cm, "unfold", cm, from, to); - }); - CodeMirror.signal(cm, "fold", cm, range.from, range.to); - } - - function makeWidget(cm, options, range) { - var widget = getOption(cm, options, "widget"); - - if (typeof widget == "function") { - widget = widget(range.from, range.to); - } - - if (typeof widget == "string") { - var text = document.createTextNode(widget); - widget = document.createElement("span"); - widget.appendChild(text); - widget.className = "CodeMirror-foldmarker"; - } else if (widget) { - widget = widget.cloneNode(true) - } - return widget; - } - - // Clumsy backwards-compatible interface - CodeMirror.newFoldFunction = function(rangeFinder, widget) { - return function(cm, pos) { doFold(cm, pos, {rangeFinder: rangeFinder, widget: widget}); }; - }; - - // New-style interface - CodeMirror.defineExtension("foldCode", function(pos, options, force) { - doFold(this, pos, options, force); - }); - - CodeMirror.defineExtension("isFolded", function(pos) { - var marks = this.findMarksAt(pos); - for (var i = 0; i < marks.length; ++i) - if (marks[i].__isFold) return true; - }); - - CodeMirror.commands.toggleFold = function(cm) { - cm.foldCode(cm.getCursor()); - }; - CodeMirror.commands.fold = function(cm) { - cm.foldCode(cm.getCursor(), null, "fold"); - }; - CodeMirror.commands.unfold = function(cm) { - cm.foldCode(cm.getCursor(), null, "unfold"); - }; - CodeMirror.commands.foldAll = function(cm) { - cm.operation(function() { - for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++) - cm.foldCode(CodeMirror.Pos(i, 0), null, "fold"); - }); - }; - CodeMirror.commands.unfoldAll = function(cm) { - cm.operation(function() { - for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++) - cm.foldCode(CodeMirror.Pos(i, 0), null, "unfold"); - }); - }; - - CodeMirror.registerHelper("fold", "combine", function() { - var funcs = Array.prototype.slice.call(arguments, 0); - return function(cm, start) { - for (var i = 0; i < funcs.length; ++i) { - var found = funcs[i](cm, start); - if (found) return found; - } - }; - }); - - CodeMirror.registerHelper("fold", "auto", function(cm, start) { - var helpers = cm.getHelpers(start, "fold"); - for (var i = 0; i < helpers.length; i++) { - var cur = helpers[i](cm, start); - if (cur) return cur; - } - }); - - var defaultOptions = { - rangeFinder: CodeMirror.fold.auto, - widget: "\u2194", - minFoldSize: 0, - scanUp: false, - clearOnEnter: true - }; - - CodeMirror.defineOption("foldOptions", null); - - function getOption(cm, options, name) { - if (options && options[name] !== undefined) - return options[name]; - var editorOptions = cm.options.foldOptions; - if (editorOptions && editorOptions[name] !== undefined) - return editorOptions[name]; - return defaultOptions[name]; - } - - CodeMirror.defineExtension("foldOption", function(options, name) { - return getOption(this, options, name); - }); -}); diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldgutter.css b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldgutter.css deleted file mode 100644 index ad19ae2d3e..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldgutter.css +++ /dev/null @@ -1,20 +0,0 @@ -.CodeMirror-foldmarker { - color: blue; - text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; - font-family: arial; - line-height: .3; - cursor: pointer; -} -.CodeMirror-foldgutter { - width: .7em; -} -.CodeMirror-foldgutter-open, -.CodeMirror-foldgutter-folded { - cursor: pointer; -} -.CodeMirror-foldgutter-open:after { - content: "\25BE"; -} -.CodeMirror-foldgutter-folded:after { - content: "\25B8"; -} diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldgutter.js b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldgutter.js deleted file mode 100644 index 7d46a609b0..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/foldgutter.js +++ /dev/null @@ -1,163 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: https://codemirror.net/LICENSE - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror"), require("./foldcode")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror", "./foldcode"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - "use strict"; - - CodeMirror.defineOption("foldGutter", false, function(cm, val, old) { - if (old && old != CodeMirror.Init) { - cm.clearGutter(cm.state.foldGutter.options.gutter); - cm.state.foldGutter = null; - cm.off("gutterClick", onGutterClick); - cm.off("changes", onChange); - cm.off("viewportChange", onViewportChange); - cm.off("fold", onFold); - cm.off("unfold", onFold); - cm.off("swapDoc", onChange); - } - if (val) { - cm.state.foldGutter = new State(parseOptions(val)); - updateInViewport(cm); - cm.on("gutterClick", onGutterClick); - cm.on("changes", onChange); - cm.on("viewportChange", onViewportChange); - cm.on("fold", onFold); - cm.on("unfold", onFold); - cm.on("swapDoc", onChange); - } - }); - - var Pos = CodeMirror.Pos; - - function State(options) { - this.options = options; - this.from = this.to = 0; - } - - function parseOptions(opts) { - if (opts === true) opts = {}; - if (opts.gutter == null) opts.gutter = "CodeMirror-foldgutter"; - if (opts.indicatorOpen == null) opts.indicatorOpen = "CodeMirror-foldgutter-open"; - if (opts.indicatorFolded == null) opts.indicatorFolded = "CodeMirror-foldgutter-folded"; - return opts; - } - - function isFolded(cm, line) { - var marks = cm.findMarks(Pos(line, 0), Pos(line + 1, 0)); - for (var i = 0; i < marks.length; ++i) { - if (marks[i].__isFold) { - var fromPos = marks[i].find(-1); - if (fromPos && fromPos.line === line) - return marks[i]; - } - } - } - - function marker(spec) { - if (typeof spec == "string") { - var elt = document.createElement("div"); - elt.className = spec + " CodeMirror-guttermarker-subtle"; - return elt; - } else { - return spec.cloneNode(true); - } - } - - function updateFoldInfo(cm, from, to) { - var opts = cm.state.foldGutter.options, cur = from - 1; - var minSize = cm.foldOption(opts, "minFoldSize"); - var func = cm.foldOption(opts, "rangeFinder"); - // we can reuse the built-in indicator element if its className matches the new state - var clsFolded = typeof opts.indicatorFolded == "string" && classTest(opts.indicatorFolded); - var clsOpen = typeof opts.indicatorOpen == "string" && classTest(opts.indicatorOpen); - cm.eachLine(from, to, function(line) { - ++cur; - var mark = null; - var old = line.gutterMarkers; - if (old) old = old[opts.gutter]; - if (isFolded(cm, cur)) { - if (clsFolded && old && clsFolded.test(old.className)) return; - mark = marker(opts.indicatorFolded); - } else { - var pos = Pos(cur, 0); - var range = func && func(cm, pos); - if (range && range.to.line - range.from.line >= minSize) { - if (clsOpen && old && clsOpen.test(old.className)) return; - mark = marker(opts.indicatorOpen); - } - } - if (!mark && !old) return; - cm.setGutterMarker(line, opts.gutter, mark); - }); - } - - // copied from CodeMirror/src/util/dom.js - function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)\\s*") } - - function updateInViewport(cm) { - var vp = cm.getViewport(), state = cm.state.foldGutter; - if (!state) return; - cm.operation(function() { - updateFoldInfo(cm, vp.from, vp.to); - }); - state.from = vp.from; state.to = vp.to; - } - - function onGutterClick(cm, line, gutter) { - var state = cm.state.foldGutter; - if (!state) return; - var opts = state.options; - if (gutter != opts.gutter) return; - var folded = isFolded(cm, line); - if (folded) folded.clear(); - else cm.foldCode(Pos(line, 0), opts); - } - - function onChange(cm) { - var state = cm.state.foldGutter; - if (!state) return; - var opts = state.options; - state.from = state.to = 0; - clearTimeout(state.changeUpdate); - state.changeUpdate = setTimeout(function() { updateInViewport(cm); }, opts.foldOnChangeTimeSpan || 600); - } - - function onViewportChange(cm) { - var state = cm.state.foldGutter; - if (!state) return; - var opts = state.options; - clearTimeout(state.changeUpdate); - state.changeUpdate = setTimeout(function() { - var vp = cm.getViewport(); - if (state.from == state.to || vp.from - state.to > 20 || state.from - vp.to > 20) { - updateInViewport(cm); - } else { - cm.operation(function() { - if (vp.from < state.from) { - updateFoldInfo(cm, vp.from, state.from); - state.from = vp.from; - } - if (vp.to > state.to) { - updateFoldInfo(cm, state.to, vp.to); - state.to = vp.to; - } - }); - } - }, opts.updateViewportTimeSpan || 400); - } - - function onFold(cm, from) { - var state = cm.state.foldGutter; - if (!state) return; - var line = from.line; - if (line >= state.from && line < state.to) - updateFoldInfo(cm, line, line + 1); - } -}); diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/indent-fold.js b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/indent-fold.js deleted file mode 100644 index 0cc1126440..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/fold/indent-fold.js +++ /dev/null @@ -1,48 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: https://codemirror.net/LICENSE - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { -"use strict"; - -function lineIndent(cm, lineNo) { - var text = cm.getLine(lineNo) - var spaceTo = text.search(/\S/) - if (spaceTo == -1 || /\bcomment\b/.test(cm.getTokenTypeAt(CodeMirror.Pos(lineNo, spaceTo + 1)))) - return -1 - return CodeMirror.countColumn(text, null, cm.getOption("tabSize")) -} - -CodeMirror.registerHelper("fold", "indent", function(cm, start) { - var myIndent = lineIndent(cm, start.line) - if (myIndent < 0) return - var lastLineInFold = null - - // Go through lines until we find a line that definitely doesn't belong in - // the block we're folding, or to the end. - for (var i = start.line + 1, end = cm.lastLine(); i <= end; ++i) { - var indent = lineIndent(cm, i) - if (indent == -1) { - } else if (indent > myIndent) { - // Lines with a greater indent are considered part of the block. - lastLineInFold = i; - } else { - // If this line has non-space, non-comment content, and is - // indented less or equal to the start line, it is the start of - // another block. - break; - } - } - if (lastLineInFold) return { - from: CodeMirror.Pos(start.line, cm.getLine(start.line).length), - to: CodeMirror.Pos(lastLineInFold, cm.getLine(lastLineInFold).length) - }; -}); - -}); diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/lint/js-yaml.min.js b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/lint/js-yaml.min.js deleted file mode 100644 index 6a469523a1..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/lint/js-yaml.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! js-yaml 4.0.0 https://github.com/nodeca/js-yaml @license MIT */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).jsyaml={})}(this,(function(e){"use strict";function t(e){return null==e}var n={isNothing:t,isObject:function(e){return"object"==typeof e&&null!==e},toArray:function(e){return Array.isArray(e)?e:t(e)?[]:[e]},repeat:function(e,t){var n,i="";for(n=0;nl&&(t=i-l+(o=" ... ").length),n-i>l&&(n=i+l-(a=" ...").length),{str:o+e.slice(t,n).replace(/\t/g,"→")+a,pos:i-t+o.length}}function l(e,t){return n.repeat(" ",t-e.length)+e}var c=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var i,r=/\r?\n|\r|\0/g,o=[0],c=[],s=-1;i=r.exec(e.buffer);)c.push(i.index),o.push(i.index+i[0].length),e.position<=i.index&&s<0&&(s=o.length-2);s<0&&(s=o.length-1);var u,p,f="",d=Math.min(e.line+t.linesAfter,c.length).toString().length,h=t.maxLength-(t.indent+d+3);for(u=1;u<=t.linesBefore&&!(s-u<0);u++)p=a(e.buffer,o[s-u],c[s-u],e.position-(o[s]-o[s-u]),h),f=n.repeat(" ",t.indent)+l((e.line-u+1).toString(),d)+" | "+p.str+"\n"+f;for(p=a(e.buffer,o[s],c[s],e.position,h),f+=n.repeat(" ",t.indent)+l((e.line+1).toString(),d)+" | "+p.str+"\n",f+=n.repeat("-",t.indent+d+3+p.pos)+"^\n",u=1;u<=t.linesAfter&&!(s+u>=c.length);u++)p=a(e.buffer,o[s+u],c[s+u],e.position-(o[s]-o[s+u]),h),f+=n.repeat(" ",t.indent)+l((e.line+u+1).toString(),d)+" | "+p.str+"\n";return f.replace(/\n$/,"")},s=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],u=["scalar","sequence","mapping"];var p=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===s.indexOf(t))throw new o('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))})),t}(t.styleAliases||null),-1===u.indexOf(this.kind))throw new o('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function f(e,t,n){var i=[];return e[t].forEach((function(e){n.forEach((function(t,n){t.tag===e.tag&&t.kind===e.kind&&t.multi===e.multi&&i.push(n)})),n.push(e)})),n.filter((function(e,t){return-1===i.indexOf(t)}))}function d(e){return this.extend(e)}d.prototype.extend=function(e){var t=[],n=[];if(e instanceof p)n.push(e);else if(Array.isArray(e))n=n.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new o("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof p))throw new o("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new o("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new o("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(e){if(!(e instanceof p))throw new o("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var i=Object.create(d.prototype);return i.implicit=(this.implicit||[]).concat(t),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=f(i,"implicit",[]),i.compiledExplicit=f(i,"explicit",[]),i.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),w=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var k=/^[-+]?[0-9]+e/;var C=new p("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!w.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||n.isNegativeZero(e))},represent:function(e,t){var i;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(n.isNegativeZero(e))return"-0.0";return i=e.toString(10),k.test(i)?i.replace("e",".e"):i},defaultStyle:"lowercase"}),x=g.extend({implicit:[m,y,v,C]}),I=x,S=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),O=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var j=new p("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==S.exec(e)||null!==O.exec(e))},construct:function(e){var t,n,i,r,o,a,l,c,s=0,u=null;if(null===(t=S.exec(e))&&(t=O.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(o=+t[4],a=+t[5],l=+t[6],t[7]){for(s=t[7].slice(0,3);s.length<3;)s+="0";s=+s}return t[9]&&(u=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(u=-u)),c=new Date(Date.UTC(n,i,r,o,a,l,s)),u&&c.setTime(c.getTime()-u),c},instanceOf:Date,represent:function(e){return e.toISOString()}});var T=new p("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),N="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var F=new p("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=0,r=e.length,o=N;for(n=0;n64)){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,o=N,a=0,l=[];for(t=0;t>16&255),l.push(a>>8&255),l.push(255&a)),a=a<<6|o.indexOf(i.charAt(t));return 0===(n=r%4*6)?(l.push(a>>16&255),l.push(a>>8&255),l.push(255&a)):18===n?(l.push(a>>10&255),l.push(a>>2&255)):12===n&&l.push(a>>4&255),new Uint8Array(l)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,i="",r=0,o=e.length,a=N;for(t=0;t>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]),r=(r<<8)+e[t];return 0===(n=o%3)?(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]):2===n?(i+=a[r>>10&63],i+=a[r>>4&63],i+=a[r<<2&63],i+=a[64]):1===n&&(i+=a[r>>2&63],i+=a[r<<4&63],i+=a[64],i+=a[64]),i}}),E=Object.prototype.hasOwnProperty,M=Object.prototype.toString;var L=new p("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,r,o,a=[],l=e;for(t=0,n=l.length;t>10),56320+(e-65536&1023))}for(var ee=new Array(256),te=new Array(256),ne=0;ne<256;ne++)ee[ne]=z(ne)?1:0,te[ne]=z(ne);function ie(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||q,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function re(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=c(n),new o(t,n)}function oe(e,t){throw re(e,t)}function ae(e,t){e.onWarning&&e.onWarning.call(null,re(e,t))}var le={YAML:function(e,t,n){var i,r,o;null!==e.version&&oe(e,"duplication of %YAML directive"),1!==n.length&&oe(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&oe(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&oe(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&ae(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&oe(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],W.test(i)||oe(e,"ill-formed tag handle (first argument) of the TAG directive"),R.call(e.tagMap,i)&&oe(e,'there is a previously declared suffix for "'+i+'" tag handle'),H.test(r)||oe(e,"ill-formed tag prefix (second argument) of the TAG directive");try{r=decodeURIComponent(r)}catch(t){oe(e,"tag prefix is malformed: "+r)}e.tagMap[i]=r}};function ce(e,t,n,i){var r,o,a,l;if(t1&&(e.result+=n.repeat("\n",t-1))}function ge(e,t){var n,i,r=e.tag,o=e.anchor,a=[],l=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),i=e.input.charCodeAt(e.position);0!==i&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,oe(e,"tab characters must not be used in indentation")),45===i)&&Z(e.input.charCodeAt(e.position+1));)if(l=!0,e.position++,fe(e,!0,-1)&&e.lineIndent<=t)a.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,be(e,t,3,!1,!0),a.push(e.result),fe(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)oe(e,"bad indentation of a sequence entry");else if(e.lineIndentt?g=1:e.lineIndent===t?g=0:e.lineIndentt?g=1:e.lineIndent===t?g=0:e.lineIndentt)&&(y&&(a=e.line,l=e.lineStart,c=e.position),be(e,t,4,!0,r)&&(y?g=e.result:m=e.result),y||(ue(e,f,d,h,g,m,a,l,c),h=g=m=null),fe(e,!0,-1),s=e.input.charCodeAt(e.position)),(e.line===o||e.lineIndent>t)&&0!==s)oe(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===o?oe(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?oe(e,"repeat of an indentation width identifier"):(p=t+o-1,u=!0)}if(V(a)){do{a=e.input.charCodeAt(++e.position)}while(V(a));if(35===a)do{a=e.input.charCodeAt(++e.position)}while(!G(a)&&0!==a)}for(;0!==a;){for(pe(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!u||e.lineIndentp&&(p=e.lineIndent),G(a))f++;else{if(e.lineIndent0){for(r=a,o=0;r>0;r--)(a=Q(l=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:oe(e,"expected hexadecimal character");e.result+=X(o),e.position++}else oe(e,"unknown escape sequence");n=i=e.position}else G(l)?(ce(e,n,i,!0),he(e,fe(e,!1,t)),n=i=e.position):e.position===e.lineStart&&de(e)?oe(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}oe(e,"unexpected end of the stream within a double quoted scalar")}(e,d)?y=!0:!function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!Z(i)&&!J(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&oe(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),R.call(e.anchorMap,n)||oe(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],fe(e,!0,-1),!0}(e)?function(e,t,n){var i,r,o,a,l,c,s,u,p=e.kind,f=e.result;if(Z(u=e.input.charCodeAt(e.position))||J(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u)return!1;if((63===u||45===u)&&(Z(i=e.input.charCodeAt(e.position+1))||n&&J(i)))return!1;for(e.kind="scalar",e.result="",r=o=e.position,a=!1;0!==u;){if(58===u){if(Z(i=e.input.charCodeAt(e.position+1))||n&&J(i))break}else if(35===u){if(Z(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&de(e)||n&&J(u))break;if(G(u)){if(l=e.line,c=e.lineStart,s=e.lineIndent,fe(e,!1,-1),e.lineIndent>=t){a=!0,u=e.input.charCodeAt(e.position);continue}e.position=o,e.line=l,e.lineStart=c,e.lineIndent=s;break}}a&&(ce(e,r,o,!1),he(e,e.line-l),r=o=e.position,a=!1),V(u)||(o=e.position+1),u=e.input.charCodeAt(++e.position)}return ce(e,r,o,!1),!!e.result||(e.kind=p,e.result=f,!1)}(e,d,1===i)&&(y=!0,null===e.tag&&(e.tag="?")):(y=!0,null===e.tag&&null===e.anchor||oe(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===g&&(y=c&&ge(e,h))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&oe(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),s=0,u=e.implicitTypes.length;s"),null!==e.result&&f.kind!==e.kind&&oe(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+f.kind+'", not "'+e.kind+'"'),f.resolve(e.result,e.tag)?(e.result=f.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):oe(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||y}function Ae(e){var t,n,i,r,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(r=e.input.charCodeAt(e.position))&&(fe(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==r));){for(a=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!Z(r);)r=e.input.charCodeAt(++e.position);for(i=[],(n=e.input.slice(t,e.position)).length<1&&oe(e,"directive name must not be less than one character in length");0!==r;){for(;V(r);)r=e.input.charCodeAt(++e.position);if(35===r){do{r=e.input.charCodeAt(++e.position)}while(0!==r&&!G(r));break}if(G(r))break;for(t=e.position;0!==r&&!Z(r);)r=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==r&&pe(e),R.call(le,n)?le[n](e,n,i):ae(e,'unknown document directive "'+n+'"')}fe(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,fe(e,!0,-1)):a&&oe(e,"directives end mark is expected"),be(e,e.lineIndent-1,4,!1,!0),fe(e,!0,-1),e.checkLineBreaks&&K.test(e.input.slice(o,e.position))&&ae(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&de(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,fe(e,!0,-1)):e.position=55296&&i<=56319&&t+1=56320&&n<=57343?1024*(i-55296)+n-56320+65536:i}function Ue(e){return/^\n* /.test(e)}function Ye(e,t,n,i,r,o,a,l){var c,s,u=0,p=null,f=!1,d=!1,h=-1!==i,g=-1,m=Me(s=De(e,0))&&s!==xe&&!Ee(s)&&45!==s&&63!==s&&58!==s&&44!==s&&91!==s&&93!==s&&123!==s&&125!==s&&35!==s&&38!==s&&42!==s&&33!==s&&124!==s&&61!==s&&62!==s&&39!==s&&34!==s&&37!==s&&64!==s&&96!==s&&function(e){return!Ee(e)&&58!==e}(De(e,e.length-1));if(t||a)for(c=0;c=65536?c+=2:c++){if(!Me(u=De(e,c)))return 5;m=m&&_e(u,p,l),p=u}else{for(c=0;c=65536?c+=2:c++){if(10===(u=De(e,c)))f=!0,h&&(d=d||c-g-1>i&&" "!==e[g+1],g=c);else if(!Me(u))return 5;m=m&&_e(u,p,l),p=u}d=d||h&&c-g-1>i&&" "!==e[g+1]}return f||d?n>9&&Ue(e)?5:a?2===o?5:2:d?4:3:!m||a||r(e)?2===o?5:2:1}function qe(e,t,n,i,r){e.dump=function(){if(0===t.length)return 2===e.quotingType?'""':"''";if(!e.noCompatMode&&(-1!==Se.indexOf(t)||Oe.test(t)))return 2===e.quotingType?'"'+t+'"':"'"+t+"'";var a=e.indent*Math.max(1,n),l=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),c=i||e.flowLevel>-1&&n>=e.flowLevel;switch(Ye(t,c,e.indent,l,(function(t){return function(e,t){var n,i;for(n=0,i=e.implicitTypes.length;n"+Re(t,e.indent)+Be(Ne(function(e,t){var n,i,r=/(\n+)([^\n]*)/g,o=(l=e.indexOf("\n"),l=-1!==l?l:e.length,r.lastIndex=l,Ke(e.slice(0,l),t)),a="\n"===e[0]||" "===e[0];var l;for(;i=r.exec(e);){var c=i[1],s=i[2];n=" "===s[0],o+=c+(a||n||""===s?"":"\n")+Ke(s,t),a=n}return o}(t,l),a));case 5:return'"'+function(e){for(var t,n="",i=0,r=0;r=65536?r+=2:r++)i=De(e,r),!(t=Ie[i])&&Me(i)?(n+=e[r],i>=65536&&(n+=e[r+1])):n+=t||je(i);return n}(t)+'"';default:throw new o("impossible error: invalid scalar style")}}()}function Re(e,t){var n=Ue(e)?String(t):"",i="\n"===e[e.length-1];return n+(i&&("\n"===e[e.length-2]||"\n"===e)?"+":i?"":"-")+"\n"}function Be(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function Ke(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,l=0,c="";n=r.exec(e);)(l=n.index)-o>t&&(i=a>o?a:l,c+="\n"+e.slice(o,i),o=i+1),a=l;return c+="\n",e.length-o>t&&a>o?c+=e.slice(o,a)+"\n"+e.slice(a+1):c+=e.slice(o),c.slice(1)}function Pe(e,t,n,i){var r,o,a,l="",c=e.tag;for(r=0,o=n.length;r tag resolver accepts not "'+s+'" style');i=c.represent[s](t,s)}e.dump=i}return!0}return!1}function He(e,t,n,i,r,a,l){e.tag=null,e.dump=n,We(e,n,!1)||We(e,n,!0);var c,s=ke.call(e.dump),u=i;i&&(i=e.flowLevel<0||e.flowLevel>t);var p,f,d="[object Object]"===s||"[object Array]"===s;if(d&&(f=-1!==(p=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||f||2!==e.indent&&t>0)&&(r=!1),f&&e.usedDuplicates[p])e.dump="*ref_"+p;else{if(d&&f&&!e.usedDuplicates[p]&&(e.usedDuplicates[p]=!0),"[object Object]"===s)i&&0!==Object.keys(e.dump).length?(!function(e,t,n,i){var r,a,l,c,s,u,p="",f=e.tag,d=Object.keys(n);if(!0===e.sortKeys)d.sort();else if("function"==typeof e.sortKeys)d.sort(e.sortKeys);else if(e.sortKeys)throw new o("sortKeys must be a boolean or a function");for(r=0,a=d.length;r1024)&&(e.dump&&10===e.dump.charCodeAt(0)?u+="?":u+="? "),u+=e.dump,s&&(u+=Fe(e,t)),He(e,t+1,c,!0,s)&&(e.dump&&10===e.dump.charCodeAt(0)?u+=":":u+=": ",p+=u+=e.dump));e.tag=f,e.dump=p||"{}"}(e,t,e.dump,r),f&&(e.dump="&ref_"+p+e.dump)):(!function(e,t,n){var i,r,o,a,l,c="",s=e.tag,u=Object.keys(n);for(i=0,r=u.length;i1024&&(l+="? "),l+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),He(e,t,a,!1,!1)&&(c+=l+=e.dump));e.tag=s,e.dump="{"+c+"}"}(e,t,e.dump),f&&(e.dump="&ref_"+p+" "+e.dump));else if("[object Array]"===s)i&&0!==e.dump.length?(e.noArrayIndent&&!l&&t>0?Pe(e,t-1,e.dump,r):Pe(e,t,e.dump,r),f&&(e.dump="&ref_"+p+e.dump)):(!function(e,t,n){var i,r,o,a="",l=e.tag;for(i=0,r=n.length;i",e.dump=c+" "+e.dump)}return!0}function $e(e,t){var n,i,r=[],o=[];for(Ge(e,r,o),n=0,i=o.length;n -1 ? false : message.push(item.message) }); - - var maxSeverity = null; - var tipLabel = state.hasGutter && document.createDocumentFragment(); - - for (var i = 0; i < anns.length; ++i) { - var ann = anns[i]; - var severity = ann.severity; - if (!severity) severity = "error"; - maxSeverity = getMaxSeverity(maxSeverity, severity); - - if (options.formatAnnotation) ann = options.formatAnnotation(ann); - if (state.hasGutter) tipLabel.appendChild(annotationTooltip(ann)); - - if (ann.to) state.marked.push(cm.markText(ann.from, ann.to, { - className: "CodeMirror-lint-mark CodeMirror-lint-mark-" + severity, - __annotation: ann - })); - } - // use original annotations[line] to show multiple messages - if (state.hasGutter) - cm.setGutterMarker(line, GUTTER_ID, makeMarker(cm, tipLabel, maxSeverity, annotations[line].length > 1, - state.options.tooltips)); - } - if (options.onUpdateLinting) options.onUpdateLinting(annotationsNotSorted, annotations, cm); - } - - function onChange(cm) { - var state = cm.state.lint; - if (!state) return; - clearTimeout(state.timeout); - state.timeout = setTimeout(function(){startLinting(cm);}, state.options.delay || 500); - } - - function popupTooltips(cm, annotations, e) { - var target = e.target || e.srcElement; - var tooltip = document.createDocumentFragment(); - for (var i = 0; i < annotations.length; i++) { - var ann = annotations[i]; - tooltip.appendChild(annotationTooltip(ann)); - } - showTooltipFor(cm, e, tooltip, target); - } - - function onMouseOver(cm, e) { - var target = e.target || e.srcElement; - if (!/\bCodeMirror-lint-mark-/.test(target.className)) return; - var box = target.getBoundingClientRect(), x = (box.left + box.right) / 2, y = (box.top + box.bottom) / 2; - var spans = cm.findMarksAt(cm.coordsChar({left: x, top: y}, "client")); - - var annotations = []; - for (var i = 0; i < spans.length; ++i) { - var ann = spans[i].__annotation; - if (ann) annotations.push(ann); - } - if (annotations.length) popupTooltips(cm, annotations, e); - } - - CodeMirror.defineOption("lint", false, function(cm, val, old) { - if (old && old != CodeMirror.Init) { - clearMarks(cm); - if (cm.state.lint.options.lintOnChange !== false) - cm.off("change", onChange); - CodeMirror.off(cm.getWrapperElement(), "mouseover", cm.state.lint.onMouseOver); - clearTimeout(cm.state.lint.timeout); - delete cm.state.lint; - } - - if (val) { - var gutters = cm.getOption("gutters"), hasLintGutter = false; - for (var i = 0; i < gutters.length; ++i) if (gutters[i] == GUTTER_ID) hasLintGutter = true; - var state = cm.state.lint = new LintState(cm, parseOptions(cm, val), hasLintGutter); - if (state.options.lintOnChange !== false) - cm.on("change", onChange); - if (state.options.tooltips != false && state.options.tooltips != "gutter") - CodeMirror.on(cm.getWrapperElement(), "mouseover", state.onMouseOver); - - startLinting(cm); - } - }); - - CodeMirror.defineExtension("performLint", function() { - if (this.state.lint) startLinting(this); - }); -}); diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/lint/yaml-lint.js b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/lint/yaml-lint.js deleted file mode 100644 index b4ac5abc4e..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/lint/yaml-lint.js +++ /dev/null @@ -1,41 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: https://codemirror.net/LICENSE - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { -"use strict"; - -// Depends on js-yaml.js from https://github.com/nodeca/js-yaml - -// declare global: jsyaml - -CodeMirror.registerHelper("lint", "yaml", function(text) { - var found = []; - if (!window.jsyaml) { - if (window.console) { - window.console.error("Error: window.jsyaml not defined, CodeMirror YAML linting cannot run."); - } - return found; - } - try { jsyaml.loadAll(text); } - catch(e) { - var loc = e.mark, - // js-yaml YAMLException doesn't always provide an accurate lineno - // e.g., when there are multiple yaml docs - // --- - // --- - // foo:bar - from = loc ? CodeMirror.Pos(loc.line, loc.column) : CodeMirror.Pos(0, 0), - to = from; - found.push({ from: from, to: to, message: e.message }); - } - return found; -}); - -}); diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/selection/active-line.js b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/selection/active-line.js deleted file mode 100644 index c7b14ce07f..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/addon/selection/active-line.js +++ /dev/null @@ -1,72 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: https://codemirror.net/LICENSE - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - "use strict"; - var WRAP_CLASS = "CodeMirror-activeline"; - var BACK_CLASS = "CodeMirror-activeline-background"; - var GUTT_CLASS = "CodeMirror-activeline-gutter"; - - CodeMirror.defineOption("styleActiveLine", false, function(cm, val, old) { - var prev = old == CodeMirror.Init ? false : old; - if (val == prev) return - if (prev) { - cm.off("beforeSelectionChange", selectionChange); - clearActiveLines(cm); - delete cm.state.activeLines; - } - if (val) { - cm.state.activeLines = []; - updateActiveLines(cm, cm.listSelections()); - cm.on("beforeSelectionChange", selectionChange); - } - }); - - function clearActiveLines(cm) { - for (var i = 0; i < cm.state.activeLines.length; i++) { - cm.removeLineClass(cm.state.activeLines[i], "wrap", WRAP_CLASS); - cm.removeLineClass(cm.state.activeLines[i], "background", BACK_CLASS); - cm.removeLineClass(cm.state.activeLines[i], "gutter", GUTT_CLASS); - } - } - - function sameArray(a, b) { - if (a.length != b.length) return false; - for (var i = 0; i < a.length; i++) - if (a[i] != b[i]) return false; - return true; - } - - function updateActiveLines(cm, ranges) { - var active = []; - for (var i = 0; i < ranges.length; i++) { - var range = ranges[i]; - var option = cm.getOption("styleActiveLine"); - if (typeof option == "object" && option.nonEmpty ? range.anchor.line != range.head.line : !range.empty()) - continue - var line = cm.getLineHandleVisualStart(range.head.line); - if (active[active.length - 1] != line) active.push(line); - } - if (sameArray(cm.state.activeLines, active)) return; - cm.operation(function() { - clearActiveLines(cm); - for (var i = 0; i < active.length; i++) { - cm.addLineClass(active[i], "wrap", WRAP_CLASS); - cm.addLineClass(active[i], "background", BACK_CLASS); - cm.addLineClass(active[i], "gutter", GUTT_CLASS); - } - cm.state.activeLines = active; - }); - } - - function selectionChange(cm, sel) { - updateActiveLines(cm, sel.ranges); - } -}); diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/lib/codemirror.css b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/lib/codemirror.css deleted file mode 100644 index 5ea2d2be2a..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/lib/codemirror.css +++ /dev/null @@ -1,350 +0,0 @@ -/* BASICS */ - -.CodeMirror { - /* Set height, width, borders, and global font properties here */ - font-family: monospace; - height: 300px; - color: black; - direction: ltr; -} - -/* PADDING */ - -.CodeMirror-lines { - padding: 4px 0; /* Vertical padding around content */ -} -.CodeMirror pre.CodeMirror-line, -.CodeMirror pre.CodeMirror-line-like { - padding: 0 4px; /* Horizontal padding of content */ -} - -.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { - background-color: transparent; /* The little square between H and V scrollbars */ -} - -/* GUTTER */ - -.CodeMirror-gutters { - border-right: 1px solid #ddd; - background-color: #f7f7f7; - white-space: nowrap; -} -.CodeMirror-linenumbers {} -.CodeMirror-linenumber { - padding: 0 3px 0 5px; - min-width: 20px; - text-align: right; - color: #999; - white-space: nowrap; -} - -.CodeMirror-guttermarker { color: black; } -.CodeMirror-guttermarker-subtle { color: #999; } - -/* CURSOR */ - -.CodeMirror-cursor { - border-left: 1px solid black; - border-right: none; - width: 0; -} -/* Shown when moving in bi-directional text */ -.CodeMirror div.CodeMirror-secondarycursor { - border-left: 1px solid silver; -} -.cm-fat-cursor .CodeMirror-cursor { - width: auto; - border: 0 !important; - background: #7e7; -} -.cm-fat-cursor div.CodeMirror-cursors { - z-index: 1; -} -.cm-fat-cursor-mark { - background-color: rgba(20, 255, 20, 0.5); - -webkit-animation: blink 1.06s steps(1) infinite; - -moz-animation: blink 1.06s steps(1) infinite; - animation: blink 1.06s steps(1) infinite; -} -.cm-animate-fat-cursor { - width: auto; - border: 0; - -webkit-animation: blink 1.06s steps(1) infinite; - -moz-animation: blink 1.06s steps(1) infinite; - animation: blink 1.06s steps(1) infinite; - background-color: #7e7; -} -@-moz-keyframes blink { - 0% {} - 50% { background-color: transparent; } - 100% {} -} -@-webkit-keyframes blink { - 0% {} - 50% { background-color: transparent; } - 100% {} -} -@keyframes blink { - 0% {} - 50% { background-color: transparent; } - 100% {} -} - -/* Can style cursor different in overwrite (non-insert) mode */ -.CodeMirror-overwrite .CodeMirror-cursor {} - -.cm-tab { display: inline-block; text-decoration: inherit; } - -.CodeMirror-rulers { - position: absolute; - left: 0; right: 0; top: -50px; bottom: 0; - overflow: hidden; -} -.CodeMirror-ruler { - border-left: 1px solid #ccc; - top: 0; bottom: 0; - position: absolute; -} - -/* DEFAULT THEME */ - -.cm-s-default .cm-header {color: blue;} -.cm-s-default .cm-quote {color: #090;} -.cm-negative {color: #d44;} -.cm-positive {color: #292;} -.cm-header, .cm-strong {font-weight: bold;} -.cm-em {font-style: italic;} -.cm-link {text-decoration: underline;} -.cm-strikethrough {text-decoration: line-through;} - -.cm-s-default .cm-keyword {color: #708;} -.cm-s-default .cm-atom {color: #219;} -.cm-s-default .cm-number {color: #164;} -.cm-s-default .cm-def {color: #00f;} -.cm-s-default .cm-variable, -.cm-s-default .cm-punctuation, -.cm-s-default .cm-property, -.cm-s-default .cm-operator {} -.cm-s-default .cm-variable-2 {color: #05a;} -.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;} -.cm-s-default .cm-comment {color: #a50;} -.cm-s-default .cm-string {color: #a11;} -.cm-s-default .cm-string-2 {color: #f50;} -.cm-s-default .cm-meta {color: #555;} -.cm-s-default .cm-qualifier {color: #555;} -.cm-s-default .cm-builtin {color: #30a;} -.cm-s-default .cm-bracket {color: #997;} -.cm-s-default .cm-tag {color: #170;} -.cm-s-default .cm-attribute {color: #00c;} -.cm-s-default .cm-hr {color: #999;} -.cm-s-default .cm-link {color: #00c;} - -.cm-s-default .cm-error {color: #f00;} -.cm-invalidchar {color: #f00;} - -.CodeMirror-composing { border-bottom: 2px solid; } - -/* Default styles for common addons */ - -div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;} -div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;} -.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } -.CodeMirror-activeline-background {background: #e8f2ff;} - -/* STOP */ - -/* The rest of this file contains styles related to the mechanics of - the editor. You probably shouldn't touch them. */ - -.CodeMirror { - position: relative; - overflow: hidden; - background: white; -} - -.CodeMirror-scroll { - overflow: scroll !important; /* Things will break if this is overridden */ - /* 50px is the magic margin used to hide the element's real scrollbars */ - /* See overflow: hidden in .CodeMirror */ - margin-bottom: -50px; margin-right: -50px; - padding-bottom: 50px; - height: 100%; - outline: none; /* Prevent dragging from highlighting the element */ - position: relative; -} -.CodeMirror-sizer { - position: relative; - border-right: 50px solid transparent; -} - -/* The fake, visible scrollbars. Used to force redraw during scrolling - before actual scrolling happens, thus preventing shaking and - flickering artifacts. */ -.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { - position: absolute; - z-index: 6; - display: none; - outline: none; -} -.CodeMirror-vscrollbar { - right: 0; top: 0; - overflow-x: hidden; - overflow-y: scroll; -} -.CodeMirror-hscrollbar { - bottom: 0; left: 0; - overflow-y: hidden; - overflow-x: scroll; -} -.CodeMirror-scrollbar-filler { - right: 0; bottom: 0; -} -.CodeMirror-gutter-filler { - left: 0; bottom: 0; -} - -.CodeMirror-gutters { - position: absolute; left: 0; top: 0; - min-height: 100%; - z-index: 3; -} -.CodeMirror-gutter { - white-space: normal; - height: 100%; - display: inline-block; - vertical-align: top; - margin-bottom: -50px; -} -.CodeMirror-gutter-wrapper { - position: absolute; - z-index: 4; - background: none !important; - border: none !important; -} -.CodeMirror-gutter-background { - position: absolute; - top: 0; bottom: 0; - z-index: 4; -} -.CodeMirror-gutter-elt { - position: absolute; - cursor: default; - z-index: 4; -} -.CodeMirror-gutter-wrapper ::selection { background-color: transparent } -.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent } - -.CodeMirror-lines { - cursor: text; - min-height: 1px; /* prevents collapsing before first draw */ -} -.CodeMirror pre.CodeMirror-line, -.CodeMirror pre.CodeMirror-line-like { - /* Reset some styles that the rest of the page might have set */ - -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; - border-width: 0; - background: transparent; - font-family: inherit; - font-size: inherit; - margin: 0; - white-space: pre; - word-wrap: normal; - line-height: inherit; - color: inherit; - z-index: 2; - position: relative; - overflow: visible; - -webkit-tap-highlight-color: transparent; - -webkit-font-variant-ligatures: contextual; - font-variant-ligatures: contextual; -} -.CodeMirror-wrap pre.CodeMirror-line, -.CodeMirror-wrap pre.CodeMirror-line-like { - word-wrap: break-word; - white-space: pre-wrap; - word-break: normal; -} - -.CodeMirror-linebackground { - position: absolute; - left: 0; right: 0; top: 0; bottom: 0; - z-index: 0; -} - -.CodeMirror-linewidget { - position: relative; - z-index: 2; - padding: 0.1px; /* Force widget margins to stay inside of the container */ -} - -.CodeMirror-widget {} - -.CodeMirror-rtl pre { direction: rtl; } - -.CodeMirror-code { - outline: none; -} - -/* Force content-box sizing for the elements where we expect it */ -.CodeMirror-scroll, -.CodeMirror-sizer, -.CodeMirror-gutter, -.CodeMirror-gutters, -.CodeMirror-linenumber { - -moz-box-sizing: content-box; - box-sizing: content-box; -} - -.CodeMirror-measure { - position: absolute; - width: 100%; - height: 0; - overflow: hidden; - visibility: hidden; -} - -.CodeMirror-cursor { - position: absolute; - pointer-events: none; -} -.CodeMirror-measure pre { position: static; } - -div.CodeMirror-cursors { - visibility: hidden; - position: relative; - z-index: 3; -} -div.CodeMirror-dragcursors { - visibility: visible; -} - -.CodeMirror-focused div.CodeMirror-cursors { - visibility: visible; -} - -.CodeMirror-selected { background: #d9d9d9; } -.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } -.CodeMirror-crosshair { cursor: crosshair; } -.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; } -.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } - -.cm-searching { - background-color: #ffa; - background-color: rgba(255, 255, 0, .4); -} - -/* Used to force a border model for a node */ -.cm-force-border { padding-right: .1px; } - -@media print { - /* Hide the cursor when printing */ - .CodeMirror div.CodeMirror-cursors { - visibility: hidden; - } -} - -/* See issue #2901 */ -.cm-tab-wrap-hack:after { content: ''; } - -/* Help users use markselection to safely style text background */ -span.CodeMirror-selectedtext { background: none; } diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/lib/codemirror.js b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/lib/codemirror.js deleted file mode 100644 index 1f313cffbb..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/lib/codemirror.js +++ /dev/null @@ -1,9800 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: https://codemirror.net/LICENSE - -// This is CodeMirror (https://codemirror.net), a code editor -// implemented in JavaScript on top of the browser's DOM. -// -// You can find some technical background for some of the code below -// at http://marijnhaverbeke.nl/blog/#cm-internals . - -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = global || self, global.CodeMirror = factory()); -}(this, (function () { 'use strict'; - - // Kludges for bugs and behavior differences that can't be feature - // detected are enabled based on userAgent etc sniffing. - var userAgent = navigator.userAgent; - var platform = navigator.platform; - - var gecko = /gecko\/\d/i.test(userAgent); - var ie_upto10 = /MSIE \d/.test(userAgent); - var ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(userAgent); - var edge = /Edge\/(\d+)/.exec(userAgent); - var ie = ie_upto10 || ie_11up || edge; - var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1]); - var webkit = !edge && /WebKit\//.test(userAgent); - var qtwebkit = webkit && /Qt\/\d+\.\d+/.test(userAgent); - var chrome = !edge && /Chrome\//.test(userAgent); - var presto = /Opera\//.test(userAgent); - var safari = /Apple Computer/.test(navigator.vendor); - var mac_geMountainLion = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(userAgent); - var phantom = /PhantomJS/.test(userAgent); - - var ios = safari && (/Mobile\/\w+/.test(userAgent) || navigator.maxTouchPoints > 2); - var android = /Android/.test(userAgent); - // This is woefully incomplete. Suggestions for alternative methods welcome. - var mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent); - var mac = ios || /Mac/.test(platform); - var chromeOS = /\bCrOS\b/.test(userAgent); - var windows = /win/i.test(platform); - - var presto_version = presto && userAgent.match(/Version\/(\d*\.\d*)/); - if (presto_version) { presto_version = Number(presto_version[1]); } - if (presto_version && presto_version >= 15) { presto = false; webkit = true; } - // Some browsers use the wrong event properties to signal cmd/ctrl on OS X - var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11)); - var captureRightClick = gecko || (ie && ie_version >= 9); - - function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)\\s*") } - - var rmClass = function(node, cls) { - var current = node.className; - var match = classTest(cls).exec(current); - if (match) { - var after = current.slice(match.index + match[0].length); - node.className = current.slice(0, match.index) + (after ? match[1] + after : ""); - } - }; - - function removeChildren(e) { - for (var count = e.childNodes.length; count > 0; --count) - { e.removeChild(e.firstChild); } - return e - } - - function removeChildrenAndAdd(parent, e) { - return removeChildren(parent).appendChild(e) - } - - function elt(tag, content, className, style) { - var e = document.createElement(tag); - if (className) { e.className = className; } - if (style) { e.style.cssText = style; } - if (typeof content == "string") { e.appendChild(document.createTextNode(content)); } - else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]); } } - return e - } - // wrapper for elt, which removes the elt from the accessibility tree - function eltP(tag, content, className, style) { - var e = elt(tag, content, className, style); - e.setAttribute("role", "presentation"); - return e - } - - var range; - if (document.createRange) { range = function(node, start, end, endNode) { - var r = document.createRange(); - r.setEnd(endNode || node, end); - r.setStart(node, start); - return r - }; } - else { range = function(node, start, end) { - var r = document.body.createTextRange(); - try { r.moveToElementText(node.parentNode); } - catch(e) { return r } - r.collapse(true); - r.moveEnd("character", end); - r.moveStart("character", start); - return r - }; } - - function contains(parent, child) { - if (child.nodeType == 3) // Android browser always returns false when child is a textnode - { child = child.parentNode; } - if (parent.contains) - { return parent.contains(child) } - do { - if (child.nodeType == 11) { child = child.host; } - if (child == parent) { return true } - } while (child = child.parentNode) - } - - function activeElt() { - // IE and Edge may throw an "Unspecified Error" when accessing document.activeElement. - // IE < 10 will throw when accessed while the page is loading or in an iframe. - // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable. - var activeElement; - try { - activeElement = document.activeElement; - } catch(e) { - activeElement = document.body || null; - } - while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement) - { activeElement = activeElement.shadowRoot.activeElement; } - return activeElement - } - - function addClass(node, cls) { - var current = node.className; - if (!classTest(cls).test(current)) { node.className += (current ? " " : "") + cls; } - } - function joinClasses(a, b) { - var as = a.split(" "); - for (var i = 0; i < as.length; i++) - { if (as[i] && !classTest(as[i]).test(b)) { b += " " + as[i]; } } - return b - } - - var selectInput = function(node) { node.select(); }; - if (ios) // Mobile Safari apparently has a bug where select() is broken. - { selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length; }; } - else if (ie) // Suppress mysterious IE10 errors - { selectInput = function(node) { try { node.select(); } catch(_e) {} }; } - - function bind(f) { - var args = Array.prototype.slice.call(arguments, 1); - return function(){return f.apply(null, args)} - } - - function copyObj(obj, target, overwrite) { - if (!target) { target = {}; } - for (var prop in obj) - { if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop))) - { target[prop] = obj[prop]; } } - return target - } - - // Counts the column offset in a string, taking tabs into account. - // Used mostly to find indentation. - function countColumn(string, end, tabSize, startIndex, startValue) { - if (end == null) { - end = string.search(/[^\s\u00a0]/); - if (end == -1) { end = string.length; } - } - for (var i = startIndex || 0, n = startValue || 0;;) { - var nextTab = string.indexOf("\t", i); - if (nextTab < 0 || nextTab >= end) - { return n + (end - i) } - n += nextTab - i; - n += tabSize - (n % tabSize); - i = nextTab + 1; - } - } - - var Delayed = function() { - this.id = null; - this.f = null; - this.time = 0; - this.handler = bind(this.onTimeout, this); - }; - Delayed.prototype.onTimeout = function (self) { - self.id = 0; - if (self.time <= +new Date) { - self.f(); - } else { - setTimeout(self.handler, self.time - +new Date); - } - }; - Delayed.prototype.set = function (ms, f) { - this.f = f; - var time = +new Date + ms; - if (!this.id || time < this.time) { - clearTimeout(this.id); - this.id = setTimeout(this.handler, ms); - this.time = time; - } - }; - - function indexOf(array, elt) { - for (var i = 0; i < array.length; ++i) - { if (array[i] == elt) { return i } } - return -1 - } - - // Number of pixels added to scroller and sizer to hide scrollbar - var scrollerGap = 50; - - // Returned or thrown by various protocols to signal 'I'm not - // handling this'. - var Pass = {toString: function(){return "CodeMirror.Pass"}}; - - // Reused option objects for setSelection & friends - var sel_dontScroll = {scroll: false}, sel_mouse = {origin: "*mouse"}, sel_move = {origin: "+move"}; - - // The inverse of countColumn -- find the offset that corresponds to - // a particular column. - function findColumn(string, goal, tabSize) { - for (var pos = 0, col = 0;;) { - var nextTab = string.indexOf("\t", pos); - if (nextTab == -1) { nextTab = string.length; } - var skipped = nextTab - pos; - if (nextTab == string.length || col + skipped >= goal) - { return pos + Math.min(skipped, goal - col) } - col += nextTab - pos; - col += tabSize - (col % tabSize); - pos = nextTab + 1; - if (col >= goal) { return pos } - } - } - - var spaceStrs = [""]; - function spaceStr(n) { - while (spaceStrs.length <= n) - { spaceStrs.push(lst(spaceStrs) + " "); } - return spaceStrs[n] - } - - function lst(arr) { return arr[arr.length-1] } - - function map(array, f) { - var out = []; - for (var i = 0; i < array.length; i++) { out[i] = f(array[i], i); } - return out - } - - function insertSorted(array, value, score) { - var pos = 0, priority = score(value); - while (pos < array.length && score(array[pos]) <= priority) { pos++; } - array.splice(pos, 0, value); - } - - function nothing() {} - - function createObj(base, props) { - var inst; - if (Object.create) { - inst = Object.create(base); - } else { - nothing.prototype = base; - inst = new nothing(); - } - if (props) { copyObj(props, inst); } - return inst - } - - var nonASCIISingleCaseWordChar = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/; - function isWordCharBasic(ch) { - return /\w/.test(ch) || ch > "\x80" && - (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch)) - } - function isWordChar(ch, helper) { - if (!helper) { return isWordCharBasic(ch) } - if (helper.source.indexOf("\\w") > -1 && isWordCharBasic(ch)) { return true } - return helper.test(ch) - } - - function isEmpty(obj) { - for (var n in obj) { if (obj.hasOwnProperty(n) && obj[n]) { return false } } - return true - } - - // Extending unicode characters. A series of a non-extending char + - // any number of extending chars is treated as a single unit as far - // as editing and measuring is concerned. This is not fully correct, - // since some scripts/fonts/browsers also treat other configurations - // of code points as a group. - var extendingChars = /[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/; - function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch) } - - // Returns a number from the range [`0`; `str.length`] unless `pos` is outside that range. - function skipExtendingChars(str, pos, dir) { - while ((dir < 0 ? pos > 0 : pos < str.length) && isExtendingChar(str.charAt(pos))) { pos += dir; } - return pos - } - - // Returns the value from the range [`from`; `to`] that satisfies - // `pred` and is closest to `from`. Assumes that at least `to` - // satisfies `pred`. Supports `from` being greater than `to`. - function findFirst(pred, from, to) { - // At any point we are certain `to` satisfies `pred`, don't know - // whether `from` does. - var dir = from > to ? -1 : 1; - for (;;) { - if (from == to) { return from } - var midF = (from + to) / 2, mid = dir < 0 ? Math.ceil(midF) : Math.floor(midF); - if (mid == from) { return pred(mid) ? from : to } - if (pred(mid)) { to = mid; } - else { from = mid + dir; } - } - } - - // BIDI HELPERS - - function iterateBidiSections(order, from, to, f) { - if (!order) { return f(from, to, "ltr", 0) } - var found = false; - for (var i = 0; i < order.length; ++i) { - var part = order[i]; - if (part.from < to && part.to > from || from == to && part.to == from) { - f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? "rtl" : "ltr", i); - found = true; - } - } - if (!found) { f(from, to, "ltr"); } - } - - var bidiOther = null; - function getBidiPartAt(order, ch, sticky) { - var found; - bidiOther = null; - for (var i = 0; i < order.length; ++i) { - var cur = order[i]; - if (cur.from < ch && cur.to > ch) { return i } - if (cur.to == ch) { - if (cur.from != cur.to && sticky == "before") { found = i; } - else { bidiOther = i; } - } - if (cur.from == ch) { - if (cur.from != cur.to && sticky != "before") { found = i; } - else { bidiOther = i; } - } - } - return found != null ? found : bidiOther - } - - // Bidirectional ordering algorithm - // See http://unicode.org/reports/tr9/tr9-13.html for the algorithm - // that this (partially) implements. - - // One-char codes used for character types: - // L (L): Left-to-Right - // R (R): Right-to-Left - // r (AL): Right-to-Left Arabic - // 1 (EN): European Number - // + (ES): European Number Separator - // % (ET): European Number Terminator - // n (AN): Arabic Number - // , (CS): Common Number Separator - // m (NSM): Non-Spacing Mark - // b (BN): Boundary Neutral - // s (B): Paragraph Separator - // t (S): Segment Separator - // w (WS): Whitespace - // N (ON): Other Neutrals - - // Returns null if characters are ordered as they appear - // (left-to-right), or an array of sections ({from, to, level} - // objects) in the order in which they occur visually. - var bidiOrdering = (function() { - // Character types for codepoints 0 to 0xff - var lowTypes = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN"; - // Character types for codepoints 0x600 to 0x6f9 - var arabicTypes = "nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111"; - function charType(code) { - if (code <= 0xf7) { return lowTypes.charAt(code) } - else if (0x590 <= code && code <= 0x5f4) { return "R" } - else if (0x600 <= code && code <= 0x6f9) { return arabicTypes.charAt(code - 0x600) } - else if (0x6ee <= code && code <= 0x8ac) { return "r" } - else if (0x2000 <= code && code <= 0x200b) { return "w" } - else if (code == 0x200c) { return "b" } - else { return "L" } - } - - var bidiRE = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/; - var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/; - - function BidiSpan(level, from, to) { - this.level = level; - this.from = from; this.to = to; - } - - return function(str, direction) { - var outerType = direction == "ltr" ? "L" : "R"; - - if (str.length == 0 || direction == "ltr" && !bidiRE.test(str)) { return false } - var len = str.length, types = []; - for (var i = 0; i < len; ++i) - { types.push(charType(str.charCodeAt(i))); } - - // W1. Examine each non-spacing mark (NSM) in the level run, and - // change the type of the NSM to the type of the previous - // character. If the NSM is at the start of the level run, it will - // get the type of sor. - for (var i$1 = 0, prev = outerType; i$1 < len; ++i$1) { - var type = types[i$1]; - if (type == "m") { types[i$1] = prev; } - else { prev = type; } - } - - // W2. Search backwards from each instance of a European number - // until the first strong type (R, L, AL, or sor) is found. If an - // AL is found, change the type of the European number to Arabic - // number. - // W3. Change all ALs to R. - for (var i$2 = 0, cur = outerType; i$2 < len; ++i$2) { - var type$1 = types[i$2]; - if (type$1 == "1" && cur == "r") { types[i$2] = "n"; } - else if (isStrong.test(type$1)) { cur = type$1; if (type$1 == "r") { types[i$2] = "R"; } } - } - - // W4. A single European separator between two European numbers - // changes to a European number. A single common separator between - // two numbers of the same type changes to that type. - for (var i$3 = 1, prev$1 = types[0]; i$3 < len - 1; ++i$3) { - var type$2 = types[i$3]; - if (type$2 == "+" && prev$1 == "1" && types[i$3+1] == "1") { types[i$3] = "1"; } - else if (type$2 == "," && prev$1 == types[i$3+1] && - (prev$1 == "1" || prev$1 == "n")) { types[i$3] = prev$1; } - prev$1 = type$2; - } - - // W5. A sequence of European terminators adjacent to European - // numbers changes to all European numbers. - // W6. Otherwise, separators and terminators change to Other - // Neutral. - for (var i$4 = 0; i$4 < len; ++i$4) { - var type$3 = types[i$4]; - if (type$3 == ",") { types[i$4] = "N"; } - else if (type$3 == "%") { - var end = (void 0); - for (end = i$4 + 1; end < len && types[end] == "%"; ++end) {} - var replace = (i$4 && types[i$4-1] == "!") || (end < len && types[end] == "1") ? "1" : "N"; - for (var j = i$4; j < end; ++j) { types[j] = replace; } - i$4 = end - 1; - } - } - - // W7. Search backwards from each instance of a European number - // until the first strong type (R, L, or sor) is found. If an L is - // found, then change the type of the European number to L. - for (var i$5 = 0, cur$1 = outerType; i$5 < len; ++i$5) { - var type$4 = types[i$5]; - if (cur$1 == "L" && type$4 == "1") { types[i$5] = "L"; } - else if (isStrong.test(type$4)) { cur$1 = type$4; } - } - - // N1. A sequence of neutrals takes the direction of the - // surrounding strong text if the text on both sides has the same - // direction. European and Arabic numbers act as if they were R in - // terms of their influence on neutrals. Start-of-level-run (sor) - // and end-of-level-run (eor) are used at level run boundaries. - // N2. Any remaining neutrals take the embedding direction. - for (var i$6 = 0; i$6 < len; ++i$6) { - if (isNeutral.test(types[i$6])) { - var end$1 = (void 0); - for (end$1 = i$6 + 1; end$1 < len && isNeutral.test(types[end$1]); ++end$1) {} - var before = (i$6 ? types[i$6-1] : outerType) == "L"; - var after = (end$1 < len ? types[end$1] : outerType) == "L"; - var replace$1 = before == after ? (before ? "L" : "R") : outerType; - for (var j$1 = i$6; j$1 < end$1; ++j$1) { types[j$1] = replace$1; } - i$6 = end$1 - 1; - } - } - - // Here we depart from the documented algorithm, in order to avoid - // building up an actual levels array. Since there are only three - // levels (0, 1, 2) in an implementation that doesn't take - // explicit embedding into account, we can build up the order on - // the fly, without following the level-based algorithm. - var order = [], m; - for (var i$7 = 0; i$7 < len;) { - if (countsAsLeft.test(types[i$7])) { - var start = i$7; - for (++i$7; i$7 < len && countsAsLeft.test(types[i$7]); ++i$7) {} - order.push(new BidiSpan(0, start, i$7)); - } else { - var pos = i$7, at = order.length, isRTL = direction == "rtl" ? 1 : 0; - for (++i$7; i$7 < len && types[i$7] != "L"; ++i$7) {} - for (var j$2 = pos; j$2 < i$7;) { - if (countsAsNum.test(types[j$2])) { - if (pos < j$2) { order.splice(at, 0, new BidiSpan(1, pos, j$2)); at += isRTL; } - var nstart = j$2; - for (++j$2; j$2 < i$7 && countsAsNum.test(types[j$2]); ++j$2) {} - order.splice(at, 0, new BidiSpan(2, nstart, j$2)); - at += isRTL; - pos = j$2; - } else { ++j$2; } - } - if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)); } - } - } - if (direction == "ltr") { - if (order[0].level == 1 && (m = str.match(/^\s+/))) { - order[0].from = m[0].length; - order.unshift(new BidiSpan(0, 0, m[0].length)); - } - if (lst(order).level == 1 && (m = str.match(/\s+$/))) { - lst(order).to -= m[0].length; - order.push(new BidiSpan(0, len - m[0].length, len)); - } - } - - return direction == "rtl" ? order.reverse() : order - } - })(); - - // Get the bidi ordering for the given line (and cache it). Returns - // false for lines that are fully left-to-right, and an array of - // BidiSpan objects otherwise. - function getOrder(line, direction) { - var order = line.order; - if (order == null) { order = line.order = bidiOrdering(line.text, direction); } - return order - } - - // EVENT HANDLING - - // Lightweight event framework. on/off also work on DOM nodes, - // registering native DOM handlers. - - var noHandlers = []; - - var on = function(emitter, type, f) { - if (emitter.addEventListener) { - emitter.addEventListener(type, f, false); - } else if (emitter.attachEvent) { - emitter.attachEvent("on" + type, f); - } else { - var map = emitter._handlers || (emitter._handlers = {}); - map[type] = (map[type] || noHandlers).concat(f); - } - }; - - function getHandlers(emitter, type) { - return emitter._handlers && emitter._handlers[type] || noHandlers - } - - function off(emitter, type, f) { - if (emitter.removeEventListener) { - emitter.removeEventListener(type, f, false); - } else if (emitter.detachEvent) { - emitter.detachEvent("on" + type, f); - } else { - var map = emitter._handlers, arr = map && map[type]; - if (arr) { - var index = indexOf(arr, f); - if (index > -1) - { map[type] = arr.slice(0, index).concat(arr.slice(index + 1)); } - } - } - } - - function signal(emitter, type /*, values...*/) { - var handlers = getHandlers(emitter, type); - if (!handlers.length) { return } - var args = Array.prototype.slice.call(arguments, 2); - for (var i = 0; i < handlers.length; ++i) { handlers[i].apply(null, args); } - } - - // The DOM events that CodeMirror handles can be overridden by - // registering a (non-DOM) handler on the editor for the event name, - // and preventDefault-ing the event in that handler. - function signalDOMEvent(cm, e, override) { - if (typeof e == "string") - { e = {type: e, preventDefault: function() { this.defaultPrevented = true; }}; } - signal(cm, override || e.type, cm, e); - return e_defaultPrevented(e) || e.codemirrorIgnore - } - - function signalCursorActivity(cm) { - var arr = cm._handlers && cm._handlers.cursorActivity; - if (!arr) { return } - var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = []); - for (var i = 0; i < arr.length; ++i) { if (indexOf(set, arr[i]) == -1) - { set.push(arr[i]); } } - } - - function hasHandler(emitter, type) { - return getHandlers(emitter, type).length > 0 - } - - // Add on and off methods to a constructor's prototype, to make - // registering events on such objects more convenient. - function eventMixin(ctor) { - ctor.prototype.on = function(type, f) {on(this, type, f);}; - ctor.prototype.off = function(type, f) {off(this, type, f);}; - } - - // Due to the fact that we still support jurassic IE versions, some - // compatibility wrappers are needed. - - function e_preventDefault(e) { - if (e.preventDefault) { e.preventDefault(); } - else { e.returnValue = false; } - } - function e_stopPropagation(e) { - if (e.stopPropagation) { e.stopPropagation(); } - else { e.cancelBubble = true; } - } - function e_defaultPrevented(e) { - return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false - } - function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);} - - function e_target(e) {return e.target || e.srcElement} - function e_button(e) { - var b = e.which; - if (b == null) { - if (e.button & 1) { b = 1; } - else if (e.button & 2) { b = 3; } - else if (e.button & 4) { b = 2; } - } - if (mac && e.ctrlKey && b == 1) { b = 3; } - return b - } - - // Detect drag-and-drop - var dragAndDrop = function() { - // There is *some* kind of drag-and-drop support in IE6-8, but I - // couldn't get it to work yet. - if (ie && ie_version < 9) { return false } - var div = elt('div'); - return "draggable" in div || "dragDrop" in div - }(); - - var zwspSupported; - function zeroWidthElement(measure) { - if (zwspSupported == null) { - var test = elt("span", "\u200b"); - removeChildrenAndAdd(measure, elt("span", [test, document.createTextNode("x")])); - if (measure.firstChild.offsetHeight != 0) - { zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8); } - } - var node = zwspSupported ? elt("span", "\u200b") : - elt("span", "\u00a0", null, "display: inline-block; width: 1px; margin-right: -1px"); - node.setAttribute("cm-text", ""); - return node - } - - // Feature-detect IE's crummy client rect reporting for bidi text - var badBidiRects; - function hasBadBidiRects(measure) { - if (badBidiRects != null) { return badBidiRects } - var txt = removeChildrenAndAdd(measure, document.createTextNode("A\u062eA")); - var r0 = range(txt, 0, 1).getBoundingClientRect(); - var r1 = range(txt, 1, 2).getBoundingClientRect(); - removeChildren(measure); - if (!r0 || r0.left == r0.right) { return false } // Safari returns null in some cases (#2780) - return badBidiRects = (r1.right - r0.right < 3) - } - - // See if "".split is the broken IE version, if so, provide an - // alternative way to split lines. - var splitLinesAuto = "\n\nb".split(/\n/).length != 3 ? function (string) { - var pos = 0, result = [], l = string.length; - while (pos <= l) { - var nl = string.indexOf("\n", pos); - if (nl == -1) { nl = string.length; } - var line = string.slice(pos, string.charAt(nl - 1) == "\r" ? nl - 1 : nl); - var rt = line.indexOf("\r"); - if (rt != -1) { - result.push(line.slice(0, rt)); - pos += rt + 1; - } else { - result.push(line); - pos = nl + 1; - } - } - return result - } : function (string) { return string.split(/\r\n?|\n/); }; - - var hasSelection = window.getSelection ? function (te) { - try { return te.selectionStart != te.selectionEnd } - catch(e) { return false } - } : function (te) { - var range; - try {range = te.ownerDocument.selection.createRange();} - catch(e) {} - if (!range || range.parentElement() != te) { return false } - return range.compareEndPoints("StartToEnd", range) != 0 - }; - - var hasCopyEvent = (function () { - var e = elt("div"); - if ("oncopy" in e) { return true } - e.setAttribute("oncopy", "return;"); - return typeof e.oncopy == "function" - })(); - - var badZoomedRects = null; - function hasBadZoomedRects(measure) { - if (badZoomedRects != null) { return badZoomedRects } - var node = removeChildrenAndAdd(measure, elt("span", "x")); - var normal = node.getBoundingClientRect(); - var fromRange = range(node, 0, 1).getBoundingClientRect(); - return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1 - } - - // Known modes, by name and by MIME - var modes = {}, mimeModes = {}; - - // Extra arguments are stored as the mode's dependencies, which is - // used by (legacy) mechanisms like loadmode.js to automatically - // load a mode. (Preferred mechanism is the require/define calls.) - function defineMode(name, mode) { - if (arguments.length > 2) - { mode.dependencies = Array.prototype.slice.call(arguments, 2); } - modes[name] = mode; - } - - function defineMIME(mime, spec) { - mimeModes[mime] = spec; - } - - // Given a MIME type, a {name, ...options} config object, or a name - // string, return a mode config object. - function resolveMode(spec) { - if (typeof spec == "string" && mimeModes.hasOwnProperty(spec)) { - spec = mimeModes[spec]; - } else if (spec && typeof spec.name == "string" && mimeModes.hasOwnProperty(spec.name)) { - var found = mimeModes[spec.name]; - if (typeof found == "string") { found = {name: found}; } - spec = createObj(found, spec); - spec.name = found.name; - } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+xml$/.test(spec)) { - return resolveMode("application/xml") - } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+json$/.test(spec)) { - return resolveMode("application/json") - } - if (typeof spec == "string") { return {name: spec} } - else { return spec || {name: "null"} } - } - - // Given a mode spec (anything that resolveMode accepts), find and - // initialize an actual mode object. - function getMode(options, spec) { - spec = resolveMode(spec); - var mfactory = modes[spec.name]; - if (!mfactory) { return getMode(options, "text/plain") } - var modeObj = mfactory(options, spec); - if (modeExtensions.hasOwnProperty(spec.name)) { - var exts = modeExtensions[spec.name]; - for (var prop in exts) { - if (!exts.hasOwnProperty(prop)) { continue } - if (modeObj.hasOwnProperty(prop)) { modeObj["_" + prop] = modeObj[prop]; } - modeObj[prop] = exts[prop]; - } - } - modeObj.name = spec.name; - if (spec.helperType) { modeObj.helperType = spec.helperType; } - if (spec.modeProps) { for (var prop$1 in spec.modeProps) - { modeObj[prop$1] = spec.modeProps[prop$1]; } } - - return modeObj - } - - // This can be used to attach properties to mode objects from - // outside the actual mode definition. - var modeExtensions = {}; - function extendMode(mode, properties) { - var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {}); - copyObj(properties, exts); - } - - function copyState(mode, state) { - if (state === true) { return state } - if (mode.copyState) { return mode.copyState(state) } - var nstate = {}; - for (var n in state) { - var val = state[n]; - if (val instanceof Array) { val = val.concat([]); } - nstate[n] = val; - } - return nstate - } - - // Given a mode and a state (for that mode), find the inner mode and - // state at the position that the state refers to. - function innerMode(mode, state) { - var info; - while (mode.innerMode) { - info = mode.innerMode(state); - if (!info || info.mode == mode) { break } - state = info.state; - mode = info.mode; - } - return info || {mode: mode, state: state} - } - - function startState(mode, a1, a2) { - return mode.startState ? mode.startState(a1, a2) : true - } - - // STRING STREAM - - // Fed to the mode parsers, provides helper functions to make - // parsers more succinct. - - var StringStream = function(string, tabSize, lineOracle) { - this.pos = this.start = 0; - this.string = string; - this.tabSize = tabSize || 8; - this.lastColumnPos = this.lastColumnValue = 0; - this.lineStart = 0; - this.lineOracle = lineOracle; - }; - - StringStream.prototype.eol = function () {return this.pos >= this.string.length}; - StringStream.prototype.sol = function () {return this.pos == this.lineStart}; - StringStream.prototype.peek = function () {return this.string.charAt(this.pos) || undefined}; - StringStream.prototype.next = function () { - if (this.pos < this.string.length) - { return this.string.charAt(this.pos++) } - }; - StringStream.prototype.eat = function (match) { - var ch = this.string.charAt(this.pos); - var ok; - if (typeof match == "string") { ok = ch == match; } - else { ok = ch && (match.test ? match.test(ch) : match(ch)); } - if (ok) {++this.pos; return ch} - }; - StringStream.prototype.eatWhile = function (match) { - var start = this.pos; - while (this.eat(match)){} - return this.pos > start - }; - StringStream.prototype.eatSpace = function () { - var start = this.pos; - while (/[\s\u00a0]/.test(this.string.charAt(this.pos))) { ++this.pos; } - return this.pos > start - }; - StringStream.prototype.skipToEnd = function () {this.pos = this.string.length;}; - StringStream.prototype.skipTo = function (ch) { - var found = this.string.indexOf(ch, this.pos); - if (found > -1) {this.pos = found; return true} - }; - StringStream.prototype.backUp = function (n) {this.pos -= n;}; - StringStream.prototype.column = function () { - if (this.lastColumnPos < this.start) { - this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue); - this.lastColumnPos = this.start; - } - return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0) - }; - StringStream.prototype.indentation = function () { - return countColumn(this.string, null, this.tabSize) - - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0) - }; - StringStream.prototype.match = function (pattern, consume, caseInsensitive) { - if (typeof pattern == "string") { - var cased = function (str) { return caseInsensitive ? str.toLowerCase() : str; }; - var substr = this.string.substr(this.pos, pattern.length); - if (cased(substr) == cased(pattern)) { - if (consume !== false) { this.pos += pattern.length; } - return true - } - } else { - var match = this.string.slice(this.pos).match(pattern); - if (match && match.index > 0) { return null } - if (match && consume !== false) { this.pos += match[0].length; } - return match - } - }; - StringStream.prototype.current = function (){return this.string.slice(this.start, this.pos)}; - StringStream.prototype.hideFirstChars = function (n, inner) { - this.lineStart += n; - try { return inner() } - finally { this.lineStart -= n; } - }; - StringStream.prototype.lookAhead = function (n) { - var oracle = this.lineOracle; - return oracle && oracle.lookAhead(n) - }; - StringStream.prototype.baseToken = function () { - var oracle = this.lineOracle; - return oracle && oracle.baseToken(this.pos) - }; - - // Find the line object corresponding to the given line number. - function getLine(doc, n) { - n -= doc.first; - if (n < 0 || n >= doc.size) { throw new Error("There is no line " + (n + doc.first) + " in the document.") } - var chunk = doc; - while (!chunk.lines) { - for (var i = 0;; ++i) { - var child = chunk.children[i], sz = child.chunkSize(); - if (n < sz) { chunk = child; break } - n -= sz; - } - } - return chunk.lines[n] - } - - // Get the part of a document between two positions, as an array of - // strings. - function getBetween(doc, start, end) { - var out = [], n = start.line; - doc.iter(start.line, end.line + 1, function (line) { - var text = line.text; - if (n == end.line) { text = text.slice(0, end.ch); } - if (n == start.line) { text = text.slice(start.ch); } - out.push(text); - ++n; - }); - return out - } - // Get the lines between from and to, as array of strings. - function getLines(doc, from, to) { - var out = []; - doc.iter(from, to, function (line) { out.push(line.text); }); // iter aborts when callback returns truthy value - return out - } - - // Update the height of a line, propagating the height change - // upwards to parent nodes. - function updateLineHeight(line, height) { - var diff = height - line.height; - if (diff) { for (var n = line; n; n = n.parent) { n.height += diff; } } - } - - // Given a line object, find its line number by walking up through - // its parent links. - function lineNo(line) { - if (line.parent == null) { return null } - var cur = line.parent, no = indexOf(cur.lines, line); - for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) { - for (var i = 0;; ++i) { - if (chunk.children[i] == cur) { break } - no += chunk.children[i].chunkSize(); - } - } - return no + cur.first - } - - // Find the line at the given vertical position, using the height - // information in the document tree. - function lineAtHeight(chunk, h) { - var n = chunk.first; - outer: do { - for (var i$1 = 0; i$1 < chunk.children.length; ++i$1) { - var child = chunk.children[i$1], ch = child.height; - if (h < ch) { chunk = child; continue outer } - h -= ch; - n += child.chunkSize(); - } - return n - } while (!chunk.lines) - var i = 0; - for (; i < chunk.lines.length; ++i) { - var line = chunk.lines[i], lh = line.height; - if (h < lh) { break } - h -= lh; - } - return n + i - } - - function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size} - - function lineNumberFor(options, i) { - return String(options.lineNumberFormatter(i + options.firstLineNumber)) - } - - // A Pos instance represents a position within the text. - function Pos(line, ch, sticky) { - if ( sticky === void 0 ) sticky = null; - - if (!(this instanceof Pos)) { return new Pos(line, ch, sticky) } - this.line = line; - this.ch = ch; - this.sticky = sticky; - } - - // Compare two positions, return 0 if they are the same, a negative - // number when a is less, and a positive number otherwise. - function cmp(a, b) { return a.line - b.line || a.ch - b.ch } - - function equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b) == 0 } - - function copyPos(x) {return Pos(x.line, x.ch)} - function maxPos(a, b) { return cmp(a, b) < 0 ? b : a } - function minPos(a, b) { return cmp(a, b) < 0 ? a : b } - - // Most of the external API clips given positions to make sure they - // actually exist within the document. - function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))} - function clipPos(doc, pos) { - if (pos.line < doc.first) { return Pos(doc.first, 0) } - var last = doc.first + doc.size - 1; - if (pos.line > last) { return Pos(last, getLine(doc, last).text.length) } - return clipToLen(pos, getLine(doc, pos.line).text.length) - } - function clipToLen(pos, linelen) { - var ch = pos.ch; - if (ch == null || ch > linelen) { return Pos(pos.line, linelen) } - else if (ch < 0) { return Pos(pos.line, 0) } - else { return pos } - } - function clipPosArray(doc, array) { - var out = []; - for (var i = 0; i < array.length; i++) { out[i] = clipPos(doc, array[i]); } - return out - } - - var SavedContext = function(state, lookAhead) { - this.state = state; - this.lookAhead = lookAhead; - }; - - var Context = function(doc, state, line, lookAhead) { - this.state = state; - this.doc = doc; - this.line = line; - this.maxLookAhead = lookAhead || 0; - this.baseTokens = null; - this.baseTokenPos = 1; - }; - - Context.prototype.lookAhead = function (n) { - var line = this.doc.getLine(this.line + n); - if (line != null && n > this.maxLookAhead) { this.maxLookAhead = n; } - return line - }; - - Context.prototype.baseToken = function (n) { - if (!this.baseTokens) { return null } - while (this.baseTokens[this.baseTokenPos] <= n) - { this.baseTokenPos += 2; } - var type = this.baseTokens[this.baseTokenPos + 1]; - return {type: type && type.replace(/( |^)overlay .*/, ""), - size: this.baseTokens[this.baseTokenPos] - n} - }; - - Context.prototype.nextLine = function () { - this.line++; - if (this.maxLookAhead > 0) { this.maxLookAhead--; } - }; - - Context.fromSaved = function (doc, saved, line) { - if (saved instanceof SavedContext) - { return new Context(doc, copyState(doc.mode, saved.state), line, saved.lookAhead) } - else - { return new Context(doc, copyState(doc.mode, saved), line) } - }; - - Context.prototype.save = function (copy) { - var state = copy !== false ? copyState(this.doc.mode, this.state) : this.state; - return this.maxLookAhead > 0 ? new SavedContext(state, this.maxLookAhead) : state - }; - - - // Compute a style array (an array starting with a mode generation - // -- for invalidation -- followed by pairs of end positions and - // style strings), which is used to highlight the tokens on the - // line. - function highlightLine(cm, line, context, forceToEnd) { - // A styles array always starts with a number identifying the - // mode/overlays that it is based on (for easy invalidation). - var st = [cm.state.modeGen], lineClasses = {}; - // Compute the base array of styles - runMode(cm, line.text, cm.doc.mode, context, function (end, style) { return st.push(end, style); }, - lineClasses, forceToEnd); - var state = context.state; - - // Run overlays, adjust style array. - var loop = function ( o ) { - context.baseTokens = st; - var overlay = cm.state.overlays[o], i = 1, at = 0; - context.state = true; - runMode(cm, line.text, overlay.mode, context, function (end, style) { - var start = i; - // Ensure there's a token end at the current position, and that i points at it - while (at < end) { - var i_end = st[i]; - if (i_end > end) - { st.splice(i, 1, end, st[i+1], i_end); } - i += 2; - at = Math.min(end, i_end); - } - if (!style) { return } - if (overlay.opaque) { - st.splice(start, i - start, end, "overlay " + style); - i = start + 2; - } else { - for (; start < i; start += 2) { - var cur = st[start+1]; - st[start+1] = (cur ? cur + " " : "") + "overlay " + style; - } - } - }, lineClasses); - context.state = state; - context.baseTokens = null; - context.baseTokenPos = 1; - }; - - for (var o = 0; o < cm.state.overlays.length; ++o) loop( o ); - - return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null} - } - - function getLineStyles(cm, line, updateFrontier) { - if (!line.styles || line.styles[0] != cm.state.modeGen) { - var context = getContextBefore(cm, lineNo(line)); - var resetState = line.text.length > cm.options.maxHighlightLength && copyState(cm.doc.mode, context.state); - var result = highlightLine(cm, line, context); - if (resetState) { context.state = resetState; } - line.stateAfter = context.save(!resetState); - line.styles = result.styles; - if (result.classes) { line.styleClasses = result.classes; } - else if (line.styleClasses) { line.styleClasses = null; } - if (updateFrontier === cm.doc.highlightFrontier) - { cm.doc.modeFrontier = Math.max(cm.doc.modeFrontier, ++cm.doc.highlightFrontier); } - } - return line.styles - } - - function getContextBefore(cm, n, precise) { - var doc = cm.doc, display = cm.display; - if (!doc.mode.startState) { return new Context(doc, true, n) } - var start = findStartLine(cm, n, precise); - var saved = start > doc.first && getLine(doc, start - 1).stateAfter; - var context = saved ? Context.fromSaved(doc, saved, start) : new Context(doc, startState(doc.mode), start); - - doc.iter(start, n, function (line) { - processLine(cm, line.text, context); - var pos = context.line; - line.stateAfter = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo ? context.save() : null; - context.nextLine(); - }); - if (precise) { doc.modeFrontier = context.line; } - return context - } - - // Lightweight form of highlight -- proceed over this line and - // update state, but don't save a style array. Used for lines that - // aren't currently visible. - function processLine(cm, text, context, startAt) { - var mode = cm.doc.mode; - var stream = new StringStream(text, cm.options.tabSize, context); - stream.start = stream.pos = startAt || 0; - if (text == "") { callBlankLine(mode, context.state); } - while (!stream.eol()) { - readToken(mode, stream, context.state); - stream.start = stream.pos; - } - } - - function callBlankLine(mode, state) { - if (mode.blankLine) { return mode.blankLine(state) } - if (!mode.innerMode) { return } - var inner = innerMode(mode, state); - if (inner.mode.blankLine) { return inner.mode.blankLine(inner.state) } - } - - function readToken(mode, stream, state, inner) { - for (var i = 0; i < 10; i++) { - if (inner) { inner[0] = innerMode(mode, state).mode; } - var style = mode.token(stream, state); - if (stream.pos > stream.start) { return style } - } - throw new Error("Mode " + mode.name + " failed to advance stream.") - } - - var Token = function(stream, type, state) { - this.start = stream.start; this.end = stream.pos; - this.string = stream.current(); - this.type = type || null; - this.state = state; - }; - - // Utility for getTokenAt and getLineTokens - function takeToken(cm, pos, precise, asArray) { - var doc = cm.doc, mode = doc.mode, style; - pos = clipPos(doc, pos); - var line = getLine(doc, pos.line), context = getContextBefore(cm, pos.line, precise); - var stream = new StringStream(line.text, cm.options.tabSize, context), tokens; - if (asArray) { tokens = []; } - while ((asArray || stream.pos < pos.ch) && !stream.eol()) { - stream.start = stream.pos; - style = readToken(mode, stream, context.state); - if (asArray) { tokens.push(new Token(stream, style, copyState(doc.mode, context.state))); } - } - return asArray ? tokens : new Token(stream, style, context.state) - } - - function extractLineClasses(type, output) { - if (type) { for (;;) { - var lineClass = type.match(/(?:^|\s+)line-(background-)?(\S+)/); - if (!lineClass) { break } - type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length); - var prop = lineClass[1] ? "bgClass" : "textClass"; - if (output[prop] == null) - { output[prop] = lineClass[2]; } - else if (!(new RegExp("(?:^|\\s)" + lineClass[2] + "(?:$|\\s)")).test(output[prop])) - { output[prop] += " " + lineClass[2]; } - } } - return type - } - - // Run the given mode's parser over a line, calling f for each token. - function runMode(cm, text, mode, context, f, lineClasses, forceToEnd) { - var flattenSpans = mode.flattenSpans; - if (flattenSpans == null) { flattenSpans = cm.options.flattenSpans; } - var curStart = 0, curStyle = null; - var stream = new StringStream(text, cm.options.tabSize, context), style; - var inner = cm.options.addModeClass && [null]; - if (text == "") { extractLineClasses(callBlankLine(mode, context.state), lineClasses); } - while (!stream.eol()) { - if (stream.pos > cm.options.maxHighlightLength) { - flattenSpans = false; - if (forceToEnd) { processLine(cm, text, context, stream.pos); } - stream.pos = text.length; - style = null; - } else { - style = extractLineClasses(readToken(mode, stream, context.state, inner), lineClasses); - } - if (inner) { - var mName = inner[0].name; - if (mName) { style = "m-" + (style ? mName + " " + style : mName); } - } - if (!flattenSpans || curStyle != style) { - while (curStart < stream.start) { - curStart = Math.min(stream.start, curStart + 5000); - f(curStart, curStyle); - } - curStyle = style; - } - stream.start = stream.pos; - } - while (curStart < stream.pos) { - // Webkit seems to refuse to render text nodes longer than 57444 - // characters, and returns inaccurate measurements in nodes - // starting around 5000 chars. - var pos = Math.min(stream.pos, curStart + 5000); - f(pos, curStyle); - curStart = pos; - } - } - - // Finds the line to start with when starting a parse. Tries to - // find a line with a stateAfter, so that it can start with a - // valid state. If that fails, it returns the line with the - // smallest indentation, which tends to need the least context to - // parse correctly. - function findStartLine(cm, n, precise) { - var minindent, minline, doc = cm.doc; - var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100); - for (var search = n; search > lim; --search) { - if (search <= doc.first) { return doc.first } - var line = getLine(doc, search - 1), after = line.stateAfter; - if (after && (!precise || search + (after instanceof SavedContext ? after.lookAhead : 0) <= doc.modeFrontier)) - { return search } - var indented = countColumn(line.text, null, cm.options.tabSize); - if (minline == null || minindent > indented) { - minline = search - 1; - minindent = indented; - } - } - return minline - } - - function retreatFrontier(doc, n) { - doc.modeFrontier = Math.min(doc.modeFrontier, n); - if (doc.highlightFrontier < n - 10) { return } - var start = doc.first; - for (var line = n - 1; line > start; line--) { - var saved = getLine(doc, line).stateAfter; - // change is on 3 - // state on line 1 looked ahead 2 -- so saw 3 - // test 1 + 2 < 3 should cover this - if (saved && (!(saved instanceof SavedContext) || line + saved.lookAhead < n)) { - start = line + 1; - break - } - } - doc.highlightFrontier = Math.min(doc.highlightFrontier, start); - } - - // Optimize some code when these features are not used. - var sawReadOnlySpans = false, sawCollapsedSpans = false; - - function seeReadOnlySpans() { - sawReadOnlySpans = true; - } - - function seeCollapsedSpans() { - sawCollapsedSpans = true; - } - - // TEXTMARKER SPANS - - function MarkedSpan(marker, from, to) { - this.marker = marker; - this.from = from; this.to = to; - } - - // Search an array of spans for a span matching the given marker. - function getMarkedSpanFor(spans, marker) { - if (spans) { for (var i = 0; i < spans.length; ++i) { - var span = spans[i]; - if (span.marker == marker) { return span } - } } - } - // Remove a span from an array, returning undefined if no spans are - // left (we don't store arrays for lines without spans). - function removeMarkedSpan(spans, span) { - var r; - for (var i = 0; i < spans.length; ++i) - { if (spans[i] != span) { (r || (r = [])).push(spans[i]); } } - return r - } - // Add a span to a line. - function addMarkedSpan(line, span) { - line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span]; - span.marker.attachLine(line); - } - - // Used for the algorithm that adjusts markers for a change in the - // document. These functions cut an array of spans at a given - // character position, returning an array of remaining chunks (or - // undefined if nothing remains). - function markedSpansBefore(old, startCh, isInsert) { - var nw; - if (old) { for (var i = 0; i < old.length; ++i) { - var span = old[i], marker = span.marker; - var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh); - if (startsBefore || span.from == startCh && marker.type == "bookmark" && (!isInsert || !span.marker.insertLeft)) { - var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh) - ;(nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to)); - } - } } - return nw - } - function markedSpansAfter(old, endCh, isInsert) { - var nw; - if (old) { for (var i = 0; i < old.length; ++i) { - var span = old[i], marker = span.marker; - var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh); - if (endsAfter || span.from == endCh && marker.type == "bookmark" && (!isInsert || span.marker.insertLeft)) { - var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh) - ;(nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh, - span.to == null ? null : span.to - endCh)); - } - } } - return nw - } - - // Given a change object, compute the new set of marker spans that - // cover the line in which the change took place. Removes spans - // entirely within the change, reconnects spans belonging to the - // same marker that appear on both sides of the change, and cuts off - // spans partially within the change. Returns an array of span - // arrays with one element for each line in (after) the change. - function stretchSpansOverChange(doc, change) { - if (change.full) { return null } - var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans; - var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans; - if (!oldFirst && !oldLast) { return null } - - var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0; - // Get the spans that 'stick out' on both sides - var first = markedSpansBefore(oldFirst, startCh, isInsert); - var last = markedSpansAfter(oldLast, endCh, isInsert); - - // Next, merge those two ends - var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0); - if (first) { - // Fix up .to properties of first - for (var i = 0; i < first.length; ++i) { - var span = first[i]; - if (span.to == null) { - var found = getMarkedSpanFor(last, span.marker); - if (!found) { span.to = startCh; } - else if (sameLine) { span.to = found.to == null ? null : found.to + offset; } - } - } - } - if (last) { - // Fix up .from in last (or move them into first in case of sameLine) - for (var i$1 = 0; i$1 < last.length; ++i$1) { - var span$1 = last[i$1]; - if (span$1.to != null) { span$1.to += offset; } - if (span$1.from == null) { - var found$1 = getMarkedSpanFor(first, span$1.marker); - if (!found$1) { - span$1.from = offset; - if (sameLine) { (first || (first = [])).push(span$1); } - } - } else { - span$1.from += offset; - if (sameLine) { (first || (first = [])).push(span$1); } - } - } - } - // Make sure we didn't create any zero-length spans - if (first) { first = clearEmptySpans(first); } - if (last && last != first) { last = clearEmptySpans(last); } - - var newMarkers = [first]; - if (!sameLine) { - // Fill gap with whole-line-spans - var gap = change.text.length - 2, gapMarkers; - if (gap > 0 && first) - { for (var i$2 = 0; i$2 < first.length; ++i$2) - { if (first[i$2].to == null) - { (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i$2].marker, null, null)); } } } - for (var i$3 = 0; i$3 < gap; ++i$3) - { newMarkers.push(gapMarkers); } - newMarkers.push(last); - } - return newMarkers - } - - // Remove spans that are empty and don't have a clearWhenEmpty - // option of false. - function clearEmptySpans(spans) { - for (var i = 0; i < spans.length; ++i) { - var span = spans[i]; - if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false) - { spans.splice(i--, 1); } - } - if (!spans.length) { return null } - return spans - } - - // Used to 'clip' out readOnly ranges when making a change. - function removeReadOnlyRanges(doc, from, to) { - var markers = null; - doc.iter(from.line, to.line + 1, function (line) { - if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) { - var mark = line.markedSpans[i].marker; - if (mark.readOnly && (!markers || indexOf(markers, mark) == -1)) - { (markers || (markers = [])).push(mark); } - } } - }); - if (!markers) { return null } - var parts = [{from: from, to: to}]; - for (var i = 0; i < markers.length; ++i) { - var mk = markers[i], m = mk.find(0); - for (var j = 0; j < parts.length; ++j) { - var p = parts[j]; - if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) { continue } - var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to); - if (dfrom < 0 || !mk.inclusiveLeft && !dfrom) - { newParts.push({from: p.from, to: m.from}); } - if (dto > 0 || !mk.inclusiveRight && !dto) - { newParts.push({from: m.to, to: p.to}); } - parts.splice.apply(parts, newParts); - j += newParts.length - 3; - } - } - return parts - } - - // Connect or disconnect spans from a line. - function detachMarkedSpans(line) { - var spans = line.markedSpans; - if (!spans) { return } - for (var i = 0; i < spans.length; ++i) - { spans[i].marker.detachLine(line); } - line.markedSpans = null; - } - function attachMarkedSpans(line, spans) { - if (!spans) { return } - for (var i = 0; i < spans.length; ++i) - { spans[i].marker.attachLine(line); } - line.markedSpans = spans; - } - - // Helpers used when computing which overlapping collapsed span - // counts as the larger one. - function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 } - function extraRight(marker) { return marker.inclusiveRight ? 1 : 0 } - - // Returns a number indicating which of two overlapping collapsed - // spans is larger (and thus includes the other). Falls back to - // comparing ids when the spans cover exactly the same range. - function compareCollapsedMarkers(a, b) { - var lenDiff = a.lines.length - b.lines.length; - if (lenDiff != 0) { return lenDiff } - var aPos = a.find(), bPos = b.find(); - var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b); - if (fromCmp) { return -fromCmp } - var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b); - if (toCmp) { return toCmp } - return b.id - a.id - } - - // Find out whether a line ends or starts in a collapsed span. If - // so, return the marker for that span. - function collapsedSpanAtSide(line, start) { - var sps = sawCollapsedSpans && line.markedSpans, found; - if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) { - sp = sps[i]; - if (sp.marker.collapsed && (start ? sp.from : sp.to) == null && - (!found || compareCollapsedMarkers(found, sp.marker) < 0)) - { found = sp.marker; } - } } - return found - } - function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true) } - function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false) } - - function collapsedSpanAround(line, ch) { - var sps = sawCollapsedSpans && line.markedSpans, found; - if (sps) { for (var i = 0; i < sps.length; ++i) { - var sp = sps[i]; - if (sp.marker.collapsed && (sp.from == null || sp.from < ch) && (sp.to == null || sp.to > ch) && - (!found || compareCollapsedMarkers(found, sp.marker) < 0)) { found = sp.marker; } - } } - return found - } - - // Test whether there exists a collapsed span that partially - // overlaps (covers the start or end, but not both) of a new span. - // Such overlap is not allowed. - function conflictingCollapsedRange(doc, lineNo, from, to, marker) { - var line = getLine(doc, lineNo); - var sps = sawCollapsedSpans && line.markedSpans; - if (sps) { for (var i = 0; i < sps.length; ++i) { - var sp = sps[i]; - if (!sp.marker.collapsed) { continue } - var found = sp.marker.find(0); - var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker); - var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker); - if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) { continue } - if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) || - fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0)) - { return true } - } } - } - - // A visual line is a line as drawn on the screen. Folding, for - // example, can cause multiple logical lines to appear on the same - // visual line. This finds the start of the visual line that the - // given line is part of (usually that is the line itself). - function visualLine(line) { - var merged; - while (merged = collapsedSpanAtStart(line)) - { line = merged.find(-1, true).line; } - return line - } - - function visualLineEnd(line) { - var merged; - while (merged = collapsedSpanAtEnd(line)) - { line = merged.find(1, true).line; } - return line - } - - // Returns an array of logical lines that continue the visual line - // started by the argument, or undefined if there are no such lines. - function visualLineContinued(line) { - var merged, lines; - while (merged = collapsedSpanAtEnd(line)) { - line = merged.find(1, true).line - ;(lines || (lines = [])).push(line); - } - return lines - } - - // Get the line number of the start of the visual line that the - // given line number is part of. - function visualLineNo(doc, lineN) { - var line = getLine(doc, lineN), vis = visualLine(line); - if (line == vis) { return lineN } - return lineNo(vis) - } - - // Get the line number of the start of the next visual line after - // the given line. - function visualLineEndNo(doc, lineN) { - if (lineN > doc.lastLine()) { return lineN } - var line = getLine(doc, lineN), merged; - if (!lineIsHidden(doc, line)) { return lineN } - while (merged = collapsedSpanAtEnd(line)) - { line = merged.find(1, true).line; } - return lineNo(line) + 1 - } - - // Compute whether a line is hidden. Lines count as hidden when they - // are part of a visual line that starts with another line, or when - // they are entirely covered by collapsed, non-widget span. - function lineIsHidden(doc, line) { - var sps = sawCollapsedSpans && line.markedSpans; - if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) { - sp = sps[i]; - if (!sp.marker.collapsed) { continue } - if (sp.from == null) { return true } - if (sp.marker.widgetNode) { continue } - if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp)) - { return true } - } } - } - function lineIsHiddenInner(doc, line, span) { - if (span.to == null) { - var end = span.marker.find(1, true); - return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker)) - } - if (span.marker.inclusiveRight && span.to == line.text.length) - { return true } - for (var sp = (void 0), i = 0; i < line.markedSpans.length; ++i) { - sp = line.markedSpans[i]; - if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to && - (sp.to == null || sp.to != span.from) && - (sp.marker.inclusiveLeft || span.marker.inclusiveRight) && - lineIsHiddenInner(doc, line, sp)) { return true } - } - } - - // Find the height above the given line. - function heightAtLine(lineObj) { - lineObj = visualLine(lineObj); - - var h = 0, chunk = lineObj.parent; - for (var i = 0; i < chunk.lines.length; ++i) { - var line = chunk.lines[i]; - if (line == lineObj) { break } - else { h += line.height; } - } - for (var p = chunk.parent; p; chunk = p, p = chunk.parent) { - for (var i$1 = 0; i$1 < p.children.length; ++i$1) { - var cur = p.children[i$1]; - if (cur == chunk) { break } - else { h += cur.height; } - } - } - return h - } - - // Compute the character length of a line, taking into account - // collapsed ranges (see markText) that might hide parts, and join - // other lines onto it. - function lineLength(line) { - if (line.height == 0) { return 0 } - var len = line.text.length, merged, cur = line; - while (merged = collapsedSpanAtStart(cur)) { - var found = merged.find(0, true); - cur = found.from.line; - len += found.from.ch - found.to.ch; - } - cur = line; - while (merged = collapsedSpanAtEnd(cur)) { - var found$1 = merged.find(0, true); - len -= cur.text.length - found$1.from.ch; - cur = found$1.to.line; - len += cur.text.length - found$1.to.ch; - } - return len - } - - // Find the longest line in the document. - function findMaxLine(cm) { - var d = cm.display, doc = cm.doc; - d.maxLine = getLine(doc, doc.first); - d.maxLineLength = lineLength(d.maxLine); - d.maxLineChanged = true; - doc.iter(function (line) { - var len = lineLength(line); - if (len > d.maxLineLength) { - d.maxLineLength = len; - d.maxLine = line; - } - }); - } - - // LINE DATA STRUCTURE - - // Line objects. These hold state related to a line, including - // highlighting info (the styles array). - var Line = function(text, markedSpans, estimateHeight) { - this.text = text; - attachMarkedSpans(this, markedSpans); - this.height = estimateHeight ? estimateHeight(this) : 1; - }; - - Line.prototype.lineNo = function () { return lineNo(this) }; - eventMixin(Line); - - // Change the content (text, markers) of a line. Automatically - // invalidates cached information and tries to re-estimate the - // line's height. - function updateLine(line, text, markedSpans, estimateHeight) { - line.text = text; - if (line.stateAfter) { line.stateAfter = null; } - if (line.styles) { line.styles = null; } - if (line.order != null) { line.order = null; } - detachMarkedSpans(line); - attachMarkedSpans(line, markedSpans); - var estHeight = estimateHeight ? estimateHeight(line) : 1; - if (estHeight != line.height) { updateLineHeight(line, estHeight); } - } - - // Detach a line from the document tree and its markers. - function cleanUpLine(line) { - line.parent = null; - detachMarkedSpans(line); - } - - // Convert a style as returned by a mode (either null, or a string - // containing one or more styles) to a CSS style. This is cached, - // and also looks for line-wide styles. - var styleToClassCache = {}, styleToClassCacheWithMode = {}; - function interpretTokenStyle(style, options) { - if (!style || /^\s*$/.test(style)) { return null } - var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache; - return cache[style] || - (cache[style] = style.replace(/\S+/g, "cm-$&")) - } - - // Render the DOM representation of the text of a line. Also builds - // up a 'line map', which points at the DOM nodes that represent - // specific stretches of text, and is used by the measuring code. - // The returned object contains the DOM node, this map, and - // information about line-wide styles that were set by the mode. - function buildLineContent(cm, lineView) { - // The padding-right forces the element to have a 'border', which - // is needed on Webkit to be able to get line-level bounding - // rectangles for it (in measureChar). - var content = eltP("span", null, null, webkit ? "padding-right: .1px" : null); - var builder = {pre: eltP("pre", [content], "CodeMirror-line"), content: content, - col: 0, pos: 0, cm: cm, - trailingSpace: false, - splitSpaces: cm.getOption("lineWrapping")}; - lineView.measure = {}; - - // Iterate over the logical lines that make up this visual line. - for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) { - var line = i ? lineView.rest[i - 1] : lineView.line, order = (void 0); - builder.pos = 0; - builder.addToken = buildToken; - // Optionally wire in some hacks into the token-rendering - // algorithm, to deal with browser quirks. - if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line, cm.doc.direction))) - { builder.addToken = buildTokenBadBidi(builder.addToken, order); } - builder.map = []; - var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line); - insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate)); - if (line.styleClasses) { - if (line.styleClasses.bgClass) - { builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || ""); } - if (line.styleClasses.textClass) - { builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || ""); } - } - - // Ensure at least a single node is present, for measuring. - if (builder.map.length == 0) - { builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))); } - - // Store the map and a cache object for the current logical line - if (i == 0) { - lineView.measure.map = builder.map; - lineView.measure.cache = {}; - } else { - (lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map) - ;(lineView.measure.caches || (lineView.measure.caches = [])).push({}); - } - } - - // See issue #2901 - if (webkit) { - var last = builder.content.lastChild; - if (/\bcm-tab\b/.test(last.className) || (last.querySelector && last.querySelector(".cm-tab"))) - { builder.content.className = "cm-tab-wrap-hack"; } - } - - signal(cm, "renderLine", cm, lineView.line, builder.pre); - if (builder.pre.className) - { builder.textClass = joinClasses(builder.pre.className, builder.textClass || ""); } - - return builder - } - - function defaultSpecialCharPlaceholder(ch) { - var token = elt("span", "\u2022", "cm-invalidchar"); - token.title = "\\u" + ch.charCodeAt(0).toString(16); - token.setAttribute("aria-label", token.title); - return token - } - - // Build up the DOM representation for a single token, and add it to - // the line map. Takes care to render special characters separately. - function buildToken(builder, text, style, startStyle, endStyle, css, attributes) { - if (!text) { return } - var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text; - var special = builder.cm.state.specialChars, mustWrap = false; - var content; - if (!special.test(text)) { - builder.col += text.length; - content = document.createTextNode(displayText); - builder.map.push(builder.pos, builder.pos + text.length, content); - if (ie && ie_version < 9) { mustWrap = true; } - builder.pos += text.length; - } else { - content = document.createDocumentFragment(); - var pos = 0; - while (true) { - special.lastIndex = pos; - var m = special.exec(text); - var skipped = m ? m.index - pos : text.length - pos; - if (skipped) { - var txt = document.createTextNode(displayText.slice(pos, pos + skipped)); - if (ie && ie_version < 9) { content.appendChild(elt("span", [txt])); } - else { content.appendChild(txt); } - builder.map.push(builder.pos, builder.pos + skipped, txt); - builder.col += skipped; - builder.pos += skipped; - } - if (!m) { break } - pos += skipped + 1; - var txt$1 = (void 0); - if (m[0] == "\t") { - var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize; - txt$1 = content.appendChild(elt("span", spaceStr(tabWidth), "cm-tab")); - txt$1.setAttribute("role", "presentation"); - txt$1.setAttribute("cm-text", "\t"); - builder.col += tabWidth; - } else if (m[0] == "\r" || m[0] == "\n") { - txt$1 = content.appendChild(elt("span", m[0] == "\r" ? "\u240d" : "\u2424", "cm-invalidchar")); - txt$1.setAttribute("cm-text", m[0]); - builder.col += 1; - } else { - txt$1 = builder.cm.options.specialCharPlaceholder(m[0]); - txt$1.setAttribute("cm-text", m[0]); - if (ie && ie_version < 9) { content.appendChild(elt("span", [txt$1])); } - else { content.appendChild(txt$1); } - builder.col += 1; - } - builder.map.push(builder.pos, builder.pos + 1, txt$1); - builder.pos++; - } - } - builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32; - if (style || startStyle || endStyle || mustWrap || css || attributes) { - var fullStyle = style || ""; - if (startStyle) { fullStyle += startStyle; } - if (endStyle) { fullStyle += endStyle; } - var token = elt("span", [content], fullStyle, css); - if (attributes) { - for (var attr in attributes) { if (attributes.hasOwnProperty(attr) && attr != "style" && attr != "class") - { token.setAttribute(attr, attributes[attr]); } } - } - return builder.content.appendChild(token) - } - builder.content.appendChild(content); - } - - // Change some spaces to NBSP to prevent the browser from collapsing - // trailing spaces at the end of a line when rendering text (issue #1362). - function splitSpaces(text, trailingBefore) { - if (text.length > 1 && !/ /.test(text)) { return text } - var spaceBefore = trailingBefore, result = ""; - for (var i = 0; i < text.length; i++) { - var ch = text.charAt(i); - if (ch == " " && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32)) - { ch = "\u00a0"; } - result += ch; - spaceBefore = ch == " "; - } - return result - } - - // Work around nonsense dimensions being reported for stretches of - // right-to-left text. - function buildTokenBadBidi(inner, order) { - return function (builder, text, style, startStyle, endStyle, css, attributes) { - style = style ? style + " cm-force-border" : "cm-force-border"; - var start = builder.pos, end = start + text.length; - for (;;) { - // Find the part that overlaps with the start of this text - var part = (void 0); - for (var i = 0; i < order.length; i++) { - part = order[i]; - if (part.to > start && part.from <= start) { break } - } - if (part.to >= end) { return inner(builder, text, style, startStyle, endStyle, css, attributes) } - inner(builder, text.slice(0, part.to - start), style, startStyle, null, css, attributes); - startStyle = null; - text = text.slice(part.to - start); - start = part.to; - } - } - } - - function buildCollapsedSpan(builder, size, marker, ignoreWidget) { - var widget = !ignoreWidget && marker.widgetNode; - if (widget) { builder.map.push(builder.pos, builder.pos + size, widget); } - if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) { - if (!widget) - { widget = builder.content.appendChild(document.createElement("span")); } - widget.setAttribute("cm-marker", marker.id); - } - if (widget) { - builder.cm.display.input.setUneditable(widget); - builder.content.appendChild(widget); - } - builder.pos += size; - builder.trailingSpace = false; - } - - // Outputs a number of spans to make up a line, taking highlighting - // and marked text into account. - function insertLineContent(line, builder, styles) { - var spans = line.markedSpans, allText = line.text, at = 0; - if (!spans) { - for (var i$1 = 1; i$1 < styles.length; i$1+=2) - { builder.addToken(builder, allText.slice(at, at = styles[i$1]), interpretTokenStyle(styles[i$1+1], builder.cm.options)); } - return - } - - var len = allText.length, pos = 0, i = 1, text = "", style, css; - var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, collapsed, attributes; - for (;;) { - if (nextChange == pos) { // Update current marker set - spanStyle = spanEndStyle = spanStartStyle = css = ""; - attributes = null; - collapsed = null; nextChange = Infinity; - var foundBookmarks = [], endStyles = (void 0); - for (var j = 0; j < spans.length; ++j) { - var sp = spans[j], m = sp.marker; - if (m.type == "bookmark" && sp.from == pos && m.widgetNode) { - foundBookmarks.push(m); - } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) { - if (sp.to != null && sp.to != pos && nextChange > sp.to) { - nextChange = sp.to; - spanEndStyle = ""; - } - if (m.className) { spanStyle += " " + m.className; } - if (m.css) { css = (css ? css + ";" : "") + m.css; } - if (m.startStyle && sp.from == pos) { spanStartStyle += " " + m.startStyle; } - if (m.endStyle && sp.to == nextChange) { (endStyles || (endStyles = [])).push(m.endStyle, sp.to); } - // support for the old title property - // https://github.com/codemirror/CodeMirror/pull/5673 - if (m.title) { (attributes || (attributes = {})).title = m.title; } - if (m.attributes) { - for (var attr in m.attributes) - { (attributes || (attributes = {}))[attr] = m.attributes[attr]; } - } - if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0)) - { collapsed = sp; } - } else if (sp.from > pos && nextChange > sp.from) { - nextChange = sp.from; - } - } - if (endStyles) { for (var j$1 = 0; j$1 < endStyles.length; j$1 += 2) - { if (endStyles[j$1 + 1] == nextChange) { spanEndStyle += " " + endStyles[j$1]; } } } - - if (!collapsed || collapsed.from == pos) { for (var j$2 = 0; j$2 < foundBookmarks.length; ++j$2) - { buildCollapsedSpan(builder, 0, foundBookmarks[j$2]); } } - if (collapsed && (collapsed.from || 0) == pos) { - buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos, - collapsed.marker, collapsed.from == null); - if (collapsed.to == null) { return } - if (collapsed.to == pos) { collapsed = false; } - } - } - if (pos >= len) { break } - - var upto = Math.min(len, nextChange); - while (true) { - if (text) { - var end = pos + text.length; - if (!collapsed) { - var tokenText = end > upto ? text.slice(0, upto - pos) : text; - builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle, - spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : "", css, attributes); - } - if (end >= upto) {text = text.slice(upto - pos); pos = upto; break} - pos = end; - spanStartStyle = ""; - } - text = allText.slice(at, at = styles[i++]); - style = interpretTokenStyle(styles[i++], builder.cm.options); - } - } - } - - - // These objects are used to represent the visible (currently drawn) - // part of the document. A LineView may correspond to multiple - // logical lines, if those are connected by collapsed ranges. - function LineView(doc, line, lineN) { - // The starting line - this.line = line; - // Continuing lines, if any - this.rest = visualLineContinued(line); - // Number of logical lines in this visual line - this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1; - this.node = this.text = null; - this.hidden = lineIsHidden(doc, line); - } - - // Create a range of LineView objects for the given lines. - function buildViewArray(cm, from, to) { - var array = [], nextPos; - for (var pos = from; pos < to; pos = nextPos) { - var view = new LineView(cm.doc, getLine(cm.doc, pos), pos); - nextPos = pos + view.size; - array.push(view); - } - return array - } - - var operationGroup = null; - - function pushOperation(op) { - if (operationGroup) { - operationGroup.ops.push(op); - } else { - op.ownsGroup = operationGroup = { - ops: [op], - delayedCallbacks: [] - }; - } - } - - function fireCallbacksForOps(group) { - // Calls delayed callbacks and cursorActivity handlers until no - // new ones appear - var callbacks = group.delayedCallbacks, i = 0; - do { - for (; i < callbacks.length; i++) - { callbacks[i].call(null); } - for (var j = 0; j < group.ops.length; j++) { - var op = group.ops[j]; - if (op.cursorActivityHandlers) - { while (op.cursorActivityCalled < op.cursorActivityHandlers.length) - { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm); } } - } - } while (i < callbacks.length) - } - - function finishOperation(op, endCb) { - var group = op.ownsGroup; - if (!group) { return } - - try { fireCallbacksForOps(group); } - finally { - operationGroup = null; - endCb(group); - } - } - - var orphanDelayedCallbacks = null; - - // Often, we want to signal events at a point where we are in the - // middle of some work, but don't want the handler to start calling - // other methods on the editor, which might be in an inconsistent - // state or simply not expect any other events to happen. - // signalLater looks whether there are any handlers, and schedules - // them to be executed when the last operation ends, or, if no - // operation is active, when a timeout fires. - function signalLater(emitter, type /*, values...*/) { - var arr = getHandlers(emitter, type); - if (!arr.length) { return } - var args = Array.prototype.slice.call(arguments, 2), list; - if (operationGroup) { - list = operationGroup.delayedCallbacks; - } else if (orphanDelayedCallbacks) { - list = orphanDelayedCallbacks; - } else { - list = orphanDelayedCallbacks = []; - setTimeout(fireOrphanDelayed, 0); - } - var loop = function ( i ) { - list.push(function () { return arr[i].apply(null, args); }); - }; - - for (var i = 0; i < arr.length; ++i) - loop( i ); - } - - function fireOrphanDelayed() { - var delayed = orphanDelayedCallbacks; - orphanDelayedCallbacks = null; - for (var i = 0; i < delayed.length; ++i) { delayed[i](); } - } - - // When an aspect of a line changes, a string is added to - // lineView.changes. This updates the relevant part of the line's - // DOM structure. - function updateLineForChanges(cm, lineView, lineN, dims) { - for (var j = 0; j < lineView.changes.length; j++) { - var type = lineView.changes[j]; - if (type == "text") { updateLineText(cm, lineView); } - else if (type == "gutter") { updateLineGutter(cm, lineView, lineN, dims); } - else if (type == "class") { updateLineClasses(cm, lineView); } - else if (type == "widget") { updateLineWidgets(cm, lineView, dims); } - } - lineView.changes = null; - } - - // Lines with gutter elements, widgets or a background class need to - // be wrapped, and have the extra elements added to the wrapper div - function ensureLineWrapped(lineView) { - if (lineView.node == lineView.text) { - lineView.node = elt("div", null, null, "position: relative"); - if (lineView.text.parentNode) - { lineView.text.parentNode.replaceChild(lineView.node, lineView.text); } - lineView.node.appendChild(lineView.text); - if (ie && ie_version < 8) { lineView.node.style.zIndex = 2; } - } - return lineView.node - } - - function updateLineBackground(cm, lineView) { - var cls = lineView.bgClass ? lineView.bgClass + " " + (lineView.line.bgClass || "") : lineView.line.bgClass; - if (cls) { cls += " CodeMirror-linebackground"; } - if (lineView.background) { - if (cls) { lineView.background.className = cls; } - else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null; } - } else if (cls) { - var wrap = ensureLineWrapped(lineView); - lineView.background = wrap.insertBefore(elt("div", null, cls), wrap.firstChild); - cm.display.input.setUneditable(lineView.background); - } - } - - // Wrapper around buildLineContent which will reuse the structure - // in display.externalMeasured when possible. - function getLineContent(cm, lineView) { - var ext = cm.display.externalMeasured; - if (ext && ext.line == lineView.line) { - cm.display.externalMeasured = null; - lineView.measure = ext.measure; - return ext.built - } - return buildLineContent(cm, lineView) - } - - // Redraw the line's text. Interacts with the background and text - // classes because the mode may output tokens that influence these - // classes. - function updateLineText(cm, lineView) { - var cls = lineView.text.className; - var built = getLineContent(cm, lineView); - if (lineView.text == lineView.node) { lineView.node = built.pre; } - lineView.text.parentNode.replaceChild(built.pre, lineView.text); - lineView.text = built.pre; - if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) { - lineView.bgClass = built.bgClass; - lineView.textClass = built.textClass; - updateLineClasses(cm, lineView); - } else if (cls) { - lineView.text.className = cls; - } - } - - function updateLineClasses(cm, lineView) { - updateLineBackground(cm, lineView); - if (lineView.line.wrapClass) - { ensureLineWrapped(lineView).className = lineView.line.wrapClass; } - else if (lineView.node != lineView.text) - { lineView.node.className = ""; } - var textClass = lineView.textClass ? lineView.textClass + " " + (lineView.line.textClass || "") : lineView.line.textClass; - lineView.text.className = textClass || ""; - } - - function updateLineGutter(cm, lineView, lineN, dims) { - if (lineView.gutter) { - lineView.node.removeChild(lineView.gutter); - lineView.gutter = null; - } - if (lineView.gutterBackground) { - lineView.node.removeChild(lineView.gutterBackground); - lineView.gutterBackground = null; - } - if (lineView.line.gutterClass) { - var wrap = ensureLineWrapped(lineView); - lineView.gutterBackground = elt("div", null, "CodeMirror-gutter-background " + lineView.line.gutterClass, - ("left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px; width: " + (dims.gutterTotalWidth) + "px")); - cm.display.input.setUneditable(lineView.gutterBackground); - wrap.insertBefore(lineView.gutterBackground, lineView.text); - } - var markers = lineView.line.gutterMarkers; - if (cm.options.lineNumbers || markers) { - var wrap$1 = ensureLineWrapped(lineView); - var gutterWrap = lineView.gutter = elt("div", null, "CodeMirror-gutter-wrapper", ("left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px")); - cm.display.input.setUneditable(gutterWrap); - wrap$1.insertBefore(gutterWrap, lineView.text); - if (lineView.line.gutterClass) - { gutterWrap.className += " " + lineView.line.gutterClass; } - if (cm.options.lineNumbers && (!markers || !markers["CodeMirror-linenumbers"])) - { lineView.lineNumber = gutterWrap.appendChild( - elt("div", lineNumberFor(cm.options, lineN), - "CodeMirror-linenumber CodeMirror-gutter-elt", - ("left: " + (dims.gutterLeft["CodeMirror-linenumbers"]) + "px; width: " + (cm.display.lineNumInnerWidth) + "px"))); } - if (markers) { for (var k = 0; k < cm.display.gutterSpecs.length; ++k) { - var id = cm.display.gutterSpecs[k].className, found = markers.hasOwnProperty(id) && markers[id]; - if (found) - { gutterWrap.appendChild(elt("div", [found], "CodeMirror-gutter-elt", - ("left: " + (dims.gutterLeft[id]) + "px; width: " + (dims.gutterWidth[id]) + "px"))); } - } } - } - } - - function updateLineWidgets(cm, lineView, dims) { - if (lineView.alignable) { lineView.alignable = null; } - var isWidget = classTest("CodeMirror-linewidget"); - for (var node = lineView.node.firstChild, next = (void 0); node; node = next) { - next = node.nextSibling; - if (isWidget.test(node.className)) { lineView.node.removeChild(node); } - } - insertLineWidgets(cm, lineView, dims); - } - - // Build a line's DOM representation from scratch - function buildLineElement(cm, lineView, lineN, dims) { - var built = getLineContent(cm, lineView); - lineView.text = lineView.node = built.pre; - if (built.bgClass) { lineView.bgClass = built.bgClass; } - if (built.textClass) { lineView.textClass = built.textClass; } - - updateLineClasses(cm, lineView); - updateLineGutter(cm, lineView, lineN, dims); - insertLineWidgets(cm, lineView, dims); - return lineView.node - } - - // A lineView may contain multiple logical lines (when merged by - // collapsed spans). The widgets for all of them need to be drawn. - function insertLineWidgets(cm, lineView, dims) { - insertLineWidgetsFor(cm, lineView.line, lineView, dims, true); - if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++) - { insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false); } } - } - - function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) { - if (!line.widgets) { return } - var wrap = ensureLineWrapped(lineView); - for (var i = 0, ws = line.widgets; i < ws.length; ++i) { - var widget = ws[i], node = elt("div", [widget.node], "CodeMirror-linewidget" + (widget.className ? " " + widget.className : "")); - if (!widget.handleMouseEvents) { node.setAttribute("cm-ignore-events", "true"); } - positionLineWidget(widget, node, lineView, dims); - cm.display.input.setUneditable(node); - if (allowAbove && widget.above) - { wrap.insertBefore(node, lineView.gutter || lineView.text); } - else - { wrap.appendChild(node); } - signalLater(widget, "redraw"); - } - } - - function positionLineWidget(widget, node, lineView, dims) { - if (widget.noHScroll) { - (lineView.alignable || (lineView.alignable = [])).push(node); - var width = dims.wrapperWidth; - node.style.left = dims.fixedPos + "px"; - if (!widget.coverGutter) { - width -= dims.gutterTotalWidth; - node.style.paddingLeft = dims.gutterTotalWidth + "px"; - } - node.style.width = width + "px"; - } - if (widget.coverGutter) { - node.style.zIndex = 5; - node.style.position = "relative"; - if (!widget.noHScroll) { node.style.marginLeft = -dims.gutterTotalWidth + "px"; } - } - } - - function widgetHeight(widget) { - if (widget.height != null) { return widget.height } - var cm = widget.doc.cm; - if (!cm) { return 0 } - if (!contains(document.body, widget.node)) { - var parentStyle = "position: relative;"; - if (widget.coverGutter) - { parentStyle += "margin-left: -" + cm.display.gutters.offsetWidth + "px;"; } - if (widget.noHScroll) - { parentStyle += "width: " + cm.display.wrapper.clientWidth + "px;"; } - removeChildrenAndAdd(cm.display.measure, elt("div", [widget.node], null, parentStyle)); - } - return widget.height = widget.node.parentNode.offsetHeight - } - - // Return true when the given mouse event happened in a widget - function eventInWidget(display, e) { - for (var n = e_target(e); n != display.wrapper; n = n.parentNode) { - if (!n || (n.nodeType == 1 && n.getAttribute("cm-ignore-events") == "true") || - (n.parentNode == display.sizer && n != display.mover)) - { return true } - } - } - - // POSITION MEASUREMENT - - function paddingTop(display) {return display.lineSpace.offsetTop} - function paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight} - function paddingH(display) { - if (display.cachedPaddingH) { return display.cachedPaddingH } - var e = removeChildrenAndAdd(display.measure, elt("pre", "x", "CodeMirror-line-like")); - var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle; - var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)}; - if (!isNaN(data.left) && !isNaN(data.right)) { display.cachedPaddingH = data; } - return data - } - - function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth } - function displayWidth(cm) { - return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth - } - function displayHeight(cm) { - return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight - } - - // Ensure the lineView.wrapping.heights array is populated. This is - // an array of bottom offsets for the lines that make up a drawn - // line. When lineWrapping is on, there might be more than one - // height. - function ensureLineHeights(cm, lineView, rect) { - var wrapping = cm.options.lineWrapping; - var curWidth = wrapping && displayWidth(cm); - if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) { - var heights = lineView.measure.heights = []; - if (wrapping) { - lineView.measure.width = curWidth; - var rects = lineView.text.firstChild.getClientRects(); - for (var i = 0; i < rects.length - 1; i++) { - var cur = rects[i], next = rects[i + 1]; - if (Math.abs(cur.bottom - next.bottom) > 2) - { heights.push((cur.bottom + next.top) / 2 - rect.top); } - } - } - heights.push(rect.bottom - rect.top); - } - } - - // Find a line map (mapping character offsets to text nodes) and a - // measurement cache for the given line number. (A line view might - // contain multiple lines when collapsed ranges are present.) - function mapFromLineView(lineView, line, lineN) { - if (lineView.line == line) - { return {map: lineView.measure.map, cache: lineView.measure.cache} } - for (var i = 0; i < lineView.rest.length; i++) - { if (lineView.rest[i] == line) - { return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]} } } - for (var i$1 = 0; i$1 < lineView.rest.length; i$1++) - { if (lineNo(lineView.rest[i$1]) > lineN) - { return {map: lineView.measure.maps[i$1], cache: lineView.measure.caches[i$1], before: true} } } - } - - // Render a line into the hidden node display.externalMeasured. Used - // when measurement is needed for a line that's not in the viewport. - function updateExternalMeasurement(cm, line) { - line = visualLine(line); - var lineN = lineNo(line); - var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN); - view.lineN = lineN; - var built = view.built = buildLineContent(cm, view); - view.text = built.pre; - removeChildrenAndAdd(cm.display.lineMeasure, built.pre); - return view - } - - // Get a {top, bottom, left, right} box (in line-local coordinates) - // for a given character. - function measureChar(cm, line, ch, bias) { - return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias) - } - - // Find a line view that corresponds to the given line number. - function findViewForLine(cm, lineN) { - if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo) - { return cm.display.view[findViewIndex(cm, lineN)] } - var ext = cm.display.externalMeasured; - if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size) - { return ext } - } - - // Measurement can be split in two steps, the set-up work that - // applies to the whole line, and the measurement of the actual - // character. Functions like coordsChar, that need to do a lot of - // measurements in a row, can thus ensure that the set-up work is - // only done once. - function prepareMeasureForLine(cm, line) { - var lineN = lineNo(line); - var view = findViewForLine(cm, lineN); - if (view && !view.text) { - view = null; - } else if (view && view.changes) { - updateLineForChanges(cm, view, lineN, getDimensions(cm)); - cm.curOp.forceUpdate = true; - } - if (!view) - { view = updateExternalMeasurement(cm, line); } - - var info = mapFromLineView(view, line, lineN); - return { - line: line, view: view, rect: null, - map: info.map, cache: info.cache, before: info.before, - hasHeights: false - } - } - - // Given a prepared measurement object, measures the position of an - // actual character (or fetches it from the cache). - function measureCharPrepared(cm, prepared, ch, bias, varHeight) { - if (prepared.before) { ch = -1; } - var key = ch + (bias || ""), found; - if (prepared.cache.hasOwnProperty(key)) { - found = prepared.cache[key]; - } else { - if (!prepared.rect) - { prepared.rect = prepared.view.text.getBoundingClientRect(); } - if (!prepared.hasHeights) { - ensureLineHeights(cm, prepared.view, prepared.rect); - prepared.hasHeights = true; - } - found = measureCharInner(cm, prepared, ch, bias); - if (!found.bogus) { prepared.cache[key] = found; } - } - return {left: found.left, right: found.right, - top: varHeight ? found.rtop : found.top, - bottom: varHeight ? found.rbottom : found.bottom} - } - - var nullRect = {left: 0, right: 0, top: 0, bottom: 0}; - - function nodeAndOffsetInLineMap(map, ch, bias) { - var node, start, end, collapse, mStart, mEnd; - // First, search the line map for the text node corresponding to, - // or closest to, the target character. - for (var i = 0; i < map.length; i += 3) { - mStart = map[i]; - mEnd = map[i + 1]; - if (ch < mStart) { - start = 0; end = 1; - collapse = "left"; - } else if (ch < mEnd) { - start = ch - mStart; - end = start + 1; - } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) { - end = mEnd - mStart; - start = end - 1; - if (ch >= mEnd) { collapse = "right"; } - } - if (start != null) { - node = map[i + 2]; - if (mStart == mEnd && bias == (node.insertLeft ? "left" : "right")) - { collapse = bias; } - if (bias == "left" && start == 0) - { while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) { - node = map[(i -= 3) + 2]; - collapse = "left"; - } } - if (bias == "right" && start == mEnd - mStart) - { while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) { - node = map[(i += 3) + 2]; - collapse = "right"; - } } - break - } - } - return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd} - } - - function getUsefulRect(rects, bias) { - var rect = nullRect; - if (bias == "left") { for (var i = 0; i < rects.length; i++) { - if ((rect = rects[i]).left != rect.right) { break } - } } else { for (var i$1 = rects.length - 1; i$1 >= 0; i$1--) { - if ((rect = rects[i$1]).left != rect.right) { break } - } } - return rect - } - - function measureCharInner(cm, prepared, ch, bias) { - var place = nodeAndOffsetInLineMap(prepared.map, ch, bias); - var node = place.node, start = place.start, end = place.end, collapse = place.collapse; - - var rect; - if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates. - for (var i$1 = 0; i$1 < 4; i$1++) { // Retry a maximum of 4 times when nonsense rectangles are returned - while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) { --start; } - while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) { ++end; } - if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart) - { rect = node.parentNode.getBoundingClientRect(); } - else - { rect = getUsefulRect(range(node, start, end).getClientRects(), bias); } - if (rect.left || rect.right || start == 0) { break } - end = start; - start = start - 1; - collapse = "right"; - } - if (ie && ie_version < 11) { rect = maybeUpdateRectForZooming(cm.display.measure, rect); } - } else { // If it is a widget, simply get the box for the whole widget. - if (start > 0) { collapse = bias = "right"; } - var rects; - if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1) - { rect = rects[bias == "right" ? rects.length - 1 : 0]; } - else - { rect = node.getBoundingClientRect(); } - } - if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) { - var rSpan = node.parentNode.getClientRects()[0]; - if (rSpan) - { rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom}; } - else - { rect = nullRect; } - } - - var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top; - var mid = (rtop + rbot) / 2; - var heights = prepared.view.measure.heights; - var i = 0; - for (; i < heights.length - 1; i++) - { if (mid < heights[i]) { break } } - var top = i ? heights[i - 1] : 0, bot = heights[i]; - var result = {left: (collapse == "right" ? rect.right : rect.left) - prepared.rect.left, - right: (collapse == "left" ? rect.left : rect.right) - prepared.rect.left, - top: top, bottom: bot}; - if (!rect.left && !rect.right) { result.bogus = true; } - if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot; } - - return result - } - - // Work around problem with bounding client rects on ranges being - // returned incorrectly when zoomed on IE10 and below. - function maybeUpdateRectForZooming(measure, rect) { - if (!window.screen || screen.logicalXDPI == null || - screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure)) - { return rect } - var scaleX = screen.logicalXDPI / screen.deviceXDPI; - var scaleY = screen.logicalYDPI / screen.deviceYDPI; - return {left: rect.left * scaleX, right: rect.right * scaleX, - top: rect.top * scaleY, bottom: rect.bottom * scaleY} - } - - function clearLineMeasurementCacheFor(lineView) { - if (lineView.measure) { - lineView.measure.cache = {}; - lineView.measure.heights = null; - if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++) - { lineView.measure.caches[i] = {}; } } - } - } - - function clearLineMeasurementCache(cm) { - cm.display.externalMeasure = null; - removeChildren(cm.display.lineMeasure); - for (var i = 0; i < cm.display.view.length; i++) - { clearLineMeasurementCacheFor(cm.display.view[i]); } - } - - function clearCaches(cm) { - clearLineMeasurementCache(cm); - cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null; - if (!cm.options.lineWrapping) { cm.display.maxLineChanged = true; } - cm.display.lineNumChars = null; - } - - function pageScrollX() { - // Work around https://bugs.chromium.org/p/chromium/issues/detail?id=489206 - // which causes page_Offset and bounding client rects to use - // different reference viewports and invalidate our calculations. - if (chrome && android) { return -(document.body.getBoundingClientRect().left - parseInt(getComputedStyle(document.body).marginLeft)) } - return window.pageXOffset || (document.documentElement || document.body).scrollLeft - } - function pageScrollY() { - if (chrome && android) { return -(document.body.getBoundingClientRect().top - parseInt(getComputedStyle(document.body).marginTop)) } - return window.pageYOffset || (document.documentElement || document.body).scrollTop - } - - function widgetTopHeight(lineObj) { - var height = 0; - if (lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above) - { height += widgetHeight(lineObj.widgets[i]); } } } - return height - } - - // Converts a {top, bottom, left, right} box from line-local - // coordinates into another coordinate system. Context may be one of - // "line", "div" (display.lineDiv), "local"./null (editor), "window", - // or "page". - function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) { - if (!includeWidgets) { - var height = widgetTopHeight(lineObj); - rect.top += height; rect.bottom += height; - } - if (context == "line") { return rect } - if (!context) { context = "local"; } - var yOff = heightAtLine(lineObj); - if (context == "local") { yOff += paddingTop(cm.display); } - else { yOff -= cm.display.viewOffset; } - if (context == "page" || context == "window") { - var lOff = cm.display.lineSpace.getBoundingClientRect(); - yOff += lOff.top + (context == "window" ? 0 : pageScrollY()); - var xOff = lOff.left + (context == "window" ? 0 : pageScrollX()); - rect.left += xOff; rect.right += xOff; - } - rect.top += yOff; rect.bottom += yOff; - return rect - } - - // Coverts a box from "div" coords to another coordinate system. - // Context may be "window", "page", "div", or "local"./null. - function fromCoordSystem(cm, coords, context) { - if (context == "div") { return coords } - var left = coords.left, top = coords.top; - // First move into "page" coordinate system - if (context == "page") { - left -= pageScrollX(); - top -= pageScrollY(); - } else if (context == "local" || !context) { - var localBox = cm.display.sizer.getBoundingClientRect(); - left += localBox.left; - top += localBox.top; - } - - var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect(); - return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top} - } - - function charCoords(cm, pos, context, lineObj, bias) { - if (!lineObj) { lineObj = getLine(cm.doc, pos.line); } - return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context) - } - - // Returns a box for a given cursor position, which may have an - // 'other' property containing the position of the secondary cursor - // on a bidi boundary. - // A cursor Pos(line, char, "before") is on the same visual line as `char - 1` - // and after `char - 1` in writing order of `char - 1` - // A cursor Pos(line, char, "after") is on the same visual line as `char` - // and before `char` in writing order of `char` - // Examples (upper-case letters are RTL, lower-case are LTR): - // Pos(0, 1, ...) - // before after - // ab a|b a|b - // aB a|B aB| - // Ab |Ab A|b - // AB B|A B|A - // Every position after the last character on a line is considered to stick - // to the last character on the line. - function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) { - lineObj = lineObj || getLine(cm.doc, pos.line); - if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); } - function get(ch, right) { - var m = measureCharPrepared(cm, preparedMeasure, ch, right ? "right" : "left", varHeight); - if (right) { m.left = m.right; } else { m.right = m.left; } - return intoCoordSystem(cm, lineObj, m, context) - } - var order = getOrder(lineObj, cm.doc.direction), ch = pos.ch, sticky = pos.sticky; - if (ch >= lineObj.text.length) { - ch = lineObj.text.length; - sticky = "before"; - } else if (ch <= 0) { - ch = 0; - sticky = "after"; - } - if (!order) { return get(sticky == "before" ? ch - 1 : ch, sticky == "before") } - - function getBidi(ch, partPos, invert) { - var part = order[partPos], right = part.level == 1; - return get(invert ? ch - 1 : ch, right != invert) - } - var partPos = getBidiPartAt(order, ch, sticky); - var other = bidiOther; - var val = getBidi(ch, partPos, sticky == "before"); - if (other != null) { val.other = getBidi(ch, other, sticky != "before"); } - return val - } - - // Used to cheaply estimate the coordinates for a position. Used for - // intermediate scroll updates. - function estimateCoords(cm, pos) { - var left = 0; - pos = clipPos(cm.doc, pos); - if (!cm.options.lineWrapping) { left = charWidth(cm.display) * pos.ch; } - var lineObj = getLine(cm.doc, pos.line); - var top = heightAtLine(lineObj) + paddingTop(cm.display); - return {left: left, right: left, top: top, bottom: top + lineObj.height} - } - - // Positions returned by coordsChar contain some extra information. - // xRel is the relative x position of the input coordinates compared - // to the found position (so xRel > 0 means the coordinates are to - // the right of the character position, for example). When outside - // is true, that means the coordinates lie outside the line's - // vertical range. - function PosWithInfo(line, ch, sticky, outside, xRel) { - var pos = Pos(line, ch, sticky); - pos.xRel = xRel; - if (outside) { pos.outside = outside; } - return pos - } - - // Compute the character position closest to the given coordinates. - // Input must be lineSpace-local ("div" coordinate system). - function coordsChar(cm, x, y) { - var doc = cm.doc; - y += cm.display.viewOffset; - if (y < 0) { return PosWithInfo(doc.first, 0, null, -1, -1) } - var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1; - if (lineN > last) - { return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, null, 1, 1) } - if (x < 0) { x = 0; } - - var lineObj = getLine(doc, lineN); - for (;;) { - var found = coordsCharInner(cm, lineObj, lineN, x, y); - var collapsed = collapsedSpanAround(lineObj, found.ch + (found.xRel > 0 || found.outside > 0 ? 1 : 0)); - if (!collapsed) { return found } - var rangeEnd = collapsed.find(1); - if (rangeEnd.line == lineN) { return rangeEnd } - lineObj = getLine(doc, lineN = rangeEnd.line); - } - } - - function wrappedLineExtent(cm, lineObj, preparedMeasure, y) { - y -= widgetTopHeight(lineObj); - var end = lineObj.text.length; - var begin = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch - 1).bottom <= y; }, end, 0); - end = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch).top > y; }, begin, end); - return {begin: begin, end: end} - } - - function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) { - if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); } - var targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), "line").top; - return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop) - } - - // Returns true if the given side of a box is after the given - // coordinates, in top-to-bottom, left-to-right order. - function boxIsAfter(box, x, y, left) { - return box.bottom <= y ? false : box.top > y ? true : (left ? box.left : box.right) > x - } - - function coordsCharInner(cm, lineObj, lineNo, x, y) { - // Move y into line-local coordinate space - y -= heightAtLine(lineObj); - var preparedMeasure = prepareMeasureForLine(cm, lineObj); - // When directly calling `measureCharPrepared`, we have to adjust - // for the widgets at this line. - var widgetHeight = widgetTopHeight(lineObj); - var begin = 0, end = lineObj.text.length, ltr = true; - - var order = getOrder(lineObj, cm.doc.direction); - // If the line isn't plain left-to-right text, first figure out - // which bidi section the coordinates fall into. - if (order) { - var part = (cm.options.lineWrapping ? coordsBidiPartWrapped : coordsBidiPart) - (cm, lineObj, lineNo, preparedMeasure, order, x, y); - ltr = part.level != 1; - // The awkward -1 offsets are needed because findFirst (called - // on these below) will treat its first bound as inclusive, - // second as exclusive, but we want to actually address the - // characters in the part's range - begin = ltr ? part.from : part.to - 1; - end = ltr ? part.to : part.from - 1; - } - - // A binary search to find the first character whose bounding box - // starts after the coordinates. If we run across any whose box wrap - // the coordinates, store that. - var chAround = null, boxAround = null; - var ch = findFirst(function (ch) { - var box = measureCharPrepared(cm, preparedMeasure, ch); - box.top += widgetHeight; box.bottom += widgetHeight; - if (!boxIsAfter(box, x, y, false)) { return false } - if (box.top <= y && box.left <= x) { - chAround = ch; - boxAround = box; - } - return true - }, begin, end); - - var baseX, sticky, outside = false; - // If a box around the coordinates was found, use that - if (boxAround) { - // Distinguish coordinates nearer to the left or right side of the box - var atLeft = x - boxAround.left < boxAround.right - x, atStart = atLeft == ltr; - ch = chAround + (atStart ? 0 : 1); - sticky = atStart ? "after" : "before"; - baseX = atLeft ? boxAround.left : boxAround.right; - } else { - // (Adjust for extended bound, if necessary.) - if (!ltr && (ch == end || ch == begin)) { ch++; } - // To determine which side to associate with, get the box to the - // left of the character and compare it's vertical position to the - // coordinates - sticky = ch == 0 ? "after" : ch == lineObj.text.length ? "before" : - (measureCharPrepared(cm, preparedMeasure, ch - (ltr ? 1 : 0)).bottom + widgetHeight <= y) == ltr ? - "after" : "before"; - // Now get accurate coordinates for this place, in order to get a - // base X position - var coords = cursorCoords(cm, Pos(lineNo, ch, sticky), "line", lineObj, preparedMeasure); - baseX = coords.left; - outside = y < coords.top ? -1 : y >= coords.bottom ? 1 : 0; - } - - ch = skipExtendingChars(lineObj.text, ch, 1); - return PosWithInfo(lineNo, ch, sticky, outside, x - baseX) - } - - function coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, y) { - // Bidi parts are sorted left-to-right, and in a non-line-wrapping - // situation, we can take this ordering to correspond to the visual - // ordering. This finds the first part whose end is after the given - // coordinates. - var index = findFirst(function (i) { - var part = order[i], ltr = part.level != 1; - return boxIsAfter(cursorCoords(cm, Pos(lineNo, ltr ? part.to : part.from, ltr ? "before" : "after"), - "line", lineObj, preparedMeasure), x, y, true) - }, 0, order.length - 1); - var part = order[index]; - // If this isn't the first part, the part's start is also after - // the coordinates, and the coordinates aren't on the same line as - // that start, move one part back. - if (index > 0) { - var ltr = part.level != 1; - var start = cursorCoords(cm, Pos(lineNo, ltr ? part.from : part.to, ltr ? "after" : "before"), - "line", lineObj, preparedMeasure); - if (boxIsAfter(start, x, y, true) && start.top > y) - { part = order[index - 1]; } - } - return part - } - - function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, y) { - // In a wrapped line, rtl text on wrapping boundaries can do things - // that don't correspond to the ordering in our `order` array at - // all, so a binary search doesn't work, and we want to return a - // part that only spans one line so that the binary search in - // coordsCharInner is safe. As such, we first find the extent of the - // wrapped line, and then do a flat search in which we discard any - // spans that aren't on the line. - var ref = wrappedLineExtent(cm, lineObj, preparedMeasure, y); - var begin = ref.begin; - var end = ref.end; - if (/\s/.test(lineObj.text.charAt(end - 1))) { end--; } - var part = null, closestDist = null; - for (var i = 0; i < order.length; i++) { - var p = order[i]; - if (p.from >= end || p.to <= begin) { continue } - var ltr = p.level != 1; - var endX = measureCharPrepared(cm, preparedMeasure, ltr ? Math.min(end, p.to) - 1 : Math.max(begin, p.from)).right; - // Weigh against spans ending before this, so that they are only - // picked if nothing ends after - var dist = endX < x ? x - endX + 1e9 : endX - x; - if (!part || closestDist > dist) { - part = p; - closestDist = dist; - } - } - if (!part) { part = order[order.length - 1]; } - // Clip the part to the wrapped line. - if (part.from < begin) { part = {from: begin, to: part.to, level: part.level}; } - if (part.to > end) { part = {from: part.from, to: end, level: part.level}; } - return part - } - - var measureText; - // Compute the default text height. - function textHeight(display) { - if (display.cachedTextHeight != null) { return display.cachedTextHeight } - if (measureText == null) { - measureText = elt("pre", null, "CodeMirror-line-like"); - // Measure a bunch of lines, for browsers that compute - // fractional heights. - for (var i = 0; i < 49; ++i) { - measureText.appendChild(document.createTextNode("x")); - measureText.appendChild(elt("br")); - } - measureText.appendChild(document.createTextNode("x")); - } - removeChildrenAndAdd(display.measure, measureText); - var height = measureText.offsetHeight / 50; - if (height > 3) { display.cachedTextHeight = height; } - removeChildren(display.measure); - return height || 1 - } - - // Compute the default character width. - function charWidth(display) { - if (display.cachedCharWidth != null) { return display.cachedCharWidth } - var anchor = elt("span", "xxxxxxxxxx"); - var pre = elt("pre", [anchor], "CodeMirror-line-like"); - removeChildrenAndAdd(display.measure, pre); - var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10; - if (width > 2) { display.cachedCharWidth = width; } - return width || 10 - } - - // Do a bulk-read of the DOM positions and sizes needed to draw the - // view, so that we don't interleave reading and writing to the DOM. - function getDimensions(cm) { - var d = cm.display, left = {}, width = {}; - var gutterLeft = d.gutters.clientLeft; - for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) { - var id = cm.display.gutterSpecs[i].className; - left[id] = n.offsetLeft + n.clientLeft + gutterLeft; - width[id] = n.clientWidth; - } - return {fixedPos: compensateForHScroll(d), - gutterTotalWidth: d.gutters.offsetWidth, - gutterLeft: left, - gutterWidth: width, - wrapperWidth: d.wrapper.clientWidth} - } - - // Computes display.scroller.scrollLeft + display.gutters.offsetWidth, - // but using getBoundingClientRect to get a sub-pixel-accurate - // result. - function compensateForHScroll(display) { - return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left - } - - // Returns a function that estimates the height of a line, to use as - // first approximation until the line becomes visible (and is thus - // properly measurable). - function estimateHeight(cm) { - var th = textHeight(cm.display), wrapping = cm.options.lineWrapping; - var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3); - return function (line) { - if (lineIsHidden(cm.doc, line)) { return 0 } - - var widgetsHeight = 0; - if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) { - if (line.widgets[i].height) { widgetsHeight += line.widgets[i].height; } - } } - - if (wrapping) - { return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th } - else - { return widgetsHeight + th } - } - } - - function estimateLineHeights(cm) { - var doc = cm.doc, est = estimateHeight(cm); - doc.iter(function (line) { - var estHeight = est(line); - if (estHeight != line.height) { updateLineHeight(line, estHeight); } - }); - } - - // Given a mouse event, find the corresponding position. If liberal - // is false, it checks whether a gutter or scrollbar was clicked, - // and returns null if it was. forRect is used by rectangular - // selections, and tries to estimate a character position even for - // coordinates beyond the right of the text. - function posFromMouse(cm, e, liberal, forRect) { - var display = cm.display; - if (!liberal && e_target(e).getAttribute("cm-not-content") == "true") { return null } - - var x, y, space = display.lineSpace.getBoundingClientRect(); - // Fails unpredictably on IE[67] when mouse is dragged around quickly. - try { x = e.clientX - space.left; y = e.clientY - space.top; } - catch (e$1) { return null } - var coords = coordsChar(cm, x, y), line; - if (forRect && coords.xRel > 0 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) { - var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length; - coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff)); - } - return coords - } - - // Find the view element corresponding to a given line. Return null - // when the line isn't visible. - function findViewIndex(cm, n) { - if (n >= cm.display.viewTo) { return null } - n -= cm.display.viewFrom; - if (n < 0) { return null } - var view = cm.display.view; - for (var i = 0; i < view.length; i++) { - n -= view[i].size; - if (n < 0) { return i } - } - } - - // Updates the display.view data structure for a given change to the - // document. From and to are in pre-change coordinates. Lendiff is - // the amount of lines added or subtracted by the change. This is - // used for changes that span multiple lines, or change the way - // lines are divided into visual lines. regLineChange (below) - // registers single-line changes. - function regChange(cm, from, to, lendiff) { - if (from == null) { from = cm.doc.first; } - if (to == null) { to = cm.doc.first + cm.doc.size; } - if (!lendiff) { lendiff = 0; } - - var display = cm.display; - if (lendiff && to < display.viewTo && - (display.updateLineNumbers == null || display.updateLineNumbers > from)) - { display.updateLineNumbers = from; } - - cm.curOp.viewChanged = true; - - if (from >= display.viewTo) { // Change after - if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo) - { resetView(cm); } - } else if (to <= display.viewFrom) { // Change before - if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) { - resetView(cm); - } else { - display.viewFrom += lendiff; - display.viewTo += lendiff; - } - } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap - resetView(cm); - } else if (from <= display.viewFrom) { // Top overlap - var cut = viewCuttingPoint(cm, to, to + lendiff, 1); - if (cut) { - display.view = display.view.slice(cut.index); - display.viewFrom = cut.lineN; - display.viewTo += lendiff; - } else { - resetView(cm); - } - } else if (to >= display.viewTo) { // Bottom overlap - var cut$1 = viewCuttingPoint(cm, from, from, -1); - if (cut$1) { - display.view = display.view.slice(0, cut$1.index); - display.viewTo = cut$1.lineN; - } else { - resetView(cm); - } - } else { // Gap in the middle - var cutTop = viewCuttingPoint(cm, from, from, -1); - var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1); - if (cutTop && cutBot) { - display.view = display.view.slice(0, cutTop.index) - .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN)) - .concat(display.view.slice(cutBot.index)); - display.viewTo += lendiff; - } else { - resetView(cm); - } - } - - var ext = display.externalMeasured; - if (ext) { - if (to < ext.lineN) - { ext.lineN += lendiff; } - else if (from < ext.lineN + ext.size) - { display.externalMeasured = null; } - } - } - - // Register a change to a single line. Type must be one of "text", - // "gutter", "class", "widget" - function regLineChange(cm, line, type) { - cm.curOp.viewChanged = true; - var display = cm.display, ext = cm.display.externalMeasured; - if (ext && line >= ext.lineN && line < ext.lineN + ext.size) - { display.externalMeasured = null; } - - if (line < display.viewFrom || line >= display.viewTo) { return } - var lineView = display.view[findViewIndex(cm, line)]; - if (lineView.node == null) { return } - var arr = lineView.changes || (lineView.changes = []); - if (indexOf(arr, type) == -1) { arr.push(type); } - } - - // Clear the view. - function resetView(cm) { - cm.display.viewFrom = cm.display.viewTo = cm.doc.first; - cm.display.view = []; - cm.display.viewOffset = 0; - } - - function viewCuttingPoint(cm, oldN, newN, dir) { - var index = findViewIndex(cm, oldN), diff, view = cm.display.view; - if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size) - { return {index: index, lineN: newN} } - var n = cm.display.viewFrom; - for (var i = 0; i < index; i++) - { n += view[i].size; } - if (n != oldN) { - if (dir > 0) { - if (index == view.length - 1) { return null } - diff = (n + view[index].size) - oldN; - index++; - } else { - diff = n - oldN; - } - oldN += diff; newN += diff; - } - while (visualLineNo(cm.doc, newN) != newN) { - if (index == (dir < 0 ? 0 : view.length - 1)) { return null } - newN += dir * view[index - (dir < 0 ? 1 : 0)].size; - index += dir; - } - return {index: index, lineN: newN} - } - - // Force the view to cover a given range, adding empty view element - // or clipping off existing ones as needed. - function adjustView(cm, from, to) { - var display = cm.display, view = display.view; - if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) { - display.view = buildViewArray(cm, from, to); - display.viewFrom = from; - } else { - if (display.viewFrom > from) - { display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view); } - else if (display.viewFrom < from) - { display.view = display.view.slice(findViewIndex(cm, from)); } - display.viewFrom = from; - if (display.viewTo < to) - { display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)); } - else if (display.viewTo > to) - { display.view = display.view.slice(0, findViewIndex(cm, to)); } - } - display.viewTo = to; - } - - // Count the number of lines in the view whose DOM representation is - // out of date (or nonexistent). - function countDirtyView(cm) { - var view = cm.display.view, dirty = 0; - for (var i = 0; i < view.length; i++) { - var lineView = view[i]; - if (!lineView.hidden && (!lineView.node || lineView.changes)) { ++dirty; } - } - return dirty - } - - function updateSelection(cm) { - cm.display.input.showSelection(cm.display.input.prepareSelection()); - } - - function prepareSelection(cm, primary) { - if ( primary === void 0 ) primary = true; - - var doc = cm.doc, result = {}; - var curFragment = result.cursors = document.createDocumentFragment(); - var selFragment = result.selection = document.createDocumentFragment(); - - for (var i = 0; i < doc.sel.ranges.length; i++) { - if (!primary && i == doc.sel.primIndex) { continue } - var range = doc.sel.ranges[i]; - if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) { continue } - var collapsed = range.empty(); - if (collapsed || cm.options.showCursorWhenSelecting) - { drawSelectionCursor(cm, range.head, curFragment); } - if (!collapsed) - { drawSelectionRange(cm, range, selFragment); } - } - return result - } - - // Draws a cursor for the given range - function drawSelectionCursor(cm, head, output) { - var pos = cursorCoords(cm, head, "div", null, null, !cm.options.singleCursorHeightPerLine); - - var cursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor")); - cursor.style.left = pos.left + "px"; - cursor.style.top = pos.top + "px"; - cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + "px"; - - if (pos.other) { - // Secondary cursor, shown when on a 'jump' in bi-directional text - var otherCursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor CodeMirror-secondarycursor")); - otherCursor.style.display = ""; - otherCursor.style.left = pos.other.left + "px"; - otherCursor.style.top = pos.other.top + "px"; - otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + "px"; - } - } - - function cmpCoords(a, b) { return a.top - b.top || a.left - b.left } - - // Draws the given range as a highlighted selection - function drawSelectionRange(cm, range, output) { - var display = cm.display, doc = cm.doc; - var fragment = document.createDocumentFragment(); - var padding = paddingH(cm.display), leftSide = padding.left; - var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right; - var docLTR = doc.direction == "ltr"; - - function add(left, top, width, bottom) { - if (top < 0) { top = 0; } - top = Math.round(top); - bottom = Math.round(bottom); - fragment.appendChild(elt("div", null, "CodeMirror-selected", ("position: absolute; left: " + left + "px;\n top: " + top + "px; width: " + (width == null ? rightSide - left : width) + "px;\n height: " + (bottom - top) + "px"))); - } - - function drawForLine(line, fromArg, toArg) { - var lineObj = getLine(doc, line); - var lineLen = lineObj.text.length; - var start, end; - function coords(ch, bias) { - return charCoords(cm, Pos(line, ch), "div", lineObj, bias) - } - - function wrapX(pos, dir, side) { - var extent = wrappedLineExtentChar(cm, lineObj, null, pos); - var prop = (dir == "ltr") == (side == "after") ? "left" : "right"; - var ch = side == "after" ? extent.begin : extent.end - (/\s/.test(lineObj.text.charAt(extent.end - 1)) ? 2 : 1); - return coords(ch, prop)[prop] - } - - var order = getOrder(lineObj, doc.direction); - iterateBidiSections(order, fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir, i) { - var ltr = dir == "ltr"; - var fromPos = coords(from, ltr ? "left" : "right"); - var toPos = coords(to - 1, ltr ? "right" : "left"); - - var openStart = fromArg == null && from == 0, openEnd = toArg == null && to == lineLen; - var first = i == 0, last = !order || i == order.length - 1; - if (toPos.top - fromPos.top <= 3) { // Single line - var openLeft = (docLTR ? openStart : openEnd) && first; - var openRight = (docLTR ? openEnd : openStart) && last; - var left = openLeft ? leftSide : (ltr ? fromPos : toPos).left; - var right = openRight ? rightSide : (ltr ? toPos : fromPos).right; - add(left, fromPos.top, right - left, fromPos.bottom); - } else { // Multiple lines - var topLeft, topRight, botLeft, botRight; - if (ltr) { - topLeft = docLTR && openStart && first ? leftSide : fromPos.left; - topRight = docLTR ? rightSide : wrapX(from, dir, "before"); - botLeft = docLTR ? leftSide : wrapX(to, dir, "after"); - botRight = docLTR && openEnd && last ? rightSide : toPos.right; - } else { - topLeft = !docLTR ? leftSide : wrapX(from, dir, "before"); - topRight = !docLTR && openStart && first ? rightSide : fromPos.right; - botLeft = !docLTR && openEnd && last ? leftSide : toPos.left; - botRight = !docLTR ? rightSide : wrapX(to, dir, "after"); - } - add(topLeft, fromPos.top, topRight - topLeft, fromPos.bottom); - if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top); } - add(botLeft, toPos.top, botRight - botLeft, toPos.bottom); - } - - if (!start || cmpCoords(fromPos, start) < 0) { start = fromPos; } - if (cmpCoords(toPos, start) < 0) { start = toPos; } - if (!end || cmpCoords(fromPos, end) < 0) { end = fromPos; } - if (cmpCoords(toPos, end) < 0) { end = toPos; } - }); - return {start: start, end: end} - } - - var sFrom = range.from(), sTo = range.to(); - if (sFrom.line == sTo.line) { - drawForLine(sFrom.line, sFrom.ch, sTo.ch); - } else { - var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line); - var singleVLine = visualLine(fromLine) == visualLine(toLine); - var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end; - var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start; - if (singleVLine) { - if (leftEnd.top < rightStart.top - 2) { - add(leftEnd.right, leftEnd.top, null, leftEnd.bottom); - add(leftSide, rightStart.top, rightStart.left, rightStart.bottom); - } else { - add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom); - } - } - if (leftEnd.bottom < rightStart.top) - { add(leftSide, leftEnd.bottom, null, rightStart.top); } - } - - output.appendChild(fragment); - } - - // Cursor-blinking - function restartBlink(cm) { - if (!cm.state.focused) { return } - var display = cm.display; - clearInterval(display.blinker); - var on = true; - display.cursorDiv.style.visibility = ""; - if (cm.options.cursorBlinkRate > 0) - { display.blinker = setInterval(function () { - if (!cm.hasFocus()) { onBlur(cm); } - display.cursorDiv.style.visibility = (on = !on) ? "" : "hidden"; - }, cm.options.cursorBlinkRate); } - else if (cm.options.cursorBlinkRate < 0) - { display.cursorDiv.style.visibility = "hidden"; } - } - - function ensureFocus(cm) { - if (!cm.hasFocus()) { - cm.display.input.focus(); - if (!cm.state.focused) { onFocus(cm); } - } - } - - function delayBlurEvent(cm) { - cm.state.delayingBlurEvent = true; - setTimeout(function () { if (cm.state.delayingBlurEvent) { - cm.state.delayingBlurEvent = false; - if (cm.state.focused) { onBlur(cm); } - } }, 100); - } - - function onFocus(cm, e) { - if (cm.state.delayingBlurEvent && !cm.state.draggingText) { cm.state.delayingBlurEvent = false; } - - if (cm.options.readOnly == "nocursor") { return } - if (!cm.state.focused) { - signal(cm, "focus", cm, e); - cm.state.focused = true; - addClass(cm.display.wrapper, "CodeMirror-focused"); - // This test prevents this from firing when a context - // menu is closed (since the input reset would kill the - // select-all detection hack) - if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) { - cm.display.input.reset(); - if (webkit) { setTimeout(function () { return cm.display.input.reset(true); }, 20); } // Issue #1730 - } - cm.display.input.receivedFocus(); - } - restartBlink(cm); - } - function onBlur(cm, e) { - if (cm.state.delayingBlurEvent) { return } - - if (cm.state.focused) { - signal(cm, "blur", cm, e); - cm.state.focused = false; - rmClass(cm.display.wrapper, "CodeMirror-focused"); - } - clearInterval(cm.display.blinker); - setTimeout(function () { if (!cm.state.focused) { cm.display.shift = false; } }, 150); - } - - // Read the actual heights of the rendered lines, and update their - // stored heights to match. - function updateHeightsInViewport(cm) { - var display = cm.display; - var prevBottom = display.lineDiv.offsetTop; - for (var i = 0; i < display.view.length; i++) { - var cur = display.view[i], wrapping = cm.options.lineWrapping; - var height = (void 0), width = 0; - if (cur.hidden) { continue } - if (ie && ie_version < 8) { - var bot = cur.node.offsetTop + cur.node.offsetHeight; - height = bot - prevBottom; - prevBottom = bot; - } else { - var box = cur.node.getBoundingClientRect(); - height = box.bottom - box.top; - // Check that lines don't extend past the right of the current - // editor width - if (!wrapping && cur.text.firstChild) - { width = cur.text.firstChild.getBoundingClientRect().right - box.left - 1; } - } - var diff = cur.line.height - height; - if (diff > .005 || diff < -.005) { - updateLineHeight(cur.line, height); - updateWidgetHeight(cur.line); - if (cur.rest) { for (var j = 0; j < cur.rest.length; j++) - { updateWidgetHeight(cur.rest[j]); } } - } - if (width > cm.display.sizerWidth) { - var chWidth = Math.ceil(width / charWidth(cm.display)); - if (chWidth > cm.display.maxLineLength) { - cm.display.maxLineLength = chWidth; - cm.display.maxLine = cur.line; - cm.display.maxLineChanged = true; - } - } - } - } - - // Read and store the height of line widgets associated with the - // given line. - function updateWidgetHeight(line) { - if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i) { - var w = line.widgets[i], parent = w.node.parentNode; - if (parent) { w.height = parent.offsetHeight; } - } } - } - - // Compute the lines that are visible in a given viewport (defaults - // the the current scroll position). viewport may contain top, - // height, and ensure (see op.scrollToPos) properties. - function visibleLines(display, doc, viewport) { - var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop; - top = Math.floor(top - paddingTop(display)); - var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight; - - var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom); - // Ensure is a {from: {line, ch}, to: {line, ch}} object, and - // forces those lines into the viewport (if possible). - if (viewport && viewport.ensure) { - var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line; - if (ensureFrom < from) { - from = ensureFrom; - to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight); - } else if (Math.min(ensureTo, doc.lastLine()) >= to) { - from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight); - to = ensureTo; - } - } - return {from: from, to: Math.max(to, from + 1)} - } - - // SCROLLING THINGS INTO VIEW - - // If an editor sits on the top or bottom of the window, partially - // scrolled out of view, this ensures that the cursor is visible. - function maybeScrollWindow(cm, rect) { - if (signalDOMEvent(cm, "scrollCursorIntoView")) { return } - - var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null; - if (rect.top + box.top < 0) { doScroll = true; } - else if (rect.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) { doScroll = false; } - if (doScroll != null && !phantom) { - var scrollNode = elt("div", "\u200b", null, ("position: absolute;\n top: " + (rect.top - display.viewOffset - paddingTop(cm.display)) + "px;\n height: " + (rect.bottom - rect.top + scrollGap(cm) + display.barHeight) + "px;\n left: " + (rect.left) + "px; width: " + (Math.max(2, rect.right - rect.left)) + "px;")); - cm.display.lineSpace.appendChild(scrollNode); - scrollNode.scrollIntoView(doScroll); - cm.display.lineSpace.removeChild(scrollNode); - } - } - - // Scroll a given position into view (immediately), verifying that - // it actually became visible (as line heights are accurately - // measured, the position of something may 'drift' during drawing). - function scrollPosIntoView(cm, pos, end, margin) { - if (margin == null) { margin = 0; } - var rect; - if (!cm.options.lineWrapping && pos == end) { - // Set pos and end to the cursor positions around the character pos sticks to - // If pos.sticky == "before", that is around pos.ch - 1, otherwise around pos.ch - // If pos == Pos(_, 0, "before"), pos and end are unchanged - pos = pos.ch ? Pos(pos.line, pos.sticky == "before" ? pos.ch - 1 : pos.ch, "after") : pos; - end = pos.sticky == "before" ? Pos(pos.line, pos.ch + 1, "before") : pos; - } - for (var limit = 0; limit < 5; limit++) { - var changed = false; - var coords = cursorCoords(cm, pos); - var endCoords = !end || end == pos ? coords : cursorCoords(cm, end); - rect = {left: Math.min(coords.left, endCoords.left), - top: Math.min(coords.top, endCoords.top) - margin, - right: Math.max(coords.left, endCoords.left), - bottom: Math.max(coords.bottom, endCoords.bottom) + margin}; - var scrollPos = calculateScrollPos(cm, rect); - var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft; - if (scrollPos.scrollTop != null) { - updateScrollTop(cm, scrollPos.scrollTop); - if (Math.abs(cm.doc.scrollTop - startTop) > 1) { changed = true; } - } - if (scrollPos.scrollLeft != null) { - setScrollLeft(cm, scrollPos.scrollLeft); - if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) { changed = true; } - } - if (!changed) { break } - } - return rect - } - - // Scroll a given set of coordinates into view (immediately). - function scrollIntoView(cm, rect) { - var scrollPos = calculateScrollPos(cm, rect); - if (scrollPos.scrollTop != null) { updateScrollTop(cm, scrollPos.scrollTop); } - if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft); } - } - - // Calculate a new scroll position needed to scroll the given - // rectangle into view. Returns an object with scrollTop and - // scrollLeft properties. When these are undefined, the - // vertical/horizontal position does not need to be adjusted. - function calculateScrollPos(cm, rect) { - var display = cm.display, snapMargin = textHeight(cm.display); - if (rect.top < 0) { rect.top = 0; } - var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop; - var screen = displayHeight(cm), result = {}; - if (rect.bottom - rect.top > screen) { rect.bottom = rect.top + screen; } - var docBottom = cm.doc.height + paddingVert(display); - var atTop = rect.top < snapMargin, atBottom = rect.bottom > docBottom - snapMargin; - if (rect.top < screentop) { - result.scrollTop = atTop ? 0 : rect.top; - } else if (rect.bottom > screentop + screen) { - var newTop = Math.min(rect.top, (atBottom ? docBottom : rect.bottom) - screen); - if (newTop != screentop) { result.scrollTop = newTop; } - } - - var gutterSpace = cm.options.fixedGutter ? 0 : display.gutters.offsetWidth; - var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft - gutterSpace; - var screenw = displayWidth(cm) - display.gutters.offsetWidth; - var tooWide = rect.right - rect.left > screenw; - if (tooWide) { rect.right = rect.left + screenw; } - if (rect.left < 10) - { result.scrollLeft = 0; } - else if (rect.left < screenleft) - { result.scrollLeft = Math.max(0, rect.left + gutterSpace - (tooWide ? 0 : 10)); } - else if (rect.right > screenw + screenleft - 3) - { result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw; } - return result - } - - // Store a relative adjustment to the scroll position in the current - // operation (to be applied when the operation finishes). - function addToScrollTop(cm, top) { - if (top == null) { return } - resolveScrollToPos(cm); - cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top; - } - - // Make sure that at the end of the operation the current cursor is - // shown. - function ensureCursorVisible(cm) { - resolveScrollToPos(cm); - var cur = cm.getCursor(); - cm.curOp.scrollToPos = {from: cur, to: cur, margin: cm.options.cursorScrollMargin}; - } - - function scrollToCoords(cm, x, y) { - if (x != null || y != null) { resolveScrollToPos(cm); } - if (x != null) { cm.curOp.scrollLeft = x; } - if (y != null) { cm.curOp.scrollTop = y; } - } - - function scrollToRange(cm, range) { - resolveScrollToPos(cm); - cm.curOp.scrollToPos = range; - } - - // When an operation has its scrollToPos property set, and another - // scroll action is applied before the end of the operation, this - // 'simulates' scrolling that position into view in a cheap way, so - // that the effect of intermediate scroll commands is not ignored. - function resolveScrollToPos(cm) { - var range = cm.curOp.scrollToPos; - if (range) { - cm.curOp.scrollToPos = null; - var from = estimateCoords(cm, range.from), to = estimateCoords(cm, range.to); - scrollToCoordsRange(cm, from, to, range.margin); - } - } - - function scrollToCoordsRange(cm, from, to, margin) { - var sPos = calculateScrollPos(cm, { - left: Math.min(from.left, to.left), - top: Math.min(from.top, to.top) - margin, - right: Math.max(from.right, to.right), - bottom: Math.max(from.bottom, to.bottom) + margin - }); - scrollToCoords(cm, sPos.scrollLeft, sPos.scrollTop); - } - - // Sync the scrollable area and scrollbars, ensure the viewport - // covers the visible area. - function updateScrollTop(cm, val) { - if (Math.abs(cm.doc.scrollTop - val) < 2) { return } - if (!gecko) { updateDisplaySimple(cm, {top: val}); } - setScrollTop(cm, val, true); - if (gecko) { updateDisplaySimple(cm); } - startWorker(cm, 100); - } - - function setScrollTop(cm, val, forceScroll) { - val = Math.max(0, Math.min(cm.display.scroller.scrollHeight - cm.display.scroller.clientHeight, val)); - if (cm.display.scroller.scrollTop == val && !forceScroll) { return } - cm.doc.scrollTop = val; - cm.display.scrollbars.setScrollTop(val); - if (cm.display.scroller.scrollTop != val) { cm.display.scroller.scrollTop = val; } - } - - // Sync scroller and scrollbar, ensure the gutter elements are - // aligned. - function setScrollLeft(cm, val, isScroller, forceScroll) { - val = Math.max(0, Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth)); - if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) { return } - cm.doc.scrollLeft = val; - alignHorizontally(cm); - if (cm.display.scroller.scrollLeft != val) { cm.display.scroller.scrollLeft = val; } - cm.display.scrollbars.setScrollLeft(val); - } - - // SCROLLBARS - - // Prepare DOM reads needed to update the scrollbars. Done in one - // shot to minimize update/measure roundtrips. - function measureForScrollbars(cm) { - var d = cm.display, gutterW = d.gutters.offsetWidth; - var docH = Math.round(cm.doc.height + paddingVert(cm.display)); - return { - clientHeight: d.scroller.clientHeight, - viewHeight: d.wrapper.clientHeight, - scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth, - viewWidth: d.wrapper.clientWidth, - barLeft: cm.options.fixedGutter ? gutterW : 0, - docHeight: docH, - scrollHeight: docH + scrollGap(cm) + d.barHeight, - nativeBarWidth: d.nativeBarWidth, - gutterWidth: gutterW - } - } - - var NativeScrollbars = function(place, scroll, cm) { - this.cm = cm; - var vert = this.vert = elt("div", [elt("div", null, null, "min-width: 1px")], "CodeMirror-vscrollbar"); - var horiz = this.horiz = elt("div", [elt("div", null, null, "height: 100%; min-height: 1px")], "CodeMirror-hscrollbar"); - vert.tabIndex = horiz.tabIndex = -1; - place(vert); place(horiz); - - on(vert, "scroll", function () { - if (vert.clientHeight) { scroll(vert.scrollTop, "vertical"); } - }); - on(horiz, "scroll", function () { - if (horiz.clientWidth) { scroll(horiz.scrollLeft, "horizontal"); } - }); - - this.checkedZeroWidth = false; - // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8). - if (ie && ie_version < 8) { this.horiz.style.minHeight = this.vert.style.minWidth = "18px"; } - }; - - NativeScrollbars.prototype.update = function (measure) { - var needsH = measure.scrollWidth > measure.clientWidth + 1; - var needsV = measure.scrollHeight > measure.clientHeight + 1; - var sWidth = measure.nativeBarWidth; - - if (needsV) { - this.vert.style.display = "block"; - this.vert.style.bottom = needsH ? sWidth + "px" : "0"; - var totalHeight = measure.viewHeight - (needsH ? sWidth : 0); - // A bug in IE8 can cause this value to be negative, so guard it. - this.vert.firstChild.style.height = - Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + "px"; - } else { - this.vert.style.display = ""; - this.vert.firstChild.style.height = "0"; - } - - if (needsH) { - this.horiz.style.display = "block"; - this.horiz.style.right = needsV ? sWidth + "px" : "0"; - this.horiz.style.left = measure.barLeft + "px"; - var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0); - this.horiz.firstChild.style.width = - Math.max(0, measure.scrollWidth - measure.clientWidth + totalWidth) + "px"; - } else { - this.horiz.style.display = ""; - this.horiz.firstChild.style.width = "0"; - } - - if (!this.checkedZeroWidth && measure.clientHeight > 0) { - if (sWidth == 0) { this.zeroWidthHack(); } - this.checkedZeroWidth = true; - } - - return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0} - }; - - NativeScrollbars.prototype.setScrollLeft = function (pos) { - if (this.horiz.scrollLeft != pos) { this.horiz.scrollLeft = pos; } - if (this.disableHoriz) { this.enableZeroWidthBar(this.horiz, this.disableHoriz, "horiz"); } - }; - - NativeScrollbars.prototype.setScrollTop = function (pos) { - if (this.vert.scrollTop != pos) { this.vert.scrollTop = pos; } - if (this.disableVert) { this.enableZeroWidthBar(this.vert, this.disableVert, "vert"); } - }; - - NativeScrollbars.prototype.zeroWidthHack = function () { - var w = mac && !mac_geMountainLion ? "12px" : "18px"; - this.horiz.style.height = this.vert.style.width = w; - this.horiz.style.pointerEvents = this.vert.style.pointerEvents = "none"; - this.disableHoriz = new Delayed; - this.disableVert = new Delayed; - }; - - NativeScrollbars.prototype.enableZeroWidthBar = function (bar, delay, type) { - bar.style.pointerEvents = "auto"; - function maybeDisable() { - // To find out whether the scrollbar is still visible, we - // check whether the element under the pixel in the bottom - // right corner of the scrollbar box is the scrollbar box - // itself (when the bar is still visible) or its filler child - // (when the bar is hidden). If it is still visible, we keep - // it enabled, if it's hidden, we disable pointer events. - var box = bar.getBoundingClientRect(); - var elt = type == "vert" ? document.elementFromPoint(box.right - 1, (box.top + box.bottom) / 2) - : document.elementFromPoint((box.right + box.left) / 2, box.bottom - 1); - if (elt != bar) { bar.style.pointerEvents = "none"; } - else { delay.set(1000, maybeDisable); } - } - delay.set(1000, maybeDisable); - }; - - NativeScrollbars.prototype.clear = function () { - var parent = this.horiz.parentNode; - parent.removeChild(this.horiz); - parent.removeChild(this.vert); - }; - - var NullScrollbars = function () {}; - - NullScrollbars.prototype.update = function () { return {bottom: 0, right: 0} }; - NullScrollbars.prototype.setScrollLeft = function () {}; - NullScrollbars.prototype.setScrollTop = function () {}; - NullScrollbars.prototype.clear = function () {}; - - function updateScrollbars(cm, measure) { - if (!measure) { measure = measureForScrollbars(cm); } - var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight; - updateScrollbarsInner(cm, measure); - for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) { - if (startWidth != cm.display.barWidth && cm.options.lineWrapping) - { updateHeightsInViewport(cm); } - updateScrollbarsInner(cm, measureForScrollbars(cm)); - startWidth = cm.display.barWidth; startHeight = cm.display.barHeight; - } - } - - // Re-synchronize the fake scrollbars with the actual size of the - // content. - function updateScrollbarsInner(cm, measure) { - var d = cm.display; - var sizes = d.scrollbars.update(measure); - - d.sizer.style.paddingRight = (d.barWidth = sizes.right) + "px"; - d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + "px"; - d.heightForcer.style.borderBottom = sizes.bottom + "px solid transparent"; - - if (sizes.right && sizes.bottom) { - d.scrollbarFiller.style.display = "block"; - d.scrollbarFiller.style.height = sizes.bottom + "px"; - d.scrollbarFiller.style.width = sizes.right + "px"; - } else { d.scrollbarFiller.style.display = ""; } - if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) { - d.gutterFiller.style.display = "block"; - d.gutterFiller.style.height = sizes.bottom + "px"; - d.gutterFiller.style.width = measure.gutterWidth + "px"; - } else { d.gutterFiller.style.display = ""; } - } - - var scrollbarModel = {"native": NativeScrollbars, "null": NullScrollbars}; - - function initScrollbars(cm) { - if (cm.display.scrollbars) { - cm.display.scrollbars.clear(); - if (cm.display.scrollbars.addClass) - { rmClass(cm.display.wrapper, cm.display.scrollbars.addClass); } - } - - cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](function (node) { - cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller); - // Prevent clicks in the scrollbars from killing focus - on(node, "mousedown", function () { - if (cm.state.focused) { setTimeout(function () { return cm.display.input.focus(); }, 0); } - }); - node.setAttribute("cm-not-content", "true"); - }, function (pos, axis) { - if (axis == "horizontal") { setScrollLeft(cm, pos); } - else { updateScrollTop(cm, pos); } - }, cm); - if (cm.display.scrollbars.addClass) - { addClass(cm.display.wrapper, cm.display.scrollbars.addClass); } - } - - // Operations are used to wrap a series of changes to the editor - // state in such a way that each change won't have to update the - // cursor and display (which would be awkward, slow, and - // error-prone). Instead, display updates are batched and then all - // combined and executed at once. - - var nextOpId = 0; - // Start a new operation. - function startOperation(cm) { - cm.curOp = { - cm: cm, - viewChanged: false, // Flag that indicates that lines might need to be redrawn - startHeight: cm.doc.height, // Used to detect need to update scrollbar - forceUpdate: false, // Used to force a redraw - updateInput: 0, // Whether to reset the input textarea - typing: false, // Whether this reset should be careful to leave existing text (for compositing) - changeObjs: null, // Accumulated changes, for firing change events - cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on - cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already - selectionChanged: false, // Whether the selection needs to be redrawn - updateMaxLine: false, // Set when the widest line needs to be determined anew - scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet - scrollToPos: null, // Used to scroll to a specific position - focus: false, - id: ++nextOpId // Unique ID - }; - pushOperation(cm.curOp); - } - - // Finish an operation, updating the display and signalling delayed events - function endOperation(cm) { - var op = cm.curOp; - if (op) { finishOperation(op, function (group) { - for (var i = 0; i < group.ops.length; i++) - { group.ops[i].cm.curOp = null; } - endOperations(group); - }); } - } - - // The DOM updates done when an operation finishes are batched so - // that the minimum number of relayouts are required. - function endOperations(group) { - var ops = group.ops; - for (var i = 0; i < ops.length; i++) // Read DOM - { endOperation_R1(ops[i]); } - for (var i$1 = 0; i$1 < ops.length; i$1++) // Write DOM (maybe) - { endOperation_W1(ops[i$1]); } - for (var i$2 = 0; i$2 < ops.length; i$2++) // Read DOM - { endOperation_R2(ops[i$2]); } - for (var i$3 = 0; i$3 < ops.length; i$3++) // Write DOM (maybe) - { endOperation_W2(ops[i$3]); } - for (var i$4 = 0; i$4 < ops.length; i$4++) // Read DOM - { endOperation_finish(ops[i$4]); } - } - - function endOperation_R1(op) { - var cm = op.cm, display = cm.display; - maybeClipScrollbars(cm); - if (op.updateMaxLine) { findMaxLine(cm); } - - op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null || - op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom || - op.scrollToPos.to.line >= display.viewTo) || - display.maxLineChanged && cm.options.lineWrapping; - op.update = op.mustUpdate && - new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate); - } - - function endOperation_W1(op) { - op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update); - } - - function endOperation_R2(op) { - var cm = op.cm, display = cm.display; - if (op.updatedDisplay) { updateHeightsInViewport(cm); } - - op.barMeasure = measureForScrollbars(cm); - - // If the max line changed since it was last measured, measure it, - // and ensure the document's width matches it. - // updateDisplay_W2 will use these properties to do the actual resizing - if (display.maxLineChanged && !cm.options.lineWrapping) { - op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3; - cm.display.sizerWidth = op.adjustWidthTo; - op.barMeasure.scrollWidth = - Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth); - op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm)); - } - - if (op.updatedDisplay || op.selectionChanged) - { op.preparedSelection = display.input.prepareSelection(); } - } - - function endOperation_W2(op) { - var cm = op.cm; - - if (op.adjustWidthTo != null) { - cm.display.sizer.style.minWidth = op.adjustWidthTo + "px"; - if (op.maxScrollLeft < cm.doc.scrollLeft) - { setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true); } - cm.display.maxLineChanged = false; - } - - var takeFocus = op.focus && op.focus == activeElt(); - if (op.preparedSelection) - { cm.display.input.showSelection(op.preparedSelection, takeFocus); } - if (op.updatedDisplay || op.startHeight != cm.doc.height) - { updateScrollbars(cm, op.barMeasure); } - if (op.updatedDisplay) - { setDocumentHeight(cm, op.barMeasure); } - - if (op.selectionChanged) { restartBlink(cm); } - - if (cm.state.focused && op.updateInput) - { cm.display.input.reset(op.typing); } - if (takeFocus) { ensureFocus(op.cm); } - } - - function endOperation_finish(op) { - var cm = op.cm, display = cm.display, doc = cm.doc; - - if (op.updatedDisplay) { postUpdateDisplay(cm, op.update); } - - // Abort mouse wheel delta measurement, when scrolling explicitly - if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos)) - { display.wheelStartX = display.wheelStartY = null; } - - // Propagate the scroll position to the actual DOM scroller - if (op.scrollTop != null) { setScrollTop(cm, op.scrollTop, op.forceScroll); } - - if (op.scrollLeft != null) { setScrollLeft(cm, op.scrollLeft, true, true); } - // If we need to scroll a specific position into view, do so. - if (op.scrollToPos) { - var rect = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from), - clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin); - maybeScrollWindow(cm, rect); - } - - // Fire events for markers that are hidden/unidden by editing or - // undoing - var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers; - if (hidden) { for (var i = 0; i < hidden.length; ++i) - { if (!hidden[i].lines.length) { signal(hidden[i], "hide"); } } } - if (unhidden) { for (var i$1 = 0; i$1 < unhidden.length; ++i$1) - { if (unhidden[i$1].lines.length) { signal(unhidden[i$1], "unhide"); } } } - - if (display.wrapper.offsetHeight) - { doc.scrollTop = cm.display.scroller.scrollTop; } - - // Fire change events, and delayed event handlers - if (op.changeObjs) - { signal(cm, "changes", cm, op.changeObjs); } - if (op.update) - { op.update.finish(); } - } - - // Run the given function in an operation - function runInOp(cm, f) { - if (cm.curOp) { return f() } - startOperation(cm); - try { return f() } - finally { endOperation(cm); } - } - // Wraps a function in an operation. Returns the wrapped function. - function operation(cm, f) { - return function() { - if (cm.curOp) { return f.apply(cm, arguments) } - startOperation(cm); - try { return f.apply(cm, arguments) } - finally { endOperation(cm); } - } - } - // Used to add methods to editor and doc instances, wrapping them in - // operations. - function methodOp(f) { - return function() { - if (this.curOp) { return f.apply(this, arguments) } - startOperation(this); - try { return f.apply(this, arguments) } - finally { endOperation(this); } - } - } - function docMethodOp(f) { - return function() { - var cm = this.cm; - if (!cm || cm.curOp) { return f.apply(this, arguments) } - startOperation(cm); - try { return f.apply(this, arguments) } - finally { endOperation(cm); } - } - } - - // HIGHLIGHT WORKER - - function startWorker(cm, time) { - if (cm.doc.highlightFrontier < cm.display.viewTo) - { cm.state.highlight.set(time, bind(highlightWorker, cm)); } - } - - function highlightWorker(cm) { - var doc = cm.doc; - if (doc.highlightFrontier >= cm.display.viewTo) { return } - var end = +new Date + cm.options.workTime; - var context = getContextBefore(cm, doc.highlightFrontier); - var changedLines = []; - - doc.iter(context.line, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function (line) { - if (context.line >= cm.display.viewFrom) { // Visible - var oldStyles = line.styles; - var resetState = line.text.length > cm.options.maxHighlightLength ? copyState(doc.mode, context.state) : null; - var highlighted = highlightLine(cm, line, context, true); - if (resetState) { context.state = resetState; } - line.styles = highlighted.styles; - var oldCls = line.styleClasses, newCls = highlighted.classes; - if (newCls) { line.styleClasses = newCls; } - else if (oldCls) { line.styleClasses = null; } - var ischange = !oldStyles || oldStyles.length != line.styles.length || - oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass); - for (var i = 0; !ischange && i < oldStyles.length; ++i) { ischange = oldStyles[i] != line.styles[i]; } - if (ischange) { changedLines.push(context.line); } - line.stateAfter = context.save(); - context.nextLine(); - } else { - if (line.text.length <= cm.options.maxHighlightLength) - { processLine(cm, line.text, context); } - line.stateAfter = context.line % 5 == 0 ? context.save() : null; - context.nextLine(); - } - if (+new Date > end) { - startWorker(cm, cm.options.workDelay); - return true - } - }); - doc.highlightFrontier = context.line; - doc.modeFrontier = Math.max(doc.modeFrontier, context.line); - if (changedLines.length) { runInOp(cm, function () { - for (var i = 0; i < changedLines.length; i++) - { regLineChange(cm, changedLines[i], "text"); } - }); } - } - - // DISPLAY DRAWING - - var DisplayUpdate = function(cm, viewport, force) { - var display = cm.display; - - this.viewport = viewport; - // Store some values that we'll need later (but don't want to force a relayout for) - this.visible = visibleLines(display, cm.doc, viewport); - this.editorIsHidden = !display.wrapper.offsetWidth; - this.wrapperHeight = display.wrapper.clientHeight; - this.wrapperWidth = display.wrapper.clientWidth; - this.oldDisplayWidth = displayWidth(cm); - this.force = force; - this.dims = getDimensions(cm); - this.events = []; - }; - - DisplayUpdate.prototype.signal = function (emitter, type) { - if (hasHandler(emitter, type)) - { this.events.push(arguments); } - }; - DisplayUpdate.prototype.finish = function () { - for (var i = 0; i < this.events.length; i++) - { signal.apply(null, this.events[i]); } - }; - - function maybeClipScrollbars(cm) { - var display = cm.display; - if (!display.scrollbarsClipped && display.scroller.offsetWidth) { - display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth; - display.heightForcer.style.height = scrollGap(cm) + "px"; - display.sizer.style.marginBottom = -display.nativeBarWidth + "px"; - display.sizer.style.borderRightWidth = scrollGap(cm) + "px"; - display.scrollbarsClipped = true; - } - } - - function selectionSnapshot(cm) { - if (cm.hasFocus()) { return null } - var active = activeElt(); - if (!active || !contains(cm.display.lineDiv, active)) { return null } - var result = {activeElt: active}; - if (window.getSelection) { - var sel = window.getSelection(); - if (sel.anchorNode && sel.extend && contains(cm.display.lineDiv, sel.anchorNode)) { - result.anchorNode = sel.anchorNode; - result.anchorOffset = sel.anchorOffset; - result.focusNode = sel.focusNode; - result.focusOffset = sel.focusOffset; - } - } - return result - } - - function restoreSelection(snapshot) { - if (!snapshot || !snapshot.activeElt || snapshot.activeElt == activeElt()) { return } - snapshot.activeElt.focus(); - if (!/^(INPUT|TEXTAREA)$/.test(snapshot.activeElt.nodeName) && - snapshot.anchorNode && contains(document.body, snapshot.anchorNode) && contains(document.body, snapshot.focusNode)) { - var sel = window.getSelection(), range = document.createRange(); - range.setEnd(snapshot.anchorNode, snapshot.anchorOffset); - range.collapse(false); - sel.removeAllRanges(); - sel.addRange(range); - sel.extend(snapshot.focusNode, snapshot.focusOffset); - } - } - - // Does the actual updating of the line display. Bails out - // (returning false) when there is nothing to be done and forced is - // false. - function updateDisplayIfNeeded(cm, update) { - var display = cm.display, doc = cm.doc; - - if (update.editorIsHidden) { - resetView(cm); - return false - } - - // Bail out if the visible area is already rendered and nothing changed. - if (!update.force && - update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo && - (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) && - display.renderedView == display.view && countDirtyView(cm) == 0) - { return false } - - if (maybeUpdateLineNumberWidth(cm)) { - resetView(cm); - update.dims = getDimensions(cm); - } - - // Compute a suitable new viewport (from & to) - var end = doc.first + doc.size; - var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first); - var to = Math.min(end, update.visible.to + cm.options.viewportMargin); - if (display.viewFrom < from && from - display.viewFrom < 20) { from = Math.max(doc.first, display.viewFrom); } - if (display.viewTo > to && display.viewTo - to < 20) { to = Math.min(end, display.viewTo); } - if (sawCollapsedSpans) { - from = visualLineNo(cm.doc, from); - to = visualLineEndNo(cm.doc, to); - } - - var different = from != display.viewFrom || to != display.viewTo || - display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth; - adjustView(cm, from, to); - - display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom)); - // Position the mover div to align with the current scroll position - cm.display.mover.style.top = display.viewOffset + "px"; - - var toUpdate = countDirtyView(cm); - if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view && - (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo)) - { return false } - - // For big changes, we hide the enclosing element during the - // update, since that speeds up the operations on most browsers. - var selSnapshot = selectionSnapshot(cm); - if (toUpdate > 4) { display.lineDiv.style.display = "none"; } - patchDisplay(cm, display.updateLineNumbers, update.dims); - if (toUpdate > 4) { display.lineDiv.style.display = ""; } - display.renderedView = display.view; - // There might have been a widget with a focused element that got - // hidden or updated, if so re-focus it. - restoreSelection(selSnapshot); - - // Prevent selection and cursors from interfering with the scroll - // width and height. - removeChildren(display.cursorDiv); - removeChildren(display.selectionDiv); - display.gutters.style.height = display.sizer.style.minHeight = 0; - - if (different) { - display.lastWrapHeight = update.wrapperHeight; - display.lastWrapWidth = update.wrapperWidth; - startWorker(cm, 400); - } - - display.updateLineNumbers = null; - - return true - } - - function postUpdateDisplay(cm, update) { - var viewport = update.viewport; - - for (var first = true;; first = false) { - if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) { - // Clip forced viewport to actual scrollable area. - if (viewport && viewport.top != null) - { viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)}; } - // Updated line heights might result in the drawn area not - // actually covering the viewport. Keep looping until it does. - update.visible = visibleLines(cm.display, cm.doc, viewport); - if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo) - { break } - } else if (first) { - update.visible = visibleLines(cm.display, cm.doc, viewport); - } - if (!updateDisplayIfNeeded(cm, update)) { break } - updateHeightsInViewport(cm); - var barMeasure = measureForScrollbars(cm); - updateSelection(cm); - updateScrollbars(cm, barMeasure); - setDocumentHeight(cm, barMeasure); - update.force = false; - } - - update.signal(cm, "update", cm); - if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) { - update.signal(cm, "viewportChange", cm, cm.display.viewFrom, cm.display.viewTo); - cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo; - } - } - - function updateDisplaySimple(cm, viewport) { - var update = new DisplayUpdate(cm, viewport); - if (updateDisplayIfNeeded(cm, update)) { - updateHeightsInViewport(cm); - postUpdateDisplay(cm, update); - var barMeasure = measureForScrollbars(cm); - updateSelection(cm); - updateScrollbars(cm, barMeasure); - setDocumentHeight(cm, barMeasure); - update.finish(); - } - } - - // Sync the actual display DOM structure with display.view, removing - // nodes for lines that are no longer in view, and creating the ones - // that are not there yet, and updating the ones that are out of - // date. - function patchDisplay(cm, updateNumbersFrom, dims) { - var display = cm.display, lineNumbers = cm.options.lineNumbers; - var container = display.lineDiv, cur = container.firstChild; - - function rm(node) { - var next = node.nextSibling; - // Works around a throw-scroll bug in OS X Webkit - if (webkit && mac && cm.display.currentWheelTarget == node) - { node.style.display = "none"; } - else - { node.parentNode.removeChild(node); } - return next - } - - var view = display.view, lineN = display.viewFrom; - // Loop over the elements in the view, syncing cur (the DOM nodes - // in display.lineDiv) with the view as we go. - for (var i = 0; i < view.length; i++) { - var lineView = view[i]; - if (lineView.hidden) ; else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet - var node = buildLineElement(cm, lineView, lineN, dims); - container.insertBefore(node, cur); - } else { // Already drawn - while (cur != lineView.node) { cur = rm(cur); } - var updateNumber = lineNumbers && updateNumbersFrom != null && - updateNumbersFrom <= lineN && lineView.lineNumber; - if (lineView.changes) { - if (indexOf(lineView.changes, "gutter") > -1) { updateNumber = false; } - updateLineForChanges(cm, lineView, lineN, dims); - } - if (updateNumber) { - removeChildren(lineView.lineNumber); - lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN))); - } - cur = lineView.node.nextSibling; - } - lineN += lineView.size; - } - while (cur) { cur = rm(cur); } - } - - function updateGutterSpace(display) { - var width = display.gutters.offsetWidth; - display.sizer.style.marginLeft = width + "px"; - } - - function setDocumentHeight(cm, measure) { - cm.display.sizer.style.minHeight = measure.docHeight + "px"; - cm.display.heightForcer.style.top = measure.docHeight + "px"; - cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + "px"; - } - - // Re-align line numbers and gutter marks to compensate for - // horizontal scrolling. - function alignHorizontally(cm) { - var display = cm.display, view = display.view; - if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) { return } - var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft; - var gutterW = display.gutters.offsetWidth, left = comp + "px"; - for (var i = 0; i < view.length; i++) { if (!view[i].hidden) { - if (cm.options.fixedGutter) { - if (view[i].gutter) - { view[i].gutter.style.left = left; } - if (view[i].gutterBackground) - { view[i].gutterBackground.style.left = left; } - } - var align = view[i].alignable; - if (align) { for (var j = 0; j < align.length; j++) - { align[j].style.left = left; } } - } } - if (cm.options.fixedGutter) - { display.gutters.style.left = (comp + gutterW) + "px"; } - } - - // Used to ensure that the line number gutter is still the right - // size for the current document size. Returns true when an update - // is needed. - function maybeUpdateLineNumberWidth(cm) { - if (!cm.options.lineNumbers) { return false } - var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display; - if (last.length != display.lineNumChars) { - var test = display.measure.appendChild(elt("div", [elt("div", last)], - "CodeMirror-linenumber CodeMirror-gutter-elt")); - var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW; - display.lineGutter.style.width = ""; - display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1; - display.lineNumWidth = display.lineNumInnerWidth + padding; - display.lineNumChars = display.lineNumInnerWidth ? last.length : -1; - display.lineGutter.style.width = display.lineNumWidth + "px"; - updateGutterSpace(cm.display); - return true - } - return false - } - - function getGutters(gutters, lineNumbers) { - var result = [], sawLineNumbers = false; - for (var i = 0; i < gutters.length; i++) { - var name = gutters[i], style = null; - if (typeof name != "string") { style = name.style; name = name.className; } - if (name == "CodeMirror-linenumbers") { - if (!lineNumbers) { continue } - else { sawLineNumbers = true; } - } - result.push({className: name, style: style}); - } - if (lineNumbers && !sawLineNumbers) { result.push({className: "CodeMirror-linenumbers", style: null}); } - return result - } - - // Rebuild the gutter elements, ensure the margin to the left of the - // code matches their width. - function renderGutters(display) { - var gutters = display.gutters, specs = display.gutterSpecs; - removeChildren(gutters); - display.lineGutter = null; - for (var i = 0; i < specs.length; ++i) { - var ref = specs[i]; - var className = ref.className; - var style = ref.style; - var gElt = gutters.appendChild(elt("div", null, "CodeMirror-gutter " + className)); - if (style) { gElt.style.cssText = style; } - if (className == "CodeMirror-linenumbers") { - display.lineGutter = gElt; - gElt.style.width = (display.lineNumWidth || 1) + "px"; - } - } - gutters.style.display = specs.length ? "" : "none"; - updateGutterSpace(display); - } - - function updateGutters(cm) { - renderGutters(cm.display); - regChange(cm); - alignHorizontally(cm); - } - - // The display handles the DOM integration, both for input reading - // and content drawing. It holds references to DOM nodes and - // display-related state. - - function Display(place, doc, input, options) { - var d = this; - this.input = input; - - // Covers bottom-right square when both scrollbars are present. - d.scrollbarFiller = elt("div", null, "CodeMirror-scrollbar-filler"); - d.scrollbarFiller.setAttribute("cm-not-content", "true"); - // Covers bottom of gutter when coverGutterNextToScrollbar is on - // and h scrollbar is present. - d.gutterFiller = elt("div", null, "CodeMirror-gutter-filler"); - d.gutterFiller.setAttribute("cm-not-content", "true"); - // Will contain the actual code, positioned to cover the viewport. - d.lineDiv = eltP("div", null, "CodeMirror-code"); - // Elements are added to these to represent selection and cursors. - d.selectionDiv = elt("div", null, null, "position: relative; z-index: 1"); - d.cursorDiv = elt("div", null, "CodeMirror-cursors"); - // A visibility: hidden element used to find the size of things. - d.measure = elt("div", null, "CodeMirror-measure"); - // When lines outside of the viewport are measured, they are drawn in this. - d.lineMeasure = elt("div", null, "CodeMirror-measure"); - // Wraps everything that needs to exist inside the vertically-padded coordinate system - d.lineSpace = eltP("div", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv], - null, "position: relative; outline: none"); - var lines = eltP("div", [d.lineSpace], "CodeMirror-lines"); - // Moved around its parent to cover visible view. - d.mover = elt("div", [lines], null, "position: relative"); - // Set to the height of the document, allowing scrolling. - d.sizer = elt("div", [d.mover], "CodeMirror-sizer"); - d.sizerWidth = null; - // Behavior of elts with overflow: auto and padding is - // inconsistent across browsers. This is used to ensure the - // scrollable area is big enough. - d.heightForcer = elt("div", null, null, "position: absolute; height: " + scrollerGap + "px; width: 1px;"); - // Will contain the gutters, if any. - d.gutters = elt("div", null, "CodeMirror-gutters"); - d.lineGutter = null; - // Actual scrollable element. - d.scroller = elt("div", [d.sizer, d.heightForcer, d.gutters], "CodeMirror-scroll"); - d.scroller.setAttribute("tabIndex", "-1"); - // The element in which the editor lives. - d.wrapper = elt("div", [d.scrollbarFiller, d.gutterFiller, d.scroller], "CodeMirror"); - - // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported) - if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0; } - if (!webkit && !(gecko && mobile)) { d.scroller.draggable = true; } - - if (place) { - if (place.appendChild) { place.appendChild(d.wrapper); } - else { place(d.wrapper); } - } - - // Current rendered range (may be bigger than the view window). - d.viewFrom = d.viewTo = doc.first; - d.reportedViewFrom = d.reportedViewTo = doc.first; - // Information about the rendered lines. - d.view = []; - d.renderedView = null; - // Holds info about a single rendered line when it was rendered - // for measurement, while not in view. - d.externalMeasured = null; - // Empty space (in pixels) above the view - d.viewOffset = 0; - d.lastWrapHeight = d.lastWrapWidth = 0; - d.updateLineNumbers = null; - - d.nativeBarWidth = d.barHeight = d.barWidth = 0; - d.scrollbarsClipped = false; - - // Used to only resize the line number gutter when necessary (when - // the amount of lines crosses a boundary that makes its width change) - d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null; - // Set to true when a non-horizontal-scrolling line widget is - // added. As an optimization, line widget aligning is skipped when - // this is false. - d.alignWidgets = false; - - d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; - - // Tracks the maximum line length so that the horizontal scrollbar - // can be kept static when scrolling. - d.maxLine = null; - d.maxLineLength = 0; - d.maxLineChanged = false; - - // Used for measuring wheel scrolling granularity - d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null; - - // True when shift is held down. - d.shift = false; - - // Used to track whether anything happened since the context menu - // was opened. - d.selForContextMenu = null; - - d.activeTouch = null; - - d.gutterSpecs = getGutters(options.gutters, options.lineNumbers); - renderGutters(d); - - input.init(d); - } - - // Since the delta values reported on mouse wheel events are - // unstandardized between browsers and even browser versions, and - // generally horribly unpredictable, this code starts by measuring - // the scroll effect that the first few mouse wheel events have, - // and, from that, detects the way it can convert deltas to pixel - // offsets afterwards. - // - // The reason we want to know the amount a wheel event will scroll - // is that it gives us a chance to update the display before the - // actual scrolling happens, reducing flickering. - - var wheelSamples = 0, wheelPixelsPerUnit = null; - // Fill in a browser-detected starting value on browsers where we - // know one. These don't have to be accurate -- the result of them - // being wrong would just be a slight flicker on the first wheel - // scroll (if it is large enough). - if (ie) { wheelPixelsPerUnit = -.53; } - else if (gecko) { wheelPixelsPerUnit = 15; } - else if (chrome) { wheelPixelsPerUnit = -.7; } - else if (safari) { wheelPixelsPerUnit = -1/3; } - - function wheelEventDelta(e) { - var dx = e.wheelDeltaX, dy = e.wheelDeltaY; - if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) { dx = e.detail; } - if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) { dy = e.detail; } - else if (dy == null) { dy = e.wheelDelta; } - return {x: dx, y: dy} - } - function wheelEventPixels(e) { - var delta = wheelEventDelta(e); - delta.x *= wheelPixelsPerUnit; - delta.y *= wheelPixelsPerUnit; - return delta - } - - function onScrollWheel(cm, e) { - var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y; - - var display = cm.display, scroll = display.scroller; - // Quit if there's nothing to scroll here - var canScrollX = scroll.scrollWidth > scroll.clientWidth; - var canScrollY = scroll.scrollHeight > scroll.clientHeight; - if (!(dx && canScrollX || dy && canScrollY)) { return } - - // Webkit browsers on OS X abort momentum scrolls when the target - // of the scroll event is removed from the scrollable element. - // This hack (see related code in patchDisplay) makes sure the - // element is kept around. - if (dy && mac && webkit) { - outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) { - for (var i = 0; i < view.length; i++) { - if (view[i].node == cur) { - cm.display.currentWheelTarget = cur; - break outer - } - } - } - } - - // On some browsers, horizontal scrolling will cause redraws to - // happen before the gutter has been realigned, causing it to - // wriggle around in a most unseemly way. When we have an - // estimated pixels/delta value, we just handle horizontal - // scrolling entirely here. It'll be slightly off from native, but - // better than glitching out. - if (dx && !gecko && !presto && wheelPixelsPerUnit != null) { - if (dy && canScrollY) - { updateScrollTop(cm, Math.max(0, scroll.scrollTop + dy * wheelPixelsPerUnit)); } - setScrollLeft(cm, Math.max(0, scroll.scrollLeft + dx * wheelPixelsPerUnit)); - // Only prevent default scrolling if vertical scrolling is - // actually possible. Otherwise, it causes vertical scroll - // jitter on OSX trackpads when deltaX is small and deltaY - // is large (issue #3579) - if (!dy || (dy && canScrollY)) - { e_preventDefault(e); } - display.wheelStartX = null; // Abort measurement, if in progress - return - } - - // 'Project' the visible viewport to cover the area that is being - // scrolled into view (if we know enough to estimate it). - if (dy && wheelPixelsPerUnit != null) { - var pixels = dy * wheelPixelsPerUnit; - var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight; - if (pixels < 0) { top = Math.max(0, top + pixels - 50); } - else { bot = Math.min(cm.doc.height, bot + pixels + 50); } - updateDisplaySimple(cm, {top: top, bottom: bot}); - } - - if (wheelSamples < 20) { - if (display.wheelStartX == null) { - display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop; - display.wheelDX = dx; display.wheelDY = dy; - setTimeout(function () { - if (display.wheelStartX == null) { return } - var movedX = scroll.scrollLeft - display.wheelStartX; - var movedY = scroll.scrollTop - display.wheelStartY; - var sample = (movedY && display.wheelDY && movedY / display.wheelDY) || - (movedX && display.wheelDX && movedX / display.wheelDX); - display.wheelStartX = display.wheelStartY = null; - if (!sample) { return } - wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1); - ++wheelSamples; - }, 200); - } else { - display.wheelDX += dx; display.wheelDY += dy; - } - } - } - - // Selection objects are immutable. A new one is created every time - // the selection changes. A selection is one or more non-overlapping - // (and non-touching) ranges, sorted, and an integer that indicates - // which one is the primary selection (the one that's scrolled into - // view, that getCursor returns, etc). - var Selection = function(ranges, primIndex) { - this.ranges = ranges; - this.primIndex = primIndex; - }; - - Selection.prototype.primary = function () { return this.ranges[this.primIndex] }; - - Selection.prototype.equals = function (other) { - if (other == this) { return true } - if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) { return false } - for (var i = 0; i < this.ranges.length; i++) { - var here = this.ranges[i], there = other.ranges[i]; - if (!equalCursorPos(here.anchor, there.anchor) || !equalCursorPos(here.head, there.head)) { return false } - } - return true - }; - - Selection.prototype.deepCopy = function () { - var out = []; - for (var i = 0; i < this.ranges.length; i++) - { out[i] = new Range(copyPos(this.ranges[i].anchor), copyPos(this.ranges[i].head)); } - return new Selection(out, this.primIndex) - }; - - Selection.prototype.somethingSelected = function () { - for (var i = 0; i < this.ranges.length; i++) - { if (!this.ranges[i].empty()) { return true } } - return false - }; - - Selection.prototype.contains = function (pos, end) { - if (!end) { end = pos; } - for (var i = 0; i < this.ranges.length; i++) { - var range = this.ranges[i]; - if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0) - { return i } - } - return -1 - }; - - var Range = function(anchor, head) { - this.anchor = anchor; this.head = head; - }; - - Range.prototype.from = function () { return minPos(this.anchor, this.head) }; - Range.prototype.to = function () { return maxPos(this.anchor, this.head) }; - Range.prototype.empty = function () { return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch }; - - // Take an unsorted, potentially overlapping set of ranges, and - // build a selection out of it. 'Consumes' ranges array (modifying - // it). - function normalizeSelection(cm, ranges, primIndex) { - var mayTouch = cm && cm.options.selectionsMayTouch; - var prim = ranges[primIndex]; - ranges.sort(function (a, b) { return cmp(a.from(), b.from()); }); - primIndex = indexOf(ranges, prim); - for (var i = 1; i < ranges.length; i++) { - var cur = ranges[i], prev = ranges[i - 1]; - var diff = cmp(prev.to(), cur.from()); - if (mayTouch && !cur.empty() ? diff > 0 : diff >= 0) { - var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to()); - var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head; - if (i <= primIndex) { --primIndex; } - ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to)); - } - } - return new Selection(ranges, primIndex) - } - - function simpleSelection(anchor, head) { - return new Selection([new Range(anchor, head || anchor)], 0) - } - - // Compute the position of the end of a change (its 'to' property - // refers to the pre-change end). - function changeEnd(change) { - if (!change.text) { return change.to } - return Pos(change.from.line + change.text.length - 1, - lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0)) - } - - // Adjust a position to refer to the post-change position of the - // same text, or the end of the change if the change covers it. - function adjustForChange(pos, change) { - if (cmp(pos, change.from) < 0) { return pos } - if (cmp(pos, change.to) <= 0) { return changeEnd(change) } - - var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch; - if (pos.line == change.to.line) { ch += changeEnd(change).ch - change.to.ch; } - return Pos(line, ch) - } - - function computeSelAfterChange(doc, change) { - var out = []; - for (var i = 0; i < doc.sel.ranges.length; i++) { - var range = doc.sel.ranges[i]; - out.push(new Range(adjustForChange(range.anchor, change), - adjustForChange(range.head, change))); - } - return normalizeSelection(doc.cm, out, doc.sel.primIndex) - } - - function offsetPos(pos, old, nw) { - if (pos.line == old.line) - { return Pos(nw.line, pos.ch - old.ch + nw.ch) } - else - { return Pos(nw.line + (pos.line - old.line), pos.ch) } - } - - // Used by replaceSelections to allow moving the selection to the - // start or around the replaced test. Hint may be "start" or "around". - function computeReplacedSel(doc, changes, hint) { - var out = []; - var oldPrev = Pos(doc.first, 0), newPrev = oldPrev; - for (var i = 0; i < changes.length; i++) { - var change = changes[i]; - var from = offsetPos(change.from, oldPrev, newPrev); - var to = offsetPos(changeEnd(change), oldPrev, newPrev); - oldPrev = change.to; - newPrev = to; - if (hint == "around") { - var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0; - out[i] = new Range(inv ? to : from, inv ? from : to); - } else { - out[i] = new Range(from, from); - } - } - return new Selection(out, doc.sel.primIndex) - } - - // Used to get the editor into a consistent state again when options change. - - function loadMode(cm) { - cm.doc.mode = getMode(cm.options, cm.doc.modeOption); - resetModeState(cm); - } - - function resetModeState(cm) { - cm.doc.iter(function (line) { - if (line.stateAfter) { line.stateAfter = null; } - if (line.styles) { line.styles = null; } - }); - cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first; - startWorker(cm, 100); - cm.state.modeGen++; - if (cm.curOp) { regChange(cm); } - } - - // DOCUMENT DATA STRUCTURE - - // By default, updates that start and end at the beginning of a line - // are treated specially, in order to make the association of line - // widgets and marker elements with the text behave more intuitive. - function isWholeLineUpdate(doc, change) { - return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == "" && - (!doc.cm || doc.cm.options.wholeLineUpdateBefore) - } - - // Perform a change on the document data structure. - function updateDoc(doc, change, markedSpans, estimateHeight) { - function spansFor(n) {return markedSpans ? markedSpans[n] : null} - function update(line, text, spans) { - updateLine(line, text, spans, estimateHeight); - signalLater(line, "change", line, change); - } - function linesFor(start, end) { - var result = []; - for (var i = start; i < end; ++i) - { result.push(new Line(text[i], spansFor(i), estimateHeight)); } - return result - } - - var from = change.from, to = change.to, text = change.text; - var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line); - var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line; - - // Adjust the line structure - if (change.full) { - doc.insert(0, linesFor(0, text.length)); - doc.remove(text.length, doc.size - text.length); - } else if (isWholeLineUpdate(doc, change)) { - // This is a whole-line replace. Treated specially to make - // sure line objects move the way they are supposed to. - var added = linesFor(0, text.length - 1); - update(lastLine, lastLine.text, lastSpans); - if (nlines) { doc.remove(from.line, nlines); } - if (added.length) { doc.insert(from.line, added); } - } else if (firstLine == lastLine) { - if (text.length == 1) { - update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans); - } else { - var added$1 = linesFor(1, text.length - 1); - added$1.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight)); - update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); - doc.insert(from.line + 1, added$1); - } - } else if (text.length == 1) { - update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0)); - doc.remove(from.line + 1, nlines); - } else { - update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); - update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans); - var added$2 = linesFor(1, text.length - 1); - if (nlines > 1) { doc.remove(from.line + 1, nlines - 1); } - doc.insert(from.line + 1, added$2); - } - - signalLater(doc, "change", doc, change); - } - - // Call f for all linked documents. - function linkedDocs(doc, f, sharedHistOnly) { - function propagate(doc, skip, sharedHist) { - if (doc.linked) { for (var i = 0; i < doc.linked.length; ++i) { - var rel = doc.linked[i]; - if (rel.doc == skip) { continue } - var shared = sharedHist && rel.sharedHist; - if (sharedHistOnly && !shared) { continue } - f(rel.doc, shared); - propagate(rel.doc, doc, shared); - } } - } - propagate(doc, null, true); - } - - // Attach a document to an editor. - function attachDoc(cm, doc) { - if (doc.cm) { throw new Error("This document is already in use.") } - cm.doc = doc; - doc.cm = cm; - estimateLineHeights(cm); - loadMode(cm); - setDirectionClass(cm); - if (!cm.options.lineWrapping) { findMaxLine(cm); } - cm.options.mode = doc.modeOption; - regChange(cm); - } - - function setDirectionClass(cm) { - (cm.doc.direction == "rtl" ? addClass : rmClass)(cm.display.lineDiv, "CodeMirror-rtl"); - } - - function directionChanged(cm) { - runInOp(cm, function () { - setDirectionClass(cm); - regChange(cm); - }); - } - - function History(prev) { - // Arrays of change events and selections. Doing something adds an - // event to done and clears undo. Undoing moves events from done - // to undone, redoing moves them in the other direction. - this.done = []; this.undone = []; - this.undoDepth = prev ? prev.undoDepth : Infinity; - // Used to track when changes can be merged into a single undo - // event - this.lastModTime = this.lastSelTime = 0; - this.lastOp = this.lastSelOp = null; - this.lastOrigin = this.lastSelOrigin = null; - // Used by the isClean() method - this.generation = this.maxGeneration = prev ? prev.maxGeneration : 1; - } - - // Create a history change event from an updateDoc-style change - // object. - function historyChangeFromChange(doc, change) { - var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)}; - attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); - linkedDocs(doc, function (doc) { return attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); }, true); - return histChange - } - - // Pop all selection events off the end of a history array. Stop at - // a change event. - function clearSelectionEvents(array) { - while (array.length) { - var last = lst(array); - if (last.ranges) { array.pop(); } - else { break } - } - } - - // Find the top change event in the history. Pop off selection - // events that are in the way. - function lastChangeEvent(hist, force) { - if (force) { - clearSelectionEvents(hist.done); - return lst(hist.done) - } else if (hist.done.length && !lst(hist.done).ranges) { - return lst(hist.done) - } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) { - hist.done.pop(); - return lst(hist.done) - } - } - - // Register a change in the history. Merges changes that are within - // a single operation, or are close together with an origin that - // allows merging (starting with "+") into a single event. - function addChangeToHistory(doc, change, selAfter, opId) { - var hist = doc.history; - hist.undone.length = 0; - var time = +new Date, cur; - var last; - - if ((hist.lastOp == opId || - hist.lastOrigin == change.origin && change.origin && - ((change.origin.charAt(0) == "+" && hist.lastModTime > time - (doc.cm ? doc.cm.options.historyEventDelay : 500)) || - change.origin.charAt(0) == "*")) && - (cur = lastChangeEvent(hist, hist.lastOp == opId))) { - // Merge this change into the last event - last = lst(cur.changes); - if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) { - // Optimized case for simple insertion -- don't want to add - // new changesets for every character typed - last.to = changeEnd(change); - } else { - // Add new sub-event - cur.changes.push(historyChangeFromChange(doc, change)); - } - } else { - // Can not be merged, start a new event. - var before = lst(hist.done); - if (!before || !before.ranges) - { pushSelectionToHistory(doc.sel, hist.done); } - cur = {changes: [historyChangeFromChange(doc, change)], - generation: hist.generation}; - hist.done.push(cur); - while (hist.done.length > hist.undoDepth) { - hist.done.shift(); - if (!hist.done[0].ranges) { hist.done.shift(); } - } - } - hist.done.push(selAfter); - hist.generation = ++hist.maxGeneration; - hist.lastModTime = hist.lastSelTime = time; - hist.lastOp = hist.lastSelOp = opId; - hist.lastOrigin = hist.lastSelOrigin = change.origin; - - if (!last) { signal(doc, "historyAdded"); } - } - - function selectionEventCanBeMerged(doc, origin, prev, sel) { - var ch = origin.charAt(0); - return ch == "*" || - ch == "+" && - prev.ranges.length == sel.ranges.length && - prev.somethingSelected() == sel.somethingSelected() && - new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500) - } - - // Called whenever the selection changes, sets the new selection as - // the pending selection in the history, and pushes the old pending - // selection into the 'done' array when it was significantly - // different (in number of selected ranges, emptiness, or time). - function addSelectionToHistory(doc, sel, opId, options) { - var hist = doc.history, origin = options && options.origin; - - // A new event is started when the previous origin does not match - // the current, or the origins don't allow matching. Origins - // starting with * are always merged, those starting with + are - // merged when similar and close together in time. - if (opId == hist.lastSelOp || - (origin && hist.lastSelOrigin == origin && - (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin || - selectionEventCanBeMerged(doc, origin, lst(hist.done), sel)))) - { hist.done[hist.done.length - 1] = sel; } - else - { pushSelectionToHistory(sel, hist.done); } - - hist.lastSelTime = +new Date; - hist.lastSelOrigin = origin; - hist.lastSelOp = opId; - if (options && options.clearRedo !== false) - { clearSelectionEvents(hist.undone); } - } - - function pushSelectionToHistory(sel, dest) { - var top = lst(dest); - if (!(top && top.ranges && top.equals(sel))) - { dest.push(sel); } - } - - // Used to store marked span information in the history. - function attachLocalSpans(doc, change, from, to) { - var existing = change["spans_" + doc.id], n = 0; - doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function (line) { - if (line.markedSpans) - { (existing || (existing = change["spans_" + doc.id] = {}))[n] = line.markedSpans; } - ++n; - }); - } - - // When un/re-doing restores text containing marked spans, those - // that have been explicitly cleared should not be restored. - function removeClearedSpans(spans) { - if (!spans) { return null } - var out; - for (var i = 0; i < spans.length; ++i) { - if (spans[i].marker.explicitlyCleared) { if (!out) { out = spans.slice(0, i); } } - else if (out) { out.push(spans[i]); } - } - return !out ? spans : out.length ? out : null - } - - // Retrieve and filter the old marked spans stored in a change event. - function getOldSpans(doc, change) { - var found = change["spans_" + doc.id]; - if (!found) { return null } - var nw = []; - for (var i = 0; i < change.text.length; ++i) - { nw.push(removeClearedSpans(found[i])); } - return nw - } - - // Used for un/re-doing changes from the history. Combines the - // result of computing the existing spans with the set of spans that - // existed in the history (so that deleting around a span and then - // undoing brings back the span). - function mergeOldSpans(doc, change) { - var old = getOldSpans(doc, change); - var stretched = stretchSpansOverChange(doc, change); - if (!old) { return stretched } - if (!stretched) { return old } - - for (var i = 0; i < old.length; ++i) { - var oldCur = old[i], stretchCur = stretched[i]; - if (oldCur && stretchCur) { - spans: for (var j = 0; j < stretchCur.length; ++j) { - var span = stretchCur[j]; - for (var k = 0; k < oldCur.length; ++k) - { if (oldCur[k].marker == span.marker) { continue spans } } - oldCur.push(span); - } - } else if (stretchCur) { - old[i] = stretchCur; - } - } - return old - } - - // Used both to provide a JSON-safe object in .getHistory, and, when - // detaching a document, to split the history in two - function copyHistoryArray(events, newGroup, instantiateSel) { - var copy = []; - for (var i = 0; i < events.length; ++i) { - var event = events[i]; - if (event.ranges) { - copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event); - continue - } - var changes = event.changes, newChanges = []; - copy.push({changes: newChanges}); - for (var j = 0; j < changes.length; ++j) { - var change = changes[j], m = (void 0); - newChanges.push({from: change.from, to: change.to, text: change.text}); - if (newGroup) { for (var prop in change) { if (m = prop.match(/^spans_(\d+)$/)) { - if (indexOf(newGroup, Number(m[1])) > -1) { - lst(newChanges)[prop] = change[prop]; - delete change[prop]; - } - } } } - } - } - return copy - } - - // The 'scroll' parameter given to many of these indicated whether - // the new cursor position should be scrolled into view after - // modifying the selection. - - // If shift is held or the extend flag is set, extends a range to - // include a given position (and optionally a second position). - // Otherwise, simply returns the range between the given positions. - // Used for cursor motion and such. - function extendRange(range, head, other, extend) { - if (extend) { - var anchor = range.anchor; - if (other) { - var posBefore = cmp(head, anchor) < 0; - if (posBefore != (cmp(other, anchor) < 0)) { - anchor = head; - head = other; - } else if (posBefore != (cmp(head, other) < 0)) { - head = other; - } - } - return new Range(anchor, head) - } else { - return new Range(other || head, head) - } - } - - // Extend the primary selection range, discard the rest. - function extendSelection(doc, head, other, options, extend) { - if (extend == null) { extend = doc.cm && (doc.cm.display.shift || doc.extend); } - setSelection(doc, new Selection([extendRange(doc.sel.primary(), head, other, extend)], 0), options); - } - - // Extend all selections (pos is an array of selections with length - // equal the number of selections) - function extendSelections(doc, heads, options) { - var out = []; - var extend = doc.cm && (doc.cm.display.shift || doc.extend); - for (var i = 0; i < doc.sel.ranges.length; i++) - { out[i] = extendRange(doc.sel.ranges[i], heads[i], null, extend); } - var newSel = normalizeSelection(doc.cm, out, doc.sel.primIndex); - setSelection(doc, newSel, options); - } - - // Updates a single range in the selection. - function replaceOneSelection(doc, i, range, options) { - var ranges = doc.sel.ranges.slice(0); - ranges[i] = range; - setSelection(doc, normalizeSelection(doc.cm, ranges, doc.sel.primIndex), options); - } - - // Reset the selection to a single range. - function setSimpleSelection(doc, anchor, head, options) { - setSelection(doc, simpleSelection(anchor, head), options); - } - - // Give beforeSelectionChange handlers a change to influence a - // selection update. - function filterSelectionChange(doc, sel, options) { - var obj = { - ranges: sel.ranges, - update: function(ranges) { - this.ranges = []; - for (var i = 0; i < ranges.length; i++) - { this.ranges[i] = new Range(clipPos(doc, ranges[i].anchor), - clipPos(doc, ranges[i].head)); } - }, - origin: options && options.origin - }; - signal(doc, "beforeSelectionChange", doc, obj); - if (doc.cm) { signal(doc.cm, "beforeSelectionChange", doc.cm, obj); } - if (obj.ranges != sel.ranges) { return normalizeSelection(doc.cm, obj.ranges, obj.ranges.length - 1) } - else { return sel } - } - - function setSelectionReplaceHistory(doc, sel, options) { - var done = doc.history.done, last = lst(done); - if (last && last.ranges) { - done[done.length - 1] = sel; - setSelectionNoUndo(doc, sel, options); - } else { - setSelection(doc, sel, options); - } - } - - // Set a new selection. - function setSelection(doc, sel, options) { - setSelectionNoUndo(doc, sel, options); - addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options); - } - - function setSelectionNoUndo(doc, sel, options) { - if (hasHandler(doc, "beforeSelectionChange") || doc.cm && hasHandler(doc.cm, "beforeSelectionChange")) - { sel = filterSelectionChange(doc, sel, options); } - - var bias = options && options.bias || - (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1); - setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true)); - - if (!(options && options.scroll === false) && doc.cm && doc.cm.getOption("readOnly") != "nocursor") - { ensureCursorVisible(doc.cm); } - } - - function setSelectionInner(doc, sel) { - if (sel.equals(doc.sel)) { return } - - doc.sel = sel; - - if (doc.cm) { - doc.cm.curOp.updateInput = 1; - doc.cm.curOp.selectionChanged = true; - signalCursorActivity(doc.cm); - } - signalLater(doc, "cursorActivity", doc); - } - - // Verify that the selection does not partially select any atomic - // marked ranges. - function reCheckSelection(doc) { - setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false)); - } - - // Return a selection that does not partially select any atomic - // ranges. - function skipAtomicInSelection(doc, sel, bias, mayClear) { - var out; - for (var i = 0; i < sel.ranges.length; i++) { - var range = sel.ranges[i]; - var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i]; - var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear); - var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear); - if (out || newAnchor != range.anchor || newHead != range.head) { - if (!out) { out = sel.ranges.slice(0, i); } - out[i] = new Range(newAnchor, newHead); - } - } - return out ? normalizeSelection(doc.cm, out, sel.primIndex) : sel - } - - function skipAtomicInner(doc, pos, oldPos, dir, mayClear) { - var line = getLine(doc, pos.line); - if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) { - var sp = line.markedSpans[i], m = sp.marker; - - // Determine if we should prevent the cursor being placed to the left/right of an atomic marker - // Historically this was determined using the inclusiveLeft/Right option, but the new way to control it - // is with selectLeft/Right - var preventCursorLeft = ("selectLeft" in m) ? !m.selectLeft : m.inclusiveLeft; - var preventCursorRight = ("selectRight" in m) ? !m.selectRight : m.inclusiveRight; - - if ((sp.from == null || (preventCursorLeft ? sp.from <= pos.ch : sp.from < pos.ch)) && - (sp.to == null || (preventCursorRight ? sp.to >= pos.ch : sp.to > pos.ch))) { - if (mayClear) { - signal(m, "beforeCursorEnter"); - if (m.explicitlyCleared) { - if (!line.markedSpans) { break } - else {--i; continue} - } - } - if (!m.atomic) { continue } - - if (oldPos) { - var near = m.find(dir < 0 ? 1 : -1), diff = (void 0); - if (dir < 0 ? preventCursorRight : preventCursorLeft) - { near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null); } - if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0)) - { return skipAtomicInner(doc, near, pos, dir, mayClear) } - } - - var far = m.find(dir < 0 ? -1 : 1); - if (dir < 0 ? preventCursorLeft : preventCursorRight) - { far = movePos(doc, far, dir, far.line == pos.line ? line : null); } - return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null - } - } } - return pos - } - - // Ensure a given position is not inside an atomic range. - function skipAtomic(doc, pos, oldPos, bias, mayClear) { - var dir = bias || 1; - var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) || - (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) || - skipAtomicInner(doc, pos, oldPos, -dir, mayClear) || - (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true)); - if (!found) { - doc.cantEdit = true; - return Pos(doc.first, 0) - } - return found - } - - function movePos(doc, pos, dir, line) { - if (dir < 0 && pos.ch == 0) { - if (pos.line > doc.first) { return clipPos(doc, Pos(pos.line - 1)) } - else { return null } - } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) { - if (pos.line < doc.first + doc.size - 1) { return Pos(pos.line + 1, 0) } - else { return null } - } else { - return new Pos(pos.line, pos.ch + dir) - } - } - - function selectAll(cm) { - cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll); - } - - // UPDATING - - // Allow "beforeChange" event handlers to influence a change - function filterChange(doc, change, update) { - var obj = { - canceled: false, - from: change.from, - to: change.to, - text: change.text, - origin: change.origin, - cancel: function () { return obj.canceled = true; } - }; - if (update) { obj.update = function (from, to, text, origin) { - if (from) { obj.from = clipPos(doc, from); } - if (to) { obj.to = clipPos(doc, to); } - if (text) { obj.text = text; } - if (origin !== undefined) { obj.origin = origin; } - }; } - signal(doc, "beforeChange", doc, obj); - if (doc.cm) { signal(doc.cm, "beforeChange", doc.cm, obj); } - - if (obj.canceled) { - if (doc.cm) { doc.cm.curOp.updateInput = 2; } - return null - } - return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin} - } - - // Apply a change to a document, and add it to the document's - // history, and propagating it to all linked documents. - function makeChange(doc, change, ignoreReadOnly) { - if (doc.cm) { - if (!doc.cm.curOp) { return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly) } - if (doc.cm.state.suppressEdits) { return } - } - - if (hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange")) { - change = filterChange(doc, change, true); - if (!change) { return } - } - - // Possibly split or suppress the update based on the presence - // of read-only spans in its range. - var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to); - if (split) { - for (var i = split.length - 1; i >= 0; --i) - { makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [""] : change.text, origin: change.origin}); } - } else { - makeChangeInner(doc, change); - } - } - - function makeChangeInner(doc, change) { - if (change.text.length == 1 && change.text[0] == "" && cmp(change.from, change.to) == 0) { return } - var selAfter = computeSelAfterChange(doc, change); - addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN); - - makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change)); - var rebased = []; - - linkedDocs(doc, function (doc, sharedHist) { - if (!sharedHist && indexOf(rebased, doc.history) == -1) { - rebaseHist(doc.history, change); - rebased.push(doc.history); - } - makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change)); - }); - } - - // Revert a change stored in a document's history. - function makeChangeFromHistory(doc, type, allowSelectionOnly) { - var suppress = doc.cm && doc.cm.state.suppressEdits; - if (suppress && !allowSelectionOnly) { return } - - var hist = doc.history, event, selAfter = doc.sel; - var source = type == "undo" ? hist.done : hist.undone, dest = type == "undo" ? hist.undone : hist.done; - - // Verify that there is a useable event (so that ctrl-z won't - // needlessly clear selection events) - var i = 0; - for (; i < source.length; i++) { - event = source[i]; - if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges) - { break } - } - if (i == source.length) { return } - hist.lastOrigin = hist.lastSelOrigin = null; - - for (;;) { - event = source.pop(); - if (event.ranges) { - pushSelectionToHistory(event, dest); - if (allowSelectionOnly && !event.equals(doc.sel)) { - setSelection(doc, event, {clearRedo: false}); - return - } - selAfter = event; - } else if (suppress) { - source.push(event); - return - } else { break } - } - - // Build up a reverse change object to add to the opposite history - // stack (redo when undoing, and vice versa). - var antiChanges = []; - pushSelectionToHistory(selAfter, dest); - dest.push({changes: antiChanges, generation: hist.generation}); - hist.generation = event.generation || ++hist.maxGeneration; - - var filter = hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange"); - - var loop = function ( i ) { - var change = event.changes[i]; - change.origin = type; - if (filter && !filterChange(doc, change, false)) { - source.length = 0; - return {} - } - - antiChanges.push(historyChangeFromChange(doc, change)); - - var after = i ? computeSelAfterChange(doc, change) : lst(source); - makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change)); - if (!i && doc.cm) { doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}); } - var rebased = []; - - // Propagate to the linked documents - linkedDocs(doc, function (doc, sharedHist) { - if (!sharedHist && indexOf(rebased, doc.history) == -1) { - rebaseHist(doc.history, change); - rebased.push(doc.history); - } - makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change)); - }); - }; - - for (var i$1 = event.changes.length - 1; i$1 >= 0; --i$1) { - var returned = loop( i$1 ); - - if ( returned ) return returned.v; - } - } - - // Sub-views need their line numbers shifted when text is added - // above or below them in the parent document. - function shiftDoc(doc, distance) { - if (distance == 0) { return } - doc.first += distance; - doc.sel = new Selection(map(doc.sel.ranges, function (range) { return new Range( - Pos(range.anchor.line + distance, range.anchor.ch), - Pos(range.head.line + distance, range.head.ch) - ); }), doc.sel.primIndex); - if (doc.cm) { - regChange(doc.cm, doc.first, doc.first - distance, distance); - for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++) - { regLineChange(doc.cm, l, "gutter"); } - } - } - - // More lower-level change function, handling only a single document - // (not linked ones). - function makeChangeSingleDoc(doc, change, selAfter, spans) { - if (doc.cm && !doc.cm.curOp) - { return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans) } - - if (change.to.line < doc.first) { - shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line)); - return - } - if (change.from.line > doc.lastLine()) { return } - - // Clip the change to the size of this doc - if (change.from.line < doc.first) { - var shift = change.text.length - 1 - (doc.first - change.from.line); - shiftDoc(doc, shift); - change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch), - text: [lst(change.text)], origin: change.origin}; - } - var last = doc.lastLine(); - if (change.to.line > last) { - change = {from: change.from, to: Pos(last, getLine(doc, last).text.length), - text: [change.text[0]], origin: change.origin}; - } - - change.removed = getBetween(doc, change.from, change.to); - - if (!selAfter) { selAfter = computeSelAfterChange(doc, change); } - if (doc.cm) { makeChangeSingleDocInEditor(doc.cm, change, spans); } - else { updateDoc(doc, change, spans); } - setSelectionNoUndo(doc, selAfter, sel_dontScroll); - - if (doc.cantEdit && skipAtomic(doc, Pos(doc.firstLine(), 0))) - { doc.cantEdit = false; } - } - - // Handle the interaction of a change to a document with the editor - // that this document is part of. - function makeChangeSingleDocInEditor(cm, change, spans) { - var doc = cm.doc, display = cm.display, from = change.from, to = change.to; - - var recomputeMaxLength = false, checkWidthStart = from.line; - if (!cm.options.lineWrapping) { - checkWidthStart = lineNo(visualLine(getLine(doc, from.line))); - doc.iter(checkWidthStart, to.line + 1, function (line) { - if (line == display.maxLine) { - recomputeMaxLength = true; - return true - } - }); - } - - if (doc.sel.contains(change.from, change.to) > -1) - { signalCursorActivity(cm); } - - updateDoc(doc, change, spans, estimateHeight(cm)); - - if (!cm.options.lineWrapping) { - doc.iter(checkWidthStart, from.line + change.text.length, function (line) { - var len = lineLength(line); - if (len > display.maxLineLength) { - display.maxLine = line; - display.maxLineLength = len; - display.maxLineChanged = true; - recomputeMaxLength = false; - } - }); - if (recomputeMaxLength) { cm.curOp.updateMaxLine = true; } - } - - retreatFrontier(doc, from.line); - startWorker(cm, 400); - - var lendiff = change.text.length - (to.line - from.line) - 1; - // Remember that these lines changed, for updating the display - if (change.full) - { regChange(cm); } - else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change)) - { regLineChange(cm, from.line, "text"); } - else - { regChange(cm, from.line, to.line + 1, lendiff); } - - var changesHandler = hasHandler(cm, "changes"), changeHandler = hasHandler(cm, "change"); - if (changeHandler || changesHandler) { - var obj = { - from: from, to: to, - text: change.text, - removed: change.removed, - origin: change.origin - }; - if (changeHandler) { signalLater(cm, "change", cm, obj); } - if (changesHandler) { (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj); } - } - cm.display.selForContextMenu = null; - } - - function replaceRange(doc, code, from, to, origin) { - var assign; - - if (!to) { to = from; } - if (cmp(to, from) < 0) { (assign = [to, from], from = assign[0], to = assign[1]); } - if (typeof code == "string") { code = doc.splitLines(code); } - makeChange(doc, {from: from, to: to, text: code, origin: origin}); - } - - // Rebasing/resetting history to deal with externally-sourced changes - - function rebaseHistSelSingle(pos, from, to, diff) { - if (to < pos.line) { - pos.line += diff; - } else if (from < pos.line) { - pos.line = from; - pos.ch = 0; - } - } - - // Tries to rebase an array of history events given a change in the - // document. If the change touches the same lines as the event, the - // event, and everything 'behind' it, is discarded. If the change is - // before the event, the event's positions are updated. Uses a - // copy-on-write scheme for the positions, to avoid having to - // reallocate them all on every rebase, but also avoid problems with - // shared position objects being unsafely updated. - function rebaseHistArray(array, from, to, diff) { - for (var i = 0; i < array.length; ++i) { - var sub = array[i], ok = true; - if (sub.ranges) { - if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true; } - for (var j = 0; j < sub.ranges.length; j++) { - rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff); - rebaseHistSelSingle(sub.ranges[j].head, from, to, diff); - } - continue - } - for (var j$1 = 0; j$1 < sub.changes.length; ++j$1) { - var cur = sub.changes[j$1]; - if (to < cur.from.line) { - cur.from = Pos(cur.from.line + diff, cur.from.ch); - cur.to = Pos(cur.to.line + diff, cur.to.ch); - } else if (from <= cur.to.line) { - ok = false; - break - } - } - if (!ok) { - array.splice(0, i + 1); - i = 0; - } - } - } - - function rebaseHist(hist, change) { - var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1; - rebaseHistArray(hist.done, from, to, diff); - rebaseHistArray(hist.undone, from, to, diff); - } - - // Utility for applying a change to a line by handle or number, - // returning the number and optionally registering the line as - // changed. - function changeLine(doc, handle, changeType, op) { - var no = handle, line = handle; - if (typeof handle == "number") { line = getLine(doc, clipLine(doc, handle)); } - else { no = lineNo(handle); } - if (no == null) { return null } - if (op(line, no) && doc.cm) { regLineChange(doc.cm, no, changeType); } - return line - } - - // The document is represented as a BTree consisting of leaves, with - // chunk of lines in them, and branches, with up to ten leaves or - // other branch nodes below them. The top node is always a branch - // node, and is the document object itself (meaning it has - // additional methods and properties). - // - // All nodes have parent links. The tree is used both to go from - // line numbers to line objects, and to go from objects to numbers. - // It also indexes by height, and is used to convert between height - // and line object, and to find the total height of the document. - // - // See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html - - function LeafChunk(lines) { - this.lines = lines; - this.parent = null; - var height = 0; - for (var i = 0; i < lines.length; ++i) { - lines[i].parent = this; - height += lines[i].height; - } - this.height = height; - } - - LeafChunk.prototype = { - chunkSize: function() { return this.lines.length }, - - // Remove the n lines at offset 'at'. - removeInner: function(at, n) { - for (var i = at, e = at + n; i < e; ++i) { - var line = this.lines[i]; - this.height -= line.height; - cleanUpLine(line); - signalLater(line, "delete"); - } - this.lines.splice(at, n); - }, - - // Helper used to collapse a small branch into a single leaf. - collapse: function(lines) { - lines.push.apply(lines, this.lines); - }, - - // Insert the given array of lines at offset 'at', count them as - // having the given height. - insertInner: function(at, lines, height) { - this.height += height; - this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at)); - for (var i = 0; i < lines.length; ++i) { lines[i].parent = this; } - }, - - // Used to iterate over a part of the tree. - iterN: function(at, n, op) { - for (var e = at + n; at < e; ++at) - { if (op(this.lines[at])) { return true } } - } - }; - - function BranchChunk(children) { - this.children = children; - var size = 0, height = 0; - for (var i = 0; i < children.length; ++i) { - var ch = children[i]; - size += ch.chunkSize(); height += ch.height; - ch.parent = this; - } - this.size = size; - this.height = height; - this.parent = null; - } - - BranchChunk.prototype = { - chunkSize: function() { return this.size }, - - removeInner: function(at, n) { - this.size -= n; - for (var i = 0; i < this.children.length; ++i) { - var child = this.children[i], sz = child.chunkSize(); - if (at < sz) { - var rm = Math.min(n, sz - at), oldHeight = child.height; - child.removeInner(at, rm); - this.height -= oldHeight - child.height; - if (sz == rm) { this.children.splice(i--, 1); child.parent = null; } - if ((n -= rm) == 0) { break } - at = 0; - } else { at -= sz; } - } - // If the result is smaller than 25 lines, ensure that it is a - // single leaf node. - if (this.size - n < 25 && - (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) { - var lines = []; - this.collapse(lines); - this.children = [new LeafChunk(lines)]; - this.children[0].parent = this; - } - }, - - collapse: function(lines) { - for (var i = 0; i < this.children.length; ++i) { this.children[i].collapse(lines); } - }, - - insertInner: function(at, lines, height) { - this.size += lines.length; - this.height += height; - for (var i = 0; i < this.children.length; ++i) { - var child = this.children[i], sz = child.chunkSize(); - if (at <= sz) { - child.insertInner(at, lines, height); - if (child.lines && child.lines.length > 50) { - // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced. - // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest. - var remaining = child.lines.length % 25 + 25; - for (var pos = remaining; pos < child.lines.length;) { - var leaf = new LeafChunk(child.lines.slice(pos, pos += 25)); - child.height -= leaf.height; - this.children.splice(++i, 0, leaf); - leaf.parent = this; - } - child.lines = child.lines.slice(0, remaining); - this.maybeSpill(); - } - break - } - at -= sz; - } - }, - - // When a node has grown, check whether it should be split. - maybeSpill: function() { - if (this.children.length <= 10) { return } - var me = this; - do { - var spilled = me.children.splice(me.children.length - 5, 5); - var sibling = new BranchChunk(spilled); - if (!me.parent) { // Become the parent node - var copy = new BranchChunk(me.children); - copy.parent = me; - me.children = [copy, sibling]; - me = copy; - } else { - me.size -= sibling.size; - me.height -= sibling.height; - var myIndex = indexOf(me.parent.children, me); - me.parent.children.splice(myIndex + 1, 0, sibling); - } - sibling.parent = me.parent; - } while (me.children.length > 10) - me.parent.maybeSpill(); - }, - - iterN: function(at, n, op) { - for (var i = 0; i < this.children.length; ++i) { - var child = this.children[i], sz = child.chunkSize(); - if (at < sz) { - var used = Math.min(n, sz - at); - if (child.iterN(at, used, op)) { return true } - if ((n -= used) == 0) { break } - at = 0; - } else { at -= sz; } - } - } - }; - - // Line widgets are block elements displayed above or below a line. - - var LineWidget = function(doc, node, options) { - if (options) { for (var opt in options) { if (options.hasOwnProperty(opt)) - { this[opt] = options[opt]; } } } - this.doc = doc; - this.node = node; - }; - - LineWidget.prototype.clear = function () { - var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line); - if (no == null || !ws) { return } - for (var i = 0; i < ws.length; ++i) { if (ws[i] == this) { ws.splice(i--, 1); } } - if (!ws.length) { line.widgets = null; } - var height = widgetHeight(this); - updateLineHeight(line, Math.max(0, line.height - height)); - if (cm) { - runInOp(cm, function () { - adjustScrollWhenAboveVisible(cm, line, -height); - regLineChange(cm, no, "widget"); - }); - signalLater(cm, "lineWidgetCleared", cm, this, no); - } - }; - - LineWidget.prototype.changed = function () { - var this$1 = this; - - var oldH = this.height, cm = this.doc.cm, line = this.line; - this.height = null; - var diff = widgetHeight(this) - oldH; - if (!diff) { return } - if (!lineIsHidden(this.doc, line)) { updateLineHeight(line, line.height + diff); } - if (cm) { - runInOp(cm, function () { - cm.curOp.forceUpdate = true; - adjustScrollWhenAboveVisible(cm, line, diff); - signalLater(cm, "lineWidgetChanged", cm, this$1, lineNo(line)); - }); - } - }; - eventMixin(LineWidget); - - function adjustScrollWhenAboveVisible(cm, line, diff) { - if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop)) - { addToScrollTop(cm, diff); } - } - - function addLineWidget(doc, handle, node, options) { - var widget = new LineWidget(doc, node, options); - var cm = doc.cm; - if (cm && widget.noHScroll) { cm.display.alignWidgets = true; } - changeLine(doc, handle, "widget", function (line) { - var widgets = line.widgets || (line.widgets = []); - if (widget.insertAt == null) { widgets.push(widget); } - else { widgets.splice(Math.min(widgets.length, Math.max(0, widget.insertAt)), 0, widget); } - widget.line = line; - if (cm && !lineIsHidden(doc, line)) { - var aboveVisible = heightAtLine(line) < doc.scrollTop; - updateLineHeight(line, line.height + widgetHeight(widget)); - if (aboveVisible) { addToScrollTop(cm, widget.height); } - cm.curOp.forceUpdate = true; - } - return true - }); - if (cm) { signalLater(cm, "lineWidgetAdded", cm, widget, typeof handle == "number" ? handle : lineNo(handle)); } - return widget - } - - // TEXTMARKERS - - // Created with markText and setBookmark methods. A TextMarker is a - // handle that can be used to clear or find a marked position in the - // document. Line objects hold arrays (markedSpans) containing - // {from, to, marker} object pointing to such marker objects, and - // indicating that such a marker is present on that line. Multiple - // lines may point to the same marker when it spans across lines. - // The spans will have null for their from/to properties when the - // marker continues beyond the start/end of the line. Markers have - // links back to the lines they currently touch. - - // Collapsed markers have unique ids, in order to be able to order - // them, which is needed for uniquely determining an outer marker - // when they overlap (they may nest, but not partially overlap). - var nextMarkerId = 0; - - var TextMarker = function(doc, type) { - this.lines = []; - this.type = type; - this.doc = doc; - this.id = ++nextMarkerId; - }; - - // Clear the marker. - TextMarker.prototype.clear = function () { - if (this.explicitlyCleared) { return } - var cm = this.doc.cm, withOp = cm && !cm.curOp; - if (withOp) { startOperation(cm); } - if (hasHandler(this, "clear")) { - var found = this.find(); - if (found) { signalLater(this, "clear", found.from, found.to); } - } - var min = null, max = null; - for (var i = 0; i < this.lines.length; ++i) { - var line = this.lines[i]; - var span = getMarkedSpanFor(line.markedSpans, this); - if (cm && !this.collapsed) { regLineChange(cm, lineNo(line), "text"); } - else if (cm) { - if (span.to != null) { max = lineNo(line); } - if (span.from != null) { min = lineNo(line); } - } - line.markedSpans = removeMarkedSpan(line.markedSpans, span); - if (span.from == null && this.collapsed && !lineIsHidden(this.doc, line) && cm) - { updateLineHeight(line, textHeight(cm.display)); } - } - if (cm && this.collapsed && !cm.options.lineWrapping) { for (var i$1 = 0; i$1 < this.lines.length; ++i$1) { - var visual = visualLine(this.lines[i$1]), len = lineLength(visual); - if (len > cm.display.maxLineLength) { - cm.display.maxLine = visual; - cm.display.maxLineLength = len; - cm.display.maxLineChanged = true; - } - } } - - if (min != null && cm && this.collapsed) { regChange(cm, min, max + 1); } - this.lines.length = 0; - this.explicitlyCleared = true; - if (this.atomic && this.doc.cantEdit) { - this.doc.cantEdit = false; - if (cm) { reCheckSelection(cm.doc); } - } - if (cm) { signalLater(cm, "markerCleared", cm, this, min, max); } - if (withOp) { endOperation(cm); } - if (this.parent) { this.parent.clear(); } - }; - - // Find the position of the marker in the document. Returns a {from, - // to} object by default. Side can be passed to get a specific side - // -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the - // Pos objects returned contain a line object, rather than a line - // number (used to prevent looking up the same line twice). - TextMarker.prototype.find = function (side, lineObj) { - if (side == null && this.type == "bookmark") { side = 1; } - var from, to; - for (var i = 0; i < this.lines.length; ++i) { - var line = this.lines[i]; - var span = getMarkedSpanFor(line.markedSpans, this); - if (span.from != null) { - from = Pos(lineObj ? line : lineNo(line), span.from); - if (side == -1) { return from } - } - if (span.to != null) { - to = Pos(lineObj ? line : lineNo(line), span.to); - if (side == 1) { return to } - } - } - return from && {from: from, to: to} - }; - - // Signals that the marker's widget changed, and surrounding layout - // should be recomputed. - TextMarker.prototype.changed = function () { - var this$1 = this; - - var pos = this.find(-1, true), widget = this, cm = this.doc.cm; - if (!pos || !cm) { return } - runInOp(cm, function () { - var line = pos.line, lineN = lineNo(pos.line); - var view = findViewForLine(cm, lineN); - if (view) { - clearLineMeasurementCacheFor(view); - cm.curOp.selectionChanged = cm.curOp.forceUpdate = true; - } - cm.curOp.updateMaxLine = true; - if (!lineIsHidden(widget.doc, line) && widget.height != null) { - var oldHeight = widget.height; - widget.height = null; - var dHeight = widgetHeight(widget) - oldHeight; - if (dHeight) - { updateLineHeight(line, line.height + dHeight); } - } - signalLater(cm, "markerChanged", cm, this$1); - }); - }; - - TextMarker.prototype.attachLine = function (line) { - if (!this.lines.length && this.doc.cm) { - var op = this.doc.cm.curOp; - if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1) - { (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this); } - } - this.lines.push(line); - }; - - TextMarker.prototype.detachLine = function (line) { - this.lines.splice(indexOf(this.lines, line), 1); - if (!this.lines.length && this.doc.cm) { - var op = this.doc.cm.curOp - ;(op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this); - } - }; - eventMixin(TextMarker); - - // Create a marker, wire it up to the right lines, and - function markText(doc, from, to, options, type) { - // Shared markers (across linked documents) are handled separately - // (markTextShared will call out to this again, once per - // document). - if (options && options.shared) { return markTextShared(doc, from, to, options, type) } - // Ensure we are in an operation. - if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, markText)(doc, from, to, options, type) } - - var marker = new TextMarker(doc, type), diff = cmp(from, to); - if (options) { copyObj(options, marker, false); } - // Don't connect empty markers unless clearWhenEmpty is false - if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false) - { return marker } - if (marker.replacedWith) { - // Showing up as a widget implies collapsed (widget replaces text) - marker.collapsed = true; - marker.widgetNode = eltP("span", [marker.replacedWith], "CodeMirror-widget"); - if (!options.handleMouseEvents) { marker.widgetNode.setAttribute("cm-ignore-events", "true"); } - if (options.insertLeft) { marker.widgetNode.insertLeft = true; } - } - if (marker.collapsed) { - if (conflictingCollapsedRange(doc, from.line, from, to, marker) || - from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker)) - { throw new Error("Inserting collapsed marker partially overlapping an existing one") } - seeCollapsedSpans(); - } - - if (marker.addToHistory) - { addChangeToHistory(doc, {from: from, to: to, origin: "markText"}, doc.sel, NaN); } - - var curLine = from.line, cm = doc.cm, updateMaxLine; - doc.iter(curLine, to.line + 1, function (line) { - if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine) - { updateMaxLine = true; } - if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0); } - addMarkedSpan(line, new MarkedSpan(marker, - curLine == from.line ? from.ch : null, - curLine == to.line ? to.ch : null)); - ++curLine; - }); - // lineIsHidden depends on the presence of the spans, so needs a second pass - if (marker.collapsed) { doc.iter(from.line, to.line + 1, function (line) { - if (lineIsHidden(doc, line)) { updateLineHeight(line, 0); } - }); } - - if (marker.clearOnEnter) { on(marker, "beforeCursorEnter", function () { return marker.clear(); }); } - - if (marker.readOnly) { - seeReadOnlySpans(); - if (doc.history.done.length || doc.history.undone.length) - { doc.clearHistory(); } - } - if (marker.collapsed) { - marker.id = ++nextMarkerId; - marker.atomic = true; - } - if (cm) { - // Sync editor state - if (updateMaxLine) { cm.curOp.updateMaxLine = true; } - if (marker.collapsed) - { regChange(cm, from.line, to.line + 1); } - else if (marker.className || marker.startStyle || marker.endStyle || marker.css || - marker.attributes || marker.title) - { for (var i = from.line; i <= to.line; i++) { regLineChange(cm, i, "text"); } } - if (marker.atomic) { reCheckSelection(cm.doc); } - signalLater(cm, "markerAdded", cm, marker); - } - return marker - } - - // SHARED TEXTMARKERS - - // A shared marker spans multiple linked documents. It is - // implemented as a meta-marker-object controlling multiple normal - // markers. - var SharedTextMarker = function(markers, primary) { - this.markers = markers; - this.primary = primary; - for (var i = 0; i < markers.length; ++i) - { markers[i].parent = this; } - }; - - SharedTextMarker.prototype.clear = function () { - if (this.explicitlyCleared) { return } - this.explicitlyCleared = true; - for (var i = 0; i < this.markers.length; ++i) - { this.markers[i].clear(); } - signalLater(this, "clear"); - }; - - SharedTextMarker.prototype.find = function (side, lineObj) { - return this.primary.find(side, lineObj) - }; - eventMixin(SharedTextMarker); - - function markTextShared(doc, from, to, options, type) { - options = copyObj(options); - options.shared = false; - var markers = [markText(doc, from, to, options, type)], primary = markers[0]; - var widget = options.widgetNode; - linkedDocs(doc, function (doc) { - if (widget) { options.widgetNode = widget.cloneNode(true); } - markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type)); - for (var i = 0; i < doc.linked.length; ++i) - { if (doc.linked[i].isParent) { return } } - primary = lst(markers); - }); - return new SharedTextMarker(markers, primary) - } - - function findSharedMarkers(doc) { - return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function (m) { return m.parent; }) - } - - function copySharedMarkers(doc, markers) { - for (var i = 0; i < markers.length; i++) { - var marker = markers[i], pos = marker.find(); - var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to); - if (cmp(mFrom, mTo)) { - var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type); - marker.markers.push(subMark); - subMark.parent = marker; - } - } - } - - function detachSharedMarkers(markers) { - var loop = function ( i ) { - var marker = markers[i], linked = [marker.primary.doc]; - linkedDocs(marker.primary.doc, function (d) { return linked.push(d); }); - for (var j = 0; j < marker.markers.length; j++) { - var subMarker = marker.markers[j]; - if (indexOf(linked, subMarker.doc) == -1) { - subMarker.parent = null; - marker.markers.splice(j--, 1); - } - } - }; - - for (var i = 0; i < markers.length; i++) loop( i ); - } - - var nextDocId = 0; - var Doc = function(text, mode, firstLine, lineSep, direction) { - if (!(this instanceof Doc)) { return new Doc(text, mode, firstLine, lineSep, direction) } - if (firstLine == null) { firstLine = 0; } - - BranchChunk.call(this, [new LeafChunk([new Line("", null)])]); - this.first = firstLine; - this.scrollTop = this.scrollLeft = 0; - this.cantEdit = false; - this.cleanGeneration = 1; - this.modeFrontier = this.highlightFrontier = firstLine; - var start = Pos(firstLine, 0); - this.sel = simpleSelection(start); - this.history = new History(null); - this.id = ++nextDocId; - this.modeOption = mode; - this.lineSep = lineSep; - this.direction = (direction == "rtl") ? "rtl" : "ltr"; - this.extend = false; - - if (typeof text == "string") { text = this.splitLines(text); } - updateDoc(this, {from: start, to: start, text: text}); - setSelection(this, simpleSelection(start), sel_dontScroll); - }; - - Doc.prototype = createObj(BranchChunk.prototype, { - constructor: Doc, - // Iterate over the document. Supports two forms -- with only one - // argument, it calls that for each line in the document. With - // three, it iterates over the range given by the first two (with - // the second being non-inclusive). - iter: function(from, to, op) { - if (op) { this.iterN(from - this.first, to - from, op); } - else { this.iterN(this.first, this.first + this.size, from); } - }, - - // Non-public interface for adding and removing lines. - insert: function(at, lines) { - var height = 0; - for (var i = 0; i < lines.length; ++i) { height += lines[i].height; } - this.insertInner(at - this.first, lines, height); - }, - remove: function(at, n) { this.removeInner(at - this.first, n); }, - - // From here, the methods are part of the public interface. Most - // are also available from CodeMirror (editor) instances. - - getValue: function(lineSep) { - var lines = getLines(this, this.first, this.first + this.size); - if (lineSep === false) { return lines } - return lines.join(lineSep || this.lineSeparator()) - }, - setValue: docMethodOp(function(code) { - var top = Pos(this.first, 0), last = this.first + this.size - 1; - makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length), - text: this.splitLines(code), origin: "setValue", full: true}, true); - if (this.cm) { scrollToCoords(this.cm, 0, 0); } - setSelection(this, simpleSelection(top), sel_dontScroll); - }), - replaceRange: function(code, from, to, origin) { - from = clipPos(this, from); - to = to ? clipPos(this, to) : from; - replaceRange(this, code, from, to, origin); - }, - getRange: function(from, to, lineSep) { - var lines = getBetween(this, clipPos(this, from), clipPos(this, to)); - if (lineSep === false) { return lines } - return lines.join(lineSep || this.lineSeparator()) - }, - - getLine: function(line) {var l = this.getLineHandle(line); return l && l.text}, - - getLineHandle: function(line) {if (isLine(this, line)) { return getLine(this, line) }}, - getLineNumber: function(line) {return lineNo(line)}, - - getLineHandleVisualStart: function(line) { - if (typeof line == "number") { line = getLine(this, line); } - return visualLine(line) - }, - - lineCount: function() {return this.size}, - firstLine: function() {return this.first}, - lastLine: function() {return this.first + this.size - 1}, - - clipPos: function(pos) {return clipPos(this, pos)}, - - getCursor: function(start) { - var range = this.sel.primary(), pos; - if (start == null || start == "head") { pos = range.head; } - else if (start == "anchor") { pos = range.anchor; } - else if (start == "end" || start == "to" || start === false) { pos = range.to(); } - else { pos = range.from(); } - return pos - }, - listSelections: function() { return this.sel.ranges }, - somethingSelected: function() {return this.sel.somethingSelected()}, - - setCursor: docMethodOp(function(line, ch, options) { - setSimpleSelection(this, clipPos(this, typeof line == "number" ? Pos(line, ch || 0) : line), null, options); - }), - setSelection: docMethodOp(function(anchor, head, options) { - setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options); - }), - extendSelection: docMethodOp(function(head, other, options) { - extendSelection(this, clipPos(this, head), other && clipPos(this, other), options); - }), - extendSelections: docMethodOp(function(heads, options) { - extendSelections(this, clipPosArray(this, heads), options); - }), - extendSelectionsBy: docMethodOp(function(f, options) { - var heads = map(this.sel.ranges, f); - extendSelections(this, clipPosArray(this, heads), options); - }), - setSelections: docMethodOp(function(ranges, primary, options) { - if (!ranges.length) { return } - var out = []; - for (var i = 0; i < ranges.length; i++) - { out[i] = new Range(clipPos(this, ranges[i].anchor), - clipPos(this, ranges[i].head)); } - if (primary == null) { primary = Math.min(ranges.length - 1, this.sel.primIndex); } - setSelection(this, normalizeSelection(this.cm, out, primary), options); - }), - addSelection: docMethodOp(function(anchor, head, options) { - var ranges = this.sel.ranges.slice(0); - ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor))); - setSelection(this, normalizeSelection(this.cm, ranges, ranges.length - 1), options); - }), - - getSelection: function(lineSep) { - var ranges = this.sel.ranges, lines; - for (var i = 0; i < ranges.length; i++) { - var sel = getBetween(this, ranges[i].from(), ranges[i].to()); - lines = lines ? lines.concat(sel) : sel; - } - if (lineSep === false) { return lines } - else { return lines.join(lineSep || this.lineSeparator()) } - }, - getSelections: function(lineSep) { - var parts = [], ranges = this.sel.ranges; - for (var i = 0; i < ranges.length; i++) { - var sel = getBetween(this, ranges[i].from(), ranges[i].to()); - if (lineSep !== false) { sel = sel.join(lineSep || this.lineSeparator()); } - parts[i] = sel; - } - return parts - }, - replaceSelection: function(code, collapse, origin) { - var dup = []; - for (var i = 0; i < this.sel.ranges.length; i++) - { dup[i] = code; } - this.replaceSelections(dup, collapse, origin || "+input"); - }, - replaceSelections: docMethodOp(function(code, collapse, origin) { - var changes = [], sel = this.sel; - for (var i = 0; i < sel.ranges.length; i++) { - var range = sel.ranges[i]; - changes[i] = {from: range.from(), to: range.to(), text: this.splitLines(code[i]), origin: origin}; - } - var newSel = collapse && collapse != "end" && computeReplacedSel(this, changes, collapse); - for (var i$1 = changes.length - 1; i$1 >= 0; i$1--) - { makeChange(this, changes[i$1]); } - if (newSel) { setSelectionReplaceHistory(this, newSel); } - else if (this.cm) { ensureCursorVisible(this.cm); } - }), - undo: docMethodOp(function() {makeChangeFromHistory(this, "undo");}), - redo: docMethodOp(function() {makeChangeFromHistory(this, "redo");}), - undoSelection: docMethodOp(function() {makeChangeFromHistory(this, "undo", true);}), - redoSelection: docMethodOp(function() {makeChangeFromHistory(this, "redo", true);}), - - setExtending: function(val) {this.extend = val;}, - getExtending: function() {return this.extend}, - - historySize: function() { - var hist = this.history, done = 0, undone = 0; - for (var i = 0; i < hist.done.length; i++) { if (!hist.done[i].ranges) { ++done; } } - for (var i$1 = 0; i$1 < hist.undone.length; i$1++) { if (!hist.undone[i$1].ranges) { ++undone; } } - return {undo: done, redo: undone} - }, - clearHistory: function() { - var this$1 = this; - - this.history = new History(this.history); - linkedDocs(this, function (doc) { return doc.history = this$1.history; }, true); - }, - - markClean: function() { - this.cleanGeneration = this.changeGeneration(true); - }, - changeGeneration: function(forceSplit) { - if (forceSplit) - { this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null; } - return this.history.generation - }, - isClean: function (gen) { - return this.history.generation == (gen || this.cleanGeneration) - }, - - getHistory: function() { - return {done: copyHistoryArray(this.history.done), - undone: copyHistoryArray(this.history.undone)} - }, - setHistory: function(histData) { - var hist = this.history = new History(this.history); - hist.done = copyHistoryArray(histData.done.slice(0), null, true); - hist.undone = copyHistoryArray(histData.undone.slice(0), null, true); - }, - - setGutterMarker: docMethodOp(function(line, gutterID, value) { - return changeLine(this, line, "gutter", function (line) { - var markers = line.gutterMarkers || (line.gutterMarkers = {}); - markers[gutterID] = value; - if (!value && isEmpty(markers)) { line.gutterMarkers = null; } - return true - }) - }), - - clearGutter: docMethodOp(function(gutterID) { - var this$1 = this; - - this.iter(function (line) { - if (line.gutterMarkers && line.gutterMarkers[gutterID]) { - changeLine(this$1, line, "gutter", function () { - line.gutterMarkers[gutterID] = null; - if (isEmpty(line.gutterMarkers)) { line.gutterMarkers = null; } - return true - }); - } - }); - }), - - lineInfo: function(line) { - var n; - if (typeof line == "number") { - if (!isLine(this, line)) { return null } - n = line; - line = getLine(this, line); - if (!line) { return null } - } else { - n = lineNo(line); - if (n == null) { return null } - } - return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers, - textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass, - widgets: line.widgets} - }, - - addLineClass: docMethodOp(function(handle, where, cls) { - return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function (line) { - var prop = where == "text" ? "textClass" - : where == "background" ? "bgClass" - : where == "gutter" ? "gutterClass" : "wrapClass"; - if (!line[prop]) { line[prop] = cls; } - else if (classTest(cls).test(line[prop])) { return false } - else { line[prop] += " " + cls; } - return true - }) - }), - removeLineClass: docMethodOp(function(handle, where, cls) { - return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function (line) { - var prop = where == "text" ? "textClass" - : where == "background" ? "bgClass" - : where == "gutter" ? "gutterClass" : "wrapClass"; - var cur = line[prop]; - if (!cur) { return false } - else if (cls == null) { line[prop] = null; } - else { - var found = cur.match(classTest(cls)); - if (!found) { return false } - var end = found.index + found[0].length; - line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? "" : " ") + cur.slice(end) || null; - } - return true - }) - }), - - addLineWidget: docMethodOp(function(handle, node, options) { - return addLineWidget(this, handle, node, options) - }), - removeLineWidget: function(widget) { widget.clear(); }, - - markText: function(from, to, options) { - return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || "range") - }, - setBookmark: function(pos, options) { - var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options), - insertLeft: options && options.insertLeft, - clearWhenEmpty: false, shared: options && options.shared, - handleMouseEvents: options && options.handleMouseEvents}; - pos = clipPos(this, pos); - return markText(this, pos, pos, realOpts, "bookmark") - }, - findMarksAt: function(pos) { - pos = clipPos(this, pos); - var markers = [], spans = getLine(this, pos.line).markedSpans; - if (spans) { for (var i = 0; i < spans.length; ++i) { - var span = spans[i]; - if ((span.from == null || span.from <= pos.ch) && - (span.to == null || span.to >= pos.ch)) - { markers.push(span.marker.parent || span.marker); } - } } - return markers - }, - findMarks: function(from, to, filter) { - from = clipPos(this, from); to = clipPos(this, to); - var found = [], lineNo = from.line; - this.iter(from.line, to.line + 1, function (line) { - var spans = line.markedSpans; - if (spans) { for (var i = 0; i < spans.length; i++) { - var span = spans[i]; - if (!(span.to != null && lineNo == from.line && from.ch >= span.to || - span.from == null && lineNo != from.line || - span.from != null && lineNo == to.line && span.from >= to.ch) && - (!filter || filter(span.marker))) - { found.push(span.marker.parent || span.marker); } - } } - ++lineNo; - }); - return found - }, - getAllMarks: function() { - var markers = []; - this.iter(function (line) { - var sps = line.markedSpans; - if (sps) { for (var i = 0; i < sps.length; ++i) - { if (sps[i].from != null) { markers.push(sps[i].marker); } } } - }); - return markers - }, - - posFromIndex: function(off) { - var ch, lineNo = this.first, sepSize = this.lineSeparator().length; - this.iter(function (line) { - var sz = line.text.length + sepSize; - if (sz > off) { ch = off; return true } - off -= sz; - ++lineNo; - }); - return clipPos(this, Pos(lineNo, ch)) - }, - indexFromPos: function (coords) { - coords = clipPos(this, coords); - var index = coords.ch; - if (coords.line < this.first || coords.ch < 0) { return 0 } - var sepSize = this.lineSeparator().length; - this.iter(this.first, coords.line, function (line) { // iter aborts when callback returns a truthy value - index += line.text.length + sepSize; - }); - return index - }, - - copy: function(copyHistory) { - var doc = new Doc(getLines(this, this.first, this.first + this.size), - this.modeOption, this.first, this.lineSep, this.direction); - doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft; - doc.sel = this.sel; - doc.extend = false; - if (copyHistory) { - doc.history.undoDepth = this.history.undoDepth; - doc.setHistory(this.getHistory()); - } - return doc - }, - - linkedDoc: function(options) { - if (!options) { options = {}; } - var from = this.first, to = this.first + this.size; - if (options.from != null && options.from > from) { from = options.from; } - if (options.to != null && options.to < to) { to = options.to; } - var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep, this.direction); - if (options.sharedHist) { copy.history = this.history - ; }(this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist}); - copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}]; - copySharedMarkers(copy, findSharedMarkers(this)); - return copy - }, - unlinkDoc: function(other) { - if (other instanceof CodeMirror) { other = other.doc; } - if (this.linked) { for (var i = 0; i < this.linked.length; ++i) { - var link = this.linked[i]; - if (link.doc != other) { continue } - this.linked.splice(i, 1); - other.unlinkDoc(this); - detachSharedMarkers(findSharedMarkers(this)); - break - } } - // If the histories were shared, split them again - if (other.history == this.history) { - var splitIds = [other.id]; - linkedDocs(other, function (doc) { return splitIds.push(doc.id); }, true); - other.history = new History(null); - other.history.done = copyHistoryArray(this.history.done, splitIds); - other.history.undone = copyHistoryArray(this.history.undone, splitIds); - } - }, - iterLinkedDocs: function(f) {linkedDocs(this, f);}, - - getMode: function() {return this.mode}, - getEditor: function() {return this.cm}, - - splitLines: function(str) { - if (this.lineSep) { return str.split(this.lineSep) } - return splitLinesAuto(str) - }, - lineSeparator: function() { return this.lineSep || "\n" }, - - setDirection: docMethodOp(function (dir) { - if (dir != "rtl") { dir = "ltr"; } - if (dir == this.direction) { return } - this.direction = dir; - this.iter(function (line) { return line.order = null; }); - if (this.cm) { directionChanged(this.cm); } - }) - }); - - // Public alias. - Doc.prototype.eachLine = Doc.prototype.iter; - - // Kludge to work around strange IE behavior where it'll sometimes - // re-fire a series of drag-related events right after the drop (#1551) - var lastDrop = 0; - - function onDrop(e) { - var cm = this; - clearDragCursor(cm); - if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) - { return } - e_preventDefault(e); - if (ie) { lastDrop = +new Date; } - var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files; - if (!pos || cm.isReadOnly()) { return } - // Might be a file drop, in which case we simply extract the text - // and insert it. - if (files && files.length && window.FileReader && window.File) { - var n = files.length, text = Array(n), read = 0; - var markAsReadAndPasteIfAllFilesAreRead = function () { - if (++read == n) { - operation(cm, function () { - pos = clipPos(cm.doc, pos); - var change = {from: pos, to: pos, - text: cm.doc.splitLines( - text.filter(function (t) { return t != null; }).join(cm.doc.lineSeparator())), - origin: "paste"}; - makeChange(cm.doc, change); - setSelectionReplaceHistory(cm.doc, simpleSelection(clipPos(cm.doc, pos), clipPos(cm.doc, changeEnd(change)))); - })(); - } - }; - var readTextFromFile = function (file, i) { - if (cm.options.allowDropFileTypes && - indexOf(cm.options.allowDropFileTypes, file.type) == -1) { - markAsReadAndPasteIfAllFilesAreRead(); - return - } - var reader = new FileReader; - reader.onerror = function () { return markAsReadAndPasteIfAllFilesAreRead(); }; - reader.onload = function () { - var content = reader.result; - if (/[\x00-\x08\x0e-\x1f]{2}/.test(content)) { - markAsReadAndPasteIfAllFilesAreRead(); - return - } - text[i] = content; - markAsReadAndPasteIfAllFilesAreRead(); - }; - reader.readAsText(file); - }; - for (var i = 0; i < files.length; i++) { readTextFromFile(files[i], i); } - } else { // Normal drop - // Don't do a replace if the drop happened inside of the selected text. - if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) { - cm.state.draggingText(e); - // Ensure the editor is re-focused - setTimeout(function () { return cm.display.input.focus(); }, 20); - return - } - try { - var text$1 = e.dataTransfer.getData("Text"); - if (text$1) { - var selected; - if (cm.state.draggingText && !cm.state.draggingText.copy) - { selected = cm.listSelections(); } - setSelectionNoUndo(cm.doc, simpleSelection(pos, pos)); - if (selected) { for (var i$1 = 0; i$1 < selected.length; ++i$1) - { replaceRange(cm.doc, "", selected[i$1].anchor, selected[i$1].head, "drag"); } } - cm.replaceSelection(text$1, "around", "paste"); - cm.display.input.focus(); - } - } - catch(e$1){} - } - } - - function onDragStart(cm, e) { - if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return } - if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return } - - e.dataTransfer.setData("Text", cm.getSelection()); - e.dataTransfer.effectAllowed = "copyMove"; - - // Use dummy image instead of default browsers image. - // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there. - if (e.dataTransfer.setDragImage && !safari) { - var img = elt("img", null, null, "position: fixed; left: 0; top: 0;"); - img.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; - if (presto) { - img.width = img.height = 1; - cm.display.wrapper.appendChild(img); - // Force a relayout, or Opera won't use our image for some obscure reason - img._top = img.offsetTop; - } - e.dataTransfer.setDragImage(img, 0, 0); - if (presto) { img.parentNode.removeChild(img); } - } - } - - function onDragOver(cm, e) { - var pos = posFromMouse(cm, e); - if (!pos) { return } - var frag = document.createDocumentFragment(); - drawSelectionCursor(cm, pos, frag); - if (!cm.display.dragCursor) { - cm.display.dragCursor = elt("div", null, "CodeMirror-cursors CodeMirror-dragcursors"); - cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv); - } - removeChildrenAndAdd(cm.display.dragCursor, frag); - } - - function clearDragCursor(cm) { - if (cm.display.dragCursor) { - cm.display.lineSpace.removeChild(cm.display.dragCursor); - cm.display.dragCursor = null; - } - } - - // These must be handled carefully, because naively registering a - // handler for each editor will cause the editors to never be - // garbage collected. - - function forEachCodeMirror(f) { - if (!document.getElementsByClassName) { return } - var byClass = document.getElementsByClassName("CodeMirror"), editors = []; - for (var i = 0; i < byClass.length; i++) { - var cm = byClass[i].CodeMirror; - if (cm) { editors.push(cm); } - } - if (editors.length) { editors[0].operation(function () { - for (var i = 0; i < editors.length; i++) { f(editors[i]); } - }); } - } - - var globalsRegistered = false; - function ensureGlobalHandlers() { - if (globalsRegistered) { return } - registerGlobalHandlers(); - globalsRegistered = true; - } - function registerGlobalHandlers() { - // When the window resizes, we need to refresh active editors. - var resizeTimer; - on(window, "resize", function () { - if (resizeTimer == null) { resizeTimer = setTimeout(function () { - resizeTimer = null; - forEachCodeMirror(onResize); - }, 100); } - }); - // When the window loses focus, we want to show the editor as blurred - on(window, "blur", function () { return forEachCodeMirror(onBlur); }); - } - // Called when the window resizes - function onResize(cm) { - var d = cm.display; - // Might be a text scaling operation, clear size caches. - d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; - d.scrollbarsClipped = false; - cm.setSize(); - } - - var keyNames = { - 3: "Pause", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", - 19: "Pause", 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End", - 36: "Home", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert", - 46: "Delete", 59: ";", 61: "=", 91: "Mod", 92: "Mod", 93: "Mod", - 106: "*", 107: "=", 109: "-", 110: ".", 111: "/", 145: "ScrollLock", - 173: "-", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", - 221: "]", 222: "'", 224: "Mod", 63232: "Up", 63233: "Down", 63234: "Left", 63235: "Right", 63272: "Delete", - 63273: "Home", 63275: "End", 63276: "PageUp", 63277: "PageDown", 63302: "Insert" - }; - - // Number keys - for (var i = 0; i < 10; i++) { keyNames[i + 48] = keyNames[i + 96] = String(i); } - // Alphabetic keys - for (var i$1 = 65; i$1 <= 90; i$1++) { keyNames[i$1] = String.fromCharCode(i$1); } - // Function keys - for (var i$2 = 1; i$2 <= 12; i$2++) { keyNames[i$2 + 111] = keyNames[i$2 + 63235] = "F" + i$2; } - - var keyMap = {}; - - keyMap.basic = { - "Left": "goCharLeft", "Right": "goCharRight", "Up": "goLineUp", "Down": "goLineDown", - "End": "goLineEnd", "Home": "goLineStartSmart", "PageUp": "goPageUp", "PageDown": "goPageDown", - "Delete": "delCharAfter", "Backspace": "delCharBefore", "Shift-Backspace": "delCharBefore", - "Tab": "defaultTab", "Shift-Tab": "indentAuto", - "Enter": "newlineAndIndent", "Insert": "toggleOverwrite", - "Esc": "singleSelection" - }; - // Note that the save and find-related commands aren't defined by - // default. User code or addons can define them. Unknown commands - // are simply ignored. - keyMap.pcDefault = { - "Ctrl-A": "selectAll", "Ctrl-D": "deleteLine", "Ctrl-Z": "undo", "Shift-Ctrl-Z": "redo", "Ctrl-Y": "redo", - "Ctrl-Home": "goDocStart", "Ctrl-End": "goDocEnd", "Ctrl-Up": "goLineUp", "Ctrl-Down": "goLineDown", - "Ctrl-Left": "goGroupLeft", "Ctrl-Right": "goGroupRight", "Alt-Left": "goLineStart", "Alt-Right": "goLineEnd", - "Ctrl-Backspace": "delGroupBefore", "Ctrl-Delete": "delGroupAfter", "Ctrl-S": "save", "Ctrl-F": "find", - "Ctrl-G": "findNext", "Shift-Ctrl-G": "findPrev", "Shift-Ctrl-F": "replace", "Shift-Ctrl-R": "replaceAll", - "Ctrl-[": "indentLess", "Ctrl-]": "indentMore", - "Ctrl-U": "undoSelection", "Shift-Ctrl-U": "redoSelection", "Alt-U": "redoSelection", - "fallthrough": "basic" - }; - // Very basic readline/emacs-style bindings, which are standard on Mac. - keyMap.emacsy = { - "Ctrl-F": "goCharRight", "Ctrl-B": "goCharLeft", "Ctrl-P": "goLineUp", "Ctrl-N": "goLineDown", - "Alt-F": "goWordRight", "Alt-B": "goWordLeft", "Ctrl-A": "goLineStart", "Ctrl-E": "goLineEnd", - "Ctrl-V": "goPageDown", "Shift-Ctrl-V": "goPageUp", "Ctrl-D": "delCharAfter", "Ctrl-H": "delCharBefore", - "Alt-D": "delWordAfter", "Alt-Backspace": "delWordBefore", "Ctrl-K": "killLine", "Ctrl-T": "transposeChars", - "Ctrl-O": "openLine" - }; - keyMap.macDefault = { - "Cmd-A": "selectAll", "Cmd-D": "deleteLine", "Cmd-Z": "undo", "Shift-Cmd-Z": "redo", "Cmd-Y": "redo", - "Cmd-Home": "goDocStart", "Cmd-Up": "goDocStart", "Cmd-End": "goDocEnd", "Cmd-Down": "goDocEnd", "Alt-Left": "goGroupLeft", - "Alt-Right": "goGroupRight", "Cmd-Left": "goLineLeft", "Cmd-Right": "goLineRight", "Alt-Backspace": "delGroupBefore", - "Ctrl-Alt-Backspace": "delGroupAfter", "Alt-Delete": "delGroupAfter", "Cmd-S": "save", "Cmd-F": "find", - "Cmd-G": "findNext", "Shift-Cmd-G": "findPrev", "Cmd-Alt-F": "replace", "Shift-Cmd-Alt-F": "replaceAll", - "Cmd-[": "indentLess", "Cmd-]": "indentMore", "Cmd-Backspace": "delWrappedLineLeft", "Cmd-Delete": "delWrappedLineRight", - "Cmd-U": "undoSelection", "Shift-Cmd-U": "redoSelection", "Ctrl-Up": "goDocStart", "Ctrl-Down": "goDocEnd", - "fallthrough": ["basic", "emacsy"] - }; - keyMap["default"] = mac ? keyMap.macDefault : keyMap.pcDefault; - - // KEYMAP DISPATCH - - function normalizeKeyName(name) { - var parts = name.split(/-(?!$)/); - name = parts[parts.length - 1]; - var alt, ctrl, shift, cmd; - for (var i = 0; i < parts.length - 1; i++) { - var mod = parts[i]; - if (/^(cmd|meta|m)$/i.test(mod)) { cmd = true; } - else if (/^a(lt)?$/i.test(mod)) { alt = true; } - else if (/^(c|ctrl|control)$/i.test(mod)) { ctrl = true; } - else if (/^s(hift)?$/i.test(mod)) { shift = true; } - else { throw new Error("Unrecognized modifier name: " + mod) } - } - if (alt) { name = "Alt-" + name; } - if (ctrl) { name = "Ctrl-" + name; } - if (cmd) { name = "Cmd-" + name; } - if (shift) { name = "Shift-" + name; } - return name - } - - // This is a kludge to keep keymaps mostly working as raw objects - // (backwards compatibility) while at the same time support features - // like normalization and multi-stroke key bindings. It compiles a - // new normalized keymap, and then updates the old object to reflect - // this. - function normalizeKeyMap(keymap) { - var copy = {}; - for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) { - var value = keymap[keyname]; - if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue } - if (value == "...") { delete keymap[keyname]; continue } - - var keys = map(keyname.split(" "), normalizeKeyName); - for (var i = 0; i < keys.length; i++) { - var val = (void 0), name = (void 0); - if (i == keys.length - 1) { - name = keys.join(" "); - val = value; - } else { - name = keys.slice(0, i + 1).join(" "); - val = "..."; - } - var prev = copy[name]; - if (!prev) { copy[name] = val; } - else if (prev != val) { throw new Error("Inconsistent bindings for " + name) } - } - delete keymap[keyname]; - } } - for (var prop in copy) { keymap[prop] = copy[prop]; } - return keymap - } - - function lookupKey(key, map, handle, context) { - map = getKeyMap(map); - var found = map.call ? map.call(key, context) : map[key]; - if (found === false) { return "nothing" } - if (found === "...") { return "multi" } - if (found != null && handle(found)) { return "handled" } - - if (map.fallthrough) { - if (Object.prototype.toString.call(map.fallthrough) != "[object Array]") - { return lookupKey(key, map.fallthrough, handle, context) } - for (var i = 0; i < map.fallthrough.length; i++) { - var result = lookupKey(key, map.fallthrough[i], handle, context); - if (result) { return result } - } - } - } - - // Modifier key presses don't count as 'real' key presses for the - // purpose of keymap fallthrough. - function isModifierKey(value) { - var name = typeof value == "string" ? value : keyNames[value.keyCode]; - return name == "Ctrl" || name == "Alt" || name == "Shift" || name == "Mod" - } - - function addModifierNames(name, event, noShift) { - var base = name; - if (event.altKey && base != "Alt") { name = "Alt-" + name; } - if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != "Ctrl") { name = "Ctrl-" + name; } - if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != "Mod") { name = "Cmd-" + name; } - if (!noShift && event.shiftKey && base != "Shift") { name = "Shift-" + name; } - return name - } - - // Look up the name of a key as indicated by an event object. - function keyName(event, noShift) { - if (presto && event.keyCode == 34 && event["char"]) { return false } - var name = keyNames[event.keyCode]; - if (name == null || event.altGraphKey) { return false } - // Ctrl-ScrollLock has keyCode 3, same as Ctrl-Pause, - // so we'll use event.code when available (Chrome 48+, FF 38+, Safari 10.1+) - if (event.keyCode == 3 && event.code) { name = event.code; } - return addModifierNames(name, event, noShift) - } - - function getKeyMap(val) { - return typeof val == "string" ? keyMap[val] : val - } - - // Helper for deleting text near the selection(s), used to implement - // backspace, delete, and similar functionality. - function deleteNearSelection(cm, compute) { - var ranges = cm.doc.sel.ranges, kill = []; - // Build up a set of ranges to kill first, merging overlapping - // ranges. - for (var i = 0; i < ranges.length; i++) { - var toKill = compute(ranges[i]); - while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) { - var replaced = kill.pop(); - if (cmp(replaced.from, toKill.from) < 0) { - toKill.from = replaced.from; - break - } - } - kill.push(toKill); - } - // Next, remove those actual ranges. - runInOp(cm, function () { - for (var i = kill.length - 1; i >= 0; i--) - { replaceRange(cm.doc, "", kill[i].from, kill[i].to, "+delete"); } - ensureCursorVisible(cm); - }); - } - - function moveCharLogically(line, ch, dir) { - var target = skipExtendingChars(line.text, ch + dir, dir); - return target < 0 || target > line.text.length ? null : target - } - - function moveLogically(line, start, dir) { - var ch = moveCharLogically(line, start.ch, dir); - return ch == null ? null : new Pos(start.line, ch, dir < 0 ? "after" : "before") - } - - function endOfLine(visually, cm, lineObj, lineNo, dir) { - if (visually) { - if (cm.doc.direction == "rtl") { dir = -dir; } - var order = getOrder(lineObj, cm.doc.direction); - if (order) { - var part = dir < 0 ? lst(order) : order[0]; - var moveInStorageOrder = (dir < 0) == (part.level == 1); - var sticky = moveInStorageOrder ? "after" : "before"; - var ch; - // With a wrapped rtl chunk (possibly spanning multiple bidi parts), - // it could be that the last bidi part is not on the last visual line, - // since visual lines contain content order-consecutive chunks. - // Thus, in rtl, we are looking for the first (content-order) character - // in the rtl chunk that is on the last line (that is, the same line - // as the last (content-order) character). - if (part.level > 0 || cm.doc.direction == "rtl") { - var prep = prepareMeasureForLine(cm, lineObj); - ch = dir < 0 ? lineObj.text.length - 1 : 0; - var targetTop = measureCharPrepared(cm, prep, ch).top; - ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch); - if (sticky == "before") { ch = moveCharLogically(lineObj, ch, 1); } - } else { ch = dir < 0 ? part.to : part.from; } - return new Pos(lineNo, ch, sticky) - } - } - return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? "before" : "after") - } - - function moveVisually(cm, line, start, dir) { - var bidi = getOrder(line, cm.doc.direction); - if (!bidi) { return moveLogically(line, start, dir) } - if (start.ch >= line.text.length) { - start.ch = line.text.length; - start.sticky = "before"; - } else if (start.ch <= 0) { - start.ch = 0; - start.sticky = "after"; - } - var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos]; - if (cm.doc.direction == "ltr" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) { - // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines, - // nothing interesting happens. - return moveLogically(line, start, dir) - } - - var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); }; - var prep; - var getWrappedLineExtent = function (ch) { - if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} } - prep = prep || prepareMeasureForLine(cm, line); - return wrappedLineExtentChar(cm, line, prep, ch) - }; - var wrappedLineExtent = getWrappedLineExtent(start.sticky == "before" ? mv(start, -1) : start.ch); - - if (cm.doc.direction == "rtl" || part.level == 1) { - var moveInStorageOrder = (part.level == 1) == (dir < 0); - var ch = mv(start, moveInStorageOrder ? 1 : -1); - if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) { - // Case 2: We move within an rtl part or in an rtl editor on the same visual line - var sticky = moveInStorageOrder ? "before" : "after"; - return new Pos(start.line, ch, sticky) - } - } - - // Case 3: Could not move within this bidi part in this visual line, so leave - // the current bidi part - - var searchInVisualLine = function (partPos, dir, wrappedLineExtent) { - var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder - ? new Pos(start.line, mv(ch, 1), "before") - : new Pos(start.line, ch, "after"); }; - - for (; partPos >= 0 && partPos < bidi.length; partPos += dir) { - var part = bidi[partPos]; - var moveInStorageOrder = (dir > 0) == (part.level != 1); - var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1); - if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) } - ch = moveInStorageOrder ? part.from : mv(part.to, -1); - if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) } - } - }; - - // Case 3a: Look for other bidi parts on the same visual line - var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent); - if (res) { return res } - - // Case 3b: Look for other bidi parts on the next visual line - var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1); - if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) { - res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh)); - if (res) { return res } - } - - // Case 4: Nowhere to move - return null - } - - // Commands are parameter-less actions that can be performed on an - // editor, mostly used for keybindings. - var commands = { - selectAll: selectAll, - singleSelection: function (cm) { return cm.setSelection(cm.getCursor("anchor"), cm.getCursor("head"), sel_dontScroll); }, - killLine: function (cm) { return deleteNearSelection(cm, function (range) { - if (range.empty()) { - var len = getLine(cm.doc, range.head.line).text.length; - if (range.head.ch == len && range.head.line < cm.lastLine()) - { return {from: range.head, to: Pos(range.head.line + 1, 0)} } - else - { return {from: range.head, to: Pos(range.head.line, len)} } - } else { - return {from: range.from(), to: range.to()} - } - }); }, - deleteLine: function (cm) { return deleteNearSelection(cm, function (range) { return ({ - from: Pos(range.from().line, 0), - to: clipPos(cm.doc, Pos(range.to().line + 1, 0)) - }); }); }, - delLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { return ({ - from: Pos(range.from().line, 0), to: range.from() - }); }); }, - delWrappedLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { - var top = cm.charCoords(range.head, "div").top + 5; - var leftPos = cm.coordsChar({left: 0, top: top}, "div"); - return {from: leftPos, to: range.from()} - }); }, - delWrappedLineRight: function (cm) { return deleteNearSelection(cm, function (range) { - var top = cm.charCoords(range.head, "div").top + 5; - var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div"); - return {from: range.from(), to: rightPos } - }); }, - undo: function (cm) { return cm.undo(); }, - redo: function (cm) { return cm.redo(); }, - undoSelection: function (cm) { return cm.undoSelection(); }, - redoSelection: function (cm) { return cm.redoSelection(); }, - goDocStart: function (cm) { return cm.extendSelection(Pos(cm.firstLine(), 0)); }, - goDocEnd: function (cm) { return cm.extendSelection(Pos(cm.lastLine())); }, - goLineStart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStart(cm, range.head.line); }, - {origin: "+move", bias: 1} - ); }, - goLineStartSmart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStartSmart(cm, range.head); }, - {origin: "+move", bias: 1} - ); }, - goLineEnd: function (cm) { return cm.extendSelectionsBy(function (range) { return lineEnd(cm, range.head.line); }, - {origin: "+move", bias: -1} - ); }, - goLineRight: function (cm) { return cm.extendSelectionsBy(function (range) { - var top = cm.cursorCoords(range.head, "div").top + 5; - return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div") - }, sel_move); }, - goLineLeft: function (cm) { return cm.extendSelectionsBy(function (range) { - var top = cm.cursorCoords(range.head, "div").top + 5; - return cm.coordsChar({left: 0, top: top}, "div") - }, sel_move); }, - goLineLeftSmart: function (cm) { return cm.extendSelectionsBy(function (range) { - var top = cm.cursorCoords(range.head, "div").top + 5; - var pos = cm.coordsChar({left: 0, top: top}, "div"); - if (pos.ch < cm.getLine(pos.line).search(/\S/)) { return lineStartSmart(cm, range.head) } - return pos - }, sel_move); }, - goLineUp: function (cm) { return cm.moveV(-1, "line"); }, - goLineDown: function (cm) { return cm.moveV(1, "line"); }, - goPageUp: function (cm) { return cm.moveV(-1, "page"); }, - goPageDown: function (cm) { return cm.moveV(1, "page"); }, - goCharLeft: function (cm) { return cm.moveH(-1, "char"); }, - goCharRight: function (cm) { return cm.moveH(1, "char"); }, - goColumnLeft: function (cm) { return cm.moveH(-1, "column"); }, - goColumnRight: function (cm) { return cm.moveH(1, "column"); }, - goWordLeft: function (cm) { return cm.moveH(-1, "word"); }, - goGroupRight: function (cm) { return cm.moveH(1, "group"); }, - goGroupLeft: function (cm) { return cm.moveH(-1, "group"); }, - goWordRight: function (cm) { return cm.moveH(1, "word"); }, - delCharBefore: function (cm) { return cm.deleteH(-1, "codepoint"); }, - delCharAfter: function (cm) { return cm.deleteH(1, "char"); }, - delWordBefore: function (cm) { return cm.deleteH(-1, "word"); }, - delWordAfter: function (cm) { return cm.deleteH(1, "word"); }, - delGroupBefore: function (cm) { return cm.deleteH(-1, "group"); }, - delGroupAfter: function (cm) { return cm.deleteH(1, "group"); }, - indentAuto: function (cm) { return cm.indentSelection("smart"); }, - indentMore: function (cm) { return cm.indentSelection("add"); }, - indentLess: function (cm) { return cm.indentSelection("subtract"); }, - insertTab: function (cm) { return cm.replaceSelection("\t"); }, - insertSoftTab: function (cm) { - var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize; - for (var i = 0; i < ranges.length; i++) { - var pos = ranges[i].from(); - var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize); - spaces.push(spaceStr(tabSize - col % tabSize)); - } - cm.replaceSelections(spaces); - }, - defaultTab: function (cm) { - if (cm.somethingSelected()) { cm.indentSelection("add"); } - else { cm.execCommand("insertTab"); } - }, - // Swap the two chars left and right of each selection's head. - // Move cursor behind the two swapped characters afterwards. - // - // Doesn't consider line feeds a character. - // Doesn't scan more than one line above to find a character. - // Doesn't do anything on an empty line. - // Doesn't do anything with non-empty selections. - transposeChars: function (cm) { return runInOp(cm, function () { - var ranges = cm.listSelections(), newSel = []; - for (var i = 0; i < ranges.length; i++) { - if (!ranges[i].empty()) { continue } - var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text; - if (line) { - if (cur.ch == line.length) { cur = new Pos(cur.line, cur.ch - 1); } - if (cur.ch > 0) { - cur = new Pos(cur.line, cur.ch + 1); - cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2), - Pos(cur.line, cur.ch - 2), cur, "+transpose"); - } else if (cur.line > cm.doc.first) { - var prev = getLine(cm.doc, cur.line - 1).text; - if (prev) { - cur = new Pos(cur.line, 1); - cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() + - prev.charAt(prev.length - 1), - Pos(cur.line - 1, prev.length - 1), cur, "+transpose"); - } - } - } - newSel.push(new Range(cur, cur)); - } - cm.setSelections(newSel); - }); }, - newlineAndIndent: function (cm) { return runInOp(cm, function () { - var sels = cm.listSelections(); - for (var i = sels.length - 1; i >= 0; i--) - { cm.replaceRange(cm.doc.lineSeparator(), sels[i].anchor, sels[i].head, "+input"); } - sels = cm.listSelections(); - for (var i$1 = 0; i$1 < sels.length; i$1++) - { cm.indentLine(sels[i$1].from().line, null, true); } - ensureCursorVisible(cm); - }); }, - openLine: function (cm) { return cm.replaceSelection("\n", "start"); }, - toggleOverwrite: function (cm) { return cm.toggleOverwrite(); } - }; - - - function lineStart(cm, lineN) { - var line = getLine(cm.doc, lineN); - var visual = visualLine(line); - if (visual != line) { lineN = lineNo(visual); } - return endOfLine(true, cm, visual, lineN, 1) - } - function lineEnd(cm, lineN) { - var line = getLine(cm.doc, lineN); - var visual = visualLineEnd(line); - if (visual != line) { lineN = lineNo(visual); } - return endOfLine(true, cm, line, lineN, -1) - } - function lineStartSmart(cm, pos) { - var start = lineStart(cm, pos.line); - var line = getLine(cm.doc, start.line); - var order = getOrder(line, cm.doc.direction); - if (!order || order[0].level == 0) { - var firstNonWS = Math.max(start.ch, line.text.search(/\S/)); - var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch; - return Pos(start.line, inWS ? 0 : firstNonWS, start.sticky) - } - return start - } - - // Run a handler that was bound to a key. - function doHandleBinding(cm, bound, dropShift) { - if (typeof bound == "string") { - bound = commands[bound]; - if (!bound) { return false } - } - // Ensure previous input has been read, so that the handler sees a - // consistent view of the document - cm.display.input.ensurePolled(); - var prevShift = cm.display.shift, done = false; - try { - if (cm.isReadOnly()) { cm.state.suppressEdits = true; } - if (dropShift) { cm.display.shift = false; } - done = bound(cm) != Pass; - } finally { - cm.display.shift = prevShift; - cm.state.suppressEdits = false; - } - return done - } - - function lookupKeyForEditor(cm, name, handle) { - for (var i = 0; i < cm.state.keyMaps.length; i++) { - var result = lookupKey(name, cm.state.keyMaps[i], handle, cm); - if (result) { return result } - } - return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm)) - || lookupKey(name, cm.options.keyMap, handle, cm) - } - - // Note that, despite the name, this function is also used to check - // for bound mouse clicks. - - var stopSeq = new Delayed; - - function dispatchKey(cm, name, e, handle) { - var seq = cm.state.keySeq; - if (seq) { - if (isModifierKey(name)) { return "handled" } - if (/\'$/.test(name)) - { cm.state.keySeq = null; } - else - { stopSeq.set(50, function () { - if (cm.state.keySeq == seq) { - cm.state.keySeq = null; - cm.display.input.reset(); - } - }); } - if (dispatchKeyInner(cm, seq + " " + name, e, handle)) { return true } - } - return dispatchKeyInner(cm, name, e, handle) - } - - function dispatchKeyInner(cm, name, e, handle) { - var result = lookupKeyForEditor(cm, name, handle); - - if (result == "multi") - { cm.state.keySeq = name; } - if (result == "handled") - { signalLater(cm, "keyHandled", cm, name, e); } - - if (result == "handled" || result == "multi") { - e_preventDefault(e); - restartBlink(cm); - } - - return !!result - } - - // Handle a key from the keydown event. - function handleKeyBinding(cm, e) { - var name = keyName(e, true); - if (!name) { return false } - - if (e.shiftKey && !cm.state.keySeq) { - // First try to resolve full name (including 'Shift-'). Failing - // that, see if there is a cursor-motion command (starting with - // 'go') bound to the keyname without 'Shift-'. - return dispatchKey(cm, "Shift-" + name, e, function (b) { return doHandleBinding(cm, b, true); }) - || dispatchKey(cm, name, e, function (b) { - if (typeof b == "string" ? /^go[A-Z]/.test(b) : b.motion) - { return doHandleBinding(cm, b) } - }) - } else { - return dispatchKey(cm, name, e, function (b) { return doHandleBinding(cm, b); }) - } - } - - // Handle a key from the keypress event - function handleCharBinding(cm, e, ch) { - return dispatchKey(cm, "'" + ch + "'", e, function (b) { return doHandleBinding(cm, b, true); }) - } - - var lastStoppedKey = null; - function onKeyDown(e) { - var cm = this; - if (e.target && e.target != cm.display.input.getField()) { return } - cm.curOp.focus = activeElt(); - if (signalDOMEvent(cm, e)) { return } - // IE does strange things with escape. - if (ie && ie_version < 11 && e.keyCode == 27) { e.returnValue = false; } - var code = e.keyCode; - cm.display.shift = code == 16 || e.shiftKey; - var handled = handleKeyBinding(cm, e); - if (presto) { - lastStoppedKey = handled ? code : null; - // Opera has no cut event... we try to at least catch the key combo - if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey)) - { cm.replaceSelection("", null, "cut"); } - } - if (gecko && !mac && !handled && code == 46 && e.shiftKey && !e.ctrlKey && document.execCommand) - { document.execCommand("cut"); } - - // Turn mouse into crosshair when Alt is held on Mac. - if (code == 18 && !/\bCodeMirror-crosshair\b/.test(cm.display.lineDiv.className)) - { showCrossHair(cm); } - } - - function showCrossHair(cm) { - var lineDiv = cm.display.lineDiv; - addClass(lineDiv, "CodeMirror-crosshair"); - - function up(e) { - if (e.keyCode == 18 || !e.altKey) { - rmClass(lineDiv, "CodeMirror-crosshair"); - off(document, "keyup", up); - off(document, "mouseover", up); - } - } - on(document, "keyup", up); - on(document, "mouseover", up); - } - - function onKeyUp(e) { - if (e.keyCode == 16) { this.doc.sel.shift = false; } - signalDOMEvent(this, e); - } - - function onKeyPress(e) { - var cm = this; - if (e.target && e.target != cm.display.input.getField()) { return } - if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) { return } - var keyCode = e.keyCode, charCode = e.charCode; - if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return} - if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) { return } - var ch = String.fromCharCode(charCode == null ? keyCode : charCode); - // Some browsers fire keypress events for backspace - if (ch == "\x08") { return } - if (handleCharBinding(cm, e, ch)) { return } - cm.display.input.onKeyPress(e); - } - - var DOUBLECLICK_DELAY = 400; - - var PastClick = function(time, pos, button) { - this.time = time; - this.pos = pos; - this.button = button; - }; - - PastClick.prototype.compare = function (time, pos, button) { - return this.time + DOUBLECLICK_DELAY > time && - cmp(pos, this.pos) == 0 && button == this.button - }; - - var lastClick, lastDoubleClick; - function clickRepeat(pos, button) { - var now = +new Date; - if (lastDoubleClick && lastDoubleClick.compare(now, pos, button)) { - lastClick = lastDoubleClick = null; - return "triple" - } else if (lastClick && lastClick.compare(now, pos, button)) { - lastDoubleClick = new PastClick(now, pos, button); - lastClick = null; - return "double" - } else { - lastClick = new PastClick(now, pos, button); - lastDoubleClick = null; - return "single" - } - } - - // A mouse down can be a single click, double click, triple click, - // start of selection drag, start of text drag, new cursor - // (ctrl-click), rectangle drag (alt-drag), or xwin - // middle-click-paste. Or it might be a click on something we should - // not interfere with, such as a scrollbar or widget. - function onMouseDown(e) { - var cm = this, display = cm.display; - if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) { return } - display.input.ensurePolled(); - display.shift = e.shiftKey; - - if (eventInWidget(display, e)) { - if (!webkit) { - // Briefly turn off draggability, to allow widgets to do - // normal dragging things. - display.scroller.draggable = false; - setTimeout(function () { return display.scroller.draggable = true; }, 100); - } - return - } - if (clickInGutter(cm, e)) { return } - var pos = posFromMouse(cm, e), button = e_button(e), repeat = pos ? clickRepeat(pos, button) : "single"; - window.focus(); - - // #3261: make sure, that we're not starting a second selection - if (button == 1 && cm.state.selectingText) - { cm.state.selectingText(e); } - - if (pos && handleMappedButton(cm, button, pos, repeat, e)) { return } - - if (button == 1) { - if (pos) { leftButtonDown(cm, pos, repeat, e); } - else if (e_target(e) == display.scroller) { e_preventDefault(e); } - } else if (button == 2) { - if (pos) { extendSelection(cm.doc, pos); } - setTimeout(function () { return display.input.focus(); }, 20); - } else if (button == 3) { - if (captureRightClick) { cm.display.input.onContextMenu(e); } - else { delayBlurEvent(cm); } - } - } - - function handleMappedButton(cm, button, pos, repeat, event) { - var name = "Click"; - if (repeat == "double") { name = "Double" + name; } - else if (repeat == "triple") { name = "Triple" + name; } - name = (button == 1 ? "Left" : button == 2 ? "Middle" : "Right") + name; - - return dispatchKey(cm, addModifierNames(name, event), event, function (bound) { - if (typeof bound == "string") { bound = commands[bound]; } - if (!bound) { return false } - var done = false; - try { - if (cm.isReadOnly()) { cm.state.suppressEdits = true; } - done = bound(cm, pos) != Pass; - } finally { - cm.state.suppressEdits = false; - } - return done - }) - } - - function configureMouse(cm, repeat, event) { - var option = cm.getOption("configureMouse"); - var value = option ? option(cm, repeat, event) : {}; - if (value.unit == null) { - var rect = chromeOS ? event.shiftKey && event.metaKey : event.altKey; - value.unit = rect ? "rectangle" : repeat == "single" ? "char" : repeat == "double" ? "word" : "line"; - } - if (value.extend == null || cm.doc.extend) { value.extend = cm.doc.extend || event.shiftKey; } - if (value.addNew == null) { value.addNew = mac ? event.metaKey : event.ctrlKey; } - if (value.moveOnDrag == null) { value.moveOnDrag = !(mac ? event.altKey : event.ctrlKey); } - return value - } - - function leftButtonDown(cm, pos, repeat, event) { - if (ie) { setTimeout(bind(ensureFocus, cm), 0); } - else { cm.curOp.focus = activeElt(); } - - var behavior = configureMouse(cm, repeat, event); - - var sel = cm.doc.sel, contained; - if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() && - repeat == "single" && (contained = sel.contains(pos)) > -1 && - (cmp((contained = sel.ranges[contained]).from(), pos) < 0 || pos.xRel > 0) && - (cmp(contained.to(), pos) > 0 || pos.xRel < 0)) - { leftButtonStartDrag(cm, event, pos, behavior); } - else - { leftButtonSelect(cm, event, pos, behavior); } - } - - // Start a text drag. When it ends, see if any dragging actually - // happen, and treat as a click if it didn't. - function leftButtonStartDrag(cm, event, pos, behavior) { - var display = cm.display, moved = false; - var dragEnd = operation(cm, function (e) { - if (webkit) { display.scroller.draggable = false; } - cm.state.draggingText = false; - if (cm.state.delayingBlurEvent) { - if (cm.hasFocus()) { cm.state.delayingBlurEvent = false; } - else { delayBlurEvent(cm); } - } - off(display.wrapper.ownerDocument, "mouseup", dragEnd); - off(display.wrapper.ownerDocument, "mousemove", mouseMove); - off(display.scroller, "dragstart", dragStart); - off(display.scroller, "drop", dragEnd); - if (!moved) { - e_preventDefault(e); - if (!behavior.addNew) - { extendSelection(cm.doc, pos, null, null, behavior.extend); } - // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081) - if ((webkit && !safari) || ie && ie_version == 9) - { setTimeout(function () {display.wrapper.ownerDocument.body.focus({preventScroll: true}); display.input.focus();}, 20); } - else - { display.input.focus(); } - } - }); - var mouseMove = function(e2) { - moved = moved || Math.abs(event.clientX - e2.clientX) + Math.abs(event.clientY - e2.clientY) >= 10; - }; - var dragStart = function () { return moved = true; }; - // Let the drag handler handle this. - if (webkit) { display.scroller.draggable = true; } - cm.state.draggingText = dragEnd; - dragEnd.copy = !behavior.moveOnDrag; - on(display.wrapper.ownerDocument, "mouseup", dragEnd); - on(display.wrapper.ownerDocument, "mousemove", mouseMove); - on(display.scroller, "dragstart", dragStart); - on(display.scroller, "drop", dragEnd); - - cm.state.delayingBlurEvent = true; - setTimeout(function () { return display.input.focus(); }, 20); - // IE's approach to draggable - if (display.scroller.dragDrop) { display.scroller.dragDrop(); } - } - - function rangeForUnit(cm, pos, unit) { - if (unit == "char") { return new Range(pos, pos) } - if (unit == "word") { return cm.findWordAt(pos) } - if (unit == "line") { return new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) } - var result = unit(cm, pos); - return new Range(result.from, result.to) - } - - // Normal selection, as opposed to text dragging. - function leftButtonSelect(cm, event, start, behavior) { - if (ie) { delayBlurEvent(cm); } - var display = cm.display, doc = cm.doc; - e_preventDefault(event); - - var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges; - if (behavior.addNew && !behavior.extend) { - ourIndex = doc.sel.contains(start); - if (ourIndex > -1) - { ourRange = ranges[ourIndex]; } - else - { ourRange = new Range(start, start); } - } else { - ourRange = doc.sel.primary(); - ourIndex = doc.sel.primIndex; - } - - if (behavior.unit == "rectangle") { - if (!behavior.addNew) { ourRange = new Range(start, start); } - start = posFromMouse(cm, event, true, true); - ourIndex = -1; - } else { - var range = rangeForUnit(cm, start, behavior.unit); - if (behavior.extend) - { ourRange = extendRange(ourRange, range.anchor, range.head, behavior.extend); } - else - { ourRange = range; } - } - - if (!behavior.addNew) { - ourIndex = 0; - setSelection(doc, new Selection([ourRange], 0), sel_mouse); - startSel = doc.sel; - } else if (ourIndex == -1) { - ourIndex = ranges.length; - setSelection(doc, normalizeSelection(cm, ranges.concat([ourRange]), ourIndex), - {scroll: false, origin: "*mouse"}); - } else if (ranges.length > 1 && ranges[ourIndex].empty() && behavior.unit == "char" && !behavior.extend) { - setSelection(doc, normalizeSelection(cm, ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0), - {scroll: false, origin: "*mouse"}); - startSel = doc.sel; - } else { - replaceOneSelection(doc, ourIndex, ourRange, sel_mouse); - } - - var lastPos = start; - function extendTo(pos) { - if (cmp(lastPos, pos) == 0) { return } - lastPos = pos; - - if (behavior.unit == "rectangle") { - var ranges = [], tabSize = cm.options.tabSize; - var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize); - var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize); - var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol); - for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line)); - line <= end; line++) { - var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize); - if (left == right) - { ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))); } - else if (text.length > leftPos) - { ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))); } - } - if (!ranges.length) { ranges.push(new Range(start, start)); } - setSelection(doc, normalizeSelection(cm, startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex), - {origin: "*mouse", scroll: false}); - cm.scrollIntoView(pos); - } else { - var oldRange = ourRange; - var range = rangeForUnit(cm, pos, behavior.unit); - var anchor = oldRange.anchor, head; - if (cmp(range.anchor, anchor) > 0) { - head = range.head; - anchor = minPos(oldRange.from(), range.anchor); - } else { - head = range.anchor; - anchor = maxPos(oldRange.to(), range.head); - } - var ranges$1 = startSel.ranges.slice(0); - ranges$1[ourIndex] = bidiSimplify(cm, new Range(clipPos(doc, anchor), head)); - setSelection(doc, normalizeSelection(cm, ranges$1, ourIndex), sel_mouse); - } - } - - var editorSize = display.wrapper.getBoundingClientRect(); - // Used to ensure timeout re-tries don't fire when another extend - // happened in the meantime (clearTimeout isn't reliable -- at - // least on Chrome, the timeouts still happen even when cleared, - // if the clear happens after their scheduled firing time). - var counter = 0; - - function extend(e) { - var curCount = ++counter; - var cur = posFromMouse(cm, e, true, behavior.unit == "rectangle"); - if (!cur) { return } - if (cmp(cur, lastPos) != 0) { - cm.curOp.focus = activeElt(); - extendTo(cur); - var visible = visibleLines(display, doc); - if (cur.line >= visible.to || cur.line < visible.from) - { setTimeout(operation(cm, function () {if (counter == curCount) { extend(e); }}), 150); } - } else { - var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0; - if (outside) { setTimeout(operation(cm, function () { - if (counter != curCount) { return } - display.scroller.scrollTop += outside; - extend(e); - }), 50); } - } - } - - function done(e) { - cm.state.selectingText = false; - counter = Infinity; - // If e is null or undefined we interpret this as someone trying - // to explicitly cancel the selection rather than the user - // letting go of the mouse button. - if (e) { - e_preventDefault(e); - display.input.focus(); - } - off(display.wrapper.ownerDocument, "mousemove", move); - off(display.wrapper.ownerDocument, "mouseup", up); - doc.history.lastSelOrigin = null; - } - - var move = operation(cm, function (e) { - if (e.buttons === 0 || !e_button(e)) { done(e); } - else { extend(e); } - }); - var up = operation(cm, done); - cm.state.selectingText = up; - on(display.wrapper.ownerDocument, "mousemove", move); - on(display.wrapper.ownerDocument, "mouseup", up); - } - - // Used when mouse-selecting to adjust the anchor to the proper side - // of a bidi jump depending on the visual position of the head. - function bidiSimplify(cm, range) { - var anchor = range.anchor; - var head = range.head; - var anchorLine = getLine(cm.doc, anchor.line); - if (cmp(anchor, head) == 0 && anchor.sticky == head.sticky) { return range } - var order = getOrder(anchorLine); - if (!order) { return range } - var index = getBidiPartAt(order, anchor.ch, anchor.sticky), part = order[index]; - if (part.from != anchor.ch && part.to != anchor.ch) { return range } - var boundary = index + ((part.from == anchor.ch) == (part.level != 1) ? 0 : 1); - if (boundary == 0 || boundary == order.length) { return range } - - // Compute the relative visual position of the head compared to the - // anchor (<0 is to the left, >0 to the right) - var leftSide; - if (head.line != anchor.line) { - leftSide = (head.line - anchor.line) * (cm.doc.direction == "ltr" ? 1 : -1) > 0; - } else { - var headIndex = getBidiPartAt(order, head.ch, head.sticky); - var dir = headIndex - index || (head.ch - anchor.ch) * (part.level == 1 ? -1 : 1); - if (headIndex == boundary - 1 || headIndex == boundary) - { leftSide = dir < 0; } - else - { leftSide = dir > 0; } - } - - var usePart = order[boundary + (leftSide ? -1 : 0)]; - var from = leftSide == (usePart.level == 1); - var ch = from ? usePart.from : usePart.to, sticky = from ? "after" : "before"; - return anchor.ch == ch && anchor.sticky == sticky ? range : new Range(new Pos(anchor.line, ch, sticky), head) - } - - - // Determines whether an event happened in the gutter, and fires the - // handlers for the corresponding event. - function gutterEvent(cm, e, type, prevent) { - var mX, mY; - if (e.touches) { - mX = e.touches[0].clientX; - mY = e.touches[0].clientY; - } else { - try { mX = e.clientX; mY = e.clientY; } - catch(e$1) { return false } - } - if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false } - if (prevent) { e_preventDefault(e); } - - var display = cm.display; - var lineBox = display.lineDiv.getBoundingClientRect(); - - if (mY > lineBox.bottom || !hasHandler(cm, type)) { return e_defaultPrevented(e) } - mY -= lineBox.top - display.viewOffset; - - for (var i = 0; i < cm.display.gutterSpecs.length; ++i) { - var g = display.gutters.childNodes[i]; - if (g && g.getBoundingClientRect().right >= mX) { - var line = lineAtHeight(cm.doc, mY); - var gutter = cm.display.gutterSpecs[i]; - signal(cm, type, cm, line, gutter.className, e); - return e_defaultPrevented(e) - } - } - } - - function clickInGutter(cm, e) { - return gutterEvent(cm, e, "gutterClick", true) - } - - // CONTEXT MENU HANDLING - - // To make the context menu work, we need to briefly unhide the - // textarea (making it as unobtrusive as possible) to let the - // right-click take effect on it. - function onContextMenu(cm, e) { - if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) { return } - if (signalDOMEvent(cm, e, "contextmenu")) { return } - if (!captureRightClick) { cm.display.input.onContextMenu(e); } - } - - function contextMenuInGutter(cm, e) { - if (!hasHandler(cm, "gutterContextMenu")) { return false } - return gutterEvent(cm, e, "gutterContextMenu", false) - } - - function themeChanged(cm) { - cm.display.wrapper.className = cm.display.wrapper.className.replace(/\s*cm-s-\S+/g, "") + - cm.options.theme.replace(/(^|\s)\s*/g, " cm-s-"); - clearCaches(cm); - } - - var Init = {toString: function(){return "CodeMirror.Init"}}; - - var defaults = {}; - var optionHandlers = {}; - - function defineOptions(CodeMirror) { - var optionHandlers = CodeMirror.optionHandlers; - - function option(name, deflt, handle, notOnInit) { - CodeMirror.defaults[name] = deflt; - if (handle) { optionHandlers[name] = - notOnInit ? function (cm, val, old) {if (old != Init) { handle(cm, val, old); }} : handle; } - } - - CodeMirror.defineOption = option; - - // Passed to option handlers when there is no old value. - CodeMirror.Init = Init; - - // These two are, on init, called from the constructor because they - // have to be initialized before the editor can start at all. - option("value", "", function (cm, val) { return cm.setValue(val); }, true); - option("mode", null, function (cm, val) { - cm.doc.modeOption = val; - loadMode(cm); - }, true); - - option("indentUnit", 2, loadMode, true); - option("indentWithTabs", false); - option("smartIndent", true); - option("tabSize", 4, function (cm) { - resetModeState(cm); - clearCaches(cm); - regChange(cm); - }, true); - - option("lineSeparator", null, function (cm, val) { - cm.doc.lineSep = val; - if (!val) { return } - var newBreaks = [], lineNo = cm.doc.first; - cm.doc.iter(function (line) { - for (var pos = 0;;) { - var found = line.text.indexOf(val, pos); - if (found == -1) { break } - pos = found + val.length; - newBreaks.push(Pos(lineNo, found)); - } - lineNo++; - }); - for (var i = newBreaks.length - 1; i >= 0; i--) - { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)); } - }); - option("specialChars", /[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g, function (cm, val, old) { - cm.state.specialChars = new RegExp(val.source + (val.test("\t") ? "" : "|\t"), "g"); - if (old != Init) { cm.refresh(); } - }); - option("specialCharPlaceholder", defaultSpecialCharPlaceholder, function (cm) { return cm.refresh(); }, true); - option("electricChars", true); - option("inputStyle", mobile ? "contenteditable" : "textarea", function () { - throw new Error("inputStyle can not (yet) be changed in a running editor") // FIXME - }, true); - option("spellcheck", false, function (cm, val) { return cm.getInputField().spellcheck = val; }, true); - option("autocorrect", false, function (cm, val) { return cm.getInputField().autocorrect = val; }, true); - option("autocapitalize", false, function (cm, val) { return cm.getInputField().autocapitalize = val; }, true); - option("rtlMoveVisually", !windows); - option("wholeLineUpdateBefore", true); - - option("theme", "default", function (cm) { - themeChanged(cm); - updateGutters(cm); - }, true); - option("keyMap", "default", function (cm, val, old) { - var next = getKeyMap(val); - var prev = old != Init && getKeyMap(old); - if (prev && prev.detach) { prev.detach(cm, next); } - if (next.attach) { next.attach(cm, prev || null); } - }); - option("extraKeys", null); - option("configureMouse", null); - - option("lineWrapping", false, wrappingChanged, true); - option("gutters", [], function (cm, val) { - cm.display.gutterSpecs = getGutters(val, cm.options.lineNumbers); - updateGutters(cm); - }, true); - option("fixedGutter", true, function (cm, val) { - cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + "px" : "0"; - cm.refresh(); - }, true); - option("coverGutterNextToScrollbar", false, function (cm) { return updateScrollbars(cm); }, true); - option("scrollbarStyle", "native", function (cm) { - initScrollbars(cm); - updateScrollbars(cm); - cm.display.scrollbars.setScrollTop(cm.doc.scrollTop); - cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft); - }, true); - option("lineNumbers", false, function (cm, val) { - cm.display.gutterSpecs = getGutters(cm.options.gutters, val); - updateGutters(cm); - }, true); - option("firstLineNumber", 1, updateGutters, true); - option("lineNumberFormatter", function (integer) { return integer; }, updateGutters, true); - option("showCursorWhenSelecting", false, updateSelection, true); - - option("resetSelectionOnContextMenu", true); - option("lineWiseCopyCut", true); - option("pasteLinesPerSelection", true); - option("selectionsMayTouch", false); - - option("readOnly", false, function (cm, val) { - if (val == "nocursor") { - onBlur(cm); - cm.display.input.blur(); - } - cm.display.input.readOnlyChanged(val); - }); - - option("screenReaderLabel", null, function (cm, val) { - val = (val === '') ? null : val; - cm.display.input.screenReaderLabelChanged(val); - }); - - option("disableInput", false, function (cm, val) {if (!val) { cm.display.input.reset(); }}, true); - option("dragDrop", true, dragDropChanged); - option("allowDropFileTypes", null); - - option("cursorBlinkRate", 530); - option("cursorScrollMargin", 0); - option("cursorHeight", 1, updateSelection, true); - option("singleCursorHeightPerLine", true, updateSelection, true); - option("workTime", 100); - option("workDelay", 100); - option("flattenSpans", true, resetModeState, true); - option("addModeClass", false, resetModeState, true); - option("pollInterval", 100); - option("undoDepth", 200, function (cm, val) { return cm.doc.history.undoDepth = val; }); - option("historyEventDelay", 1250); - option("viewportMargin", 10, function (cm) { return cm.refresh(); }, true); - option("maxHighlightLength", 10000, resetModeState, true); - option("moveInputWithCursor", true, function (cm, val) { - if (!val) { cm.display.input.resetPosition(); } - }); - - option("tabindex", null, function (cm, val) { return cm.display.input.getField().tabIndex = val || ""; }); - option("autofocus", null); - option("direction", "ltr", function (cm, val) { return cm.doc.setDirection(val); }, true); - option("phrases", null); - } - - function dragDropChanged(cm, value, old) { - var wasOn = old && old != Init; - if (!value != !wasOn) { - var funcs = cm.display.dragFunctions; - var toggle = value ? on : off; - toggle(cm.display.scroller, "dragstart", funcs.start); - toggle(cm.display.scroller, "dragenter", funcs.enter); - toggle(cm.display.scroller, "dragover", funcs.over); - toggle(cm.display.scroller, "dragleave", funcs.leave); - toggle(cm.display.scroller, "drop", funcs.drop); - } - } - - function wrappingChanged(cm) { - if (cm.options.lineWrapping) { - addClass(cm.display.wrapper, "CodeMirror-wrap"); - cm.display.sizer.style.minWidth = ""; - cm.display.sizerWidth = null; - } else { - rmClass(cm.display.wrapper, "CodeMirror-wrap"); - findMaxLine(cm); - } - estimateLineHeights(cm); - regChange(cm); - clearCaches(cm); - setTimeout(function () { return updateScrollbars(cm); }, 100); - } - - // A CodeMirror instance represents an editor. This is the object - // that user code is usually dealing with. - - function CodeMirror(place, options) { - var this$1 = this; - - if (!(this instanceof CodeMirror)) { return new CodeMirror(place, options) } - - this.options = options = options ? copyObj(options) : {}; - // Determine effective options based on given values and defaults. - copyObj(defaults, options, false); - - var doc = options.value; - if (typeof doc == "string") { doc = new Doc(doc, options.mode, null, options.lineSeparator, options.direction); } - else if (options.mode) { doc.modeOption = options.mode; } - this.doc = doc; - - var input = new CodeMirror.inputStyles[options.inputStyle](this); - var display = this.display = new Display(place, doc, input, options); - display.wrapper.CodeMirror = this; - themeChanged(this); - if (options.lineWrapping) - { this.display.wrapper.className += " CodeMirror-wrap"; } - initScrollbars(this); - - this.state = { - keyMaps: [], // stores maps added by addKeyMap - overlays: [], // highlighting overlays, as added by addOverlay - modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info - overwrite: false, - delayingBlurEvent: false, - focused: false, - suppressEdits: false, // used to disable editing during key handlers when in readOnly mode - pasteIncoming: -1, cutIncoming: -1, // help recognize paste/cut edits in input.poll - selectingText: false, - draggingText: false, - highlight: new Delayed(), // stores highlight worker timeout - keySeq: null, // Unfinished key sequence - specialChars: null - }; - - if (options.autofocus && !mobile) { display.input.focus(); } - - // Override magic textarea content restore that IE sometimes does - // on our hidden textarea on reload - if (ie && ie_version < 11) { setTimeout(function () { return this$1.display.input.reset(true); }, 20); } - - registerEventHandlers(this); - ensureGlobalHandlers(); - - startOperation(this); - this.curOp.forceUpdate = true; - attachDoc(this, doc); - - if ((options.autofocus && !mobile) || this.hasFocus()) - { setTimeout(function () { - if (this$1.hasFocus() && !this$1.state.focused) { onFocus(this$1); } - }, 20); } - else - { onBlur(this); } - - for (var opt in optionHandlers) { if (optionHandlers.hasOwnProperty(opt)) - { optionHandlers[opt](this, options[opt], Init); } } - maybeUpdateLineNumberWidth(this); - if (options.finishInit) { options.finishInit(this); } - for (var i = 0; i < initHooks.length; ++i) { initHooks[i](this); } - endOperation(this); - // Suppress optimizelegibility in Webkit, since it breaks text - // measuring on line wrapping boundaries. - if (webkit && options.lineWrapping && - getComputedStyle(display.lineDiv).textRendering == "optimizelegibility") - { display.lineDiv.style.textRendering = "auto"; } - } - - // The default configuration options. - CodeMirror.defaults = defaults; - // Functions to run when options are changed. - CodeMirror.optionHandlers = optionHandlers; - - // Attach the necessary event handlers when initializing the editor - function registerEventHandlers(cm) { - var d = cm.display; - on(d.scroller, "mousedown", operation(cm, onMouseDown)); - // Older IE's will not fire a second mousedown for a double click - if (ie && ie_version < 11) - { on(d.scroller, "dblclick", operation(cm, function (e) { - if (signalDOMEvent(cm, e)) { return } - var pos = posFromMouse(cm, e); - if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) { return } - e_preventDefault(e); - var word = cm.findWordAt(pos); - extendSelection(cm.doc, word.anchor, word.head); - })); } - else - { on(d.scroller, "dblclick", function (e) { return signalDOMEvent(cm, e) || e_preventDefault(e); }); } - // Some browsers fire contextmenu *after* opening the menu, at - // which point we can't mess with it anymore. Context menu is - // handled in onMouseDown for these browsers. - on(d.scroller, "contextmenu", function (e) { return onContextMenu(cm, e); }); - on(d.input.getField(), "contextmenu", function (e) { - if (!d.scroller.contains(e.target)) { onContextMenu(cm, e); } - }); - - // Used to suppress mouse event handling when a touch happens - var touchFinished, prevTouch = {end: 0}; - function finishTouch() { - if (d.activeTouch) { - touchFinished = setTimeout(function () { return d.activeTouch = null; }, 1000); - prevTouch = d.activeTouch; - prevTouch.end = +new Date; - } - } - function isMouseLikeTouchEvent(e) { - if (e.touches.length != 1) { return false } - var touch = e.touches[0]; - return touch.radiusX <= 1 && touch.radiusY <= 1 - } - function farAway(touch, other) { - if (other.left == null) { return true } - var dx = other.left - touch.left, dy = other.top - touch.top; - return dx * dx + dy * dy > 20 * 20 - } - on(d.scroller, "touchstart", function (e) { - if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e) && !clickInGutter(cm, e)) { - d.input.ensurePolled(); - clearTimeout(touchFinished); - var now = +new Date; - d.activeTouch = {start: now, moved: false, - prev: now - prevTouch.end <= 300 ? prevTouch : null}; - if (e.touches.length == 1) { - d.activeTouch.left = e.touches[0].pageX; - d.activeTouch.top = e.touches[0].pageY; - } - } - }); - on(d.scroller, "touchmove", function () { - if (d.activeTouch) { d.activeTouch.moved = true; } - }); - on(d.scroller, "touchend", function (e) { - var touch = d.activeTouch; - if (touch && !eventInWidget(d, e) && touch.left != null && - !touch.moved && new Date - touch.start < 300) { - var pos = cm.coordsChar(d.activeTouch, "page"), range; - if (!touch.prev || farAway(touch, touch.prev)) // Single tap - { range = new Range(pos, pos); } - else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap - { range = cm.findWordAt(pos); } - else // Triple tap - { range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))); } - cm.setSelection(range.anchor, range.head); - cm.focus(); - e_preventDefault(e); - } - finishTouch(); - }); - on(d.scroller, "touchcancel", finishTouch); - - // Sync scrolling between fake scrollbars and real scrollable - // area, ensure viewport is updated when scrolling. - on(d.scroller, "scroll", function () { - if (d.scroller.clientHeight) { - updateScrollTop(cm, d.scroller.scrollTop); - setScrollLeft(cm, d.scroller.scrollLeft, true); - signal(cm, "scroll", cm); - } - }); - - // Listen to wheel events in order to try and update the viewport on time. - on(d.scroller, "mousewheel", function (e) { return onScrollWheel(cm, e); }); - on(d.scroller, "DOMMouseScroll", function (e) { return onScrollWheel(cm, e); }); - - // Prevent wrapper from ever scrolling - on(d.wrapper, "scroll", function () { return d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; }); - - d.dragFunctions = { - enter: function (e) {if (!signalDOMEvent(cm, e)) { e_stop(e); }}, - over: function (e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e); }}, - start: function (e) { return onDragStart(cm, e); }, - drop: operation(cm, onDrop), - leave: function (e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm); }} - }; - - var inp = d.input.getField(); - on(inp, "keyup", function (e) { return onKeyUp.call(cm, e); }); - on(inp, "keydown", operation(cm, onKeyDown)); - on(inp, "keypress", operation(cm, onKeyPress)); - on(inp, "focus", function (e) { return onFocus(cm, e); }); - on(inp, "blur", function (e) { return onBlur(cm, e); }); - } - - var initHooks = []; - CodeMirror.defineInitHook = function (f) { return initHooks.push(f); }; - - // Indent the given line. The how parameter can be "smart", - // "add"/null, "subtract", or "prev". When aggressive is false - // (typically set to true for forced single-line indents), empty - // lines are not indented, and places where the mode returns Pass - // are left alone. - function indentLine(cm, n, how, aggressive) { - var doc = cm.doc, state; - if (how == null) { how = "add"; } - if (how == "smart") { - // Fall back to "prev" when the mode doesn't have an indentation - // method. - if (!doc.mode.indent) { how = "prev"; } - else { state = getContextBefore(cm, n).state; } - } - - var tabSize = cm.options.tabSize; - var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize); - if (line.stateAfter) { line.stateAfter = null; } - var curSpaceString = line.text.match(/^\s*/)[0], indentation; - if (!aggressive && !/\S/.test(line.text)) { - indentation = 0; - how = "not"; - } else if (how == "smart") { - indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text); - if (indentation == Pass || indentation > 150) { - if (!aggressive) { return } - how = "prev"; - } - } - if (how == "prev") { - if (n > doc.first) { indentation = countColumn(getLine(doc, n-1).text, null, tabSize); } - else { indentation = 0; } - } else if (how == "add") { - indentation = curSpace + cm.options.indentUnit; - } else if (how == "subtract") { - indentation = curSpace - cm.options.indentUnit; - } else if (typeof how == "number") { - indentation = curSpace + how; - } - indentation = Math.max(0, indentation); - - var indentString = "", pos = 0; - if (cm.options.indentWithTabs) - { for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += "\t";} } - if (pos < indentation) { indentString += spaceStr(indentation - pos); } - - if (indentString != curSpaceString) { - replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), "+input"); - line.stateAfter = null; - return true - } else { - // Ensure that, if the cursor was in the whitespace at the start - // of the line, it is moved to the end of that space. - for (var i$1 = 0; i$1 < doc.sel.ranges.length; i$1++) { - var range = doc.sel.ranges[i$1]; - if (range.head.line == n && range.head.ch < curSpaceString.length) { - var pos$1 = Pos(n, curSpaceString.length); - replaceOneSelection(doc, i$1, new Range(pos$1, pos$1)); - break - } - } - } - } - - // This will be set to a {lineWise: bool, text: [string]} object, so - // that, when pasting, we know what kind of selections the copied - // text was made out of. - var lastCopied = null; - - function setLastCopied(newLastCopied) { - lastCopied = newLastCopied; - } - - function applyTextInput(cm, inserted, deleted, sel, origin) { - var doc = cm.doc; - cm.display.shift = false; - if (!sel) { sel = doc.sel; } - - var recent = +new Date - 200; - var paste = origin == "paste" || cm.state.pasteIncoming > recent; - var textLines = splitLinesAuto(inserted), multiPaste = null; - // When pasting N lines into N selections, insert one line per selection - if (paste && sel.ranges.length > 1) { - if (lastCopied && lastCopied.text.join("\n") == inserted) { - if (sel.ranges.length % lastCopied.text.length == 0) { - multiPaste = []; - for (var i = 0; i < lastCopied.text.length; i++) - { multiPaste.push(doc.splitLines(lastCopied.text[i])); } - } - } else if (textLines.length == sel.ranges.length && cm.options.pasteLinesPerSelection) { - multiPaste = map(textLines, function (l) { return [l]; }); - } - } - - var updateInput = cm.curOp.updateInput; - // Normal behavior is to insert the new text into every selection - for (var i$1 = sel.ranges.length - 1; i$1 >= 0; i$1--) { - var range = sel.ranges[i$1]; - var from = range.from(), to = range.to(); - if (range.empty()) { - if (deleted && deleted > 0) // Handle deletion - { from = Pos(from.line, from.ch - deleted); } - else if (cm.state.overwrite && !paste) // Handle overwrite - { to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)); } - else if (paste && lastCopied && lastCopied.lineWise && lastCopied.text.join("\n") == textLines.join("\n")) - { from = to = Pos(from.line, 0); } - } - var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i$1 % multiPaste.length] : textLines, - origin: origin || (paste ? "paste" : cm.state.cutIncoming > recent ? "cut" : "+input")}; - makeChange(cm.doc, changeEvent); - signalLater(cm, "inputRead", cm, changeEvent); - } - if (inserted && !paste) - { triggerElectric(cm, inserted); } - - ensureCursorVisible(cm); - if (cm.curOp.updateInput < 2) { cm.curOp.updateInput = updateInput; } - cm.curOp.typing = true; - cm.state.pasteIncoming = cm.state.cutIncoming = -1; - } - - function handlePaste(e, cm) { - var pasted = e.clipboardData && e.clipboardData.getData("Text"); - if (pasted) { - e.preventDefault(); - if (!cm.isReadOnly() && !cm.options.disableInput) - { runInOp(cm, function () { return applyTextInput(cm, pasted, 0, null, "paste"); }); } - return true - } - } - - function triggerElectric(cm, inserted) { - // When an 'electric' character is inserted, immediately trigger a reindent - if (!cm.options.electricChars || !cm.options.smartIndent) { return } - var sel = cm.doc.sel; - - for (var i = sel.ranges.length - 1; i >= 0; i--) { - var range = sel.ranges[i]; - if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) { continue } - var mode = cm.getModeAt(range.head); - var indented = false; - if (mode.electricChars) { - for (var j = 0; j < mode.electricChars.length; j++) - { if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) { - indented = indentLine(cm, range.head.line, "smart"); - break - } } - } else if (mode.electricInput) { - if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch))) - { indented = indentLine(cm, range.head.line, "smart"); } - } - if (indented) { signalLater(cm, "electricInput", cm, range.head.line); } - } - } - - function copyableRanges(cm) { - var text = [], ranges = []; - for (var i = 0; i < cm.doc.sel.ranges.length; i++) { - var line = cm.doc.sel.ranges[i].head.line; - var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)}; - ranges.push(lineRange); - text.push(cm.getRange(lineRange.anchor, lineRange.head)); - } - return {text: text, ranges: ranges} - } - - function disableBrowserMagic(field, spellcheck, autocorrect, autocapitalize) { - field.setAttribute("autocorrect", autocorrect ? "" : "off"); - field.setAttribute("autocapitalize", autocapitalize ? "" : "off"); - field.setAttribute("spellcheck", !!spellcheck); - } - - function hiddenTextarea() { - var te = elt("textarea", null, null, "position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"); - var div = elt("div", [te], null, "overflow: hidden; position: relative; width: 3px; height: 0px;"); - // The textarea is kept positioned near the cursor to prevent the - // fact that it'll be scrolled into view on input from scrolling - // our fake cursor out of view. On webkit, when wrap=off, paste is - // very slow. So make the area wide instead. - if (webkit) { te.style.width = "1000px"; } - else { te.setAttribute("wrap", "off"); } - // If border: 0; -- iOS fails to open keyboard (issue #1287) - if (ios) { te.style.border = "1px solid black"; } - disableBrowserMagic(te); - return div - } - - // The publicly visible API. Note that methodOp(f) means - // 'wrap f in an operation, performed on its `this` parameter'. - - // This is not the complete set of editor methods. Most of the - // methods defined on the Doc type are also injected into - // CodeMirror.prototype, for backwards compatibility and - // convenience. - - function addEditorMethods(CodeMirror) { - var optionHandlers = CodeMirror.optionHandlers; - - var helpers = CodeMirror.helpers = {}; - - CodeMirror.prototype = { - constructor: CodeMirror, - focus: function(){window.focus(); this.display.input.focus();}, - - setOption: function(option, value) { - var options = this.options, old = options[option]; - if (options[option] == value && option != "mode") { return } - options[option] = value; - if (optionHandlers.hasOwnProperty(option)) - { operation(this, optionHandlers[option])(this, value, old); } - signal(this, "optionChange", this, option); - }, - - getOption: function(option) {return this.options[option]}, - getDoc: function() {return this.doc}, - - addKeyMap: function(map, bottom) { - this.state.keyMaps[bottom ? "push" : "unshift"](getKeyMap(map)); - }, - removeKeyMap: function(map) { - var maps = this.state.keyMaps; - for (var i = 0; i < maps.length; ++i) - { if (maps[i] == map || maps[i].name == map) { - maps.splice(i, 1); - return true - } } - }, - - addOverlay: methodOp(function(spec, options) { - var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec); - if (mode.startState) { throw new Error("Overlays may not be stateful.") } - insertSorted(this.state.overlays, - {mode: mode, modeSpec: spec, opaque: options && options.opaque, - priority: (options && options.priority) || 0}, - function (overlay) { return overlay.priority; }); - this.state.modeGen++; - regChange(this); - }), - removeOverlay: methodOp(function(spec) { - var overlays = this.state.overlays; - for (var i = 0; i < overlays.length; ++i) { - var cur = overlays[i].modeSpec; - if (cur == spec || typeof spec == "string" && cur.name == spec) { - overlays.splice(i, 1); - this.state.modeGen++; - regChange(this); - return - } - } - }), - - indentLine: methodOp(function(n, dir, aggressive) { - if (typeof dir != "string" && typeof dir != "number") { - if (dir == null) { dir = this.options.smartIndent ? "smart" : "prev"; } - else { dir = dir ? "add" : "subtract"; } - } - if (isLine(this.doc, n)) { indentLine(this, n, dir, aggressive); } - }), - indentSelection: methodOp(function(how) { - var ranges = this.doc.sel.ranges, end = -1; - for (var i = 0; i < ranges.length; i++) { - var range = ranges[i]; - if (!range.empty()) { - var from = range.from(), to = range.to(); - var start = Math.max(end, from.line); - end = Math.min(this.lastLine(), to.line - (to.ch ? 0 : 1)) + 1; - for (var j = start; j < end; ++j) - { indentLine(this, j, how); } - var newRanges = this.doc.sel.ranges; - if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0) - { replaceOneSelection(this.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll); } - } else if (range.head.line > end) { - indentLine(this, range.head.line, how, true); - end = range.head.line; - if (i == this.doc.sel.primIndex) { ensureCursorVisible(this); } - } - } - }), - - // Fetch the parser token for a given character. Useful for hacks - // that want to inspect the mode state (say, for completion). - getTokenAt: function(pos, precise) { - return takeToken(this, pos, precise) - }, - - getLineTokens: function(line, precise) { - return takeToken(this, Pos(line), precise, true) - }, - - getTokenTypeAt: function(pos) { - pos = clipPos(this.doc, pos); - var styles = getLineStyles(this, getLine(this.doc, pos.line)); - var before = 0, after = (styles.length - 1) / 2, ch = pos.ch; - var type; - if (ch == 0) { type = styles[2]; } - else { for (;;) { - var mid = (before + after) >> 1; - if ((mid ? styles[mid * 2 - 1] : 0) >= ch) { after = mid; } - else if (styles[mid * 2 + 1] < ch) { before = mid + 1; } - else { type = styles[mid * 2 + 2]; break } - } } - var cut = type ? type.indexOf("overlay ") : -1; - return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1) - }, - - getModeAt: function(pos) { - var mode = this.doc.mode; - if (!mode.innerMode) { return mode } - return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode - }, - - getHelper: function(pos, type) { - return this.getHelpers(pos, type)[0] - }, - - getHelpers: function(pos, type) { - var found = []; - if (!helpers.hasOwnProperty(type)) { return found } - var help = helpers[type], mode = this.getModeAt(pos); - if (typeof mode[type] == "string") { - if (help[mode[type]]) { found.push(help[mode[type]]); } - } else if (mode[type]) { - for (var i = 0; i < mode[type].length; i++) { - var val = help[mode[type][i]]; - if (val) { found.push(val); } - } - } else if (mode.helperType && help[mode.helperType]) { - found.push(help[mode.helperType]); - } else if (help[mode.name]) { - found.push(help[mode.name]); - } - for (var i$1 = 0; i$1 < help._global.length; i$1++) { - var cur = help._global[i$1]; - if (cur.pred(mode, this) && indexOf(found, cur.val) == -1) - { found.push(cur.val); } - } - return found - }, - - getStateAfter: function(line, precise) { - var doc = this.doc; - line = clipLine(doc, line == null ? doc.first + doc.size - 1: line); - return getContextBefore(this, line + 1, precise).state - }, - - cursorCoords: function(start, mode) { - var pos, range = this.doc.sel.primary(); - if (start == null) { pos = range.head; } - else if (typeof start == "object") { pos = clipPos(this.doc, start); } - else { pos = start ? range.from() : range.to(); } - return cursorCoords(this, pos, mode || "page") - }, - - charCoords: function(pos, mode) { - return charCoords(this, clipPos(this.doc, pos), mode || "page") - }, - - coordsChar: function(coords, mode) { - coords = fromCoordSystem(this, coords, mode || "page"); - return coordsChar(this, coords.left, coords.top) - }, - - lineAtHeight: function(height, mode) { - height = fromCoordSystem(this, {top: height, left: 0}, mode || "page").top; - return lineAtHeight(this.doc, height + this.display.viewOffset) - }, - heightAtLine: function(line, mode, includeWidgets) { - var end = false, lineObj; - if (typeof line == "number") { - var last = this.doc.first + this.doc.size - 1; - if (line < this.doc.first) { line = this.doc.first; } - else if (line > last) { line = last; end = true; } - lineObj = getLine(this.doc, line); - } else { - lineObj = line; - } - return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || "page", includeWidgets || end).top + - (end ? this.doc.height - heightAtLine(lineObj) : 0) - }, - - defaultTextHeight: function() { return textHeight(this.display) }, - defaultCharWidth: function() { return charWidth(this.display) }, - - getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo}}, - - addWidget: function(pos, node, scroll, vert, horiz) { - var display = this.display; - pos = cursorCoords(this, clipPos(this.doc, pos)); - var top = pos.bottom, left = pos.left; - node.style.position = "absolute"; - node.setAttribute("cm-ignore-events", "true"); - this.display.input.setUneditable(node); - display.sizer.appendChild(node); - if (vert == "over") { - top = pos.top; - } else if (vert == "above" || vert == "near") { - var vspace = Math.max(display.wrapper.clientHeight, this.doc.height), - hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth); - // Default to positioning above (if specified and possible); otherwise default to positioning below - if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight) - { top = pos.top - node.offsetHeight; } - else if (pos.bottom + node.offsetHeight <= vspace) - { top = pos.bottom; } - if (left + node.offsetWidth > hspace) - { left = hspace - node.offsetWidth; } - } - node.style.top = top + "px"; - node.style.left = node.style.right = ""; - if (horiz == "right") { - left = display.sizer.clientWidth - node.offsetWidth; - node.style.right = "0px"; - } else { - if (horiz == "left") { left = 0; } - else if (horiz == "middle") { left = (display.sizer.clientWidth - node.offsetWidth) / 2; } - node.style.left = left + "px"; - } - if (scroll) - { scrollIntoView(this, {left: left, top: top, right: left + node.offsetWidth, bottom: top + node.offsetHeight}); } - }, - - triggerOnKeyDown: methodOp(onKeyDown), - triggerOnKeyPress: methodOp(onKeyPress), - triggerOnKeyUp: onKeyUp, - triggerOnMouseDown: methodOp(onMouseDown), - - execCommand: function(cmd) { - if (commands.hasOwnProperty(cmd)) - { return commands[cmd].call(null, this) } - }, - - triggerElectric: methodOp(function(text) { triggerElectric(this, text); }), - - findPosH: function(from, amount, unit, visually) { - var dir = 1; - if (amount < 0) { dir = -1; amount = -amount; } - var cur = clipPos(this.doc, from); - for (var i = 0; i < amount; ++i) { - cur = findPosH(this.doc, cur, dir, unit, visually); - if (cur.hitSide) { break } - } - return cur - }, - - moveH: methodOp(function(dir, unit) { - var this$1 = this; - - this.extendSelectionsBy(function (range) { - if (this$1.display.shift || this$1.doc.extend || range.empty()) - { return findPosH(this$1.doc, range.head, dir, unit, this$1.options.rtlMoveVisually) } - else - { return dir < 0 ? range.from() : range.to() } - }, sel_move); - }), - - deleteH: methodOp(function(dir, unit) { - var sel = this.doc.sel, doc = this.doc; - if (sel.somethingSelected()) - { doc.replaceSelection("", null, "+delete"); } - else - { deleteNearSelection(this, function (range) { - var other = findPosH(doc, range.head, dir, unit, false); - return dir < 0 ? {from: other, to: range.head} : {from: range.head, to: other} - }); } - }), - - findPosV: function(from, amount, unit, goalColumn) { - var dir = 1, x = goalColumn; - if (amount < 0) { dir = -1; amount = -amount; } - var cur = clipPos(this.doc, from); - for (var i = 0; i < amount; ++i) { - var coords = cursorCoords(this, cur, "div"); - if (x == null) { x = coords.left; } - else { coords.left = x; } - cur = findPosV(this, coords, dir, unit); - if (cur.hitSide) { break } - } - return cur - }, - - moveV: methodOp(function(dir, unit) { - var this$1 = this; - - var doc = this.doc, goals = []; - var collapse = !this.display.shift && !doc.extend && doc.sel.somethingSelected(); - doc.extendSelectionsBy(function (range) { - if (collapse) - { return dir < 0 ? range.from() : range.to() } - var headPos = cursorCoords(this$1, range.head, "div"); - if (range.goalColumn != null) { headPos.left = range.goalColumn; } - goals.push(headPos.left); - var pos = findPosV(this$1, headPos, dir, unit); - if (unit == "page" && range == doc.sel.primary()) - { addToScrollTop(this$1, charCoords(this$1, pos, "div").top - headPos.top); } - return pos - }, sel_move); - if (goals.length) { for (var i = 0; i < doc.sel.ranges.length; i++) - { doc.sel.ranges[i].goalColumn = goals[i]; } } - }), - - // Find the word at the given position (as returned by coordsChar). - findWordAt: function(pos) { - var doc = this.doc, line = getLine(doc, pos.line).text; - var start = pos.ch, end = pos.ch; - if (line) { - var helper = this.getHelper(pos, "wordChars"); - if ((pos.sticky == "before" || end == line.length) && start) { --start; } else { ++end; } - var startChar = line.charAt(start); - var check = isWordChar(startChar, helper) - ? function (ch) { return isWordChar(ch, helper); } - : /\s/.test(startChar) ? function (ch) { return /\s/.test(ch); } - : function (ch) { return (!/\s/.test(ch) && !isWordChar(ch)); }; - while (start > 0 && check(line.charAt(start - 1))) { --start; } - while (end < line.length && check(line.charAt(end))) { ++end; } - } - return new Range(Pos(pos.line, start), Pos(pos.line, end)) - }, - - toggleOverwrite: function(value) { - if (value != null && value == this.state.overwrite) { return } - if (this.state.overwrite = !this.state.overwrite) - { addClass(this.display.cursorDiv, "CodeMirror-overwrite"); } - else - { rmClass(this.display.cursorDiv, "CodeMirror-overwrite"); } - - signal(this, "overwriteToggle", this, this.state.overwrite); - }, - hasFocus: function() { return this.display.input.getField() == activeElt() }, - isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit) }, - - scrollTo: methodOp(function (x, y) { scrollToCoords(this, x, y); }), - getScrollInfo: function() { - var scroller = this.display.scroller; - return {left: scroller.scrollLeft, top: scroller.scrollTop, - height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight, - width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth, - clientHeight: displayHeight(this), clientWidth: displayWidth(this)} - }, - - scrollIntoView: methodOp(function(range, margin) { - if (range == null) { - range = {from: this.doc.sel.primary().head, to: null}; - if (margin == null) { margin = this.options.cursorScrollMargin; } - } else if (typeof range == "number") { - range = {from: Pos(range, 0), to: null}; - } else if (range.from == null) { - range = {from: range, to: null}; - } - if (!range.to) { range.to = range.from; } - range.margin = margin || 0; - - if (range.from.line != null) { - scrollToRange(this, range); - } else { - scrollToCoordsRange(this, range.from, range.to, range.margin); - } - }), - - setSize: methodOp(function(width, height) { - var this$1 = this; - - var interpret = function (val) { return typeof val == "number" || /^\d+$/.test(String(val)) ? val + "px" : val; }; - if (width != null) { this.display.wrapper.style.width = interpret(width); } - if (height != null) { this.display.wrapper.style.height = interpret(height); } - if (this.options.lineWrapping) { clearLineMeasurementCache(this); } - var lineNo = this.display.viewFrom; - this.doc.iter(lineNo, this.display.viewTo, function (line) { - if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) - { if (line.widgets[i].noHScroll) { regLineChange(this$1, lineNo, "widget"); break } } } - ++lineNo; - }); - this.curOp.forceUpdate = true; - signal(this, "refresh", this); - }), - - operation: function(f){return runInOp(this, f)}, - startOperation: function(){return startOperation(this)}, - endOperation: function(){return endOperation(this)}, - - refresh: methodOp(function() { - var oldHeight = this.display.cachedTextHeight; - regChange(this); - this.curOp.forceUpdate = true; - clearCaches(this); - scrollToCoords(this, this.doc.scrollLeft, this.doc.scrollTop); - updateGutterSpace(this.display); - if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5 || this.options.lineWrapping) - { estimateLineHeights(this); } - signal(this, "refresh", this); - }), - - swapDoc: methodOp(function(doc) { - var old = this.doc; - old.cm = null; - // Cancel the current text selection if any (#5821) - if (this.state.selectingText) { this.state.selectingText(); } - attachDoc(this, doc); - clearCaches(this); - this.display.input.reset(); - scrollToCoords(this, doc.scrollLeft, doc.scrollTop); - this.curOp.forceScroll = true; - signalLater(this, "swapDoc", this, old); - return old - }), - - phrase: function(phraseText) { - var phrases = this.options.phrases; - return phrases && Object.prototype.hasOwnProperty.call(phrases, phraseText) ? phrases[phraseText] : phraseText - }, - - getInputField: function(){return this.display.input.getField()}, - getWrapperElement: function(){return this.display.wrapper}, - getScrollerElement: function(){return this.display.scroller}, - getGutterElement: function(){return this.display.gutters} - }; - eventMixin(CodeMirror); - - CodeMirror.registerHelper = function(type, name, value) { - if (!helpers.hasOwnProperty(type)) { helpers[type] = CodeMirror[type] = {_global: []}; } - helpers[type][name] = value; - }; - CodeMirror.registerGlobalHelper = function(type, name, predicate, value) { - CodeMirror.registerHelper(type, name, value); - helpers[type]._global.push({pred: predicate, val: value}); - }; - } - - // Used for horizontal relative motion. Dir is -1 or 1 (left or - // right), unit can be "codepoint", "char", "column" (like char, but - // doesn't cross line boundaries), "word" (across next word), or - // "group" (to the start of next group of word or - // non-word-non-whitespace chars). The visually param controls - // whether, in right-to-left text, direction 1 means to move towards - // the next index in the string, or towards the character to the right - // of the current position. The resulting position will have a - // hitSide=true property if it reached the end of the document. - function findPosH(doc, pos, dir, unit, visually) { - var oldPos = pos; - var origDir = dir; - var lineObj = getLine(doc, pos.line); - var lineDir = visually && doc.direction == "rtl" ? -dir : dir; - function findNextLine() { - var l = pos.line + lineDir; - if (l < doc.first || l >= doc.first + doc.size) { return false } - pos = new Pos(l, pos.ch, pos.sticky); - return lineObj = getLine(doc, l) - } - function moveOnce(boundToLine) { - var next; - if (unit == "codepoint") { - var ch = lineObj.text.charCodeAt(pos.ch + (dir > 0 ? 0 : -1)); - if (isNaN(ch)) { - next = null; - } else { - var astral = dir > 0 ? ch >= 0xD800 && ch < 0xDC00 : ch >= 0xDC00 && ch < 0xDFFF; - next = new Pos(pos.line, Math.max(0, Math.min(lineObj.text.length, pos.ch + dir * (astral ? 2 : 1))), -dir); - } - } else if (visually) { - next = moveVisually(doc.cm, lineObj, pos, dir); - } else { - next = moveLogically(lineObj, pos, dir); - } - if (next == null) { - if (!boundToLine && findNextLine()) - { pos = endOfLine(visually, doc.cm, lineObj, pos.line, lineDir); } - else - { return false } - } else { - pos = next; - } - return true - } - - if (unit == "char" || unit == "codepoint") { - moveOnce(); - } else if (unit == "column") { - moveOnce(true); - } else if (unit == "word" || unit == "group") { - var sawType = null, group = unit == "group"; - var helper = doc.cm && doc.cm.getHelper(pos, "wordChars"); - for (var first = true;; first = false) { - if (dir < 0 && !moveOnce(!first)) { break } - var cur = lineObj.text.charAt(pos.ch) || "\n"; - var type = isWordChar(cur, helper) ? "w" - : group && cur == "\n" ? "n" - : !group || /\s/.test(cur) ? null - : "p"; - if (group && !first && !type) { type = "s"; } - if (sawType && sawType != type) { - if (dir < 0) {dir = 1; moveOnce(); pos.sticky = "after";} - break - } - - if (type) { sawType = type; } - if (dir > 0 && !moveOnce(!first)) { break } - } - } - var result = skipAtomic(doc, pos, oldPos, origDir, true); - if (equalCursorPos(oldPos, result)) { result.hitSide = true; } - return result - } - - // For relative vertical movement. Dir may be -1 or 1. Unit can be - // "page" or "line". The resulting position will have a hitSide=true - // property if it reached the end of the document. - function findPosV(cm, pos, dir, unit) { - var doc = cm.doc, x = pos.left, y; - if (unit == "page") { - var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight); - var moveAmount = Math.max(pageSize - .5 * textHeight(cm.display), 3); - y = (dir > 0 ? pos.bottom : pos.top) + dir * moveAmount; - - } else if (unit == "line") { - y = dir > 0 ? pos.bottom + 3 : pos.top - 3; - } - var target; - for (;;) { - target = coordsChar(cm, x, y); - if (!target.outside) { break } - if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break } - y += dir * 5; - } - return target - } - - // CONTENTEDITABLE INPUT STYLE - - var ContentEditableInput = function(cm) { - this.cm = cm; - this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null; - this.polling = new Delayed(); - this.composing = null; - this.gracePeriod = false; - this.readDOMTimeout = null; - }; - - ContentEditableInput.prototype.init = function (display) { - var this$1 = this; - - var input = this, cm = input.cm; - var div = input.div = display.lineDiv; - disableBrowserMagic(div, cm.options.spellcheck, cm.options.autocorrect, cm.options.autocapitalize); - - function belongsToInput(e) { - for (var t = e.target; t; t = t.parentNode) { - if (t == div) { return true } - if (/\bCodeMirror-(?:line)?widget\b/.test(t.className)) { break } - } - return false - } - - on(div, "paste", function (e) { - if (!belongsToInput(e) || signalDOMEvent(cm, e) || handlePaste(e, cm)) { return } - // IE doesn't fire input events, so we schedule a read for the pasted content in this way - if (ie_version <= 11) { setTimeout(operation(cm, function () { return this$1.updateFromDOM(); }), 20); } - }); - - on(div, "compositionstart", function (e) { - this$1.composing = {data: e.data, done: false}; - }); - on(div, "compositionupdate", function (e) { - if (!this$1.composing) { this$1.composing = {data: e.data, done: false}; } - }); - on(div, "compositionend", function (e) { - if (this$1.composing) { - if (e.data != this$1.composing.data) { this$1.readFromDOMSoon(); } - this$1.composing.done = true; - } - }); - - on(div, "touchstart", function () { return input.forceCompositionEnd(); }); - - on(div, "input", function () { - if (!this$1.composing) { this$1.readFromDOMSoon(); } - }); - - function onCopyCut(e) { - if (!belongsToInput(e) || signalDOMEvent(cm, e)) { return } - if (cm.somethingSelected()) { - setLastCopied({lineWise: false, text: cm.getSelections()}); - if (e.type == "cut") { cm.replaceSelection("", null, "cut"); } - } else if (!cm.options.lineWiseCopyCut) { - return - } else { - var ranges = copyableRanges(cm); - setLastCopied({lineWise: true, text: ranges.text}); - if (e.type == "cut") { - cm.operation(function () { - cm.setSelections(ranges.ranges, 0, sel_dontScroll); - cm.replaceSelection("", null, "cut"); - }); - } - } - if (e.clipboardData) { - e.clipboardData.clearData(); - var content = lastCopied.text.join("\n"); - // iOS exposes the clipboard API, but seems to discard content inserted into it - e.clipboardData.setData("Text", content); - if (e.clipboardData.getData("Text") == content) { - e.preventDefault(); - return - } - } - // Old-fashioned briefly-focus-a-textarea hack - var kludge = hiddenTextarea(), te = kludge.firstChild; - cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild); - te.value = lastCopied.text.join("\n"); - var hadFocus = document.activeElement; - selectInput(te); - setTimeout(function () { - cm.display.lineSpace.removeChild(kludge); - hadFocus.focus(); - if (hadFocus == div) { input.showPrimarySelection(); } - }, 50); - } - on(div, "copy", onCopyCut); - on(div, "cut", onCopyCut); - }; - - ContentEditableInput.prototype.screenReaderLabelChanged = function (label) { - // Label for screenreaders, accessibility - if(label) { - this.div.setAttribute('aria-label', label); - } else { - this.div.removeAttribute('aria-label'); - } - }; - - ContentEditableInput.prototype.prepareSelection = function () { - var result = prepareSelection(this.cm, false); - result.focus = document.activeElement == this.div; - return result - }; - - ContentEditableInput.prototype.showSelection = function (info, takeFocus) { - if (!info || !this.cm.display.view.length) { return } - if (info.focus || takeFocus) { this.showPrimarySelection(); } - this.showMultipleSelections(info); - }; - - ContentEditableInput.prototype.getSelection = function () { - return this.cm.display.wrapper.ownerDocument.getSelection() - }; - - ContentEditableInput.prototype.showPrimarySelection = function () { - var sel = this.getSelection(), cm = this.cm, prim = cm.doc.sel.primary(); - var from = prim.from(), to = prim.to(); - - if (cm.display.viewTo == cm.display.viewFrom || from.line >= cm.display.viewTo || to.line < cm.display.viewFrom) { - sel.removeAllRanges(); - return - } - - var curAnchor = domToPos(cm, sel.anchorNode, sel.anchorOffset); - var curFocus = domToPos(cm, sel.focusNode, sel.focusOffset); - if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad && - cmp(minPos(curAnchor, curFocus), from) == 0 && - cmp(maxPos(curAnchor, curFocus), to) == 0) - { return } - - var view = cm.display.view; - var start = (from.line >= cm.display.viewFrom && posToDOM(cm, from)) || - {node: view[0].measure.map[2], offset: 0}; - var end = to.line < cm.display.viewTo && posToDOM(cm, to); - if (!end) { - var measure = view[view.length - 1].measure; - var map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map; - end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]}; - } - - if (!start || !end) { - sel.removeAllRanges(); - return - } - - var old = sel.rangeCount && sel.getRangeAt(0), rng; - try { rng = range(start.node, start.offset, end.offset, end.node); } - catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible - if (rng) { - if (!gecko && cm.state.focused) { - sel.collapse(start.node, start.offset); - if (!rng.collapsed) { - sel.removeAllRanges(); - sel.addRange(rng); - } - } else { - sel.removeAllRanges(); - sel.addRange(rng); - } - if (old && sel.anchorNode == null) { sel.addRange(old); } - else if (gecko) { this.startGracePeriod(); } - } - this.rememberSelection(); - }; - - ContentEditableInput.prototype.startGracePeriod = function () { - var this$1 = this; - - clearTimeout(this.gracePeriod); - this.gracePeriod = setTimeout(function () { - this$1.gracePeriod = false; - if (this$1.selectionChanged()) - { this$1.cm.operation(function () { return this$1.cm.curOp.selectionChanged = true; }); } - }, 20); - }; - - ContentEditableInput.prototype.showMultipleSelections = function (info) { - removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors); - removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection); - }; - - ContentEditableInput.prototype.rememberSelection = function () { - var sel = this.getSelection(); - this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset; - this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset; - }; - - ContentEditableInput.prototype.selectionInEditor = function () { - var sel = this.getSelection(); - if (!sel.rangeCount) { return false } - var node = sel.getRangeAt(0).commonAncestorContainer; - return contains(this.div, node) - }; - - ContentEditableInput.prototype.focus = function () { - if (this.cm.options.readOnly != "nocursor") { - if (!this.selectionInEditor() || document.activeElement != this.div) - { this.showSelection(this.prepareSelection(), true); } - this.div.focus(); - } - }; - ContentEditableInput.prototype.blur = function () { this.div.blur(); }; - ContentEditableInput.prototype.getField = function () { return this.div }; - - ContentEditableInput.prototype.supportsTouch = function () { return true }; - - ContentEditableInput.prototype.receivedFocus = function () { - var input = this; - if (this.selectionInEditor()) - { this.pollSelection(); } - else - { runInOp(this.cm, function () { return input.cm.curOp.selectionChanged = true; }); } - - function poll() { - if (input.cm.state.focused) { - input.pollSelection(); - input.polling.set(input.cm.options.pollInterval, poll); - } - } - this.polling.set(this.cm.options.pollInterval, poll); - }; - - ContentEditableInput.prototype.selectionChanged = function () { - var sel = this.getSelection(); - return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset || - sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset - }; - - ContentEditableInput.prototype.pollSelection = function () { - if (this.readDOMTimeout != null || this.gracePeriod || !this.selectionChanged()) { return } - var sel = this.getSelection(), cm = this.cm; - // On Android Chrome (version 56, at least), backspacing into an - // uneditable block element will put the cursor in that element, - // and then, because it's not editable, hide the virtual keyboard. - // Because Android doesn't allow us to actually detect backspace - // presses in a sane way, this code checks for when that happens - // and simulates a backspace press in this case. - if (android && chrome && this.cm.display.gutterSpecs.length && isInGutter(sel.anchorNode)) { - this.cm.triggerOnKeyDown({type: "keydown", keyCode: 8, preventDefault: Math.abs}); - this.blur(); - this.focus(); - return - } - if (this.composing) { return } - this.rememberSelection(); - var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset); - var head = domToPos(cm, sel.focusNode, sel.focusOffset); - if (anchor && head) { runInOp(cm, function () { - setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll); - if (anchor.bad || head.bad) { cm.curOp.selectionChanged = true; } - }); } - }; - - ContentEditableInput.prototype.pollContent = function () { - if (this.readDOMTimeout != null) { - clearTimeout(this.readDOMTimeout); - this.readDOMTimeout = null; - } - - var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary(); - var from = sel.from(), to = sel.to(); - if (from.ch == 0 && from.line > cm.firstLine()) - { from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length); } - if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine()) - { to = Pos(to.line + 1, 0); } - if (from.line < display.viewFrom || to.line > display.viewTo - 1) { return false } - - var fromIndex, fromLine, fromNode; - if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) { - fromLine = lineNo(display.view[0].line); - fromNode = display.view[0].node; - } else { - fromLine = lineNo(display.view[fromIndex].line); - fromNode = display.view[fromIndex - 1].node.nextSibling; - } - var toIndex = findViewIndex(cm, to.line); - var toLine, toNode; - if (toIndex == display.view.length - 1) { - toLine = display.viewTo - 1; - toNode = display.lineDiv.lastChild; - } else { - toLine = lineNo(display.view[toIndex + 1].line) - 1; - toNode = display.view[toIndex + 1].node.previousSibling; - } - - if (!fromNode) { return false } - var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine)); - var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length)); - while (newText.length > 1 && oldText.length > 1) { - if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine--; } - else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++; } - else { break } - } - - var cutFront = 0, cutEnd = 0; - var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length); - while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront)) - { ++cutFront; } - var newBot = lst(newText), oldBot = lst(oldText); - var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0), - oldBot.length - (oldText.length == 1 ? cutFront : 0)); - while (cutEnd < maxCutEnd && - newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) - { ++cutEnd; } - // Try to move start of change to start of selection if ambiguous - if (newText.length == 1 && oldText.length == 1 && fromLine == from.line) { - while (cutFront && cutFront > from.ch && - newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) { - cutFront--; - cutEnd++; - } - } - - newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\u200b+/, ""); - newText[0] = newText[0].slice(cutFront).replace(/\u200b+$/, ""); - - var chFrom = Pos(fromLine, cutFront); - var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0); - if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) { - replaceRange(cm.doc, newText, chFrom, chTo, "+input"); - return true - } - }; - - ContentEditableInput.prototype.ensurePolled = function () { - this.forceCompositionEnd(); - }; - ContentEditableInput.prototype.reset = function () { - this.forceCompositionEnd(); - }; - ContentEditableInput.prototype.forceCompositionEnd = function () { - if (!this.composing) { return } - clearTimeout(this.readDOMTimeout); - this.composing = null; - this.updateFromDOM(); - this.div.blur(); - this.div.focus(); - }; - ContentEditableInput.prototype.readFromDOMSoon = function () { - var this$1 = this; - - if (this.readDOMTimeout != null) { return } - this.readDOMTimeout = setTimeout(function () { - this$1.readDOMTimeout = null; - if (this$1.composing) { - if (this$1.composing.done) { this$1.composing = null; } - else { return } - } - this$1.updateFromDOM(); - }, 80); - }; - - ContentEditableInput.prototype.updateFromDOM = function () { - var this$1 = this; - - if (this.cm.isReadOnly() || !this.pollContent()) - { runInOp(this.cm, function () { return regChange(this$1.cm); }); } - }; - - ContentEditableInput.prototype.setUneditable = function (node) { - node.contentEditable = "false"; - }; - - ContentEditableInput.prototype.onKeyPress = function (e) { - if (e.charCode == 0 || this.composing) { return } - e.preventDefault(); - if (!this.cm.isReadOnly()) - { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0); } - }; - - ContentEditableInput.prototype.readOnlyChanged = function (val) { - this.div.contentEditable = String(val != "nocursor"); - }; - - ContentEditableInput.prototype.onContextMenu = function () {}; - ContentEditableInput.prototype.resetPosition = function () {}; - - ContentEditableInput.prototype.needsContentAttribute = true; - - function posToDOM(cm, pos) { - var view = findViewForLine(cm, pos.line); - if (!view || view.hidden) { return null } - var line = getLine(cm.doc, pos.line); - var info = mapFromLineView(view, line, pos.line); - - var order = getOrder(line, cm.doc.direction), side = "left"; - if (order) { - var partPos = getBidiPartAt(order, pos.ch); - side = partPos % 2 ? "right" : "left"; - } - var result = nodeAndOffsetInLineMap(info.map, pos.ch, side); - result.offset = result.collapse == "right" ? result.end : result.start; - return result - } - - function isInGutter(node) { - for (var scan = node; scan; scan = scan.parentNode) - { if (/CodeMirror-gutter-wrapper/.test(scan.className)) { return true } } - return false - } - - function badPos(pos, bad) { if (bad) { pos.bad = true; } return pos } - - function domTextBetween(cm, from, to, fromLine, toLine) { - var text = "", closing = false, lineSep = cm.doc.lineSeparator(), extraLinebreak = false; - function recognizeMarker(id) { return function (marker) { return marker.id == id; } } - function close() { - if (closing) { - text += lineSep; - if (extraLinebreak) { text += lineSep; } - closing = extraLinebreak = false; - } - } - function addText(str) { - if (str) { - close(); - text += str; - } - } - function walk(node) { - if (node.nodeType == 1) { - var cmText = node.getAttribute("cm-text"); - if (cmText) { - addText(cmText); - return - } - var markerID = node.getAttribute("cm-marker"), range; - if (markerID) { - var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID)); - if (found.length && (range = found[0].find(0))) - { addText(getBetween(cm.doc, range.from, range.to).join(lineSep)); } - return - } - if (node.getAttribute("contenteditable") == "false") { return } - var isBlock = /^(pre|div|p|li|table|br)$/i.test(node.nodeName); - if (!/^br$/i.test(node.nodeName) && node.textContent.length == 0) { return } - - if (isBlock) { close(); } - for (var i = 0; i < node.childNodes.length; i++) - { walk(node.childNodes[i]); } - - if (/^(pre|p)$/i.test(node.nodeName)) { extraLinebreak = true; } - if (isBlock) { closing = true; } - } else if (node.nodeType == 3) { - addText(node.nodeValue.replace(/\u200b/g, "").replace(/\u00a0/g, " ")); - } - } - for (;;) { - walk(from); - if (from == to) { break } - from = from.nextSibling; - extraLinebreak = false; - } - return text - } - - function domToPos(cm, node, offset) { - var lineNode; - if (node == cm.display.lineDiv) { - lineNode = cm.display.lineDiv.childNodes[offset]; - if (!lineNode) { return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true) } - node = null; offset = 0; - } else { - for (lineNode = node;; lineNode = lineNode.parentNode) { - if (!lineNode || lineNode == cm.display.lineDiv) { return null } - if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) { break } - } - } - for (var i = 0; i < cm.display.view.length; i++) { - var lineView = cm.display.view[i]; - if (lineView.node == lineNode) - { return locateNodeInLineView(lineView, node, offset) } - } - } - - function locateNodeInLineView(lineView, node, offset) { - var wrapper = lineView.text.firstChild, bad = false; - if (!node || !contains(wrapper, node)) { return badPos(Pos(lineNo(lineView.line), 0), true) } - if (node == wrapper) { - bad = true; - node = wrapper.childNodes[offset]; - offset = 0; - if (!node) { - var line = lineView.rest ? lst(lineView.rest) : lineView.line; - return badPos(Pos(lineNo(line), line.text.length), bad) - } - } - - var textNode = node.nodeType == 3 ? node : null, topNode = node; - if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) { - textNode = node.firstChild; - if (offset) { offset = textNode.nodeValue.length; } - } - while (topNode.parentNode != wrapper) { topNode = topNode.parentNode; } - var measure = lineView.measure, maps = measure.maps; - - function find(textNode, topNode, offset) { - for (var i = -1; i < (maps ? maps.length : 0); i++) { - var map = i < 0 ? measure.map : maps[i]; - for (var j = 0; j < map.length; j += 3) { - var curNode = map[j + 2]; - if (curNode == textNode || curNode == topNode) { - var line = lineNo(i < 0 ? lineView.line : lineView.rest[i]); - var ch = map[j] + offset; - if (offset < 0 || curNode != textNode) { ch = map[j + (offset ? 1 : 0)]; } - return Pos(line, ch) - } - } - } - } - var found = find(textNode, topNode, offset); - if (found) { return badPos(found, bad) } - - // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems - for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) { - found = find(after, after.firstChild, 0); - if (found) - { return badPos(Pos(found.line, found.ch - dist), bad) } - else - { dist += after.textContent.length; } - } - for (var before = topNode.previousSibling, dist$1 = offset; before; before = before.previousSibling) { - found = find(before, before.firstChild, -1); - if (found) - { return badPos(Pos(found.line, found.ch + dist$1), bad) } - else - { dist$1 += before.textContent.length; } - } - } - - // TEXTAREA INPUT STYLE - - var TextareaInput = function(cm) { - this.cm = cm; - // See input.poll and input.reset - this.prevInput = ""; - - // Flag that indicates whether we expect input to appear real soon - // now (after some event like 'keypress' or 'input') and are - // polling intensively. - this.pollingFast = false; - // Self-resetting timeout for the poller - this.polling = new Delayed(); - // Used to work around IE issue with selection being forgotten when focus moves away from textarea - this.hasSelection = false; - this.composing = null; - }; - - TextareaInput.prototype.init = function (display) { - var this$1 = this; - - var input = this, cm = this.cm; - this.createField(display); - var te = this.textarea; - - display.wrapper.insertBefore(this.wrapper, display.wrapper.firstChild); - - // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore) - if (ios) { te.style.width = "0px"; } - - on(te, "input", function () { - if (ie && ie_version >= 9 && this$1.hasSelection) { this$1.hasSelection = null; } - input.poll(); - }); - - on(te, "paste", function (e) { - if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return } - - cm.state.pasteIncoming = +new Date; - input.fastPoll(); - }); - - function prepareCopyCut(e) { - if (signalDOMEvent(cm, e)) { return } - if (cm.somethingSelected()) { - setLastCopied({lineWise: false, text: cm.getSelections()}); - } else if (!cm.options.lineWiseCopyCut) { - return - } else { - var ranges = copyableRanges(cm); - setLastCopied({lineWise: true, text: ranges.text}); - if (e.type == "cut") { - cm.setSelections(ranges.ranges, null, sel_dontScroll); - } else { - input.prevInput = ""; - te.value = ranges.text.join("\n"); - selectInput(te); - } - } - if (e.type == "cut") { cm.state.cutIncoming = +new Date; } - } - on(te, "cut", prepareCopyCut); - on(te, "copy", prepareCopyCut); - - on(display.scroller, "paste", function (e) { - if (eventInWidget(display, e) || signalDOMEvent(cm, e)) { return } - if (!te.dispatchEvent) { - cm.state.pasteIncoming = +new Date; - input.focus(); - return - } - - // Pass the `paste` event to the textarea so it's handled by its event listener. - var event = new Event("paste"); - event.clipboardData = e.clipboardData; - te.dispatchEvent(event); - }); - - // Prevent normal selection in the editor (we handle our own) - on(display.lineSpace, "selectstart", function (e) { - if (!eventInWidget(display, e)) { e_preventDefault(e); } - }); - - on(te, "compositionstart", function () { - var start = cm.getCursor("from"); - if (input.composing) { input.composing.range.clear(); } - input.composing = { - start: start, - range: cm.markText(start, cm.getCursor("to"), {className: "CodeMirror-composing"}) - }; - }); - on(te, "compositionend", function () { - if (input.composing) { - input.poll(); - input.composing.range.clear(); - input.composing = null; - } - }); - }; - - TextareaInput.prototype.createField = function (_display) { - // Wraps and hides input textarea - this.wrapper = hiddenTextarea(); - // The semihidden textarea that is focused when the editor is - // focused, and receives input. - this.textarea = this.wrapper.firstChild; - }; - - TextareaInput.prototype.screenReaderLabelChanged = function (label) { - // Label for screenreaders, accessibility - if(label) { - this.textarea.setAttribute('aria-label', label); - } else { - this.textarea.removeAttribute('aria-label'); - } - }; - - TextareaInput.prototype.prepareSelection = function () { - // Redraw the selection and/or cursor - var cm = this.cm, display = cm.display, doc = cm.doc; - var result = prepareSelection(cm); - - // Move the hidden textarea near the cursor to prevent scrolling artifacts - if (cm.options.moveInputWithCursor) { - var headPos = cursorCoords(cm, doc.sel.primary().head, "div"); - var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect(); - result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10, - headPos.top + lineOff.top - wrapOff.top)); - result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10, - headPos.left + lineOff.left - wrapOff.left)); - } - - return result - }; - - TextareaInput.prototype.showSelection = function (drawn) { - var cm = this.cm, display = cm.display; - removeChildrenAndAdd(display.cursorDiv, drawn.cursors); - removeChildrenAndAdd(display.selectionDiv, drawn.selection); - if (drawn.teTop != null) { - this.wrapper.style.top = drawn.teTop + "px"; - this.wrapper.style.left = drawn.teLeft + "px"; - } - }; - - // Reset the input to correspond to the selection (or to be empty, - // when not typing and nothing is selected) - TextareaInput.prototype.reset = function (typing) { - if (this.contextMenuPending || this.composing) { return } - var cm = this.cm; - if (cm.somethingSelected()) { - this.prevInput = ""; - var content = cm.getSelection(); - this.textarea.value = content; - if (cm.state.focused) { selectInput(this.textarea); } - if (ie && ie_version >= 9) { this.hasSelection = content; } - } else if (!typing) { - this.prevInput = this.textarea.value = ""; - if (ie && ie_version >= 9) { this.hasSelection = null; } - } - }; - - TextareaInput.prototype.getField = function () { return this.textarea }; - - TextareaInput.prototype.supportsTouch = function () { return false }; - - TextareaInput.prototype.focus = function () { - if (this.cm.options.readOnly != "nocursor" && (!mobile || activeElt() != this.textarea)) { - try { this.textarea.focus(); } - catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM - } - }; - - TextareaInput.prototype.blur = function () { this.textarea.blur(); }; - - TextareaInput.prototype.resetPosition = function () { - this.wrapper.style.top = this.wrapper.style.left = 0; - }; - - TextareaInput.prototype.receivedFocus = function () { this.slowPoll(); }; - - // Poll for input changes, using the normal rate of polling. This - // runs as long as the editor is focused. - TextareaInput.prototype.slowPoll = function () { - var this$1 = this; - - if (this.pollingFast) { return } - this.polling.set(this.cm.options.pollInterval, function () { - this$1.poll(); - if (this$1.cm.state.focused) { this$1.slowPoll(); } - }); - }; - - // When an event has just come in that is likely to add or change - // something in the input textarea, we poll faster, to ensure that - // the change appears on the screen quickly. - TextareaInput.prototype.fastPoll = function () { - var missed = false, input = this; - input.pollingFast = true; - function p() { - var changed = input.poll(); - if (!changed && !missed) {missed = true; input.polling.set(60, p);} - else {input.pollingFast = false; input.slowPoll();} - } - input.polling.set(20, p); - }; - - // Read input from the textarea, and update the document to match. - // When something is selected, it is present in the textarea, and - // selected (unless it is huge, in which case a placeholder is - // used). When nothing is selected, the cursor sits after previously - // seen text (can be empty), which is stored in prevInput (we must - // not reset the textarea when typing, because that breaks IME). - TextareaInput.prototype.poll = function () { - var this$1 = this; - - var cm = this.cm, input = this.textarea, prevInput = this.prevInput; - // Since this is called a *lot*, try to bail out as cheaply as - // possible when it is clear that nothing happened. hasSelection - // will be the case when there is a lot of text in the textarea, - // in which case reading its value would be expensive. - if (this.contextMenuPending || !cm.state.focused || - (hasSelection(input) && !prevInput && !this.composing) || - cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq) - { return false } - - var text = input.value; - // If nothing changed, bail. - if (text == prevInput && !cm.somethingSelected()) { return false } - // Work around nonsensical selection resetting in IE9/10, and - // inexplicable appearance of private area unicode characters on - // some key combos in Mac (#2689). - if (ie && ie_version >= 9 && this.hasSelection === text || - mac && /[\uf700-\uf7ff]/.test(text)) { - cm.display.input.reset(); - return false - } - - if (cm.doc.sel == cm.display.selForContextMenu) { - var first = text.charCodeAt(0); - if (first == 0x200b && !prevInput) { prevInput = "\u200b"; } - if (first == 0x21da) { this.reset(); return this.cm.execCommand("undo") } - } - // Find the part of the input that is actually new - var same = 0, l = Math.min(prevInput.length, text.length); - while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) { ++same; } - - runInOp(cm, function () { - applyTextInput(cm, text.slice(same), prevInput.length - same, - null, this$1.composing ? "*compose" : null); - - // Don't leave long text in the textarea, since it makes further polling slow - if (text.length > 1000 || text.indexOf("\n") > -1) { input.value = this$1.prevInput = ""; } - else { this$1.prevInput = text; } - - if (this$1.composing) { - this$1.composing.range.clear(); - this$1.composing.range = cm.markText(this$1.composing.start, cm.getCursor("to"), - {className: "CodeMirror-composing"}); - } - }); - return true - }; - - TextareaInput.prototype.ensurePolled = function () { - if (this.pollingFast && this.poll()) { this.pollingFast = false; } - }; - - TextareaInput.prototype.onKeyPress = function () { - if (ie && ie_version >= 9) { this.hasSelection = null; } - this.fastPoll(); - }; - - TextareaInput.prototype.onContextMenu = function (e) { - var input = this, cm = input.cm, display = cm.display, te = input.textarea; - if (input.contextMenuPending) { input.contextMenuPending(); } - var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop; - if (!pos || presto) { return } // Opera is difficult. - - // Reset the current text selection only if the click is done outside of the selection - // and 'resetSelectionOnContextMenu' option is true. - var reset = cm.options.resetSelectionOnContextMenu; - if (reset && cm.doc.sel.contains(pos) == -1) - { operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll); } - - var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText; - var wrapperBox = input.wrapper.offsetParent.getBoundingClientRect(); - input.wrapper.style.cssText = "position: static"; - te.style.cssText = "position: absolute; width: 30px; height: 30px;\n top: " + (e.clientY - wrapperBox.top - 5) + "px; left: " + (e.clientX - wrapperBox.left - 5) + "px;\n z-index: 1000; background: " + (ie ? "rgba(255, 255, 255, .05)" : "transparent") + ";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);"; - var oldScrollY; - if (webkit) { oldScrollY = window.scrollY; } // Work around Chrome issue (#2712) - display.input.focus(); - if (webkit) { window.scrollTo(null, oldScrollY); } - display.input.reset(); - // Adds "Select all" to context menu in FF - if (!cm.somethingSelected()) { te.value = input.prevInput = " "; } - input.contextMenuPending = rehide; - display.selForContextMenu = cm.doc.sel; - clearTimeout(display.detectingSelectAll); - - // Select-all will be greyed out if there's nothing to select, so - // this adds a zero-width space so that we can later check whether - // it got selected. - function prepareSelectAllHack() { - if (te.selectionStart != null) { - var selected = cm.somethingSelected(); - var extval = "\u200b" + (selected ? te.value : ""); - te.value = "\u21da"; // Used to catch context-menu undo - te.value = extval; - input.prevInput = selected ? "" : "\u200b"; - te.selectionStart = 1; te.selectionEnd = extval.length; - // Re-set this, in case some other handler touched the - // selection in the meantime. - display.selForContextMenu = cm.doc.sel; - } - } - function rehide() { - if (input.contextMenuPending != rehide) { return } - input.contextMenuPending = false; - input.wrapper.style.cssText = oldWrapperCSS; - te.style.cssText = oldCSS; - if (ie && ie_version < 9) { display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos); } - - // Try to detect the user choosing select-all - if (te.selectionStart != null) { - if (!ie || (ie && ie_version < 9)) { prepareSelectAllHack(); } - var i = 0, poll = function () { - if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 && - te.selectionEnd > 0 && input.prevInput == "\u200b") { - operation(cm, selectAll)(cm); - } else if (i++ < 10) { - display.detectingSelectAll = setTimeout(poll, 500); - } else { - display.selForContextMenu = null; - display.input.reset(); - } - }; - display.detectingSelectAll = setTimeout(poll, 200); - } - } - - if (ie && ie_version >= 9) { prepareSelectAllHack(); } - if (captureRightClick) { - e_stop(e); - var mouseup = function () { - off(window, "mouseup", mouseup); - setTimeout(rehide, 20); - }; - on(window, "mouseup", mouseup); - } else { - setTimeout(rehide, 50); - } - }; - - TextareaInput.prototype.readOnlyChanged = function (val) { - if (!val) { this.reset(); } - this.textarea.disabled = val == "nocursor"; - this.textarea.readOnly = !!val; - }; - - TextareaInput.prototype.setUneditable = function () {}; - - TextareaInput.prototype.needsContentAttribute = false; - - function fromTextArea(textarea, options) { - options = options ? copyObj(options) : {}; - options.value = textarea.value; - if (!options.tabindex && textarea.tabIndex) - { options.tabindex = textarea.tabIndex; } - if (!options.placeholder && textarea.placeholder) - { options.placeholder = textarea.placeholder; } - // Set autofocus to true if this textarea is focused, or if it has - // autofocus and no other element is focused. - if (options.autofocus == null) { - var hasFocus = activeElt(); - options.autofocus = hasFocus == textarea || - textarea.getAttribute("autofocus") != null && hasFocus == document.body; - } - - function save() {textarea.value = cm.getValue();} - - var realSubmit; - if (textarea.form) { - on(textarea.form, "submit", save); - // Deplorable hack to make the submit method do the right thing. - if (!options.leaveSubmitMethodAlone) { - var form = textarea.form; - realSubmit = form.submit; - try { - var wrappedSubmit = form.submit = function () { - save(); - form.submit = realSubmit; - form.submit(); - form.submit = wrappedSubmit; - }; - } catch(e) {} - } - } - - options.finishInit = function (cm) { - cm.save = save; - cm.getTextArea = function () { return textarea; }; - cm.toTextArea = function () { - cm.toTextArea = isNaN; // Prevent this from being ran twice - save(); - textarea.parentNode.removeChild(cm.getWrapperElement()); - textarea.style.display = ""; - if (textarea.form) { - off(textarea.form, "submit", save); - if (!options.leaveSubmitMethodAlone && typeof textarea.form.submit == "function") - { textarea.form.submit = realSubmit; } - } - }; - }; - - textarea.style.display = "none"; - var cm = CodeMirror(function (node) { return textarea.parentNode.insertBefore(node, textarea.nextSibling); }, - options); - return cm - } - - function addLegacyProps(CodeMirror) { - CodeMirror.off = off; - CodeMirror.on = on; - CodeMirror.wheelEventPixels = wheelEventPixels; - CodeMirror.Doc = Doc; - CodeMirror.splitLines = splitLinesAuto; - CodeMirror.countColumn = countColumn; - CodeMirror.findColumn = findColumn; - CodeMirror.isWordChar = isWordCharBasic; - CodeMirror.Pass = Pass; - CodeMirror.signal = signal; - CodeMirror.Line = Line; - CodeMirror.changeEnd = changeEnd; - CodeMirror.scrollbarModel = scrollbarModel; - CodeMirror.Pos = Pos; - CodeMirror.cmpPos = cmp; - CodeMirror.modes = modes; - CodeMirror.mimeModes = mimeModes; - CodeMirror.resolveMode = resolveMode; - CodeMirror.getMode = getMode; - CodeMirror.modeExtensions = modeExtensions; - CodeMirror.extendMode = extendMode; - CodeMirror.copyState = copyState; - CodeMirror.startState = startState; - CodeMirror.innerMode = innerMode; - CodeMirror.commands = commands; - CodeMirror.keyMap = keyMap; - CodeMirror.keyName = keyName; - CodeMirror.isModifierKey = isModifierKey; - CodeMirror.lookupKey = lookupKey; - CodeMirror.normalizeKeyMap = normalizeKeyMap; - CodeMirror.StringStream = StringStream; - CodeMirror.SharedTextMarker = SharedTextMarker; - CodeMirror.TextMarker = TextMarker; - CodeMirror.LineWidget = LineWidget; - CodeMirror.e_preventDefault = e_preventDefault; - CodeMirror.e_stopPropagation = e_stopPropagation; - CodeMirror.e_stop = e_stop; - CodeMirror.addClass = addClass; - CodeMirror.contains = contains; - CodeMirror.rmClass = rmClass; - CodeMirror.keyNames = keyNames; - } - - // EDITOR CONSTRUCTOR - - defineOptions(CodeMirror); - - addEditorMethods(CodeMirror); - - // Set up methods on CodeMirror's prototype to redirect to the editor's document. - var dontDelegate = "iter insert remove copy getEditor constructor".split(" "); - for (var prop in Doc.prototype) { if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0) - { CodeMirror.prototype[prop] = (function(method) { - return function() {return method.apply(this.doc, arguments)} - })(Doc.prototype[prop]); } } - - eventMixin(Doc); - CodeMirror.inputStyles = {"textarea": TextareaInput, "contenteditable": ContentEditableInput}; - - // Extra arguments are stored as the mode's dependencies, which is - // used by (legacy) mechanisms like loadmode.js to automatically - // load a mode. (Preferred mechanism is the require/define calls.) - CodeMirror.defineMode = function(name/*, mode, …*/) { - if (!CodeMirror.defaults.mode && name != "null") { CodeMirror.defaults.mode = name; } - defineMode.apply(this, arguments); - }; - - CodeMirror.defineMIME = defineMIME; - - // Minimal default mode. - CodeMirror.defineMode("null", function () { return ({token: function (stream) { return stream.skipToEnd(); }}); }); - CodeMirror.defineMIME("text/plain", "null"); - - // EXTENSIONS - - CodeMirror.defineExtension = function (name, func) { - CodeMirror.prototype[name] = func; - }; - CodeMirror.defineDocExtension = function (name, func) { - Doc.prototype[name] = func; - }; - - CodeMirror.fromTextArea = fromTextArea; - - addLegacyProps(CodeMirror); - - CodeMirror.version = "5.59.3"; - - return CodeMirror; - -}))); diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/mode/yaml/yaml.js b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/mode/yaml/yaml.js deleted file mode 100644 index d464941026..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/mode/yaml/yaml.js +++ /dev/null @@ -1,120 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: https://codemirror.net/LICENSE - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { -"use strict"; - -CodeMirror.defineMode("yaml", function() { - - var cons = ['true', 'false', 'on', 'off', 'yes', 'no']; - var keywordRegex = new RegExp("\\b(("+cons.join(")|(")+"))$", 'i'); - - return { - token: function(stream, state) { - var ch = stream.peek(); - var esc = state.escaped; - state.escaped = false; - /* comments */ - if (ch == "#" && (stream.pos == 0 || /\s/.test(stream.string.charAt(stream.pos - 1)))) { - stream.skipToEnd(); - return "comment"; - } - - if (stream.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/)) - return "string"; - - if (state.literal && stream.indentation() > state.keyCol) { - stream.skipToEnd(); return "string"; - } else if (state.literal) { state.literal = false; } - if (stream.sol()) { - state.keyCol = 0; - state.pair = false; - state.pairStart = false; - /* document start */ - if(stream.match('---')) { return "def"; } - /* document end */ - if (stream.match('...')) { return "def"; } - /* array list item */ - if (stream.match(/\s*-\s+/)) { return 'meta'; } - } - /* inline pairs/lists */ - if (stream.match(/^(\{|\}|\[|\])/)) { - if (ch == '{') - state.inlinePairs++; - else if (ch == '}') - state.inlinePairs--; - else if (ch == '[') - state.inlineList++; - else - state.inlineList--; - return 'meta'; - } - - /* list separator */ - if (state.inlineList > 0 && !esc && ch == ',') { - stream.next(); - return 'meta'; - } - /* pairs separator */ - if (state.inlinePairs > 0 && !esc && ch == ',') { - state.keyCol = 0; - state.pair = false; - state.pairStart = false; - stream.next(); - return 'meta'; - } - - /* start of value of a pair */ - if (state.pairStart) { - /* block literals */ - if (stream.match(/^\s*(\||\>)\s*/)) { state.literal = true; return 'meta'; }; - /* references */ - if (stream.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i)) { return 'variable-2'; } - /* numbers */ - if (state.inlinePairs == 0 && stream.match(/^\s*-?[0-9\.\,]+\s?$/)) { return 'number'; } - if (state.inlinePairs > 0 && stream.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/)) { return 'number'; } - /* keywords */ - if (stream.match(keywordRegex)) { return 'keyword'; } - } - - /* pairs (associative arrays) -> key */ - if (!state.pair && stream.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)) { - state.pair = true; - state.keyCol = stream.indentation(); - return "atom"; - } - if (state.pair && stream.match(/^:\s*/)) { state.pairStart = true; return 'meta'; } - - /* nothing found, continue */ - state.pairStart = false; - state.escaped = (ch == '\\'); - stream.next(); - return null; - }, - startState: function() { - return { - pair: false, - pairStart: false, - keyCol: 0, - inlinePairs: 0, - inlineList: 0, - literal: false, - escaped: false - }; - }, - lineComment: "#", - fold: "indent" - }; -}); - -CodeMirror.defineMIME("text/x-yaml", "yaml"); -CodeMirror.defineMIME("text/yaml", "yaml"); - -}); diff --git a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/theme/material.css b/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/theme/material.css deleted file mode 100644 index 9ac17a3676..0000000000 --- a/package/ctcgfw/luci-app-openclash/root/www/luci-static/resources/openclash/theme/material.css +++ /dev/null @@ -1,135 +0,0 @@ -/* - Name: material - Author: Mattia Astorino (http://github.com/equinusocio) - Website: https://material-theme.site/ -*/ - -.cm-s-material.CodeMirror { - background-color: #263238; - color: #EEFFFF; -} - -.cm-s-material .CodeMirror-gutters { - background: #263238; - color: #546E7A; - border: none; -} - -.cm-s-material .CodeMirror-guttermarker, -.cm-s-material .CodeMirror-guttermarker-subtle, -.cm-s-material .CodeMirror-linenumber { - color: #546E7A; -} - -.cm-s-material .CodeMirror-cursor { - border-left: 1px solid #FFCC00; -} - -.cm-s-material div.CodeMirror-selected { - background: rgba(128, 203, 196, 0.2); -} - -.cm-s-material.CodeMirror-focused div.CodeMirror-selected { - background: rgba(128, 203, 196, 0.2); -} - -.cm-s-material .CodeMirror-line::selection, -.cm-s-material .CodeMirror-line>span::selection, -.cm-s-material .CodeMirror-line>span>span::selection { - background: rgba(128, 203, 196, 0.2); -} - -.cm-s-material .CodeMirror-line::-moz-selection, -.cm-s-material .CodeMirror-line>span::-moz-selection, -.cm-s-material .CodeMirror-line>span>span::-moz-selection { - background: rgba(128, 203, 196, 0.2); -} - -.cm-s-material .CodeMirror-activeline-background { - background: rgba(0, 0, 0, 0.5); -} - -.cm-s-material .cm-keyword { - color: #C792EA; -} - -.cm-s-material .cm-operator { - color: #89DDFF; -} - -.cm-s-material .cm-variable-2 { - color: #EEFFFF; -} - -.cm-s-material .cm-variable-3, -.cm-s-material .cm-type { - color: #f07178; -} - -.cm-s-material .cm-builtin { - color: #FFCB6B; -} - -.cm-s-material .cm-atom { - color: #F78C6C; -} - -.cm-s-material .cm-number { - color: #FF5370; -} - -.cm-s-material .cm-def { - color: #82AAFF; -} - -.cm-s-material .cm-string { - color: #C3E88D; -} - -.cm-s-material .cm-string-2 { - color: #f07178; -} - -.cm-s-material .cm-comment { - color: #546E7A; -} - -.cm-s-material .cm-variable { - color: #f07178; -} - -.cm-s-material .cm-tag { - color: #FF5370; -} - -.cm-s-material .cm-meta { - color: #FFCB6B; -} - -.cm-s-material .cm-attribute { - color: #C792EA; -} - -.cm-s-material .cm-property { - color: #C792EA; -} - -.cm-s-material .cm-qualifier { - color: #DECB6B; -} - -.cm-s-material .cm-variable-3, -.cm-s-material .cm-type { - color: #DECB6B; -} - - -.cm-s-material .cm-error { - color: rgba(255, 255, 255, 1.0); - background-color: #FF5370; -} - -.cm-s-material .CodeMirror-matchingbracket { - text-decoration: underline; - color: white !important; -} \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/tools/po2lmo/Makefile b/package/ctcgfw/luci-app-openclash/tools/po2lmo/Makefile deleted file mode 100644 index ad2c133207..0000000000 --- a/package/ctcgfw/luci-app-openclash/tools/po2lmo/Makefile +++ /dev/null @@ -1,12 +0,0 @@ - -INSTALL = install -PREFIX = /usr/bin - -po2lmo: src/po2lmo.o src/template_lmo.o - $(CC) $(LDFLAGS) -o src/po2lmo src/po2lmo.o src/template_lmo.o - -install: - $(INSTALL) -m 755 src/po2lmo $(PREFIX) - -clean: - $(RM) src/po2lmo src/*.o diff --git a/package/ctcgfw/luci-app-openclash/tools/po2lmo/src/po2lmo b/package/ctcgfw/luci-app-openclash/tools/po2lmo/src/po2lmo deleted file mode 100755 index 68d4c13aca2d2894ac62de3c5f4425cf99ed84fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19272 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 kl(^b diff --git a/package/ctcgfw/luci-app-openclash/tools/po2lmo/src/po2lmo.c b/package/ctcgfw/luci-app-openclash/tools/po2lmo/src/po2lmo.c deleted file mode 100644 index 0da792b680..0000000000 --- a/package/ctcgfw/luci-app-openclash/tools/po2lmo/src/po2lmo.c +++ /dev/null @@ -1,247 +0,0 @@ -/* - * lmo - Lua Machine Objects - PO to LMO conversion tool - * - * Copyright (C) 2009-2012 Jo-Philipp Wich - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "template_lmo.h" - -static void die(const char *msg) -{ - fprintf(stderr, "Error: %s\n", msg); - exit(1); -} - -static void usage(const char *name) -{ - fprintf(stderr, "Usage: %s input.po output.lmo\n", name); - exit(1); -} - -static void print(const void *ptr, size_t size, size_t nmemb, FILE *stream) -{ - if( fwrite(ptr, size, nmemb, stream) == 0 ) - die("Failed to write stdout"); -} - -static int extract_string(const char *src, char *dest, int len) -{ - int pos = 0; - int esc = 0; - int off = -1; - - for( pos = 0; (pos < strlen(src)) && (pos < len); pos++ ) - { - if( (off == -1) && (src[pos] == '"') ) - { - off = pos + 1; - } - else if( off >= 0 ) - { - if( esc == 1 ) - { - switch (src[pos]) - { - case '"': - case '\\': - off++; - break; - } - dest[pos-off] = src[pos]; - esc = 0; - } - else if( src[pos] == '\\' ) - { - dest[pos-off] = src[pos]; - esc = 1; - } - else if( src[pos] != '"' ) - { - dest[pos-off] = src[pos]; - } - else - { - dest[pos-off] = '\0'; - break; - } - } - } - - return (off > -1) ? strlen(dest) : -1; -} - -static int cmp_index(const void *a, const void *b) -{ - uint32_t x = ((const lmo_entry_t *)a)->key_id; - uint32_t y = ((const lmo_entry_t *)b)->key_id; - - if (x < y) - return -1; - else if (x > y) - return 1; - - return 0; -} - -static void print_uint32(uint32_t x, FILE *out) -{ - uint32_t y = htonl(x); - print(&y, sizeof(uint32_t), 1, out); -} - -static void print_index(void *array, int n, FILE *out) -{ - lmo_entry_t *e; - - qsort(array, n, sizeof(*e), cmp_index); - - for (e = array; n > 0; n--, e++) - { - print_uint32(e->key_id, out); - print_uint32(e->val_id, out); - print_uint32(e->offset, out); - print_uint32(e->length, out); - } -} - -int main(int argc, char *argv[]) -{ - char line[4096]; - char key[4096]; - char val[4096]; - char tmp[4096]; - int state = 0; - int offset = 0; - int length = 0; - int n_entries = 0; - void *array = NULL; - lmo_entry_t *entry = NULL; - uint32_t key_id, val_id; - - FILE *in; - FILE *out; - - if( (argc != 3) || ((in = fopen(argv[1], "r")) == NULL) || ((out = fopen(argv[2], "w")) == NULL) ) - usage(argv[0]); - - memset(line, 0, sizeof(key)); - memset(key, 0, sizeof(val)); - memset(val, 0, sizeof(val)); - - while( (NULL != fgets(line, sizeof(line), in)) || (state >= 2 && feof(in)) ) - { - if( state == 0 && strstr(line, "msgid \"") == line ) - { - switch(extract_string(line, key, sizeof(key))) - { - case -1: - die("Syntax error in msgid"); - case 0: - state = 1; - break; - default: - state = 2; - } - } - else if( state == 1 || state == 2 ) - { - if( strstr(line, "msgstr \"") == line || state == 2 ) - { - switch(extract_string(line, val, sizeof(val))) - { - case -1: - state = 4; - break; - default: - state = 3; - } - } - else - { - switch(extract_string(line, tmp, sizeof(tmp))) - { - case -1: - state = 2; - break; - default: - strcat(key, tmp); - } - } - } - else if( state == 3 ) - { - switch(extract_string(line, tmp, sizeof(tmp))) - { - case -1: - state = 4; - break; - default: - strcat(val, tmp); - } - } - - if( state == 4 ) - { - if( strlen(key) > 0 && strlen(val) > 0 ) - { - key_id = sfh_hash(key, strlen(key)); - val_id = sfh_hash(val, strlen(val)); - - if( key_id != val_id ) - { - n_entries++; - array = realloc(array, n_entries * sizeof(lmo_entry_t)); - entry = (lmo_entry_t *)array + n_entries - 1; - - if (!array) - die("Out of memory"); - - entry->key_id = key_id; - entry->val_id = val_id; - entry->offset = offset; - entry->length = strlen(val); - - length = strlen(val) + ((4 - (strlen(val) % 4)) % 4); - - print(val, length, 1, out); - offset += length; - } - } - - state = 0; - memset(key, 0, sizeof(key)); - memset(val, 0, sizeof(val)); - } - - memset(line, 0, sizeof(line)); - } - - print_index(array, n_entries, out); - - if( offset > 0 ) - { - print_uint32(offset, out); - fsync(fileno(out)); - fclose(out); - } - else - { - fclose(out); - unlink(argv[2]); - } - - fclose(in); - return(0); -} diff --git a/package/ctcgfw/luci-app-openclash/tools/po2lmo/src/template_lmo.c b/package/ctcgfw/luci-app-openclash/tools/po2lmo/src/template_lmo.c deleted file mode 100644 index 27205a7228..0000000000 --- a/package/ctcgfw/luci-app-openclash/tools/po2lmo/src/template_lmo.c +++ /dev/null @@ -1,328 +0,0 @@ -/* - * lmo - Lua Machine Objects - Base functions - * - * Copyright (C) 2009-2010 Jo-Philipp Wich - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "template_lmo.h" - -/* - * Hash function from http://www.azillionmonkeys.com/qed/hash.html - * Copyright (C) 2004-2008 by Paul Hsieh - */ - -uint32_t sfh_hash(const char *data, int len) -{ - uint32_t hash = len, tmp; - int rem; - - if (len <= 0 || data == NULL) return 0; - - rem = len & 3; - len >>= 2; - - /* Main loop */ - for (;len > 0; len--) { - hash += sfh_get16(data); - tmp = (sfh_get16(data+2) << 11) ^ hash; - hash = (hash << 16) ^ tmp; - data += 2*sizeof(uint16_t); - hash += hash >> 11; - } - - /* Handle end cases */ - switch (rem) { - case 3: hash += sfh_get16(data); - hash ^= hash << 16; - hash ^= data[sizeof(uint16_t)] << 18; - hash += hash >> 11; - break; - case 2: hash += sfh_get16(data); - hash ^= hash << 11; - hash += hash >> 17; - break; - case 1: hash += *data; - hash ^= hash << 10; - hash += hash >> 1; - } - - /* Force "avalanching" of final 127 bits */ - hash ^= hash << 3; - hash += hash >> 5; - hash ^= hash << 4; - hash += hash >> 17; - hash ^= hash << 25; - hash += hash >> 6; - - return hash; -} - -uint32_t lmo_canon_hash(const char *str, int len) -{ - char res[4096]; - char *ptr, prev; - int off; - - if (!str || len >= sizeof(res)) - return 0; - - for (prev = ' ', ptr = res, off = 0; off < len; prev = *str, off++, str++) - { - if (isspace(*str)) - { - if (!isspace(prev)) - *ptr++ = ' '; - } - else - { - *ptr++ = *str; - } - } - - if ((ptr > res) && isspace(*(ptr-1))) - ptr--; - - return sfh_hash(res, ptr - res); -} - -lmo_archive_t * lmo_open(const char *file) -{ - int in = -1; - uint32_t idx_offset = 0; - struct stat s; - - lmo_archive_t *ar = NULL; - - if (stat(file, &s) == -1) - goto err; - - if ((in = open(file, O_RDONLY)) == -1) - goto err; - - if ((ar = (lmo_archive_t *)malloc(sizeof(*ar))) != NULL) - { - memset(ar, 0, sizeof(*ar)); - - ar->fd = in; - ar->size = s.st_size; - - fcntl(ar->fd, F_SETFD, fcntl(ar->fd, F_GETFD) | FD_CLOEXEC); - - if ((ar->mmap = mmap(NULL, ar->size, PROT_READ, MAP_SHARED, ar->fd, 0)) == MAP_FAILED) - goto err; - - idx_offset = ntohl(*((const uint32_t *) - (ar->mmap + ar->size - sizeof(uint32_t)))); - - if (idx_offset >= ar->size) - goto err; - - ar->index = (lmo_entry_t *)(ar->mmap + idx_offset); - ar->length = (ar->size - idx_offset - sizeof(uint32_t)) / sizeof(lmo_entry_t); - ar->end = ar->mmap + ar->size; - - return ar; - } - -err: - if (in > -1) - close(in); - - if (ar != NULL) - { - if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED)) - munmap(ar->mmap, ar->size); - - free(ar); - } - - return NULL; -} - -void lmo_close(lmo_archive_t *ar) -{ - if (ar != NULL) - { - if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED)) - munmap(ar->mmap, ar->size); - - close(ar->fd); - free(ar); - - ar = NULL; - } -} - - -lmo_catalog_t *_lmo_catalogs = NULL; -lmo_catalog_t *_lmo_active_catalog = NULL; - -int lmo_load_catalog(const char *lang, const char *dir) -{ - DIR *dh = NULL; - char pattern[16]; - char path[PATH_MAX]; - struct dirent *de = NULL; - - lmo_archive_t *ar = NULL; - lmo_catalog_t *cat = NULL; - - if (!lmo_change_catalog(lang)) - return 0; - - if (!dir || !(dh = opendir(dir))) - goto err; - - if (!(cat = malloc(sizeof(*cat)))) - goto err; - - memset(cat, 0, sizeof(*cat)); - - snprintf(cat->lang, sizeof(cat->lang), "%s", lang); - snprintf(pattern, sizeof(pattern), "*.%s.lmo", lang); - - while ((de = readdir(dh)) != NULL) - { - if (!fnmatch(pattern, de->d_name, 0)) - { - snprintf(path, sizeof(path), "%s/%s", dir, de->d_name); - ar = lmo_open(path); - - if (ar) - { - ar->next = cat->archives; - cat->archives = ar; - } - } - } - - closedir(dh); - - cat->next = _lmo_catalogs; - _lmo_catalogs = cat; - - if (!_lmo_active_catalog) - _lmo_active_catalog = cat; - - return 0; - -err: - if (dh) closedir(dh); - if (cat) free(cat); - - return -1; -} - -int lmo_change_catalog(const char *lang) -{ - lmo_catalog_t *cat; - - for (cat = _lmo_catalogs; cat; cat = cat->next) - { - if (!strncmp(cat->lang, lang, sizeof(cat->lang))) - { - _lmo_active_catalog = cat; - return 0; - } - } - - return -1; -} - -static lmo_entry_t * lmo_find_entry(lmo_archive_t *ar, uint32_t hash) -{ - unsigned int m, l, r; - uint32_t k; - - l = 0; - r = ar->length - 1; - - while (1) - { - m = l + ((r - l) / 2); - - if (r < l) - break; - - k = ntohl(ar->index[m].key_id); - - if (k == hash) - return &ar->index[m]; - - if (k > hash) - { - if (!m) - break; - - r = m - 1; - } - else - { - l = m + 1; - } - } - - return NULL; -} - -int lmo_translate(const char *key, int keylen, char **out, int *outlen) -{ - uint32_t hash; - lmo_entry_t *e; - lmo_archive_t *ar; - - if (!key || !_lmo_active_catalog) - return -2; - - hash = lmo_canon_hash(key, keylen); - - for (ar = _lmo_active_catalog->archives; ar; ar = ar->next) - { - if ((e = lmo_find_entry(ar, hash)) != NULL) - { - *out = ar->mmap + ntohl(e->offset); - *outlen = ntohl(e->length); - return 0; - } - } - - return -1; -} - -void lmo_close_catalog(const char *lang) -{ - lmo_archive_t *ar, *next; - lmo_catalog_t *cat, *prev; - - for (prev = NULL, cat = _lmo_catalogs; cat; prev = cat, cat = cat->next) - { - if (!strncmp(cat->lang, lang, sizeof(cat->lang))) - { - if (prev) - prev->next = cat->next; - else - _lmo_catalogs = cat->next; - - for (ar = cat->archives; ar; ar = next) - { - next = ar->next; - lmo_close(ar); - } - - free(cat); - break; - } - } -} diff --git a/package/ctcgfw/luci-app-openclash/tools/po2lmo/src/template_lmo.h b/package/ctcgfw/luci-app-openclash/tools/po2lmo/src/template_lmo.h deleted file mode 100644 index 57f59aa56b..0000000000 --- a/package/ctcgfw/luci-app-openclash/tools/po2lmo/src/template_lmo.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * lmo - Lua Machine Objects - General header - * - * Copyright (C) 2009-2012 Jo-Philipp Wich - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef _TEMPLATE_LMO_H_ -#define _TEMPLATE_LMO_H_ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if (defined(__GNUC__) && defined(__i386__)) -#define sfh_get16(d) (*((const uint16_t *) (d))) -#else -#define sfh_get16(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8)\ - +(uint32_t)(((const uint8_t *)(d))[0]) ) -#endif - - -struct lmo_entry { - uint32_t key_id; - uint32_t val_id; - uint32_t offset; - uint32_t length; -} __attribute__((packed)); - -typedef struct lmo_entry lmo_entry_t; - - -struct lmo_archive { - int fd; - int length; - uint32_t size; - lmo_entry_t *index; - char *mmap; - char *end; - struct lmo_archive *next; -}; - -typedef struct lmo_archive lmo_archive_t; - - -struct lmo_catalog { - char lang[6]; - struct lmo_archive *archives; - struct lmo_catalog *next; -}; - -typedef struct lmo_catalog lmo_catalog_t; - - -uint32_t sfh_hash(const char *data, int len); -uint32_t lmo_canon_hash(const char *data, int len); - -lmo_archive_t * lmo_open(const char *file); -void lmo_close(lmo_archive_t *ar); - - -extern lmo_catalog_t *_lmo_catalogs; -extern lmo_catalog_t *_lmo_active_catalog; - -int lmo_load_catalog(const char *lang, const char *dir); -int lmo_change_catalog(const char *lang); -int lmo_translate(const char *key, int keylen, char **out, int *outlen); -void lmo_close_catalog(const char *lang); - -#endif diff --git a/package/ctcgfw/luci-app-rclone/Makefile b/package/ctcgfw/luci-app-rclone/Makefile deleted file mode 100644 index a51546bb3a..0000000000 --- a/package/ctcgfw/luci-app-rclone/Makefile +++ /dev/null @@ -1,58 +0,0 @@ -#### - # File: /Makefile - # Project: luci-app-rclone - # File Created: Wednesday, 9th October 2019 1:39:36 pm - # Author: ElonH[EH](elonhhuang@gmail.com) - # License: GNU General Public License v3.0 or later(http://www.gnu.org/licenses/gpl-3.0-standalone.html) - # Copyright (C) 2019 [ElonH] -#### - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI support for Rclone -LUCI_DEPENDS:=+rclone \ - +PACKAGE_luci-app-rclone_INCLUDE_rclone-webui:rclone-webui-react \ - +PACKAGE_luci-app-rclone_INCLUDE_rclone-ng:rclone-ng \ - +PACKAGE_luci-app-rclone_INCLUDE_fuse-utils:fuse-utils -LUCI_PKGARCH:=all -PKG_NAME:=luci-app-rclone -PKG_VERSION:=1.4.1 -PKG_RELEASE:=1 -PKG_LICENSE:=GPLv3.0+ -PKG_MAINTAINER:=ElonH - -define Package/luci-app-rclone/description - LuCI support for Rclone. - Rclone ("rsync for cloud storage") is a command line program to sync root/usr/bin and directories to and from different cloud storage providers. - Cloud storage providers: - 1Fichier, Alibaba Cloud (Aliyun) Object Storage System (OSS), Amazon Drive, Amazon S3, - Backblaze B2, Box, Ceph, C14, DigitalOcean Spaces, Dreamhost, Dropbox, FTP, - Google Cloud Storage, Google Drive, Google Photos, HTTP, Hubic, Jottacloud, - IBM COS S3, Koofr, Memset Memstore, Mega, Microsoft Azure Blob Storage, - Microsoft OneDrive, Minio, Nextcloud, OVH, OpenDrive, Openstack Swift, - Oracle Cloud Storage, ownCloud, pCloud, premiumize.me, put.io, QingStor, - Rackspace Cloud root/usr/bin, rsync.net, Scaleway, SFTP, Wasabi, WebDAV, - Yandex Disk, The local root/usr/binystem. -endef - -define Package/luci-app-rclone/conffiles -/etc/config/rclone -endef - -define Package/luci-app-rclone/config -config PACKAGE_luci-app-rclone_INCLUDE_rclone-webui - bool "Include rclone-webui" - default y - -config PACKAGE_luci-app-rclone_INCLUDE_rclone-ng - bool "Include rclone-ng (another webui)" - default y - -config PACKAGE_luci-app-rclone_INCLUDE_fuse-utils - bool "Include fuse-utils (mount cloud storage)" - default y -endef - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-rclone/luasrc/controller/rclone.lua b/package/ctcgfw/luci-app-rclone/luasrc/controller/rclone.lua deleted file mode 100644 index 5b1028066c..0000000000 --- a/package/ctcgfw/luci-app-rclone/luasrc/controller/rclone.lua +++ /dev/null @@ -1,7 +0,0 @@ -module("luci.controller.rclone", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/rclone") then return end - entry({"admin", "nas"}, firstchild(), _("NAS") , 45).dependent = false - entry({"admin", "nas", "rclone"}, cbi("rclone"), _("Rclone"), 100 ).dependent = false -end diff --git a/package/ctcgfw/luci-app-rclone/luasrc/model/cbi/rclone.lua b/package/ctcgfw/luci-app-rclone/luasrc/model/cbi/rclone.lua deleted file mode 100644 index c8b77cf764..0000000000 --- a/package/ctcgfw/luci-app-rclone/luasrc/model/cbi/rclone.lua +++ /dev/null @@ -1,182 +0,0 @@ -require('luci.sys') -require('luci.util') - -local ipkg = require('luci.model.ipkg') - -local fs = require 'nixio.fs' - -local uci = require 'luci.model.uci'.cursor() - -local m, s - -local running = (luci.sys.call('pidof rclone > /dev/null') == 0) - -local state_msg = '' -local trport = uci:get('rclone', 'config', 'port') - -local triptype = uci:get('rclone', 'config', 'addr_type') -local trip = '' - -if triptype == 'local' then - trip = uci:get('network', 'loopback', 'ipaddr') -elseif triptype == 'lan' then - trip = uci:get('network', 'lan', 'ipaddr') -else - trip = '[ip]' -end - -if running then - state_msg = '' .. translate('rclone running') .. '' - address_msg = translate('rclone address') .. ' : http://' .. trip .. ':' .. trport .. '

    ' -else - state_msg = '' .. translate('rclone not run') .. '' - address_msg = '' -end - -if ipkg.installed("rclone-webui-react") and ipkg.installed("rclone-ng") then -m = - Map( - 'rclone', - translate('Rclone'), - translate('Rclone ("rsync for cloud storage") is a command line program to sync root/usr/bin and directories to and from different cloud storage providers.') .. - '

    ' .. translate('rclone state') .. ' : ' .. state_msg .. '

    ' - .. address_msg .. - translate('Installed Web Interface') .. - '      " .. - '      

    " -) -elseif ipkg.installed("rclone-webui-react") then -m = - Map( - 'rclone', - translate('Rclone'), - translate('Rclone ("rsync for cloud storage") is a command line program to sync root/usr/bin and directories to and from different cloud storage providers.') .. - '

    ' .. translate('rclone state') .. ' : ' .. state_msg .. '

    ' - .. address_msg .. - translate('Installed Web Interface') .. - - '      " -) -elseif ipkg.installed("rclone-ng") then -m = - Map( - 'rclone', - translate('Rclone'), - translate('Rclone ("rsync for cloud storage") is a command line program to sync root/usr/bin and directories to and from different cloud storage providers.') .. - '

    ' .. translate('rclone state') .. ' : ' .. state_msg .. '

    ' - .. address_msg .. - translate('Installed Web Interface') .. - - '      

    " -) -else -m = - Map( - 'rclone', - translate('Rclone'), - translate('Rclone ("rsync for cloud storage") is a command line program to sync root/usr/bin and directories to and from different cloud storage providers.') .. - '

    ' .. translate('rclone state') .. ' : ' .. state_msg .. '

    ' - .. address_msg -) -end - -s = m:section(TypedSection, 'global', translate('global')) -s.addremove = false -s.anonymous = true - -enable = s:option(Flag, 'enabled', translate('run Rclone as daemon')) -enable.rmempty = false - -s = m:section(TypedSection, 'conf', translate('configure')) -s.addremove = false -s.anonymous = true - -o = s:option(ListValue, 'addr_type', translate('listen address')) -o:value('local', translate('localhost address')) -o:value('lan', translate('local network address')) -o:value('all', translate('all address')) -o.default = 'lan' -o.rmempty = false - -o = s:option(Value, 'port', translate('listen port')) -o.placeholder = 5572 -o.default = 5572 -o.datatype = 'port' -o.rmempty = false - -o = s:option(Value, 'config_path', translate('rclone configuration file path')) -o.placeholder = '/etc/rclone/rclone.conf' -o.default = '/etc/rclone/rclone.conf' -o.rmempty = false -o.description = translate("Recommand: run ") .. - "rclone config --config rclone.conf" .. - translate(" to setup configuration on pc,") .. "
    " .. translate("than updaload configuration to here.") - -o = s:option(Button,"config_download",translate("download configuration")) -o.inputtitle = translate("download") -o.inputstyle = "apply" -o.write = function() - Download() -end - -function Download() - local t,e - t=nixio.open(uci:get('rclone', 'config', 'config_path'),"r") - luci.http.header('Content-Disposition','attachment; filename="rclone.conf"') - luci.http.prepare_content("application/octet-stream") - while true do - e=t:read(nixio.const.buffersize) - if(not e)or(#e==0)then - break - else - luci.http.write(e) - end - end - t:close() - luci.http.close() -end - -o = s:option(Value, 'username', translate('username')) -o.placeholder = 'admin' -o.default = 'admin' -o.rmempty = false - -o = s:option(Value, 'password', translate('password')) -o.password = true -o.placeholder = 'admin' -o.default = 'admin' -o.rmempty = false - -s = m:section(TypedSection, 'proxy', translate('proxy')) -s.addremove = false -s.anonymous = true -s.description = "
    " - ..translate("FAQ").."" - -enable = s:option(Flag, 'enabled', translate('enable proxy')) -enable.rmempty = false - -o = s:option(Value, 'proxy_addr', translate('proxy address')) -o.placeholder = 'socks5://127.0.0.1:1080' -o.default = 'socks5://127.0.0.1:1080' -o.rmempty = false -o.description = translate("The content of the variable is protocol://server:port. The protocol value is commonly either http or socks5.") - -s = m:section(TypedSection, 'log', translate('log')) -s.addremove = false -s.anonymous = true - -o = s:option(Value, 'path', translate('path')) -o.placeholder = '/var/log/rclone/output' -o.default = '/var/log/rclone/output' -o.rmempty = false - -return m diff --git a/package/ctcgfw/luci-app-rclone/po/en/rclone.po b/package/ctcgfw/luci-app-rclone/po/en/rclone.po deleted file mode 100644 index a71070ee05..0000000000 --- a/package/ctcgfw/luci-app-rclone/po/en/rclone.po +++ /dev/null @@ -1,110 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: en\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:41 -msgid "Installed Web Interface" -msgstr "Installed Web Interface" - -#: luci-app-rclone/luasrc/controller/rclone.lua:7 -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:37 -msgid "Rclone" -msgstr "Rclone" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:38 -msgid "" -"Rclone (\"rsync for cloud storage\") is a command line program to sync root/" -"usr/bin and directories to and from different cloud storage providers." -msgstr "" -"Rclone (\"rsync for cloud storage\") is a command line program to sync root/" -"usr/bin and directories to and from different cloud storage providers." - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:43 -msgid "Webui React" -msgstr "Webui React" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:61 -msgid "all address" -msgstr "all address" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:54 -msgid "configure" -msgstr "configure" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:77 -msgid "download" -msgstr "download" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:76 -msgid "download configuration" -msgstr "download configuration" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:47 -msgid "global" -msgstr "global" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:58 -msgid "listen address" -msgstr "listen address" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:65 -msgid "listen port" -msgstr "listen port" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:60 -msgid "local network address" -msgstr "local network address" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:59 -msgid "localhost address" -msgstr "localhost address" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:111 -msgid "log" -msgstr "log" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:105 -msgid "password" -msgstr "password" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:115 -msgid "path" -msgstr "path" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:28 -msgid "rclone address" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:71 -msgid "rclone configuration file path" -msgstr "rclone configuration file path" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:30 -msgid "rclone not run" -msgstr "rclone not run" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:27 -msgid "rclone running" -msgstr "rclone running" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:39 -msgid "rclone state" -msgstr "rclone state" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:51 -msgid "run Rclone as daemon" -msgstr "run Rclone as daemon" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:100 -msgid "username" -msgstr "username" - -#~ msgid "run Rclone in daeman" -#~ msgstr "run Rclone in daeman" diff --git a/package/ctcgfw/luci-app-rclone/po/zh_Hans/luci-app-rclone.po b/package/ctcgfw/luci-app-rclone/po/zh_Hans/luci-app-rclone.po deleted file mode 100644 index 3e515c5293..0000000000 --- a/package/ctcgfw/luci-app-rclone/po/zh_Hans/luci-app-rclone.po +++ /dev/null @@ -1,171 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: \n" -"Last-Translator: ElonH \n" -"Language-Team: none\n" -"Language: zh-Hans\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"X-Generator: Poedit 2.0.6\n" - -#: luasrc/model/cbi/rclone.lua:121 -msgid "FAQ" -msgstr "常见问题" - -#: luasrc/model/cbi/rclone.lua:41 -msgid "Installed Web Interface" -msgstr "已安装Web界面" - -#: luasrc/controller/rclone.lua:5 -msgid "NAS" -msgstr "存储" - -#: luasrc/model/cbi/rclone.lua:37 luasrc/controller/rclone.lua:6 -msgid "Rclone" -msgstr "Rclone" - -#: luasrc/model/cbi/rclone.lua:38 -msgid "" -"Rclone (\"rsync for cloud storage\") is a command line program to sync root/" -"usr/bin and directories to and from different cloud storage providers." -msgstr "" -"Rclone是一款的命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据。" - -#: luasrc/model/cbi/rclone.lua:46 -msgid "RcloneNg" -msgstr "RcloneNg" - -#: luasrc/model/cbi/rclone.lua:78 -msgid "Recommand: run" -msgstr "建议: 在 PC 上运行" - -#: luasrc/model/cbi/rclone.lua:130 -msgid "" -"The content of the variable is protocol://server:port. The protocol value is " -"commonly either http or socks5." -msgstr "" -"内容格式为: protocol://server:port\n" -"protocol 通常为 http 或者 socks5" - -#: luasrc/model/cbi/rclone.lua:43 -msgid "Webui React" -msgstr "Webui React" - -#: luasrc/model/cbi/rclone.lua:64 -msgid "all address" -msgstr "全部地址" - -#: luasrc/model/cbi/rclone.lua:57 -msgid "configure" -msgstr "配置" - -#: luasrc/model/cbi/rclone.lua:83 -msgid "download" -msgstr "下载" - -#: luasrc/model/cbi/rclone.lua:82 -msgid "download configuration" -msgstr "下载配置文件" - -#: luasrc/model/cbi/rclone.lua:123 -msgid "enable proxy" -msgstr "启用代理" - -#: luasrc/model/cbi/rclone.lua:50 -msgid "global" -msgstr "全局" - -#: luasrc/model/cbi/rclone.lua:61 -msgid "listen address" -msgstr "监听地址" - -#: luasrc/model/cbi/rclone.lua:68 -msgid "listen port" -msgstr "监听端口" - -#: luasrc/model/cbi/rclone.lua:63 -msgid "local network address" -msgstr "局域网地址" - -#: luasrc/model/cbi/rclone.lua:62 -msgid "localhost address" -msgstr "本机地址" - -#: luasrc/model/cbi/rclone.lua:132 -msgid "log" -msgstr "日志" - -#: luasrc/model/cbi/rclone.lua:111 -msgid "password" -msgstr "密码" - -#: luasrc/model/cbi/rclone.lua:136 -msgid "path" -msgstr "路径" - -#: luasrc/model/cbi/rclone.lua:117 -msgid "proxy" -msgstr "代理" - -#: luasrc/model/cbi/rclone.lua:126 -msgid "proxy address" -msgstr "代理地址" - -#: luasrc/model/cbi/rclone.lua:28 -msgid "rclone address" -msgstr "rclone 地址" - -#: luasrc/model/cbi/rclone.lua:74 -msgid "rclone configuration file path" -msgstr "rclone 配置文件地址" - -#: luasrc/model/cbi/rclone.lua:30 -msgid "rclone not run" -msgstr "rclone未运行" - -#: luasrc/model/cbi/rclone.lua:27 -msgid "rclone running" -msgstr "rclone 运行中" - -#: luasrc/model/cbi/rclone.lua:39 -msgid "rclone state" -msgstr "rclone 状态" - -#: luasrc/model/cbi/rclone.lua:54 -msgid "run Rclone as daemon" -msgstr "启动 rclone 后台服务" - -#: luasrc/model/cbi/rclone.lua:80 -msgid "than updaload configuration to here." -msgstr "然后上传配置文件到这里" - -#: luasrc/model/cbi/rclone.lua:80 -msgid "to setup configuration on pc," -msgstr "命令设置 rclone 配置文件," - -#: luasrc/model/cbi/rclone.lua:106 -msgid "username" -msgstr "用户名" - -#~ msgid "Hosts must be comma separated, and can contain domains or parts." -#~ msgstr "用逗号分隔地址,且地址必须包含(部分)域名" - -#~ msgid "This allows you to disable the proxy for specific hosts." -#~ msgstr "这允许不代理特定的地址." - -#~ msgid "How to proxy rclone" -#~ msgstr "如何代理rclone" - -#~ msgid "disable proxy for specific hosts" -#~ msgstr "针对特定主机禁用代理" - -#~ msgid "" -#~ "rclone will follow the standard environment variables for proxies, " -#~ "similar to cURL and other programs." -#~ msgstr "rclone 会使用代理的标准环境变量,类似于 cURL 及其他程序。" - -#~ msgid "run Rclone in daeman" -#~ msgstr "启动 rclone 后台服务" diff --git a/package/ctcgfw/luci-app-rclone/root/etc/config/rclone b/package/ctcgfw/luci-app-rclone/root/etc/config/rclone deleted file mode 100644 index 1440200ca5..0000000000 --- a/package/ctcgfw/luci-app-rclone/root/etc/config/rclone +++ /dev/null @@ -1,17 +0,0 @@ - -config global 'global' - option enabled '0' - -config conf 'config' - option config_path '/etc/rclone/rclone.conf' - option port '5572' - option username 'admin' - option password 'admin' - option addr_type 'lan' - -config proxy 'proxy' - option enabled '0' - option proxy_addr 'socks5://127.0.0.1:1080' - -config log 'log' - option path '/var/log/rclone/output' diff --git a/package/ctcgfw/luci-app-rclone/root/etc/init.d/rclone b/package/ctcgfw/luci-app-rclone/root/etc/init.d/rclone deleted file mode 100755 index 03f8fc39c4..0000000000 --- a/package/ctcgfw/luci-app-rclone/root/etc/init.d/rclone +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (C) 2019 ElonH - -USE_PROCD=1 -START=95 -STOP=10 - -APP=rclone -CONFIGURATION=rclone - -_info() { - logger -p daemon.info -t "$APP" "$*" -} - -_err() { - logger -p daemon.err -t "$APP" "$*" -} - -init_config() { - config_load "${CONFIGURATION}" - # Create rclone dirs - local config_path - local config_dir - local log_path - local log_dir - - config_get config_path config config_path - config_get log_path log path - - config_dir=${config_path%/*} - [ -d "$config_dir" ] || mkdir -p "$config_dir" 2>/dev/null - - [ -f "$config_path" ] || touch "$config_path" - - [ -d "/lib/upgrade/keep.d" ] || mkdir -p /lib/upgrade/keep.d/luci-app-rclone 2>/dev/null - echo "$config_path" > /lib/upgrade/keep.d/luci-app-rclone - - log_dir=${log_path%/*} - [ -d "$log_dir" ] || mkdir -p "$log_dir" 2>/dev/null && echo /dev/null > "$log_path" - - -} - -start_service() { - init_config - - local enabled - local config_path - local addr_type - local port - local username - local password - local proxy_enable - local proxy_addr - local log_path - - config_get enabled global enabled - - config_get config_path config config_path - config_get addr_type config addr_type - config_get port config port - config_get username config username - config_get password config password - - config_get proxy_enable proxy enabled - config_get proxy_addr proxy proxy_addr - - config_get log_path log path - - if [[ "${addr_type}" == "local" ]]; then - addr="$(uci get network.loopback.ipaddr)" - elif [[ "${addr_type}" == "lan" ]]; then - addr="$(uci get network.lan.ipaddr)" - elif [[ "${addr_type}" == "all" ]]; then - addr="" - fi - [ "$enabled" == "1" ] || { _info "Instance \"rclone\" disabled."; return 1; } - _info "Instance \"rclone\" start." - procd_open_instance - procd_set_param command /usr/bin/$APP rcd -vv - procd_append_param command "--rc-addr=$addr:$port" - procd_append_param command "--rc-user=$username" "--rc-pass=$password" - procd_append_param command "--config=$config_path" - procd_append_param command "--rc-allow-origin=*" - procd_append_param command "--log-file=${log_path}" - if [[ "${proxy_enable}" == "1" ]]; then - procd_set_param env all_proxy="$proxy_addr" https_proxy="$proxy_addr" http_proxy="$proxy_addr" - procd_append_param env ALL_PROXY="$proxy_addr" HTTPS_PROXY="$proxy_addr" HTTP_PROXY="$proxy_addr" - fi - procd_set_param stdout 1 - procd_set_param stderr 1 - procd_set_param file /etc/config/rclone - # procd_set_param pidfile /var/run/rclone.pid - procd_set_param user rclone - procd_set_param group rclone - procd_set_param respawn retry=60 - procd_close_instance - -} - -service_triggers() { - procd_add_reload_trigger "rclone" -} diff --git a/package/ctcgfw/luci-app-rclone/root/etc/uci-defaults/100_luci-rclone b/package/ctcgfw/luci-app-rclone/root/etc/uci-defaults/100_luci-rclone deleted file mode 100755 index 3d7a46247c..0000000000 --- a/package/ctcgfw/luci-app-rclone/root/etc/uci-defaults/100_luci-rclone +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@rclone[-1] - add ucitrack rclone - set ucitrack.@rclone[-1].init=rclone - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-rclone/root/usr/share/rpcd/acl.d/luci-app-rclone.json b/package/ctcgfw/luci-app-rclone/root/usr/share/rpcd/acl.d/luci-app-rclone.json deleted file mode 100644 index 0a664ef43b..0000000000 --- a/package/ctcgfw/luci-app-rclone/root/usr/share/rpcd/acl.d/luci-app-rclone.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-rclone": { - "description": "Grant UCI access for luci-app-rclone", - "read": { - "uci": ["rclone"] - }, - "write": { - "uci": ["rclone"] - } - } -} diff --git a/package/ctcgfw/luci-app-serverchan/Makefile b/package/ctcgfw/luci-app-serverchan/Makefile deleted file mode 100644 index 620b6595ec..0000000000 --- a/package/ctcgfw/luci-app-serverchan/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright (C) 2016 Openwrt.org -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-serverchan -PKG_VERSION:=1.81 -PKG_RELEASE:=8 - -include $(INCLUDE_DIR)/package.mk - -define Package/$(PKG_NAME) - SECTION:=luci - CATEGORY:=LuCI - SUBMENU:=3. Applications - DEPENDS:=+iputils-arping +curl - TITLE:=LuCI support for serverchan - PKGARCH:=all -endef - -define Build/Compile -endef - -define Package/$(PKG_NAME)/conffiles -/etc/config/serverchan -endef - -define Package/$(PKG_NAME)/install - $(INSTALL_DIR) $(1)/etc/init.d $(1)/usr/bin/serverchan $(1)/etc/config $(1)/usr/lib/lua/luci $(1)/etc/uci-defaults - $(CP) ./luasrc/* $(1)/usr/lib/lua/luci - $(INSTALL_CONF) ./root/etc/config/serverchan $(1)/etc/config - $(INSTALL_BIN) ./root/etc/init.d/serverchan $(1)/etc/init.d - $(INSTALL_BIN) ./root/etc/uci-defaults/luci-serverchan $(1)/etc/uci-defaults/luci-serverchan - $(INSTALL_BIN) ./root/usr/bin/serverchan/serverchan $(1)/usr/bin/serverchan - $(INSTALL_DIR) $(1)/usr/share/rpcd/acl.d - $(INSTALL_DATA) ./root/usr/share/rpcd/acl.d/*.json $(1)/usr/share/rpcd/acl.d/ -endef - -$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/package/ctcgfw/luci-app-serverchan/luasrc/controller/serverchan.lua b/package/ctcgfw/luci-app-serverchan/luasrc/controller/serverchan.lua deleted file mode 100644 index 5c9e0276ce..0000000000 --- a/package/ctcgfw/luci-app-serverchan/luasrc/controller/serverchan.lua +++ /dev/null @@ -1,33 +0,0 @@ -module("luci.controller.serverchan",package.seeall) - -function index() - - if not nixio.fs.access("/etc/config/serverchan")then - return - end - - entry({"admin", "services", "serverchan"}, alias("admin", "services", "serverchan", "setting"),_("微信推送"), 30).dependent = true - entry({"admin", "services", "serverchan", "setting"}, cbi("serverchan/setting"),_("配置"), 40).leaf = true - entry({"admin", "services", "serverchan", "advanced"}, cbi("serverchan/advanced"),_("高级设置"), 50).leaf = true - entry({"admin", "services", "serverchan", "client"}, form("serverchan/client"), "在线设备", 80) - entry({"admin", "services", "serverchan", "log"}, form("serverchan/log"),_("日志"), 99).leaf = true - entry({"admin", "services", "serverchan", "get_log"}, call("get_log")).leaf = true - entry({"admin", "services", "serverchan", "clear_log"}, call("clear_log")).leaf = true - entry({"admin", "services", "serverchan", "status"}, call("act_status")).leaf=true -end - -function act_status() - local e={} - e.running=luci.sys.call("ps|grep -v grep|grep -c serverchan >/dev/null")==0 - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end - -function get_log() - luci.http.write(luci.sys.exec( - "[ -f '/tmp/serverchan/serverchan.log' ] && cat /tmp/serverchan/serverchan.log")) -end - -function clear_log() - luci.sys.call("echo '' > /tmp/serverchan/serverchan.log") -end \ No newline at end of file diff --git a/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/advanced.lua b/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/advanced.lua deleted file mode 100644 index 0b273a6c5f..0000000000 --- a/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/advanced.lua +++ /dev/null @@ -1,112 +0,0 @@ -local nt = require "luci.sys".net -local fs=require"nixio.fs" - -m=Map("serverchan",translate("提示:"), -translate("如果你不了解这些选项的含义,请不要修改这些选项")) - -s = m:section(TypedSection, "serverchan", "高级设置") -s.anonymous = true -s.addremove = false - -a=s:option(Value,"up_timeout",translate('设备上线检测超时(s)')) -a.default = "2" -a.optional=false -a.datatype="uinteger" - -a=s:option(Value,"down_timeout",translate('设备离线检测超时(s)')) -a.default = "20" -a.optional=false -a.datatype="uinteger" - -a=s:option(Value,"timeout_retry_count",translate('离线检测次数')) -a.default = "2" -a.optional=false -a.datatype="uinteger" -a.description = translate("若无二级路由设备,信号强度良好,可以减少以上数值
    因夜间 wifi 休眠较为玄学,遇到设备频繁推送断开,烦请自行调整参数
    ..╮(╯_╰)╭..") - -a=s:option(Value,"thread_num",translate('最大并发进程数')) -a.default = "3" -a.datatype="uinteger" - -a=s:option(Value, "soc_code", "自定义温度读取命令") -a.rmempty = true -a:value("",translate("默认")) -a:value("sensors",translate("sensors命令")) -a.description = translate("请尽量避免使用特殊符号,如双引号、$、!等,执行结果需为数字,用于温度对比") - -a=s:option(Button,"soc",translate("测试温度命令")) -a.inputtitle = translate("输出信息") -a.write = function() - luci.sys.call("/usr/bin/serverchan/serverchan soc") - luci.http.redirect(luci.dispatcher.build_url("admin","services","serverchan","advanced")) -end - -if nixio.fs.access("/tmp/serverchan/soc_tmp") then -e=s:option(TextValue,"soc_tmp") -e.rows=2 -e.readonly=true -e.cfgvalue = function() - return luci.sys.exec("cat /tmp/serverchan/soc_tmp && rm -f /tmp/serverchan/soc_tmp") -end -end - -a=s:option(Flag,"err_enable",translate("无人值守任务")) -a.default=0 -a.rmempty=true -a.description = translate("请确认脚本可以正常运行,否则可能造成频繁重启等错误!") - -a=s:option(Flag,"err_sheep_enable",translate("仅在免打扰时段重拨")) -a.default=0 -a.rmempty=true -a.description = translate("避免白天重拨 ddns 域名等待解析,此功能不影响断网检测
    因夜间跑流量问题,该功能可能不稳定") -a:depends({err_enable="1"}) - -a= s:option(DynamicList, "err_device_aliases", translate("关注列表")) -a.rmempty = true -a.description = translate("只会在列表中设备都不在线时才会执行
    免打扰时段一小时后,关注设备五分钟低流量(约100kb/m)将视为离线") -nt.mac_hints(function(mac, name) a :value(mac, "%s (%s)" %{ mac, name }) end) -a:depends({err_enable="1"}) - -a=s:option(ListValue,"network_err_event",translate("网络断开时")) -a.default="" -a:depends({err_enable="1"}) -a:value("",translate("无操作")) -a:value("1",translate("重启路由器")) -a:value("2",translate("重新拨号")) -a:value("3",translate("修改相关设置项,尝试自动修复网络")) -a.description = translate("选项 1 选项 2 不会修改设置,并最多尝试 2 次。
    选项 3 会将设置项备份于 /usr/bin/serverchan/configbak 目录,并在失败后还原。
    【!!无法保证兼容性!!】不熟悉系统设置项,不会救砖请勿使用") - -a=s:option(ListValue,"system_time_event",translate("定时重启")) -a.default="" -a:depends({err_enable="1"}) -a:value("",translate("无操作")) -a:value("1",translate("重启路由器")) -a:value("2",translate("重新拨号")) - -a= s:option(Value, "autoreboot_time", "系统运行时间大于") -a.rmempty = true -a.default = "24" -a.datatype="uinteger" -a:depends({system_time_event="1"}) -a.description = translate("单位为小时") - -a=s:option(Value, "network_restart_time", "网络在线时间大于") -a.rmempty = true -a.default = "24" -a.datatype="uinteger" -a:depends({system_time_event="2"}) -a.description = translate("单位为小时") - -a=s:option(Flag,"public_ip_event",translate("重拨尝试获取公网 ip")) -a.default=0 -a.rmempty=true -a:depends({err_enable="1"}) -a.description = translate("重拨时不会推送 ip 变动通知,并会导致你的域名无法及时更新 ip 地址
    请确认你可以通过重拨获取公网 ip,否则这不仅徒劳无功还会引起频繁断网
    移动等大内网你就别挣扎了!!") - -a= s:option(Value, "public_ip_retry_count", "当天最大重试次数") -a.rmempty = true -a.default = "10" -a.datatype="uinteger" -a:depends({public_ip_event="1"}) - -return m \ No newline at end of file diff --git a/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/client.lua b/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/client.lua deleted file mode 100644 index 9c2dafd4fa..0000000000 --- a/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/client.lua +++ /dev/null @@ -1,6 +0,0 @@ -f = SimpleForm("serverchan") -luci.sys.call("/usr/bin/serverchan/serverchan client") -f.reset = false -f.submit = false -f:append(Template("serverchan/client")) -return f diff --git a/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/log.lua b/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/log.lua deleted file mode 100644 index 9063c55c22..0000000000 --- a/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/log.lua +++ /dev/null @@ -1,5 +0,0 @@ -f = SimpleForm("serverchan") -f.reset = false -f.submit = false -f:append(Template("serverchan/log")) -return f diff --git a/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/setting.lua b/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/setting.lua deleted file mode 100644 index 7c198d34dc..0000000000 --- a/package/ctcgfw/luci-app-serverchan/luasrc/model/cbi/serverchan/setting.lua +++ /dev/null @@ -1,331 +0,0 @@ - -local nt = require "luci.sys".net -local fs=require"nixio.fs" -local e=luci.model.uci.cursor() -local net = require "luci.model.network".init() -local sys = require "luci.sys" -local ifaces = sys.net:devices() - -m=Map("serverchan",translate("ServerChan"), -translate("「Server酱」,英文名「ServerChan」,是一款从服务器推送报警信息和日志到微信的工具。

    如果你在使用中遇到问题,请到这里提交:") -.. [[]] -.. translate("github 项目地址") -.. [[]] -) - -m:section(SimpleSection).template = "serverchan/status" - -s=m:section(NamedSection,"serverchan","serverchan",translate("")) -s:tab("basic", translate("基本设置")) -s:tab("content", translate("推送内容")) -s:tab("crontab", translate("定时推送")) -s:tab("disturb", translate("免打扰")) -s.addremove = false -s.anonymous = true - ---基本设置 -a=s:taboption("basic", Flag,"serverchan_enable",translate("启用")) -a.rmempty = true - -a=s:taboption("basic", Value,"sckey",translate('微信推送/新旧共用'), translate("").."
    旧版调用代码点击这里
    调用代码获取点击这里
    ") -a.rmempty = true - -a=s:taboption("basic", Value, "tg_token", translate("TG_token"),translate("").."
    获取机器人点击这里
    新建机器人并拉入群组/频道,填入 token
    ") -a.rmempty = true - -a=s:taboption("basic", Value,"chat_id",translate('TG_chatid')) -a.rmempty = true -a.description = translate('用 tg_token 替换下列URL中的****,并用浏览器打开
    https://api.telegram.org/bot****/getUpdates
    找到你的chat_id,并填入
    {"chat":{"id":TG_chatid,"title":"群组名","type":"channel"}') - -a=s:taboption("basic", Value,"device_name",translate('本设备名称')) -a.rmempty = true -a.description = translate("在推送信息标题中会标识本设备名称,用于区分推送信息的来源设备") - -a=s:taboption("basic", Value,"sleeptime",translate('检测时间间隔(s)')) -a.rmempty = true -a.optional = false -a.default = "60" -a.description = translate("越短的时间时间响应越及时,但会占用更多的系统资源") - -a=s:taboption("basic", ListValue,"oui_data",translate("MAC设备信息数据库")) -a.rmempty = true -a.default="" -a:value("",translate("关闭")) -a:value("1",translate("简化版")) -a:value("2",translate("完整版")) -a:value("3",translate("网络查询")) -a.description = translate("需下载 4.36m 原始数据,处理后完整版约 1.2M,简化版约 250kb
    若无梯子,请勿使用网络查询") - -a=s:taboption("basic", Flag,"oui_dir",translate("下载到内存")) -a.rmempty = true -a:depends("oui_data","1") -a:depends("oui_data","2") -a.description = translate("懒得做自动更新了,下载到内存中,重启会重新下载
    若无梯子,还是下到机身吧") - -a=s:taboption("basic", Flag,"reset_regularly",translate("每天零点重置流量数据")) -a.rmempty = true - -a=s:taboption("basic", Flag,"debuglevel",translate("开启日志")) -a.rmempty = true - -a= s:taboption("basic", DynamicList, "device_aliases", translate("设备别名")) -a.rmempty = true -a.description = translate("
    请输入设备 MAC 和设备别名,用“-”隔开,如:
    XX:XX:XX:XX:XX:XX-我的手机") - ---设备状态 -a=s:taboption("content", ListValue,"serverchan_ipv4",translate("ipv4 变动通知")) -a.rmempty = true -a.default="" -a:value("",translate("关闭")) -a:value("1",translate("通过接口获取")) -a:value("2",translate("通过URL获取")) - -a = s:taboption("content", ListValue, "ipv4_interface", translate("接口名称")) -a.rmempty = true -a:depends({serverchan_ipv4="1"}) -for _, iface in ipairs(ifaces) do - if not (iface == "lo" or iface:match("^ifb.*")) then - local nets = net:get_interface(iface) - nets = nets and nets:get_networks() or {} - for k, v in pairs(nets) do - nets[k] = nets[k].sid - end - nets = table.concat(nets, ",") - a:value(iface, ((#nets > 0) and "%s (%s)" % {iface, nets} or iface)) - end -end -a.description = translate("
    一般选择 wan 接口,多拨环境请自行选择") - -a= s:taboption("content", Value, "ipv4_URL", "URL 地址") -a.rmempty = true -a.default = "members.3322.org/dyndns/getip" -a:depends({serverchan_ipv4="2"}) -a.description = translate("
    会因服务器稳定性、连接频繁等原因导致获取失败
    如接口可以正常获取 IP,不推荐使用") - -a=s:taboption("content", ListValue,"serverchan_ipv6",translate("ipv6 变动通知")) -a.rmempty = true -a.default="disable" -a:value("0",translate("关闭")) -a:value("1",translate("通过接口获取")) -a:value("2",translate("通过URL获取")) - -a = s:taboption("content", ListValue, "ipv6_interface", translate("接口名称")) -a.rmempty = true -a:depends({serverchan_ipv6="1"}) -for _, iface in ipairs(ifaces) do - if not (iface == "lo" or iface:match("^ifb.*")) then - local nets = net:get_interface(iface) - nets = nets and nets:get_networks() or {} - for k, v in pairs(nets) do - nets[k] = nets[k].sid - end - nets = table.concat(nets, ",") - a:value(iface, ((#nets > 0) and "%s (%s)" % {iface, nets} or iface)) - end -end -a.description = translate("
    一般选择 wan 接口,多拨环境请自行选择") - -a= s:taboption("content", Value, "ipv6_URL", "URL 地址") -a.rmempty = true -a.default = "v6.ip.zxinc.org/getip" -a:depends({serverchan_ipv6="2"}) -a.description = translate("
    会因服务器稳定性、连接频繁等原因导致获取失败
    如接口可以正常获取 IP,不推荐使用") - -a=s:taboption("content", Flag,"serverchan_up",translate("设备上线通知")) -a.default=1 -a.rmempty = true - -a=s:taboption("content", Flag,"serverchan_down",translate("设备下线通知")) -a.default=1 -a.rmempty = true - -a=s:taboption("content", Flag,"cpuload_enable",translate("CPU 负载报警")) -a.default=1 -a.rmempty = true - -a= s:taboption("content", Value, "cpuload", "负载报警阈值") -a.default = 2 -a.rmempty = true -a:depends({cpuload_enable="1"}) - -a=s:taboption("content", Flag,"temperature_enable",translate("CPU 温度报警")) -a.default=1 -a.rmempty = true -a.description = translate("请确认设备可以获取温度,如需修改命令,请移步高级设置") - -a= s:taboption("content", Value, "temperature", "温度报警阈值") -a.rmempty = true -a.default = "80" -a.datatype="uinteger" -a:depends({temperature_enable="1"}) -a.description = translate("
    设备报警只会在连续五分钟超过设定值时才会推送
    而且一个小时内不会再提醒第二次") - -a=s:taboption("content", Flag,"client_usage",translate("设备异常流量")) -a.default=0 -a.rmempty = true - -a= s:taboption("content", Value, "client_usage_max", "每分钟流量限制") -a.default = "10M" -a.rmempty = true -a:depends({client_usage="1"}) -a.description = translate("设备异常流量警报(byte),你可以追加 K 或者 M") - -a=s:taboption("content", Flag,"client_usage_disturb",translate("异常流量免打扰")) -a.default=1 -a.rmempty = true -a:depends({client_usage="1"}) - -a = s:taboption("content", DynamicList, "client_usage_whitelist", translate("异常流量关注列表")) -nt.mac_hints(function(mac, name) a:value(mac, "%s (%s)" %{ mac, name }) end) -a.rmempty = true -a:depends({client_usage_disturb="1"}) -a.description = translate("请输入设备 MAC") - ---定时推送 -a=s:taboption("crontab", ListValue,"send_mode",translate("定时任务设定")) -a.rmempty = true -a.default="" -a:value("",translate("关闭")) -a:value("1",translate("定时发送")) -a:value("2",translate("间隔发送")) - -a=s:taboption("crontab", ListValue,"regular_time",translate("发送时间")) -a.rmempty = true -for t=0,23 do -a:value(t,translate("每天"..t.."点")) -end -a.default=8 -a.datatype=uinteger -a:depends("send_mode","1") - -a=s:taboption("crontab", ListValue,"regular_time_2",translate("发送时间")) -a.rmempty = true -a:value("",translate("关闭")) -for t=0,23 do -a:value(t,translate("每天"..t.."点")) -end -a.default="关闭" -a.datatype=uinteger -a:depends("send_mode","1") - -a=s:taboption("crontab", ListValue,"regular_time_3",translate("发送时间")) -a.rmempty = true - -a:value("",translate("关闭")) -for t=0,23 do -a:value(t,translate("每天"..t.."点")) -end -a.default="关闭" -a.datatype=uinteger -a:depends("send_mode","1") - -a=s:taboption("crontab", ListValue,"interval_time",translate("发送间隔")) -a.rmempty = true -for t=1,23 do -a:value(t,translate(t.."小时")) -end -a.default=6 -a.datatype=uinteger -a:depends("send_mode","2") -a.description = translate("
    从 00:00 开始,每 * 小时发送一次") - -a= s:taboption("crontab", Value, "send_title", translate("微信推送标题")) -a:depends("send_mode","1") -a:depends("send_mode","2") -a.placeholder = "OpenWrt By tty228 路由状态:" -a.description = translate("
    使用特殊符号可能会造成发送失败") - -a=s:taboption("crontab", Flag,"router_status",translate("系统运行情况")) -a.default=1 -a:depends("send_mode","1") -a:depends("send_mode","2") - -a=s:taboption("crontab", Flag,"router_temp",translate("设备温度")) -a.default=1 -a:depends("send_mode","1") -a:depends("send_mode","2") - -a=s:taboption("crontab", Flag,"router_wan",translate("WAN信息")) -a.default=1 -a:depends("send_mode","1") -a:depends("send_mode","2") - -a=s:taboption("crontab", Flag,"client_list",translate("客户端列表")) -a.default=1 -a:depends("send_mode","1") -a:depends("send_mode","2") - -e=s:taboption("crontab", Button,"_add",translate("手动发送")) -e.inputtitle=translate("发送") -e:depends("send_mode","1") -e:depends("send_mode","2") -e.inputstyle = "apply" -function e.write(self, section) -luci.sys.call("cbi.apply") - luci.sys.call("/usr/bin/serverchan/serverchan send &") -end - ---免打扰 -a=s:taboption("disturb", ListValue,"serverchan_sheep",translate("免打扰时段设置"),translate("在指定整点时间段内,暂停推送消息
    免打扰时间中,定时推送也会被阻止。")) -a.rmempty = true - -a:value("",translate("关闭")) -a:value("1",translate("模式一:脚本挂起")) -a:value("2",translate("模式二:静默模式")) -a.description = translate("模式一停止一切检测,包括无人值守。") -a=s:taboption("disturb", ListValue,"starttime",translate("免打扰开始时间")) -a.rmempty = true - -for t=0,23 do -a:value(t,translate("每天"..t.."点")) -end -a.default=0 -a.datatype=uinteger -a:depends({serverchan_sheep="1"}) -a:depends({serverchan_sheep="2"}) -a=s:taboption("disturb", ListValue,"endtime",translate("免打扰结束时间")) -a.rmempty = true - -for t=0,23 do -a:value(t,translate("每天"..t.."点")) -end -a.default=8 -a.datatype=uinteger -a:depends({serverchan_sheep="1"}) -a:depends({serverchan_sheep="2"}) - -a=s:taboption("disturb", ListValue,"macmechanism",translate("MAC过滤")) -a:value("",translate("disable")) -a:value("allow",translate("忽略列表内设备")) -a:value("block",translate("仅通知列表内设备")) -a:value("interface",translate("仅通知此接口设备")) -a.rmempty = true - - -a = s:taboption("disturb", DynamicList, "serverchan_whitelist", translate("忽略列表")) -nt.mac_hints(function(mac, name) a :value(mac, "%s (%s)" %{ mac, name }) end) -a.rmempty = true -a:depends({macmechanism="allow"}) - -a = s:taboption("disturb", DynamicList, "serverchan_blacklist", translate("关注列表")) -nt.mac_hints(function(mac, name) a:value(mac, "%s (%s)" %{ mac, name }) end) -a.rmempty = true -a:depends({macmechanism="block"}) - -a = s:taboption("disturb", ListValue, "serverchan_interface", translate("接口名称")) -a:depends({macmechanism="interface"}) -a.rmempty = true - -for _, iface in ipairs(ifaces) do - if not (iface == "lo" or iface:match("^ifb.*")) then - local nets = net:get_interface(iface) - nets = nets and nets:get_networks() or {} - for k, v in pairs(nets) do - nets[k] = nets[k].sid - end - nets = table.concat(nets, ",") - a:value(iface, ((#nets > 0) and "%s (%s)" % {iface, nets} or iface)) - end -end - -return m \ No newline at end of file diff --git a/package/ctcgfw/luci-app-serverchan/luasrc/view/serverchan/log.htm b/package/ctcgfw/luci-app-serverchan/luasrc/view/serverchan/log.htm deleted file mode 100644 index f3328a4499..0000000000 --- a/package/ctcgfw/luci-app-serverchan/luasrc/view/serverchan/log.htm +++ /dev/null @@ -1,33 +0,0 @@ -<% -local dsp = require "luci.dispatcher" --%> - - -
    - <%:自动刷新%> - - -
    diff --git a/package/ctcgfw/luci-app-serverchan/luasrc/view/serverchan/status.htm b/package/ctcgfw/luci-app-serverchan/luasrc/view/serverchan/status.htm deleted file mode 100644 index b215c93a2b..0000000000 --- a/package/ctcgfw/luci-app-serverchan/luasrc/view/serverchan/status.htm +++ /dev/null @@ -1,22 +0,0 @@ - - -
    -

    - <%:Collecting data...%> -

    -
    \ No newline at end of file diff --git a/package/ctcgfw/luci-app-serverchan/root/etc/config/serverchan b/package/ctcgfw/luci-app-serverchan/root/etc/config/serverchan deleted file mode 100644 index a9a53d9be5..0000000000 --- a/package/ctcgfw/luci-app-serverchan/root/etc/config/serverchan +++ /dev/null @@ -1,11 +0,0 @@ - -config serverchan 'serverchan' - option serverchan_enable '0' - option sleeptime '60' - option serverchan_ipv6 '0' - option serverchan_up '1' - option serverchan_down '1' - option cpuload_enable '1' - option cpuload '2' - option temperature_enable '0' - diff --git a/package/ctcgfw/luci-app-serverchan/root/etc/init.d/serverchan b/package/ctcgfw/luci-app-serverchan/root/etc/init.d/serverchan deleted file mode 100755 index 90189e251e..0000000000 --- a/package/ctcgfw/luci-app-serverchan/root/etc/init.d/serverchan +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=99 -STOP=10 - -start() { - state=`pgrep -f "/usr/bin/serverchan/serverchan"` - if [ ! -z "$state" ]; then - restart - else - /usr/bin/serverchan/serverchan & - fi - echo "serverchan is starting now ..." -} - -stop() { - kill -9 `pgrep -f "/usr/bin/serverchan/serverchan"` 2>/dev/null - echo "serverchan exit ..." -} - -restart(){ - stop - sleep 1 - start - echo "restarted." -} \ No newline at end of file diff --git a/package/ctcgfw/luci-app-serverchan/root/etc/uci-defaults/luci-serverchan b/package/ctcgfw/luci-app-serverchan/root/etc/uci-defaults/luci-serverchan deleted file mode 100644 index 4b4c9d43e2..0000000000 --- a/package/ctcgfw/luci-app-serverchan/root/etc/uci-defaults/luci-serverchan +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@serverchan[-1] - add ucitrack serverchan - set ucitrack.@serverchan[-1].init=serverchan - commit ucitrack -EOF - -rm -rf /tmp/luci-* -exit 0 \ No newline at end of file diff --git a/package/ctcgfw/luci-app-serverchan/root/usr/bin/serverchan/serverchan b/package/ctcgfw/luci-app-serverchan/root/usr/bin/serverchan/serverchan deleted file mode 100755 index a0728e0317..0000000000 --- a/package/ctcgfw/luci-app-serverchan/root/usr/bin/serverchan/serverchan +++ /dev/null @@ -1,1005 +0,0 @@ -#!/bin/sh - -# 读取设置文件 -function get_config(){ - while [[ "$*" != "" ]]; do - eval ${1}='`uci get serverchan.serverchan.$1`' 2>/dev/null - shift - done -} - -# 初始化设置信息 -function read_config(){ - get_config "serverchan_enable" "sckey" "sctkey" "tg_token" "chat_id" "serverchan_ipv4" "ipv4_interface" "ipv4_URL" "serverchan_ipv6" "ipv6_interface" "ipv6_URL" "serverchan_up" "serverchan_down" "serverchan_sheep" "serverchan_whitelist" "serverchan_blacklist" "serverchan_interface" "starttime" "endtime" "cpuload_enable" "cpuload" "temperature_enable" "temperature" "device_name" "err_enable" "network_err_event" "err_sheep_enable" "system_time_event" "autoreboot_time" "network_restart_time" "public_ip_event" "public_ip_retry_count" "soc_code" "sleeptime" "up_timeout" "down_timeout" "device_aliases" "debuglevel" "cpuload" "temperature" "send_mode" "regular_time" "regular_time_2" "regular_time_3" "interval_time" "thread_num" "timeout_retry_count" "err_device_aliases" "oui_dir" "oui_data" "client_usage" "client_usage_max" "client_usage_disturb" "client_usage_whitelist" "reset_regularly" - for str_version in "wrtbwmon" "iputils-arping" "curl" "iw"; do - eval `echo ${str_version:0:2}"_version"`=`opkg list-installed|grep -w ^${str_version}|awk '{print $3}'` 2>/dev/null - done - dir="/tmp/serverchan/" && mkdir -p ${dir} - [ ! -z "$oui_dir" ] && [ "$oui_dir" -eq "1" ] && oui_base="${dir}oui_base.txt" || oui_base="/usr/bin/serverchan/oui_base.txt" - debuglevel=`echo "$debuglevel"` && [ -z "$debuglevel" ] && logfile="/dev/null" || logfile="${dir}serverchan.log" - device_aliases=`echo "$device_aliases"|sed 's/ /\n/g'|sed 's/-/ /'` 2>/dev/null - err_device_aliases=`echo "$err_device_aliases"|sed 's/ /\n/g'` 2>/dev/null - client_usage_whitelist=`echo "$client_usage_whitelist"|sed 's/ /\n/g'` 2>/dev/null - [ "$iw_version" ] && wlan_interface=`iw dev|grep Interface|awk '{print $2}'` >/dev/null 2>&1 - [ -z "$up_timeout" ] || [ "$up_timeout" -eq "0" ] && up_timeout="2" - [ -z "$down_timeout" ] || [ "$down_timeout" -eq "0" ] && down_timeout="20";down_timeout=`expr ${down_timeout} / 2 + 1` - [ -z "$timeout_retry_count" ] && timeout_retry_count="2";[ "$timeout_retry_count" -eq "0" ] && timeout_retry_count="1" - markdown_splitline="%0D%0A%0D%0A---%0D%0A%0D%0A";markdown_linefeed="%0D%0A%0D%0A";markdown_tab=" ";markdown_space=" " - [ -z "$sckey" ] && [ ! -z "$sctkey" ] && sckey="$sctkey" && uci set serverchan.serverchan.sckey="$sctkey" && uci delete serverchan.serverchan.sctkey && uci commit serverchan - [ ! -z "$sckey" ] && [ ${sckey:0:3} == "SCU" ] && sckey_url="http://sc.ftqq.com/${sckey}.send" - [ ! -z "$sckey" ] && [ ${sckey:0:3} == "SCT" ] && sckey_url="http://sctapi.ftqq.com/${sckey}.send" -} - -# 初始化 -function serverchan_init(){ - enable_detection - if [ -f "/usr/bin/serverchan/errlog" ]; then - cat /usr/bin/serverchan/errlog > ${logfile} - echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】载入上次重启前日志" >> ${logfile} - echo "--------------------------------------------------------" >> ${logfile} - fi - down_oui & - deltemp - rm -f ${dir}fd1 ${dir}sheep_usage ${dir}old_sheep_usage ${dir}client_usage_aliases ${dir}old_client_usage_aliases /usr/bin/serverchan/errlog >/dev/null 2>&1 - [ ! -f "/usr/sbin/wrtbwmon" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】未安装 wrtbwmon ,流量统计不可用" >> ${logfile} - [ -z "$ip_version" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】无法获取依赖项 iputils-arping 版本号,请确认插件是否正常运行" >> ${logfile} - [ -z "$cu_version" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】无法获取依赖项 curl 版本号,请确认插件是否正常运行" >> ${logfile} - [ -z "$sckey" ] && [ -z "$tg_token" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】请填写正确的 sckey " >> ${logfile} && return 1 - local interfacelist=`getinterfacelist` && [ -z "$interfacelist" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】无法正确获取接口信息,请确认插件是否正常运行" >> ${logfile} - return 0 -} - -# 下载设备MAC厂商信息 -function down_oui(){ - [ -f ${oui_base} ] && local logrow=$(grep -c "" ${oui_base}) || local logrow="0" - [ $logrow -lt "10" ] && rm -f ${oui_base} >/dev/null 2>&1 - if [ ! -z "$oui_data" ] && [ "$oui_data" -ne "3" ] && [ ! -f ${oui_base} ]; then - echo "`date "+%Y-%m-%d %H:%M:%S"` 【初始化】设备MAC厂商信息不存在,重新下载" >> ${logfile} - wget --no-check-certificate -t 3 -T 15 -O ${dir}oui.txt https://linuxnet.ca/ieee/oui.txt >/dev/null 2>&1 - if [ -f ${dir}oui.txt ] && [ "$oui_data" -eq "1" ]; then - cat ${dir}oui.txt|grep "base 16"|grep -i "apple\|aruba\|asus\|autelan\|belkin\|bhu\|buffalo\|cctf\|cisco\|comba\|datang\|dell\|dlink\|dowell\|ericsson\|fast\|feixun\|\ -fiberhome\|fujitsu\|grentech\|h3c\|hisense\|hiwifi\|honghai\|honghao\|hp\|htc\|huawei\|intel\|jinli\|jse\|lenovo\|lg\|liteon\|malata\|meizu\|mercury\|meru\|moto\|netcore\|\ -netgear\|nokia\|omron\|oneplus\|oppo\|philips\|router_unkown\|samsung\|shanzhai\|sony\|start_net\|sunyuanda\|tcl\|tenda\|texas\|tianyu\|tp-link\|ubq\|undefine\|VMware\|\ -utstarcom\|volans\|xerox\|xiaomi\|zdc\|zhongxing\|smartisan" > ${oui_base} && echo "`date "+%Y-%m-%d %H:%M:%S"` 【初始化】设备MAC厂商信息下载成功" >> ${logfile} || echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】设备MAC厂商信息下载失败" >> ${logfile} - fi - if [ -f ${dir}oui.txt ] && [ "$oui_data" -eq "2" ]; then - cat ${dir}oui.txt|grep "base 16" > ${oui_base} && echo "`date "+%Y-%m-%d %H:%M:%S"` 【初始化】设备MAC厂商信息下载成功" >> ${logfile} || echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】设备MAC厂商信息下载失败" >> ${logfile} - fi - rm -f ${dir}oui.txt >/dev/null 2>&1 - fi -} - -# 清理临时文件 -function deltemp(){ - unset title content - rm -f ${dir}title ${dir}content ${dir}top ${dir}tmp_downlist ${dir}send_enable.lock >/dev/null 2>&1 - LockFile unlock - [ -f ${logfile} ] && local logrow=$(grep -c "" ${logfile}) || local logrow="0" - [ $logrow -gt 500 ] && sed -i '1,100d' ${logfile} && echo "`date "+%Y-%m-%d %H:%M:%S"` 【清理】日志超出上限,删除前 100 条" >> ${logfile} -} - -# 检测程序开关 -function enable_detection(){ - [ ! "$1" ] && local time_n=1 - for i in `seq 1 $time_n`; do - get_config serverchan_enable;[ -z "$serverchan_enable" ] || [ "$serverchan_enable" -eq "0" ] && `/etc/init.d/serverchan stop` || sleep 1 - done -} - -# 获取 ip -function getip(){ - [ ! "$1" ] && return - if [ $1 == "wanipv4" ] ;then - [ ! -z "$ipv4_interface" ] && local wanIP=$(/sbin/ifconfig ${ipv4_interface}|awk '/inet addr/ {print $2}'|awk -F: '{print $2}'|grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') - [ -z "$ipv4_interface" ] && local wanIP=$(getinterfacelist|grep '\"address\"'|grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') - echo "$wanIP" - elif [ $1 == "hostipv4" ] ;then - [ -z "$ipv4_URL" ] && local ipv4_URL="members.3322.org/dyndns/getip" - [ ! -z "$ipv4_interface" ] && local hostIP=$(curl -k -s -4 --interface ${ipv4_interface} ${ipv4_URL}) || local hostIP=$(curl -k -s -4 ${ipv4_URL}) - echo "$hostIP" - elif [ $1 == "wanipv6" ] ;then - [ ! -z "$ipv6_interface" ] && local wanIPv6=$(ip addr show ${ipv6_interface}|grep -v deprecated|grep -A1 'inet6 [^f:]'|sed -nr ':a;N;s#^ +inet6 ([a-f0-9:]+)/.+? scope global .*? valid_lft ([0-9]+sec) .*#\2 \1#p;ta'|sort -nr|head -n1|awk '{print $2}') - [ -z "$ipv6_interface" ] && local wanIPv6=$(ip addr show|grep -v deprecated|grep -A1 'inet6 [^f:]'|sed -nr ':a;N;s#^ +inet6 ([a-f0-9:]+)/.+? scope global .*? valid_lft ([0-9]+sec) .*#\2 \1#p;ta'|sort -nr|head -n1|awk '{print $2}') - echo "$wanIPv6" - elif [ $1 == "hostipv6" ] ;then - [ -z "$ipv6_URL" ] && local ipv6_URL="v6.ip.zxinc.org/getip" - [ ! -z "$ipv6_interface" ] && local hostIPv6=$(curl -k -s -6 --interface ${ipv6_interface} ${ipv6_URL}) || local hostIPv6=$(curl -k -s -6 ${ipv6_URL}) - echo "$hostIPv6" - fi -} - -# 获取接口信息 -function getinterfacelist(){ - [ `ubus list|grep -w -i "network.interface.wan"|wc -l` -ge "1" ] && ubus call network.interface.wan status && return - [ `ubus list|grep -i "network.interface."|grep -v "loopback"|grep -v "wan6"|wc -l` -eq "1" ] && ubus call `ubus list|grep "network.interface."|grep -v "loopback"` status && return -} - -# 获取接口在线时间 -function getinterfaceuptime(){ - getinterfacelist|grep \"uptime\"|sed $'s/\"uptime": //g'|sed $'s/\,//g' -} - -# 查询 mac 地址 -function getmac(){ - ( echo "$tmp_mac"|grep -q "unknown" ) && unset tmp_mac # 为unknown时重新读取 - [ -f "${dir}ipAddress" ] && [ -z "$tmp_mac" ] && local tmp_mac=`cat ${dir}ipAddress|grep -w ${1}|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` - [ -f "${dir}tmp_downlist" ] && [ -z "$tmp_mac" ] && local tmp_mac=`cat ${dir}tmp_downlist|grep -w ${1}|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` - [ -f "/var/dhcp.leases" ] && [ -z "$tmp_mac" ] && local tmp_mac=`cat /var/dhcp.leases|grep -w ${1}|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` - [ -z "$tmp_mac" ] && local tmp_mac=`cat /proc/net/arp|grep "0x2\|0x6"|grep -w ${1}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` - [ -z "$tmp_mac" ] && local tmp_mac="unknown" - echo "$tmp_mac" -} - -# 查询主机名 -function getname(){ - [ -z "$tmp_name" ] && local tmp_name=`echo "$device_aliases"|grep -i $2|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` - [ -f "${dir}ipAddress" ] && [ -z "$tmp_name" ] && local tmp_name=`cat ${dir}ipAddress|grep -w ${1}|awk '{print $3}'|grep -v "^$"|sort -u|head -n1` - [ -f "${dir}tmp_downlist" ] && [ -z "$tmp_name" ] && local tmp_name=`cat ${dir}tmp_downlist|grep -w ${1}|awk '{print $3}'|grep -v "^$"|sort -u|head -n1` - ( ! echo "$tmp_name"|grep -q -w "unknown\|*" ) && [ ! -z "$tmp_name" ] && echo "$tmp_name" && return || unset tmp_name # 为unknown时重新读取 - [ -f "/var/dhcp.leases" ] && [ -z "$tmp_name" ] && local tmp_name=`cat /var/dhcp.leases|grep -w ${1}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` - ( ! echo "$tmp_name"|grep -q -w "unknown\|*" ) && [ ! -z "$tmp_name" ] && echo "$tmp_name" && return || unset tmp_name # 为unknown时重新读取 - [ -z "$dhcp_config" ] && dhcp_config=`uci show dhcp|grep "ip\|mac\|name"` - for dhcp_config_str in "host" "domain"; do - local dhcp_ip_n=`echo "$dhcp_config"|grep -w ^dhcp.@${dhcp_config_str}.*ip=.${1}|sed -nr 's#^dhcp.(.*).ip.*#\1#gp'` 2>/dev/null - [ ! -z "$dhcp_ip_n" ] && [ -z "$tmp_name" ] && local tmp_name=`uci get dhcp.${dhcp_ip_n}.name` 2>/dev/null - local dhcp_mac_n=`echo "$dhcp_config"|grep -i ^dhcp.@${dhcp_config_str}.*mac=.${2}|sed -nr 's#^dhcp.(.*).mac.*#\1#gp'` 2>/dev/null - [ ! -z "$dhcp_mac_n" ] && [ -z "$tmp_name" ] && local tmp_name=`uci get dhcp.${dhcp_ip_n}.name` 2>/dev/null - [ ! -z "$tmp_name" ] && break - done - ( ! echo "$tmp_name"|grep -q -w "unknown\|*" ) && [ ! -z "$tmp_name" ] && echo "$tmp_name" && return || unset tmp_name # 为unknown时重新读取 - [ -f "$oui_base" ] && local tmp_name=$(cat $oui_base|grep -i $(echo "$2"|cut -c 1,2,4,5,7,8)|sed -nr 's#^.*16)..(.*)#\1#gp'|sed 's/ /_/g') - [ "$oui_data" -eq "4" ] && local tmp_name=$(curl -sS "http://standards-oui.ieee.org/oui.txt"|grep -i $(echo "$2"|cut -c 1,2,4,5,7,8)|sed -nr 's#^.*16)..(.*)#\1#gp'|sed 's/ /_/g') - [ -z "$tmp_name" ] && local tmp_name="unknown" - echo "$tmp_name" -} - -# 查询设备接口 -function getinterface(){ - [ -f "${dir}ipAddress" ] && local ip_interface=`cat ${dir}ipAddress|grep -w ${1}|awk '{print $5}'|grep -v "^$"|sort -u|head -n1` - [ -f "${dir}tmp_downlist" ] && [ -z "$ip_interface" ] && local ip_interface=`cat ${dir}tmp_downlist|grep -w ${1}|awk '{print $5}'|grep -v "^$"|sort -u|head -n1` - if [ -z "$ip_interface" ] && [ ! -z "$wlan_interface" ]; then - for interface in $wlan_interface; do - local ip_interface=`iw dev $interface station dump 2>/dev/null|grep Station|grep -i -w ${1}|sed -nr 's#^.*on (.*))#\1#gp'` >/dev/null 2>&1 - [ ! -z "$ip_interface" ] && echo "$ip_interface" && return - done - fi - [ -z "$ip_interface" ] && local ip_interface=`cat /proc/net/arp|grep "0x2\|0x6"|grep -i -w ${1}|awk '{print $6}'|grep -v "^$"|sort -u|head -n1` - echo "$ip_interface" -} - -# ping -function getping(){ - [ "$iw_version" ] && local wlan_online=`iw dev ${ip_interface} station dump|grep -i -w ${ip_mac}|grep Station` >/dev/null 2>&1 - [ "$wlan_online" ] && return 0 - for i in `seq 1 ${3}`; do - ( ! echo "$ip_ms"|grep -q "ms" ) && local ip_ms=$( arping -I `cat /proc/net/arp|grep -w ${1}|awk '{print $6}'|grep -v "^$"|sort -u|head -n1` -c 20 -f -w ${2} $1 ) 2>/dev/null - ( ! echo "$ip_ms"|grep -q "ms" ) && local ip_ms=`ping -c 5 -w ${2} ${1}|grep -v '100% packet loss'` 2>/dev/null - ( ! echo "$ip_ms"|grep -q "ms" ) && sleep 1 - done - ( echo "$ip_ms"|grep -q "ms" ) -} - -# CPU 占用率 -function getcpu(){ - local AT=$(cat /proc/stat|grep "^cpu "|awk '{print $2+$3+$4+$5+$6+$7+$8 " " $2+$3+$4+$7+$8}') - sleep 3 - local BT=$(cat /proc/stat|grep "^cpu "|awk '{print $2+$3+$4+$5+$6+$7+$8 " " $2+$3+$4+$7+$8}') - printf "%.01f%%" $(echo ${AT} ${BT}|awk '{print (($4-$2)/($3-$1))*100}') -} - -# 获取SOC温度 (取所有传感器温度最大值) -function soc_temp(){ - [ -z "$soc_code" ] && soc_code="cat /sys/class/thermal/thermal_zone*/temp|sort -nr|head -n1|cut -c-2" - [ "$soc_code" == "sensors" ] && soc_code="sensors|grep °C|sed -nr 's#^Core.*:.*\+(.*)°C .*#\1#gp'|sort -nr|head -n1" - echo "$soc_code"|awk '{run=$0;system(run)}' 2>/dev/null -} - -# 流量数据 -function usage(){ - [ ! -f "/usr/sbin/wrtbwmon" ] || [ ! "$1" ] && return - if [ $1 == "update" ] ;then - function version_le() { test "$(echo "$@"|tr " " "\n"|sort -V|head -n 1)" == "$1"; } - function version_ge() { test "$(echo "$@"|tr " " "\n"|sort -rV|head -n 1)" == "$1"; } - [ ! -z "$wr_version" ] && ( version_ge "${wr_version}" "1.2.0" ) && wrtbwmon -f ${dir}usage.db 2>/dev/null && return - [ ! -z "$wr_version" ] && ( version_le "${wr_version}" "1.0.0" ) || [ -z "$wr_version" ] && wrtbwmon update ${dir}usage.db 2>/dev/null && return - elif [ $1 == "get" ] ;then - [ ! -f "${dir}usage.db" ] && [ ! "$3" ] && echo `bytes_for_humans 0` && return - [ ! -f "${dir}usage.db" ] && [ "$3" ] && echo 0 && return - [ -z "$total_n" ] && total_n=`cat ${dir}usage.db|head -n1|grep "total"|sed 's/,/\n/g'|awk '/total/{print NR}'` 2>/dev/null - [ -z "$total_n" ] && total_n="6" - [ "$2" ] && local tmptotal=`cat ${dir}usage.db|sed 's/,,,/,0,0,/g'|sed 's/,,/,0,/g'|sed 's/,/ /g'|grep -i -w ${2}|awk "{print "'$'$total_n"}"|grep -v "^$"|sort -u|head -n1` 2>/dev/null - [ -z "$tmptotal" ] && local tmptotal="0" - [ ! "$3" ] && echo `bytes_for_humans ${tmptotal}` || echo "$tmptotal" - elif [ $1 == "down" ] ;then - [ "$2" ] && sed -i "/,${2},/d" ${dir}usage.db 2>/dev/null - fi -} - -# 流量数据单位换算 -function bytes_for_humans { - [ ! "$1" ] && return - [ "$1" -gt 1073741824 ] && echo "`awk 'BEGIN{printf "%.2f\n",'$1'/'1073741824'}'` GB" && return - [ "$1" -gt 1048576 ] && echo "`awk 'BEGIN{printf "%.2f\n",'$1'/'1048576'}'` MB" && return - [ "$1" -gt 1024 ] && echo "`awk 'BEGIN{printf "%.2f\n",'$1'/'1024'}'` KB" && return - echo "${1} bytes" -} - -# 设备异常流量检测 -function get_client_usage(){ - [ -z "$client_usage" ] && return - [ "$client_usage" -ne "1" ] && return - [ -z "$client_usage_max" ] && return - [ -z "$get_client_usage_time" ] && get_client_usage_time=`date +%s` - ( echo $client_usage_max|sed -r 's/.*(.)$/\1/'|grep -q "K\|k" ) && client_usage_max=`expr ${client_usage_max%?} \* 1024` - ( echo $client_usage_max|sed -r 's/.*(.)$/\1/'|grep -q "M\|m" ) && client_usage_max=`expr ${client_usage_max%?} \* 1048576` - ( echo $client_usage_max|sed -r 's/.*(.)$/\1/'|grep -q "G\|g" ) && client_usage_max=`expr ${client_usage_max%?} \* 1073741824` - [ "$client_usage_disturb" -eq "0" ] || [ -z "$client_usage_disturb" ] && [ -f "${dir}ipAddress" ] && local MACLIST=`cat ${dir}ipAddress|awk '{print $2}'|grep -v "^$"|sort -u` - [ ! -z "$client_usage_disturb" ] && [ "$client_usage_disturb" -eq "1" ] && [ ! -z "$client_usage_whitelist" ] && local MACLIST=`echo "$client_usage_whitelist"` - [ -z "$MACLIST" ] && return - - if [ "$((`date +%s`-$get_client_usage_time))" -ge "60" ]; then - > ${dir}client_usage_aliases - for mac in $MACLIST; do - ( ! cat ${dir}ipAddress|grep -q -i -w $mac|grep -v "^$"|sort -u|head -n1 ) && continue - echo "$mac" `usage get ${mac} bytes` >> ${dir}client_usage_aliases - [ -f "${dir}old_client_usage_aliases" ] && get_client_usage_bytes=`cat ${dir}old_client_usage_aliases|grep -i -w $mac|awk '{print $2}'|grep -v "^$"|sort -u|head -n1` || continue - [ -z "$get_client_usage_bytes" ] && get_client_usage_bytes="0" - if [ "$((`usage get ${mac} bytes`-$get_client_usage_bytes))" -ge "$client_usage_max" ]; then - local ip=`cat ${dir}ipAddress|grep -i -w $mac|awk '{print $1}'|grep -v "^$"|sort -u|head -n1` - local ip_name=`getname ${ip} ${mac}` - local tmp_usage=$(bytes_for_humans $(expr `usage get ${mac} bytes` - ${get_client_usage_bytes})) - local time_up=`cat ${dir}ipAddress|grep -w ${ip}|awk '{print $4}'|grep -v "^$"|sort -u|head -n1` - local ip_total=`usage get $mac` && [ ! -z "$ip_total" ] && local ip_total="${markdown_linefeed}${markdown_tab}总计流量: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_total}" - local time1=`date +%s` - local time1=$(time_for_humans `expr ${time1} - ${time_up}`) - if [ -z "$title" ]; then - title="${ip_name} 流量异常" - content="${content}${markdown_splitline}#### 设备流量异常${markdown_linefeed}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${mac}$ip_total${markdown_linefeed}${markdown_tab}一分钟内流量: ${markdown_space}${markdown_space}${tmp_usage}${markdown_linefeed}${markdown_tab}在线时间: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${time1}" - elif ( echo "$title"|grep -q "流量异常" ); then - title="${ip_name} ${title}" - content="${content}${markdown_splitline}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${mac}$ip_total${markdown_linefeed}${markdown_tab}一分钟内流量: ${markdown_space}${markdown_space}${markdown_space}${tmp_usage}${markdown_linefeed}${markdown_tab}在线时间: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${time1}" - else - title="设备状态变化" - content="${content}${markdown_splitline}#### 设备流量异常${markdown_linefeed}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${mac}$ip_total${markdown_linefeed}${markdown_tab}一分钟内流量: ${markdown_space}${markdown_space}${markdown_space}${tmp_usage}${markdown_linefeed}${markdown_tab}在线时间: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${time1}" - fi - fi - done - cat ${dir}client_usage_aliases > ${dir}old_client_usage_aliases - get_client_usage_time=`date +%s` - fi -} - -# 时间单位换算 -function time_for_humans { - [ ! "$1" ] && return - if [ "$1" -lt 60 ]; then - echo "${1} 秒" - elif [ "$1" -lt 3600 ]; then - local usetime_min=`expr $1 / 60` - local usetime_sec=`expr $usetime_min \* 60` - local usetime_sec=`expr $1 - $usetime_sec` - echo "${usetime_min} 分 ${usetime_sec} 秒" - elif [ "$1" -lt 86400 ]; then - local usetime_hour=`expr $1 / 3600` - local usetime_min=`expr $usetime_hour \* 3600` - local usetime_min=`expr $1 - $usetime_min` - local usetime_min=`expr $usetime_min / 60` - echo "${usetime_hour} 小时 ${usetime_min} 分" - else - local usetime_day=`expr $1 / 86400` - local usetime_hour=`expr $usetime_day \* 86400` - local usetime_hour=`expr $1 - $usetime_hour` - local usetime_hour=`expr $usetime_hour / 3600` - echo "${usetime_day} 天 ${usetime_hour} 小时" - fi -} - -# 计算字符真实长度 -function length_str { - [ ! "$1" ] && return - local length_zh=`echo "$1"|awk '{print gensub(/[\u4e00-\u9FA5A-Za-z0-9_]/,"","g",$0)}'|awk -F "" '{print NF}'` - local length_en=`echo "$1"|awk '{print gensub(/[^\u4e00-\u9FA5A-Za-z0-9_]/,"","g",$0)}'|awk -F "" '{print NF}'` - echo `expr $length_zh / 3 \* 2 + $length_en` -} - -# 截取字符,避免中文乱码 -function cut_str { - [ ! "$1" ] && return - [ ! "$2" ] && return - [ `length_str $1` -le "$2" ] && echo "$1" && return - local temp_length=$2 - while [ $(length_str `echo "$1"|cut -c -$temp_length`) -lt "$2" ]; do - temp_length=`expr $temp_length + 1` - done - while [ $(printf "%d" \'`echo "$1"|cut -c $temp_length`) -ge "128" ] && [ $(printf "%d" \'`echo "$1"|cut -c $temp_length`) -lt "224" ]; do - temp_length=`expr $temp_length + 1` - done - temp_length=`expr $temp_length - 1` - echo $(echo "$1"|cut -c -$temp_length)"*" -} - -# 在线设备列表 -function serverchan_first(){ - [ -f "${dir}ipAddress" ] && local IPLIST=`cat ${dir}ipAddress|awk '{print $1}'|grep -v "^$"|sort -u` - for ip in $IPLIST; do - read -u 5 - { - down $ip - echo "" >&5 - }& - done - wait - unset ip IPLIST - local IPLIST=`cat /proc/net/arp|grep "0x2\|0x6"|awk '{print $1}'|grep -v "^169.254."|grep -v "^$"|sort -u` - for ip in $IPLIST; do - read -u 5 - { - up $ip - echo "" >&5 - }& - done - wait -} - -# 创建计划任务 -function serverchan_cron(){ - function del_cron(){ - ( echo `crontab -l`|grep -q "serverchan" ) && crontab -l > conf && sed -i "/serverchan/d" conf && crontab conf && rm -f conf >/dev/null 2>&1 - } - function re_cron(){ - /etc/init.d/cron stop - /etc/init.d/cron start - } - del_cron - if [ -z "$serverchan_enable" ] || [ -z "$send_mode" -a -z "$reset_regularly" ]; then - re_cron - return - fi - - # 重置流量 - if [ ! -z "$reset_regularly" ] && [ "$reset_regularly" -eq "1" ]; then - crontab -l > conf && echo -e "0 0 * * * rm /tmp/serverchan/usage.db >/dev/null 2>&1" >> conf && crontab conf && rm -f conf >/dev/null 2>&1 - crontab -l > conf && echo -e "0 0 * * * rm /tmp/serverchan/usage6.db >/dev/null 2>&1" >> conf && crontab conf && rm -f conf >/dev/null 2>&1 - fi - [ ! -z "$regular_time_2" ] && local regular_time_2=",${regular_time_2}" - [ ! -z "$regular_time_3" ] && local regular_time_3=",${regular_time_3}" - # 定时发送 - if [ ! -z "$regular_time" ] || [ ! -z "$regular_time_2" ] || [ ! -z "$regular_time_3" ]; then - crontab -l > conf && echo -e "0 $regular_time$regular_time_2$regular_time_3 * * * /usr/bin/serverchan/serverchan send &" >> conf && crontab conf && rm -f conf >/dev/null 2>&1 - # 间隔发送 - elif [ ! -z "$interval_time" ]; then - crontab -l > conf && echo -e "0 */$interval_time * * * /usr/bin/serverchan/serverchan send &" >> conf && crontab conf && rm -f conf >/dev/null 2>&1 - fi - re_cron -} - -# 免打扰检测 -function serverchan_disturb(){ - [ -z "$serverchan_sheep" ] || [ -z "$starttime" ] || [ -z "$endtime" ] && return 0 - if [ `date +%H` -ge $endtime -a $starttime -lt $endtime ] || [ `date +%H` -lt $starttime -a $starttime -lt $endtime ] || [ `date +%H` -lt $starttime -a `date +%H` -ge $endtime -a $starttime -gt $endtime ]; then - unset sheep_starttime - rm -f ${dir}sheep_usage ${dir}old_sheep_usage 2>/dev/null - [ ! -z "$sckey" ] && [ -z "$sckey" ] && disturb_text="【微信推送】" - [ ! -z "$tg_token" ] && [ -z "$sckey" ] && disturb_text="【Telegram推送】" - [ ! -z "$tg_token" ] && [ ! -z "$sckey" ] && disturb_text="【微信/TG推送】" - return 0 - else - [ -z "$sheep_starttime" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【免打扰】夜深了,该休息了" >> ${logfile} && sheep_starttime=`date +%s` - if [ "$serverchan_sheep" -eq "1" ] ;then - while [ `date +%H` -lt "$endtime" ]; do - enable_detection - sleep $sleeptime - done - elif [ "$serverchan_sheep" -eq "2" ] ;then - disturb_text="【免打扰】" - return 1 - fi - fi -} - -# 文件锁 -function LockFile(){ - if [ $1 = "lock" ] ;then - [ ! -f "${dir}serverchan.lock" ] && > ${dir}serverchan.lock && return - while [ -f "${dir}serverchan.lock" ]; do - enable_detection 1 - done - LockFile lock - fi - [ $1 = "unlock" ] && rm -f ${dir}serverchan.lock >/dev/null 2>&1 - return -} - -# 检测黑白名单 -function blackwhitelist(){ - [ ! "$1" ] && return 1 - [ -z "$serverchan_whitelist" ] && [ -z "$serverchan_blacklist" ] && [ -z "$serverchan_interface" ] && return - [ ! -z "$serverchan_whitelist" ] && ( ! echo "$serverchan_whitelist"|grep -q -i -w $1) && return - [ ! -z "$serverchan_blacklist" ] && ( echo "$serverchan_blacklist"|grep -q -i -w $1) && return - [ ! -z "$serverchan_interface" ] && ( echo `getinterface ${1}`|grep -q -i -w $serverchan_interface ) && return - return 1 -} - -function get_client(){ - if [ -f "${dir}ipAddress" ]; then - while read line; do - local js_str="${js_str}
    " - local js_str="${js_str}
    <%:`echo "$line"|awk '{print $3}'`%>
    " - local tmp_mac=`echo "$line"|awk '{print $2}'` - local js_str="${js_str}
    <%:${tmp_mac}%>
    " - local js_str="${js_str}
    <%:`echo "$line"|awk '{print $1}'`%>
    " - local tmp_usage=`usage get ${tmp_mac}` - local js_str="${js_str}
    <%:${tmp_usage}%>
    " - local tmp_uptime=`echo "$line"|awk '{print $4}'` - local tmp_timenow=`date +%s` - local tmp_uptime=$(time_for_humans `expr ${tmp_timenow} - ${tmp_uptime}`) - local js_str="${js_str}
    <%:${tmp_uptime}%>
    " - done < ${dir}ipAddress - fi -cat>/usr/lib/lua/luci/view/serverchan/client.htm<<%:在线设备列表%>

    ZMZAp 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

  • Ry;XoF+)xKug4 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 z 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�Po)2Iy%|5O z+DClUPvvt=gTxV{+e{+!&La zXmanG+(#z&9&5(pID8*Jzz#Xlzb1jpm2H~~LX?X#X_a^INT=j31DmpB=}!mm|( z{=X%ef>UuCPRH+5yYdHo5}1foQ-qvN1UtLozElr8Rz2yT!@QQ`-)p) za?4F_Dfut>EB=PR<1*F0Uj86ifh+M(T!pJu_qQE#YfV0Fa_da)kjbq#xos@iU~(H7 zY{JdB1-GKp|MnHV-Q@l;xgF#?aTorLyK#?duk~J%eYhY0#RGUywP*FP$@@(1h{@$m z?muRa;xWu1{hxFCKhn3Ne+uM9EMeI(??JEX9zX9l`H0CIa=`!wF@#~&u8)$$FpddK zVoG(NW4@BfH#Yg>O#Wn(uWa(wO}+|ij>i+QD$@UXr~lnoS-u8&O*{!}VQs9Vx_3ps zuF0Qi@~4oWiuF)0u0G$>@eI}Ozdp%Xcs4e`hS*4TuW9}qlfS~`&o%j`CVw8YP4IlY z058OgRJ$L}fBq8kOYt&nhL@}M{4_WD7A8;s=dWV+YP<%o#p_hNp8n6@Kz<|Mge|d^ zYWL9El0LD+L_V@!yp227FIeZ=msqQ#1Z{xS~6AvhFYQQehM)BpBWK>z16pDI9MKDb}R15*~+@(dmD8R|WdNP?h{dtcKOGhH4+>BvUxm6l#&z z#yWU1*2Pm)_cyEx^+-;`)A0;E6YHz?$Y-0vC8p586q=YqLuMOcV>}1XMW_GWyRJb0 z7wG@Oh0I=rP4QyYeZ3SeHHE88f&MQvWA<{q0-NKNs@)I$U$}<+TD%Th;PtBA!;Pje z%M@-hg{MuSr73hVg;u6;8_RAsh1Lvi!CSEnw#9a;+ZBb|O`)SHv?sp<@5ByB{}-J8 zw>!Ltyc2fDd+|P`|0{l?Qs`<5kD0;)rqIh2x-t78c1QZZ;Pk&K^i3>sr6`lTfTcR+`6h@iC8{}`|a2$an@h#Q9*4`!=jql(Xd>8+x{|n@c+Wkx*`3xuGBy{@U6uwaHP9~eeG*kGB{A>IMzr`sy zRdrjgFrDN({2qV688}n5N1km8M@?alDXcbyA5GzRQv01*{cj4J z(CPnh#qTi|wvzmX+i*MXz@4gXfWJ-QUsKpkz6bxoy|@qetM>JHfaD+^!ozq3|5NQN z@t7%U-)2lPXbM?V^q4|U|2D2E=+6 zsTF@u*%WJ&)WMUnE}nv?s`mJ&nPLM|Je~Xubp95zDb~lc@N6|&Z5ZQ**a#crIe0Ff zr$(#2$M}3xI@1&{FvZEHc%dmiZi*L~;_ar`)D&Bo;>D)e+!QZyu2=C=r2mWbf06z# zI{okL(^+#RUWHfVHAw##o&I<4rQ-Fb*xD3tVD?7530q<-yjitJzJ=sgY=dpl>3>sn zzF4?-U9r6>K46M>m|`bWyp!1uco#bTZ;Bn!>3{bQEOsWj7w^OSu?u!pBQ5E)VmDLl zZHf<)cgKgY2lm8Xs@u24he;m6N3jp~#m7{;hbK&Nm?=JKiqA6D&lLMJ7=TaV(>M^H zQQh}l#pg_Muqi%IJ_ujH7t!f|Q+!#qk2Qp3D87QP;%oT2YFEBtitn4^o2EG06o)fA z0!O0L|E4$!o&LAitKwXZA%7R&!?8F{wa5R!6epM>{a^fu*^luP9FL!>Zp#(v|KddQ zN%%Q_fnTcjPWZ|c|24(0O>vnieq)MrP4Qb({J|8buyQI+L;Al+{}-M9x6fh*vomoP z&c-?Tqw0R&QT)ji7n|Zd@}F@&F2IGjNVU&;3CU9Y1%Jig@ORby6U^drQ`};Tf0*K0 zQ(VF9O8gU7;c8r?y5BVy>Hp$-@(s8VH{oX0?tH5${%wl%e{mbL+i?f(#9gXAC-i@D z5BWd17x&?Q)n2IsrW7^BgQi$8#Y3j}pD7+@%@Nf;yQ3t>FoRjlVP18=M<^Ce$(Uk^ zyzE$_b4p&uKJ=^ZK1)Ipz#xV&j1kqn7NwXeRX3%$DOEP51hYv@VHzvpajLuXQWcWp z@dT`jCt@|#?xcn()itG>WYzBH6p~Z19-fA$;~A>kqNVz#^qDE0WlG&m z>1pug4oy_kBp|CR6HQN-a&Pttqu)*6Dv!YK`=N=~l*V zRQEnFwIjI=Z^!m{2i~dLvwD{)-DgU7lXt{>uoHI1dsVysev&TO6(7KE_@HXf$wQ_z z#FToN(g0KHX-a)fsTXT{BmG~Z|4WaO^ikbcU+FQD$MFe#68m9))jrBoru4iiJxx9k zpTTGGIo17&QyN6_0=|eZ;mbH!wa;;=DZOJ#ub9$sQ=ef+>#U-A26rH@EH#!qlOeu@)RyN8LU^p`13 zGNpN@^tmZbF(vxH^d&1N<5&1KeuLkt?tA{yR8yL1O4G=v<9GNy{(v)7d#>pJ(rofM z_#@86pH#cIpG|3nDa|*fUrcEMvkP$%F2*J3^uK+j(Ep|1$bZLWxE%jb?M_yj(t1;( z|4XZwU5#sSEv{4TdiuXa|Ccr~yBW9OR@L5(+f3PKO5088uqo{@rM;%KlQp~WZ`_T0 z(CL4Bt?B>Le)50u03O6cs{7ND(h*b2o6>*eNAVbDFpD|W?!Q1%#1fVr%O3Qq?t8Pc z-;^tvvN7eTDGRd!3}Ohw7*XB*lw%}uOkfgIm{#4kDIaIb)l9iEc@;b!Pr#~pqUzpb zNU}lzW=;J*M2%lsmD8{x3WIZ_4-K z{n$lyU!mm(NV?&J*c~6j9;*BGwA{;-A2a3N4`qm8Lw(l&6{U+ot@fDUUYg_f7d7R*u1U@jV=i<5c^MJ|OuJ>HjkQ zU;cz-yz2I9d4efVHs#OAC*mah9KXOXReP6yMe;R%gWuv5oT}REHQkiwoAP(2JlmAN zXZ8o2firQIYWF;cQZ1`%HP2Deo}l)uz13l-ICkEw01$xB)k+_I}$;vIV!|U$_motN(L9>@;Qi zzx+3|yKxWxgL_qbX7-zM(Uku+<)fy2fZ2n12oK{C{7<#}q5sPn@+{^sj|J79&ysk= zl*^ik$AezIo1DzW}Jtc+FA>3{J!{cn$RB1tu@jy13*I{j}~))tR`ZXNQIu`Zs1r(!+TK9|!; z&cHLVKAwe6|5to95l=($Tqd4I;<-RPjhQ_M&&Bhw37)T3bfb7KB)JHi;>CCgUaD5y zrQ&HOo~y-kIr$aX9IwQyRQnvSA-NW>!xnfw-k?@oS@GN?o`=NKQapEwrlG#6T6|TlLxK_2FwVq@HZp2Nv8Mml*+#LGkL&4~e(4cn*uVzIcv^HzuC{ z#8YI!QSlsOkijhGFpmY*?z1Fb5l`94y&m+U5B+FV_u6>_BtZ;e7$X=}-PevcF5VjA zO^COOc$3VgFpZV)IIOI?_n!B7k`u5ho`}`3y6WD^-kRb)MZ8Y`i?ZA! zPbH~`r{U>%2A-+fBcCPSE5&=ZcrO-j1MxNyZ$s8J!p3+Go{Q(H?)mhdPjUfXh!sSZ^euEBk}$u-jBumt$05X z@8{wj&zeth0)B=Qagu6x^##e7I2pgfukjnz?q`a4XNZ^n_fBJWI(~=W;}5D`Ka*q@ z&c-?TBhFRr9_ESn5Apsi-lgKD|Gf)Xvk({IVqBuy zcb$0Ye=q&-UB#N!xCYm%_Q>?VcLVuG+=QEPi)!!2zr@#GyxYWAUA)`HTM+LK@$O^U zPVw$y@Hg(pJ@^kg{cj&}zj*%>@4w^+@E{(-!+1osk9(Bl7-lewIduBp9=RyKn0QO# z6Y-XvS)T{JNdNojf1lI;?q~S|%my)pVT@o@bz9UI7hh%ZCCHPQ!ZcPwr~mDdtB@Rz zCty`P5v!^8$Th^*RD3nXS6_T5iSHEg)nZL;tb_EwkN)Sk6U9gW`|2@!8lH}4;F+pD z{#oKXSA1uaH^7G22pi)$s@=KM|Ke+c=i>!FX^`BfxW<286KUWYAI_x0ktL43D}??&>QuqC#_o3XWO_j4;r8*Gd1@HV_%b>CO} z?hxOb;=5CP{lwQneBH%&m-y}z-`%Y2i1%P8?2PxS_Ob3K>4IJH0qlkks`mUpB)&(* z*Mqz#_QKxyFg~K%BljWci;v;s_yj(wR{Z9(`1*_QdBOqWdy2u+I1rz~XYo1JedpjC zB)*~Idx88#d*Ww!?z7NGWQhZ~?_ZDkL z;oCSGo&L91nf~{^M?MzE;rsZ3YR}|H;+rVGkI6s5@%SlDz|T~-J$z38i|=#%0>8w` z_?24m6GicTBR;3n#rLiFrZAX_({MU|hu^CeXNC`Fh>!mF&Emt^I0t{kxvKkq-ZxJo zw~6m(33L(Pd@*_lE)f3&@hueph2mQzevkMTi*Kv=mWb~UK7Fb9eqrz{{)WHfGF-0O z=et6D>%_N`{7+nkt8opkRqdIl|9$koZzHpta5HXUoZme|Qv+VMet(r~iFU|BJ7HMJ!=i zb?+I!SNyfb?-PGo{C@FA#P9UK_yq$P#1Mv6`?*g4i$8{OOkfgIs(a@BmBfFd_?`Y2 ze`TzK$KwfDRdrueey9J%Uma^;O*{!}sqQ)S*Af32;-~-pPXCMl6g(B{;c0lf>b}PP zXNteE`0JCOg=b>}Y>16i`%Inw7yr3<9yY=A@dDL7^Ztv(-&_1m#ot=|7mL4z_%9KE zbMapq>Ay_;mtix!9IsF#Hwxn`@hZF;ufc2aIyJJkuA_6P>&1TqgB$TCY>BP#W;I%E z660IM-%0$pivJGrw;^eZ?eI3d9owtXYTq-y6FcBtcsF*$d(_CJ#f&?Pznl2)Wqcpr zk6o}UKA=XcEoA&4cE^XX2lm8Xsy*_<;vX#jN5tQcQ~jv;`!MK>kKyC^1Umg+@iP|j z_ZRlxf42DNi+>Jl=zqV{|Kk4%=i$$)?STa(3vm%H#wEB^wO8a<@vjvB zZ{)w@GIaW1{Cu(Suh6mG&!6P0a5b($r~k#jPPJXJLHv2~ZxsJt@oy6U4)Jehjnn_) z-->_XHr%e-J8CD%F8mvv{uloqbo$>u(|zJUBL4m4|Kb5Wh==g7YWM#i$x%Fp8O&l% zwR_Ot_>YReD8`7N{`Z%iHO7Np^r2s^_;**t(Elbt9>fqj{Vyh>x@X?R#2hDv{x=C` zlbFIZR#M$(YATad!Q=4+tcoY9?!9WNi@8-y4Ke45sVU|xF(-*RRZJ~b*2X$`GS39a7iBA7l?1~T17Sn)1Lu`bN@fi%mvI|h!eF05Oj-`#3&yhidm4#PK8yYt~9J;jU=iHaF1 z=2tOqiJ2;9l$h~i-WD@X%xFIA9UO!7zoGxlSWWCRdY{=3@I(9v>3`$&zx#F2d@ANk zF%y{m3@73w{2aef?LH@ye1%`*H|X@g80U+H-NQ67^TkXTGh57e%zlqQ;0&CJvs8Qh zIV3;gT>J^=q0|2r-x2WP0x=62EW*XO1efA3s=bST6SG&$?_xHJSte$cnB}bb1D*aC zvl5;Dw+*(MWDTyxb+{fksP_KfBxZ-0&E#8fEB=Ms(CL5MU^_{6;orC$_uxOO-T6Lo z{%Y2K{nwnu{LAbCJcx(T>3`Ax1Q5KS|qix4xWs4(dmEpSxY^U1|p}CpN?nXnOGms!n0NPyDe!*(g+*lIe0Ff zhfP%bC>Myd6S+|2T9J!HE*ELanv3xgyc93PW~x2USCBNvEAcA48n039qg*G_N~8t( z^>_o`h&Q3r|91V&B(3olycOGETh*?-O{9y+?IImT+B16x-iaOXF1%Z{SK%I#PS_dm z#ryDnwc_}E*j3~K2Ho&M?2Zp%57m7wNH39HBE3Z>i##kcOym)fXGIRWvfg|xP9EESI6~B8g@(#%ud>7xtu{ch38%915nIQ5Z z`A7IMeuCriQ`Mf6&qyZXB>Wt|z%NyM&VyR2Hc37aILd-qn9gKwEdW1VSQv zM6x3Ph#V5x%gTMYAL)NNz}V@3_h%h)nB)llhez=kW>ouFISJ?=^ybM6Si};R9Rp7P zyU!xvBk`j_!2kwT_kIq9B~VoY5ecLv5M?%oaZF$mQ>uIZ1N493IP%I^1&_xQRD1jr zB~V)e)yS)34XlYLVJ+3YUIF?)a58yaJOxk1dTQiXu6y8g30y0IGbC`K1kRK|V+qt} z%~^OhHo%71NVVsO{tui>ejYZ#^YH@JJ@bK!ByhO|nv!3Pm*Ay%88%bh_hte5KhT`~ zO1uiM#%ol2X0DUKZ4zi9ftw{j{|9bh&5d{yw!~Jd-8uaqp#KB6GTR2*Vmr0sZ_!HN zb_sNp0R11hgV{T=1Kx#qt8NDd=>GuyALz{Ny?7tq@2u4SSFCfVb(N4F`2h)bl|VNM z=nLUN34A7j?h+Uxfrli}UjjWO&_@D2S>FqLGT`d{cGbT?9sujKsHa6gvGcfzhhHm&QooLkYY~{vM9Sari!dpxT{Rob8XvKf&?n z^uGiqsP5160}~~%SOSwI@Phn!5?CvNr4sl<0>3c(EB=PR z<1$>X+VfM<11rh@#8tQ&*QmBt)=6Ni1lE&pz>T;GH{%x7?))#3ZMYqG;7;77+E>|b z32G7TkziN?|42ZKdancyOJE->_v62K01x6J)t>(&B>&-2Jcb#}s`mcLOVB5Q0(lWj zSauA0(5t$y=%Am(pkM%l7*g%Zhy+iRU{r#YBuM`UuE~-Ln)tj-)bH!Q=4+ ztg5=_KUhtIbtFjt2Wv1}6HmfgSX-_5U1bTLOi~w5!Bepwo~F8IFL;Iouan@J61+%) z^(ABP#X4P%r;4LJ#VjFCW?eI3$ z9>2W=?~x$=AEf_-9awW0-i;kuUvacfB%SeIybtfkE~@+L3u^ywkzh9oPLSY(5*#eS z?h@=L!G|RHs04ekz9;s=-uN&+qS~v_homn)hL7VD==8t6EBZ_DISCFRe+r+*f%ptQ ztJhanOiEy1A@d{ct2F#9ULhOgr=d_%SO-f)r;I1=B&QTVp% z_FM2B34S2KG34*!dpH)y;rpsRw;z&xgdgK4I37P$?e+akf^#J}QG!mTOK_3|KWFd- zeu3_HDf-^{F;w+qvbMQyi{hh1ePZC@%!Fdu~ zBEg@TosSD}Av*mp!NsaQpG!%8!C&z={2iC6cISUcaIFMakgvo)aTTt{HLCkgJGhQy zJ#N5_xCu9_?w?r)w@RqC1pktdSAyFlcu0cVCHRj7cd&9N?!v!uH||mG71>L&5BKB0 zcmNNo_E{X3U`~QZ$p6EmcnmX0|MUNmkzk&rfJH1}*)il%-6My55=u+RFQJHp46}j( z45HKj5(=yCT^EXy#4wHtOkzrP`zKUMLMKY-IP%I^1&_xQu&Qd;S0ky8HLxb0gtb)n zl@h8Wq01$7vVSX?QxGq1tC%pX4k&8yjFlY^2(i=Sb)x37t!R z9yY=A@dCV1b-zA_nvz_Mm*Ay%88%ZRoq99ALP9r7sJVn%NQnLqT}6I1UW3=-b*eq{ zy#Ei;|DhY1y$M@lE7k72wS;b$5d9yzmDx7f7Te)%sy%Xh68b-MC*uxy7v8P99T>Vt z!g}OR5?U*v&Jub@LibAOISJh-p+_Zjzl0u=P!~R{D?WhT@ImbEoG$%uir#oVNP1!~ ztT;dPf9QYuKh#G;{Uy|wHIL!r_yjurFQI;_y_W`%JcUo=K&1aePXF6`>3IpgDWO3U z8Y-a|So0#jgfHV@9HP1{6ncf^ReTL!$6@I7f5o-n!{HJd!C)l5g`@Co9Ie`GH%3A~ zNa$S&O_I=i68cy|V_7o}o&J~52T1>ioc^!)cPu6J3Hf;Z6er+kI8k-`C-k|5zLn4y znG@h3H0 z(OMz;KQy0w0WQQvxLCD!;8F?wA)#N$f5qSMcU*?cRl9TgKeUqkPh5qoagAzszD~m0 zSL-E|lh6hU{Uf1`651}IO|0CETW~A>h1*p7SUX5|;x7CfcjF$_KGt3d9hT5O^8NTP z9>9ZmNVV&ako<>7@fc<>tJ?FEm$3GELBjg_Dl%KbvSZkTUi7K%@x%0gSjYny#1Mv6 z_s$7NC0t3uG4ePjFo`Klt9Cv8AFfPZ1&_xQu&V0562sLbe368!OZZF)*N|{s3D;!J zNmvVOV;wwMb?^Kz{U1J+ydLV5KHt;v4AuQRN8$PsK1af5k)MqXupu_W#;W_SAWZ*< z&m(Vw=i>!q0>m}S;!t{UmMv|MbCAPwwRrhWT)Bj=mKir1dw%87Db5`3@6V{t_M{;QO} z{z$^_v1Tle!}sw6{7|)5@MDrsa6EpB6Yw+DKFTBseuGq zBb7*w!^&6%kH-^K_v}SZl*ok=sV0##BvM@>CrhLTYii<2SPN@o9o6mUNL`Xs@Kmga zdK>8TJzcera;8KYOQb&eS$H-!z=qgJbNDLZ-8gI@HZUv*bT^_SFQ5)F_CF@#}^U{rPAu}A6uXo5V6DNJJ} z)or9`Wr?0E(JB%>MWV+`w5CK)U`Hp{jtho>`!lrn! z>R#C>{U4?Oqs^GT9IwFUsy*{pN%RJZ(*MzGn7tOS!xnhGYS+{MQTjjHlG#>xGqzUk z9&VNB9};aN(cuzpE73j@Z70$DC3>4g@0RH8tZ$EZ;GNh3?^5j<=ty!8cEZkhFFO72 zzTTr1xSBmldSP#T7#~5W|LwExE73s`eN3WHN%V1MpTH-v zANI!qs{O2|Ne1FG_$)q$&#UfFjiN6|^c9J|Nd6MOjDv9q4pr?rd6ncfd>x138~CPb zSB{YAw-OyG(T^qimPFr^=qT2_jid1$9E0zw_O&yXWE{SaAK-`hk!m016N!E<(edP; z;spE*C*ma4zOud``4T7NSNJu4quRS@ibUs0bgD#WN^}~t)A2j}9)G|Ysy+TJlG!*1 zf5f@?lj{Ddar9@2E|utf@&&jM7vW-DqPjmXivB|KEB=PR<1$>X+9R)!SS5+Bl;~lJ z{wdMz5?v+HjS^kW$~Cwa*Wr5HpxVdUM6wyT;8y$#x2f)X>F5rL?v?0H@?H2h?#4a% zk81DCeI)zwUp#;Z@sMg?Q%5A`m*{^IElBhzv&S%lSV*--B%w@CbKiQOu(pC#5tVy{T7t;BjrtewQ}X7Ozj zyPZLMyaVsV4tSSpuSG|Rb&=RTb^IKbtQQKyWxY_9UoHdwd*Od zrzF-(Vvk9zH?t2T{U3AsUt-Ste~I-~?Rj{dV8#$CG@D6Yw*fh?7*i|1Tsq zmGDc6O=j>FevMB5OYB>mqS`Y*O=7boHl6%C{2qV688}n5ueI4EbMQx;i$CE!)!qs7 zC9XxZKw>*2woqcLB(_Lmze{W}E0^F>`~`o--&A|;mXR#SKX3)E#6MN{_XJ|ACALXo zYslB)I$Vz%aHDFU^=6VSxE24xZMa>vD|brlKZ)&<*nWxq&FpU6ga6=O+^5>l`j_MY z9>ha<7>}rSzoQT!1I@Um^|J`R1uO;z% z60c2O2T#VjcnUiG@7{Is(@0LoGw@8Tk7ucNWdn(SA@PP1?G zB8i{N`tz^}(*N-b7+3@met=emMkHou5yc2n6ych37r~f71MYTJBfTSBfh~4oa?4i1U_b}c|;;%`(x5NiZ z{9%bdA@N68^C2d|I{pc}C(dN&H#z=kR$PgfF1e|L*Th z#$P5Gj6-lJzJjl+_QxlZ?i9a16eS@2U3q z<0L*_;_s7xfFI&V_%VK>+ABr>$0v|~h7)lTey-Xhe<|^O5}z#b-z5H(#OFx-Yl(j+ z@o!l9El$CyI1Q((_WXZO@&nGmnK%n)tM;*el=wo4&n5o}=i$#d9~Y?hSu7%1j7xAS z{(`@%?)#1S?-Ji6@nsTUEphrk{s(JT;7a@xSE-R6`xvjmwYUz~;|AQQx?iv3n+=Kt%Ue&JLFNwIs|CM-2;s+#tOycx^{17V-;}QH1 zkE-t1yLg5qi#g0=0gI~Le_0X%NznfZuQQwQp&t#3>R!`CkR*g*j9?UFs(a=W2}#tH zL{bvROM?DS(Eo`_tUL}YV-@GKD*i+-aRNzIJQ1s5b*!PfJ5QV>iBly}i=6&X)M0!w z*2Pm)_x(?z9?5BVI-Y@NVtv(Z%f#7|(#n`ye$@4e}U%(gfCDr{Z zkQgk9wA;DpEpT{;|LsyZ{aA_t{g3i_a*TT`51f`-@~yu zPIbPc+0j!HACP>AAK}ON3659oktaxEmn1%u#3D&dl*IRvm?VjBB=I>bzrZhXGJb_$ ztL}S)#J40G+-MzN<<6Ac?t>m_a@hXW?v|gFmXaH+~|Shd<+dT!0Hzd*sEE zSR;ugl2|T@rOf_+5Tw9W(Bw0t2_ek<&NnRnz zx{^FclBYHj4CpLF`)o`JKNJsTTfLu`bNRr`qNO0uaW&m(Vw=i>!P z|0n5x{@-wtyqNqFyc93PX6W?4d;ce!OR}{juaxBVlDvx9tMMAV7M=c=WDC{3_mVe| z+=w?}OKgQVt9IwNNV2^oZzXSoZLuBRhED(6b8-jCo!9~I!n?7fYLDDWl21sovm|>< z@?J@HljMD@xgWb=SA0NqnxmtXLbNSg-_!^r2i}4fh3l1fjmljM5VY`~4U2{+>w)jrB!lGJ+NM!p?);7;77 zy6-fSyGi!oKe!k7;eOQ~^MEAFk~}EMj3f^+dl--4e|Qv+srDYolFb6R%uB6VC)G6erVm&+! zPe-T!-D{DmPjVKXjSa9NI{k0=aE_#|kkq-7YAUJom~DdR;{{0nr|AERfA1@GG5IBU zDPD%n@N(52zqzEYk<^vsSK-yF`#Wi=Ye}v{r~f5&J>Gyfs`fZ7CDlVxtt54~q;8hf zZIWuunp^NzY=dpFooYYV>3>PJNBTc?C*uxymugpblvEc<-9z39JLA20AKtIJuh~>r zk_WIGK8W4%A=Mtar=*^eR4++ACaK=cK8%mxqu2-gs_s|M)Z-*i;FH)7`{MxB-XTv* z>IF#+B!32_ zs{1}CEs`E2>42oKmUK|k^&}mV^a+vDMJan3Y3tD87QP;%ln=^W^j}k~i>89F8M!q+0PIWf#frsh?DSh{6e+IpDgKVlKzVP zYy1Yk#VI&dwbyGp$#?iY{(v)ZrW$EkmGNvzZLN&hD4A0@p|(sRjw!g=^J&c_9+ z?T1Aqi*X4q#b5AO)$adyNw1RhGVm%xaP~xE9ypdfcGe`+1Y3_epxQ zq<2bs3$t7CFWiRPaffR6vx|iOPw!^D2misns=e#>OZq=a)BouM%pSx;co>hU_Q*#` z=>K$vaTar!SMAE8)Tu1#lAJh9(q*Z#Rw{YqxV=)zE0qpPC7)D!QY!hSQgf+fq*7g} zBvPreR0>F?xKs){N2?UVFh($nG1WbjmFWLU|BtEr0K0l@;5bhDp+a@`-se1LJXWP? zlr$9DNktkYkp@XgMJXyF6^YC=G(?geA|oMWW~35|L^kjJ|MtJH>%Fe``dt6#ci-ne z|8;)nJR`5u|MJws`shKg(LIwMzdSK{oc@<5h}tgJk|2>`QPJwNRy|CB`jmb=$;?Xu_R9a%X2)QfG1)Dqn+7Eo)+?)MBW&i zU{h>{&5d@?PbP8tU!GHu{`a(GyOq(-Y%R|KdCrihn>=mgIZK|l%xQ=1@l5Q19gXg9 zoIPigIQ=hAC+v(}u&dENOLuwt$kT(oC!UMF@I35owDbFtIQ=ir1xWvUE@ZpE(Vm%s z@(d*$B+o@`T#SS95*&h;8ttPllV_AXmy-{}D{wfDz>!9~KUb1mg`@Fm9AmU|#>%r! zo^kTbm*-k}rpq&4p2_mi{~r3^Gm%G4!t2rLe|slSA-NH!;xxPoZ#KHGSyNyeH2y z@=)oXXXSa0InUz@_#&>ymyGt>y&}(>@@yb~6<@=R_&UB}wDakI&nEJ>aWlSy?;7pQ zE%JOV&-?OxD$fUueu!J~Bm5XYG1}|p^uIix<2L*Pzr?SM_WW#@=R0}mf6op^cj7Mm z7Iz!%{O?Je{+DMD?!_PRC!?MDv%JIQ*)Q*j^86yNN1k8hJxrbh^878&Z_NK4|G+=d z>3@6d|B(EP|2cXO!9%fz(S0s&O?m6cEAqqf2s{#NVQr(G@ASXCN8>SA7wchtqn+uM zHzTi4-l)8OMgthc5QZ^gbnjAcj3kZ;OkxVtM!SAi-m<(o@;nx>3X51Wx}U?nPXEhW zjmP3~cs!n9wENIN-Y)Vsl=pOb8_C;3-jkTq7@J^IY=+H^?q33X>3{DjJ|y(N_k6Z5z(*Itk|K**H^uKow z+jEWfNbe-M3+LnAxB%}lx}Su-3*}uT?|tO=qtpNLK8O$D!$y0IkB}_JCAbuq;iE>o z@(Ou3$-7eC=jB}`?^=1C{+D+((*Iui-@At7NgjI`+fU&-d>Ws@XYo0sJ<=ECeO2BU z$=9RP|MI?!uiyrw-K*C~Hsb5}2EK`J8STn%%lo;!o8|pb-gg*v`d{Ana0|YV9~j-A z{Cl^Oe1sq4C-^CTX0+>XlXr)_Uyy%^U*Xrd9ltT!GryB$7k-Po@jLw9Xjk4N-}mzF zmG5$Sf0XYyd4H0xuDtu?GauAV|NkNHejfD;{)z|iH~igbpZ8CazwmGT2mi(YjPCRL z4wdgn`D!@1kL&2G$+qxtJi=(_*CMHnb?_)W8lC>PGwaEhl&`*gA^ALvdeMh|3}Db` z9~CBvU=(8*$Ar;6Mqf%kv(IVr3}!Khc`O+1%0-eAma&4>c&yRRJYK$YBtlJUabvpKGFgH_A7O{Cd0rC*u^O-T$d1)9@y|8K>h6qdhaX z$ajx?v*epA->r<&|GwMVo{e|l9HV{IJd!){E}V~d;{v1GguZ*_dsx1Ov@@5>_m+Gs!AwH;s1XP4ayv-`nzi zAm3(2>3<*n?|YAA3%+l(SN21at@sgsjGy4AM!Wv!@_i%UHgfvkNB{f2BKaD(8{O~6 zeLF~Y;x7CacjI?PyYdh650!6^{MGX9mH%k@ew6QD`F@h`H~IE4|7YBfzu>QUz-Z6a z?<9ZVpZFL4jsF}gG=svHT}6=R|CP4Y3iPWOToe@HZi8ip{V&w!o8( z_E}Dqzm5E-k+;NFcsjPmGmLis+mf`y_IM_Cz>Y?{^4aqDmH!<1d&tk{e}8A@biuCJ z4Z9odqn!Si|6J^a=V5Q`V|0HL=RaTmLGoWf-VZOt{x|>!8r^pFJN+;J#W)x*!6A65 z(ayX~{$=uCF8>Vqhsi%){ww4kE&p(4j=+&P3a`YgjP7gAe>KS%yavbOIK0;AHkJQ6 z`KQP~fqWuP!t3z{oNToB+l?esaT?x)H{*1pJ&Kv~FOdHh`RB+#i_u&0HoP5Y;~hqO z{^yd+!#nXVoR4=K?VWIs{13^0FZn{e5AVkZ@Ij;9^M^?m;Ul;hm*7&PJtvRKzfu0> z@~@MBh5W1KU&)+R_?R>E;9p7kA18SN*Wi=57N0WOHJ_G$z5LIRKa0=d^Y{Y3Xtd|y zC6br%72JTY;%i2GAHFXCyM%AZ|0Wx6;U;_=>3{z_X8Yj!gzw3}g^l;|1N;!T;zvfi zKc6UQPROSUye$7`3UrhIa|NREZ9lyaHxYKCQ$+slC z@jLt;e=ypk+bjRC^8ZNw6Yj&GaXS8^tj~?_I-7_5UlLRn` zAq->0XjhIY&`5!}0@Vs66v!)(WKIgxn87UOjP6kf3M5rn#1fXVVmx@He0i(_$FXrd zo`5G}18it?&wSt{1z+k(1g*Z*bJLv3v~M5KI&AG)37DB!qc&}(avn6z*!2k zC2xoA@l5Q19gX%%IiLR(I0rjnXY7JqjrM$YS73$$JruZHfu0Ib>49?<=*7(Qus8O> zzUX}Zx6jp2fr}Nmki0(*z=1djo&L91VKB)hI0P@np?I0m-W9_X7_Yz;3XE1@IHMzQ zB#y!>(dmEtsH;iF;59fF$Dz~zcII^oOi^G0`9z$A*W(R1*;u>#a<*^8sW=U9!kclr z(XKpGfrk{hMS%qh%u-;k0=F{fHoP5Y;~hB1XdgR| zeRw}UfDanozhe(PtiTfrEK*>(0*^4d7?LGz|MnI45u+dDC-^CThMybl zS^7eOy$XD(z%B*8V)Sd=j^7~tAJ}QOYaRS+@W8j^yYV~x9-aPIV2{zBfgcq(pukV$ z`|xMnk52z9@T<|D+uulj$3O5-{0sj!+GG4z!GHq)DR_i46g))1L)oZ-hha?=9&W6) z)_Dafc%*`L6|BW}ZLEVw;n8@E(fw2$tVdEGJ?KRr`i<`K27?L~6bvbtR4~kF1fv+k zI3|ql_rk#xNg6Yl#T@31?)eFtoj*>&B6$hRSix#M*63c}ApIXaf&4^lfDN&c(Y>a@ z#tIHou!(}56l|(sOC~f^usIto@MJs%PerHy?XkB~u)Tt(lefk*unp4x!FFcb{kO5f zGs!z(M?4G9MyLPX?+1gO73`;A7X^DM*p<<4*d2RdPdwLXkNrH7-q;8G;`w-i(H{GS z3JzAVKluP0h=cGVyx3@0zJz25UW!BUGQ8YqXI`P;EeZ}-aDsv(6da@ANal>fEAc8E zjaM7p?*)R_kc`D~c<}BW&-Qgjdsj?UaH@in$gjs6a57H88;$Pww!vv6H{s1V9cSQ7 zquY(aSqk2(;H?VIQ}8xMZ^zkq2hPE{MtjusfAB8y`FJ-jz;7-GXBd4JpTp;o{tr6+Z(jv3DfqgAFEjcIZopUZHQZ>lNAw2C zoA?%PLZ|-~blxo7#tXiy;Fk)%r{Kp5ZejF&`~W}1t?2Z>UH=o3Pw_MS9Jk>YM!Wu3 z3Vy5L*W}yr8{C0AahK7a;oT(P;rI9h?!mpr+T91U{gXnba`!3thk`$o?8jg5S3H2f zq0|3%|Nm6zPzC=Y{~Q0ofAK%Z&>=>5uR=9Q4#S!#JRFZOx>qVxOQDcLwH2zbP#s2( z!lTjYe}(Fz)Bo=GH6ag)7k%i*00xb2tAxS|r4)*gM=^$ROkmRJzKTQie<(wq#T@3b zV06z(sHo6jg-QywSE#H|GleP&HBhLUnaARBNdJfE|B%!F?q{k{Lq;3nN!S>hU{j;p zLZRjgwNj`B`N?<+o{FcT^JZbs&*>zs@eFK(ZLyuv9`Bh7^-`#VLR}Q<$mm&kHlBl> zu(Q!#->xLxusim^o_Ma&&OA?{3l-{3-Us{Q`FH{LGur*3|3d@F2jU>S2ro9;l`m0f zszO5)8l%vq3XM=`D042u%W)W9fy0gV+KnU`g;(NLI2x}u+L_lVG*O|kZlM!Wyh6q={dO$yzr5d9yT&YT%I6K}y;M*ArGKXg0!Y`g>K z;9R5oUn39Qsn9}&=>O1sM(@T2cn{udv@6s9A^Jb`0HY7$L-_Fj&3r`Rq(X}o+NIDE zg*Ga*RH1bWEmLTpkRLeG#ti_hWn z_yQj6|AY7BOC&GjE4Tq)#n+6se_mJUBZb~j=v{^0Wb`fEgm2?!e8*@X^&ZI=o+ z4{@u}{ZtwHSfMW!`h@&b{0u+GZTN-J-alWFe2v@j8{C0AjrQz)tMCyD?N;b_g}zg0 zpF-a==Lg(_d+|s7$>_ezgnlO3kH6rrcmRJh+B5%$!iOmIC;4CaH~xeF;(tc>E(#y& zB;gu(7}iAL;YRoKfA~m+>k-ycxHcPg@F+YQkHNY|_o&156%HxvA@`yW{TRTY(cS-W zm?VNxjA0xTM!V-Jg}W%6R=AnM8HLMC$SRy;Baa0%wQP>Dh$W+4p`vgDg{#Sr#pCdJ zJOK~(|6H~kVk0~W8)Fl6`roeHT;bCRTPS=o8>ir@cp5tWuW&1)Jy)$2?x64)fBT3|?b&)?YJK;c+C_;&{9cC*VY*+YjOE6~0N~8^|Z)6uc3q;xwbZ zzVv^1I{6HoiMQY^qn&x1;=L5UUD4qR&sM}d%N>fC7sVWfwJIe3| zh2K*6Rr1$xBfgGr;G0H!hioEw8#m)S_%1sAZ|}PI75-V_4;0?6@P`V2rtntge1sq4 zC-|w+z6w4k*@j=>m-rQaZM65&Hwu5R@DB2wxC_6<-T0l+zUqG<*@JuWNBjx*8SUBI zuSgAre^K}^g@0xA0RD!*;~)5^(XRhD$v^ln{^uAu1P?X3=P+`ZBDEE%NiIAbkH90b zmeIXNkvb$t;n8>u*2Q{8yRt`-E{b>+X`qNtk*p$qMPiBsm>I+nhB1Osqk9yQI7tGN zn8Gw>jP|*5ic}QIlNYcGi&(<4(Y;=gYLa8|I6NLt!2j$2NJB+VSEP|5Efk^uBaNBU z1e;@kw*7b5TXAg^nYYDqgUe?yvCXN z)WLH;PLb;sxt4r9UWXHKB2F^8uki@|ADK)(1#iTuIL&DH{ANXKC^B7lGufUbK3LiuIKjQSi-SahyJgdl)jIPC} za2-C4PXF8a&yhTjFW`%~9-aQTd;W?d+ZEZM$oq=Cs>miqUSrNid>!fkh|~Xyyk)fa z`P(F$@f~~@o&Hy3i_xCR4;1-Kkq^nY;z#%~euDJ>*$2MUy<*P_ECFC_TrED6Yj&GjdtcQiu|R>ujB{tH~by{z(0-l zocvAl5B`h)IYtk`Lyhh^i5{kC3q@-x8dFq?9?gWq6+MEDBe53N#yWVE(XMceqJBl| zlGnrf=s_>~jP9{S10+EVVHhJw|3B7*?YN@ViY64zE1D!pVH%zOS2T+`qkHVp0!bAX zv4mx;810@Mt7s!dk0U=GPrwtg0X8(c-4Z>Cq%j`c!=`LE!{$c!evY23Xct9KQItxL zo~r0+%xQ_O@N{gAPXF8eZ>wkrMca|L$1{y?Uqw5T(Em~TKY9*HC+uvrN7q%+{)%=} zw6~(&8SQ~R@m%bM=Navz`jGU+^YH@ghZh>{ehyG{h@u0@>HjGGAEp1JgUK)XzxkJv z48_Zk{*Ml0`wF8ydm|JZtmsHZe^PXmqK_$hrJ}PHy-Lx^ijG!vyrNh0s4;jAj>U24 z^uN77uOpd&6LAt=k2e_Y^G;E8hNAR;bSk6M@Fu(&ryK3cGf8g2S$HenhPNBtckSpM ziawy|97Pu>I+xLTcqiV4^YLz@UH=}EdvPJ&hxZ%Z-&RK-RCKAL50O8Ni|`R#j7yB} ze^(^BjO0;Vjw^5_t}@zZU#;l7iaxIBONu_B=rfA0Va}7d7N5d(__Wb|zm7gj@*F;o zFW`%~-e{lYWkugm^cC_A_$t1J8}W6c`~STgeUs!Z+=OrAW_-t3>)`KRqwgvDm7-e| z{Y26C8T|l1#I5)der&Y+^C`(^_&ILFFYrsFo%yw*yA|C|{tfQHowy6XHP#+^@VLGs z`5u43J-8QtG}`-cpJF9Ne^#uvqWcxAq3AD){-x-z%sha<;qUkd{%N$Y;=f7$!GG~T z$JilwsPSN*@a18O)nr3>I39sVVlAV4{$q6%izs%KVqV3LX7m`Wi}jHHk2(GCo~xMC z|BCrBfI$pl*y#QSBo+rDAtkDv+!&@2RmVBqg}r%37=$Q^na`eNl!f2XxBea zu?rRJP2LCl;`w+1_A|QwZJ$_wk^wjn2jN9{vC*!4iDF+WHbk+-ie0MMO^OXwY^-9J zDK<*6%b7n6ufX9r0!JF{v0O=V6^_QMaSUE#biZ?njZ^G;#jYhEkJsS@oQRW*b`NhL znT%8LMx2V%jCSVDiruBybj5C0YzCt<@fMtgx1!Vk_EED*?!Y-X7w6%f#@cTmJi7Uc z-LII_|B5ZZd+=Udi1!)o$`6n{h!5ezxCkFH+OxMrvGs~ARcxJN%M@F!*rUu@jw^5_ zuENKR_OXwXJb`QQNnDFh8SPA`{}p=%pT+0!d3*t1G}`$uDfX^nFDv$jVy`f|0bj+} za3ebXZ;zV(kG(~{3E#%e_>R&2d=h(4v5ytoLjFE}fFI&k{K)9ON5?)P`4m6H&v6@m zVYILGuM`g}_O)VvDz;rQDn0g%Vmp|*6L;aaxEr1RxBK>kVy4*lknhDG@h9AeKO5~) z|3dOB9>Cx5cXayS?%Q9A*H-Lr#Z9aK!|1>GpJV(GboyWM8b){hcuf-F;dlfdiBA99 znROKRD1H?A(Rd8j#d=uZ=)NA~UJ@VrF@Qk~8QpUdk0{o!*gePHRY=TXV?wOA_ zSNu%HTPS|I;wLkD3Z9CmVM}afwCmIV@iWNVU|Vd5?TvQ*4vKeCoc@oW#pv014tB!M zM)!9&ar!^rjl4Vdz@B)n(XM=+l4hTKE74K$K8kNqyszSSD}KJ>*D8L2;+HGlPw|Tt zzmUiFNBTcb|HlWBT*R6OpK&nBB{&56{2w36_GL!gVqZ4rwUXS#De6rcLSL8h$_?+U;v+)AHi0knseA#ICXM^HzDgG+?Yq$|#$2agzqwSVWByZzp zd2m9jrMtc?dDRHq97n1kK0XPr` zq0|5N+zuwW1c%_II28Y{{}aQM7_YU0! ztOdy|#lkj@H0Vf;np5I6^6{q1%cr#8n+LdQ2@u(8FC~=Pxvy_;t#I4M^ z4R6QUcn3QDZ_npEk~{G(oR4?o0;7GE-K)gIN-QM55AVkZ@IidYXjfiD@(3=*CAbuq z8Qs4YPApgAStV8|u||oNjIP4Ra5X-TPZ;g`^nYS4`BS(KpT=j5_WV4j#4AeB|A`kE zeG%8=OZc+UuDpTdReTLM;_LW^(XRZKl692Wq{I(OysgCNN^Dl*LnYo}=DYYFZo&8Q z1EbrziLE3b;m7z1eu|$N?fKuP#119CApa7-!mn{VI{j~7^*c#+;kUROzr*j1_9*r! z@wXCtl`zFl|0jN8&OZDZ_v0@{yXOZ;e#77K5BwAVGTJ-&A0=xlLH{TIb4HVg;GtLp z4>P()niR?5cmy7awXn9)?epYON|u#8TFID_$0+GnlKxNDV`hEypcj2c_a`dJ07(!- z7{&-jjqdqL#+A$|N&hF4jHWP+8O$2p`zM(vDWG{ebG$_?8QpV|tSH%B$!aAVDoOt* z>Hj4CpFDy2Ct?HVQ3wAOWU>*-N!S>hU{h>nJa}gKvW1c-vqAqS>Hp+uBrUO((S2u0 zwpOZvl4mHnM#(lxj#sj+k{2l1PRUM8Zm;B-Y;?em$mjp$*=(O_hbeiXl7p4(Pci@p;vjVTU&)J&_H185G6XNh zq3HC#l9wCp%qx@}t>kd>5jYY@;gxum(eC-xBxCRz9E;=dTBE&-u2XWZk`t7i%Fsk5 zC$Vuo-hh*F3f^e6&oWKPSxVkSelt$T88{PfF}gopPu@y$8{Uqy@eZ70v@6e3a*>jE zD!EX}yBM91cjE%Q2k$l7vveQH{rCVrh!5ezM!WtaO0H0HG5Hc)ip%g(TyC^?_)3yh z_!zFn$MFfHUHM5Re^GL+k{>Afl#;J1xlYL!lzf_*&)~E896oQf`~M=zdVC3A##eBI z(LT#-O1`b+M)KG34SW;d!c9iI@@A5E@LhZlx8VCmyYh!h?oe{8lG~L0h|!Pn6Z{lE z!_STO{Luf&FUh~cuW>tmW3+p+Q^`F_?jrvdcjI^XJ^o;HKg%WelKhB2;XeEs_Z#h= z|EiQv$pcDB$={UxSIOU*^9TNkf8pQwkI_Ds{!bm^7;J(W6NsdE|ah38>!?1O!c?){v)fTSN@i2ZQ@ z4m7&|Rw8wgQkN;^^uJPr@e&+@m*P;PUHNj7VR!`&#}PQvXlGuj)C{GrQffRyqm`on zQ)Bq@8XSw`@LHoi>g$x6qSOTPi8u+b#~X06(av}JU#Y1$4R6Amak|l-`I$;BQ0f+? z<|s9b(OdC0yd7tw)BpBSb4ljmop=|{$GeSoPwr9bA*G!DS85^Nhxg+H_@L3Q?DW4< zi|`R#j7xB-(caaMD)oU<%az)o)C#4ZRB9!2R^el~8Xrfe|CL%}v{z)UQqL>(6!|)Q z8lS;u@j0X2w--oW#P#?RzKpLJ53bCYuPXJLQg17@kuP7zH}Fk-3!VPA>u)A`2j9i_ za0~ul|EE4w>Q|+e@&EbL~;`H`9Ix+ z?WWkw=(cydh0-0AK3VD3N}s~$sdyT;#8!B^(VoLINZMdqY=`afOryOz9hL5?wA24e zpN;f?x)a--v5T>G_g-vw!|vDvozMSD)BkB_j@|R#N?)UNAEhr~Z zS9%7{#9MF{-fDEeM^4{PG8^x}IXD-c{o>hn z=|xK4M}9v(fCumAhuD7D=ziWvKSHt?m*7%dhL0NU6epq zTw}E7Z7s=DNdKql|1|xde%6_}=HNMeUg-@=zrf5FaXr3-FXJmldp2Grc?~z>>-Yw~ zX|#L3N$DSyep~6!mENrMhf2T0oOkg(+=B1p2S)oWTS-1b`aezor|JLnXUt47x=raF zN`Jxjm-rQajoa}XW3Bi4v%M2{;kUROzr*j1_8RR``fsK8Ds7tZM@E0befTr($6t*0 zd>$bA4Sz@aKTZFqo&LAS_>VF*mHwAG|2bw3!9%eI9%gj=Gb572@d!K;Yhi7pd*(Ao zDKlA_qm^l+%rVLol&PysLYaEXm}0Nbd=Gljhkgtg-B))eL=wgbMlptQ3{c(WlkVJ5gTAbY=kEn?aU_1 zoT^My@@Ci^Tj0rfiqZY=17uDkX^E}ybZm`h812lq%3P#OJ7sz*(_WcQ%ACoZ4%iXT zLi#`B^uPP6%ycI2f?cs2cE=vZS_l6+E_1Fj7bw$<{5ewj8Bt>c4hiMGl6^}PQvT)2BY2cDat&j%#F%Ctjttp<|;EynOVx*#LSyI?E0uXtnN{SE;c9#wpTIRndll&a%v0p+@M(MopEbIl zwKC5u^Pw^?C_|-ZUQ}j1b6&!i@fF;FPXF7U*{IBBWnL$L1K-5Aa1*|5wAcC_l6Ubv z+=B1p2S&T{R%Lc7^N})NDDyF+pWvtX8Ger2jP|I%B>4)z#_jkG?l9W*cPX=18Tvo7 zo6+y^d;9_S80~!eKl2m$KKvQ?<1a>gmmW~|2W5U!_Ht!@SM~&D{!q5QGJh&tOPRlv zt)a}{JnA2$|1qeac26cMJ5||9 zHq9%Wgtx8VEuf%B**4&H}bNj}1l z@e}+MKQr3(w<)_r*)Pby#INvc+>YNE?KRy=vJ1b(-S{1TZ?rS_C^uBuy~-V{?2pPF zqwG)0{-^9dWlgdF%>4cM3;v1+@HeBq|NkKQ6aT`$@gMxx=+4X?qTCV69qQz{8h9Ai zMB(8^cMo$%lGMW5SO6|6S8->2t}Q|@f#j#utfPl!8twdxNa+9EV74#8A$Y0Lp0~@CTc+IQ%FR%2m~!KlyF$6q$_;1c2pox{ z@JhVOXph?If91yDH8>W>;k8Ehzp<0MPPr+{O(36$lkj@H0Vf;n%1-|)Hx;MhO?Wd- zH`;q_rg96EyG6M<%FSZ*R=f>w$Juy?(fvG}n@che@5H-sKHhC~J3n`iat|qYFZn{e z5AVkZ@Ij;9^M^?m;Ul;hm*7&PeO*7Q+?&cRSMFKmRw%bdxs}XWg^%HCd>o%J+WY58 zlC}60uEVGC8Kd2w=ahRzx#!7Wz!z~nzJxCu?ftWXP@~!w0evF^sr$#&fbCPZN1%8QN;nzkx^BWc3R&Iy# zA1b#~`3scWrM&5@Z{y#1lPDfU0f|3dmdNB`&kCHc?j?rr{1C&|~q!;t>Zi|xaW?mpy?R6eMDE#>Pe zUz^c7NdM=Z{#X7OtZQ`lCtsh$gI@F@{htq*ZTFL8KBRn7`7omqj3WJ?cluxXgwefk z^C^-vW-yENe?D)v?J=4MwpG5Ud=uqM%AcTonVA)I`d|5D@i;u*=-%P^6G<9iLu`cf zf4;HVw$IX3`O}nd#%ObFf%Jdg>3`)sY}=LFDc@81_R4os z{!Hd{z>etjzw&3}IY#@a&Lmy1D|W-~*u!{mCSRVbd@nZ6!`|2j`{MaVyK+C}=P7@o z@?(_mul#W32Pi*8`GL$Fgcsq(NdM=Z{w8b8xQF-v4(hzgGFXlwYj;eC6*~{%+ z-Tx=J`~xHp;zRf_E<&gO-FMsk66IGZzm$9#K8nk61+FyOYyB9>YJ41@z%}@!(XRZI z@~X z?mKdx{?ETl{vK|@_wfUx-G{9zm{-`;`Bl{0H2Fd+|s7zy8nvOtK$;!C&zJ{$Ky+|4`vj z!atS&i;chWAN&{pb1WQUboZxFLxox@97bLfg@@x2c%;$&_i=^VBz5p8JQ|O|x<>c) zSg5bU2`YG0NUPvgA)RH3B`4OD2RLPJIy;YrvSn_yF;eH8s)XhD85o`R?1 zX-0eITdB}q1^U0xn$a_`4YtL0M)#)>1^U0xfxIK0g=gbAM)z(kbXH-O3SCqfu0mH8 z`m4}Qh2AQ3XJ!xViRU8yUvT>0p8r1Neery}0Q=#EM*Ca?R2ZVdK=MI&5nhagk^bK? zjO|NtC|-t_h6oQby>?LB#`3M*B(O@;eZxLt+2RG7`2 zJ8%xp#d&zA(S4UG%qO`U7vMd3FD^9N{l8y@#VXMMg$EgZ2p`5p_=wS7(Z=LuYcPvTmmJ?eEN^nc+Qwx7l4@OfkH%Qv(Aq6)96 zK>ru$|H8}UuiyrJ)oAx;BMJRqc!TXX@h#kBti5Rq+nZIjT7`F1)m(*lRb|TUJr%aA zutkMWnee^}AF%NuZpDxAWBkN;@Qm^0XDWQo#y0!{>HmV$|0;ZKbbn`8FrWYTtFS|b zA5_@M=q~&gcjI^Xz0qEmJtTYaM|ApMg?;GszdgghsPLBxzmgxo-|%<*1OGJISJ2-i z|KPv)pJSEN|EhA{EZmi=4pUWBRW((06hl(g;cOg%M`A6kjdhG}&sQC-Dxa#3A+L+| zus(XwYji*DRQX8)7{m~UF=DiP6;oA3RdH42RFz;fiBA8kDvcS;8r|Bc5e+@1m-6NIGF>?1Ejfo6)Y^Lsf%R z)l*gHtLj`vd*ON58~b2iqkYr`B>nJ0?2iL*pwZ5}NL81q>SFT2cnJ={OL3^tUa!kZ zhT#=B97o_tqh0w*Rn1n_RjQh-s?n+%ud1t=GX}50u{aK|HM;LpRo9VBz==2sug4pV z_F1N=YKE$AB%g}Y@Fu(&ryK43nIyO1EW8zO!`qE^AMQ}qgQ}XNss*Z=%ji736Ys+L zc(>907u;3!f7QL@3-La@A0IHpeTBa)cziJVqkKkflf=i9|o}vG%mXoi*mADEY zGumT(Tt)Lrd_q0UWGj*d+|s73HRa8 zM!WJaDjub(UsXk=R~=B*Z_N1}|G+=-FZ|nRAN#M0Qq_M>UOWU3#Ts}R)-<|ZS3I2L z2s{#NVQs8qv@?%ZF{a`%Dw;p+tjlOUtdAaa`d>w#(LL%S{a*}{hcJv0j2hifM8&v@ zITaJ+NlalHGnh5HM_Q!+iv{v3EMf`EM!OHyDh^fgSQXDw@i-MvQSo>c8>@H%Gf%_@ z*bwReqSOEGXTo9=@}}4fn_~++*=V2ZR2AE(cp7<2Y=x&|YjpbG&TmW74%_3I*a15l z?eU(iVqX={QL%@Lofz$mU9c-U{jXwoquaX0o+RgDFFX%>V;`fPdA^E+RJ?$^A6|(4 zaR3f9x-D0{h~#1%jF;dLywvD^Rxe(r;&c@+SMgdEhpBj#idQgaIF7)PI0~;c+Q*J2 zxf;jdH8>W>8SOP1ui|7CuOpv;6LAt=k2e_Y{!byf5vSrbya{hM+A}{x#k*CUsp1_f z(*MO-%()eB!`pGT(O%g(B=moA9@}@~T{z!p*I%IGgDTSh#d{fDi1*?B_<+&Qe~5(s zFD_#H5nPN*jP{%?Q}uN!KB}_W`Q<7-tl|olj#Y7`ihEUDrQ&84A5-x~6<4dcPQ}Mr z;R#%WPvTm9%4qlDX_9A<{x3THuj2Fgg3-=gui{1(Um|}Qo&HyG1HOu{8SVVnN!~#E zzv%S8ikr~se>?LX6~9pNT@^o4@jXVj;QROieu!I*w#Pmu`2;^jr~g&_9Jd+m75q}g zT`GP>{xxpLZ*T|hG}`_7mSi`6hfe>i_yaoq@4kZ_`8ZfGiN{k zg1_Pc{LN_h{|}Ns@h^1xUq#+5ivOBzcYjKUsC0x%hdQIB8h9AiMB(8^JO4SE?QazP|D%EGygI@HZ9|K0W;Y%TsFh($nF^n7S`bm`vDy7KNn87UO zFmJT;t4NAi!ZKE{+GuAUr_$vr9k0?kDxILxX)2wlQd5;0FtZ^x!jrHuHZi)rQEEog z99!VYcnY3sbbm5jYN=8?m0FRXj;-+wY=do$wYyJdyFH$X9k3&wg=ZVxPbsBNDqWyb zXO+%XiT*EjWllHjjyO74z8r;D;#D}>XrE<_N)uGNhI}lJ z!)tLoUT3t|n*J|MBEKGQz=LOdirKc;bgD{oRhp*KER}9z&doR-XW&e9`rn>U`oBc~ zmu_ctHr|1AoS6sz1xjh2O82Tn|CjD!bUxmV3-BJJ-E;cCME{rWXY>Jl5FawybFxTf z^BR0arH@ovtkR1rEm7$)rY%)z85@t{a$JEcah1`ovs$HfDm_mA1g^m+aVvz3M@2K>WO0TQ*GNZ5H2BiN>PXDX4(P+=@8zgVyTeu0G{#R+U z@!+-N%Xd|JkBu$(K7N27;#Q;kbBWT&D*dj~Co1h$=~I=yR_Qb5e2&}j3;YtlGTO7W zo#Y$bflmLcv3{cnl`ACGcq|@=$Kwe`d(;h7K27C@DmPWR5u+zzV{Bq{yP{10mz$Hf zz?1P5Jk@B|Y^icPm0OXYj;-+wY=do$_8PS(q5sPr*zSmD;n_y_Q*pVI%EMIdta3k< zyQtht<*v->hTX9T_QZ3I?wwYq|I59}`(R%@A1^T4XSq=2!7BGBAAkdK5MG2A8}0sI zLPGzSFJ*fuUWS(&?aV7wzE0)gDqpQK{a+r*oKbisUWKEL?sq8VF(mYVc`V!G@LC*i zwChh$`9_r|l25|x@dliXQ;c^0RFY{(|CeuOdpgcA+L^bgGF|0asvM>AttxL)`8JhT zsC>K13ss)2@|`N*!K3EjT%2cg-wVq0e|bLn-M9en!F!GNx$aZ>5tZ*Je*hoEhwx!s zWVG`alPtldxC|e~=o+4~_QD|A^#c`~*M6&+v1j-TyCC-l_7J}xE;U29Y%ZRcaeOHyYV~x z9)B>}nR`|KN97+?KA^JG|0?gppK(9_g1;K=nRohM<=^oS{1gAezm2sH{!5?ozp6-O z`oD6BGg>(mYv5s6)9Ah%Rt_gQ0*}O6SR3mY-D^}iT9va@IYyOZRjI2=LX~=|1XZce zOb>d|hkgtg-9D*=NWvJwD8?{ubkBb!sY*eW6nPpmn8h6CjqX{kRFM?1gk`K?wb6YK zsvM`vDXJW=N@G=={#WHhY=8~15uRkU>pT6gN>glx&9McZY_#j2s!AJGP9txLt?+bg zjb|9`%1-~Q(hl3>nb-k48r|1y|u0&r(ALR zUzJ{X9`?pQ*w<*U(FLkpq)I>X3$Z^Az=1f(=>DBR#p!=l2ID0-1TV#*Mth`}t8%R> z!&JFSl`9w>jw5g+j>0RA_O2UEay5>@Yj7-%GrFHcD&tj|tjcxd6L2C2j?2?Rk)Mn zE}V~d;{tU0-#+6)RTimoANl?G06vHh;loDvRbP38WHBzmrML{8{92XeAZ}RxzDSzL6sNCU&QtJ626SD7~N*8yh`#K zZp7E|4SdsRk8zVKKdADyDxa&eS(Oh}d51ag;(NFS-^UM(cCWUQe1sq4C-^CTX0-dW zO_d$0d_n#teuZD-cKpU@U++6fcHy_U8^6QvjqXnaDtlD*GCU}(T9Fx?O{Q-4;o@Sj1i1t%vgJ- zqpB0C&Z|1fb_&y&!7S#CwZGfIb^)ufh$Spz#b{SPR@En~`Z!ger0U}tJpoU|2G|fA z8J)B0>`!BCf=#g*HpdpmgX{CNps2-&1QL4U3)t9OIVnzq!B{&2x#i2&`{j1vf{IBX^NdH$4XL|&W zG}=A6Qq|*BeHA(VUwt*(WAGXrYy2Nm_Z@fj{P=%d^h85a31uaGlI!ff=XE6&rR>m9 zB+;-X8d6e5sEnl2qN1WfMJP=TQPC!q(n2EqUgy#K^}Bulx!>N`^YuFK^Lmf-Jm(tX zyk^UKlRQyMPW&qbWlzf8L1j;`l;+QmGxKISd|S>*>IITtuj;W19|K- zI0y&hvpB?PS2dJm7(S0L;EVW@(H`l`DtldJ^nY2Y|5Y{uN8%`a&FH*x%jo~IQva*0 z^!Z<9Z{Zkx+i0)pIF-#%*?5(iAMBUq)Bk0q{#V(2T!0JlQ=`+~Ws6j{U1guEY^}<^ zP}y>oeaW1~xCFn#rMS#!&(8{ymADGO#?`pSXs^*am2FZP{a;qXxFeqWrtL@Q)PQqR_cG1{e-*lXWWf@jP_Bb{#V&P+>gKF0X%55 z=jX7>j;W0PFDv!G%6`W`@F@OiwAYmWFDv!G%8uhd_%Hrvbl!JdmE_9Gb+TLy*6_h zE}my}&cCZZ$@zEzUWgar#YQ{x61jYGHI%EdT$eI>8D5U&w3wr4gjX2tqpl<=Ll?Ty zgI=SZ>6a@eSAaZ-Aq-;#qeeSFPLjYRrZ9~eqw|__<>YE7S6;4GauwvdTCQT%KD*>9 z#|mtMS7B45IrD5c!{*omufc1vrLpSjBWzzM*UfUZX1fhuk2m0rc$2YePZ!&_;H}se zZ^PU14x^pfUaszPb&#uzTpby`6FXsNybJF(R;#z3?R&5*-izJvKD^&pb?9Wad&u>O zTs_(Dg%99^_z*s9tX6L)+mGU7_&D~)C$Nvv?%DMJA-Vd>HCL{Fa=k5Af4N?gYk*us z@qOco zyOb|y$TgFVS@l3*?muo(A7T`iG^}k%7Vd?X~J)d8Y ze2I&334Vo3jrORQ%e7Xn733>%6@HDYvDE)|&+ACO!S(npeuo>3cF&vS;v>E5d%1pK zbTe+jtyt=RxwaeaQSX#%uUtQp|Af2nXWWf@jP_aRf7d?p{rD>$z=KA6Cmfc$p;jxeaf}JFp$LH`_d{~uE%*I$ci~a@U{|~syWxFC=X+ascak316MNwU z_@L2V@rUK^BljcZkK$waIQGUTjL!GA?k7o}!oJuK`{Mv()t)EL_CUE`k^33BhsiyN z(ZTpE4#DSesL`H>=Sg0`7x5(=j-~#$D}Pn)H{~8dJ`zXaYe@gQ-!R*D{%G>Ia16eU zV{x3(&U{Di`EpN?dm2L%<(|aGWSoNU;(IvN=zMx~PnY{6x!))M0B7J#r2pL?nr(YN zXOqvtxi}9$#!rm)E?pq^O1T%xy;$x~8T||w;pa&IyG#9V&*u{IuW%_Y!{xZbXpef8 z-0S83ntU~`!L_&!OZ{*6{4L3MxB)lfCj8!LSH4-Ev*q3*w<*%Ca{ns#Ho1S6dpk3C z;7+9f-Soe^)c?-sWcO}H_uyXq1^3~8qg~Yjx&M&+Ao(FYj7RV{{M~5hA0_z{kKteV zHy$_Ing7aTiuyl!PL=1R(x|5ro{XnpWi0i-^Y2D_P9r%Tt6){EhSiNH&Ocw)kmpP` zYT{W~3u|K?qjSAHb>%T@I7gm~7&=#;^Vq0|_3?b9|2?JtKk=SOc(FVU*ti56;-z>Q zUT$>W0X>c6iO6$>JYIPkGkPVKp$qAMkH>5~uLX~f+>ZeaVhBt9@7y7ts5}{YV&rj5 zU=rznPpSXy{49A6^H{(lmK*KLo5-_Ro~z_}MxLhf+%3=5^4u&>GkLC)r#bUmApP&T zmhG0<%II8uPivAkcs`jxo?GN;FVC&yZIS->(ElF#-_y?IcF!G{(-H5) zPS_dmGTND4`Z^{yzJYJzXe{-=-SgWdV{sgg$9Hgo(P?SV zBzb1bGg+SZ<(b0hyZ9bX#c4R*Xdm?f$qbx{v+zUw$Y@tSN1lc9%q5?PALA!D9~T(y z%ISa4XXK0UbNm9oG}=8ck>^i&zLMu>d6vqvL7rvutdVCqGgshBT!mlbYNLIwwIu8C z8(fdy;&(>-dfzC|HhDIYe~&-lX54~XjduQak{!4cf5e|~m(lq=%6r{YGWNd8|&gZ zM!VLj1?Vjm>ub(`CK@4Ho=-gx8sG9DOH>S*o^2QZ8DsMu;OXW?(7O@;FunAseJn`Nq@6{yDusOECYw%j5^WNcYCGSo0 zUPs;<+u-$h1KwzKUhm$UNp8Vgu`S+)w;S!<(oWv{WH3I9L-08qYP2(-m-kh9Um$-GU&7(|GQMK8^GA@3 z#8LPfzK(Ag?aa~gPL=m9c_+v_hS9fiERMtR_>R#&Y9h%boQzZOU3|}IXHJvX+`ZGu z-$(l2JA>_+ILm17mXAng;~b>_z4O@q*l71WU*6;LE|7P#ybI-BCGV&5E|K>$W-h|d z@eBMC7aQ$W{)%KNF2m)x0#_RCJ^!`5-^#n1d=0L}b@&agH`=v*N3sDo;wJnae=s_q zF1%ah-7oJ}d3VXXjnVD619#$&_>xcYEB}M!DE^7Z@Gtz^XlMQ--}&e+E~ZvbcnAm$vJo~o`?0YzR|g+z6<0llkY##Mp!Rw87g*TGigg4_Ycq^9r-}wyVyIsD{gm=i-j*a%% z0XyQI*vV+G-CgqCC*R%VUGN_4iuWS@-+UL__hWbLfjzMoK45fSFTRK5dquv7U~EMlw1IU&Gh2)c^9mX|#`ei)0MGjbm{fjyKww z6XcsJAN}u}#OP$4g74ycMmv8R$#i@lKfoC{)9C!whwnrAev|Jb`PR!fTfW8e&5>`R zd~=yO4?o6Fa6T?D+UNR|&e=+`4Y%VC+=)LL?Q3?IeEa32 z|9!g|-Gh7a7u;v8+HDKlzv2Nrh==en9x>Wi;_vd;k?#-rCEro`{*~`f<{ZPn@NYbh z{}}E1|0^Z_lduw=jHh5_qchWgs{CijPyhQ*XS51d#cEjH=p3)V2FaON6VJk0Slj6Q zowNUJ`7f2fuKX9sPyhSRWzKn659{OkM(3XKUr0j#`!8m@0bYU)jdtc`@|Vd^|NH5G zeqjS&rT_p6s-@~>SedsqjcfLQUKtTSG{Ilc_%m1MK5&3VBKPrC{`D5~D z<&X2I1STWyxmy!dhT<7JCgR;0XyQINdM0|h3&iK zzfbAdok$<85bD230KgLgRJ}xlY zuK1MXGhBq9;}=N(J7;N${Hx^uihL<9!{xXFR~nt~O8j4wtj0CC7S|#D@9g z0X&F@@Gu@R+E@4Q3e=JR4+SLuQThLspZ@nBW9DD@Hy+1-jCTG1m6E_oSP4(YQ?Rnp zd5r{4Rp1N-P9r}Zt6){EhSiPE`U5pc&cvE{7S_VrM(4}~&Q{=31?nnrfdce@fc_7h z$INZbL?R*!B8$IYn zANq}U<);7NQ6Qv1HwD59T(3YxfeHnp3S<_&9Q~ixiNyruE0%<-i){4 zt=JZCGupf24w81*9y?%1ywg}^-q|Hfr@gZRcd>CdcENkFE8c6gE5A>HfePHOz{3o6 zSD*(QJ+T*-`d@(u@gZZC)$g+XhyqV4@F?4l;p5mFpFsNm#Jf`9DU!a}5BuW)EcL(B zw}EFAcvXQx3OujCU`C(CA^04Y`d@)zMthcCAbAmA!r@rze+6DK+Uq+)fzb+#Bp-#Z z;p_MYzG-xtGw>G4754z)uQHRA8|JlN6Y(z+?s9S6~V=Pn@^+*q(~h zaJtc6kq<~_;7pu_AL2(w`&@GrSg62U@_G0%euDFn{&&v*rzD@@BK#b`z*7I)^Rq;O zZx#4Tfv*)<%IGp&jw^5_t}@#7tR`85YjGWZgX@jKE>neDGg7kmzTt?5sdRQONH##d1(*MDW$S=kQ zcnLN%I%h9VY;LqGzed696{P=zEg5Zv*I{dHV|2cY4BkL;Bi@8J<1Kir(XRY91$!%ayMo;m zyhFjx3btcTd+dN6@lNbyv{#M(57Pg^E{xuTUGZL{^PU*IPr(Njyq~-~_Q0Ol3m-5# zudiUK{}trTBKQc~kK$waxY1szClq{6!9EH;t>BZ4K81a;ANI!qM!WxkB+uX=9E{K6 z5To<`Y;dT8FDqE;e+8e%7w|=V35Of)o=g3&;Hx+SN8%`a&FHj!@C^l5D)^>?A1XLn z!3j)wOTjU0yp3aV9FE6#jP_odsNggOCy`IaDflkFhf|IAdQB&JA3wkuI1^_X?aYr9 zELFOKvlX1f#$23-ALA!j>VNyFg$gcK@Kf^7a1nlvU*P}g|KJjmuW%_Y!{xZbX!~lF zg8LQxTEQ&}u2%3n1=lcVEw00Fu+;wwert5z1%ew$HsU7y9)Cdkzs-qb*{a|!1-FrJ z#~rv6f5e}R&d>jYKa=dnJ-8Qt!F@)%{$CaRN5KOM{-NMOMi1d(Jc7R={eR-SnBY;8 zKk*p;g@5C5qrI2@RY(fb|DlsgqoGQ8GM<8!jZQy=P9-@FPsb`)6{{JYeh8hR&~pma zP^g7MXDZ}YsHQ>}DRh=X=PFc-`L(eQo{e?!9HVn@gw7+WhxPG%yZ}r6@4TWz7b|4e z-+=rQY>1cQWmx+B@4VtdjYzJ*#&{)`;s5FXkVm1kLSBU;3i%lIV*rB~!m!bsl6}nxamI~dd zP%GwKhpn*Pc67Ze(y(2LA`35Vm$ z_zJ#iw0jsyG74YA*YOQ}(`c{qTMA83Xbkz=I2Om@cznm`v`T0q$t0YNQ}A7U&uI5N zO`-V;O;_k6h3Nm#2h5p)GjSGvXtej|Y?3)R7w6%}_=(ZpISUl}QlW+9pW>~LYcjF%1i@zA{%>4=-SLj!Tepl!Kqx661 z5Zj0G2>xcY_skz8NAXWQhJWGTM!Wxi6h1|vf63|p@JXfZa3wt1=p19XGKuh1JPl9B zDn@6Y;cAMUu5fjQpH=t_g_|i{Lt&S~XDWQ5!Zj5>N8z)0R4uHHb?|JgYjoa!!{?Hm zhxM>No{y#ecaA!Ik;0cNd@*?gyaXHKrFfaqxi`Z9BWZ+JU}L-zOZ{(;-K}s+VUNOL zg}sdW(2oHOV#w&c_k|-QQH)_66PPqQKOYOH6)q~AAlMD1IW4gjUWcu*jnVlx*u$m%SNKM}32(+*@K&RJmfIA* zQ{mgm@4$B09y?%1qrFC*NIK(PcsF*zdyMw%-K+593U^cZ0fp~l^nUD)J+LSCGCJSs zgdZe%2p`5r@KJos=={DW+*{%P3O_;K2cN{JurKyA+IwIC$O#+M{@tWCV`HQTQ6ZZnXFCn+lItcr^K2 zI0oOwu{h4?d}keghhzdy#7Q{WXs^+`3eQvcJ%wi~T>AX4@HCu`@8btJ!)PBhi{wN6 z2xsFQoNIKxn+t!e@FImv{jczRT!0JlQ~b>6d^!z(PVxnQiHmUwer2@HvrOSV3NKf9 zlfo+$UZ?O%=B&c6aW$^NwMP5cZ%EeTxA+}yz>P*b^LvGNC|v4)g*W3C+=|<9yV1_y zN%AB9guC!(+-B%`zE$jKz9U}Y4Zil-T!Jx8i2@}weF70D}N`oFOv)fK6)$Qg>% zQKSa*&%~N|7S_VrM(0{b&L*jg=is?`9@aD3XFOk#hKgK3ej#3j7h?mw#AxSVN^%)q zj^>6m$J+?6Fxr_{Dq{XnvrLhIBBjs&in!5(Ui6{g==4b>ND{&@MlgyoZy`3-m@-h?+}ssEk-pGBlC$!&N$-hu6~z0rAhi*!_^ry_SM(p8a8 zjCRJm@NVparT%w1FjD&buShq%5AVnB*u!YgPcKCtQRD&g2k{|%*l5qgqa>yNSLAW* zjZa`7qutw6ip)`@uOg!q>8HrEOz5x305+b+f%ps#!ofznharl*q{wsRLva{Bk1ybh zM(3R_LjOlzCVvHA#Su8tX!rb@B9j$)U6HYhyus+3I2zx=G5EI8zNSk3ugG|O2Pfb} zoMg27pQ6YIio8qy9!|w+I33?N+Os-?WG2qS5Ah?MZM1uytH=gL<|(pNk&hKwq{t`C znU4!_A%2RV8Ep&E|B)}qzr@A31iv!cXIZAm8by|qufUbK3ctqHMtf$~lB~mTa6NvD z-x=+mH!8AQkxhzhSLAy}f56SS1-IfhqrHcBkkJ2;AKCs1cj3=QyZ=3k98_d4`7gK+ z_v5d4z-Z?mA~}pl@HhM&|1jE_e=4y;kzHjGGA1(F2qV@mJ%nKAPQ}jYbFH`g)MlZ$&Sn7X88{(x#=ek5MC;1;X z!Yi;bUTJhb%SBy^1{HOad(ewM^kcy2d>)I2NWvIF`afFge?{X)dyGj%Z&fsvT z@J6Knqx652{%=v5uV`CEyDEB{qIW8KJINi`4%=e~>}a(6??loW@4~yW3*KY2E5BFK zUW#@jzYp)n?$`r+8twcCNFKz8@L_xeOZ{(WKCb9{iuP7?sG?6O`ZN>zDEcHDPhnr| zhy8JY@x&hZa-gEmurUY+1|1sKU{7tD)Ehik+!gUBzlLdKT8g+E@qAHab@!b`Ht8cplcn`gp$4uH-_+ zE>r9x@{6$nUV;trQlrzKvCB#RhmG(GY>ZbL?aEz>l`G~}EXn7&6+& zMifgc7A22i921ztl+n)5kYq83c`RVjXlGU^cD-Uv6uU;Ts~ByHS7S45jxCJNy&9wc zV=c*B;dR&=+ZgTnyg{+s6uXi9CcGJM!CSGd(XNO7kKIAu4%=e~>}a%SzLR3(73-|n z(~8}t*h7llt=RpFbz$Z`*cI~=jiHH( zO=4p*PQiEaJ)CN^kDadAM~b~q{sGRwnK%nSG&=8JvDqYZa4ycnkMR?u-SYy)Rw}ko zvBipg%IIgf2tUU!@JpjTpY(t1EApkd442~yquu{1#nvlE|HoD{x(3(cI{e0H&nNvK z`;L4AZp2Oaz0vM@v*JG}wncICdfBSDDWYwPnIhe;*g?g1D7HtjojmGCr2k{|e~kW* z?Jn)@#DC!u+sm9^a3Ai+U-5v^KJOvL{#5KR`4RjLf5%e)D|Xaq=N}{a3;)LBSn7Yp z{xv!?<0mP8rs9o`E%tcKNo{tw8?Vc}EJgxY}ihC4qpm-z2FJVqYyc91(`afRk zf4lxG$Q$F8ScWci8=dcZ;$Fogiu=g@7{DNgu=HkO_Z%gOVH^{f#8Uq|@4xYk;@2pi zRlJGfIY#qXz#^7oh0*T+Dw3vnH8#WM*uq%l#J}<#zgF=Z6mLo13a`V~*aojR+B1J6 z$xV1O-h#JcTce$MyW(#ueuv_H6mO^a{ff6&{BFfNFta1xiJh=B-et7ct_#UM*cI=^ zZg`*3`MFcPyW$Tk-h;d+_QD77L43$)_xuRSqxcv;j=ize|MvVmsrWF(pHlo8#rrba z5BuW)d>RKDop+h|AdQbSB&WQGBA}^nZLTGsoe0dWk0>!r~{;%TO6hEN&cExuqzJvKY@kjg#cj3=QyPrKId+`_Chx@VA|MprRRQ#yo zhsY1(5&R8*$3Kkr-2O>&4FAHv@i>o6QCEqYY@?lj4#~NA9@fM9c)rnj-%MPnL`sQ^ zlyEC?u@YwG4VZHYHpENuGQ8aA{MGQwyJHAAFCGJ+D z1EU@BPV9u8@h+qD8|Oq9l6$Z#-izIk{%>*O4(zT(A0>Jy@vss-8SRA+;DcD|f9E&m ziAP8t#mDe*?2YvQiC2B%NhJm<@f3Mq?1%kv06uNB$M_7%ARLU(;t+h!=)AfU!<3k+ z#PdpwR^kOEMkw(jb6&#X_%gnNuNv)RN0N-f*YI_G1K%_{--RXKQeuJa;%g<%t6;T~ zXDYEqiGxb4Rbsmm>y+4}#5X*4J<|UP`aiLOWTVkO`}ZV2;AY%{TXCDw9@h>f_9(HF z{73u=cj3>t+i3T^m*f}RhxC7<)c;D9KL0zPRT77kG(~+_iDOC}Ve~ir9ZUVM#8Ldy zXs_d6B!A;^{0B>)|CRX9=&U4JNy*cdJh_x7Pr=G4JQYtf+WA#Ts$w;)j-~!rvWC&l ztf{0&$+MKaSjk#So~LAO=G4Knu`Zs2=Ng?mJXw#VKAw*k;DvaR(LPH9B^xPu33)@j z6feWe@qb3=K1p6d(ipGAGA#AKl5V4O=969}GfMiDj4J78G=M=2VHhJu=gcQ#Bymh& z5>uEq+L>7;nDC-aOJu!!YYVYEkj6-iUP8k=ErY+86lHp*+MnA_d@Jpjz`4XklN`9r(sY)(Y@@FNNDY-$(54ah(;8vsE=XR1ExD$WGpKzDa-ov|CPP(}s>((+td3`34LsB6+!d*_lsZ?bTI98{4xWv5@f@RF z)p;cKus)uT7vP0PyXT9Q@+j3nsYXg&!e~Rh6feWek^Y~PWSjm^HD>!tEJGK%jrOR$ zN=20Nk^3=#K@4Ho=-j2LC<*VBo#D|NS09T@G1cVZ{(jP$>A{=1OegI)1n?1uLl?fLAk)Wb^kAn%F2@Bw@f zA2QmNKSJ^-K8BBDZ+yaN_xz+%Bb0hdsX+|&RjMBw{c!+3jRWx+qdlL4m3l#`XUT`) zb2t=-;qyl4oiz0#$xApKU&dGPRb!RaOW7W&)I_C5DK$o^*GOK+H}Fjyjivr~`Z-1a zr^b?x!}0hIPB1!so0_E5bfqSfPr-NbJ)DZujP@+OPx1lIz?nD;KQ!8zvz7ixsX0oU z*UMa`{#0t7QX7@}SgB=7eWKLoO3mj{3veOQ|0()Ewa6s)I)1_Em$(?0;8$2WSN0BE zuGCtkR*-E+N0F>O6^eU2SzvJ7A*C@ zQl-!TN|pNGUhADCKjKfg3xCGlM!WyLN*z+_7xI0$AAiLIc+hCi@L`f8_#6I?f8bH0 z-SaV}P2c{dv}x(Tl|EUi5ngPx zE5C%KAzq4?;pO;0qn&w$(q5$-lV6Et=t4JojLuIL(moPD1~7;r3>&MQ__q|&QKcVN zI;QkZO2?IMs&qo>ywXW#rZ9~e%wo=1^~8Tym@beMu^cO~30`Hi=ksc%TPfX)yg9bO zYw%iZX|zXi9Z73!gV*B?Sn7Yf=bM$jTj^VrZm%@`pKi;X+wgY01KSzxS?xg55%0uK z*ctCK+WmJ?y1UZ!f4VE9_hL7^5AQeH`8`N_VlR9EAH;`@&QEF5k0?Dt=|`0wr1WD- z_f?wyPxof#6W9lz#HWmQ{ryP#;{bdb2jVkEyPm;Hzo0bzpB}>Kb2t=-;qyj2|3#9Q za5%nxq0wpV^lW9qO3zXHsM2$l-k|h6rI#xG zvC@l_{)GASaRDyGPw_LO-OuMFU*MOx7?)tF|LwJ2rt})6my@r+mADGO#??l971olh z!*6gsev764w@1BE>D@|iQhK}6-!u9HZpJOR6}K7fx!pms6Mw{?a2Nh;wEN$q^g*Tf zlK+DHa6kTv2aI;*he!_N5&R8*$3KkDcP{Bal{rW0W6GSa^k2$UQu=S^9LIm~U;M9R z<|L!Ds?5nGr(k6io{Fa#?aV65)KsP_c{Qw#XJ8FH)99R;%vmJ0ur}7gv$3wx&OBEc zv#RryxmcNcjMm5V@dCUMFEZLkH6XbJ8{(yS8D4I5?ygKDWjxAULEadz#4>cD+vuG6 zjF-fRehgp`L&hqzxN4b*G7l*eRpv%z%)kG9l`?T^u_nZy*PF@ss7J&HU@0gG6U z71+dR&wo>8S}Jojc{6N|E$|w=)@YBS70Gqj8r$IYc!SZ-yh)k6l(|`%cFNqs=&jfm zZ^PU14x?Rpdy)>=5%0uK*x6|Jf44ICE7OJi9_)(uVmG|cXy48157e0Uw8ts*R zSeaLqc|@6KlzCK{r<8e&Igev+d;RKD?Ro|&^Sm;H$)Cj` z_#6(!VMcqUULbi9U&7(|GQMK8dmf?81Z74l^OiEB7^VL+ue1FIzKNra_RNnVc^k*# zI2@1f814QiDl<))N#yi@W(wQy;(IvNX!ksw&nbk_5)?+DQjK`A1h;u=o4kWS7yF4E0kHF%$Le6WIvzcXSfJI$1jX_C5uUxV5$F= zS&GYWxzQfuN@c!LW)=C@xEj~sT3lze_sn_{`ae_Ze`QLa|CQN@n~e4te^BNZWi~7G zqcU3<-HO|AJMO@pM!TM$NOobV|CQN|dvLGO`MZM5K4p$5v!DD|Jb(xB5FR!l9U)eHp7rN1dUi2BAuE+*Rf*8Uu zMlfo$Ylth`Q`v;FwX<}i;1qdouSBo){MufnEywb33$b7fmA z+k*TWycSzxE4Hw<_C_u&uK6fA)61yaU@|d+cDe z$9|`>U6t)b-Wl)0yRi%2W3=n1|Fhl5@5B4CJN7WzJ@-=fC1oE_w!g9uD%)GxhnVv) zK7x-T{huxMzrA+!f3^>!PvTS97yB9QvkXvnh_X+U55#A15Dvy?jduO?e|9MOFnk_g zz!!~n&%>1+tL)3lzOL*mjJ}E^a3qexQvW+0n5F--^nZ3Vqi^9DeB0=JSDqcG>=b3` z|Li-APQZyc2`3xvdg%Ww{hyu6=ro*;?=!P9+cT8&DLYfy!^+N5cAc^xD*J`9A1OOu z+1bpQgL82nevF?O?NwMnvJgMT&u|fbZnVeprLrrOT}-|Nzrv-s4F6C6XIGM}!mn{P zuEA3O+w1j>vOASsuj~)Xe#_{0xB)j}ssEMz-e|AFW|A$q6}RDb++nn5^+#oYQT8YD zUHCKZ#yz;#X!pF2WIz6j2k;;sGTJ>KQLdJTZL~-I z56QpyU&-7_SP4%yI?s};tXwtaM1CrshNoi{tZHJ?@=A47);(1ul==@YIcRtAlcp+Yd7h?mXb0%{Qm20dV{hzyx(aZ6F*a)vM zI_D&JB}o~&(2XAS8tuyc%H5+}K)Ghh1(l;nb0Ouz%#2_ZV;IMT(e5FoTv53+c?PqX z!#tMy-_9>5slX<96*k4Ijn3zjTyy1aRj!3{ZIru)(QC0Kw!%{XE7#g+_fP-lZXmxA zZ^E1L7NecnR=JMK-9~;p-hu6~J$5iUp9gYxl61n(co*J{U5s|mU6p%QxqFp+T)A$_ zJ)qou%()-CV-M_!y^Qv;50X5D591^FC_ZMicSUdI`YZPYc^`ZdpTfS_&uI5NfaGZ$ zh|l049Bj0E9-`cE!snD5%EmB!9$&y0@g?JlyN)kkR*wG9y~>v(a3qex*NpZqeM5OO z|4rr3S8lX&o0WS@xdqCNQEs|&Z!0%Rxv@NI9FE6#Z~{&=It`qgOfm)O{~Z0Fn@Tdx z=={DQ_r7womHU8v2F}D;_#u8|wCkKhG8g9|{hurKzjE`9cIHCmRw?(Xa!Zu^jL}6{ z>VM_Fz%OyJ(Vp$ENS5L}-{jA(}=Ip?o_#^&=yNveC?=o zhjItW58+`vg1_PKMtjE|CHWJN;a^zlf8~xF?K%8c`7@OJPx(`oKdCgDuY@P#DOee0 zboQS=jpTH!f>p5^RyR5;&(~1?Y~{}+uZd@2Ev$`ojCRj;NzTD@@jR@D^^JDV7bt(d z@)s(fQvM?4-O69Ayjgz(W?q5~@lw1DFE`pfG$OeI8{?H&hAv~3pXi^wNBOYwUUDD$ zF@Qk~8SPO-NTL|SI3}?4W?|QmR=$ETqdfhe&+%m*3s}T*qw|}Ed=urbQT{6Org$|r z!{*q+=v?JI{hx11-U_e7*4W1Ayi)QvDF2}HH!9y*`J0r#L;0JTa|_;zZIS-Zm-^rN zE7?5#pKs4-2keM}Is`G=M7qx>U`K8law*1z0i~HOE@pe6@r1BG$AEo>l-Yw~iKFo?qdiw|lZ?f2I3C}@2}b9;x%?#Mrz=01d>fnOT!RbHa}D&@Z- zUy93cIj+E!M!V;)Nmk<;T#M`Q8>8Lxx61#n{CCRlQhtN-Tb19)oK5&W{(zfti_t#I zHj?eQ19#$&_><9I>z|eXRr%fIdvGuQg8Oj4(O%O7BnR;j9>yd1o6+w14;7^RQRPjs z)BpKn%=rud#^d;p(XRZzQc^exE8)p_3RX5cD=D0+!Wk;i|Ao^Tt%6mt8df(tdoI)< zITLH*Sy&5e8||LYR-ugwbyWzdaE=O>t8lIg7pZU_GwWe}JRdK>3ysdP7kGsh8jxRt z4e?UE%xGttgLSLWi2Mp{j8|eAx{UTHJS1N9p&tVnG&)UE2&+)8LPUkM3iN*=#+*1N zFo`Ln-G7E8i#g0=0gFbbPYM+(v{0c5`Bm5yuf}HB+-Q&V8j@?VCAPxru(i?7yk3O| zRJcKfPAc4}!tE;D#GIS)7Q7YP;%!EI?d~9HhwZTgcEmf4c4lW4x~Xs%`Q6wB@4>Ek zuhFjRK9c*fJNCey*vn|o;e#p+P~jmJo>1XoM(O{;qijEhk7IA6eN-QkC-Euli~X>_ z(awBYh38ZlNKXG32C+RDpT!|Yd!$22hT-%00=|eZ8SS25R`FLAUQzL36<$@*ybwmH z@U03XRhX^9C>18D@R|y5tMEFHeFNXb(fAgQG1`5OB^ig~k^V1~`d@{KMtg=QtMI-G zQ^?=N_i!ps!|BE<8_r_;1Dt^~k^V1~`dp5^R>w1p&U%VxlGH@*qGBz!YhxXw^QtM< zRq=Wi&rva~;<+lC^_-{T#VXcgW_>&#FTe}&B4gEVoUvj9l1s25UW%9DIwssix>9@u43B7{rj#9&bd&3KgR&W>lpAi*e>8Fo`Kl8}0tHBst7u z0gG5}v@36-;x#JL|HY<^UX9JLIkqs`Jzq=G5?kSQ*c#gy?UlVj#m*|;sN(G^(*H&J zzjzBXZ^gEFo6#Qc9VG3rJ$As3cqeu;I}(G=`sD)wi><0|%M;|c78PvTS97yB7c{6A|{9H8QJ zDn3m<5b6IS{a+kR@+=N9I-ewqLrI1q{a<{6?HBPS9B#DN)b#&oLh}|df{l?l3SYz5 z@eO>_Xpi(Q6(_1VhWu?Di{o%SzJn8t_Nq-HnT%8LU3?Fx;xuE`HYc{xU z#ThEjQ*kD9X5oie>VFky;~bo8w8!`{$tO4;7vMtt6hAZC6@ISbauvTI{}LDD68s96 z;xeN>8!Jdw;wt7)R&1fHWhRQEg zc@34Q;3e1) zFU8C7a--9A<&8+Lz{YqbmZ1yXM(3)PdsW_A z$`d3>Oko-`n8lpY>5%e*%A2XYNM4Q=*aWY_rg*i{`8U$bo0GJ_YmojgZ^?Emyv}IP zUK^EnQu*~NzfI*gFnS~2gg4_Ycq_IwR_(Kk?c4DVY=`Z!19rqajVGRqFFULJE;jDQ zE_e@i#e1=v(XQ}*m76~->8|qOD(|84ek$*&^2b!(iMte^_PSP8n zz&`jSK81aa&TlTt`>TA2$_J1?jRWx+9E5}MS);wLo+BBG!;tD=L3e<*zb-1dhZ}_!_>BZy4eQ@aH`Qh%XE_W@dKQJ^ndv*wm&r5XPK??O)8(G@}(-DtMboOK94yc<0m*D7vMtt z)ad-Kp?nd^=lBJFiHmUwer2@JxJ>11Rlb~j1+GN;zx->qSK}I^^NF{79mzMi9>2x! za06~M+Vk+e%70Y(59FJ13vR`2xE*)kPNQv)pH#kIKQp=;_uyXq1@{^4z4R-| z0X&F@@Gu_1-;DM={Glf6Ren?zyHx(CD$EP#m@1+w|4S8TtNd?OR95+M9`z6Yi~p6Z zI0-A^$#{y&Wvyc(MsozMIgEl94xYq2G^!t1cL(VqG1RdKs2ZXmxAZ^E0A{;#-|?Y4NE z(Vmk#RB@Lo+L5=%4%iXz#7@}R=)58-?k4Gi_h47N7rWtoM(1A@tLUzZ>8j|VikDT< zQx*MH(MuJNtKtD>(*G3?vHdVUf{)^3M*Fc@0(!P{nhqc$$15 zK7)gBFg}YzjP_ZEk_^M=@dbPlU&7%=d-uMgiqV9xs$v8iBXJbIhV*~M8*IO6bUrUt zyrqhXsu)B5Hjc${Sn7XOyn_>r_P&}#G8w1fyZ9bX#c4)+mETvza#ehwibblJp^AB` zn8}=3Sn7XOe1x-c4$d{&W2FBpJ|Ulv3veNRik}(nIsBZ2{;&9w?ZvnRzrv-s%xI5m zg(^0yVx=n9t6~+SU*l?AgKKdeeq*$c{g&iA+<+T#6Mm0B80|UPLb4UN;db1CJMl;S z$!L%3XEiaewcTpsQNsxamJiz<$&VjuJOykX{r81S!d;C!1uGZP|cG zlir&s2uKwWq)L}6y-5e@Sm=m!5T%OJK~Uc_-^~2pT$k79diFkN_RO4}eRdNR|FaB# z4zuC&_=3?sDqJMlk^Uc^lR6iMVQynsw+QMy3NNMbmla-E;dx2&;VYOQ3t&MkWOUXl zLQ)iqVR3vFOJGT({hNXC*A#BfzchInEQ{r^JXXMpM*Fo3uSD`XR>mqw{|~Q9UCrps zuc7cLh1XR0dkU|m@V6CSn>lr`F4n_0@hz-x%yn!E^*h)A8)74T7aL;}V`fk0VN-=S zqiBvTkp3T@xz8?=NTYL}(F#u{j8S+jMI6Rs0w$sxlZ=_Yj)y4<_fVu_8hX)(ehe6$ z{ZCi;OofLOK1AUe3h$=ymI`mL@K(%xA6w%G*aq8TJEQ%RX?O<``hR#w>Q2}hyI@zN zedmXFS9pJg_aN_yy|6d-!M@nf=9VL&u|2e z#8Eif=o~v%;a@8JbMkRG9w*=zI1wiqoqd>0l6lWerJjb6v_I>^XDNJ>!e=Xd zmBQyJe6hmkGG`vn$FFe#F2qGf`_n&s3CU9Y2I>Fd%c)o3N@M1VJY22tH56-c9j?a> z_$_WUI_J4r;kya9D10l$Hr$Roa3_9;yNvdyaQGgD|ETc29b6J^o;HR{V+N z5FW-OcodJ}aijBkom9keh5xLGWQCtnglS*DDEywnPb>UaCZAFGS&DOb9xvcUyo8sH zPB*)v@LLN1jr@1Kir4Tu-oTqi=gjH<;kU{E#J}(k-ZeV+^L<4~;SUu4kHYEy;g6W} z7@y$Z_!OTR?LSip|Ci)H%ZTSN8$ORO;ETr0YvEybMdYB!iMcQgbK^^x$7tWr5qT9+ zOA+}LQAQE3D597m@-wFZ7Q{kW7>i(0qkWAL#YtYp5?B&T;cHmhXupmTWff6b5#`9s zV+E{;=JL(;R>Ief_HIN}A$bFZ9tJ#1=puBf>pVieJWJRBp?g^?JA(MD&LSduu5#{^77HzpbFcUeS= zA|@%qqlkWrNL55TMWiVrLlItP`p}O73}QNljLzA%Bx!~3V{7~X+hALx{RtA$UJ>0C z(SiI!?1-JPGj_qQMrW1oBt5Vv_QKxS2m2cBcVa|;MSMy)KoJ8eKEgrxF@A!Bafs2` z$)SoEqljVT!|^j5fg^Dgjy5_+jV1XU$KiOKfM4K5qjQE|Dq^D|CM#l*BBm%}wj!o7 zXBtk&8Tb{>#92oBJ9fkzlDRk!=Og_;VgdC+qjQFf6|qVYOURevH@FO!;|g49wEvVd zVl~McT#NMoi1pMP@LQv^$|gnZBHXNqEfiaE8*axPxD&rKI>+u-#1D$tL%tXH;eI@T z2l0EOvy(rP{Dg<_Fdo69c+6=3)->XTTz*BIl&g>;O#lB|5vKoNSHv%hxTJ{F%s+!? z@f@DV3wY7!+|QRue#I;J8~%=0@tV>8Z@40EDB`XnZj#@^KkzpGiGSf8qq8&jNbchU ze29IOO|2w<) zwp>wiy(3psxf(FPAvVHyu`xEm_l(Z5%}APK3k=5yr2o4jP3_E&mMclF7)E0;4&yNa z6VYvSt|*x#1wELGX-NNfS^eKxB_P*4xq@e**FL18tq=>nlIOOxxSWbIYSHNT1c@77vmCKir?TeqjOy= z8rR@jT!-t8_MaEKz9rd+n{YF3!L7K>Xn#v|?U3t;Ts!4DAlG+{?!w); z2lwJW+;4Pt@*v6g_yhikKj9%fY;>;Zs9dMzI!1mRPvA-X8BgIaM&~X%Lvj|+;d#7( z7x9wOIjdilSX-_uig_&8Z;E;#*YAqFD%Vv-nm5ZeMOKjOx+0&K>xNuU9l37t zJb&PA{1g8&I?sHU{VlE8B+(zfvJR~n;Ud)H||H%B*1&sD95?M%*B^6niya*P>Vptqs z#S%v6s8S@aVQDObWs&|LS>Dw4_uI&difpb(bFp<4SxJ#^DDrh?R>mqu=lrXZRKx06 z18ZU}tZlUKjmWx+Y^cb3J7X8@irug~_Aoj}^&;tw zeXuX~!~QtH=XU^BS02ksST#QSM&YpZjvJ98w3S5b+aJA9?e2HAE$SsOoN4_36;J3IDH{oWZ zb6s0Ww&8Z%fjg1@A8GY}XSeq#@}wg7D)J{q?qkk=Jb(xBd;9@^G}_%S@({^kJc38@ z7#_zHMrQ|pR^$amo+AGRPvaRpi|6pX(Yd0FB$x0q{)$)dH~ih`ta43JofLUpQKlW; zP?YJhHx>C*k+&3iPmzBx|2F=Kf8iaxYjoam_emb$Lwtmf@d^HIbawKYqD)Kwhx}js z&ob&c%!be73r73uqC}D%b6`%)g<+W6XkT4a9z~T>)XR!0tf;(<=EGMoKNi4(SjcFf zVN?;4qF4-z9t@>l^Y8l5w&q^KxGy{@RY6;)YLwG>r_ zId5Q9tcKOG2G%s%@93!7Bz3SZ*26dPEv#>JR(wZMO%>IEydgHicd;=x!S{^LQO!u2 zV+#z&2y|hj(U~8usDPqk6qT%~SVrS89uqJT-I!!_UgZ=L52j)odeMh|qy3o@6;#v* zib^LBVFtFuR`@=)Hach6hNLaF!}iz#Kg5p4ux^=W(pgc<71c#iqZHLuQG*rLO;P<6 z)t#9=uqXDy-q;8G8tvW~)t_Vl4#bae5PpoG7@eydLh>mN#bG!cKf@6?(&${>XhnUc zs4eig6b zb-aN$@s`oqhub87;$L_N@8UhYZ*=BARLt{=dZg$9ih8W*Mv8i(=vNi>x1z%o^;FSj z^chF}ga6`xmeJ2)Hlw{i(Jzp^h{Eic19M_7qccCZq6;YcCGtG@GUmm6_zLDX+UFcy zkfab6#v)i0i(zr2eK$szP;^yAmsE5GMVDgqH7t!~uq>9t@<#j4kFH4ae^?1$$I4g* z-!MAoR!!0M6kVOX2G+z{SR3nLU8A!PZ<4%)_3>?d2OD5RqqEApicV8>V@1a+x{0DA z6#X7^nqo6-jx8|UXuq?fT_lkhh0z#;u^4B}+yNdYC_0hCjY*h{Dd@peqqA>bMR!oN zPtmOu?PoNAK}^RGW?)OBbL{&ht?>hFgKe=Lwl_NSKU8!NMRz3cgq^VqcExVk-RSIj zPm*5P8~b2i?1%l0_TPFGJy6kG6#bE+=O}uRqQ@!vV?}?a=uenA7>D4eI24EBaHF&C z2$GRF3Ph_z#7X!iPR1!lXO(Fr({ToVg)?y$&Ne!C)Lca` zC7h?|`4nH{0$hlTa4{}1I>&ya=(UPoM!p<9D@vx##Df$Tc zQ9Opn@dTd4pN-B@zmS~9Gk6xy;d#7ZbY7`TioUDp%Zk3C=wBJVg1_PKconbVb))@# zBl;%EE&Ky-7Z5sQ1@(1`3AK_zsVsv)wDakYZ2mi(YEMuO-Y)1Rq zV_s0qCyIGdG4Clxig`^j*%ebnF*y{IS1~!6p9{kh!PBY6e$V*xCP zg|M(O^K5xoR58UUisP$T0!v~kqkVNTr4>_CF=Z6!_DuI^3ci6=u^Lv#8b-V8#?(^G+lr}8UI*)9J$w`2!um%0-iUdJqyaX>M))o^#wJE* z|C=i21I08`OtNB{D<(!UEtnII5$M85jKXN6eTT%vlEh&=CSW4EG0EucVTxjcit&)A zVj6nUhkgtgo$E>`31J3W{a-Py@O^A;bXIAjm@b5E71NHQJ$Aqku_JcE&PMwia!gmn z^i@nZ^6uCJdtxu_jeU%nKOrinA4z{4fCKR(9E2Ymot+=7n4O9lqL>AW`BX8J6f;yY zV-z!tnZxlj9DyTo6pl7JXFHbUa~y}`aRPpU6OGQ!e5sh3ikVD41*hUPoQ^Z_E2DGN zERxwc2j}8EoR41{o%stD^Q~eQDQ2Z&7Bjj8m*O|L442~yqurxoR*|g6HMkbn;d4#s;bA<2NAZ}^*^?8BIj5MDv47w{rp!plhikFol{ zb6@?gm_HSBmC9dF=GyoG<@ZDZzIJp4;BcPQ@SJ-m+(@F6}jIx9X=d@05JtvJ)M zpDNb$^Jj`R{rn%rntuMTVqaFwe~Qha*ypTcW3%D&_yWF&!t6%7pU37T$%SE<8(+da zMtg5#^D4H8V)K!|g88uk7Q{kW*l6!Fxu!`S1d^!#$y5| zq8pQp&K{;HHmFz+c`Bx%7k%i*fYCWBog{=A*b-ae``FrO_mJ2&itR$!R}<@naR7B!#r9QfH|p-#1AAgG?2Ubl&KdS2>5rMuGm!ct9E2Ymot+=7*aM0k zqSytB{Zz4&6gyP0V-!1#nZxlj9DyTo6pl7J`#+ZCa~y}`aRPpU6OGQgUn+K{VkeVN z!KpY6r{fI#%II9(ERxwc2j}8EoR41{owHh~*l!iPNUxD>y^Ww;zy7@ad* zMY0;#;96XV>v4n8nZHr7I~BW$d^2vrt+)-h;|`;9McZ*=A#RO}y$ z{a&$W75jr?k1O^^=KO?*@Gu_1qj=2d?8ym|llU{9!e8(-o-sNd;GANAQ|x*23wRMP z;br_4uNa*>|96tBcnz=P4ZMlBjP|Ek>}|!G=KQB(A1U@PM(^NVyodMk0X{T3Ydt1; zf`8*ve1`wvzealxm1$+^O*^Txq8<&$L7lvVOdt?sTlfdw#y{~dykpGlPCUG)xcd|j z@F70J$M^*QHae?3Q+yu9{iAp(?q5d#vy6WZv*Gjj0={UpKab+GljOjhm&9tN3c<)v*TF#9CMz>lp2OCcYlY zoA?&i$G7nvY+!U&X{7i##lNfgaK$%fv87^dYw;P1@2~ilif^y@R?K-HTjK}V z2HRpgqjPKr#dlZyhvXfx6L!Wf*cH1Oo$KmB(i3}OZ|sA8v7gb|^8tz0 zG6kpNG@Onz(CYur{8@@WulU)D-=+9DieIhxxr$$+_<78nk6+^gT!@QsvC(;VFD3Z~ zm*H|;fh%#9(b&m@rTF{;}JZH$M86wFgo}A&m^bt7d(w;@GPD) zI{R=z3C}D3qT=r;{*vOaEB-Qbe#I;J8~%=0@tV#e1H$}5kAHzM&~@Al03tIkp3S}|4*R*Cs_U8{tlM#f)WZU;YB69qy$;>6S89t z%!#=$409XpwG#4>yo`A@~szme>m4H#&F4 z2TJ%v32l_nM+t3}&_xODnA09R;D^`|J7H&|b46WAx?y+hfjzMo_BLj&$iu!$=tt2X z2jD>b2nXTEM!ORx3|7JyN*JPqQA+rf(V;jDhvR2B0!JF1YaC571~Yf*bLw$89w!*> z?_&uQl`umIlgPis$v6e4;xwFYbY8EoNM_sZ<7tnvm)Rjh{9u?E(}T1IDn9i{YB zVqGQ0E3uy3?bw?%kRAMLU&e#RJVmIuLJ&ev3 z^&;tweXuX~!~QtH=v>i9N}Qv_K}sB_#E+HunG!!?&R`sZpW;v)hQp1{iX%uy;wT)A zV{j~fZgk#dxJHTdl(Yn8Y~iR;MM;|BZ|H{vGTY;^Wv zE6Fz8jyrHCeuuk^&MJH4eo={gm3Uo=`;>S}iTjm!ScwOic@V$HAMi)~2@e^a*Xsz$ zQ9Opn@dTd4pN-B={-VT7N<2+|2G8O-JdYRfqR~0q%Ot_!yty-^R>u+B|%w#D6IM#s4hb&tW!v z9$zrp-_PBWyR_Wd<<84c4!Ltu=dVw}-gJwfg?xf99Vn1sogf*wpY+P_0~dr5rg#{dQ~ z-Dv+r=FX72o7^qsZZCH$M&HNQ_yM-Tw%E?-TuTR%53wV5!p=zlcXu_l{o56Hce(q^ z-GkAd*b94OAMA_$jP@sydjQEm{0Il($4LKo4>q-P?VrlMQ0}2}e<}AcxyQ;qoSC2D z2pox{a5RoFI@k3%$v7O36OjJzo=82(=)6Xg<(?(?6!NJ!4X5J_{0e6pomFO&%)z-h z59j08xWMSVQx?g+QSQZZuabKSqf7A{T!zbW1+FwY$F3$>gKKdeuE!1dt%!H z_h#}fxD~hIcHDtGjm|2&NOt2M+>85gKOQhTt9-AdSLFUd?%Q(zDEB$Jf0Fxz+=rNX z7?0plJch@O_NS8jB+1Ws3V*@Vcm~fJofXf^{kz;3$S>k0yo|r%75vTUyi!+5uHkjO zfj99M{$X_H|EZ+sZIFJoTJXSCmgN%@sjRY?VuR9;C1l~h7Wg_u(q zi(pYKhQ;w!qrE3dB}q!*Ygih~U|B3@%$(1|3QDR-@qbteU&qQ=1>Z0_*HukP?<%Rf zlHOEO4MuBXEv$`ourAg!I>)|6QXk*Ocd!9A#70JEPZ}#JLP<@?-@~TZ44Y#M3^zLa z;3A2{D2&D!r2i+ync6w41SR{Fl&GY$N^&b{nv#-~)LTi(O8P)aDM|_|$-}X!n1){T zp&tWA`!^U#=_Db{z?Rqw-^bQQ`+c3%MoFEO)Rw#*w#N?mA$CNo|2tROg`_KX!|vDv zdtxu6{YjM6M@b`;)K^KLD5)Q#{c!*e#E)Vw5cd(@CO4_KT8A@8Dq_31TTS+sSGs~K@ zI)Zu*&c%5+AHT*0xX|c4=VB$TQqmIgrT7gl!{xXFR~nr&Urn+G*Wx-{j~nn?qx0Hr zQj%%To0YUnNn04*ira8I?!cY+ozYoqH_0B{i~Ddt9>9Y}XRRNUbX-Y4lK+H<@Gu_1 zqj=2d9Cd=^B>s%2@E1IdXN=DLb4oV7>%5Xp!@QuRzm#-QN!OHgiJ6!2SG`(k{fsvZ{Z(!8~-#q>)uh)6D8dxzlZnn0Y1b>_}FOwHYw?ElBf6#|G|IpKg;Cj zjCPkueqPB1l>CB{b1V5pMupii2j;|F7-n>ieTgIwzKnS>AHIV5jdtHlE~w-ZN-jiR z7>i(0EQZDLRik~MCzm8Cg|A_0EQ4jSoY8)VCRb2$VUGcB4MY+xQMPz=qfe-!@u}|FC|AQ*{$SgMq@A*<1ii*Fwy9&m_(9{Dd@peOhd2HneSKfO(h4E zJYUH{C4ZvibR~CDa!AQ-m7Kx+me>m4$JY1(wlO;A+>WF@cEAs@BX+{hM*GiPlDjIo zuadiwcgG&s6MJEA>|=D!xgSY?r2i)mr2Ys8VV3@%JXpzJD0zsIM=AMJMu*}s9FCvi z2pnm2&Turz7#xeA<2W3T6O8uH7s(TqJVVKo$iKwNI0dKTG@Nd9?#8c3X5uWIjdO4= z&NDjivaglAU&#xUyg|temApd9iQi^?e7~YuPCLgQt~UM zxKau*S`Z6iVJw10v6#_W>s68xSQ1O&Ye@f3DPwA9emSL7QA&A6D_})5Z#{F3mGE_} zY_#vdls8DKVl}LeHLxbuGCHf6-~W4*QdcQ0lu}PAjg;~xbKb)G_%^}s^% zSt;E~dSFlNg}t#4_BGn?h?M?HHPY!K2pjSr3_NaG^Kp3lo1^AiBbkr z48c!vC=SEn_?gi;|B*_Wpp;SMqj3z5#m{jZjyF0x`~}HGoP=NEWSoLijrMn#l<7)Y zs+1W@nWvPm7@di;a5m1txkhJ~=97Gl3veMW!o|46=&bUMQr0SE8ToQtfh%zp(*IM| znA*9Pb>!=D1AdDek^Y~u+0@Sbtx7q>&^D!PSIR!6?BL-}{0?{FZrp==jm~xLCpmxz z@q7FMf5e}R&WeYX@(bY+r5vR=hR5*)p2VN=l+ju1v{EiB2mY zf08ACO7aZ@EQjT>0#-EI zzw7fxfTzj82LY~p&V{j~fj^l7VPB1!0O(dCwU*cq(f>Uvt(eBTl z8S-qG=PP-Z%QI7+1@g>d&TO26R{xi09?r+FjrR8q&q9(#xEPnMghxw;Ao9XgoXQIU>(ac@D@!|M%=-&Tia; zdvPD`H#&FSL6YzB2mBF#!b5o2m^q(^N98$2aU4(JN&Fd4;V(w#iq0stxIAa&`A?p6 z^4yl^yga|lbAg!`@e*FfU-1h5W^{VjRg!CX9dF=GyoG-lopt||=aD>rk>A0)cn|O6 z1AJ%<%lt2AJ&#GA;NSQZpW#3FuhCv5^*N=!qSS0k&85`mt?8)B+R*u@Dxt!e6@0_!tXNH{^^{tjyav|9T38$FU|pmA`lh}~@)p*| zw~_vz+JL&D(OKnPrN%3@u~H+H+Jw>fuqigf=GX$mjn1(yl1PlgXpF&Fj59j(6O@{! z)I@SOCSfwBpa)Zp_WLW{H|&l*jCOBK?WNR@l-irT5B9}=*dGVr zK%@Qtc}yKd@-cpbgK-FcibIXg)eTqb6s3Nq)Nx83!RSaFg`;r{j>XT7_P37I@gx)Q z3!I3P@JpO*bk>@x)HzC>Mm`;9;8!>kXW?w4-LX^WlFY;T_%$xTg}BJ*tg=L@KPq*p zQnx7e8>OyQ>N4gm#}&8|SK(@0V|4EMbtLO?1AdDeaT9Jf+CL$tZdK|YrEVkNjyrHC zeuukox6!$-y(If^KOVq?_&xq$bgt_srCw0#A*KGT)WeJ(!J~K#kK+kEX>`^)Me+-t z#xr;p&*6Eav(`nWUQ_BN^2_)uUcuk+cf4wJR=G}c18?Fj`~z>}pGIeuJ4$;?sdtrD zNU8Uf_M%enEA^RDA29PFKElWN1pmgTM(3UK56QpypJm!}m<^xD7mW70X;NAqrDZ42 zfjKc3hGA}e$!OmdX)lxH#eDb*=Enk9&}jFWw8Ba=XHrCIuPLo4qs6c|zKSKVB$hHd z$Cf53gJrQCmd6TM(df*tq_i4Jd!4*8R>3#0DptelM(3!SB(<wjD|1+TVgAGA6pyk_kLO%lD60m z+hYg(5IY*3yQs6$dMd38c~|U)-LZ$!nc0h^H}=84*bn>T0Hbr&AIWQO>_JM~rnHZh zHeG3-C~YLu1}kj{#iuwFhv9Ji3`ZE9XB(xoFO)W#d<>4o&v6`%#|cK~oF|e@!Y^?$ zPQj@-&FHK$Lut#D_Lb7UR@zKPXW?v|gL82n&Nn)1Eg)Hli*PY6!KL_((f(viTduVA zN?Sp`5?A4BT!U+IozXeN4J6;O6|doSyn#23&RTzv+{QogFT8_y@t)CH>w(h#QQAZD zNB9_@;NSQZpBbI|;a`&fEWOWRHhdmmz!#17S$VU|8zXNHc`M7CQ{H0o=92dndBd2Q z8(+da_%i0jd`9~xP;Y*c0$30WVPPzSMUD2=d5gqfUj3!_rx-kip zF$FzFXT>ymGvxJ>`_PX83}QNljLy0(Nm}9i*cv~;HrUqatkPcI?t~rW{g9#~cEZls z1-oK5qy6Wt-X8J}khdp!FYJwdurKz*{zm5v2a8aHYJfC{|m!ee7C!H_N+D-f!hy z&*%ngbnPG18*vj!d+IInZkKl}^)~X%nL9{!W=VF*ds*Jy@*b0SkGwy~yI0-=^6q2i zeru+^GY3hm{_i9|%6nMepU4l9XYR=nlA~5)pW$(N&&Yd1-c$0PWc24OqrZ@x&XSy! z_kz6V$j@8(2J2Om_aa`h68o8dmG@71ugH5%-rpFd|9h`mb5^}ca$VkA^4_4P|J%oA z?#XRyrhPyBCGP`y@5p=C{@KBMkE8BebL^uY%KJp#N92#Q#x^2t{~zE_x^-)O(HeDr@`A!~l-Rrrd?S6sfL%q&LEed~Lb#OnX{tL!Uf-LAgZ zkzA7YdSTpTwtR|mJzUuNd zlCOq*Z^~CwzB=;NVkZ6Ho>`Zq9>*@BeoMZ0mwtq*H`lOkgq36FYJwdurKyQtN+V400*Mg|IIT{e~h1GNruQbOukRahi1t$ z_w%zX$w>L;$u~;AnevTh{+P^B`Nqm;^?&)s;dq>YU*JTXgme<$Wa=q66{q2JoPpLk zJ7+#izB%&E&XUZ{QqPxfp?qI+)PgMeB9g^flBM!(lJ6V&*2uR^zLoM>{a?NnS>~)F zS)CWEt|97rphkU!_+e!XimV7tKo-D~e`3uUo zU%vn3J0Rb2`3}l=NWSmo`%%6hteNh%9A))?r#>v-QTdK!NseWyPssPTd?)35EZ@(W zxqPSO`^6kC-)TI9XYm}KH&R@X?;^z|yo|r%75oi<$E$eFNO4`h8x%M3mXrS>-))jV z@h>O8!^69H5AWjxd??=|Q&|5@G_U)UEZ6u{KGXJ}Wl8@1|F!=)`E$viP5$iiKQI4_ z@>^ZkJdaU+{jcU>4*7HbFOfe?{=D+%mOqdDR{wX7dO1s-PyYP!zmg>>kfkmpe?|EV z%m14EMdU9be^L31%U>+Z9IO93&s@^f@|Vhzl$O7o{Pcgn)&HHD<(XL_OJWYJCVwUQ ztH^KlfB7qC8MXSq{8h6g)#a}xe+}}QS@PQQhs$4wye?Y(U;a1oEv%1L|Cj$AY=8~1 z5%T@t-I?|)DJ=JGc+mmq&LW9GH+utjEVCiBoG|6ute<^MqbDEYneN6YV)KSus| z`K|shf1EYB*D~q^OtcdBXVgjZd*n~1PObl+&g^d^e=qsXrFE9So&2WZ^GWURV9mL>i1{6{ zla=sn@^_KHyZl|rt^V(vRS%M$R$?F9TmFya?<0SI`TH_z_5ZNU|Dwu2fMlSRd}j4( z9uAV9{_p?9%6nPYCI1llx5@vh{Nv;wD*tHthsi%ee)_-P+C67iM>2oZ{}LXKk$)_O z)&HGc9WVbR!U^)z|NU0~w|k(U{_me`E=~R^IMqloE$m#1{L|&1;Ur(lKa-(ZI2-5S zT%3pV@oQXw3vrSB8|7b2y#$vUDZasF@-L@Y;p8jjUq!MS*Wg-QhwF_L8|1eN^H1(< z<{sEYxEZ(L*32R5?ehOE{|@;d%D+?od+d+(5g`9A+%3P=|Ec%lKKb{{e@^}b@}HLf zAmR6D^?&()#GmjG9%ij0^8YOVQTb2Ee@y=4VeUmH4?F!V>|&j;5#{AS8P+S-O01XQ z6q=6!>;C6S&fr<2nI`{v9$vtUcnL4#uXsiNyYl}g|84nym;aXhSLMGU|26rqo7dgk z-nn0jH_Ct07}jem^&jR~Q}7Ib8qFN}|C0X>`Bzy+?=$Ctm2m%a&X44OO#XzKTdAKa zU>f@~`TvvuACiBq(ab&&c+N@!*+_W52VPJhy85a(d^fBWw>3Jg|YgaShp7^c9dj1IL%?fo21 zV!ap4=2MR}w}%2&|5t#|6#L#7tH3k`K3CvN1;#1xg#zQ5Gr>C6o@4cY1*{K+%)jH> z+#w1~Rv`1Wo0?_jbOq)rFhhY^3RoRL0qb6Mo@X}694k3*eaADo0`nA@PyTggLcLId z-xOG+zzGEwE3i(1B?_!kz^uDmfp3_z%$m>hD6oQLrInaXv({aWYjCZVo2|C;^$Pr? zzy<}rS0J;8Y$V@=n{yp`PJu1B6}RDb+<`k4IHX~Kz<&x{Rp6ci*A%#=!1Y|` zb0~0wXS>O?%>M9)0)HuRo80RE=DkCG2k%4 zKeclE9;W{X{{8<+@HqvuE0|3|S?|-}^9owu{}r_Q|NpMtI@_T6C%1w*&7~=ri#cJ| zoXmS5_>zKo70g5avXy7v=RwXk_zDTv7%ZURQUwbt*g(NT3YJr_u!1ENETZ76R$B`e zRj?S(Q~ZC=lk4bdtGx$HD)^d$rL3I&w?1Ej=6uR9zwH0!D_CB^stQ(6@O1^P{;wb( z<-tl>=2W)czriYuzG3B=_d~Fnf^`+Fu3#+%YcN{V8a-m&GYZzmI#y!Oucu&r1?m66 zx2*iv$;^2hGy6Y%KG;w}w}Oon3|H`71shveVQqU81)C{I{|`2`o+0z~3O45%T3CtM z0c-UL1*5GF7IY~XNfKp^X1?yh7zN`Mj3tk=@}qQ&U;;@ZGx;10CMh^q!DIzTDQJEF zSI}dAzpY>@rlD8C0Sfx4{TRR?reg>*uqC#__pvp8pkQAG+fcW~cGw;};D^`|J7H(+ zf?cs2cE=vr6MJEA>|?Y#m~}1vtlBF2hds3BQxC+Ca1efspWt8xhnRx;QyhxJa5#R3 zBg`raj1!p?-ECpvf^_*OrOm8$#I8VWaR@({ASJ3MJ3R>S`?Dw*jFH&$Z`I7(T z3ex|B^#9Dx7F?m0TNGTWjH?Q+QhFH$S1Wi^!8HmVRdB6>yA)ifpqaB?!Ho)T;5n`S zpX-$Mephf4ZZ?K3kD%VF;0^`1QExXoGk21FmnGS);P(pdQE zLBT@`TK!+apR(kKNseSmjwyISL9I|M9p{{(_2pkd`hSrA zZ(rj@1(|IYmXl>WTZ`Tn1t z?f>WL^#64Ff96%BXIFZDrRPxk%Sz9w^xR6%Wj$MZm@zDN8ud$P_5aN0=V4x@=cBOh z2YcQ00!lBg^nyw+qIAALq!-RIT9o-#|99rUs`OGyFF{_?=&bk}iS^CINy;j;UFqc% z8maX13iVfd1%-Mmy`n-rlurLoxB9=*U&qR338h!THxz24^s3a=usYVjnpg{KV;!uE z_3%xlA6NQYN*~F?`bvMB;vH;&4Y3ivi;b}fzK2b*88*ij7>*I>!bpt5XpF&FjKg?L zz(jOo5+-8`dN38!(2G9wV*rDgjv>szme>m4$JY1(w!ya84%=e~{17{0C+v(}uq$>m zQgl~(52x;_^j?I$oum&B`zpPk(g!QOKMx1sK>P>?;m1n<#1y$MjLmi7B*_r`6o=w4 z9FCtUeS|5p%pXNQ8pq&R{2a&Oc$|P=;6$8+U*cq(f>UuCPRAMe70$$2I2-5ST%3pV z@oQXw3vm%H#wEBEzrkg=99Q53f}epVIde9&nO_Jp5kiKT!OLKj9%fj7RXO(vO)U*Tr?YE@YnJ3G1QN1Wqdb zXNpt!3!cU^coxs$dAxuZ@e*FfU-1h5rcgzS-<5uq;u>DZ8+a3M;U9P#|HQxW4&KFk zcpo3&Lwtmf@d^HoPw^T4ga6`xmZ9e`8$ORO;EO2CjyW(V=E5+{jW1yyd>Qj%K4gtJ0YMLmVyq<9PKg3&c*ge;UD-=Dg&+$+%qcy>*`(R(}mn9#d&=7?N zD)g~JA2DkE{>T325c-5G3XN09 z`u?xb=UL{AC*k|QeV!8)nykaL!tW$-B#$1Le}qp6tcemJJ-bz1)+Ock_XDTqR>NT zKElWNL>YU`Q40O7&{JhJQRta6%$H%S|C9f#5dA-c{+~hr&!GQj(El@Dw5Day|1;?S z897Mk{~1>Q=V6#Kax0^#GU)#q^#2U{e+KGU)#q^#2U{e}>inl~E7r{~1>Q|9?!K2ej10 z`-W{VdM_621+jprh$uD?3sS`b3W6P#?Jc`|x9^I8idbn%6GcQ31XOwx3kqTvQBmxG ziem5B^*{3@`Tg%X_dMszJ6|S~ndHrEc9Y8@mw*75fWYYrSpP@o5)kOD0RA7a{_nY2 zpqm00ki#V)&_e8|$t>QZz`edQMS=Ser^5TKZlYrDZ)3Y(FTfWSc!}U;_zHX#z6RIA*Wo(&27D9R zItkV*@HW9aa07hTkl;P|KKuZFsK7@iApTf^jRc$EW?%n=#ZUc~bN?ss|M!0s*s9>A z3Vf;H!3un(;EoD>t-vn|e51h63Vf@;4+?x|Jv?Cj-`>-+vAzGJfc1a(etUh_gX%Uf zQNZ}WG4^c=7{kZ^1J?h&d-8!lS&RGs?%nvnKMHQAz`yAK*-Tdt+WS8W?tl^`-bul| z6_kRzD%eE9It6z|-^H+gP>$H%|5321q4%9ja5n{;DY!fO9#;42XKohU%PQ{w5DD(1 zU~>icRqy}>_alFQ^4+c5`#%aEM82K#)c5RQZ)pZwD0rNLhbVZ2f`=-2n62M@We_~P z?z4>wwq&hVb}jc?iC}95+tht{o`Odzcod~a+fw)Ldhi$p+bP%#r31Pb^~q%lUZ>#Y3T73&LcxTBS1K4(aG-+MD0mh5SKEB|8}r~Glz>&- zZ$pA11)~av(IaHOL>z>?Bk{-4GNYO%qdt>Fpp9ovuHCJ zW&0h9&8#R`<#-roZ-WPG3SLX*V4LZ+ZHR&s6&$MI?FtT4aJcz?M8WG7Wd0w#@qcwH zc$0#+C^&)|nE!i6)U7DY|4q-^k-bB~F$#`kqoYtp8`iyJa}*q_;5Y^EB)-e)UcZe; zvGf1Bx0eu4QgD%iW+)$3aI*boDtHga{JnOk?7=@p!TSiN!u#Pg_yBwmPKOV{8E__i z7|w#T;T-sgq5XErZsIWo=PNju_RONAa4DtBY^m2v zkE3v;aa`FkegAm>7<-!1mB!o@dMqszNO%Lg16y2RySYA*rIn8 z{7Av~h~I}Fzz+@moR3j9!cB0qEj7Otu{C@OKeLKm+@j#;1Yf|dR%ct5c9g%iifNlY zXul=rJ6BQgd$-LB{;1$D3jRdt&$iTfl&$<%xDEaWe^5Q>2jjrN@g39S&Q;H#>`1@gj>o6k?Je;v+!lY=wF$WGDY7!T!1PkPsgMLg%}>LVXlUDRcoFx)AnN z=pu#sxqXPz9}a*QD>P7{ONcLpm%+>774S+!yE@xd=qkjk;Wcm&48R}^DHJA%z$lEt zI7~qE`ycIEv$?Ghwy**ni9IhUVlR)DYgFZd0=RaLgN$~YcDY&{6B>MyWhx%#w#>Q zA?yDNO|)yd^P&*LiP@Bb+DpjF)2 zOXwkm9#&`u`b?{P+nt3n8_t2o|EDVSD0~dgh4bKixBxDMi{N6o1TKZk;Bxr5q4_Zw z@e>NIQs_yARx0!qTeSY~{(eKDXHcHCin$Egy;#lAbN?r_hD5chvVui8v^KH$~!xAAuls^?d zMxnnHHfH;`!n-K+kHR}C^smC(D`e;Y3U6m?aAz{%9Z>A|zwW-XD21C4*!jOVs|nXB z+)Uwmg?Cff&i@tO)t0(FAKo2>`MwKQuuJzYT0P5BT!mf#r-`)*siGX(dccg z{^`HOZ58gN@UaS?s&G4nPf++c`-_h7@szf=ncfypRQMEy?fhTildbOdbJ))R74B#i zZ+|-}+(qHj6h2d7=KtX{Y^i$;ggcXeRwJdW!aWr3hTh%kUd=sG&L)$yBYcj+|I(S~ zDtw;8W^m6Zr#I{aFR-UZ_(Iqh_EUJH!WSw0oWlJTeo)~7=oc$|m%^72UkWdSm%}R* zPAhz+iCG+|@Kpp?`^q&64??jsaDpHVDIE5d2uf7pn6Jc95-j|<7 zHxT3u3HS&QE)W-C36^0+;VMB5UJD09yE?%Tg@+OhbCtTS?<#zQUwWg$!zsPVS4Jp& zGs-Q#ax06sDSSJ@9lkzN;Zc4(nxZjqtipG?di^HTGvg4)yNbdS6rSkElN7$2(#gJZ z4~zFIJcZysU!Th2{cxJX4_N(6`K8kpen{ab6`n!DO!zRI1!u!K(DpgOqY6JpFc;4A z_4x`fKv@VE`TAmom!K?#%iwbOI9vgrFs$2Zdq&}>;L~s=dD&(RNUQ7HsTnFEPZ^F0WdP9P@;X81H!tWBi2j4d&_(0(g{rDq= zKX&7~t%DTaM8anH3H%g(2DiY^;TLc#{1SczzlPtyZ{c@_1m7$CgCGBh@)P`7;a>=T zh1(1XeuKX&{D-gnX@jj(6#g4$_{Y$@R}=nEktT|4r^t?qY;Q{=*8e@XjO>IWtGGTK z*;$c#MRq~2v%2eb5&S>W$p0g|D>7Y?JrwDwNHay+D6*#_Efm>Hk^L00{;$YBa9_jv zFfJF_Uy*|p!T%%H|9!nVnb!Y(&w%Q!)|BCdmN}Q`?jAAk>9-5bG&6nS5f8Hzls$V^2RD)O)*a}}AT$Rmo( zCg0Bg{j=s#l*by?Fb`!uTwrzY7+a*s3PlzxvP=>8$X`mS$XpH|w~BYK@h4+nneYlou6wMUj_?U$%OrHSw$PHLHY2 z5WlX-TLkMAd4s^t|NYYSifoYA!gm_!?~?hRRibV^A1LyRA|EQUMUjsb*-XO6ifkm< zWHWId7C%wsQ-aT|9_dN^xgy^x@`WN_DZ>0e@}({HeB*0!zCm&Gzf%-I>tw*u`?~Q46H$|H%%KSgN2YQ5@J>gyu|BvGT z(S1?&gZnG~zM=;xcBi5TDt3sX2Pry5(dLR?qUgbjc2u;5qU{wmMW!W(D%wiX!_2y- zClx&$w)A>6YW-i)*6>Jj+m;~ zrArNcPgsufIJEcw{bTP*MW0dB`oE%2!_rzbJ~AG7|i*iPuQJk~_9eH7bSu{{*qMX_BKt0M>hk2STKu7AdML%054AGz3& z#b%1_Nw62(+pwOQvts)y)HePKUxW)NHd_xsR} zkz$v?OW|ddjv&55v6Nz0Di&01pki0~Yh6w0H4y)g;s4&ggcJ)?Nl(QhiX{}Y{;yaJ zTL1U=8vl3CwV0#WFvZe}l@-e*Xy1VZc#Re-@MX$kY zZK>-gvFlKVz@b)muZgki6}wHb8x$L%82%p{PR>m>$J?WuQEq|O|NWNSuGnbB?m!<2 zM^WmwXAH_%tMEBgvAYx>q}VvcK2&VHViOgcK)$77lN5VgvAY$Usn}%2rYd$1`n_-p zywA`dh5HqouGlp62cY$Tzw{v#JL3Kk`>sR?$HXxURLZ0#a1cyq+%--!~bJX+Z@jUo?$KP|Ml^g zh*vB2f@04RuYu3o(x`~>|Cr76J~hN%QS2?nURCUM#a<(4tu1vw=f>8dyaDllZ%o%K z_O4=YqrU^K|JR4zes~Y%eQ5pPAMuYAH@5S!Vt*>OQL%3n+oafMq-|F069Vi1-poI? zMX{}leUAQx)!k2Ru`f}+f?r$Rodw0dRcxDL-zoN!V&7Bx1N@Pk5yU@3{6F@q)nnEb z75feT4*#%vxJ3My;=3#Mx8hRlAH}y<>|b>JKaT&qeG>XJzrGD7!-I|K6Du-$U^O6mO>ZK8o*2DgGbdo1C5~`@;R;{#JMUA%39Z z2P=LMy7hl=b`fuZatN6m5Ankk@2vRYinmw1rQ%1C&`R+m2wKAKl8>OARlKL--N?cJ<2`I9*KWnnM(+jBL7!mA;(3anPtY5E z2Jr=oU#j?piuYH%FG@dn5jk$p4?wvXTL1U=;xfetDtsp69rpRV{lia)6My^7zj_!LU-gHsLt`lq2hVA!;IU#olj@{r<>DLzB-*^193 z=V3UD%t6F+;3M!+Lx0`5iZ4`r9{PN^z|h~jMJS8m600|FAYP{U%Ze{o{8_~xSNti( zSD-%upCr@vw&G92mGBv>H|No524Q*8ja467@>#t_1#{!2c8Yzw4QaJy@$5wEpkyX<~0B z4pw3xB@R#m|4-om3D^JEkbfY={}cGXd*3+GLW#qbu>P;aq3|$6@2+y9B}yx3{oix% z#F0vLSHi5)L5ZW4I6;XvO0-h~|4&%|SK?Tk?_LKJ_oUR1^pXfyLX?9(Aj1p%kah4L+|CQ)$^@zKtT~NA0>;K+o^F$9NE>WVV z5*H|Owi4$lf&VA0|BJbeUo-xnu>P+^A6tWa-AP=i#6?Qr{|W2=^~{=-=uam8pRoS# z*K?^7gOs>TiGfO7P7eN`aQ%M-3jUwK{}cGXJF`s$l!z!1Bqs#JhTi>|L=+`v756Hf zNGOq3B8i@YPNUL{5)+ijDsiI{4NBCM$SF}$B2Q)k7Rm2PT!s}`MV~=@trA0(7);Fk zKQY9Xx^s-gF!bx;4OaI?YPb?3mAFZXTa|G4`et%&A;+!xHk8}p9ai`Hc9ar#Dlr;; z3><4q-5EmSE|hU_yw$yyOjKgF5|fmero`P!Oi^MoIrqSOZKhZMeJE4m{Z{wR&4;yIZ7;2;t?h0De)+!kHNX*xO+MuWdU4>K7n|#63dlX zLcA0%v!&h^A4gdMpRl^;2~R1xn-WheS*OHGB|cZ;871CQ;#nnLR$`SB&nvN-wVs1( z?7Hr^V2Kw{UW6}M-8+_EQQ~zaUPXTmu5DDh4&@E_CVEfe^-35se_M(7lz0ba1ALd9 z5ybDq58#LB?z+bRKT%>M`X;#9mb!N>5}%@c2Dex};@0+s65Ev6s>HVxeW`@?evHPs^r1wE#M)x)ZOc(^?xM~hb^t{_EPc) zl-5eNQSwOQqu|lxxLZ61r7b+x>h5`(#Q&4{f3iKLC%_ZQar@+Clv9-K;J2isQ4qNV zBs(d2TBH0klzc?VGnE{tWM?H4N}i?Ub`3_8BsE>WR%jF)mh8D zKL;hL+fg`<0xel-_x(@t$7q_8*naW>za?g*W-9p*`7;dtQ9_B^N4btb37?%gpbMm0Yak66&=6Z-0SokGCGierjkH+Z$Vy{6)#nl{81r7fODmvSgk9loO6^Xt2W)0&|29rh zYA=+%T}7#Vl-k#i_fu+rN)K?A`rdmfb&yism1>TDuu>;0)k3Kwl{!SJmP#G!uX~tM zhuheFr$?%luOFdQYd5x|lQKKlUa6y%YNu2irP?ZW3~T*lsMN7;W_^#plsXROc*FW0 zJpY(F!7WwlM5Ru$@g|;pOr1hz2c^zZs-se8D0Qk*JoB6CRJX~z74t6=POm@TK3AyJ znXt2={o7PkstZb2$nXC**(V>B>H&KybpgTIO7$YJj{qoju2Q{~I!`Hn`TxIn*QENG z(z=bDBdH6?>c^SHgktDy7m&U9D6^ zscUSeZOkATP%22k!@sGpTgtdc(POTnR9q?V`Cp}yN~I`u+)~Cpqtqm&vgi#;-Ktbh zscV(WD^*si;MY@Bs$^qt+$+9rdbQ@pjQe1vZc^$xrEXAah*HCp8p>MkxL@yPGVV8; zSgGNL{K2>njXTf(rfyeioKklvHCCySN{wdqQH{oZj6d#oQgoNC!B%2g z$iu&>3Fs3M-EqGgWwKHa65ONIy#($U-KW$vrKT!%zg^}3$Nd2o-Ep5z{zGtvQgf7= zsnjf`9yW?U?z72v>wJXFM;j?~QRYGS_+LQ0P^nc)EmCTQQug^@#3gX4Qd|^L%UQI~ z|Jpx$)<1#rq^l_Plv4KjU&NJ4Jwx!Ut1$YjmHI|0w>Q=(^^sD~EA_fkFDUhjQg$C% z#7f!o)E|B8 z|A-$b^`VWu(Z~N&8duhcI}{ebeL&9Tk=lCzzh9pr3p6z|w@b|jx;!;#H&tpA(M5$_`B2RU_erpl>DX$p6RyUDpi&hBzL z$=Sp9s?$tPTREnZL*?uxr@5THI(XgHc+*L;k0; zc$l2SE^Z~Xvl~ix zuLj%mJ>{H>c($Bg1n0P=_Dpfkb7MK@Q`FmU&jl=AD5t-izQq0DMTX{&Z4E%V*j40Q z;_8T(!OQ*Hu9S15oPmf}$tlRWT24&PHF8371{s~AfSjNSj2p8U_VtLIs2kh!(TU5+ z%1Ov^SxgOqt_#E+Yc$1vFd0x&uIm_kD zm$O*T0yk66LOF|U?7FUF&7W14%CY`$|LiC~E@zdT6>?U}c|y)pa`1oGbsf+D*(3bl zvHtJ5uCv;$N6vF{*0>cK%6S34DCZ41FUeUe=Vdw8_T{|t|E}x2=DDu(Iz{UY?Vla- zH&Lwr%dwOHI(M$+@csv9gPbjL-j(x_ocGA_{onaO4*qXevFA1Z?`$MzlblcGY?kwh zt=^gc=- zsPw){@2~WJti|4?4{$T>v5`K=#7Z|e^p1^m3%6A1LzF($#_kn4eK?sdm2RtaE2WQC z`Us_uL~Q;4$42@n@7PGUq39S}gRP{h^sy-I;Bkmtk<;x_PEh(RrB774qtYj#So0@1 zMd=Q1Z2LBSDq<&in$l+~eY(zEX|*7Pg3ce z(kZ1gN;@d&My;~AP4Q2gh5{91?b06P2E<^d#DFccZ=FK1urCM#_CkKcw_jr5{lGe)6X^D&-e9=hxQkmvTf2EA^ z%&(RHN$GEt{$A;C$^5QSroI28^pA~{pOxOG^e^bYHqyEOleYJNl>WojmF5zV<`R(p zTWLH0H-AcV2}s*ZfHK>`?UmWVE6s2T$n2zyC~BfioiaQ7rMtLqH=?Ls8PETXsLXE4 z?4!)?%9v{Rur0|n`~MbZ_Cm4u|7}&abYEo-P-Z{k{Tt~Aq8!vnIaryt%Cu1C2xSgY z=5S>WCFih4IW19IHBwqDbF?x?q94^rZ-Zj*|NAXDR+*EOX{StkWsalt_(r8Cpq$u9 zIa!&B%AA7U0d{mtmEjVQ>7>kQevh55jJ*UX!~LI(^?zl~g7|+1|Ic(&rm9SLWs1sJ z|5v7`GFK>bwuxEnr40U`vHq{jdGLJL8}@-0zzbnt*biQ0NYG!I0R$H-bD1)iD08VD z(@m4=d(E=%I?Gt||NlFpnJY;isLWON3ZA(dUIPcg01Uzq48sVF!k98yg19mXWgOxp zOxewCdQO=%iy6bZjdSdEIn#iWgLzmmtiQmvgjSVc8CL3hoNA^Y%G6lAR+(YS3|3|c zi`N-iAI=PQ154YD*DG^_AK$19{-44BGx&c7|Ige)GX9^z|11t)%DhE8t^a$^^=EkaH?slV`oGi2dv)D!1t_0m+ci02=G$c41_JZdqdoICw@O;=C_JJ3` z3k?bSD%;PGFGA_B>;Qs`ef<&^FNK#WdpW@s@JcukUInj)*BBBEQZ_&kgdtxKD;q(H z!kDkel}(@|VG24h4Kpwc8w?3@%H|0QzEV`Sgi`jEO4H`kP-^y_A=zs=_6FOd&V8Ro zc8IdWl^v?=jmi$QF9ytBPmZ1cyZ>3qp2g;kJ=vR-y+hd%%HFE%&E(udJ)?>F{x{3_ zzwWz1vLlrpqwFY3ZH~Xiu_$+<1c=8eJ6qZD%1%>ug0fSTov7?&W%2(k{_oYv{6EY5 z-}~QQL1j(baEz>-|J&Bu^Xma+dDUC?L1pp(EdKA6&ZIZ+|1AFRI!ShpvWt{`MA?PP zKC0|IWv%}!JJ;6y@y^8a;R36;Z$~t5%Q4r5>|$kKAy}g9Qe};@Oj+~tALD_h=gs?n z++c;W#{bP*3XS-rvQPQ((<^gakM>PgS>FGa<^6AV@fT%(Rl|3HkSZXWG(@Q z<`Q6NE&+z-5@2X90fzO^TmnpNE&+zd{|$GCd%$Lfb}t&3|2NqAzZ&*|wg>FkHS7oX zhX=p|;X$yu8V*)N3lrNJl$kg+9HNFpDYCBsRm0)1C2R%F|9>=kYj`AdH*_>{8+Z(C z3y+2E;BoMH*dCq$PlPAIli?|b_CKxLZFN*bXEmIvhSSy1iM>0`?wvVY?f#wt&$NpB z2E~T6)X+^0UC_H)oi}r;p*u&}L~;5qPIcpf|-_Etk50`vYivx<5Dn_*wr z4_;(Q&|eMa{coo9Vl}K$gL(g(iOu`p49)xB49)xB49)xB49)xB3lRtZ4==ncsHC3?}7KiDeyix z72Xf0!3W@ja5{Vl&VV!F!*CXy4d=i|;G^&{I2X=?^Wg%x5H5m?;S#tME`!VA<8TFh z0zL_!f=|Ph@EQ0lTm@Id=M4S+c^>5j_#$-s?PcOu;H&U8LxQzxc%5LKue_m#H&Nb# z>*3q*9k>C$3*Uq9!w=wx@FVy!+z2Ts|g749pGc^3DhF=kXQUmk<2Il`}YGiBJrrh>w_>K5? zXz%~1;ZO5YL^b>c|Azm-f8l?YIrBd>?Eyf{?|*VTnsvSR3g)ETp2{^*Za3w2R<2&T zU2M&{I-6tGvT;+mt5vwt*BB0L?%DHL>~UzlQexZv+P`Xa4`MjqA%lE64qx9QS|zH#4zYX~njVu$P`(Yj`9y z4K~Wrunjy$xpS0jt6Vqbj#cg~<=QFNSvmYacf8p_<=Vp&;EC`gcrrW%c7Pq>sjw3~ z4W16qfM*)IN44D%^G2*(7v;>$pFgpaPcsm2FHx?$a%U^oL%E*zGp6Y}^9#mh6P4>_ z+H9{ib}!C_=PB1mx$~9l&FdCN+fg$&0dmIwU$hrWo7tD%=%?I8-me*R{goTw{?^g^ z?Vs(mOO(5m%*zbDakTms%3X;*(CSvX3SJGbfrFIeD9r^~3>gxHVFX5%ixI?O0w!S! zIxr10hIK2MiRGAC<#OnGSg@tGB}L^*1Z7z9^(u=s|c{VI#kDEBPE zD!3Xx2iF+Z_t}Z~1?AQ&XAbGL%JHcu_cHn`@KtE%|L$*wm3tj!9ee}63Ewhw>tyk5 zg@bqx%UmdU)AP5RPIORK2q*0zL z6z>1$z944)pJV>duZt1CR_+^uZz2Alv;ME#4~E`veRDr4_n&gc`uKz^1CbFM)^IIKUn!@%I~NAo@6rr&+ko)|L6BLvG?ol{Ql?%zyskyu(@G<{v6^K z%C}Pf5Mum4Z~b5S!(mH9>yTDC0=9v<=c{TENlmlgU7@6 zhF*W>PgMR?bFAxaT{eoCZ&aXTUQJ{hmKd`74y~qI@6ayDHyH`EKNN zhdp3Vc($Q;9D4n5F8X=!eAwIOESy7pf${^CzmT{u><2G`{SEydxESRUcqzOLUT)~u zcBS$$9_7gHz%CaGGKLfEe+Ea5{Vl&VVxw{n}wHuBca?t&eLZ{|z5_QHdRMOe zdnoV258#LJBSU|S8&xpQwn_QFl;5oUcglaF{8r^ZCG#`51%3{{F!axqFHydNU&C+U zw}#&JEC0RnzbgL&`j7A@_%r;)(9hh4@*Dge{sI3q^!NR573!4#M}-}g|CiGLEDPH~ z{J*e+&3Dh`!cORdP2kRO7elYkLcI#jRA`F6E8Gq44)-whT3FZ{cu0lYRhXp09V*Dbg#L&B979K;H3+KW4aDky;=OPszS79;w61WsDgUb#5o?Ls8k4_2`S!6EQai2oN4H?enJF1Au}q>4wV zc%_Q1RqUeTkt&{~qS?WADjv;RZQwDmEj-rHbG+hlD96M0@C10Gp}&tOt9Y7qh4-I`fUspt@-VFqSlgQ34ic@>ALSWvO1Vv*7kEW-+{8v6Oyq6~)D z!69&{p}$|(t9Y}DH=y4LheQ0oIKpPSPxuyZLBAE=25*OV82Yu1Qt>ktN2~afieprK zQpK?-bPGVg-;e{nqV1alil#fflIeeYjYyc=Gv5HGpQTPZ;|B z^OTCKReTzKC42@x3s)KXM>zgpT!W7P7hfQL(dM`_vEs`rZcyPR&-{BuN)7&?vilrS?+K~YNFNwGb+}Y4;VX01~ zJyfbkZwhyXyTRQJy{(s;q3j9wf_uY#4E@^nQ{@Mh_E-5zl@3tpR1UZu9^$HI2- zIB5OfJ1R;ipqvO#f+s`k|9)*9RqCPAsVa3=sS~BA!P6oBU$Xx1-AyW;h28~rh23Cx zL%+_RDxI&=+339>V_L%hOXt~4-jJYDZ%X^X3*d#Yuc7@ezz*(3Dy3EGuhJlu2B>s} zN*AN!|0Vptg#VW=w`;j)S?Nl02Ewc0)$kfaKPRA4Or;=t2!>$OY)a?AN8qFIF++c(=Aq1o3*bVy$k0FPmZ>CDtryDg|8d>HNTxX_${4RVC;{T-&h(9#+NB?7$zE)|YO2*zdQMws^0zZYH8T!Yk zTk{v_Tj7`Rt42BBsPvOc-=cp9zlT4-9}WH5en$BP{tCCj-wgeu{STFmx&5i~zAF8t z@-8a)ZZJVE7aRK8Z_K`N(J z4yYVcImlWe7={rTHS~KM|1T%dlQ0DxLw`>*Di>AGqBp=C%)^4A-@_%8GOWNVtQmUW z8I=dCe5=aWseGf#Lns{zhr#RN4ThdimWQL<1V_M|;Vp)K3vW|-jLNs8-vLL$QE;@O zcfYGV7UfQO7aRx28~SJ5M3on)JW1t;RK8o~sVYw<=N^dvm!}ZlXV-FPs^$Aproji` zgK)Z`-`g`(enjP&=nunLa5kJ{==bEKD38Ipa2}j*=v@)Y3sqjJ@*r{S6;FjQPgVXHeIwii zH^Wa1{mjo$w!qKf7jUbg-#=fe{3GJmDt|-pE&L9C4}UQ9<_zVZRQ_G%pV5DTzrt2X*qq9aa3?6(#L!!-vI|NbtcOkE zu7-Zj?yBsg${y&=;GS?VxVK@QJEoO=QTBuT!vo-fhJJ0$RXJLfgH>s%N()L4frmo; zzjC<2G0^m}Q5Dp#s9A07Q9(ydBOTbkG zSHo-IAQ&+8dn}~NP*uXJn2~Faxu&!O+jit5Q{^fL??p zScVltzdvgz*TTW@Iyl78uWgtrHzQuJ$_)fJ!r|~HIKt4+zeSZ%s@#fx8@wIf0Y@5o zu3H(6G6s%?cfz|2{o2N>^0+D!RGFj7L{;u1VUj9$6HJEpzf@S$|_Z!BIjwi5Kl%?>WC)IXQDfc&^sEd-BmqT zRs6r&lhU(cFL;ij=d@M)zj{7;Z`cQ3VCWr()xN4;rD{J_FICn0zpDM=0Equrt^a#x zU-dHd%i$I9N;uHauk&hE!>V3`J_rV25QYr>F^Zr>VGPD$!qDGhO4T=1byPK@lUDUw zRWqska*u z+=wz9;{VkV#5WuIqjRgOKws!ywm|5xuIXCxd2N5e62EJxR!@GdwGj)xQAL^w&+ zxvJhxJQ>~t?}by~eQ+wgA5JqQcmO^Kr>pvqs*k8TL)BTT&Q$ebo3`|``n>rbL8{JH zbxz&V4d!S!V$?YW@pJUAaNfD7RwxEL;hOW`s@g5~gWxI)z@2%a<~ zc*-<@U?u(Y415-@g4X}*mY+eqM%7nTeV+IQ_#%7>TL1UQ?p2i6;9B@PwEpksys7H9 zs=lS_CRNv~`o5}flk*PT0N;i08T#k!2PhxHkKo5}qoJR(S=BF8{RI6}_!-;+KR2|y zZ;#Kd(E7isUqSr8`i+VG+P+iuFIB%+)!6$FXBpsvW7?uBsiV z+HR`tt=jJ7bB5NM5$_52vNgEh#nkZs8vb9~kJA0&0XE0I4_rG)wZl}y|7!<5X)y=`pY^JQlVy^sZ~Q<5Ai}{J(Z0@kxe$ zou{aFx@sNJJHk_8CusfOZz0EX?M(E}@GRKH=6L(tO|`33>#kZ~)q1FQo@zbGIUDwZ z*8f#I*U(=J|F88%$Ny{A|5dxNQBFVAE>-O!bo{@D|JU&U+9ft~*>p-TgO@}6zlQ(U z2HG62omZ=tQtcYmBB~7{6aTLTi9;|Ihrc%srt24q`j;{M5IlVwzld%d+&Lx6e&cM9okW$DHSCR(a@y5 z=l}hE-rvvl@48%%>vLY8_xYUfI`8wn2kyZ!I2P|U1A}KUz7Oxm@i+k|nr_WWYI;~r zlgS^%DL54$GTr`8BbkmZ>(697%d7E^=NvUHRnsGCTBxSEYI;IV^Qf7RkK$waxapqt zB*|0wG(Lk1Ojq-)nqE-TbL7wCB3z71%r^79>qJd2;!F54zJjlsZnf9c^q!iQsp%~> zz0T|#_$DsL6{g=go8Bf_iSOVleAjeqzOSZ_)bs)QYWxt_;9ApFeoXQSev0exGtQm_rP0c?v~ z;FhNU>cOo^w!v+&9d2j3njI9}Rl)Y;JK|2bGwx#g-8i@#$?muZ?umPuZnb?BJX*mH z3LdWDz6u_s;C|HXkN?91@Icc&>tK>Yup=IdhnX!kJnW=kX9h=L7d#S=GTmy&D0qs3 z$0~TTg2yp?Jf46j;z_38AA(&;x?y+hfjv#P=BWzyQ?M6#Z|sAoVPDf7rPE3J;{ZGZ z2bylRGZjoLI9S2!6+BD9OBFm@!66EsL*=BZ^4mxtLfjL z2X7~7!XSn)Y__b)!>EEW260Sa5>uvo^^Ah!70fC)O2M3h6$SIu6tIXTESv6~QYEQj z9UItex|Q!xaEyX?lHY}+@ov1wbd_UC?!|FHong zHg?y^L*x(RG@OnzOtXz6zZtZ-U`{i z>_cS-+!yylum87c>0qG)NDjn<@L)W|bX$0+LR}O(jQnuygq_jr|Nd1GI+EllJQ|O| zV@-}JBZ z&>0F{qtHNwE>vicLgy-UCN+ccEIb>}G2MAQkK}y30EggE)4zT~7b!Gcp^M2c!AtQn z9A^4gd+2hKEAUFZ3a>U>e&?Tu*D5qZp_>)Dj)&Ld4R|BoWV&nM7Lt*8E8d2;o319P zr0sr4vBMM!D>6o*h{9JZ6jgX*g<=Xls!&{^u?i&=sw$LJD6de8b<&u@EapsiR0||U zEMXZdraOi;h3-_SPTs&~9EEq7ZaeQH8I5=2Jvhd6SK7S_J*3b$g&t6d{vY!Cze3}2 z0#5YmTfQO=O(L0$58@P@YP!9!zyCX1p=spPaR$!BS*CmSIV6wZT%3pV&A^D)89%1b zX9_*8(7Osfq0mBwo+N(?pT=i!f$8@BS(4}Qd0d2xaS6Vl(Ax^VXqS^h-d}-N$oofE z6nX_;#ijTfF2mRH4SW-q;|hGs^sYT`os|l`)ACTERsYG~Q)sP1@3Rdb;A*7*hrIsp zj`m07ALA$ZDXuf!o_?;-PYQjZ&^HQw$?RA7HLk}Ern`Q=CHW4&#~<)V)4lG`3jL|j zFXX@CZ}>a@VYil;Z_Q7tFRPqtMF!CeYiDl zj%_et`db^`f@Dji|A)6`yp31Wa!rQYDZG=y+mUaNJ79a<(e%G(8{U~@7o`7(cVoP} z>Gz-To(dnL@Lmek0U);}hTlhbc1MomR2oE;hnjIBBLg7Qn55vQ;6LvQJ zvl;F}awHywN2AyO{dZ0HIE4o&e7wTF6+S`X?h2ns%}GfA4|iqU&3jhMXKuI$Nl!cl zPsLtl%XadxkHV)h=!^aEbnI{XpFZI;6dtPZK!wjyco4H^;$S=r&o=7cH?SE;DSQWmJMk_Yjd$Zc zI0nb!y*Li= zuo^#9cnyQK_z`}LpO_3jRd}5ne@61T!e6-LONGC3w71>FVJrtq;N9g|%`hSG}AMyIX{~nC&$!dEc{Xatgk97D? z&3=j;tjPY<(ElU!{|Nm*;`M*G+9A|*MEZY({vYxBzuy@mofWxEks}o8uSgd~x+!v` zBF8I2|BulBBVPYk+~K3@*Zpk^Ud?`oB9?!xV`rGF*|H6uDdxYwuT3N&k;{{a=x* z@fz=0{uMZaHiV0|GOi3vm#B3c>Q0Ikx2iK(ElS||95-j^?yY|7)JVk#Owd= zyvG%(D3VYlr$~|-`hSG}AEEz8y#DXDFi%YZi%9>Ec>Uj9?NvqYP^89e9UIt;qfA$M zC&^tn8t=w?O!tao6%8tKucGz_8K=lwirlBj6N=og$aF=m+aBo46cTm~OSV z75Pe$m5Qup>K#Q^F?bi>!}sw6(;dkV75P+=HRNmYBm5XYG2Qy>NIt{Q@eBOYbgO-> z$Zv|QSL6ppHZc1Qev9AX_hz8~PKix+ zH0E8cXgfuBP;@&*xA(r=V>grbQ~pODR{y5sF^P>{ZxuMy_Fetykaj zugyg1|IzEoZ@?SzCaD-G^%Jx z(U_tcMdQ>YFo`KloBq2vnk8vjEzh`sMQU0xE-TusXoYbVYgosI>8_bkBzNGQco&W~ z-SNLi(eZ?16dlXpUL1$_;r*sN8WR+qqUc2O2XGQj#s^KmZ%3z+JcJM9G@Nd_Eu5+7 zB1LB@`lzC_nVo}P|5tP_&cpep+vdjUn5_Juj3o|rs-aN1<70ZHm<~XOt;#*inUVo zJw?A&^nFD?R`dgER^x}b2G`<8rd$6LMZZ+^Q*!!$%ik=Eeopd*>8`73)vF#LVt=N`|ZB9)a3}9Q_!gSBtiezit2Dim_rvJUB*!CnlV0+vV z`HYM0Y-9g#4#sv>Y#*j}Q*3tzd*Gh97w&EP`xWb;*nx`eOHTif?a%mscmS0g=h#6c z2jd~w5f3%}>o9h>;*%BYq}Y1JIx7}Y>_yJ2_Jzk7-GB%%MuPG#H+dz)_CPE%|kVPD1iF*qIj;{ZIv z{QtZ6*dWEuBp-}t;n{eO>Hm&R>^#M;RP21kE@A2d#fC5#iWlNVc(EB6;k_exc&TFa z|JX1d4#&&!3e)dbv8xojRk5oTyFsyQn7tN9;B|Pt>5j&YBwqhl>}I?LN1Fb-DRvtP z{Xf>kIEWz(o9-+`6`QYEOtCSF#TBb4mQXCGSdvQme=N;7gIUx6Y>MSc=>M@I;}Vul z{}U%xRqPJMYUFinU^9*~-Im-*au<%qyYU{=?Ho1;{!_V>{54#L zuj3o0JKD;L|K#oH>rlj2(_-cIo? zncWJv#%*w0)75WBvOVsA?Quub{}hYwOtK5^>g6rpABgX+_%Vv_q4>dy@2U8Hitk0u z-nb8Tz|g7_hdcUHV3`Js3i9*&(%|2MDVN04;EBk?Fa z+Vsz3{8+_LRs1-`yDEM>vnSw*coLp$`tP!MHGyfn(mssndBB6 ziMQfyrdzW~@tER4@(_kGf>E>OSh-`HP`s{qQt^V~DQeP~!7S!5Z?+sm9u^g+|Hr-l zuXqKkSTpTQTE-2{z@P$KidZI~U_gCg4PT z04JGlwFi~312RR4fZ|gXe^>E`6knkD!-_wq_%y}mC{F*6&)~T;aTd-t-MfG; z59i~frhBc&N$CIaCmBD5PvbMD-`nF06<@0Ovx>i<_;buYkBe|IE-~GCf05)Rd>Os| zulTE`d-c~8U!nLi^4IYVd=rb=Wrl#NP5+d0QTjS=~ z#`LeiL|Y}gE3t(Vw$7GH?4rb0N^Gyh)>LkT+hRN1&h$G~Vh57;xFha_UjO&^D6y*& zdn>UU`R=#}?umPuZfo};>45vkScpE#VP z6L!WUu#4$;kHk?*oS?+fCC(%tjA!B5c#i4L>3JmQ;{`Yb zhnnscFH+)KB`#LtawRTd_ENkIhv9J3)n7q!C3^i|iL3D%(;dkXO5Ci(b>!FM4e0fM zC2lg^dAx;WB;Ja*;q9h-#h?f@NeB&JOFDjAY2 z<}i;1)19x95)CEF`t(jyL-hp@GU8dXSyOp?~@E#?`Fc^#X;yCpBzdK^% zm9X|cfqWu9fRk{t>36)u6q2d<5I&64O!w+Dlvu9BOeJ1bVwMu~m6%P<9DD@l;ylwm z>rs-&@Ns+spET`?QsOBkyubgY#51@67vi({96pbWa4{~y7m(loN$~qW34Z@4;r;%P z{jq<2j+a}i#A^(e;p_MYzG=FxU7^HUCEilvJtf{|b|t=ptMFaZTim;5Ya! zerLMt=LeD>@h5EA@n5`}mOJFcZ%SBu|DD-C@K5{;|2F;aaV7rsk|g~BQF5Y^RVBwNSyS>( zCF|5Qkp7<>#rO`>T@QDWjK;h19vow~>`Hzx6DEXU`KT`7((*Kjc zF#gqaefxKkKk!fd3;#A<&A&=Xsg1lmwJ~mjn_?@|Kl`c8NLu6O*aicpe{Y%ELaCjV z+ES_Ql-i2ft#KRl`oB``Ojo}>3H?9Sp7D;jlj(0^Y8R#UQfgQ7-Eeo@1NSujJO9+) zB>P|o+!yyV-D>|+`cb70P-=)$2P)M~se_d2qSV1k9jeqJ)OR%9ULQtsIMV-9of#kD z)wEpgsUwv-Ua6zVkH%y0SUk>j`+EY(iFgv8j9pE)T6d)eDAhx$K1%gu_7pr7dtq4E^Ncv(wJRSR+Zp|~4I$NoMLsP(N{vw}p%nkgdn!p; zN-6&T_mublzk7e|f1*$2lxirISE{O1L8-D*MWssK|LX4jZ}lq!J=XHviv409gBsSo zr+X``P^wv}(MpX{>Q1G+|Nq_o1o~E#y2~4{d8y4BTlsDqD|L@I)$8syYZoguR;f8k z-K*3TrN${WNvZpknxNGEN{zSwJ3i2FAFsHN6--p>fk2<>ZPw-jefRZ#KQJ|!)gCn4 zta*aHn5xt)rR=~?SL$J(tWwWe=xv_uMbAH#TBOwCz{%IL!Sma!{Y0r3Sm8ylppUI=ukQUn zuu8pxuPXJnQcIOuuGDKvy`j`HrCty8ZEv&QQ~FNhP`nxFKeWxqyDGJUXT9Z3^*+cB zpi(Q9`ar37lzLaGRkqiGeuJoaPpS94vVNTdv%YGx*3R8(@()cf@3~&7wMrkQ)JIBh zq14Ap{j8L2@K;K;Tm$Qr`dq2cyn1#}sV|iJ(zYZp;3IE^zAr2FwNgJQWlMdl)CQ%# zvGX42|AhB@o@?!rv;O~mps)WspMlxdvVOEDD)p21^d8?Z{zd7HmHJhwf0X)7DLaP0 zEA>a9?=N1>`VE1T?QQ#)Qhx{fwzkABD%$|1{`H=l_C8hHtogx9(wivVM(ItJ-c0FM zN-NO6lea>Tc~rJmdh?cx+%}9PfNf3t6PWd$(pxIMx6)fFy|dC=E8Sk{ZIs?lX?vk| zf&TsNYzF2m<5}A)y+dF~uR!061E2mcF#8>)cO>7*TdMECK+oAq@1pb`O7BX(o6@@n z@?8Rbqk+Chcvn$+Px8G?JFS6UQ5`9^WY4Q|Z1+pQ3bcrB7A5m+hckf!;f-*WF6@QTjCR;hY7Yy$@2lA1j>ht|JxJ-Rls;4G3zZ(M^aVORGwsr}X)OVuwIs zuI)H`H-vSDnt>lj1%|9v`XZ$-SNdY5FH`ywr7!iSW(ER<9@b2h9;Wp0!03To#-mN8 zuV95My|UiNvKLn?JyPjwl)g#nYn8T!KSJs2?B%>?*_I5k^JxA5Mth2P<;>nC(A$p2 z&8%~aw@#mGV2~Y+Ta~uPew)%krEgcd$(|S(@TOPL-;RGs>9Ch9tp*AyduJ)#a(rT5 z!RkeUf^C07>CsBtiKr-@Qo5*gTIrn98Ktv<^?%#`dau>1pmbj80xPfbI<0s8l#nxP zuVP&^Z3plUrE5wzl&1f$9ZgNM(xbfRe$^D1)sf^*^!k6GU%S8%I~}$=_bYvm(ssng zFgw=t3I;VPJ&xo)FX8vVl^#zr0VjI-+Qp0~d7p{t$@m~n!KtSI37fXlWbd+RwKW1C%*anFEzMMwx?@=|u6t${fO=BOZ#} z|7X1W|NsB}mP}`5j$pP69*IYxcmMCU>R4q?RpvNlx+-%#vnL?;{~7N8Gv58btMA5a zckF>Z@f6d)W-`5$Ib9j={$H6s$o+q&FXMiu|FuS@Kgj?*0|(+D)4k$gWv)`@EM5!!GE4LRGG_^xsdvc(7XRv<`TTrblWhDWH@^F|H@o}SDOC2 zK6AA)w<&XtGB+x7Ewdx=I=milFx@uaL~=9Uf+O)(v*n8A;qA&aF$iJ^!x%B$7RHpB ztxQ~*vC1TrsVb9HCa+A2$~0y$i#gM6d4Z&eB`jmbbX!|f=1yhmxR=bO2 zG~SK(;26`r6Yo{#0cFOK--q|(c$|O}O}FMGWgb>$GWmlz1*hUervJ5bW*W(KoPjfO zmg#>dHZw<=rOG^_%tB@6D)WRg^Qf7RkK$waxap3-lO#{!)A$T7F#Vr2Wu8^$1!bNi ze;ya%Vq9Xn>;FZPm+)nz|7Tvcv3teWlzC5?Wy-vz%q?8S7rWI<~Q=+@elkH|1#ZP|3mVxXLcjp z7&kHfz0S5$wk@HQ-HbtN+#K6rz;yLnDBDiiEy=gSt#KRN*7UFB>~~H#AE_;TuDP`^Z|JN!zNZE^&JyY59lpRdv zS$H;{gXfy=oSsi|0S>{Tc%kXmzgXGJmA!=gQoIa@;c(OK*A*mJ;#GJxUSs;*AUi_Y zTa~>|*&CF-p8R2IZp54LX1oPQn(pl1rffvn+sT_Sh#?G{ZcCyhF^ppZlcw8}w6gar zn^Cq|*{rf;pInC*y;r+pno44`Iu(oyOSf|NbXJb|%RzoQ-qv z5u9tbY5D$ncE0i_D*LE%cD^1{ZhK`PSJs-_6Ur`A_DN-5RQ4%lpHuc}p8E_gz=im% z>9*~8l0~=}m*5L#%l`84C1qb`@Cv?)OYt?+9lh6;{Xp3_lwGOpo6Ii975EmuZMs)~ zhh!Cc{a@Ml@O{&*xmwvzl>Lx=4X(wH@MF`z%gugDvJOAP&+!Y>y?3nt|EuiR%KoP8 zdS!o5b^|rv;J5f4es8+o_#??r_%r^3znU#S)#Bmr%KpLNPy7r2#(zxz=U=&vl-p9d zjg@Py+$P>^Zc}W9!p%(o)pMJZw7~$j#VyR1_ZJVhQf_Mo+u*j?4!1MiYC9-*igN9h z>!jR{%I&M%PRi|}+|E?)g1h2wxV!0}uiTy_d*R-=4|Xu!`uiz&uyXs8{|^tq1Mwi! zzvgp?kaWaD@i08x^!s71vvMaXcZ71sDA$GABk?Fa+N*5&pSW}M|J-rp$KwfjqWS+< za_(g1x{`Op?$`r+n*LRnJ5{+0l89I;0m_}F+!^EpaS)z~ zgH5+S{XcgOx!3=dI}gwIYFhqX(A*H^E+ZVO+=UD-!i(_|ywvo2Y;KrxS1UK1{BorK z=dNUYl~>u1_eJg+l524UUWeD4ewWMLsN7r1-K5+&Di}#xTCrIu-<(^RPe&wbsH(t31m774#M0@}z;bhbQ z4n}SY$y9s@AI52>yTWHEH&?lt~;2tUS8@Ke(rhnDO7 zbMi0nOZ>`o=XAYtzbm&vxgVALhS_iNJNzDhFx{Fzk{ z{JzQ`r2Kx&?vM6Hu-B#k=MVJi{Z~Jj{1EJjhvH$TTeFk$M=Rf%{0QuV^#A-(UZua< zG33YMadO7I`%jH>m+}M@@FeQkbDrHiG%Sh(|%ye5goaA!60nc!TM`_wzTA+>E#2 zNW9hb-$(h|l^?Bqlk!>RgUZL14^b1w2u3kx`k!w31W6K8n8u9hR?aEkP(Dvyz#^8g zj1|+~Q_5GBuX%4SZ(R3Y#TztJGYap(JMk{lZOPrr-%ogt@?#i`#d~oa-eJ6|)D|4{jv%D=4qEajh8ezx+DDnEzHM{q9A z!}+FvKbEKe=N~730-waEyc&NSo>6|0@(aip;RSJF4%Jyoc}O2e{gFtF2Mq8thu- zHz@y+@}DdJF*Tpyr??J3Gu`?9g5*p53ctqnraMaCDF2i4^#45lKmR>7Kj4pEWy{~; z&HqgD3;v3~;qRt<&;F@`HSNDt*hKlinf(X<^(=606gIZ8e+?8iC2xho&9JrUziy$8 z3R|lXAa9FX;Fh?R=_={}g>A{(;dZ#aSJU#7okDvR?o(k$6?&_%lL|+uu(JyLtFVg- zd#SK1^}FHjxCicOx^3Q@WFPE+`{I74dllQ+jw&2Lejpx%2jd~8TkTL1um7uXICjF$ zrhj))=%T{$gh#4y6oaFY{$Dtj@o}cBKS71=Dx64u5}u4*v770(vj<5}JOxk1UZz{E zj|wRjPE+9=75b_$P=$WfoR0l*0G?s`*HvK<$(cA9&%(1!xAM6vL{vDB{CvCshu~1W z5HGT2Rk#>0!AtQn9EQX3a=Zes#H;XXyvAg3tqLO;T!+`=4R|Bogg4_YI1+Eg+wgX5 zG8qI_2r&qoff0W(jnJP?F zVX6ubP(KMLDHg6!h98Glh46Na4ya>{jZ%1kCHrw z^#8&WjGy#s{H=Xjg_l)$MukNxEMRsa(*Fz3G4}euyABtVEWsD>MfCcA;F22{zoNn$ zD!j^gDZYlw@O9JwZcO1#lI6Gp-$JkdyH53v3O}f@N`-YQysN?*72c!feWd>vRx|$4 zdzQanYe_yr`hVdQ#-E!0okQU>71pcpIXV5mK>sg%Me?<2mnGv3_zixG-{JSBJ2F42 zXz#n9RQN*$`hVdUYUuw3`hVefub#h^ufm_q{)KId&!eCQug~H8D z|0oqV*PZXF*hY=kDh5<}TE(_1Z=>QCDxIL>mMV@^aVr&1QgLe)JE&+=?N!{Cb=u)} zxIOM*`qyM}M-_KhaVPSfaTnYbcQgHCUfhFZPuvUl#(hk`hZpx%v6G7Xsd%u8`!oAL zr2iM`|3$C=`$xWb2(umWP&^C|H{I)YR`D1Wk09@YN8(ZF^?$z`6ptl24v)tZ@I=$C zcCw1+tJqb=(^c%IVlNfDQ$znR_GC=|FP`c>Yu?o)y|E9ThJCT0>Gq|+ii1@gKz;@e zMEZa6Os}%#tCiwefX5$=u#AGm6#d&T#U&Tk=_%Rh9r{D>E(&bO_(0au)E?J=B zLN|Vv+2`}Hqn@C6lLbjeF3FXJmJzRF;!n|+Ok%T#>bC2x?tiOW@7;qtdg z-d1rXgLiNhzH2hDUiUtO4_vZZ#Sh(hjf!jC_#?_b#!poIl)*au3_mv+e1Ttj4;QXd z@oN=-Q*phDKd88YDf)l$TgKnv_g=C6n`vI7{t31r7N*z=>P^EpD z-4FLi4u0tX8@pFOi2PtY1UsVF|NXDmN{6d-luDh*JL3`91-<_7AM+Atr*sVYv3MLF z|DT!@RhpvGNh*z0>1378SE;K?r>oRWrCus^r=I>_>dE*NJoP^-^d{+pr(s|0XZjtu z)L*5+Dh(h%0|(+DJk#|1aEbn3I-C3)JQvUNYFfHw=>nCmRB4Dxm#Q?B*$eR^ycjPr z-Fc_~mxhrK$II~w)19fSRJvZJtI4myYjFh9|M?e3Rl0%XM!X4c##>BxGmbLbw0xSE=>Mg=$VcPdc#l`pa)((OtI`CO?j;|G_aXhiG~TOh`58@V zBKZS22`A%&rdw^QO7E)lkV=bHvfY17rD-b7QE57rGjJx(!r5kEuy-_6dIaa$8>ZnY&UEm!FUm6odXBC{{y%lHbu zYWiO{m0lxRhOgrr_@?RBTtV^{zKtvK9b9F)EB`%}epcyymA+8v1C>5jX*D$;;u>6w zADM3bPe?w+b@&;6Zn~AfROwrlz9Rn`*W(8K#`L>=={u6|@dx}7e=^AyqEtyB)EEb`5;HExbx|M&N$+?Heu z+!D9KtxbO~%G;{^mCEf@9;xznDxakC_9`E!@(wERqjGzdcT;&sp0yM1jJx2jrhjb9 zyOZpJd*WWWx7o7gJnW$Iz6|!m{n0kY_V)nOKMv)CR6bhegH`UN@*&K2#6$5gJlyn; zbGb9g5!eNf#G}lXtD1+$sC+Dg5C`FzrrV>lNX|z3fB9U-=Xo_P{il3^ z%2%p9MCD6W9?I;6coANVmze(hx_lYQFdUAT;}xbm@>i*Ry~ zjd&B@jJKF>wOdu5qVjDjmsP%9<&4TrD#ug~QW?T9Mlfo+t2a)Pz$B(HZMLk>!>r0V z26?3amy3)`rhC^^R34*pRpmQWt}$E31~%g;)4lqgBzGbGzkE02drY_HSd}NJd@uPp zybtfk@uuJX$`eT*z)3h6A2i+BoT~EcDnF$1^C~~A@@$o-Q8OK9;7pul`kyT2IV6wZ zT%3pV@lkxtPMOM&;}iHKK7~)?Gq?a3;20C6!XlMlR(UaNF2NV@MSRI@)AH$A zeud;!T#B#ZGSgj+Z>YRl3ofUVN>}nJTYW#X8{zRa&e3jmm$h{H@AAsr()F z-{TMXqxamFuiwi*ll+3e;&1r7>8`OqRoPhOzsUc_fAC+=%0{MttSXz3Y>KT=xS8o+ zKb6f@*+G>ys%))FfZ4XV1#XF3nf}#V*@k3WY=_(7_NH62y(+t@LjSMq#O%&U|F3xc z->tSg`5w3@?uB0ecdKArUD*IFOKRf^r#Dh%#dkB?7NIK%7NdK=K z?$xw(!b)dVj#1?ZX1m~#coZIO`W?7(ED8O;LjSLvKysp20WW7Dzj91K$VA7nZ)d5d=RJLRMV~bFv&EWjx%tk>DHXB%A=~xA%6tt z;yj#h`ky|P$4DN>C-6yp%5>-M8P(2JWr3|4OKCrRuJ#ZmsGLs&2#Vw%880!|hG~?xNbB zWJlZycg9^zzh6~%Q*|FzcPHNi_r$$$Z_{mI2aSd~) zqv}vq&!y%(JRdK>A*MTe7m{3r7bE?@dZ|~_a%WNCk|2gKj1kkV8B;Z*YMh+@UrjPj zVcM%~`J}F9NphIS0v1jG{-Ih{^;=adsy?o2Rn-Snt*Lsis&!TGQnf*SGmgSL@J`ch z&uEgn@g5w5V@+2xj^sYPAIIYaoM^iD)Ff5ss5)8IX{tWR>=c}e58=b6yQ-&?%)psA z3ul||Og%y}7w6%8d=wuu-4T02)wfiAQq>n#eM;5mRDGJ7XK(>7#Ai+StmjD<;bL5Z zFPQ#4YV{>mm#O+P`722OuP$Z$n(4Oob&@ymO}mR+ zr?pc_dSP$ugQuD9b^EC{NVU_+`{Mwl|JS_!@BcKXb|(2?JPXgpb4>rLtDUF%A*!9P z+RLh4pjxwPLsYv>wV|qAt=fgE4O8tRo^>%^f|ufDraO1TNiN4L@JhVObT!wgcB5+7 zl8?aa@Or$#bX#>3$<25Rj>KC{|30C1yJ{KLnpBIa7GySrVT@qZbZ0hBlE5UUFm1MJ zxr3@@RV%BOBhO<2i&!$<7FI~ASi?Gc{omD$Qf;Pccc?Z&wL4WCtJ+=EjK;f>{$Cs8 zJ*(wTvUV@|IJ^(<$ML3nFHcl$s%j6APr}LgAWkv8|7FR0r$2-b<20O(Gfa1t&Qk4Z z)n=>qsA_YVeFW#?Je+U3`o~Bf$0zVfe9ClNX!rk%R9is45TC{8@Ojgnm&GJY@CAGk zUou_IE2{me+N-L4rrJ`~-c{{2)mEssjLO&X4SW-qo9>*xMe;VT#CLF&>DGTwwY93f zPyPX}#t(6g=_)@W`4~UJPjQ{;YCc!(8^SMC`;x&|_%+i1Ya49ru9I(7`&qT`nEf7q zz#s7^(;fL=NPflN@OS*f^nVAb_Lu5As`j_)0oDFdy_IVJdNuWpaAVvAH#PmMt}c?z zur+RuZA^c^>TOluR`o5&x5TY*Yuv{4-|6*sB-`QkxC6E~UCmCa?@73`>bo%56?a4W ze|--d`@ONgm+JegzBjY`UYb@S0=wXmc$Dd00c-HzN(+AdOy_%seU@M{c!-Efdfrfe&nLeC zhu~1W&~#gPG07!(DPD%dOm|c-S3RNn6{_E&`jx6*r}|aYT#eTt{l7lKdsfR`cl~c6k`}S-D*kIYpSPIFQ}eoHiKErVcvA_ zjv`43%UHpx>AyGYb=B`uy+PiLqwo&A({x)nn&fW02gl%8(_J~^RDVPD`&55I_4`$y zuKIY@A5?t;l@sv+oP?9jHZ7lG^(iD%@gaN|rNCk_;cT3PkC<+2=aJ0E zNAWRy+;r#tN!1sr{*>y^sQ$EC0E zLmRt&T&wzLs(-}n$M^|;it9|bou89@fnVZR__gVd%m&r}Q2iU#e^UKhX1~Ml@dy0T zboD=z{DQyYZ|L=Z|7Q^OKh@Y+^}opf#((f%&&EckzlDuWNH)b*DD?Wje?2!g*B!^H z(MHYF)Cj2Yu^MgF2&%D#8a>q5QjG)D*h-CE)!15%9n{!{6}H88xE*e9`d_U#+LP>v zJK@f_i|OCnH+EBFA2oI--vjr=y>M^S?L`NYeQ`hBAOC0iUmZ6NRO2W$4pQTAH4bL> z5bTJD;$fzLSJ~)9(ixAyE_kHrw(w{*PE_L<@?-Hhr2jWg@G4ub*v3iZCu3LahTTp7 zx@z=P<03UqQDcxAr>fCUjb7CB#y)r&_BH+ctH$Xh{c!-EfdfsqooA|Xo*IM6&%(3u z96Z-_+j%|-{l77U@ld?bt7-Y&%f`iOj8NkeHLg(OQf4p1VK^KwH(mXeBv;|pcnx~} z-|upb>(sbKjqAy8z#H)<9-E>>qOfm}Zz&r6S)1CLb)wrMV z9yP`=@cO?R_u@Fb&veIXyc!RxF@by{K7f;OvguxZ3dvM_2u zq#Co-n5V{UD(B!MIM;N?XFkcJ_!vHpPniCvWaB9{o>Sv#@@H@XF2rX|w}sD>EW*XO z1Ya=Qw0w#+UQ*+2HC|TZbv0gL_En_+H|YP3Wz=s<{sz8@%W(z1WxBmssm2FtyhFYU z-^KUP>;G;GSCf2*Yj7=oWV$o>iJDJV<5M+nuEshwZ=}X&YW%3i=W1+F;|uD)#INvc zTyMH7_8XFK@jLt;e=yyv{G`SoYWz(83;v3~;qRu~=08dP!oTq!{MYpRM)SsA(!2?B z+?rc47H)>EO@9lUt^e<<=75@aRC8N3Z>#1lsM!*?!mV)|)8FRib|l;3_P7JKH~pWS zHt(e7J=DB2`7XFC?uNUY{(d#@NwOF2jr(8+(?7G#`>DCJn)g@pA!@dluzfrL55$A; zVAHMHk>pT33=hXnrd#s}H6N?yF62kzQFt^SV+KYZ&-gfO8K1!TL_EoK$E2&8Z&7nM zH4jm9cQp@Ca}PE5QFBi!Pr*~M7xp&Yb5A4bi~aC)>~Ff7Gt_*xng@~(!ZUF&o@KiI zI)~(3JP*&u3rxS)H4jzu6>7dv&BN4u5wjQLC3q=bX1X&VdGvry!VIB*n+lCTJ87o-Dn(2;1L(TW8xmnG3t9cZ&ci^3P7mhaF zyWk#@F*p|Q#c`&458kil$!Z=?J^?4<1L*aCcU3<~G6kpNL-?@i_F}q5jZpIpjoL=d zGu6CC&9l_JSpUb=eZXHixc?uw-sn?iGAbj*7g^a^4N53Ym6jbDArwNk3Zb+2y3dYi zQbHMJr6LV`N3yc#|GHo2zJGs@hsX1Ao%em6``qhX=X~xyW%?7EzDU!b)b#n9K8t6~ z#yL0_=b6nK^LhGHBv0c4T!_z@jibTCXEpsfisx}LF2NT}|9X2#(^qNw%bNbWrY~jb zGJFMJ#n;THL61?tfy?ntT!AZ1|G2%S>FYH8ZSvLl4z9tqrhnYlle~-X;rr;$fB(#W zr0IWZ`p267t)_pX=^HftQ+htb&+!ZV()5qgS0rEKM*IdhncklcO#e>Pf7bNx$$!8f zaWnp8`seN!l3(#R{2l)={UiC80yeb&R$yyQXZ}zB*X;>xfm`BMruRM#F#iK0-xjyS z?ajtIdDx^tbBY$Y1MY}Bncn}iKCp`d-4)nXfx{GNsla{;?503#1zOR$JMMvd;$Eir zZVj{{X^ZasS70C9*Yu7+pq&Di?@!(yJKzC$py_uWL~<}5f*tWt)9*Q4fs+(CLV;ry zVEzX>(Q_0YjmNnCjo*+D97l3Io`9Y4M6>Y|1P@PEfcYOdm4{uhD|R#eBY&C#Llrn( zfwNiELxG+YXJ9Wp6VEceD=N@ifdLBiA$RA$0)4R`_BXw&IxvuA5T1*Jafs>noTtEO z1%@ebfda!>Is!-HC_LZv=2hTAl8f+SyaX>b|8uomroiRoWAF;R60b7-Gd@;lCv`-+(vbc${E*S9{=Ql3Q>h-io)G|9=VvCMj?S`JH$d z-i`N|P2=WK-={!8f%_GBNP)>DQ*bIifDfAf^~3xRxbt6uNAOXc?)Ef(ZVChyh$|2x z4`T$Q7&HAdn;=PI3e%V|{qvPm;28z-3d~fXpg>gthn^yqu#6Sc-_9CI9cSQU__*mG z$tM(;r@)is%>Te_>Nz;q^!I2!$y4|=F2IGRe{C;P;8g{lRp3Pho?|KVKd_j33BKU= zd+)55NM6RJxC~!08~e_~*A#f2;tgDm%>Td&tG#a&fmI4_t-xCfe5=6Q3Vf`rL+`qriJ4@8bvfA%0|fcNGGkD6m0+Psu;S&+!ZV()7>QS0rEKM*Idh znf`hIP5~R*-z)Ho0za^n`5)L!{S*Fd`e*7_lHc%m`~&|q|8vdTN5DVi|GEaZz%6kr z)4Mi;+bFoNf>Ll-1-DhOg@W7BvpqJ$CTwnc_nLw`knD)={8w;i+{N^+fnZAo_fl{- z@>aMz?ty!n-q{bfCTW9hac|tm^nQCVxSxWDDcDXyd#(Lh+8#UL0eGP4uk#?1gYgjT zh=-a@<9bmauHZ2W9zlI1c0%TV@Mx?3S3j2gI6NLtz|Ll4Hrnedc#?uAE3~D8rzn_J z@Kgn_QLu}GgB0wlU>^m$DR_p0-Ffb5cslmLo~Cyl1{+&=Ciz)-Hug6CBYX}?U+jnd zaR3f9{quFMf)^<`Siunr4q@p~JP(KAaMM3}BS}W#`FH`k^WXa{2wtq<7zHmOzZ6H~ zWq7&iy$ga@kX(sZ;ng_S^n0#V@LmP4Q}A{L$0>M|g4ff-{14tpJsu~x&uYw#;LRkr z;6!Bp2XAwGX4PEXi*u5KcTh0@gLhHijrW-T+U`>@py2%qKBVAemQKN`_y9g=`u)>L z9>z!TQJil2`xR6$u3(5fj1i1t%=FimAYuLoQ`Bk9{HG_U;7SGa3eHoopx{ge9R;fj z7U?Wu87uCy8u#IY?r~7Cjx+EveB5ljIuD;v@JWhUI2)P&!MRp@-&ce46?{>_rxbiv z!Kdk2fD7>%Tx5Em7s2O9o=4_?a0&GbZcpP5eDEa&UsLd9@};;8U%^*R|9HMm@&+!) zH*tmO{i%1*=KnVezNO%Y3cju2dIeY0^A4`TwYbjoC*iv!@8SFSfxEQv^K9@V1;0@6 zWAab%Q~V4+H~lUAl4JvZgB!zZWXj_F^D72mXtkCw@ z44bgI>0MDF=6`5M@||#J+{N@JSg55!dnv^H54B?H?zji;Y5Lp4{13GuZ;N~5K5kFr z-?$6yr_f;vwNuEpZGV=w#}0S^9%y?18b;_Kl7sOO?1+b&-VqBOPI3euiJkB$JlgcP z@K}ZVDRi7drzv#2LZ>Kn0zIAaL_7&kHvMOvO40?pVmIt=djGG((CG@DrBDy@o_GfK z!ZS^OZD*78#y)rs_BFk0IMiREQ3?%EXsAL1Svm;M#lbkl^kz=zJd$BJ97o_t(?3e* zD|D$s7m#0w7vaU|&VPRkN0VHJm*W_`!t{HtQmCNN)e22kXskjL6}m>D8x^{i&g*a- zUXSkl_phk&Bopu^ycusX{jI%Kp}Q2ijr?|;gm>VbroSb3leqI=p?mQ@yx;VDrYICv zXsSYwDD(hJAH;`n8a`}#KhcC9C7F%^3}VRi*BMbLrBIYShH*?_()2siBpJ+N4)dlr zNkWc7&nZ+?XqG}Hg=Q#Jrl*2ctYO{s*ZdgC<2Vzaz$ZoBkR9Rbd<2zbW*OLcg>05BwAV!oN-b>@fesTex|6OWX>#{{KB;DcoG)ZOOO8 z?Xej)ncmvMEl7629dRez+4OsMRroN4TPnPt!n-NlTH#jo?2dcjp17CkouhCYlD4=v z?t}Z9-jNKqQ`q)mfAaR&0S~|fP4D^%A4GC69)cb5P}6_K!xcVB;Ug42R^cOA+6j-s zqwyHCY0yyWRRdx6uw&F3l+Xh;fqKv#!K*09Bq20G?6Mj_Tw8GOBjw&2rX%Isg#)#=(r7@B? zCNPO9vvIe9hZ%*L|6%5TI8RtWht9^DON#8Ia9QEC3Re_lOY| z;dd4OSmF2Rc^^N(5Ah?@f7T}?pWVFax2N&{(hC2q$W{vfqVQh||4Pqq_&ffAf13Vv^*6~s_^)eZ3*6Fd*7y^g$kvK9 zQ)C-*;kLLPZf|<~8)+hGjxBHp+|l&TOJrw7j!|S6MfO!>S4H+zq$NGOVJqAn_b?m# z&cnSFX-&}v+v481kLhp2eu^BXNIOMrU-oBdd+dM*;DM%hl|~LCIT#PYj(DiqSSJq; zSL6taBe4@Q|073R?VY2@v5NFlPEmyUAL&g0iFgv8Ya zruTUoIgex*4#yEV(rj!Y56@TR0*VXqB4qwYF0tC*m(hyaIl4@d7Ztf&k$@s&6uDiI zD->a{N3K-lDxP~aj>T)xo&Ww`j8o($MXo2m0dK_dIKlKgZzj0~C*rMmo9X@Eb0U)z zc~Fr%6uD24J6U=c-i`O*y{32fAj15QOeUX#Q}F@wKUdB}icBMa7$3n$ak}Zvfk;r1 znTmuI$tx08B&kS*o+!pJjtSGh+EXNH%wQICruWGeDJW7^#33(Y3Cmb9{j*#nspAZM z3?DcB?R-L!MT$JB$b3bZ|B>1B%)z-h&-9Nx^FQ)5`2t*s&$vDRcjqngtRl~mKaY!X z3BF+Z)8i#Y{!-*+MLt$!sUmMHvP_ZXio8PStN0qej&GR$`{GTK6}S>t;ajG^cdHe7 zSCMzf*Wg-QhwDx6XUxcZB=6$~_#u8|`fK|{k?$1wRFSU~`HZEX;}`fPZZQ2V{F-DV zeuJCvThl*B-z)NqB0rG-h@0^z{Ml^g&Fx=Fe#77K5B$^gzAr`oR@8>@KZ-V2c=zfasrf6$L zTd{O^+ynQ-y-e>OV6+WMTihGn`LF1{roYa1idwQid3)@D2jGFGcSS`HA~_fj!H#&S z=^gXv;fhXD^aw=;!HdX&&J+nWBYk{j-q`j`eA<@fCEkc)z4M* z3PlGida53jA)ID<_a~!|C>mDuQS#{+ zz#xW9|6D{!q8P(CCQNU-MpKH`6iqAYD4Jnu7IT=#g6Vx0M2jRPEMo<$rvHwpEBd6O zGsqvq$8jb;VftG*i)1#=!MQlk^pEFLioT`j(~7>V=mJHbS9Bpg&)_0_7N0Y{Z$#0> zBunrGd=XzV{WULD^bJLqk-vhk;%oT2>0cqsN#4X2xDr>H-Z$sy+lqdy=xRmZRrDQ} zuEDjq4%eIhzQ0HEK7N27;zy=`J$yp)DSn2Z;}`g)>F>)|ikB4qS}{9T8x^xT^NnKd z72TxR_KJS1=%0#yr|8d$e$R7%z#nll{$%?5@(anY_#6I?f0*9nkN&0DR*L>j{ty1^ z8ruT5G`&5IZB4Qb3b)1WOz-E2STn_TSFA~~ofT`&(iXS_?ua{?-Zd86g=AN3iMwGd z(>o@yJrvtpu|3K6!q(UZ+nRpoJ|z3%e%KE8H~lT_pjc!#SrEIkEJ z#V**@^sd`jcaqcabnJmWO@H5eDRz!xXOc7jV`o$M#y)iRqV9|Rus;sKfu_H(K!r<;|LsSdb22YKFI}mAzp+Rn@wY8QeUdrM8!r^Uxt_C z7`y_n#H;L5QS53Qi`U?_cpZ+z>+uG>5y#^Mya{i{Tg;}hdr;rXtK5dS<0QPp^pD0} ziao5@-HJ_7>>ifhi}&IEIN9{CmZ>BU;DgBgk4>YeM)HVaVZ|P$o{j+wBJ;m-$0^4A zk44F27)Rzm-<%aoDfX0NX~pV_WfUtamZc|$c`Tq~+Ky9~u#6R~qPvCuzRyr>mSW8R z*yAj1oWUokpL9DL|FTDHHpv`h{>R+;uh{(m^gOND%Ze>f?0LnQ|FLK2S%lBxb8dg* z&v|2uNtWOX_#(b!dUsG`OBH)Vv1R11;H&r=zHa(kxSZroT!AZbmFXXow-rA{vDJ!i ztJph={h-(y#XeJPtzsW2wvPVw_%6PO@0;G#jeSV+5q^xH;HRcP0X|pE#`_oKU*ZP* z3coh}?fHge6Ml=|;rFKhj{8xu-w8J>_7la=$o!8n|6}g__s{7cif^IVpY;5Nf8#&+ zujzHhw{(;ER>(CI--gRYFif^xYE5(~BzLVlj^fbp7xC8EJ`fJ{qWEb2O zng8+K{?oI&;%yb*gQd*>_+He^|9Bg#y`RG3dz0^j`{I7s&h(CXyuIQ_D&9fyLli%N zr3d2w@E|xr{U??1ACg@H4yJbaweXIXJc>EyTczp zNAW?5_a*O#{c!*eH2vdwF3DgVf=ScEcKnIJaf7O+hxIyuX z63rE_D!yLvn&K}hURV4n#b+o!OYz5e*5f!6pTH;0W{vv{@!2GEa4ycn`KEu?o>u%h z#TSq-#Ak33K5P2>_&mvCT!Js)i>7~UUsn7r#g{7nhT_Xu`U<{^ui@*azo*Md-ozES z5?7i25qq0tHNJyua4oJg{e5{?@$VIXPjUOw{=VX$D*gdIAL2*&F@9qD+wd95=lBIO z|Kl6}uZQq!#WzxXgPZVM{Lb{Rz#kO-iQP%|z&&v>@~C-$Rm=XN%}BPH6Cbif1f zK>VNS_Z+OmaY`Jb#F0vLWa**E{7)QCeT3WJ_#FYrKG>j39V$Afudn6JhNlalH8}q+rH4k%2L5Zpo^OUG5@q`j}dS>8b_&Clq{p0*3$t;|Wb8xQd_smyfkrGdlKaC4; zAwFYzcY6}gl01jc<6>N5`bX(SB~~i&k`k{e@iI%7;xc>%Up4)6^g78KxE$Za6{h#C zAhAk`wMx82{x+`0cW{mA@5?%p_4qEnhwq#IMEX$4ot5}Vi9eP2Scz|y_(X{fN_Z}>a@ zVfx4CFD08P@wbv&EAbCY|8-4nfm`BMrgxnrw;>U3i`$_){~JeuhfPX0r)YsY;EuSH z=^d-&E=nG%tfh{ggaV$#&%X zV|(m?2bg{*Z&&Lb!Lc9ns#!K*09F3Qm6qhSGhT;l8xsr!h;ng@+$!jRCH7TxBa-3h=k-WjL zZ?vMRTW2LF&~_8vjJM!KycKW5+i?=!fp_9vCdJ)K-a~OO-sk7{D>>P(rzkm-r{Tj&K4L{vy|Go(InDtLVhF>ge+5RBEGijOGNWXirOf{%^FPV_PrCEp``(qz z(vw5xf07B4bS&|&lai7%lq}Oz!7A3UZu+nO7|G-4&VMDJKzIIopK;0AN-kG&j*^R& zoU7zQCFjvIADRD2=6`a5`>e({lcYQUm0X0(|0MH2>CS(D%}bPArsNCsyofI$^FO)N z?QGo9N;3bGud?(tWd0}LaC;ix*^+N6`JR$1lzd0YmGrE_xA1Lr=fA(sH6&}1`JY@* z?au$k@!{e7N`64`A%27(<0q#7>YpjqM#;~W+Cs@Ml-#W3mr8C@as!>r|K!)y8_}Kr z%^Kf)lHZbihs^)v57a-pJ&oUcPyVFjA4>jA{tNz!zo9$-{d4*!$zS+4{)6uP_x3%t zrBXX8wUtuaE48(|G_?&f|5MEW)OPf5B5#IG*c_SvsU58L&Uk7krCKSqGfQ{DU9ly) z^WWRT)b1pE;GVb_wl=+MIMr6EfrzMbX2O7QirniFl7FxnExqv{`=c-6ibiBWAIo!&h%gL1f_Z?)mf=7N}b5k zlkj9b1y42oeeX)r4ZGuM=+6J9)3~})J(cRM)EVUN{8#EsJPXe@y{j(Ohs2%#O7+El z*x&RfMrxqa`zbX@sqd6JSE(zM8m!dCN)1tJq*6oaKM#lDa2#Q}BhFp(C_Eo8zzgvr zvvC}Fc!^S%QjEsS@Nyhu`bX?ar9M&WDy802>S~sb#cS|dybj0NE+}<9-hel{JLQJs zm6||tlTtB?o0YnSVq#P8pOv~5Z^PSh65fG#niO{_bvMO5crV_E_v2)oVp2?1>H(#u zQ$L6g;WVWlwu1T*e6-oT@qQ9eDo7aelQ0h>N=2<`bSf2B>IJ0|>_rk&n8pldF^74R zqM(#RQN$9Kv4T~sVI61SVPbJJMKW8dITUko9?r+7@M&Ct3-K9TgwNu0 zCdKngEv8svHjQiS>5C*U;mf!bm*Fe;D!yh?ysp$66wC2VT!AZb6~1Lsysgw~ig$30 zpReWNI$W>RyN$fryfsR_&vnTBPci>fjd!R!|GjT|sZW*qN~zE2{2af)FL8tEeK$)n z|5MEWlso^G+Jx@>_x>(J>U*W7)DKGiqtuT|{if7rdVWIYe~S5^a_7JQo^t2EQhy-x zKgIk{x%0mnpE4}^SLrR>BE2PUh0Oo7JO90(K-1eQ-BRi8l-@zD`oWt#m7TnEz?!f13H9cIUshFX=Y)w8gz~A9Uxx zH<8lql)gmi{gt*a*zJ`*Qt1v#AEGq#Kh6A4Gyl^E@!bE+|8z$Z=6{;`pFW(#o&VnC zPj^!Kc%_;DY36^L`JZO~rG$X?Onn$LCa~d(hBD>8=#a|1|SI z&HPU@|NFRSLFt}Kk5ZcXpYBD%{7*Cg)9(CNy0?7$!-9ZEC*)6D-g^FQs*f2A)ry-&CFrAptT^k}88R+{;r zzMLL+{wsY2UWr$k{uv*u^bJZg|I^I>H1j__j?U}pY#fIhNyg&@ya{hM{cV`2^kk)P zRr)TaZ)550I0^5-J56`j+^xDB@4}^gwiRclWxDag=yB1!7S!5Z~8rs(kqlM zl9#ZI6|7q@_(^bDov@$fOFA6I&o(ldGZ1U_jtTilorvq|RQ-2deBm4067r<8t1 z>8Dw`02ltJXA#M>_}qW;#Y(@V^b+zH@WuZueVJq_F8fdZD#>g3I=+F+@lDg;=9MI? z@GX2BSDXG>Sfli3O0QM=1EtrobUnU{@8SEV`*Gl2Cm-TR_%VKhpPK$UKUaFA(qE8& zi5u`M{Mz(8zae4%r@y8C4!?JMyz~B}GB$xXD`W5UpOpSX>7VKO1>O0t^l$jP>3zzi z|0MYf|HgmtU$fbQR&JfyQkm_P;rwQ{CSmeqM7^!s+4$4{%=RSBunC)E3)9<|%#O;m zQD!G)S}C(LOLxItu_f+iHf#L6li8hw`JZ9_XZ9j#?e;W&e$2F0W`AY&Cf^75#r?3I z>CNg)dy)=#03L|{GyT0dSeaqU9HLAQWjZQzf-;9HbCfd7{|xg#a|F*i5<8jR@yr}e zatt1e$Kmm&_j#1*tV|bWnEx5(f5x5v%AA6yx}A-4n(0c?4ZGuMc)IC*USxVIGfHT(n<`R-iaWr0rmz(}sxI&q0mAR7qD!dxU;x(p!g@J7==k`t7;s*T6^sn2E%KWCxH_F&}-^9{y@jLt;e=z;` z<7Sed@Mru5e>MFh{JS#$D)R^VpZFL4jsKY5+Ok`?Np?%z3b)2>Oz)g#w^jBOWw%py ze`U8Vr8p*@>2tJDL zaqxSB$|eXy$~LZw2oIyk{LjY!)1Oo}uWX8?Y0O|2bEfzEY}o>dgGFTiXUkUmXSS;B zi^|rNov&6E zayuK}`m)cFJdcZU3BF+ZYkNuARm#4s?CZ)dW$7|}1z*M2O#glQ2FY@K6Ib9$(_iOX z%C1xPZSvLl4z9tqrvGkQPx3ClhwtMDrhgX{1(46{mvgqe#FiA6aH-aTk@-N+bH{+vi~UiJ4^q-Kk+a8 z+w|XM|GG(z`Jda8dMn)8?OD5vtJ@&uwx!q(x5sAKWO{$5pKGC+#xLOh=(HcKX*9&y-1G4PIweD|8vJ!?fs0OJ5ITil{=oL zCtznh5l=F`PutunB&T8*?26q??>y#CQ*M@WrznuDQdz;?3#N0U~eX$?*#{s5)90n;jOu2K(2jdVNiszaB@gGhy0!QK~Jm2)!cA;`( zmAgo}%ayyBrI+BPI2tcA{e2umas^(ASK-yBzs_rvv+;f{`E@uBug4oqe+$QxOu(D) zX1vAp*LJIN5#?@EZmM#(D|e4_ljykv??mQ*?ry97tNLE@`|y68j8ja1Umj5IQRN;a ze+Z}H!}y5lZ|8K900uFHVbkx4Dpyo4rd&q3I7<_l#1y7YzduWo!#ozyo&SDMNx2!y zmB}ku#TwSlW{sJgdyM39oQY51lcvAFvz7Z=xjD+csoY%UmMAw*xo4D{Pv=wkG%mn} zrhgU|kvxmf;q$oI^m|@V?iJ-;B!3BC#-+H-^nMc0y-M;LzK(C;a?_jPxfRO2uiQ%I z)+o1%rElTexEkLv{bRM3WF4-@ckw;bKT01c_nC4Zl7ECB<0ts3=^v}lNxr}@aRYv3 z`dheB`E8Z^M!DaW+oarP<-VooJNzDhz#mQT6Cw8#$g2&pv-0;@Z9`%%I~K9_R8<5d^46dVRLMOJDA?A%kM<8Gwy=B zVoTFIgZWm8odE3Fmls|}P9gK%yM?BQ@x9V_`Bk)M35!_ zd@tosR=&IPr?B)??1Ejfo9XYxX(Xp(5A2C&nBJMqpQ(Ib<h3W70RU}vASiA9mA_f}8>nx@@i+l*GQCNXzlCHX-io*3 z?WVtlcPRg)@^>nqRQ@jIA6EWu<)nUkNT{8Hs-E5Cq6bCjP;F%ReCQ~0#$AAyC+FIN5;@G@eN#VHeQ{FE0kYJu?m_0`M0T8 zoBq|ZM#Z_xuT|kH<<}|ylk)48|5EvPmH$}z_vn8gKfn+1Bh%luPe?w+&+v2n!t}mT zjGI1CSW^AD5MN2+iZMJE-GqBvTGE-D;DeJmb_$Kwgu*`zp8g_9^w z##2-{)xF;AW|7^oakrYC?o;6&74EgaJKVH!f%{+hD-~>GCO3_3atEgUwc>TdRhX*6 zgDO1WJ{8;SVXKa%SX%!w*A)`V`g{%q%6>=)%ZH4xV{_8p_6dP-> zwXvSE3N;lfDpVVL;ckh$Uv(8`xX-eGl+1MZ;&Bz`sxVW9St>lC!jo>!O4#e!D$Hpl zji;zE&mP);D$H+M)q%Z!T7`F1u-$)Eg@r0CRpA*Go^4v!UWG+G*NW#mA?GeRJ5cY4JIT38&d$`k$QdJNS2;(@X(^{w(?fsD+0A6> z?sD48v6b&FXHPk8#Y)ZQgbpIo;&+lG9yI4>_mFIo)5>(h4~}<(%Pe z8~vP)Gv)M_bC#U5y$i!G9=EfPoO7DDZRd5mNk2JuPW#IlEN6h6L9`8QT7F{F@;|B1 zZETX9A#%=RuZK3CE@zm%mU}$i^^A~nv7C`|E|4=y&iU?M+tS8taW0f|k*%|N+m?-^ zA?Fe~m&v(Q&S>{gH|CPNp3AMl@43PXIaeb8{)2P1oa^O`m2<6}YwUI1jdU-+>*S1U z-uB4G6PvfS<9UOe@p5jo9(z%HX*m-bn{5Y54)fn({yP&{Kl9&V{yVpmOu{?l+}XTs zANOKw{7Vte-Q@S+y?7tqkCSli#*6y!MWFmc<8jfUoJC&($wso2?U-qzhIYmifu^Q4@*oX6$Nkn@-|H*XuTbINmP z%6Y<`XtjGKyK9>zXO5iNZekP3P3Fp(XYV6=>dc3y?!upeJyu#ej?{9IiJe;Le6J$K6m%mUFS?D z!G6}CpWQ8CNZLH1?N@tiQ2Z|EFFAk6`LnSXZf>6)j;-pS#u2s|Wrd1cxc$W~Roq6! ztyJ9FeMP&R8lOZ(skp6soNb$J%k7#eGXIOsRQ#Wc_HZv1o2$61iY-*!NyQyhbceq+ z+q>1aU&WnO+{Jy^W>Mq)tD=RwtGJtr?x%oza_z!!w_y(z_jGsJUg)ifB&}6!r(zow z_ffH}ihEn=uDo$fiuenc+XJ1w9Ah!FULE zRPj(NY?s~RX`eO4!^w|8cjlqcE{83bnIc$)>FkZNP0CAlZR)ic(#gzRqV~fK6noH#eUcy2dFsE z-~K@=p6gBtcG;HFFa(Dpp9RHX)O`Obj-Vciqf9pJ0v=w77vaT?MJ5j~#nE^fUXJca zRFRK>A|C<8t4R1KfQt4bz%@L)7OzA1-~XYwUPb=>pCbSMPjNiq1QqXA@g@~-SMg>Q z8<)^6{h#P&?*A0s`#=7x zyZ3)od=h8jY@B2IYn!LymnzOz@pToSQt>$z-TOZ(a+|2Qked5HMehF;-TOb@-J#<1 zD!#1ZVtTm$Q{?_nk^4VI_x_K+B}?g9hTQ)tzDoU?>D`eizM-PcwB;(kt>T+3U4bic z6~1LQn{x%Vd;dqpcW@1^#dW6ln{35*Rs2{*?*A0I|5N1tPm%jSMehGJe)pru{huQD ze~R4yDRTd(=-&VF{;aULK_$DKzEbfQ6~9*TdlfhGiroJxy7zxn{1)B&KmJkrf#gTr zj6dPerhgWGRng`Q_kW7q|0#0+r|91QQSmRg)4S@p|5N1tPl@|KCHMZ1N?ZN^wUxF} zX&05GQgfBK|5M`rPszRiqf#?$GQE4|CGP)}xc^h){!fYfKc$`Bo136TCqDr@0O_tQ%Fw5F4z^jnN2Idq&`ihekz@=(pf6?AnA!`U@tt=^tbSA zlHS+{&%wT?cWspVt29KV0ptU55T1*JO@9lAlAMRba5#=I{rw%K(#`BD@$c!Anhl&6kl}j$@GbVChP${q4M3rR!B1%hGG`TD%U&nf}^tAh{98;{?3P z^sk~@RJvcKi7MTx(yc7L4R6Ouc!%lTzb)NGayQ@KgNE^k4l8 zlE%Ax1NB$HG(o|K%;*y1b?79f9)JB-@~HTinj{wxQfi<(*V+B5#f@a0lGc z^!_xVyfeuzxGT2A-Aw-#cURel_8uzlt@55M-3wb|8*FPfTYoC`KDaOLhwX5G(_d!? zl@C$*0P+Lze|QicYWhgTL%fqOLoBr00RQU>(N2z>? z%ICB60=y6}!i!D6|5B3Cco{PP%VXT0#&@vtl`3DS@>MLo8pq-_c&%wWNIed(#~biQ z9B=x^{3ca;sC=`^pQwC`%1^3nyB1dYR+Xoye4EO5t9(1pnuK@Yop_h&ujd|;d+|QJ zA19mMpT3o+s{Dw`50F2I58*U?*z~uY`Cpz+9>5@m+@8j_$8tnvN9Cx>X_aFvjbj3n z=+1xtxMfJPn8Q34On;q4mFp^($jewk=6~6p|93t5C7m_@K%>VMU)X$mznis3QROKb)FW`ɱHu+qsP7 z6=eRGng8Y2|I@Qv<#$znQ{~kvub^`!GXKkOQNR74{&z^$;96XV>&?bQ<>7lOzfbW2 zeuy98$ELr9pQ^H(%AcuhL-=!*e^mJkmA_H>OFB2;SLn`vl{cE+H<0osl5g=l{2rPA zOcfq(R{1B2pYa#`6@N4RYxoaUwo~~}Rkl?5FP8p||KPu_l`Tx~EL654;k{O2{#Qh@ zt=rR>X_f6&*-@2dDjifgM3n=`55)iBL3ps~y^AXyNe;!s@NhiB z^tZE)KZ|sBTU|-W;Lw}M1I1mTnxu*BKxRoKQ z3|D0+`FS|Z^pC&@l94zH&&LbQW{pW+xk#03RJmA{F{)g`(o1nPUWS*O{#IQ@J7>r^$8?5;mvppPBi^1=QdTMs@$&11FB3?8d%)BCBX@+`@7_&hGgC8qzbd{LEG zRe6d0Wn7BO@DYGl~t;&Rpl*~zKyGq`CnOMwKs<=>&VyR zyZ9cyZ~E)}P?gVB`H1{u`~*M6&rJW?_=4n1+<;%<*QR%Gr1FibTdJ~2m7iGjtt#J9 zF#jt*Q2&UVP5(^&tcs0y=6~f^mi~sn;~#Ek!F^4N{Zws7vA>_RSG5Dl0e*5I4{d)BvZ86^Av|o@k@`?P%%nJ6 z)gvg5^pj4i9_80Zt9lGekM)z|R6U;Lghpa7q3VeotCR3#JOxiR{bSx$)t;($BkzvP z|LW<~J^s^q21zeG6VF0-{<|;gp3Oe0AF1j&sJ6%1Lvk%L|EtXZsyqMvS9j;Xs^f72-h}S_Z@fo%I8oJG zDQ?5taT2=o-+M<_?@~3T>fNe7qUt@WPF3|@dYJ#!`>7}66w{mM)dxr(MCN~$`Con5 z?eWgbqpC(!olXz)zsmftGXJaYx$}>C<2c0VjAH_m|LIAqT2$4Y|Egv&hk0cFR~@VU z{VJ(CL)9`%D_BM5f3@y*_GU&^A0ub}S7%Z)|Euo&_a;?!wyIyNI!DzvRh_Hq5>@A^ z`i!dc>3<5J#s#?0^nTW^E+Tmrng7-2sTaFFjc=IM7gT*k)fdTM!k2L=E;GGPz3QtZ zuOail%KWdo^WR_F3RT}%b)~9nR9!_U^S{dcuQLCu@3{Sqf7PM7mY#LE9^b|HOn;pp zsQQ_zACiBBA0zX>>dt@vn*W@xEU;WMP@s8vls%@d_pDg_g|HgmtU(@@9s%_~ewXJY# z+y-TO*Kln+)pk>Dd)0PStr<(3usOEC9Zc`Pwn(+TRl85MeN?+rwS84PRJHw7J5aTD^zV=Du>&4pdPl5g8)o}>5FU(& zU`NyYl&l@5+R>^VPJRR)iJkB$)B8U%*N!1M7LUW@@dWIQC#u#>wUg{0*--6dJOxk1 zF4)y{e*w~T+q&avs-3P{Z|WY{6VFhsmlf1!;#qjMdz8Gq56L;$7yDs<)dr|GoO+;Y zgRG!FSGB>a4W%C9{!Zzvnri2%Hq1RH3tG98!Rs7B&q&oqsdkBK=c{&+Y8R+>q1!Nf z3-8xB-KSsNY{e@yU#i;Ws*P6dGJAhDR_^|xOl^#6_9wra+)K;eckYf~rP|G^U9H;n zs*UC7U4z%+bvVxSuh<(%Zp8680dF$BpJ-~gsCI{H6UmwXHRgYf`Cpslb~ff-?M`~` z!n^Svyw~)mXzhO0@~TZ%Eu`8M)gD%DDm@P%^S{RYuT8VWziuC4>7zIung6w*)&9PO zRZFTCVQCa&$o#J*toGl7De^RCkojNBxjl`$WVM27PpIaoW+$RZPYKJ&{I9w5-}??( ztCP<_=6~&R>X~j&* zUbW{{dqcIwsx4J*37sz>^S|~IwLAa4`CN17ziO`_^S|~QwLAa)SA@|NYLdS-KIw!AHXRY%y^(~S4UuXW;x3R?gS**UT>Md2@PW2sB-=0q9f4zyiIkqsp zqgvmQWGCDicfnmv|8;j${Seh#k?)Rs;GVb_y7OQ4Hnv*T+v4815AKWmVLRL(+hYej z01q@NY;6Zo9BejS-5{R-8OQN6F~$Ex04 z_2X1OS@q+2)(O}dPsEc<@AIX83dyP11-oK5(?2q&seY#Fr<3=Q@g^#Lp$h=cH49Bg{`I_g77&ck6i97mY`>yA?W64lQqzW^`9 zi|}I8@4S>`G+u_6;~3NLxl;A}RKH5~n^nJB_3Kq1OV2gP{I4_r>*L&K*{O7|iW~4o z9FG(5CevT@Evnz4`b6?u@ix32Cz;;+rG6&~^S{pguiry*FFlPTcE9RD)hDYyP4y`( zor(|OgZPl?O{)6CB+UOh^S?fwBw+gQtdQyn)x+cwjA9JqroX>Qk`$&fgIUa(w%4lX zRWG=^@79j$MT!!Zv4T}>wAHC+;A8l>NikFPC#-1d(~^g?RR2`<*{Uy7eU9o2dFi>T z&!d=+PvO(J!1TT^)t^y)iRz2UpT+0!d0cGz?=|Ls{YCQs$JBj*UpfDO9JgL5k{y!l zpB1uqW)WqTm6_4djucVIN?Ao_$|^d0eb3$pEhDQkBFaiekrDpy`+4rq^>Gw)|0^Ke)b#f&K>rWW{{yX=-2%5X-7>dQ zV0#7HlGFbK+c4f1xAQ8STNv1ZWJhd=JK@fz-@yXy6_}{Nt_obJKnDemQD8R(4pg9{ z0{bYiJN0|up12q8ZTej|urG-nK-;7JaDP0&bX#(e0*5KkiTq$Z1P{f|rd!(KBuC(p zcoZIO`u!wutO8vXI8K3+6*!*R6YxYl3A>nX?Wd5Oil^b}c!ueg*-e2S3YznQ<=#hAPlofxZe{q`>70TugomUW%7tAJZ-Q3X&`FD!dx6 zG2N1{RbYSu*O6b3^#4FV#{Ip@<}1~}K$07A5Dvy6rd!%D1#VYhxB|B*FoM~UNdFJq z%y<;_%_B3KWDMSlx8YdRe>EGpLxBkjj3Xb9cj8@mx9N`gJtX(yeRw}UV7k3{P=UMx zlN6Yxz+?rUR^TB8rYi6-m5<<~_!v$x-QGP;@&r!9C-EuMZNoDP%v9i6^5<|mK94g@ z_vpMp@*=*3FXJnw-@5{{6$mTvDtYrvn8P@LK@6GhY>z0AQXonm!#E}|X}ZqPLXyS| zW-({FV^vUKu>wT}<||NAprJsSnhI92hIP{&rPoQ`z&CL&&NJP9El^;Q0t?CC!ng4q zeAjH{cf9vV-p3E{L;T2eYh0q>$%IQ4_?W>b_$hvd%kXpj!tSWRa{Lm%!WFm@zs7Iy zTl@~c$5r?PuErnnC;S4P%JOYozqwr`v29L$#@OV4{Pekv( z04vzV^g5C^K1IQ93ex|B^#36JKj`&;1-qJFu{Wm61?m66?j-d8;D7pmu%{vqDtN9! z%N0CNp{*4>U%{Y)7brMN!3!0!G z@g(&BApJk+^?wB?m~K1oRdAAm^#36JKj`&;1t;Qzrr&{slSv*z`hSrAAN2aadjzK_ zI77jy3O=nM{XazTVh=K(LqYAbtNdFJg|AX}Zpx6Hu zOnLWhzJDI1{|D*+LHd8t>;DSo|Fis}f^`K;A#8yu2-m)f`2Qtv4a0F`>$tc1KbcdGX3i! zvDs-try~umx zMR+k@V!F!9Nc!OAcm-Z*x|*vM8m!PY3iVT{FSFO;b$C7AV76+W)uH|*18^YTh=WXb zwhU3|CWVHQ55wU|{|}AyDx24G=w|X!cnglkF{Z1zO`)hlV-6Z4ULLVqJSE08Rn#b&XT!0JlEz=#PcSzpFMfe`RZ~E`Chdxy36NNq^UyMs| zDSm9awSP+T87{-m@e9*Ej$bOASLiE+dnmL*;T;uPsnA~veXY=Hioa3lTL$0Z_qYmw zFkLtMQK4TI`icB!`~}zGTGRE$-$>Ts@AwD)X}T?6uW&1c{#JNnh5ljoU(fIcxFK$2 z`oEP9Z$cv66gR`oO@Eo;)(UT}@D}7-VjJ8F+nTO&8 zcxQz>D!dCd?UDW;?!b6A?_SL-E4(|&9=Ipc|HFHGHO(#&-dEv+6#gHx`{Dk003K+% zrF9}X7!Sciv9sxxcDTYPD}02)$0>Xyvq$04cnltE`v0>dd_2hscp{#JT}-#kQxxu| z@Tugd;pun=b~XLyh47gqXJL0d8_zNQGcep!;d>N5SK)yQpQrE@3ZJj=#R^|Q<%QS_ zd*el>e=dbDA-NPU!#;Sq>9*lYg|AciD)OuG8tjYLn(laBPjUnH!~QtHbW6KY;n4~Y zQh0>IgP9$ILva`mH~p(MJd)%lyctK~Ev8%V7=_0vd@K2FI2LcmJ52v73y&wc6Ys*i zaf0c#@Lq*yDtw>9Qx(2n;fEA{fSQT;AWp)`rrU;xNglyR@iClYy0t&9@G}ZOK|T$i z#Ha9S(^Wo8@*Gab=W&MVzh(=+pm12>7ZrY0;g^_w8DByAe|WZ6-+V3(zeYX>0~o}R z>CUBy!YPHLHsU>0+xTUtSp{S+=LY>lX-@KS}#3NKW+qVO9E zSE;XI9UJ(%>HmHz{3gjHzGu4Y?gNq!@grP}OHBV; z>B1i?{Efn&D7;+ZPnrD;m*MC5h3T%KFG;?_6}S?=Hr;x^Rd}7k-;sZhtMCV0jX&Z~ z_%r^3Yj7<#kNj^owtua=*hBw2`5*Wv{)OvJxAuP&*-qhq71>ge4HVf_kqy0?$VRv^ zZh|uXvn#S0$>!J!TjLgHbIIInqsUea+Tzx@4Q^}tS4U)fMfOl+2SwT|vLmzYa3|au zcQO4lC$cL^2iy%i;_l{u*1o4Ady(&r`{2Il9U}h-MD|ytmm&u!(nXO26*-K8gB0n+ z;9xui55>-=_xTp@C>^fIv5FkQ_((hokH%w6x6Q|q9FHg9iFlIfeHg}D+R2LaP~;Rv zx+!uh$!T~xo`GFWx8-M&oQ2)-Y&^$o9$RkOTR`VBI1kUq3-ChIe{~e;t;jG%E>h%L zMJ`t43PmoV=2E;2`{3oK+lDJi=>L(c8PoqGeg9K)ogxDjxt`e@upjov0j7VoMs6e- zgoAMi4mI5xhbwZ2A|n(Tt;k4b>Hm?N8IQtSOut)3#*o~Kx8Yd4-E_+wr^r2uj3=l6 zNA6;LH%{;>o9}5v?j^Yo@5cvlqUrWxl483lGFj2{6?sUJZxnf05o>pkC^B1-M-`c= z$YY8;smK)WI~5xxvUsbUT5*f3jz#19B40B23RmDt{MvMn z@3)HXuE=+aN|Ems`CXA!iu|HT^JuT8{zv=?e>UAdt|3{Azv6GW&h%e%M*dL5+WVj6 zf8l!k8~-u=^ESGHmqa(jjc{Y!#Pp9tbW=sQQ*<*$+bFs@v#pT+AKilSmR^1HHFNTxU=b&)}CZn?0~zW*ZCfCP0c>IFa8hrGu@I8AUO~Z!cKUw+5EIKHxE^`GlRqMa6AH!G~G5Ft?22B9;4_< ziXO}CadF< zTyfEB6&;}Hb>!FM4cHI+oBk&mq60~8#6dV1hnVjC9H!{)iVj!w7DY!eI}&fgn{kxs zj>Bk@F?cK9hGR`vbBCf66dgxC9`8i@fAnq}`_CiMd&uv_`|y7B`oF7rP|;Tuouuef zidz4lqUb}^JdBUvqxhKV9*e0YkK+?K4WBgq*ALOB6`i5zGvv?Wb2uHJH~oGdok{Wn zzKAd3%ck4TS&AkUovmm{(N~#$4d-A0gQhz_!z2-mVhp|h@Ae|8Xim`-c?+g7gIUuZ z^E^obi&(<4>6TVi^lL?HiY`{PuIRgpHWZz&=<8Izfp6kmoM*Ob{wxz+K(Y|u!sgld zj#uONrA6fL;rsXjeuy8LZr_(E`njS@$v?(V@KgK@mzn-xRg}|C6HMQ?m+xz}5Jp>5k0LB){MqT#LV&?i^UB=--O|PW}h}iGSgG z(=F{El7Bs88{mexk?GgOHc@OF#iZC4ifzj5X1F=F!q%q0_SlvrZE!1Wi(8v+ncFJ1 zlVaPEZ;w0Rj@ZuhpC4m8lk9@+aaZhMx}|kgY@K4eEB26Ldnk5+VtXofqGEd~cBo=| zD|Ucl`*5#)(b|sf?|!(y>A$v#(f?xyk$1v_@er@3`3_R7vtmapb{P5Lcmy7aN13kj z7?NZ0I6NLtFkQ__ik+=k7sbv{>||z7!Bf%e|B9V%`d4nOD@ivz6VJl#W^#x|gr<8VCQiFe`MI05g$d+|Qge#CC|<^zg7Kr#^@#7Q{W z^m|C`Va3XdJ)+ng#U52`x?+zh_M~D{sGN$A;}bZ|bldq9$Qpjbw+pki^wLd=Gd{vV_N$6{W6%UJRR zCNYIAm^Pb_AUCs$eMvwb$kQgG~H2}M=~E5 z;6i-Mbl1*1ihZcqyX1@TJ$xTOFx}EVB3X<}a4CLl`maV}pDOm9VxKAYm14`7{T#o* z<@lxP9-|c`EAeam2ER4kzJIUS&x)-g{{dIykNA`6zaEJFLb3+e;;;Cd>9+89#qA9L zL-F$!`&03w6#Gl@{S{lUxHZPVsi*(P{`JPq>oL9|~t-VV1%@BaPVx4N??k>cdY{j4 zJ+cjBKK~!*^Z#-0^Z)**_v3v2KhEd>359y0g4~0IQ>6< z5VM`|V5I*y-vNksCOHfb$0P7a(^ks(XvI%g{20YgQv6tw0$ET1?#mDgpoMyV^KSe_Sk3YlsS$qzso33((;z7k{Dn3i`7npq!U&5F1 z71QrF@!2Hw|G3xx6`z9vuf{*yLnL90U=(8*H{H^bioc_HO7WWFEs7Tu_xiu$8O&l1 zz5egcfg(u>%UHpx>G!dCUGaH}H^^VdH}FlIYq}#q|Bo*qUx;tv+ou0+L;PLEKT~{> z;)@l3kJF;%7b0v0AqLmVDm1xcE7Puw0 z!L3YJzctA=xGipn+nfGlo!C){U6p7@z7y_@yI_0MKi?7^NOr@HxI6A)x;5^l#4$?j ztwd)f_EF+MCHAG}f4Cp+j|Z6kIhi2L62~)p0-lH`VHeZw*C`~Y;%Rs~o?*J9)J=&VN}Nf47Iw$8@f_1FttZL3 zcpjdQ7nuHYU!s>1_|SB`%@zQoIcN;N_+}!dH@9g;(P>*w=Jh zd!6i+XX1MD8?Ybt#{s5)ekN`t8H9sz2o5z{HGjHK3|C?_;Rq#0GPntE#!+~S+1xvB zj#1)P2Djl@ydCc_-LV?4#4}3Vsl-D{+@-|*O59D&1iT0D#rsV6_&z`~5g)`!IN5YZ z;9(^mSK<+Jum3CY7*4^draPWbkW9lT@hN=TbT!W^@v0KfDen@K2hQ$W*6fUT#6r?Ztb6ve1^;LbNs?=)^PJnCB9;?0$1YK z_>Jk7_MMVa;(H~2S7MbC*4}@hW;OnZKjF`&I}_HBtVQ~Ng8rXa=hZa-zjopeCH__7 zPip?c_4qgbWBN-=Zr~-!4RIr+|0g%GvH$2NH&t>wB{x&Djgp&F(+XST7PzJ9>bD|k zi(BJ1xUK2$dvbdvcTsW&@*S}q?u1_d_d9d4J;|=v0e8cWrd!$`N?xSoo=Tpm%yk5ymmAp#H%c$vtm*W+9rRk2$)g;$oU%VEt zGyPtayg|u9O7Ds{OoA*A*K2# z`LL3|EBT0$6(t{4@)ac?Q}QW_rzkma)y%6kUxvh;dFf7bXVL= zk{9qrdAGn z&6QlQ)J97FP31rMuV-ol+|cy5B(*WgCMet#H#7a^r&=l1R;kwHTi}-12DdU@CH+6O z4f(dX9d7@hnjMweOR08Bbx>+2W_QM2us!Z-wrai_OzlR}5qHNua8J|i#okICpwvF( z`{Ms_KiuDRTX-PJLD&fo#zRb3(^;vmN*$)uu}mGV)DaAh#G~+NJjV2Y(oY?y)X7R6 zPtMtuI+5{7*u`|qKZWE}JPl9BGfY?0O{t!QXDW3TgYI}Xo`XG1zvrjURjRjA=aHX} z^#9a_jC*;NJ(`d5MI;yFC3q=%{lAre%r94}q|_BkS#!HmsWD1jrPLs$u2$*>rLLjA zFJ6n+;q|89qf-4y`r`l`h&P&U9|tQnQmG;2Lva`m#}TIA%~Cg!+>E2}794H5rQNF3 zeM;S?)SXI=W%hQw1IOWb)15PSk=%_F@E*L^Y%Y_V_bc@PgNgVcPQuBiJE{*W^_o(T zDD|9Dk191ysmG|9f>ZHve8P0c`AL$e@M)y~r=GR3{|#)Z=}Nt%)bq^Fz?t|0zG%85 z@G{9OI16XvtES&iQgf6_D-}>Grc{vG5QZ^=QPcmeeJW0pz$B)y#dMEOh9rwQ%p?6j zRkX3&!m?67D^*eI6Q!z3y{%MDskutksc+!x_y)dd`oDun%_EtQ3veO6WxBKO9i={0 z>Rs|h_#VEGADHgZ|A=HUF2SYvvFU0)Rq89k&y-rm;B))}m*bbFTl)&7zE^4``PcXj zev99k{wH=)t4Myp)kyzO{bXZzM*X6e1C?5%lr{FX)clIS;X3>s|1e!2_)9JOD7BuP z{-64X@xPue8{mexky`dr%f|K~s$~-tZi<`X=GY2bBj5kovZY#fQA-=OY@-(M`#+iD zD?nSeZar-%H@8(wJGE@5mL1gMegCKbJ)AAx_kY^Bb&vIG;rl;ZcDBR|hxAtq-~ZXN zt6FxqL@gcEvYT2uHt*ZI*L*_0|FgyW{!d$oN$7nAsJ->AmVMbfJArL~_rv}10MqZ) zEeEOPShaLg%i(G{m|3s?tL0GajE9;2nb2|s$&q*z9*xJC{^QkhoLWv+3;n<41ZL^~ zE%g7EE|&OLLCY!3o{Fd8>3D|eYPu=&s#?xe`W>~LrL-NH?n-x7%h^irsFrioa;aK+ zsO3Vn^yI$h;(2&JUSRrXW=k)U-gpsSjF*^hA1_nO)oSTOemP!&SK?Ks+qP>+`r@^C z9bS(&U_TxU@9+PrWdQQ`e_Oo2|ErckI2ecEP#lKCaRiRUoA72FrIy##atq_pI0kRU z+i)!2j(6ZV9FKS6U3fQ6z{OZYOrg0pZozKY&oXI9G`3}6sL7{&-j zF@|wWU=mZGOzJu@L zB76_u#}BZ%{Erwf#wEBEKgLh+Q~V5<;pg}TF2^tND_nsq@oW4Bzs2wHdt8M-;A;F4 zf5M;f7hHpD@mKr}*WvH@2mXnF;d=ZV|G|Gf(;MK1xDjrQo1k!0+zdCzR@fT1z%8*2 zZiQ`eYupC6#qDr=+`(*p8pkl*PU*ds-bv}*l-}9v80lTGJ?@GfOuvJrJCf{K(SY5ISf{-5^x zztUa*v$Qiw&cg1<>;LpQHuj&((mj>#qx88-_g0$zpQit(z5cH>um96t|My={rs@A_ z`hVK%|4Ltqmw7eK?{-LEu5@3e>Hlf^f7fhQm$&St&h|7(jP1RA@v{OVqAhtP5(Wd^d}^r;%B%FKR4YGSg!OpN`FcI6|TUQ__gUOza{w& zzsFVhgXxaXk4mps`X{A-Q~GCSf5A1l7JoI}KCUDA9sj^T@h{VzOMfe~vC{vL|Ld9A z05`;qOn>c}O-O{B;%2zH>F-6RwK5%**+Q9Znc7mBHVn4HwzxHJWBO-iW;?oBtvj04#VN5TiQrv9#ZBeW$skwW@T#e8cT9J-htzAyy1tk6_7-L4D7%$10cAc? zCa6qanUFF`io?o87(_9KaZH%*5lNA>U>Y-+#hmHZSWsr3GDT(T%9NNbV+E^NGu<(1 zki3p>;F~ztbT#vpvG%@zd?C{RGjB6~$E$4qPA#*DJKfn)7cm6L{W{omSlv%0F zQe{3@=3{E;{~7v!<};FIrrWRPS+Sh_OZ*B~nC@EsTA3e|`G)*kr2l8=|Cv>mxIJ3U z?2q^p{*1qvZadd1yP-0_D)W~zzcITGf5$)YPt%<_>q-8`fAC+=>;|U)DZcDR%5JXg z#^jrza8umO^!GR0iljAefm>o5)77+9wyUyRD|?`_+bFx6vfC=Vld{`UxjpWHJ7PPt zRrB5E?9L>+V0+vZJD6_y9hKcj+1<(az&&v<+}rezXLetb|KWbPKOSJZH6EnwvC4K* z_HbnnX7&&~6g%T#rhojiN01zeN8!!$4G%ATogZ)ML?_FQGVQ*$<+gFUdP>Ay#sJ&)vkyZ|r6US{*BByL`$?8OW& z!AtQn>|?rPeuc6FmAz8g>y*8U*{ksy?2Ff${#lp3p5zAXhy8JY>A#>;50rg}*>`afzK8FdZofVx`3M)|5?pHf z-8=h9SXhM%L?|J_;iCCOK~0$1YKrrW}Am9zHsowDnd{a)E$m0hLmkIMc) zy-Ulxz@`5queIS{_D-=Hoy&W zBiz{Z_a!HiO>r~a99x-wU&?Kv+|J5vN!|vx!nVlg|8v_Yx4rc`<+fGM`~1Jx_w0We z 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

    }=?G^foStw-!ps4NS_N#?2xlUk*}S6t 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ʖGVR$tUQ3y;Fv#%(nE|L5-UT6 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%0D3A-Rdl&&17A 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

    diff --git a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/cell_valueheader.htm b/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/cell_valueheader.htm deleted file mode 100644 index a1fea40f60..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/cell_valueheader.htm +++ /dev/null @@ -1,2 +0,0 @@ - -
    " data-index="<%=self.index%>" class="incon<%=subcount%>" data-depends="<%=pcdata(self:deplist2json(section))%>"> diff --git a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/licence.htm b/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/licence.htm deleted file mode 100644 index af7630dd73..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/licence.htm +++ /dev/null @@ -1,22 +0,0 @@ -<%+header%> - - -
    -
    -
    -
    -

    GeoLite2

    -

    This product includes GeoLite2 data created by MaxMind, - available from - https://www.maxmind.com.

    - -

    Flag-icon-css

    -

    A collection of all country flags in SVG — plus the CSS for - easier integration https://flagicons.lipis.dev

    - -
    -
    -
    - -
    -<%+footer%> diff --git a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/refresh.htm b/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/refresh.htm deleted file mode 100644 index 7487bee563..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/refresh.htm +++ /dev/null @@ -1,35 +0,0 @@ -<%+cbi/valueheader%> - - - - -<%=self.value%> - -<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/ssrurl.htm b/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/ssrurl.htm deleted file mode 100644 index d8db64c56e..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/ssrurl.htm +++ /dev/null @@ -1,310 +0,0 @@ -<%+cbi/valueheader%> - - - - - - -<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/status_bottom.htm b/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/status_bottom.htm deleted file mode 100644 index 60a833393a..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/status_bottom.htm +++ /dev/null @@ -1,71 +0,0 @@ -
    -
    -
    -
    - 获取中... -
    -
    -
    - - - - -
    -
    -
    -
    -
    - - - diff --git a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/status_top.htm b/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/status_top.htm deleted file mode 100644 index 2c6d060573..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/status_top.htm +++ /dev/null @@ -1,93 +0,0 @@ -<% math.randomseed(os.time()) %> - - - -
    -
    -
    -
    -

    <%:Client%>
    <%:Not Running%>

    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -

    <%:Game Mode%>
    <%:Not Running%>

    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -

    PDNSD
    <%:Not Running%>

    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -

    SOCKS5
    <%:Not Running%>

    -
    -
    -
    - -
    -
    -
    -
    -
    - - diff --git a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/tblsection.htm b/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/tblsection.htm deleted file mode 100644 index 289cb6b9bf..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/tblsection.htm +++ /dev/null @@ -1,294 +0,0 @@ - - - - -
    -
    - 总计 - <%- print(self.des)-%>个节点 - -
    -
    - -
    - <%- local count=0 -%> - -
    - - <%- local isempty=true for i, k in ipairs(self.serverTable) do section=k isempty=false local - fc=(section.name==self.current) and "fast" or "" local flag_icon=(section.flag ~=nil) - and "flag-icon-" .. section.flag or "flag-icon-un" local switch_enable=(section.switch_enable=="1" ) - and "" or "hidden" scope={ valueheader="cbi/cell_valueheader" , valuefooter="cbi/cell_valuefooter" } - -%> - -
    -
    -
    -
    - -
    - <%=section.type%> -
    -
    -
    - <%=section.alias%> -
    - <%- if self.extedit or self.addremove then -%> - - <%- end -%> -
    -
    - <%- end -%> - - <%- if isempty then -%> -
    -

    - <%:This section contains no values yet%> -
    -
    - <%- end -%> -
    - - <% if self.error then %> -
    -
      - <% for _, c in pairs(self.error) do for _, e in ipairs(c) do -%> -
    • - <%=pcdata(e):gsub("\n","
      ")%> -
    • - <%- end end %> -
    -
    - <% end %> - - <%- if self.addremove then -%> - <% if self.template_addremove then include(self.template_addremove) else -%> -
    - <% if self.anonymous then %> - - <% else %> - <% if self.invalid_cts then -%> -
    - <% end %> - - - <% if self.invalid_cts then -%> -
    - <%:Invalid%> -
    - <%- end %> - <% end %> -
    - <%- end %> - <%- end -%> -
    -
    - - diff --git a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/update_subscribe.htm b/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/update_subscribe.htm deleted file mode 100644 index ae787ab59f..0000000000 --- a/package/ctcgfw/luci-app-vssr/luasrc/view/vssr/update_subscribe.htm +++ /dev/null @@ -1,113 +0,0 @@ -<%+cbi/valueheader%> - - - -
    - "> -
    - - - -<%+cbi/valuefooter%> diff --git a/package/ctcgfw/luci-app-vssr/po/zh_Hans/vssr.po b/package/ctcgfw/luci-app-vssr/po/zh_Hans/vssr.po deleted file mode 100644 index 7fdd3ee318..0000000000 --- a/package/ctcgfw/luci-app-vssr/po/zh_Hans/vssr.po +++ /dev/null @@ -1,724 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8\n" - -msgid "vssr" -msgstr "Hello World" - -msgid "Client" -msgstr "客户端" - -msgid "Enable" -msgstr "启用" - -msgid "Disable" -msgstr "停用" - -msgid "Log" -msgstr "日志" - -msgid "Running" -msgstr "运行中" - -msgid "Not Running" -msgstr "未运行" - -msgid "Game Mode" -msgstr "游戏模式" - -msgid "Global Setting" -msgstr "全局设置" - -msgid "Global Server" -msgstr "全局服务器" - -msgid "vssr SOCK5 Proxy is running" -msgstr "vssr SOCK5代理运行中" - -msgid "UDP Relay Server" -msgstr "UDP中继服务器" - -msgid "Same as Main Server" -msgstr "与主服务器相同" - -msgid "Servers Setting" -msgstr "服务器配置" - -msgid "Alias(optional)" -msgstr "别名(可选)" - -msgid "Onetime Authentication" -msgstr "一次验证" - -msgid "Server Address" -msgstr "服务器地址" - -msgid "Server Port" -msgstr "服务器端口" - -msgid "Local Port" -msgstr "本地端口" - -msgid "Connection Timeout" -msgstr "连接超时" - -msgid "Password" -msgstr "密码" - -msgid "Encrypt Method" -msgstr "加密方式" - -msgid "Protocol" -msgstr "传输协议" - -msgid "Protocol param(optional)" -msgstr "传输协议参数(可选)" - -msgid "Obfs" -msgstr "混淆插件" - -msgid "Obfs param(optional)" -msgstr "混淆参数(可选)" - -msgid "Enable Tunnel(DNS)" -msgstr "启用隧道(DNS)转发" - -msgid "Tunnel Port" -msgstr "隧道(DNS)本地端口" - -msgid "Forwarding Tunnel" -msgstr "隧道(DNS)转发地址" - -msgid "Access Control" -msgstr "访问控制" - -msgid "Interfaces - WAN" -msgstr "接口 - WAN" - -msgid "Bypassed IP List" -msgstr "被忽略IP列表" - -msgid "NULL - As Global Proxy" -msgstr "留空 - 作为全局代理" - -msgid "Bypassed IP" -msgstr "额外被忽略IP" - -msgid "Forwarded IP" -msgstr "强制走代理IP" - -msgid "Interfaces - LAN" -msgstr "接口 - LAN" - -msgid "LAN Access Control" -msgstr "内网访问控制" - -msgid "Allow listed only" -msgstr "仅允许列表内" - -msgid "Allow all except listed" -msgstr "仅允许列表外" - -msgid "LAN Host List" -msgstr "内网主机列表" - -msgid "SSR Client" -msgstr "基本设置" - -msgid "SSR Server" -msgstr "服务端" - -msgid "vssr Server" -msgstr "Hello World 服务端" - -msgid "vssr Server is running" -msgstr "Hello World 服务端运行中" - -msgid "vssr Server is not running" -msgstr "Hello World 服务端未运行" - -msgid "Enable Server" -msgstr "启动服务端" - -msgid "Server Setting" -msgstr "服务端配置" - -msgid "KcpTun Enable" -msgstr "KcpTun 启用" - -msgid "bin:/usr/bin/kcptun-client" -msgstr "二进制文件:/usr/bin/kcptun-client" - -msgid "KcpTun Port" -msgstr "KcpTun 端口" - -msgid "KcpTun Param" -msgstr "KcpTun 参数" - -msgid "KcpTun Password" -msgstr "KcpTun 密码" - -msgid "Haven't a Kcptun executable file" -msgstr "不存在Kcptun可执行文件,请下载Kcptun可执行文件并改名放入/usr/bin/kcptun-client" - -msgid "Not a Kcptun executable file" -msgstr "Kcptun可执行文件格式不正确,请确认是否正确下载了路由器对应的可执行文件" - -msgid "Enable Process Monitor" -msgstr "启用进程监控" - -msgid "Edit vssr Server" -msgstr "编辑服务器配置" - -msgid "Alias" -msgstr "别名" - -msgid "Xray SOCKS5 Proxy" -msgstr "Xray SOCKS5 代理" - -msgid "Xray HTTP Proxy" -msgstr "Xray HTTP 代理" - -msgid "Server" -msgstr "服务器" - -msgid "TCP Fast Open" -msgstr "TCP快速打开" - -msgid "Status" -msgstr "状态" - -msgid "Unknown" -msgstr "未知" - -msgid "Running Status" -msgstr "运行状态" - -msgid "Global Client" -msgstr "TCP透明代理" - -msgid "Global SSR Server" -msgstr "SSR服务端" - -msgid "DNS Tunnel" -msgstr "DNS 隧道" - -msgid "IPK Version" -msgstr "IPK 版本号" - -msgid "KcpTun Version" -msgstr "KcpTun 版本号" - -msgid "Not exist" -msgstr "未安装可执行文件" - -msgid "IPK Installation Time" -msgstr "IPK 安装时间" - -msgid "Project" -msgstr "项目地址" - -msgid "Not Running" -msgstr "未运行" - -msgid "Running" -msgstr "运行中" - -msgid "Enable GFW mode" -msgstr "启用 GFW 模式" - -msgid "Running Mode" -msgstr "运行模式" - -msgid "IP Route Mode" -msgstr "绕过中国大陆IP模式" - -msgid "GFW List Mode" -msgstr "GFW列表模式" - -msgid "Global Mode" -msgstr "全局模式" - -msgid "Oversea Mode" -msgstr "海外用户回国模式" - -msgid "Router Proxy" -msgstr "路由器访问控制" - -msgid "Normal Proxy" -msgstr "正常代理" - -msgid "Bypassed Proxy" -msgstr "不走代理" - -msgid "Forwarded Proxy" -msgstr "强制走代理" - -msgid "UDP Relay" -msgstr "UDP中继" - -msgid "Google Connectivity" -msgstr "【谷歌】连通性检查" - -msgid "Baidu Connectivity" -msgstr "【百度】连通性检查" - -msgid "No Check" -msgstr "未检查" - -msgid "Check" -msgstr "检查" - -msgid "Connect OK" -msgstr "连接正常" - -msgid "Connect Error" -msgstr "连接错误" - -msgid "Check..." -msgstr "正在检查.." - -msgid "Proxy Check" -msgstr "代理检查" - - -msgid "GFW List Data" -msgstr "【GFW列表】数据库" - -msgid "China IP Data" -msgstr "【国内IP段】数据库" - -msgid "Records" -msgstr "条记录" - -msgid "Refresh Data" -msgstr "更新数据库" - -msgid "Refresh..." -msgstr "正在更新,请稍候.." - -msgid "Refresh OK!" -msgstr "更新成功!" - -msgid "Refresh Error!" -msgstr "更新失败!" - -msgid "No new data!" -msgstr "你已经是最新数据,无需更新!" - -msgid "Total Records:" -msgstr "新的总纪录数:" - -msgid "Check Server Port" -msgstr "【服务器端口】检查" - -msgid "Check Connect" -msgstr "检查连通性" - -msgid "Check Server" -msgstr "检查服务器" - -msgid "Auto Switch" -msgstr "自动切换" - -msgid "Enable Auto Switch" -msgstr "启用自动切换" - -msgid "Switch check cycly(second)" -msgstr "自动切换检查周期(秒)" - -msgid "Check timout(second)" -msgstr "切换检查超时时间(秒)" - -msgid "Check Try Count" -msgstr "切换检查重试次数" - -msgid "Enable Process Deamon" -msgstr "启用进程自动守护" - -msgid "Advertising Data" -msgstr "【广告屏蔽】数据库" - -msgid "DNS Server IP and Port" -msgstr "DNS服务器地址和端口" - -msgid "Resolve Dns Mode" -msgstr "DNS解析方式" - -msgid "Use SSR DNS Tunnel" -msgstr "使用SSR-DNS隧道" - -msgid "Use Pdnsd" -msgstr "使用Pdnsd" - -msgid "Use Other DNS Tunnel(Need to install)" -msgstr "使用其他DNS转发(需要自己安装)" - -msgid "Import SSR" -msgstr "导入ssr配置信息" - -msgid "Export SSR" -msgstr "导出ssr配置信息" - -msgid "Import SSR successfully." -msgstr "成功导入SSR。" - -msgid "Invalid SSR format." -msgstr "无效的SSR格式。" - -msgid "User cancelled." -msgstr "用户已取消。" - -msgid "Paste ssr url here" -msgstr "在此处粘贴ssr://网址" - -msgid "Unable to copy SSR to clipboard." -msgstr "无法复制SSR网址到剪贴板。" - -msgid "Copy SSR to clipboard successfully." -msgstr "成功复制SSR网址到剪贴板。" - -msgid "Servers Manage" -msgstr "服务器管理" - -msgid "Auto Update" -msgstr "自动更新" - -msgid "Through proxy update" -msgstr "通过代理更新" - -msgid "GFW List" -msgstr "GFW列表" - -msgid "Basic Settings [SS|SSR|Xray|Trojan]" -msgstr "基本设置 [SS|SSR|Xray|Trojan]" - -msgid "Main Server" -msgstr "主服务器" - -msgid "Anti-pollution DNS Server" -msgstr "访问国外域名DNS服务器" - -msgid "Use Pdnsd tcp query and cache" -msgstr "使用PDNSD TCP查询并缓存" - -msgid "DNS Server IP:Port" -msgstr "DNS服务器 IP:Port" - -msgid "Update time (every day)" -msgstr "更新时间 (每天)" - -msgid "Auto Update Server subscription, GFW list and CHN route" -msgstr "自动更新服务器订阅、GFW列表和 CHN路由表" - -msgid "Subscribe URL" -msgstr "SSR/V2RAY订阅URL地址" - -msgid "Update" -msgstr "更新" - -msgid "Save And Start Subscribe" -msgstr "保存并开始订阅" - -msgid "Server Count" -msgstr "节点数量" - -msgid "IP black-and-white list" -msgstr "禁止/通行名单" - -msgid "WAN IP AC" -msgstr "广域网访问控制" - -msgid "WAN White List IP" -msgstr "不走代理的广域网 IP" - -msgid "WAN Force Proxy IP" -msgstr "强制走代理的广域网 IP" - -msgid "LAN Bypassed Host List" -msgstr "不走代理的局域网LAN IP" - -msgid "LAN Force Proxy Host List" -msgstr "全局代理的LAN IP" - -msgid "Router Self AC" -msgstr "路由器自身代理设置" - -msgid "Router Self Proxy" -msgstr "路由器自身代理方式" - -msgid "Normal Proxy" -msgstr "跟随全局设置" - -msgid "Bypassed Proxy" -msgstr "不走代理" - -msgid "Forwarded Proxy" -msgstr "全局代理" - -msgid "GFW Custom List" -msgstr "GFW 用户自定义列表" - -msgid "Please refer to the following writing" -msgstr "每行一个域名,无需写前面的 HTTP(S):// ,提交后即时生效" - -msgid "Servers subscription and manage" -msgstr "服务器节点订阅管理(支持SSR/V2ray 订阅)" - -msgid "Subscription" -msgstr "节点订阅" - -msgid "Through proxy update list, Not Recommended" -msgstr "通过路由器自身代理更新订阅(不推荐)" - -msgid "LAN IP AC" -msgstr "局域网访问控制" - -msgid "Game Mode UDP Server" -msgstr "游戏模式UDP中继服务器" - -msgid "Game Mode UDP Relay" -msgstr "游戏模式UDP中继" - -msgid "Server failsafe auto swith settings" -msgstr "服务器节点故障自动切换设置" - -msgid "Delete All Subscribe Severs" -msgstr "删除所有订阅服务器" - -msgid "Severs Nodes" -msgstr "节点列表" - -msgid "Use Local DNS Service listen port 5335" -msgstr "使用本机端口为5335的DNS服务" - -msgid "Server Node Type" -msgstr "服务器节点类型" - -msgid "Using incorrect encryption mothod may causes service fail to start" -msgstr "输入不正确的参数组合可能会导致服务无法启动" - -msgid "Game Mode Host List" -msgstr "增强游戏模式客户端LAN IP" - -msgid "Multi Threads Option" -msgstr "多线程并发转发" - -msgid "Auto Threads" -msgstr "自动(CPU线程数)" - -msgid "1 Thread" -msgstr "单线程" - -msgid "2 Threads" -msgstr "2 线程" - -msgid "4 Threads" -msgstr "4 线程" - -msgid "8 Threads" -msgstr "8 线程" - -msgid "Proxy Ports" -msgstr "需要代理的端口" - -msgid "All Ports" -msgstr "所有端口(默认)" - -msgid "Only Common Ports" -msgstr "仅常用端口(不走P2P流量到代理)" - -msgid "Ping Latency" -msgstr "Ping延迟" - -msgid "Bypass Domain List" -msgstr "直连域名" - -msgid "Black Domain List" -msgstr "代理域名" - -msgid "Socks user" -msgstr "用户名" - -msgid "Socks pass" -msgstr "密码" - -msgid "HTTP user" -msgstr "用户名" - -msgid "HTTP pass" -msgstr "密码" - -msgid "Enable Servers" -msgstr "开启服务" - -msgid "Enable Auth" -msgstr "开启验证" - -msgid "Subscribing,Please do not refresh!" -msgstr "请勿刷新本页面,正在订阅中 ..." - -msgid "Apply" -msgstr "应用" - -msgid "Edit" -msgstr "修改" - -msgid "Delete" -msgstr "删除" - -msgid "Ping All Servers" -msgstr "Ping 所有节点" - -msgid "Check Ip And Access" -msgstr "Ip地址检查" - -msgid "Test From Internal" -msgstr "从国内测试" - -msgid "Test From Abroad" -msgstr "从国外测试" - -msgid "Test From Google" -msgstr "从谷歌测试" - -msgid "Baidu" -msgstr "百度搜索" - -msgid "Connection OK" -msgstr "访问正常" - -msgid "Cannot Access" -msgstr "无法访问" - -msgid "Unavailable" -msgstr "无法获取" - -msgid "Connection Timeout" -msgstr "连接超时" - -msgid "Update Setting" -msgstr "更新设置" - -msgid "Paste Node Link Here" -msgstr "在这里粘贴配置链接" - -msgid "User Cancel" -msgstr "用户取消" - -msgid "Invalid Format" -msgstr "无效的格式" - -msgid "Import Configuration" -msgstr "导入配置信息" - -msgid "Import" -msgstr "导入" - - -msgid "Configuration Succeeded" -msgstr "配置信息成功" - -msgid "Import Configuration" -msgstr "导入配置信息" - -msgid "Configuration Url" -msgstr "配置链接" - -msgid "Open v2ray route" -msgstr "开启分流" - -msgid "When open v2ray routed,Apply may take more time." -msgstr "(支持全类型分流)当分流开启时,保存并应用的时间可能变长。" - -msgid "Youtube Proxy" -msgstr "Youtube 代理" - -msgid "TaiWan Video Proxy" -msgstr "台湾视频服务代理" - -msgid "Netflix Proxy" -msgstr "Netflix 代理" - -msgid "Disney+ Proxy" -msgstr "Disney+ 代理" - -msgid "Prime Video Proxy" -msgstr "Prime Video 代理" - -msgid "TVB Video Proxy" -msgstr "TVB 视频代理" - -msgid "Custom Proxy" -msgstr "自定义代理" - -msgid "Custom Proxy Domain Name" -msgstr "自定义分流域名" - -msgid "Proxy Domain Name" -msgstr "需要被分流的域名" - -msgid "adblock settings" -msgstr "广告屏蔽设置" - -msgid "Enable adblock" -msgstr "开启广告屏蔽" - -msgid "Licence" -msgstr "许可" - -msgid "Area" -msgstr "国家或地区" - -msgid "Use Xray instead of V2ray" -msgstr "使用Xray替代V2ray" - -msgid "Subscribe Filter Words" -msgstr "订阅过滤关键词" - -msgid "Filter Words splited by /" -msgstr "使用 / 分隔关键词" - -msgid "VLESS Encryption" -msgstr "VLESS 加密" - -msgid "You can manually add group names in front of the URL, splited by ," -msgstr "你可以在URL前面手动添加组名,使用 , 分隔" - -msgid "Router Config" -msgstr "分流设置" - -msgid "Router domain config" -msgstr "分流域名设置" - -msgid "Youtube Domain" -msgstr "YouTube 域名" - -msgid "Tw Video Domain" -msgstr "台湾视频域名" - -msgid "Netflix Domain" -msgstr "Netflix 域名" - -msgid "Disney+ Domain" -msgstr "Disney+ 域名" - -msgid "Prime Video Domain" -msgstr "Prime Video 域名" - -msgid "TVB Domain" -msgstr "TVB 域名" - -msgid "Custom Domain" -msgstr "自定义域名" - -msgid "Subscribe" -msgstr "订阅设置" - -msgid "Local Proxy" -msgstr "本地代理" - -msgid "↑ Put your IP list here" -msgstr "↑ 在上面放置你需要分流的IP列表" - -msgid "↑ Put your domain list here" -msgstr "↑ 在上面放置你需要分流的域名列表" diff --git a/package/ctcgfw/luci-app-vssr/root/etc/config/vssr b/package/ctcgfw/luci-app-vssr/root/etc/config/vssr deleted file mode 100644 index 8db9e5a9ca..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/config/vssr +++ /dev/null @@ -1,52 +0,0 @@ - -config global - option tunnel_forward '8.8.4.4:53' - option tunnel_address '0.0.0.0' - option run_mode 'router' - option pdnsd_enable '1' - option monitor_enable '1' - option global_server 'nil' - option enable_switch '0' - option switch_timeout '5' - option switch_time '667' - option switch_try_count '3' - option adblock '0' - option dports '1' - -config socks5_proxy - option enable_server '0' - option local_port '1080' - option local_address '0.0.0.0' - option enable_auth '1' - option Socks_user 'user' - option Socks_pass 'password' - -config http_proxy - option enable_server '0' - option local_port '1088' - option local_address '0.0.0.0' - option enable_auth '0' - option http_user 'user' - option http_pass 'password' - -config access_control - option wan_bp_list '/etc/vssr/china_ssr.txt' - option lan_ac_mode 'b' - option router_proxy '1' - list wan_fw_ips '149.154.160.0/20' - list wan_fw_ips '67.198.55.0/24' - list wan_fw_ips '91.108.4.0/22' - list wan_fw_ips '91.108.56.0/22' - list wan_fw_ips '109.239.140.0/24' - -config server_global - option enable_server '0' - -config server_subscribe - option proxy '0' - option auto_update_time '2' - option auto_update '1' - option filter_words '过期时间/剩余流量' - - - diff --git a/package/ctcgfw/luci-app-vssr/root/etc/init.d/vssr b/package/ctcgfw/luci-app-vssr/root/etc/init.d/vssr deleted file mode 100755 index 7a88296b1a..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/init.d/vssr +++ /dev/null @@ -1,655 +0,0 @@ -#!/bin/sh /etc/rc.common -# -# Copyright (C) 2017 openwrt-ssr -# Copyright (C) 2017 yushi studio -# Copyright (C) 2018 lean -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# - -START=99 -STOP=15 - -extra_command "rules" - -SERVICE_DAEMONIZE=1 -NAME=vssr - -#定义配置文件名称 -CONFIG_FILE=/var/etc/${NAME}_t.json -CONFIG_UDP_FILE=/var/etc/${NAME}_u.json -CONFIG_SOCK5_FILE=/var/etc/${NAME}_s.json -CRON_FILE=/etc/crontabs/root - -#定义可执行文件路径 -VSSR_RULES_BIN=/usr/bin/vssr-rules - -#初始化配置 -server_count=0 -redir_tcp=0 -redir_udp=0 -tunnel_enable=0 -local_enable=0 -kcp_enable_flag=0 -kcp_flag=0 -pdnsd_enable_flag=0 -switch_enable=0 -shunt_enable=0 -switch_server=$1 -MAXFD=32768 -threads=1 - - -#读取 uci 数据 -uci_get_by_name() { - local ret=$(uci get $NAME.$1.$2 2>/dev/null) - echo ${ret:=$3} -} - -uci_get_by_type() { - local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null) - echo ${ret:=$3} -} - -run_mode=$(uci_get_by_type global run_mode) -is_xray=$(uci_get_by_type global use_xray) - -#查找可执行文件 -find_bin() { - case "$1" in - ss) ret="ss-redir" ;; - ss-local) ret="ss-local" ;; - ssr) ret="ssr-redir" ;; - ssr-local) ret="ssr-local" ;; - ssr-server) ret="ssr-server" ;; - v2ray | vless) ret="xray" ;; - trojan) ret="trojan" ;; - esac - echo $(find /usr -perm /+x -type f -name $ret) -} - -#添加定时执行脚本 -add_cron() { - sed -i '/vssr.log/d' $CRON_FILE && echo '0 1 * * * echo "" > /tmp/vssr.log' >>$CRON_FILE - [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "0 $(uci_get_by_type server_subscribe auto_update_time) * * * /usr/bin/lua /usr/share/vssr/subscribe.lua" >>$CRON_FILE - [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "0 $(uci_get_by_type server_subscribe auto_update_time) * * * /usr/bin/lua /usr/share/vssr/update.lua" >>$CRON_FILE - crontab $CRON_FILE -} - -#删除定时执行脚本 -del_cron() { - sed -i '/vssr/d' $CRON_FILE - sed -i '/vssr.log/d' $CRON_FILE - /etc/init.d/cron restart -} - -#计算分流数量 -count_shunt() { - snum=0 - eval shunt_array1="youtube" - eval shunt_array2="tw_video" - eval shunt_array3="netflix" - eval shunt_array4="disney" - eval shunt_array5="prime" - eval shunt_array6="tvb" - eval shunt_array7="custom" - for i in 1 2 3 4 5 6 7; do - a=$(eval echo "\$shunt_array$i") - local server_index=$(uci_get_by_type global ${a}_server) - local server_type=$(uci_get_by_name $server_index type) - if [ "$server_type" != "" ]; then - snum=$(($snum + 1)) - fi - done - echo $snum -} - - -#创建配置文件 -gen_config_file() { - local hostip=$(uci_get_by_name $1 server) - [ $2 = "0" -a $kcp_flag = "1" ] && hostip="127.0.0.1" - - if [ $2 = "0" ]; then - re_type="tcp" - config_file=$CONFIG_FILE - server_obj=$GLOBAL_SERVER - elif [ $2 = "1" ]; then - re_type="udp" - config_file=$CONFIG_UDP_FILE - server_obj=$UDP_RELAY_SERVER - fi - [[ $(uci_get_by_name $1 fast_open 0) = "1" ]] && fastopen="true" || fastopen="false" - - local stype=$(uci_get_by_name $1 type) - local port=$(uci_get_by_name $1 local_port) - [[ "$stype" == "vless" ]] && stype="v2ray" - - if [ "$stype" == "trojan" ]; then - if [ "$re_type" == "udp" ]; then - re_type="client" - port="10801" - else - re_type="nat" - fi - fi - - local mport=0 - if [ $3 = "1" ]; then - stype="v2ray" - mport=1090 - re_type="tcp" - fi - - lua /usr/share/vssr/genconfig_${stype}.lua ${server_obj} ${re_type} ${port} ${hostip} ${mport} >${config_file} - sed -i 's/\\//g' $config_file -} - -#获取arg输出 -get_arg_out() { - case "$(uci_get_by_type access_control router_proxy 1)" in - 1) echo "-o" ;; - 2) echo "-O" ;; - esac -} - -#启动规则 -start_rules() { - local server=$(uci_get_by_name $GLOBAL_SERVER server) - #resolve name - if echo $server | grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then - server=${server} - elif [ "$server" != "${server#*:[0-9a-fA-F]}" ]; then - server=${server} - else - server=$(ping ${server} -s 1 -c 1 | grep PING | cut -d'(' -f 2 | cut -d')' -f1) - if echo $server | grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then - echo $server >/etc/ssr_ip - else - server=$(cat /etc/ssr_ip) - fi - fi - - kcp_server=$server - - local kcp_enable=$(uci_get_by_name $GLOBAL_SERVER kcp_enable 0) - if [ $kcp_enable = "1" ]; then - kcp_flag=1 - fi - - local local_port=$(uci_get_by_name $GLOBAL_SERVER local_port) - local lan_ac_ips=$(uci_get_by_type access_control lan_ac_ips) - local lan_ac_mode=$(uci_get_by_type access_control lan_ac_mode) - local router_proxy=$(uci_get_by_type access_control router_proxy) - if [ "$GLOBAL_SERVER" == "$UDP_RELAY_SERVER" -a $kcp_flag == 0 ]; then - ARG_UDP="-u" - elif [ -n "$UDP_RELAY_SERVER" ]; then - ARG_UDP="-U" - local udp_server=$(uci_get_by_name $UDP_RELAY_SERVER server) - if echo $udp_server | grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then - udp_server=${udp_server} - elif [ "$udp_server" != "${udp_server#*:[0-9a-fA-F]}" ]; then - udp_server=${udp_server} - else - udp_server=$(ping ${udp_server} -s 1 -c 1 | grep PING | cut -d'(' -f 2 | cut -d')' -f1) - if echo $udp_server | grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then - echo $udp_server >/etc/ssr_ip - else - udp_server=$(cat /etc/ssr_ip) - fi - fi - local udp_local_port=$(uci_get_by_name $UDP_RELAY_SERVER local_port) - fi - - if [ -n "$lan_ac_ips" ]; then - case "$lan_ac_mode" in - w | W | b | B) local ac_ips="$lan_ac_mode$lan_ac_ips" ;; - esac - fi - - #deal gfw firewall rule - local gfwmode="" - case "$run_mode" in - gfw) gfwmode="-g" ;; - router) gfwmode="-r" ;; - oversea) gfwmode="-c" ;; - all) gfwmode="-z" ;; - esac - - local dports=$(uci_get_by_type global dports 1) - if [ $dports = "1" ]; then - proxyport=" " - else - proxyport="-m multiport --dports 22,53,587,465,995,993,143,80,443 " - fi - - $VSSR_RULES_BIN \ - -s "$server" \ - -l "$local_port" \ - -S "$udp_server" \ - -L "$udp_local_port" \ - -a "$ac_ips" \ - -i "$(uci_get_by_type access_control wan_bp_list)" \ - -b "$(uci_get_by_type access_control wan_bp_ips)" \ - -w "$(uci_get_by_type access_control wan_fw_ips)" \ - -p "$(uci_get_by_type access_control lan_fp_ips)" \ - -G "$(uci_get_by_type access_control lan_gm_ips)" \ - -D "$proxyport" \ - $(get_arg_out) $gfwmode $ARG_UDP - return $? -} - -#启动PDNSD -start_pdnsd() { - local usr_dns="$1" - local usr_port="$2" - - local tcp_dns_list="208.67.222.222, 208.67.220.220" - [ -z "$usr_dns" ] && usr_dns="8.8.8.8" - [ -z "$usr_port" ] && usr_port="53" - - [ -d /var/etc ] || mkdir -p /var/etc - - if [ ! -d /var/pdnsd ]; then - mkdir -p /var/pdnsd - echo -ne "pd13\000\000\000\000" >/var/pdnsd/pdnsd.cache - chown -R nobody:nogroup /var/pdnsd - fi - - cat <<-EOF >/var/etc/pdnsd.conf - global{ - perm_cache=1024; - cache_dir="/var/pdnsd"; - pid_file="/var/run/pdnsd.pid"; - run_as="nobody"; - server_ip=127.0.0.1; - server_port=5335; - status_ctl=on; - query_method=tcp_only; - min_ttl=1h; - max_ttl=1w; - timeout=10; - neg_domain_pol=on; - proc_limit=2; - procq_limit=8; - par_queries=1; - } - server{ - label="ssr-usrdns"; - ip=$usr_dns; - port=$usr_port; - timeout=6; - uptest=none; - interval=10m; - purge_cache=off; - } - EOF - /usr/sbin/pdnsd -c /var/etc/pdnsd.conf & -} - - -#开启分流 -start_shunt() { - eval shunt_type1="global" - eval shunt_type2="youtube" - eval shunt_type3="tw_video" - eval shunt_type4="netflix" - eval shunt_type5="disney" - eval shunt_type6="prime" - eval shunt_type7="tvb" - eval shunt_type8="custom" - eval shunt_port1=2080 - eval shunt_port2=2081 - eval shunt_port3=2082 - eval shunt_port4=2083 - eval shunt_port5=2084 - eval shunt_port6=2085 - eval shunt_port7=2086 - eval shunt_port8=2087 - for i in 1 2 3 4 5 6 7 8; do - shunt_type=$(eval echo "\$shunt_type$i") - shunt_port=$(eval echo "\$shunt_port$i") - local server_index=$(uci_get_by_type global ${shunt_type}_server) - local server_port=${shunt_port} - local server_type=$(uci_get_by_name $server_index type) - local server_ip=$(uci_get_by_name $server_index server) - if [ "$server_type" = "vless" ]; then - server_type="v2ray" - fi - [ "$server_type" = "trojan" ] && re_type="client" || re_type="tcp" - if [ "$server_type" != "v2ray" -a "$server_type" != "" ]; then - local config_file=/var/etc/${NAME}_${shunt_type}.json - local bin=$(find_bin $server_type) - lua /usr/share/vssr/genconfig_${server_type}.lua ${server_index} ${re_type} ${server_port} ${server_ip} >${config_file} - sed -i 's/\\//g' $config_file - case "$server_type" in - ss | ssr) - bin=$(find_bin "ss-local") - [ "$server_type" == "ssr" ] && bin=$(find_bin "ssr-local") - $bin -c $config_file $ARG_OTA -f /var/run/vssr-${shunt_type}.pid1 >/dev/null 2>&1 - ;; - trojan) - $bin --config $config_file >/dev/null 2>&1 & - ;; - esac - echo "$(date "+%Y-%m-%d %H:%M:%S") ${shunt_type}: $server_type 分流服务已启动!" >>/tmp/vssr.log - fi - done - return $? -} - -start_redir() { - case "$(uci_get_by_name $GLOBAL_SERVER auth_enable)" in - 1 | on | true | yes | enabled) ARG_OTA="-A" ;; - *) ARG_OTA="" ;; - esac - - #deal kcp - local kcp_enable=$(uci_get_by_name $GLOBAL_SERVER kcp_enable 0) - if [ $kcp_enable = "1" ]; then - [ ! -f "/usr/bin/kcptun-client" ] && return 1 - - local kcp_str=$(/usr/bin/kcptun-client -v | grep kcptun | wc -l) - [ "0" = $kcp_str ] && return 1 - local kcp_port=$(uci_get_by_name $GLOBAL_SERVER kcp_port) - local server_port=$(uci_get_by_name $GLOBAL_SERVER server_port) - local password=$(uci_get_by_name $GLOBAL_SERVER kcp_password) - local kcp_param=$(uci_get_by_name $GLOBAL_SERVER kcp_param) - [ "$password" != "" ] && password="--key "${password} - service_start /usr/bin/kcptun-client \ - -r $kcp_server:$kcp_port \ - -l :$server_port $password $kcp_param - kcp_enable_flag=1 - fi - - gen_config_file $GLOBAL_SERVER 0 0 - local stype=$(uci_get_by_name $GLOBAL_SERVER type) - sscmd=$(find_bin $stype) - - - - if [ "$(uci_get_by_type global threads 0)" = "0" ]; then - threads=$(cat /proc/cpuinfo | grep 'processor' | wc -l) - else - threads=$(uci_get_by_type global threads) - fi - #转发TCP - redir_tcp=1 - scount=$(count_shunt) - if [ $scount == "0" ]; then - local last_config_file=$CONFIG_FILE - case "$stype" in - ss | ssr) - local pid_file="/var/run/ssr-retcp.pid" - local name="Shadowsocks" - [ "$type" == "ssr" ] && name="ShadowsocksR" - for i in $(seq 1 $threads); do - $sscmd -c $last_config_file $ARG_OTA -f /var/run/ssr-retcp_$i.pid >/dev/null 2>&1 - done - echo "$(date "+%Y-%m-%d %H:%M:%S") $name $threads 线程 已启动!" >>/tmp/vssr.log - ;; - v2ray | vless) - $sscmd -config $last_config_file >/dev/null 2>&1 & - echo "$(date "+%Y-%m-%d %H:%M:%S") $($sscmd -version | head -1) 已启动!" >>/tmp/vssr.log - ;; - trojan) - for i in $(seq 1 $threads); do - $sscmd -c $last_config_file >/dev/null 2>&1 & - done - echo "$(date "+%Y-%m-%d %H:%M:%S") $($sscmd -V 2>&1 | head -1) $threads 线程 已启动!" >>/tmp/vssr.log - ;; - esac - else - if [ $stype != "vray" ]; then - #开启 v2ray 路由服务 - gen_config_file $GLOBAL_SERVER 0 1 - sscmd=$(find_bin "v2ray") - local last_config_file=$CONFIG_FILE - $sscmd -config $last_config_file >/dev/null 2>&1 & - echo "$(date "+%Y-%m-%d %H:%M:%S") $($sscmd -version | head -1) 已启动!" >>/tmp/vssr.log - fi - - fi - - #转发UDP - if [ -n "$UDP_RELAY_SERVER" ]; then - redir_udp=1 - local utype=$(uci_get_by_name $UDP_RELAY_SERVER type) - ucmd=$(find_bin $utype) - gen_config_file $UDP_RELAY_SERVER 1 0 - last_config_file=$CONFIG_UDP_FILE - case "$utype" in - ss | ssr) - case "$(uci_get_by_name $UDP_RELAY_SERVER auth_enable)" in - 1 | on | true | yes | enabled) ARG_OTA="-A" ;; - *) ARG_OTA="" ;; - esac - local name="Shadowsocks" - [ "$type" == "ssr" ] && name="ShadowsocksR" - pid_file="/var/run/ssr-reudp.pid" - $ucmd -c $last_config_file $ARG_OTA -U -f /var/run/ssr-reudp.pid >/dev/null 2>&1 - echo "$(date "+%Y-%m-%d %H:%M:%S") UDP TPROXY Relay: $name 已启动!" >>/tmp/vssr.log - ;; - v2ray | vless) - $ucmd -config $last_config_file >/dev/null 2>&1 & - echo "$(date "+%Y-%m-%d %H:%M:%S") UDP TPROXY Relay: V2ray 已启动!" >>/tmp/vssr.log - ;; - trojan) - $ucmd --config $last_config_file >/dev/null 2>&1 & - ipt2socks -U -4 -b 0.0.0.0 -s 127.0.0.1 -p 10801 -l $(uci_get_by_name $UDP_RELAY_SERVER local_port) >/dev/null 2>&1 & - echo "$(date "+%Y-%m-%d %H:%M:%S") UDP TPROXY Relay: Trojan 已启动!" >>/tmp/vssr.log - ;; - esac - fi - - #deal with dns - - if [ "$(uci_get_by_type global pdnsd_enable)" = "1" ]; then - local dnsstr="$(uci_get_by_type global tunnel_forward 8.8.4.4:53)" - local dnsserver=$(echo "$dnsstr" | awk -F ':' '{print $1}') - local dnsport=$(echo "$dnsstr" | awk -F ':' '{print $2}') - if [ "$run_mode" = "gfw" ]; then - ipset add gfwlist $dnsserver 2>/dev/null - elif [ "$run_mode" = "oversea" ]; then - ipset add oversea $dnsserver 2>/dev/null - else - ipset add ss_spec_wan_ac $dnsserver nomatch 2>/dev/null - fi - start_pdnsd $dnsserver $dnsport - pdnsd_enable_flag=1 - fi - - if [ "$(uci_get_by_type global enable_switch)" = "1" ]; then - if [ "$(uci_get_by_name $GLOBAL_SERVER switch_enable)" = "1" ]; then - if [ -z "$switch_server" ]; then - local switch_time=$(uci_get_by_type global switch_time) - local switch_timeout=$(uci_get_by_type global switch_timeout) - service_start /usr/bin/vssr-switch start $switch_time $switch_timeout - switch_enable=1 - fi - fi - fi - add_cron - - return $? -} - -gen_service_file() { - [[ $(uci_get_by_name $1 fast_open) = "1" ]] && fastopen="true" || fastopen="false" - cat <<-EOF >$2 - { - "server": "0.0.0.0", - "server_port": $(uci_get_by_name $1 server_port), - "password": "$(uci_get_by_name $1 password)", - "timeout": $(uci_get_by_name $1 timeout 60), - "method": "$(uci_get_by_name $1 encrypt_method)", - "protocol": "$(uci_get_by_name $1 protocol)", - "protocol_param": "$(uci_get_by_name $1 protocol_param)", - "obfs": "$(uci_get_by_name $1 obfs)", - "obfs_param": "$(uci_get_by_name $1 obfs_param)", - "fast_open": $fastopen - } - EOF -} - -start_service() { - [ $(uci_get_by_name $1 enable) = "0" ] && return 1 - let server_count=server_count+1 - if [ $server_count = 1 ]; then - if ! (iptables-save -t filter | grep SSR-SERVER-RULE >/dev/null); then - iptables -N SSR-SERVER-RULE && \ - iptables -t filter -I INPUT -j SSR-SERVER-RULE - fi - fi - - gen_service_file $1 /var/etc/${NAME}_${server_count}.json - /usr/bin/ssr-server -c /var/etc/${NAME}_${server_count}.json -u -f /var/run/ssr-server${server_count}.pid >/dev/null 2>&1 - iptables -t filter -A SSR-SERVER-RULE -p tcp --dport $(uci_get_by_name $1 server_port) -j ACCEPT - iptables -t filter -A SSR-SERVER-RULE -p udp --dport $(uci_get_by_name $1 server_port) -j ACCEPT - return 0 -} - -gen_serv_include() { - FWI=$(uci get firewall.vssr.path 2>/dev/null) - [ -n "$FWI" ] || return 0 - if [ ! -f $FWI ]; then - echo '#!/bin/sh' >$FWI - fi - extract_rules() { - echo "*filter" - iptables-save -t filter | grep SSR-SERVER-RULE | sed -e "s/^-A INPUT/-I INPUT/" - echo 'COMMIT' - } - cat <<-EOF >>$FWI - iptables-save -c | grep -v "SSR-SERVER" | iptables-restore -c - iptables-restore -n <<-EOT - $(extract_rules) - EOT - EOF - -} -start_server() { - SERVER_ENABLE=$(uci_get_by_type server_global enable_server) - [ "$SERVER_ENABLE" = 0 ] && return 0 - mkdir -p /var/run /var/etc - - config_load $NAME - config_foreach start_service server_config - gen_serv_include - return 0 -} - -start_local() { - local socks_server=$(uci_get_by_type socks5_proxy enable_server) - local http_server=$(uci_get_by_type http_proxy enable_server) - - if [ "$socks_server" = "0" -a "$http_server" = "0" ]; then - return 1 - fi - mkdir -p /var/run /var/etc - - lua /usr/share/vssr/genconfig_v2ray_s.lua >$CONFIG_SOCK5_FILE - sed -i 's/\\//g' $config_file - socksbin=$(find_bin "v2ray") - $socksbin -config $CONFIG_SOCK5_FILE >/dev/null 2>&1 & - local_enable=1 -} - -rules() { - [ "$GLOBAL_SERVER" = "nil" ] && return 1 - mkdir -p /var/run /var/etc - UDP_RELAY_SERVER=$(uci_get_by_type global udp_relay_server) - [ "$UDP_RELAY_SERVER" = "same" ] && UDP_RELAY_SERVER=$GLOBAL_SERVER - if start_rules; then - return 0 - else - return 1 - fi -} - -start() { - if [ -z "$switch_server" ]; then - GLOBAL_SERVER=$(uci_get_by_type global global_server) - else - GLOBAL_SERVER=$switch_server - switch_enable=1 - fi - if rules; then - if start_redir; then - if [ -f "/tmp/dnsmasq.ssr" ]; then - rm -rf /tmp/dnsmasq.ssr - fi - if [ -f "/tmp/dnsmasq.oversea" ]; then - rm -rf /tmp/dnsmasq.oversea - fi - mkdir -p /tmp/dnsmasq.d - if ! [ "$run_mode" = "oversea" ]; then - mkdir -p /tmp/dnsmasq.ssr - cp -rf /etc/vssr/gfw_list.conf /tmp/dnsmasq.ssr/ - cp -rf /etc/vssr/gfw_base.conf /tmp/dnsmasq.ssr/ - cp -rf /etc/vssr/ad.conf /tmp/dnsmasq.ssr/ - cat >/tmp/dnsmasq.d/dnsmasq-ssr.conf </tmp/dnsmasq.d/dnsmasq-ssr.conf </dev/null 2>&1 - start_server - start_local - scount=$(count_shunt) - if [ $scount != "0" ]; then - start_shunt - fi - if [ $(uci_get_by_type global monitor_enable) = 1 ]; then - let total_count=server_count+redir_tcp+redir_udp+tunnel_enable+kcp_enable_flag+local_enable+pdnsd_enable_flag+switch_enable - if [ $total_count -gt 0 ]; then - #param:server(count) redir_tcp(0:no,1:yes) redir_udp tunnel kcp local gfw - service_start /usr/bin/vssr-monitor $server_count $redir_tcp $redir_udp $tunnel_enable $kcp_enable_flag $local_enable $pdnsd_enable_flag $switch_enable - fi - fi - - ENABLE_SERVER=$(uci_get_by_type global global_server) - [ "$ENABLE_SERVER" = "nil" ] && return 1 -} - -boot() { - (/usr/share/vssr/chinaipset.sh && sleep 5 && start >/dev/null 2>&1) & -} - -stop() { - echo "stop" - /usr/bin/vssr-rules -f - srulecount=$(iptables -L | grep SSR-SERVER-RULE | wc -l) - if [ $srulecount -gt 0 ]; then - iptables -F SSR-SERVER-RULE - iptables -t filter -D INPUT -j SSR-SERVER-RULE - iptables -X SSR-SERVER-RULE 2>/dev/null - fi - if [ -z "$switch_server" ]; then - kill -9 $(busybox ps -w | grep vssr-switch | grep -v grep | awk '{print $1}') >/dev/null 2>&1 - fi - if [ $(uci_get_by_type global monitor_enable) = 1 ]; then - kill -9 $(busybox ps -w | grep vssr-monitor | grep -v grep | awk '{print $1}') >/dev/null 2>&1 - fi - killall -q -9 ss-redir ss-local obfs-local ssr-redir ssr-local ssr-server xray-plugin xray trojan microsocks ipt2socks dns2socks pdnsd - - if [ -f "/tmp/dnsmasq.d/dnsmasq-ssr.conf" ]; then - rm -rf /tmp/dnsmasq.d/dnsmasq-ssr.conf /tmp/dnsmasq.ssr /tmp/dnsmasq.oversea - /etc/init.d/dnsmasq restart >/dev/null 2>&1 - fi - del_cron -} diff --git a/package/ctcgfw/luci-app-vssr/root/etc/uci-defaults/luci-vssr b/package/ctcgfw/luci-app-vssr/root/etc/uci-defaults/luci-vssr deleted file mode 100644 index 136d0b029c..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/uci-defaults/luci-vssr +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@vssr[-1] - add ucitrack vssr - set ucitrack.@vssr[-1].init=vssr - commit ucitrack - delete firewall.vssr - set firewall.vssr=include - set firewall.vssr.type=script - set firewall.vssr.path=/var/etc/vssr.include - set firewall.vssr.reload=1 - commit firewall -EOF - -/usr/share/vssr/gfw2ipset.sh -rm -f /tmp/luci-indexcache -exit 0 diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/ad.conf b/package/ctcgfw/luci-app-vssr/root/etc/vssr/ad.conf deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/black.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/black.list deleted file mode 100644 index dd852d6fb5..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/black.list +++ /dev/null @@ -1,4 +0,0 @@ -api.ipify.org -v2fly.org -github.com -raw.githubusercontent.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/china_ssr.txt b/package/ctcgfw/luci-app-vssr/root/etc/vssr/china_ssr.txt deleted file mode 100644 index b85f568ab7..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/china_ssr.txt +++ /dev/null @@ -1,8575 +0,0 @@ -1.0.1.0/24 -1.0.2.0/23 -1.0.8.0/21 -1.0.32.0/19 -1.1.0.0/24 -1.1.2.0/23 -1.1.4.0/22 -1.1.8.0/24 -1.1.9.0/24 -1.1.10.0/23 -1.1.12.0/22 -1.1.16.0/20 -1.1.32.0/19 -1.2.0.0/23 -1.2.2.0/24 -1.2.4.0/24 -1.2.5.0/24 -1.2.6.0/23 -1.2.8.0/24 -1.2.9.0/24 -1.2.10.0/23 -1.2.12.0/22 -1.2.16.0/20 -1.2.32.0/19 -1.2.64.0/18 -1.3.0.0/16 -1.4.1.0/24 -1.4.2.0/23 -1.4.4.0/24 -1.4.5.0/24 -1.4.6.0/23 -1.4.8.0/21 -1.4.16.0/20 -1.4.32.0/19 -1.4.64.0/18 -1.8.0.0/16 -1.10.0.0/21 -1.10.8.0/23 -1.10.11.0/24 -1.10.12.0/22 -1.10.16.0/20 -1.10.32.0/19 -1.10.64.0/18 -1.12.0.0/14 -1.24.0.0/13 -1.45.0.0/16 -1.48.0.0/15 -1.50.0.0/16 -1.51.0.0/16 -1.56.0.0/13 -1.68.0.0/14 -1.80.0.0/13 -1.88.0.0/14 -1.92.0.0/15 -1.94.0.0/15 -1.116.0.0/15 -1.118.0.0/16 -1.119.0.0/17 -1.119.128.0/17 -1.180.0.0/14 -1.184.0.0/15 -1.188.0.0/14 -1.192.0.0/13 -1.202.0.0/15 -1.204.0.0/14 -14.0.0.0/21 -14.0.12.0/22 -14.1.0.0/22 -14.1.24.0/22 -14.1.96.0/22 -14.1.108.0/22 -14.16.0.0/12 -14.102.128.0/22 -14.102.156.0/22 -14.102.180.0/22 -14.103.0.0/16 -14.104.0.0/13 -14.112.0.0/12 -14.130.0.0/15 -14.134.0.0/15 -14.144.0.0/12 -14.192.60.0/22 -14.192.76.0/22 -14.196.0.0/15 -14.204.0.0/15 -14.208.0.0/12 -27.0.128.0/22 -27.0.132.0/22 -27.0.160.0/22 -27.0.164.0/22 -27.0.188.0/22 -27.0.204.0/22 -27.0.208.0/22 -27.0.212.0/22 -27.8.0.0/13 -27.16.0.0/12 -27.34.232.0/21 -27.36.0.0/14 -27.40.0.0/13 -27.50.40.0/21 -27.50.128.0/17 -27.54.72.0/21 -27.54.152.0/21 -27.54.192.0/18 -27.98.208.0/20 -27.98.224.0/19 -27.99.128.0/17 -27.103.0.0/16 -27.106.128.0/18 -27.106.204.0/22 -27.109.32.0/19 -27.109.124.0/22 -27.112.0.0/18 -27.112.80.0/20 -27.112.112.0/22 -27.112.116.0/22 -27.113.128.0/18 -27.115.0.0/17 -27.116.44.0/22 -27.121.72.0/21 -27.121.120.0/21 -27.128.0.0/15 -27.131.220.0/22 -27.144.0.0/16 -27.148.0.0/14 -27.152.0.0/13 -27.184.0.0/13 -27.192.0.0/11 -27.224.0.0/14 -36.0.0.0/22 -36.0.8.0/21 -36.0.16.0/20 -36.0.32.0/19 -36.0.64.0/18 -36.0.128.0/17 -36.1.0.0/16 -36.4.0.0/14 -36.16.0.0/12 -36.32.0.0/14 -36.36.0.0/16 -36.37.0.0/19 -36.37.36.0/23 -36.37.39.0/24 -36.37.40.0/21 -36.37.48.0/20 -36.40.0.0/13 -36.48.0.0/15 -36.51.0.0/16 -36.56.0.0/13 -36.96.0.0/11 -36.128.0.0/10 -36.192.0.0/11 -36.248.0.0/14 -36.254.0.0/16 -36.255.116.0/22 -36.255.128.0/22 -36.255.164.0/22 -36.255.172.0/22 -36.255.176.0/22 -39.0.0.0/24 -39.0.2.0/23 -39.0.4.0/22 -39.0.8.0/21 -39.0.16.0/20 -39.0.32.0/19 -39.0.64.0/18 -39.0.128.0/17 -39.64.0.0/11 -39.96.0.0/13 -39.104.0.0/14 -39.108.0.0/16 -39.128.0.0/10 -40.72.0.0/15 -40.125.128.0/17 -40.126.64.0/18 -42.0.0.0/22 -42.0.8.0/21 -42.0.16.0/21 -42.0.24.0/22 -42.0.32.0/19 -42.0.128.0/17 -42.1.0.0/19 -42.1.32.0/20 -42.1.48.0/21 -42.1.56.0/22 -42.1.128.0/17 -42.4.0.0/14 -42.48.0.0/15 -42.50.0.0/16 -42.51.0.0/16 -42.52.0.0/14 -42.56.0.0/14 -42.62.0.0/17 -42.62.128.0/19 -42.62.160.0/20 -42.62.180.0/22 -42.62.184.0/21 -42.63.0.0/16 -42.80.0.0/15 -42.83.64.0/20 -42.83.80.0/22 -42.83.88.0/21 -42.83.96.0/19 -42.83.128.0/17 -42.84.0.0/14 -42.88.0.0/13 -42.96.64.0/19 -42.96.96.0/21 -42.96.108.0/22 -42.96.112.0/20 -42.96.128.0/17 -42.97.0.0/16 -42.99.0.0/18 -42.99.64.0/19 -42.99.96.0/20 -42.99.112.0/22 -42.99.120.0/21 -42.100.0.0/14 -42.120.0.0/15 -42.122.0.0/16 -42.123.0.0/19 -42.123.36.0/22 -42.123.40.0/21 -42.123.48.0/20 -42.123.64.0/18 -42.123.128.0/17 -42.128.0.0/12 -42.156.0.0/19 -42.156.36.0/22 -42.156.40.0/21 -42.156.48.0/20 -42.156.64.0/18 -42.156.128.0/17 -42.157.0.0/16 -42.158.0.0/16 -42.159.0.0/16 -42.160.0.0/12 -42.176.0.0/13 -42.184.0.0/15 -42.186.0.0/16 -42.187.0.0/18 -42.187.64.0/19 -42.187.96.0/20 -42.187.112.0/21 -42.187.120.0/22 -42.187.128.0/17 -42.192.0.0/15 -42.194.0.0/21 -42.194.8.0/22 -42.194.12.0/22 -42.194.16.0/20 -42.194.32.0/19 -42.194.64.0/18 -42.194.128.0/17 -42.195.0.0/16 -42.196.0.0/14 -42.201.0.0/17 -42.202.0.0/15 -42.204.0.0/14 -42.208.0.0/12 -42.224.0.0/12 -42.240.0.0/17 -42.240.128.0/17 -42.242.0.0/15 -42.244.0.0/14 -42.248.0.0/13 -43.128.0.0/10 -43.224.12.0/22 -43.224.24.0/22 -43.224.44.0/22 -43.224.52.0/22 -43.224.56.0/22 -43.224.64.0/22 -43.224.68.0/22 -43.224.72.0/22 -43.224.80.0/22 -43.224.100.0/22 -43.224.144.0/22 -43.224.160.0/22 -43.224.176.0/22 -43.224.184.0/22 -43.224.200.0/22 -43.224.204.0/22 -43.224.208.0/22 -43.224.212.0/22 -43.224.216.0/22 -43.224.240.0/22 -43.225.76.0/22 -43.225.84.0/22 -43.225.120.0/22 -43.225.124.0/22 -43.225.140.0/22 -43.225.172.0/22 -43.225.180.0/22 -43.225.208.0/22 -43.225.216.0/22 -43.225.220.0/22 -43.225.224.0/22 -43.225.228.0/22 -43.225.232.0/22 -43.225.236.0/22 -43.225.240.0/22 -43.225.244.0/22 -43.225.252.0/22 -43.226.32.0/22 -43.226.36.0/22 -43.226.40.0/22 -43.226.44.0/22 -43.226.48.0/22 -43.226.52.0/22 -43.226.56.0/22 -43.226.60.0/22 -43.226.64.0/22 -43.226.68.0/22 -43.226.72.0/22 -43.226.76.0/22 -43.226.80.0/22 -43.226.84.0/22 -43.226.88.0/22 -43.226.92.0/22 -43.226.96.0/22 -43.226.100.0/22 -43.226.104.0/22 -43.226.108.0/22 -43.226.112.0/22 -43.226.116.0/22 -43.226.120.0/22 -43.226.128.0/22 -43.226.132.0/22 -43.226.136.0/22 -43.226.140.0/22 -43.226.144.0/22 -43.226.148.0/22 -43.226.152.0/22 -43.226.156.0/22 -43.226.160.0/22 -43.226.164.0/22 -43.226.168.0/22 -43.226.172.0/22 -43.226.176.0/22 -43.226.180.0/22 -43.226.184.0/22 -43.226.188.0/22 -43.226.192.0/22 -43.226.196.0/22 -43.226.200.0/22 -43.226.204.0/22 -43.226.208.0/22 -43.226.212.0/22 -43.226.236.0/22 -43.226.240.0/22 -43.226.244.0/22 -43.226.248.0/22 -43.226.252.0/22 -43.227.0.0/22 -43.227.4.0/22 -43.227.8.0/22 -43.227.32.0/22 -43.227.36.0/22 -43.227.40.0/22 -43.227.44.0/22 -43.227.48.0/22 -43.227.52.0/22 -43.227.56.0/22 -43.227.60.0/22 -43.227.64.0/22 -43.227.68.0/22 -43.227.72.0/22 -43.227.76.0/22 -43.227.80.0/22 -43.227.84.0/22 -43.227.88.0/22 -43.227.92.0/22 -43.227.96.0/22 -43.227.100.0/22 -43.227.104.0/22 -43.227.136.0/22 -43.227.140.0/22 -43.227.144.0/22 -43.227.152.0/22 -43.227.156.0/22 -43.227.160.0/22 -43.227.164.0/22 -43.227.168.0/22 -43.227.172.0/22 -43.227.176.0/22 -43.227.180.0/22 -43.227.188.0/22 -43.227.192.0/22 -43.227.196.0/22 -43.227.200.0/22 -43.227.204.0/22 -43.227.208.0/22 -43.227.212.0/22 -43.227.216.0/22 -43.227.220.0/22 -43.227.232.0/22 -43.227.248.0/22 -43.227.252.0/22 -43.228.0.0/22 -43.228.4.0/22 -43.228.8.0/22 -43.228.12.0/22 -43.228.16.0/22 -43.228.20.0/22 -43.228.24.0/22 -43.228.28.0/22 -43.228.32.0/22 -43.228.36.0/22 -43.228.40.0/22 -43.228.44.0/22 -43.228.48.0/22 -43.228.52.0/22 -43.228.56.0/22 -43.228.60.0/22 -43.228.64.0/22 -43.228.68.0/22 -43.228.76.0/22 -43.228.100.0/22 -43.228.116.0/22 -43.228.120.0/22 -43.228.132.0/22 -43.228.136.0/22 -43.228.148.0/22 -43.228.152.0/22 -43.228.188.0/22 -43.229.40.0/22 -43.229.48.0/22 -43.229.56.0/22 -43.229.96.0/22 -43.229.120.0/22 -43.229.136.0/22 -43.229.140.0/22 -43.229.144.0/22 -43.229.168.0/22 -43.229.172.0/22 -43.229.176.0/22 -43.229.180.0/22 -43.229.184.0/22 -43.229.188.0/22 -43.229.192.0/22 -43.229.196.0/22 -43.229.216.0/22 -43.229.220.0/22 -43.229.232.0/22 -43.229.236.0/22 -43.230.20.0/22 -43.230.32.0/22 -43.230.68.0/22 -43.230.72.0/22 -43.230.84.0/22 -43.230.124.0/22 -43.230.136.0/22 -43.230.220.0/22 -43.230.224.0/22 -43.230.228.0/22 -43.230.232.0/22 -43.230.236.0/22 -43.230.240.0/22 -43.230.244.0/22 -43.230.248.0/22 -43.230.252.0/22 -43.231.32.0/22 -43.231.36.0/22 -43.231.40.0/22 -43.231.44.0/22 -43.231.80.0/22 -43.231.84.0/22 -43.231.88.0/22 -43.231.92.0/22 -43.231.96.0/22 -43.231.100.0/22 -43.231.104.0/22 -43.231.108.0/22 -43.231.136.0/22 -43.231.140.0/22 -43.231.144.0/22 -43.231.148.0/22 -43.231.152.0/22 -43.231.156.0/22 -43.231.160.0/22 -43.231.164.0/22 -43.231.168.0/22 -43.231.172.0/22 -43.231.176.0/22 -43.231.180.0/22 -43.236.0.0/22 -43.236.4.0/22 -43.236.8.0/22 -43.236.12.0/22 -43.236.16.0/22 -43.236.20.0/22 -43.236.24.0/22 -43.236.28.0/22 -43.236.32.0/22 -43.236.36.0/22 -43.236.40.0/22 -43.236.44.0/22 -43.236.48.0/22 -43.236.52.0/22 -43.236.56.0/22 -43.236.60.0/22 -43.236.64.0/22 -43.236.68.0/22 -43.236.72.0/22 -43.236.76.0/22 -43.236.80.0/22 -43.236.84.0/22 -43.236.88.0/22 -43.236.92.0/22 -43.236.96.0/22 -43.236.100.0/22 -43.236.104.0/22 -43.236.108.0/22 -43.236.112.0/22 -43.236.116.0/22 -43.236.120.0/22 -43.236.124.0/22 -43.236.128.0/22 -43.236.132.0/22 -43.236.136.0/22 -43.236.140.0/22 -43.236.144.0/22 -43.236.148.0/22 -43.236.152.0/22 -43.236.156.0/22 -43.236.160.0/22 -43.236.164.0/22 -43.236.168.0/22 -43.236.172.0/22 -43.236.176.0/22 -43.236.180.0/22 -43.236.184.0/22 -43.236.188.0/22 -43.236.192.0/22 -43.236.196.0/22 -43.236.200.0/22 -43.236.204.0/22 -43.236.208.0/22 -43.236.212.0/22 -43.236.216.0/22 -43.236.220.0/22 -43.236.224.0/22 -43.236.228.0/22 -43.236.232.0/22 -43.236.236.0/22 -43.236.240.0/22 -43.236.244.0/22 -43.236.248.0/22 -43.236.252.0/22 -43.237.0.0/22 -43.237.4.0/22 -43.237.8.0/22 -43.237.12.0/22 -43.237.16.0/22 -43.237.20.0/22 -43.237.24.0/22 -43.237.28.0/22 -43.237.32.0/22 -43.237.36.0/22 -43.237.40.0/22 -43.237.44.0/22 -43.237.48.0/22 -43.237.52.0/22 -43.237.56.0/22 -43.237.60.0/22 -43.237.64.0/22 -43.237.68.0/22 -43.237.72.0/22 -43.237.76.0/22 -43.237.80.0/22 -43.237.84.0/22 -43.237.88.0/22 -43.237.92.0/22 -43.237.96.0/22 -43.237.100.0/22 -43.237.104.0/22 -43.237.108.0/22 -43.237.112.0/22 -43.237.116.0/22 -43.237.120.0/22 -43.237.124.0/22 -43.237.128.0/22 -43.237.132.0/22 -43.237.136.0/22 -43.237.140.0/22 -43.237.144.0/22 -43.237.148.0/22 -43.237.152.0/22 -43.237.156.0/22 -43.237.160.0/22 -43.237.164.0/22 -43.237.168.0/22 -43.237.172.0/22 -43.237.176.0/22 -43.237.180.0/22 -43.237.184.0/22 -43.237.188.0/22 -43.237.192.0/22 -43.237.196.0/22 -43.237.200.0/22 -43.237.204.0/22 -43.237.208.0/22 -43.237.212.0/22 -43.237.216.0/22 -43.237.220.0/22 -43.237.224.0/22 -43.237.228.0/22 -43.237.232.0/22 -43.237.236.0/22 -43.237.240.0/22 -43.237.244.0/22 -43.237.248.0/22 -43.237.252.0/22 -43.238.0.0/22 -43.238.4.0/22 -43.238.8.0/22 -43.238.12.0/22 -43.238.16.0/22 -43.238.20.0/22 -43.238.24.0/22 -43.238.28.0/22 -43.238.32.0/22 -43.238.36.0/22 -43.238.40.0/22 -43.238.44.0/22 -43.238.48.0/22 -43.238.52.0/22 -43.238.56.0/22 -43.238.60.0/22 -43.238.64.0/22 -43.238.68.0/22 -43.238.72.0/22 -43.238.76.0/22 -43.238.80.0/22 -43.238.84.0/22 -43.238.88.0/22 -43.238.92.0/22 -43.238.96.0/22 -43.238.100.0/22 -43.238.104.0/22 -43.238.108.0/22 -43.238.112.0/22 -43.238.116.0/22 -43.238.120.0/22 -43.238.124.0/22 -43.238.128.0/22 -43.238.132.0/22 -43.238.136.0/22 -43.238.140.0/22 -43.238.144.0/22 -43.238.148.0/22 -43.238.152.0/22 -43.238.156.0/22 -43.238.160.0/22 -43.238.164.0/22 -43.238.168.0/22 -43.238.172.0/22 -43.238.176.0/22 -43.238.180.0/22 -43.238.184.0/22 -43.238.188.0/22 -43.238.192.0/22 -43.238.196.0/22 -43.238.200.0/22 -43.238.204.0/22 -43.238.208.0/22 -43.238.212.0/22 -43.238.216.0/22 -43.238.220.0/22 -43.238.224.0/22 -43.238.228.0/22 -43.238.232.0/22 -43.238.236.0/22 -43.238.240.0/22 -43.238.244.0/22 -43.238.248.0/22 -43.238.252.0/22 -43.239.0.0/22 -43.239.4.0/22 -43.239.8.0/21 -43.239.16.0/22 -43.239.20.0/22 -43.239.24.0/22 -43.239.28.0/22 -43.239.32.0/22 -43.239.36.0/22 -43.239.40.0/22 -43.239.44.0/22 -43.239.48.0/22 -43.239.116.0/22 -43.239.120.0/22 -43.239.172.0/22 -43.239.176.0/22 -43.240.0.0/22 -43.240.56.0/22 -43.240.60.0/22 -43.240.68.0/22 -43.240.72.0/22 -43.240.76.0/22 -43.240.84.0/22 -43.240.124.0/22 -43.240.128.0/22 -43.240.132.0/22 -43.240.136.0/22 -43.240.144.0/22 -43.240.156.0/22 -43.240.160.0/22 -43.240.164.0/22 -43.240.168.0/22 -43.240.172.0/22 -43.240.176.0/22 -43.240.180.0/22 -43.240.184.0/22 -43.240.188.0/22 -43.240.192.0/22 -43.240.196.0/22 -43.240.200.0/22 -43.240.204.0/22 -43.240.208.0/22 -43.240.212.0/22 -43.240.216.0/22 -43.240.220.0/22 -43.240.236.0/22 -43.240.240.0/22 -43.240.244.0/22 -43.240.248.0/22 -43.240.252.0/22 -43.241.0.0/22 -43.241.4.0/22 -43.241.8.0/22 -43.241.12.0/22 -43.241.16.0/22 -43.241.20.0/22 -43.241.48.0/22 -43.241.76.0/22 -43.241.80.0/22 -43.241.84.0/22 -43.241.88.0/22 -43.241.92.0/22 -43.241.112.0/22 -43.241.168.0/22 -43.241.172.0/22 -43.241.176.0/22 -43.241.180.0/22 -43.241.184.0/22 -43.241.196.0/22 -43.241.208.0/22 -43.241.212.0/22 -43.241.216.0/22 -43.241.220.0/22 -43.241.224.0/22 -43.241.228.0/22 -43.241.232.0/22 -43.241.236.0/22 -43.241.240.0/22 -43.241.248.0/22 -43.241.252.0/22 -43.242.8.0/22 -43.242.12.0/22 -43.242.16.0/22 -43.242.20.0/22 -43.242.24.0/22 -43.242.28.0/22 -43.242.44.0/22 -43.242.48.0/22 -43.242.52.0/22 -43.242.56.0/22 -43.242.60.0/22 -43.242.64.0/22 -43.242.72.0/22 -43.242.76.0/22 -43.242.80.0/22 -43.242.84.0/22 -43.242.88.0/22 -43.242.92.0/22 -43.242.96.0/22 -43.242.144.0/22 -43.242.148.0/22 -43.242.152.0/22 -43.242.156.0/22 -43.242.160.0/22 -43.242.164.0/22 -43.242.168.0/22 -43.242.180.0/22 -43.242.188.0/22 -43.242.192.0/22 -43.242.196.0/22 -43.242.204.0/22 -43.242.216.0/22 -43.242.220.0/22 -43.242.252.0/22 -43.243.4.0/22 -43.243.8.0/22 -43.243.12.0/22 -43.243.16.0/22 -43.243.24.0/22 -43.243.88.0/22 -43.243.128.0/22 -43.243.136.0/22 -43.243.144.0/22 -43.243.148.0/22 -43.243.156.0/22 -43.243.180.0/22 -43.243.188.0/22 -43.243.228.0/22 -43.243.232.0/22 -43.243.244.0/22 -43.246.0.0/22 -43.246.4.0/22 -43.246.8.0/22 -43.246.12.0/22 -43.246.16.0/22 -43.246.20.0/22 -43.246.24.0/22 -43.246.28.0/22 -43.246.32.0/22 -43.246.36.0/22 -43.246.40.0/22 -43.246.44.0/22 -43.246.48.0/22 -43.246.52.0/22 -43.246.56.0/22 -43.246.60.0/22 -43.246.64.0/22 -43.246.68.0/22 -43.246.72.0/22 -43.246.76.0/22 -43.246.80.0/22 -43.246.84.0/22 -43.246.88.0/22 -43.246.92.0/22 -43.246.96.0/22 -43.246.112.0/22 -43.246.212.0/22 -43.246.228.0/22 -43.247.4.0/22 -43.247.8.0/22 -43.247.44.0/22 -43.247.48.0/22 -43.247.68.0/22 -43.247.76.0/22 -43.247.84.0/22 -43.247.88.0/22 -43.247.92.0/22 -43.247.96.0/22 -43.247.100.0/22 -43.247.108.0/22 -43.247.112.0/22 -43.247.148.0/22 -43.247.152.0/22 -43.247.176.0/22 -43.247.180.0/22 -43.247.184.0/22 -43.247.188.0/22 -43.247.196.0/22 -43.247.200.0/22 -43.247.204.0/22 -43.247.208.0/22 -43.247.212.0/22 -43.247.216.0/22 -43.247.220.0/22 -43.247.224.0/22 -43.247.228.0/22 -43.247.232.0/22 -43.247.236.0/22 -43.247.240.0/22 -43.247.244.0/22 -43.247.248.0/22 -43.247.252.0/22 -43.248.0.0/22 -43.248.4.0/22 -43.248.20.0/22 -43.248.28.0/22 -43.248.48.0/22 -43.248.76.0/22 -43.248.80.0/22 -43.248.84.0/22 -43.248.88.0/22 -43.248.92.0/22 -43.248.96.0/22 -43.248.100.0/22 -43.248.104.0/22 -43.248.108.0/22 -43.248.112.0/22 -43.248.116.0/22 -43.248.120.0/22 -43.248.124.0/22 -43.248.128.0/22 -43.248.132.0/22 -43.248.136.0/22 -43.248.140.0/22 -43.248.144.0/22 -43.248.148.0/22 -43.248.176.0/22 -43.248.180.0/22 -43.248.184.0/22 -43.248.188.0/22 -43.248.192.0/22 -43.248.196.0/22 -43.248.200.0/22 -43.248.204.0/22 -43.248.208.0/22 -43.248.228.0/22 -43.248.232.0/22 -43.248.244.0/22 -43.249.4.0/22 -43.249.8.0/22 -43.249.120.0/22 -43.249.132.0/22 -43.249.136.0/22 -43.249.144.0/22 -43.249.148.0/22 -43.249.152.0/22 -43.249.156.0/22 -43.249.160.0/22 -43.249.164.0/22 -43.249.168.0/22 -43.249.192.0/22 -43.249.236.0/22 -43.250.4.0/22 -43.250.12.0/22 -43.250.16.0/22 -43.250.20.0/22 -43.250.28.0/22 -43.250.32.0/22 -43.250.36.0/22 -43.250.72.0/22 -43.250.96.0/22 -43.250.100.0/22 -43.250.104.0/22 -43.250.108.0/22 -43.250.112.0/22 -43.250.116.0/22 -43.250.128.0/22 -43.250.144.0/22 -43.250.148.0/22 -43.250.160.0/22 -43.250.168.0/22 -43.250.172.0/22 -43.250.176.0/22 -43.250.200.0/22 -43.250.212.0/22 -43.250.216.0/22 -43.250.220.0/22 -43.250.236.0/22 -43.250.244.0/22 -43.251.4.0/22 -43.251.8.0/22 -43.251.36.0/22 -43.251.100.0/22 -43.251.116.0/22 -43.251.192.0/22 -43.251.232.0/22 -43.251.236.0/22 -43.251.244.0/22 -43.252.48.0/22 -43.252.56.0/22 -43.252.224.0/22 -43.254.0.0/22 -43.254.4.0/22 -43.254.8.0/22 -43.254.24.0/22 -43.254.36.0/22 -43.254.44.0/22 -43.254.52.0/22 -43.254.64.0/22 -43.254.72.0/22 -43.254.84.0/22 -43.254.88.0/22 -43.254.92.0/22 -43.254.100.0/22 -43.254.104.0/22 -43.254.112.0/22 -43.254.116.0/22 -43.254.128.0/22 -43.254.136.0/22 -43.254.140.0/22 -43.254.144.0/22 -43.254.148.0/22 -43.254.152.0/22 -43.254.156.0/22 -43.254.168.0/22 -43.254.172.0/22 -43.254.180.0/22 -43.254.184.0/22 -43.254.188.0/22 -43.254.192.0/22 -43.254.196.0/22 -43.254.200.0/22 -43.254.208.0/22 -43.254.220.0/22 -43.254.224.0/22 -43.254.228.0/22 -43.254.232.0/22 -43.254.236.0/22 -43.254.240.0/22 -43.254.248.0/22 -43.254.252.0/22 -43.255.0.0/22 -43.255.4.0/22 -43.255.8.0/22 -43.255.16.0/22 -43.255.48.0/22 -43.255.64.0/22 -43.255.68.0/22 -43.255.72.0/22 -43.255.76.0/22 -43.255.84.0/22 -43.255.96.0/22 -43.255.108.0/22 -43.255.144.0/22 -43.255.168.0/22 -43.255.176.0/22 -43.255.184.0/22 -43.255.192.0/22 -43.255.200.0/22 -43.255.204.0/22 -43.255.208.0/22 -43.255.212.0/22 -43.255.224.0/22 -43.255.228.0/22 -43.255.232.0/22 -43.255.244.0/22 -45.40.192.0/18 -45.65.16.0/22 -45.65.20.0/22 -45.65.24.0/22 -45.65.28.0/22 -45.112.132.0/22 -45.112.188.0/22 -45.112.208.0/22 -45.112.212.0/22 -45.112.216.0/22 -45.112.220.0/22 -45.112.228.0/22 -45.112.232.0/22 -45.112.236.0/22 -45.113.12.0/22 -45.113.16.0/22 -45.113.20.0/22 -45.113.24.0/22 -45.113.28.0/22 -45.113.40.0/22 -45.113.52.0/22 -45.113.56.0/22 -45.113.72.0/22 -45.113.144.0/22 -45.113.148.0/22 -45.113.168.0/22 -45.113.176.0/22 -45.113.184.0/22 -45.113.200.0/22 -45.113.204.0/22 -45.113.208.0/22 -45.113.212.0/22 -45.113.216.0/22 -45.113.220.0/22 -45.113.240.0/22 -45.113.252.0/22 -45.114.0.0/22 -45.114.12.0/22 -45.114.32.0/22 -45.114.40.0/22 -45.114.52.0/22 -45.114.96.0/22 -45.114.104.0/22 -45.114.124.0/22 -45.114.136.0/22 -45.114.196.0/22 -45.114.200.0/22 -45.114.228.0/22 -45.114.252.0/22 -45.115.44.0/22 -45.115.100.0/22 -45.115.120.0/22 -45.115.132.0/22 -45.115.144.0/22 -45.115.156.0/22 -45.115.164.0/22 -45.115.200.0/22 -45.115.212.0/22 -45.115.228.0/22 -45.115.236.0/22 -45.115.244.0/22 -45.115.248.0/22 -45.116.16.0/22 -45.116.24.0/22 -45.116.32.0/22 -45.116.36.0/22 -45.116.52.0/22 -45.116.96.0/22 -45.116.100.0/22 -45.116.140.0/22 -45.116.152.0/22 -45.116.208.0/22 -45.117.8.0/22 -45.117.20.0/22 -45.117.68.0/22 -45.117.124.0/22 -45.117.252.0/22 -45.119.52.0/22 -45.119.60.0/22 -45.119.64.0/22 -45.119.68.0/22 -45.119.72.0/22 -45.119.104.0/22 -45.119.116.0/22 -45.119.232.0/22 -45.120.100.0/22 -45.120.140.0/22 -45.120.164.0/22 -45.120.220.0/22 -45.120.240.0/22 -45.121.52.0/22 -45.121.64.0/22 -45.121.68.0/22 -45.121.72.0/22 -45.121.92.0/22 -45.121.96.0/22 -45.121.172.0/22 -45.121.176.0/22 -45.121.212.0/22 -45.121.240.0/22 -45.121.244.0/22 -45.121.248.0/22 -45.121.252.0/22 -45.122.0.0/22 -45.122.4.0/22 -45.122.8.0/22 -45.122.12.0/22 -45.122.16.0/22 -45.122.20.0/22 -45.122.24.0/22 -45.122.28.0/22 -45.122.32.0/22 -45.122.36.0/22 -45.122.40.0/22 -45.122.60.0/22 -45.122.64.0/22 -45.122.68.0/22 -45.122.72.0/22 -45.122.76.0/22 -45.122.80.0/22 -45.122.84.0/22 -45.122.88.0/22 -45.122.92.0/22 -45.122.96.0/21 -45.122.104.0/22 -45.122.108.0/22 -45.122.112.0/22 -45.122.116.0/22 -45.122.160.0/22 -45.122.164.0/22 -45.122.168.0/22 -45.122.172.0/22 -45.122.176.0/22 -45.122.180.0/22 -45.122.184.0/22 -45.122.188.0/22 -45.122.192.0/22 -45.122.196.0/22 -45.122.200.0/22 -45.122.204.0/22 -45.122.208.0/22 -45.122.212.0/22 -45.122.216.0/22 -45.123.28.0/22 -45.123.32.0/22 -45.123.36.0/22 -45.123.44.0/22 -45.123.48.0/22 -45.123.52.0/22 -45.123.56.0/22 -45.123.60.0/22 -45.123.64.0/22 -45.123.68.0/22 -45.123.72.0/22 -45.123.76.0/22 -45.123.80.0/22 -45.123.84.0/22 -45.123.88.0/22 -45.123.120.0/22 -45.123.128.0/22 -45.123.132.0/22 -45.123.136.0/22 -45.123.148.0/22 -45.123.152.0/22 -45.123.156.0/22 -45.123.164.0/22 -45.123.168.0/22 -45.123.172.0/22 -45.123.176.0/22 -45.123.180.0/22 -45.123.184.0/22 -45.123.204.0/22 -45.123.212.0/22 -45.123.224.0/22 -45.123.228.0/22 -45.123.232.0/22 -45.123.236.0/22 -45.123.240.0/22 -45.123.244.0/22 -45.123.248.0/22 -45.123.252.0/22 -45.124.0.0/22 -45.124.20.0/22 -45.124.28.0/22 -45.124.32.0/22 -45.124.36.0/22 -45.124.44.0/22 -45.124.68.0/22 -45.124.76.0/22 -45.124.80.0/22 -45.124.100.0/22 -45.124.124.0/22 -45.124.172.0/22 -45.124.176.0/22 -45.124.208.0/22 -45.124.248.0/22 -45.125.12.0/22 -45.125.16.0/22 -45.125.24.0/22 -45.125.28.0/22 -45.125.44.0/22 -45.125.52.0/22 -45.125.56.0/22 -45.125.76.0/22 -45.125.80.0/22 -45.125.84.0/22 -45.125.88.0/22 -45.125.92.0/22 -45.125.96.0/22 -45.125.100.0/22 -45.125.104.0/22 -45.125.136.0/22 -45.126.48.0/22 -45.126.52.0/22 -45.126.100.0/22 -45.126.108.0/22 -45.126.112.0/22 -45.126.116.0/22 -45.126.120.0/22 -45.126.212.0/22 -45.126.220.0/22 -45.127.8.0/22 -45.127.12.0/22 -45.127.96.0/22 -45.127.116.0/22 -45.127.128.0/22 -45.127.144.0/22 -45.127.148.0/22 -45.127.156.0/22 -45.127.216.0/22 -45.248.8.0/22 -45.248.80.0/22 -45.248.84.0/22 -45.248.88.0/22 -45.248.96.0/22 -45.248.100.0/22 -45.248.104.0/22 -45.248.108.0/22 -45.248.128.0/22 -45.248.132.0/22 -45.248.204.0/22 -45.248.208.0/22 -45.248.212.0/22 -45.248.216.0/22 -45.248.220.0/22 -45.248.224.0/22 -45.248.228.0/22 -45.248.232.0/22 -45.248.236.0/22 -45.248.240.0/22 -45.248.244.0/22 -45.248.248.0/22 -45.248.252.0/22 -45.249.0.0/22 -45.249.4.0/22 -45.249.12.0/22 -45.249.16.0/22 -45.249.20.0/22 -45.249.24.0/22 -45.249.28.0/22 -45.249.32.0/22 -45.249.36.0/22 -45.249.92.0/22 -45.249.112.0/22 -45.249.188.0/22 -45.249.192.0/22 -45.249.196.0/22 -45.249.200.0/22 -45.249.204.0/22 -45.249.208.0/22 -45.249.212.0/22 -45.250.12.0/22 -45.250.16.0/22 -45.250.28.0/22 -45.250.32.0/22 -45.250.36.0/22 -45.250.40.0/22 -45.250.76.0/22 -45.250.80.0/22 -45.250.84.0/22 -45.250.88.0/22 -45.250.92.0/22 -45.250.96.0/22 -45.250.104.0/22 -45.250.108.0/22 -45.250.112.0/22 -45.250.116.0/22 -45.250.120.0/22 -45.250.124.0/22 -45.250.128.0/22 -45.250.132.0/22 -45.250.136.0/22 -45.250.140.0/22 -45.250.144.0/22 -45.250.148.0/22 -45.250.152.0/22 -45.250.164.0/22 -45.250.180.0/22 -45.250.184.0/22 -45.250.188.0/22 -45.250.192.0/22 -45.251.0.0/22 -45.251.8.0/22 -45.251.16.0/22 -45.251.20.0/22 -45.251.52.0/22 -45.251.84.0/22 -45.251.88.0/22 -45.251.92.0/22 -45.251.96.0/22 -45.251.100.0/22 -45.251.120.0/22 -45.251.124.0/22 -45.251.136.0/22 -45.251.140.0/22 -45.251.144.0/22 -45.251.148.0/22 -45.251.152.0/22 -45.251.156.0/22 -45.251.160.0/22 -45.251.164.0/22 -45.251.168.0/22 -45.251.172.0/22 -45.251.176.0/22 -45.251.180.0/22 -45.251.184.0/22 -45.251.188.0/22 -45.251.192.0/22 -45.251.196.0/22 -45.251.200.0/22 -45.251.204.0/22 -45.251.208.0/22 -45.251.212.0/22 -45.251.216.0/22 -45.251.220.0/22 -45.251.224.0/22 -45.251.240.0/22 -45.252.0.0/22 -45.252.4.0/22 -45.252.8.0/22 -45.252.12.0/22 -45.252.16.0/22 -45.252.20.0/22 -45.252.24.0/22 -45.252.28.0/22 -45.252.32.0/22 -45.252.36.0/22 -45.252.40.0/22 -45.252.44.0/22 -45.252.48.0/22 -45.252.60.0/22 -45.252.84.0/22 -45.252.88.0/22 -45.252.92.0/22 -45.252.96.0/22 -45.252.100.0/22 -45.252.104.0/22 -45.252.108.0/22 -45.252.112.0/22 -45.252.116.0/22 -45.252.120.0/22 -45.252.124.0/22 -45.252.128.0/22 -45.252.132.0/22 -45.252.136.0/22 -45.252.140.0/22 -45.252.144.0/22 -45.252.148.0/22 -45.252.152.0/22 -45.252.156.0/22 -45.252.160.0/22 -45.252.164.0/22 -45.252.168.0/22 -45.252.172.0/22 -45.252.176.0/22 -45.252.192.0/22 -45.252.196.0/22 -45.252.200.0/22 -45.252.204.0/22 -45.252.208.0/22 -45.252.212.0/22 -45.252.216.0/22 -45.252.220.0/22 -45.252.224.0/22 -45.252.228.0/22 -45.252.232.0/22 -45.253.0.0/22 -45.253.4.0/22 -45.253.8.0/22 -45.253.12.0/22 -45.253.16.0/22 -45.253.20.0/22 -45.253.24.0/22 -45.253.28.0/22 -45.253.32.0/22 -45.253.36.0/22 -45.253.40.0/22 -45.253.44.0/22 -45.253.48.0/22 -45.253.52.0/22 -45.253.56.0/22 -45.253.60.0/22 -45.253.64.0/22 -45.253.68.0/22 -45.253.72.0/22 -45.253.76.0/22 -45.253.80.0/22 -45.253.84.0/22 -45.253.92.0/22 -45.253.96.0/22 -45.253.100.0/22 -45.253.104.0/22 -45.253.108.0/22 -45.253.112.0/22 -45.253.116.0/22 -45.253.120.0/22 -45.253.132.0/22 -45.253.136.0/22 -45.253.140.0/22 -45.253.144.0/22 -45.253.148.0/22 -45.253.152.0/22 -45.253.156.0/22 -45.253.160.0/22 -45.253.164.0/22 -45.253.168.0/22 -45.253.172.0/22 -45.253.176.0/22 -45.253.180.0/22 -45.253.184.0/22 -45.253.188.0/22 -45.253.192.0/22 -45.253.196.0/22 -45.253.200.0/22 -45.253.204.0/22 -45.253.208.0/22 -45.253.212.0/22 -45.253.216.0/22 -45.253.220.0/22 -45.253.224.0/22 -45.253.228.0/22 -45.253.232.0/22 -45.253.236.0/22 -45.253.240.0/22 -45.253.244.0/22 -45.254.0.0/22 -45.254.4.0/22 -45.254.8.0/22 -45.254.12.0/22 -45.254.16.0/22 -45.254.20.0/22 -45.254.24.0/22 -45.254.28.0/22 -45.254.40.0/22 -45.254.48.0/22 -45.254.52.0/22 -45.254.56.0/22 -45.254.60.0/22 -45.254.64.0/22 -45.254.68.0/22 -45.254.72.0/22 -45.254.76.0/22 -45.254.80.0/22 -45.254.84.0/22 -45.254.88.0/22 -45.254.92.0/22 -45.254.96.0/22 -45.254.100.0/22 -45.254.104.0/22 -45.254.108.0/22 -45.254.112.0/22 -45.254.116.0/22 -45.254.120.0/22 -45.254.124.0/22 -45.254.128.0/22 -45.254.132.0/22 -45.254.136.0/22 -45.254.140.0/22 -45.254.144.0/22 -45.254.148.0/22 -45.254.152.0/22 -45.254.156.0/22 -45.254.160.0/22 -45.254.164.0/22 -45.254.168.0/22 -45.254.172.0/22 -45.254.176.0/22 -45.254.180.0/22 -45.254.184.0/22 -45.254.188.0/22 -45.254.192.0/22 -45.254.196.0/22 -45.254.200.0/22 -45.254.204.0/22 -45.254.208.0/22 -45.254.212.0/22 -45.254.216.0/22 -45.254.220.0/22 -45.254.224.0/22 -45.254.228.0/22 -45.254.236.0/22 -45.254.240.0/22 -45.254.248.0/22 -45.255.0.0/22 -45.255.4.0/22 -45.255.8.0/22 -45.255.12.0/22 -45.255.16.0/22 -45.255.20.0/22 -45.255.24.0/22 -45.255.28.0/22 -45.255.32.0/22 -45.255.36.0/22 -45.255.40.0/22 -45.255.44.0/22 -45.255.48.0/22 -45.255.52.0/22 -45.255.56.0/22 -45.255.60.0/22 -45.255.64.0/22 -45.255.68.0/22 -45.255.72.0/22 -45.255.76.0/22 -45.255.80.0/22 -45.255.84.0/22 -45.255.88.0/22 -45.255.92.0/22 -45.255.96.0/22 -45.255.100.0/22 -45.255.104.0/22 -45.255.108.0/22 -45.255.112.0/22 -45.255.116.0/22 -45.255.120.0/22 -45.255.124.0/22 -45.255.132.0/22 -45.255.136.0/22 -45.255.140.0/22 -45.255.144.0/22 -45.255.148.0/22 -45.255.152.0/22 -45.255.156.0/22 -45.255.160.0/22 -45.255.164.0/22 -45.255.168.0/22 -45.255.172.0/22 -45.255.176.0/22 -45.255.180.0/22 -45.255.184.0/22 -45.255.188.0/22 -45.255.192.0/22 -45.255.196.0/22 -45.255.200.0/22 -45.255.204.0/22 -45.255.208.0/22 -45.255.212.0/22 -45.255.216.0/22 -45.255.220.0/22 -45.255.224.0/22 -45.255.228.0/22 -45.255.232.0/22 -45.255.236.0/22 -45.255.240.0/22 -45.255.244.0/22 -45.255.248.0/22 -47.92.0.0/14 -47.96.0.0/11 -49.4.0.0/14 -49.51.0.0/16 -49.52.0.0/14 -49.64.0.0/11 -49.112.0.0/13 -49.120.0.0/14 -49.128.0.0/24 -49.128.2.0/23 -49.128.4.0/22 -49.140.0.0/15 -49.152.0.0/14 -49.208.0.0/15 -49.210.0.0/15 -49.220.0.0/14 -49.232.0.0/14 -49.239.0.0/18 -49.239.192.0/18 -49.246.224.0/19 -52.80.0.0/15 -52.82.0.0/15 -52.130.0.0/15 -54.222.0.0/15 -58.14.0.0/15 -58.16.0.0/16 -58.17.0.0/17 -58.17.128.0/17 -58.18.0.0/16 -58.19.0.0/16 -58.20.0.0/16 -58.21.0.0/16 -58.22.0.0/15 -58.24.0.0/15 -58.30.0.0/15 -58.32.0.0/13 -58.40.0.0/15 -58.42.0.0/16 -58.43.0.0/16 -58.44.0.0/14 -58.48.0.0/13 -58.56.0.0/15 -58.58.0.0/16 -58.59.0.0/17 -58.59.128.0/17 -58.60.0.0/14 -58.65.232.0/21 -58.66.0.0/15 -58.68.128.0/17 -58.82.0.0/17 -58.83.0.0/17 -58.83.128.0/17 -58.87.64.0/18 -58.99.128.0/17 -58.100.0.0/15 -58.116.0.0/14 -58.128.0.0/13 -58.144.0.0/16 -58.154.0.0/15 -58.192.0.0/15 -58.194.0.0/15 -58.196.0.0/15 -58.198.0.0/15 -58.200.0.0/13 -58.208.0.0/12 -58.240.0.0/15 -58.242.0.0/15 -58.244.0.0/15 -58.246.0.0/15 -58.248.0.0/13 -59.32.0.0/13 -59.40.0.0/15 -59.42.0.0/16 -59.43.0.0/16 -59.44.0.0/14 -59.48.0.0/16 -59.49.0.0/17 -59.49.128.0/17 -59.50.0.0/16 -59.51.0.0/17 -59.51.128.0/17 -59.52.0.0/14 -59.56.0.0/14 -59.60.0.0/15 -59.62.0.0/15 -59.64.0.0/14 -59.68.0.0/14 -59.72.0.0/15 -59.74.0.0/15 -59.76.0.0/16 -59.77.0.0/16 -59.78.0.0/15 -59.80.0.0/15 -59.82.0.0/15 -59.107.0.0/17 -59.107.128.0/17 -59.108.0.0/15 -59.110.0.0/15 -59.151.0.0/17 -59.152.16.0/22 -59.152.20.0/22 -59.152.24.0/22 -59.152.28.0/22 -59.152.32.0/22 -59.152.36.0/22 -59.152.64.0/22 -59.152.68.0/22 -59.152.72.0/22 -59.152.76.0/22 -59.152.112.0/22 -59.152.116.0/22 -59.153.4.0/22 -59.153.32.0/22 -59.153.60.0/22 -59.153.64.0/22 -59.153.68.0/22 -59.153.72.0/22 -59.153.92.0/22 -59.153.116.0/22 -59.153.136.0/22 -59.153.152.0/22 -59.153.156.0/22 -59.153.164.0/22 -59.153.168.0/22 -59.153.172.0/22 -59.153.176.0/22 -59.153.180.0/22 -59.153.184.0/22 -59.153.188.0/22 -59.153.192.0/22 -59.155.0.0/16 -59.172.0.0/15 -59.174.0.0/15 -59.191.0.0/17 -59.191.240.0/20 -59.192.0.0/10 -60.0.0.0/13 -60.8.0.0/15 -60.10.0.0/16 -60.11.0.0/16 -60.12.0.0/16 -60.13.0.0/18 -60.13.64.0/18 -60.13.128.0/17 -60.14.0.0/15 -60.16.0.0/13 -60.24.0.0/14 -60.28.0.0/15 -60.30.0.0/16 -60.31.0.0/16 -60.55.0.0/16 -60.63.0.0/16 -60.160.0.0/15 -60.162.0.0/15 -60.164.0.0/15 -60.166.0.0/15 -60.168.0.0/13 -60.176.0.0/12 -60.194.0.0/15 -60.200.0.0/14 -60.204.0.0/16 -60.205.0.0/16 -60.206.0.0/15 -60.208.0.0/13 -60.216.0.0/15 -60.218.0.0/15 -60.220.0.0/14 -60.232.0.0/15 -60.235.0.0/16 -60.245.128.0/17 -60.247.0.0/16 -60.252.0.0/16 -60.253.128.0/17 -60.255.0.0/16 -61.4.80.0/22 -61.4.84.0/22 -61.4.88.0/21 -61.4.176.0/20 -61.8.160.0/20 -61.14.212.0/22 -61.14.216.0/22 -61.14.220.0/22 -61.14.240.0/22 -61.14.244.0/22 -61.28.0.0/20 -61.28.16.0/20 -61.28.32.0/19 -61.28.64.0/18 -61.29.128.0/18 -61.29.192.0/19 -61.29.224.0/20 -61.29.240.0/21 -61.29.248.0/22 -61.29.254.0/23 -61.45.128.0/18 -61.45.224.0/20 -61.47.128.0/18 -61.48.0.0/14 -61.52.0.0/15 -61.54.0.0/16 -61.55.0.0/16 -61.87.192.0/18 -61.128.0.0/15 -61.130.0.0/15 -61.132.0.0/16 -61.133.0.0/17 -61.133.128.0/17 -61.134.0.0/18 -61.134.64.0/19 -61.134.96.0/19 -61.134.128.0/18 -61.134.192.0/18 -61.135.0.0/16 -61.136.0.0/18 -61.136.64.0/18 -61.136.128.0/17 -61.137.0.0/17 -61.137.128.0/17 -61.138.0.0/18 -61.138.64.0/18 -61.138.128.0/18 -61.138.192.0/18 -61.139.0.0/17 -61.139.128.0/18 -61.139.192.0/18 -61.140.0.0/14 -61.144.0.0/14 -61.148.0.0/15 -61.150.0.0/15 -61.152.0.0/16 -61.153.0.0/16 -61.154.0.0/15 -61.156.0.0/16 -61.157.0.0/16 -61.158.0.0/17 -61.158.128.0/17 -61.159.0.0/18 -61.159.64.0/18 -61.159.128.0/17 -61.160.0.0/16 -61.161.0.0/18 -61.161.64.0/18 -61.161.128.0/17 -61.162.0.0/16 -61.163.0.0/16 -61.164.0.0/16 -61.165.0.0/16 -61.166.0.0/16 -61.167.0.0/16 -61.168.0.0/16 -61.169.0.0/16 -61.170.0.0/15 -61.172.0.0/14 -61.176.0.0/16 -61.177.0.0/16 -61.178.0.0/16 -61.179.0.0/16 -61.180.0.0/17 -61.180.128.0/17 -61.181.0.0/16 -61.182.0.0/16 -61.183.0.0/16 -61.184.0.0/14 -61.188.0.0/16 -61.189.0.0/17 -61.189.128.0/17 -61.190.0.0/15 -61.232.0.0/14 -61.236.0.0/15 -61.240.0.0/14 -62.234.0.0/16 -68.79.0.0/18 -69.230.192.0/18 -69.231.128.0/18 -69.234.192.0/18 -69.235.128.0/18 -71.131.192.0/18 -71.132.0.0/18 -71.136.64.0/18 -71.137.0.0/18 -81.68.0.0/14 -82.156.0.0/15 -94.191.0.0/17 -101.0.0.0/22 -101.1.0.0/22 -101.2.172.0/22 -101.4.0.0/14 -101.16.0.0/12 -101.33.128.0/17 -101.34.0.0/15 -101.36.0.0/18 -101.36.64.0/19 -101.36.128.0/17 -101.37.0.0/16 -101.38.0.0/15 -101.40.0.0/15 -101.42.0.0/15 -101.44.0.0/14 -101.48.0.0/15 -101.50.8.0/22 -101.50.12.0/22 -101.50.56.0/22 -101.52.0.0/16 -101.53.100.0/22 -101.54.0.0/16 -101.55.224.0/21 -101.64.0.0/13 -101.72.0.0/14 -101.76.0.0/15 -101.78.0.0/22 -101.78.32.0/19 -101.80.0.0/12 -101.96.0.0/21 -101.96.8.0/22 -101.96.16.0/20 -101.96.128.0/17 -101.99.96.0/19 -101.101.64.0/19 -101.101.100.0/24 -101.101.102.0/23 -101.101.104.0/21 -101.101.112.0/20 -101.102.64.0/19 -101.102.100.0/23 -101.102.102.0/24 -101.102.104.0/21 -101.102.112.0/20 -101.104.0.0/14 -101.110.64.0/19 -101.110.96.0/20 -101.110.116.0/22 -101.110.120.0/21 -101.120.0.0/14 -101.124.0.0/15 -101.126.0.0/16 -101.128.0.0/22 -101.128.8.0/21 -101.128.16.0/20 -101.128.32.0/19 -101.129.0.0/16 -101.130.0.0/15 -101.132.0.0/14 -101.144.0.0/12 -101.192.0.0/14 -101.196.0.0/16 -101.197.0.0/16 -101.198.0.0/15 -101.200.0.0/15 -101.203.128.0/19 -101.203.160.0/21 -101.203.172.0/22 -101.203.176.0/20 -101.204.0.0/14 -101.224.0.0/13 -101.232.0.0/15 -101.234.64.0/21 -101.234.76.0/22 -101.234.80.0/20 -101.234.96.0/19 -101.236.0.0/14 -101.240.0.0/14 -101.244.0.0/14 -101.248.0.0/15 -101.251.0.0/22 -101.251.8.0/21 -101.251.16.0/20 -101.251.32.0/19 -101.251.64.0/18 -101.251.128.0/17 -101.252.0.0/15 -101.254.0.0/16 -103.1.8.0/22 -103.1.20.0/22 -103.1.24.0/22 -103.1.72.0/22 -103.1.88.0/22 -103.1.168.0/22 -103.2.108.0/22 -103.2.156.0/22 -103.2.164.0/22 -103.2.200.0/22 -103.2.204.0/22 -103.2.208.0/22 -103.2.212.0/22 -103.3.84.0/22 -103.3.88.0/22 -103.3.92.0/22 -103.3.96.0/22 -103.3.100.0/22 -103.3.104.0/22 -103.3.108.0/22 -103.3.112.0/22 -103.3.116.0/22 -103.3.120.0/22 -103.3.124.0/22 -103.3.128.0/22 -103.3.132.0/22 -103.3.136.0/22 -103.3.140.0/22 -103.3.148.0/22 -103.3.152.0/22 -103.3.156.0/22 -103.4.56.0/22 -103.4.168.0/22 -103.4.184.0/22 -103.4.224.0/22 -103.5.36.0/22 -103.5.52.0/22 -103.5.56.0/22 -103.5.152.0/22 -103.5.168.0/22 -103.5.192.0/22 -103.5.252.0/22 -103.6.76.0/22 -103.6.108.0/22 -103.6.220.0/22 -103.6.228.0/22 -103.7.4.0/22 -103.7.28.0/22 -103.7.140.0/22 -103.7.212.0/22 -103.7.216.0/22 -103.7.220.0/22 -103.8.0.0/22 -103.8.4.0/22 -103.8.8.0/22 -103.8.32.0/22 -103.8.52.0/22 -103.8.68.0/22 -103.8.108.0/22 -103.8.156.0/22 -103.8.200.0/22 -103.8.204.0/22 -103.8.220.0/22 -103.9.8.0/22 -103.9.24.0/22 -103.9.108.0/22 -103.9.152.0/22 -103.9.192.0/22 -103.9.248.0/22 -103.9.252.0/22 -103.10.0.0/22 -103.10.16.0/22 -103.10.84.0/22 -103.10.140.0/22 -103.11.16.0/22 -103.11.168.0/22 -103.11.180.0/22 -103.12.32.0/22 -103.12.68.0/22 -103.12.92.0/22 -103.12.136.0/22 -103.12.184.0/22 -103.12.232.0/22 -103.13.12.0/22 -103.13.124.0/22 -103.13.144.0/22 -103.13.196.0/22 -103.13.220.0/22 -103.13.244.0/22 -103.14.32.0/22 -103.14.84.0/22 -103.14.100.0/22 -103.14.132.0/22 -103.14.136.0/22 -103.14.156.0/22 -103.14.240.0/22 -103.15.4.0/22 -103.15.8.0/22 -103.15.16.0/22 -103.15.96.0/22 -103.15.200.0/22 -103.16.52.0/22 -103.16.80.0/22 -103.16.84.0/22 -103.16.88.0/22 -103.16.108.0/22 -103.16.124.0/22 -103.17.40.0/22 -103.17.64.0/22 -103.17.120.0/22 -103.17.136.0/22 -103.17.160.0/22 -103.17.204.0/22 -103.17.228.0/22 -103.18.192.0/22 -103.18.208.0/22 -103.18.212.0/22 -103.18.224.0/22 -103.19.0.0/22 -103.19.12.0/22 -103.19.40.0/22 -103.19.44.0/22 -103.19.64.0/22 -103.19.68.0/22 -103.19.72.0/22 -103.19.232.0/22 -103.20.12.0/22 -103.20.32.0/22 -103.20.44.0/22 -103.20.68.0/22 -103.20.112.0/22 -103.20.128.0/22 -103.20.160.0/22 -103.20.248.0/22 -103.21.112.0/22 -103.21.116.0/22 -103.21.136.0/22 -103.21.140.0/22 -103.21.176.0/22 -103.21.208.0/22 -103.21.240.0/22 -103.22.0.0/22 -103.22.4.0/22 -103.22.8.0/22 -103.22.12.0/22 -103.22.16.0/22 -103.22.20.0/22 -103.22.24.0/22 -103.22.28.0/22 -103.22.32.0/22 -103.22.36.0/22 -103.22.40.0/22 -103.22.44.0/22 -103.22.48.0/22 -103.22.52.0/22 -103.22.56.0/22 -103.22.60.0/22 -103.22.64.0/22 -103.22.68.0/22 -103.22.72.0/22 -103.22.76.0/22 -103.22.80.0/22 -103.22.84.0/22 -103.22.88.0/22 -103.22.92.0/22 -103.22.100.0/22 -103.22.104.0/22 -103.22.108.0/22 -103.22.112.0/22 -103.22.116.0/22 -103.22.120.0/22 -103.22.124.0/22 -103.22.188.0/22 -103.22.228.0/22 -103.22.252.0/22 -103.23.8.0/22 -103.23.56.0/22 -103.23.160.0/22 -103.23.164.0/22 -103.23.176.0/22 -103.23.228.0/22 -103.24.24.0/22 -103.24.116.0/22 -103.24.128.0/22 -103.24.144.0/22 -103.24.176.0/22 -103.24.184.0/22 -103.24.220.0/22 -103.24.228.0/22 -103.24.248.0/22 -103.24.252.0/22 -103.25.8.0/23 -103.25.20.0/22 -103.25.24.0/22 -103.25.28.0/22 -103.25.32.0/22 -103.25.36.0/22 -103.25.40.0/22 -103.25.48.0/22 -103.25.64.0/22 -103.25.68.0/22 -103.25.148.0/22 -103.25.156.0/22 -103.25.216.0/22 -103.26.0.0/22 -103.26.64.0/22 -103.26.76.0/22 -103.26.132.0/22 -103.26.156.0/22 -103.26.160.0/22 -103.26.228.0/22 -103.26.240.0/22 -103.27.4.0/22 -103.27.12.0/22 -103.27.24.0/22 -103.27.56.0/22 -103.27.96.0/22 -103.27.184.0/22 -103.27.208.0/22 -103.27.212.0/22 -103.27.240.0/22 -103.28.4.0/22 -103.28.8.0/22 -103.28.184.0/22 -103.28.204.0/22 -103.28.212.0/22 -103.29.16.0/22 -103.29.128.0/22 -103.29.132.0/22 -103.29.136.0/22 -103.30.20.0/22 -103.30.96.0/22 -103.30.148.0/22 -103.30.200.0/22 -103.30.228.0/22 -103.30.236.0/22 -103.31.0.0/22 -103.31.48.0/22 -103.31.52.0/22 -103.31.56.0/22 -103.31.60.0/22 -103.31.64.0/22 -103.31.68.0/22 -103.31.148.0/22 -103.31.160.0/22 -103.31.168.0/22 -103.31.200.0/22 -103.31.236.0/22 -103.32.0.0/22 -103.32.4.0/22 -103.32.8.0/22 -103.32.12.0/22 -103.32.16.0/22 -103.32.20.0/22 -103.32.24.0/22 -103.32.28.0/22 -103.32.32.0/22 -103.32.36.0/22 -103.32.40.0/22 -103.32.44.0/22 -103.32.48.0/22 -103.32.52.0/22 -103.32.56.0/22 -103.32.60.0/22 -103.32.64.0/22 -103.32.68.0/22 -103.32.72.0/22 -103.32.76.0/22 -103.32.80.0/22 -103.32.84.0/22 -103.32.88.0/22 -103.32.92.0/22 -103.32.96.0/22 -103.32.100.0/22 -103.32.104.0/22 -103.32.108.0/22 -103.32.112.0/22 -103.32.116.0/22 -103.32.120.0/22 -103.32.124.0/22 -103.32.128.0/22 -103.32.132.0/22 -103.32.136.0/22 -103.32.140.0/22 -103.32.144.0/22 -103.32.148.0/22 -103.32.152.0/22 -103.32.156.0/22 -103.32.160.0/22 -103.32.164.0/22 -103.32.168.0/22 -103.32.172.0/22 -103.32.176.0/22 -103.32.180.0/22 -103.32.184.0/22 -103.32.188.0/22 -103.32.192.0/22 -103.32.196.0/22 -103.32.200.0/22 -103.32.204.0/22 -103.32.208.0/22 -103.32.212.0/22 -103.32.216.0/22 -103.32.220.0/22 -103.32.224.0/22 -103.32.228.0/22 -103.32.232.0/22 -103.32.236.0/22 -103.32.240.0/22 -103.32.244.0/22 -103.32.248.0/22 -103.32.252.0/22 -103.33.0.0/22 -103.33.4.0/22 -103.33.8.0/22 -103.33.12.0/22 -103.33.16.0/22 -103.33.20.0/22 -103.33.24.0/22 -103.33.28.0/22 -103.33.32.0/22 -103.33.36.0/22 -103.33.40.0/22 -103.33.44.0/22 -103.33.48.0/22 -103.33.52.0/22 -103.33.56.0/22 -103.33.60.0/22 -103.33.64.0/22 -103.33.68.0/22 -103.33.72.0/22 -103.33.76.0/22 -103.33.80.0/22 -103.33.84.0/22 -103.33.88.0/22 -103.33.92.0/22 -103.33.96.0/22 -103.33.100.0/22 -103.33.104.0/22 -103.33.108.0/22 -103.33.112.0/22 -103.33.116.0/22 -103.33.120.0/22 -103.33.124.0/22 -103.33.128.0/22 -103.33.132.0/22 -103.33.136.0/22 -103.33.140.0/22 -103.33.144.0/22 -103.33.148.0/22 -103.33.152.0/22 -103.33.156.0/22 -103.33.160.0/22 -103.33.164.0/22 -103.33.168.0/22 -103.33.172.0/22 -103.33.176.0/22 -103.33.180.0/22 -103.33.184.0/22 -103.33.188.0/22 -103.33.192.0/22 -103.33.196.0/22 -103.33.200.0/22 -103.33.204.0/22 -103.33.208.0/22 -103.33.212.0/22 -103.33.216.0/22 -103.33.220.0/22 -103.33.224.0/22 -103.33.228.0/22 -103.33.232.0/22 -103.33.236.0/22 -103.33.240.0/22 -103.33.244.0/22 -103.33.248.0/22 -103.33.252.0/22 -103.34.0.0/22 -103.34.4.0/22 -103.34.8.0/22 -103.34.12.0/22 -103.34.16.0/22 -103.34.20.0/22 -103.34.24.0/22 -103.34.28.0/22 -103.34.32.0/22 -103.34.36.0/22 -103.34.40.0/22 -103.34.44.0/22 -103.34.48.0/22 -103.34.52.0/22 -103.34.56.0/22 -103.34.60.0/22 -103.34.64.0/22 -103.34.68.0/22 -103.34.72.0/22 -103.34.76.0/22 -103.34.80.0/22 -103.34.84.0/22 -103.34.88.0/22 -103.34.92.0/22 -103.34.96.0/22 -103.34.100.0/22 -103.34.104.0/22 -103.34.108.0/22 -103.34.112.0/22 -103.34.116.0/22 -103.34.120.0/22 -103.34.124.0/22 -103.34.128.0/22 -103.34.132.0/22 -103.34.136.0/22 -103.34.140.0/22 -103.34.144.0/22 -103.34.148.0/22 -103.34.152.0/22 -103.34.156.0/22 -103.34.160.0/22 -103.34.164.0/22 -103.34.168.0/22 -103.34.172.0/22 -103.34.176.0/22 -103.34.180.0/22 -103.34.184.0/22 -103.34.188.0/22 -103.34.192.0/22 -103.34.196.0/22 -103.34.200.0/22 -103.34.204.0/22 -103.34.208.0/22 -103.34.212.0/22 -103.34.216.0/22 -103.34.220.0/22 -103.34.224.0/22 -103.34.228.0/22 -103.34.232.0/22 -103.34.236.0/22 -103.34.240.0/22 -103.34.244.0/22 -103.34.248.0/22 -103.34.252.0/22 -103.35.0.0/22 -103.35.4.0/22 -103.35.8.0/22 -103.35.12.0/22 -103.35.16.0/22 -103.35.20.0/22 -103.35.24.0/22 -103.35.28.0/22 -103.35.32.0/22 -103.35.36.0/22 -103.35.40.0/22 -103.35.44.0/22 -103.35.48.0/22 -103.35.104.0/22 -103.35.116.0/22 -103.35.180.0/22 -103.35.200.0/22 -103.35.220.0/22 -103.36.28.0/22 -103.36.36.0/22 -103.36.56.0/22 -103.36.60.0/22 -103.36.64.0/22 -103.36.72.0/22 -103.36.96.0/22 -103.36.132.0/22 -103.36.136.0/22 -103.36.160.0/22 -103.36.164.0/22 -103.36.168.0/22 -103.36.172.0/22 -103.36.176.0/22 -103.36.180.0/22 -103.36.184.0/22 -103.36.188.0/22 -103.36.192.0/22 -103.36.196.0/22 -103.36.200.0/22 -103.36.204.0/22 -103.36.208.0/22 -103.36.212.0/22 -103.36.216.0/22 -103.36.220.0/22 -103.36.224.0/22 -103.36.228.0/22 -103.36.232.0/22 -103.36.236.0/22 -103.36.240.0/22 -103.36.244.0/22 -103.37.0.0/22 -103.37.12.0/22 -103.37.16.0/22 -103.37.24.0/22 -103.37.44.0/22 -103.37.52.0/22 -103.37.56.0/22 -103.37.72.0/22 -103.37.100.0/22 -103.37.104.0/22 -103.37.124.0/22 -103.37.136.0/22 -103.37.140.0/22 -103.37.144.0/22 -103.37.148.0/22 -103.37.152.0/22 -103.37.156.0/22 -103.37.160.0/22 -103.37.164.0/22 -103.37.172.0/22 -103.37.176.0/22 -103.37.188.0/22 -103.37.208.0/22 -103.37.212.0/22 -103.37.216.0/22 -103.37.220.0/22 -103.37.248.0/22 -103.37.252.0/22 -103.38.0.0/22 -103.38.32.0/22 -103.38.40.0/22 -103.38.44.0/22 -103.38.56.0/22 -103.38.76.0/22 -103.38.84.0/22 -103.38.92.0/22 -103.38.96.0/22 -103.38.116.0/22 -103.38.132.0/22 -103.38.140.0/22 -103.38.224.0/22 -103.38.228.0/22 -103.38.232.0/22 -103.39.16.0/22 -103.39.64.0/22 -103.39.88.0/22 -103.39.100.0/22 -103.39.104.0/22 -103.39.108.0/22 -103.39.160.0/22 -103.39.164.0/22 -103.39.168.0/22 -103.39.172.0/22 -103.39.176.0/22 -103.39.180.0/22 -103.39.184.0/22 -103.39.188.0/22 -103.39.200.0/22 -103.39.204.0/22 -103.39.208.0/22 -103.39.212.0/22 -103.39.216.0/22 -103.39.220.0/22 -103.39.224.0/22 -103.39.228.0/22 -103.39.232.0/22 -103.40.12.0/22 -103.40.16.0/22 -103.40.20.0/22 -103.40.24.0/22 -103.40.28.0/22 -103.40.32.0/22 -103.40.36.0/22 -103.40.40.0/22 -103.40.44.0/22 -103.40.88.0/22 -103.40.100.0/22 -103.40.192.0/22 -103.40.212.0/22 -103.40.220.0/22 -103.40.228.0/22 -103.40.232.0/22 -103.40.236.0/22 -103.40.240.0/22 -103.40.244.0/22 -103.40.248.0/22 -103.40.252.0/22 -103.41.0.0/22 -103.41.16.0/22 -103.41.52.0/22 -103.41.140.0/22 -103.41.148.0/22 -103.41.152.0/22 -103.41.160.0/22 -103.41.164.0/22 -103.41.220.0/22 -103.41.224.0/22 -103.41.228.0/22 -103.41.232.0/22 -103.42.8.0/22 -103.42.24.0/22 -103.42.28.0/22 -103.42.32.0/22 -103.42.64.0/22 -103.42.68.0/22 -103.42.76.0/22 -103.42.104.0/22 -103.42.180.0/22 -103.42.232.0/22 -103.43.16.0/22 -103.43.84.0/22 -103.43.96.0/22 -103.43.100.0/22 -103.43.104.0/22 -103.43.124.0/22 -103.43.184.0/22 -103.43.192.0/22 -103.43.196.0/22 -103.43.208.0/22 -103.43.220.0/22 -103.43.224.0/22 -103.43.240.0/22 -103.44.56.0/22 -103.44.80.0/22 -103.44.88.0/22 -103.44.120.0/22 -103.44.124.0/22 -103.44.132.0/22 -103.44.144.0/22 -103.44.168.0/22 -103.44.176.0/22 -103.44.180.0/22 -103.44.184.0/22 -103.44.188.0/22 -103.44.192.0/22 -103.44.196.0/22 -103.44.200.0/22 -103.44.204.0/22 -103.44.224.0/22 -103.44.236.0/22 -103.44.240.0/22 -103.44.244.0/22 -103.44.248.0/22 -103.44.252.0/22 -103.45.0.0/22 -103.45.4.0/22 -103.45.8.0/22 -103.45.12.0/22 -103.45.16.0/22 -103.45.20.0/22 -103.45.24.0/22 -103.45.28.0/22 -103.45.32.0/22 -103.45.36.0/22 -103.45.40.0/22 -103.45.44.0/22 -103.45.48.0/22 -103.45.52.0/22 -103.45.56.0/22 -103.45.60.0/22 -103.45.72.0/22 -103.45.76.0/22 -103.45.80.0/22 -103.45.84.0/22 -103.45.88.0/22 -103.45.92.0/22 -103.45.96.0/22 -103.45.100.0/22 -103.45.104.0/22 -103.45.108.0/22 -103.45.112.0/22 -103.45.116.0/22 -103.45.120.0/22 -103.45.124.0/22 -103.45.128.0/22 -103.45.132.0/22 -103.45.136.0/22 -103.45.140.0/22 -103.45.144.0/22 -103.45.148.0/22 -103.45.152.0/22 -103.45.156.0/22 -103.45.160.0/22 -103.45.164.0/22 -103.45.168.0/22 -103.45.172.0/22 -103.45.176.0/22 -103.45.180.0/22 -103.45.184.0/22 -103.45.188.0/22 -103.45.192.0/22 -103.45.196.0/22 -103.45.200.0/22 -103.45.204.0/22 -103.45.208.0/22 -103.45.212.0/22 -103.45.216.0/22 -103.45.220.0/22 -103.45.224.0/22 -103.45.248.0/22 -103.46.0.0/22 -103.46.12.0/22 -103.46.16.0/22 -103.46.20.0/22 -103.46.24.0/22 -103.46.28.0/22 -103.46.32.0/22 -103.46.36.0/22 -103.46.40.0/22 -103.46.44.0/22 -103.46.48.0/22 -103.46.52.0/22 -103.46.56.0/22 -103.46.60.0/22 -103.46.64.0/22 -103.46.68.0/22 -103.46.72.0/22 -103.46.76.0/22 -103.46.80.0/22 -103.46.84.0/22 -103.46.88.0/22 -103.46.92.0/22 -103.46.96.0/22 -103.46.100.0/22 -103.46.104.0/22 -103.46.108.0/22 -103.46.112.0/22 -103.46.116.0/22 -103.46.120.0/22 -103.46.124.0/22 -103.46.128.0/22 -103.46.132.0/22 -103.46.136.0/22 -103.46.152.0/22 -103.46.156.0/22 -103.46.160.0/22 -103.46.164.0/22 -103.46.168.0/22 -103.46.172.0/22 -103.46.176.0/22 -103.46.180.0/22 -103.46.244.0/22 -103.46.248.0/22 -103.47.4.0/22 -103.47.20.0/22 -103.47.36.0/22 -103.47.40.0/22 -103.47.48.0/22 -103.47.80.0/22 -103.47.96.0/22 -103.47.108.0/22 -103.47.116.0/22 -103.47.120.0/22 -103.47.136.0/22 -103.47.140.0/22 -103.47.212.0/22 -103.48.52.0/22 -103.48.92.0/22 -103.48.144.0/22 -103.48.148.0/22 -103.48.152.0/22 -103.48.156.0/22 -103.48.202.0/23 -103.48.216.0/22 -103.48.220.0/22 -103.48.224.0/22 -103.48.228.0/22 -103.48.232.0/22 -103.48.236.0/22 -103.48.240.0/22 -103.48.244.0/22 -103.49.12.0/22 -103.49.20.0/22 -103.49.72.0/22 -103.49.76.0/22 -103.49.92.0/22 -103.49.96.0/22 -103.49.108.0/22 -103.49.128.0/22 -103.49.176.0/22 -103.49.180.0/22 -103.49.196.0/22 -103.50.36.0/22 -103.50.44.0/22 -103.50.48.0/22 -103.50.52.0/22 -103.50.56.0/22 -103.50.60.0/22 -103.50.64.0/22 -103.50.68.0/22 -103.50.72.0/22 -103.50.108.0/22 -103.50.112.0/22 -103.50.116.0/22 -103.50.120.0/22 -103.50.124.0/22 -103.50.132.0/22 -103.50.136.0/22 -103.50.140.0/22 -103.50.172.0/22 -103.50.176.0/22 -103.50.180.0/22 -103.50.184.0/22 -103.50.188.0/22 -103.50.192.0/22 -103.50.196.0/22 -103.50.200.0/22 -103.50.220.0/22 -103.50.224.0/22 -103.50.228.0/22 -103.50.232.0/22 -103.50.236.0/22 -103.50.240.0/22 -103.50.244.0/22 -103.50.248.0/22 -103.52.40.0/22 -103.52.72.0/22 -103.52.76.0/22 -103.52.80.0/22 -103.52.84.0/22 -103.52.96.0/22 -103.52.100.0/22 -103.52.104.0/22 -103.52.160.0/22 -103.52.164.0/22 -103.52.172.0/22 -103.52.176.0/22 -103.52.184.0/22 -103.52.196.0/22 -103.53.64.0/22 -103.53.68.0/22 -103.53.92.0/22 -103.53.100.0/22 -103.53.124.0/22 -103.53.128.0/22 -103.53.132.0/22 -103.53.136.0/22 -103.53.140.0/22 -103.53.144.0/22 -103.53.180.0/22 -103.53.204.0/22 -103.53.208.0/22 -103.53.212.0/22 -103.53.216.0/22 -103.53.236.0/22 -103.53.248.0/22 -103.54.8.0/22 -103.54.48.0/22 -103.54.60.0/22 -103.54.160.0/22 -103.54.164.0/22 -103.54.212.0/22 -103.54.240.0/22 -103.55.24.0/22 -103.55.80.0/22 -103.55.120.0/22 -103.55.152.0/22 -103.55.172.0/22 -103.55.204.0/22 -103.55.208.0/22 -103.55.228.0/22 -103.55.236.0/22 -103.56.8.0/22 -103.56.16.0/22 -103.56.20.0/22 -103.56.32.0/22 -103.56.56.0/22 -103.56.60.0/22 -103.56.72.0/22 -103.56.76.0/22 -103.56.140.0/22 -103.56.152.0/22 -103.56.184.0/22 -103.56.200.0/22 -103.57.12.0/22 -103.57.52.0/22 -103.57.56.0/22 -103.57.76.0/22 -103.57.136.0/22 -103.57.196.0/22 -103.58.24.0/22 -103.59.76.0/22 -103.59.100.0/22 -103.59.112.0/22 -103.59.116.0/22 -103.59.120.0/22 -103.59.124.0/22 -103.59.128.0/22 -103.59.148.0/22 -103.59.164.0/22 -103.60.32.0/22 -103.60.44.0/22 -103.60.164.0/22 -103.60.228.0/22 -103.60.236.0/22 -103.61.60.0/22 -103.61.104.0/22 -103.61.140.0/22 -103.61.152.0/22 -103.61.156.0/22 -103.61.160.0/22 -103.61.172.0/22 -103.61.176.0/22 -103.61.188.0/22 -103.62.24.0/22 -103.62.52.0/22 -103.62.72.0/22 -103.62.76.0/22 -103.62.80.0/22 -103.62.84.0/22 -103.62.88.0/22 -103.62.96.0/22 -103.62.100.0/22 -103.62.104.0/22 -103.62.108.0/22 -103.62.112.0/22 -103.62.116.0/22 -103.62.120.0/22 -103.62.124.0/22 -103.62.128.0/22 -103.62.132.0/22 -103.62.156.0/22 -103.62.160.0/22 -103.62.164.0/22 -103.62.168.0/22 -103.62.172.0/22 -103.62.176.0/22 -103.62.180.0/22 -103.62.184.0/22 -103.62.188.0/22 -103.62.192.0/22 -103.62.204.0/22 -103.62.208.0/22 -103.62.212.0/22 -103.62.216.0/22 -103.62.220.0/22 -103.62.224.0/22 -103.63.32.0/22 -103.63.36.0/22 -103.63.40.0/22 -103.63.44.0/22 -103.63.48.0/22 -103.63.52.0/22 -103.63.56.0/22 -103.63.60.0/22 -103.63.64.0/22 -103.63.68.0/22 -103.63.72.0/22 -103.63.76.0/22 -103.63.80.0/22 -103.63.84.0/22 -103.63.88.0/22 -103.63.140.0/22 -103.63.144.0/22 -103.63.152.0/22 -103.63.160.0/22 -103.63.164.0/22 -103.63.168.0/22 -103.63.172.0/22 -103.63.176.0/22 -103.63.180.0/22 -103.63.184.0/22 -103.63.192.0/22 -103.63.196.0/22 -103.63.200.0/22 -103.63.204.0/22 -103.63.208.0/22 -103.63.240.0/22 -103.63.244.0/22 -103.63.248.0/22 -103.63.252.0/22 -103.64.0.0/22 -103.64.4.0/22 -103.64.24.0/22 -103.64.28.0/22 -103.64.32.0/22 -103.64.36.0/22 -103.64.40.0/22 -103.64.44.0/22 -103.64.48.0/22 -103.64.52.0/22 -103.64.56.0/22 -103.64.60.0/22 -103.64.64.0/22 -103.64.68.0/22 -103.64.72.0/22 -103.64.76.0/22 -103.64.80.0/22 -103.64.84.0/22 -103.64.88.0/22 -103.64.92.0/22 -103.64.96.0/22 -103.64.100.0/22 -103.64.104.0/22 -103.64.108.0/22 -103.64.112.0/22 -103.64.116.0/22 -103.64.120.0/22 -103.64.124.0/22 -103.64.140.0/22 -103.64.144.0/22 -103.64.152.0/22 -103.64.156.0/22 -103.64.160.0/22 -103.64.164.0/22 -103.64.168.0/22 -103.64.172.0/22 -103.64.176.0/22 -103.64.180.0/22 -103.64.184.0/22 -103.64.188.0/22 -103.64.192.0/22 -103.64.196.0/22 -103.64.200.0/22 -103.64.204.0/22 -103.64.208.0/22 -103.64.212.0/22 -103.64.216.0/22 -103.64.220.0/22 -103.64.224.0/22 -103.64.228.0/22 -103.64.232.0/22 -103.64.236.0/22 -103.64.240.0/22 -103.64.244.0/22 -103.64.248.0/22 -103.64.252.0/22 -103.65.0.0/22 -103.65.4.0/22 -103.65.8.0/22 -103.65.12.0/22 -103.65.16.0/22 -103.65.36.0/22 -103.65.40.0/22 -103.65.48.0/22 -103.65.52.0/22 -103.65.56.0/22 -103.65.60.0/22 -103.65.64.0/22 -103.65.68.0/22 -103.65.72.0/22 -103.65.76.0/22 -103.65.80.0/22 -103.65.84.0/22 -103.65.88.0/22 -103.65.92.0/22 -103.65.100.0/22 -103.65.104.0/22 -103.65.108.0/22 -103.65.112.0/22 -103.65.144.0/22 -103.65.148.0/22 -103.65.152.0/22 -103.65.156.0/22 -103.65.160.0/22 -103.65.164.0/22 -103.65.168.0/22 -103.65.172.0/22 -103.66.32.0/22 -103.66.40.0/22 -103.66.92.0/22 -103.66.108.0/22 -103.66.200.0/22 -103.66.216.0/22 -103.66.240.0/22 -103.66.244.0/22 -103.66.248.0/22 -103.66.252.0/22 -103.67.0.0/22 -103.67.4.0/22 -103.67.8.0/22 -103.67.100.0/22 -103.67.104.0/22 -103.67.108.0/22 -103.67.112.0/22 -103.67.116.0/22 -103.67.120.0/22 -103.67.124.0/22 -103.67.128.0/22 -103.67.132.0/22 -103.67.136.0/22 -103.67.140.0/22 -103.67.144.0/22 -103.67.148.0/22 -103.67.172.0/22 -103.67.192.0/22 -103.67.212.0/22 -103.67.252.0/22 -103.68.64.0/22 -103.68.88.0/22 -103.68.100.0/22 -103.68.128.0/22 -103.68.192.0/22 -103.69.16.0/22 -103.69.116.0/22 -103.69.132.0/22 -103.69.152.0/22 -103.69.212.0/22 -103.70.8.0/22 -103.70.148.0/22 -103.70.184.0/22 -103.70.220.0/22 -103.70.224.0/22 -103.70.236.0/22 -103.70.252.0/22 -103.71.0.0/22 -103.71.32.0/22 -103.71.48.0/22 -103.71.68.0/22 -103.71.72.0/22 -103.71.80.0/22 -103.71.84.0/22 -103.71.88.0/22 -103.71.120.0/22 -103.71.124.0/22 -103.71.128.0/22 -103.71.144.0/22 -103.71.196.0/22 -103.71.200.0/22 -103.71.232.0/22 -103.72.12.0/22 -103.72.16.0/22 -103.72.20.0/22 -103.72.24.0/22 -103.72.28.0/22 -103.72.32.0/22 -103.72.36.0/22 -103.72.40.0/22 -103.72.44.0/22 -103.72.48.0/22 -103.72.52.0/22 -103.72.112.0/22 -103.72.116.0/22 -103.72.120.0/22 -103.72.124.0/22 -103.72.128.0/22 -103.72.132.0/22 -103.72.144.0/22 -103.72.148.0/22 -103.72.172.0/22 -103.72.180.0/22 -103.72.224.0/22 -103.72.228.0/22 -103.72.232.0/22 -103.72.236.0/22 -103.72.240.0/22 -103.72.244.0/22 -103.72.248.0/22 -103.72.252.0/22 -103.73.0.0/22 -103.73.4.0/22 -103.73.8.0/22 -103.73.12.0/22 -103.73.16.0/22 -103.73.20.0/22 -103.73.24.0/22 -103.73.28.0/22 -103.73.48.0/22 -103.73.88.0/22 -103.73.96.0/22 -103.73.116.0/22 -103.73.120.0/22 -103.73.128.0/22 -103.73.132.0/22 -103.73.136.0/22 -103.73.140.0/22 -103.73.144.0/22 -103.73.168.0/22 -103.73.176.0/22 -103.73.204.0/22 -103.73.208.0/22 -103.73.240.0/22 -103.73.244.0/22 -103.73.248.0/22 -103.74.24.0/22 -103.74.28.0/22 -103.74.32.0/22 -103.74.36.0/22 -103.74.40.0/22 -103.74.44.0/22 -103.74.48.0/22 -103.74.56.0/22 -103.74.60.0/22 -103.74.80.0/22 -103.74.124.0/22 -103.74.148.0/22 -103.74.152.0/22 -103.74.156.0/22 -103.74.204.0/22 -103.74.232.0/22 -103.75.16.0/22 -103.75.88.0/22 -103.75.92.0/22 -103.75.104.0/22 -103.75.108.0/22 -103.75.112.0/22 -103.75.120.0/22 -103.75.128.0/22 -103.75.144.0/22 -103.75.152.0/22 -103.75.236.0/24 -103.76.60.0/22 -103.76.64.0/22 -103.76.68.0/22 -103.76.72.0/22 -103.76.84.0/22 -103.76.92.0/22 -103.76.216.0/22 -103.76.220.0/22 -103.76.224.0/22 -103.77.28.0/22 -103.77.52.0/22 -103.77.56.0/22 -103.77.72.0/22 -103.77.88.0/22 -103.77.92.0/22 -103.77.132.0/22 -103.77.148.0/22 -103.77.220.0/22 -103.78.56.0/22 -103.78.60.0/22 -103.78.64.0/22 -103.78.68.0/22 -103.78.124.0/22 -103.78.172.0/22 -103.78.176.0/22 -103.78.196.0/22 -103.78.228.0/22 -103.79.24.0/22 -103.79.28.0/22 -103.79.36.0/22 -103.79.40.0/22 -103.79.44.0/22 -103.79.52.0/22 -103.79.56.0/22 -103.79.60.0/22 -103.79.64.0/22 -103.79.68.0/22 -103.79.80.0/22 -103.79.84.0/22 -103.79.120.0/22 -103.79.136.0/22 -103.79.188.0/22 -103.79.192.0/22 -103.79.196.0/22 -103.79.200.0/22 -103.79.204.0/22 -103.79.208.0/22 -103.79.212.0/22 -103.79.240.0/22 -103.80.24.0/22 -103.80.28.0/22 -103.80.44.0/22 -103.80.72.0/22 -103.80.176.0/22 -103.80.180.0/22 -103.80.184.0/22 -103.80.192.0/22 -103.80.200.0/22 -103.80.232.0/22 -103.81.4.0/22 -103.81.8.0/22 -103.81.16.0/22 -103.81.20.0/22 -103.81.44.0/22 -103.81.48.0/22 -103.81.96.0/22 -103.81.120.0/22 -103.81.148.0/22 -103.81.164.0/22 -103.81.168.0/22 -103.81.183.0/24 -103.81.184.0/22 -103.81.200.0/22 -103.81.232.0/22 -103.82.52.0/22 -103.82.60.0/22 -103.82.68.0/22 -103.82.84.0/22 -103.82.104.0/22 -103.82.224.0/22 -103.82.236.0/22 -103.83.44.0/22 -103.83.52.0/22 -103.83.60.0/22 -103.83.64.0/22 -103.83.72.0/22 -103.83.112.0/22 -103.83.120.0/22 -103.83.180.0/22 -103.84.0.0/22 -103.84.12.0/22 -103.84.16.0/22 -103.84.20.0/22 -103.84.24.0/22 -103.84.28.0/22 -103.84.48.0/22 -103.84.64.0/22 -103.84.72.0/22 -103.84.92.0/22 -103.84.108.0/22 -103.84.136.0/22 -103.85.20.0/22 -103.85.24.0/22 -103.85.44.0/22 -103.85.48.0/22 -103.85.84.0/22 -103.85.136.0/22 -103.85.144.0/22 -103.85.164.0/22 -103.85.168.0/22 -103.85.172.0/22 -103.85.176.0/22 -103.85.224.0/22 -103.86.28.0/22 -103.86.32.0/22 -103.86.44.0/22 -103.86.60.0/22 -103.86.68.0/22 -103.86.80.0/22 -103.86.84.0/22 -103.86.88.0/22 -103.86.204.0/22 -103.86.208.0/22 -103.86.212.0/22 -103.86.216.0/22 -103.86.220.0/22 -103.86.224.0/22 -103.86.228.0/22 -103.86.232.0/22 -103.86.236.0/22 -103.86.240.0/22 -103.86.244.0/22 -103.86.248.0/22 -103.86.252.0/22 -103.87.0.0/22 -103.87.4.0/22 -103.87.20.0/22 -103.87.32.0/22 -103.87.72.0/22 -103.87.96.0/22 -103.87.132.0/22 -103.87.180.0/22 -103.87.224.0/22 -103.88.4.0/22 -103.88.8.0/22 -103.88.12.0/22 -103.88.16.0/22 -103.88.20.0/22 -103.88.32.0/22 -103.88.36.0/22 -103.88.60.0/22 -103.88.64.0/22 -103.88.72.0/22 -103.88.96.0/22 -103.88.100.0/22 -103.88.164.0/22 -103.88.176.0/22 -103.88.184.0/22 -103.88.188.0/22 -103.88.212.0/22 -103.89.28.0/22 -103.89.96.0/22 -103.89.100.0/22 -103.89.104.0/22 -103.89.108.0/22 -103.89.112.0/22 -103.89.116.0/22 -103.89.148.0/22 -103.89.172.0/22 -103.89.184.0/22 -103.89.188.0/22 -103.89.192.0/22 -103.89.196.0/22 -103.89.200.0/22 -103.89.204.0/22 -103.89.208.0/22 -103.89.212.0/22 -103.89.216.0/22 -103.89.220.0/22 -103.89.224.0/22 -103.89.228.0/22 -103.90.52.0/22 -103.90.92.0/22 -103.90.100.0/22 -103.90.104.0/22 -103.90.108.0/22 -103.90.112.0/22 -103.90.116.0/22 -103.90.120.0/22 -103.90.124.0/22 -103.90.128.0/22 -103.90.132.0/22 -103.90.152.0/22 -103.90.168.0/22 -103.90.173.0/24 -103.90.176.0/22 -103.90.188.0/22 -103.90.192.0/22 -103.91.36.0/22 -103.91.40.0/22 -103.91.108.0/22 -103.91.152.0/22 -103.91.176.0/22 -103.91.200.0/22 -103.91.208.0/22 -103.91.212.0/22 -103.91.219.0/24 -103.91.236.0/22 -103.91.252.0/22 -103.92.0.0/22 -103.92.4.0/22 -103.92.8.0/22 -103.92.12.0/22 -103.92.48.0/22 -103.92.52.0/22 -103.92.56.0/22 -103.92.60.0/22 -103.92.64.0/22 -103.92.68.0/22 -103.92.72.0/22 -103.92.76.0/22 -103.92.80.0/22 -103.92.86.0/24 -103.92.88.0/22 -103.92.108.0/22 -103.92.124.0/22 -103.92.128.0/24 -103.92.132.0/22 -103.92.156.0/22 -103.92.164.0/22 -103.92.168.0/22 -103.92.172.0/22 -103.92.176.0/22 -103.92.180.0/22 -103.92.184.0/22 -103.92.188.0/22 -103.92.192.0/22 -103.92.236.0/22 -103.92.240.0/22 -103.92.244.0/22 -103.92.248.0/22 -103.92.252.0/22 -103.93.0.0/22 -103.93.4.0/22 -103.93.28.0/22 -103.93.76.0/22 -103.93.84.0/22 -103.93.121.0/24 -103.93.152.0/22 -103.93.180.0/22 -103.93.204.0/22 -103.94.12.0/22 -103.94.20.0/22 -103.94.28.0/22 -103.94.32.0/22 -103.94.36.0/22 -103.94.40.0/22 -103.94.44.0/22 -103.94.72.0/22 -103.94.88.0/22 -103.94.116.0/22 -103.94.160.0/22 -103.94.180.0/22 -103.94.200.0/22 -103.95.28.0/22 -103.95.52.0/22 -103.95.64.0/22 -103.95.68.0/22 -103.95.88.0/22 -103.95.92.0/22 -103.95.116.0/22 -103.95.128.0/22 -103.95.136.0/22 -103.95.140.0/22 -103.95.144.0/22 -103.95.152.0/22 -103.95.207.0/24 -103.95.216.0/22 -103.95.220.0/22 -103.95.224.0/22 -103.95.236.0/22 -103.95.240.0/22 -103.95.244.0/22 -103.95.248.0/22 -103.95.252.0/22 -103.96.0.0/22 -103.96.8.0/22 -103.96.80.0/22 -103.96.124.0/22 -103.96.136.0/22 -103.96.140.0/24 -103.96.148.0/22 -103.96.152.0/22 -103.96.156.0/22 -103.96.160.0/22 -103.96.164.0/22 -103.96.168.0/22 -103.96.172.0/22 -103.96.176.0/22 -103.96.180.0/22 -103.96.184.0/22 -103.96.188.0/22 -103.96.192.0/22 -103.96.196.0/22 -103.96.200.0/22 -103.96.204.0/22 -103.96.208.0/22 -103.96.212.0/22 -103.96.216.0/22 -103.97.8.0/22 -103.97.12.0/22 -103.97.16.0/22 -103.97.20.0/22 -103.97.24.0/22 -103.97.28.0/22 -103.97.32.0/22 -103.97.36.0/22 -103.97.40.0/22 -103.97.56.0/22 -103.97.60.0/22 -103.97.64.0/22 -103.97.68.0/22 -103.97.72.0/22 -103.97.80.0/22 -103.97.112.0/22 -103.97.116.0/22 -103.97.128.0/22 -103.97.144.0/22 -103.97.148.0/22 -103.97.188.0/22 -103.97.192.0/22 -103.97.224.0/22 -103.97.228.0/23 -103.98.28.0/23 -103.98.40.0/22 -103.98.44.0/22 -103.98.48.0/22 -103.98.56.0/22 -103.98.80.0/22 -103.98.88.0/22 -103.98.92.0/22 -103.98.96.0/22 -103.98.100.0/22 -103.98.124.0/22 -103.98.136.0/22 -103.98.140.0/22 -103.98.144.0/22 -103.98.164.0/22 -103.98.168.0/22 -103.98.180.0/22 -103.98.196.0/22 -103.98.216.0/22 -103.98.220.0/22 -103.98.224.0/22 -103.98.228.0/22 -103.98.232.0/22 -103.98.240.0/22 -103.98.244.0/22 -103.98.248.0/22 -103.98.252.0/22 -103.99.40.0/23 -103.99.52.0/22 -103.99.56.0/22 -103.99.60.0/22 -103.99.76.0/22 -103.99.104.0/22 -103.99.116.0/22 -103.99.120.0/22 -103.99.152.0/22 -103.99.220.0/22 -103.99.232.0/22 -103.99.236.0/22 -103.100.0.0/22 -103.100.32.0/22 -103.100.40.0/22 -103.100.48.0/22 -103.100.52.0/22 -103.100.56.0/22 -103.100.60.0/22 -103.100.64.0/22 -103.100.68.0/22 -103.100.88.0/22 -103.100.116.0/22 -103.100.140.0/22 -103.100.144.0/22 -103.100.236.0/22 -103.100.240.0/22 -103.100.248.0/22 -103.100.252.0/22 -103.101.4.0/22 -103.101.8.0/22 -103.101.12.0/22 -103.101.28.0/22 -103.101.60.0/22 -103.101.120.0/22 -103.101.124.0/22 -103.101.144.0/22 -103.101.148.0/22 -103.101.153.0/24 -103.101.180.0/22 -103.101.184.0/22 -103.102.76.0/22 -103.102.80.0/22 -103.102.168.0/22 -103.102.172.0/22 -103.102.180.0/22 -103.102.184.0/22 -103.102.188.0/22 -103.102.192.0/22 -103.102.196.0/22 -103.102.200.0/22 -103.102.208.0/22 -103.102.212.0/22 -103.103.12.0/22 -103.103.16.0/22 -103.103.36.0/22 -103.103.68.0/22 -103.103.72.0/22 -103.103.176.0/22 -103.103.188.0/22 -103.103.200.0/22 -103.103.204.0/22 -103.103.220.0/22 -103.103.224.0/22 -103.103.228.0/22 -103.103.232.0/22 -103.103.248.0/22 -103.103.252.0/22 -103.104.0.0/22 -103.104.4.0/22 -103.104.36.0/22 -103.104.40.0/22 -103.104.64.0/22 -103.104.104.0/22 -103.104.152.0/22 -103.104.168.0/22 -103.104.172.0/22 -103.104.188.0/22 -103.104.198.0/23 -103.104.252.0/22 -103.105.0.0/22 -103.105.4.0/22 -103.105.12.0/22 -103.105.16.0/22 -103.105.23.0/24 -103.105.56.0/22 -103.105.60.0/22 -103.105.116.0/22 -103.105.132.0/22 -103.105.180.0/22 -103.105.184.0/22 -103.105.200.0/22 -103.105.204.0/22 -103.105.220.0/22 -103.106.36.0/22 -103.106.40.0/22 -103.106.44.0/22 -103.106.60.0/22 -103.106.68.0/22 -103.106.96.0/22 -103.106.120.0/22 -103.106.128.0/22 -103.106.132.0/22 -103.106.160.0/22 -103.106.188.0/22 -103.106.196.0/22 -103.106.202.0/23 -103.106.212.0/22 -103.106.244.0/22 -103.106.252.0/22 -103.107.0.0/22 -103.107.8.0/24 -103.107.28.0/22 -103.107.32.0/22 -103.107.44.0/22 -103.107.72.0/22 -103.107.108.0/22 -103.107.164.0/22 -103.107.168.0/22 -103.107.188.0/22 -103.107.192.0/22 -103.107.208.0/22 -103.107.212.0/22 -103.107.216.0/22 -103.107.220.0/22 -103.108.52.0/22 -103.108.64.0/22 -103.108.160.0/22 -103.108.164.0/22 -103.108.184.0/23 -103.108.188.0/23 -103.108.192.0/22 -103.108.196.0/22 -103.108.208.0/22 -103.108.212.0/22 -103.108.224.0/22 -103.108.244.0/22 -103.108.251.0/24 -103.109.20.0/22 -103.109.48.0/22 -103.109.88.0/22 -103.109.106.0/23 -103.109.248.0/22 -103.110.32.0/22 -103.110.80.0/23 -103.110.92.0/22 -103.110.100.0/22 -103.110.116.0/22 -103.110.127.0/24 -103.110.128.0/23 -103.110.131.0/24 -103.110.132.0/22 -103.110.136.0/22 -103.110.152.0/22 -103.110.156.0/22 -103.110.188.0/22 -103.110.204.0/22 -103.111.64.0/22 -103.111.172.0/22 -103.111.252.0/22 -103.112.28.0/22 -103.112.68.0/22 -103.112.72.0/22 -103.112.88.0/22 -103.112.92.0/22 -103.112.96.0/22 -103.112.108.0/22 -103.112.112.0/22 -103.112.116.0/22 -103.112.140.0/22 -103.112.172.0/22 -103.112.184.0/22 -103.112.208.0/22 -103.113.4.0/22 -103.113.92.0/22 -103.113.144.0/22 -103.113.220.0/22 -103.113.232.0/22 -103.113.236.0/22 -103.114.4.0/22 -103.114.28.0/22 -103.114.68.0/22 -103.114.72.0/22 -103.114.100.0/22 -103.114.132.0/22 -103.114.148.0/22 -103.114.156.0/22 -103.114.176.0/22 -103.114.212.0/22 -103.114.236.0/22 -103.114.240.0/22 -103.115.16.0/22 -103.115.40.0/22 -103.115.44.0/22 -103.115.48.0/22 -103.115.52.0/22 -103.115.56.0/22 -103.115.60.0/22 -103.115.64.0/22 -103.115.68.0/22 -103.115.92.0/22 -103.115.120.0/22 -103.115.148.0/22 -103.115.204.0/23 -103.115.248.0/22 -103.116.20.0/22 -103.116.40.0/22 -103.116.64.0/22 -103.116.72.0/22 -103.116.76.0/22 -103.116.92.0/22 -103.116.120.0/22 -103.116.128.0/22 -103.116.132.0/23 -103.116.148.0/22 -103.116.184.0/22 -103.116.206.0/23 -103.116.220.0/22 -103.116.224.0/22 -103.116.228.0/22 -103.117.16.0/22 -103.117.72.0/22 -103.117.88.0/22 -103.117.132.0/22 -103.117.136.0/22 -103.117.188.0/22 -103.117.220.0/22 -103.118.19.0/24 -103.118.36.0/22 -103.118.52.0/22 -103.118.56.0/22 -103.118.60.0/22 -103.118.64.0/22 -103.118.68.0/22 -103.118.72.0/22 -103.118.88.0/22 -103.118.173.0/24 -103.118.192.0/22 -103.118.196.0/22 -103.118.200.0/22 -103.118.204.0/22 -103.118.208.0/22 -103.118.212.0/22 -103.118.216.0/22 -103.118.220.0/22 -103.118.240.0/22 -103.118.244.0/22 -103.118.248.0/22 -103.118.252.0/22 -103.119.0.0/22 -103.119.12.0/22 -103.119.16.0/22 -103.119.28.0/22 -103.119.44.0/22 -103.119.104.0/22 -103.119.115.0/24 -103.119.156.0/22 -103.119.180.0/22 -103.119.200.0/22 -103.119.224.0/22 -103.120.52.0/22 -103.120.72.0/22 -103.120.88.0/22 -103.120.96.0/22 -103.120.100.0/22 -103.120.140.0/22 -103.120.196.0/22 -103.120.224.0/22 -103.121.52.0/22 -103.121.92.0/22 -103.121.160.0/22 -103.121.164.0/22 -103.121.250.0/24 -103.121.252.0/22 -103.122.48.0/22 -103.122.176.0/22 -103.122.192.0/22 -103.122.240.0/22 -103.123.4.0/22 -103.123.56.0/22 -103.123.88.0/22 -103.123.92.0/22 -103.123.116.0/22 -103.123.160.0/22 -103.123.176.0/22 -103.123.200.0/22 -103.123.204.0/22 -103.123.208.0/22 -103.123.212.0/22 -103.124.24.0/22 -103.124.48.0/22 -103.124.64.0/22 -103.124.212.0/22 -103.124.216.0/22 -103.125.20.0/22 -103.125.44.0/22 -103.125.132.0/22 -103.125.164.0/22 -103.125.196.0/22 -103.125.236.0/22 -103.125.248.0/22 -103.126.0.0/22 -103.126.16.0/22 -103.126.44.0/22 -103.126.100.0/22 -103.126.124.0/22 -103.126.128.0/22 -103.126.132.0/22 -103.126.208.0/22 -103.126.241.0/24 -103.129.52.0/22 -103.130.132.0/22 -103.130.152.0/24 -103.130.160.0/22 -103.130.228.0/22 -103.131.20.0/22 -103.131.36.0/22 -103.131.152.0/22 -103.131.168.0/22 -103.131.176.0/22 -103.131.224.0/22 -103.131.228.0/22 -103.131.240.0/22 -103.132.60.0/22 -103.132.64.0/22 -103.132.68.0/22 -103.132.72.0/22 -103.132.76.0/22 -103.132.80.0/22 -103.132.104.0/22 -103.132.108.0/22 -103.132.112.0/22 -103.132.116.0/22 -103.132.120.0/22 -103.132.160.0/22 -103.132.164.0/22 -103.132.188.0/22 -103.132.208.0/22 -103.132.212.0/22 -103.132.234.0/23 -103.133.12.0/22 -103.133.40.0/22 -103.133.128.0/22 -103.133.136.0/22 -103.133.176.0/22 -103.133.232.0/22 -103.134.12.0/24 -103.134.196.0/22 -103.135.80.0/22 -103.135.124.0/22 -103.135.148.0/22 -103.135.156.0/22 -103.135.160.0/22 -103.135.164.0/22 -103.135.176.0/22 -103.135.184.0/22 -103.135.192.0/22 -103.135.196.0/22 -103.135.236.0/22 -103.136.128.0/22 -103.136.232.0/22 -103.137.58.0/23 -103.137.60.0/24 -103.137.76.0/22 -103.137.136.0/23 -103.137.149.0/24 -103.137.180.0/22 -103.137.236.0/22 -103.138.2.0/23 -103.138.12.0/23 -103.138.80.0/22 -103.138.134.0/23 -103.138.156.0/23 -103.138.208.0/23 -103.138.220.0/23 -103.138.246.0/23 -103.138.248.0/23 -103.139.0.0/23 -103.139.2.0/23 -103.139.22.0/23 -103.139.113.0/24 -103.139.134.0/23 -103.139.136.0/23 -103.139.172.0/23 -103.139.200.0/23 -103.139.204.0/23 -103.139.212.0/23 -103.140.8.0/23 -103.140.14.0/23 -103.140.70.0/23 -103.140.126.0/23 -103.140.140.0/23 -103.140.144.0/23 -103.140.152.0/23 -103.140.192.0/23 -103.140.194.0/23 -103.140.228.0/23 -103.141.10.0/23 -103.141.36.0/23 -103.141.58.0/23 -103.141.128.0/23 -103.141.186.0/23 -103.141.242.0/23 -103.142.0.0/23 -103.142.28.0/23 -103.142.58.0/23 -103.142.82.0/23 -103.142.96.0/23 -103.142.102.0/23 -103.142.122.0/23 -103.142.126.0/24 -103.142.128.0/23 -103.142.140.0/23 -103.142.154.0/23 -103.142.156.0/23 -103.142.172.0/23 -103.142.180.0/23 -103.142.186.0/23 -103.142.190.0/23 -103.142.220.0/23 -103.142.230.0/24 -103.142.234.0/23 -103.142.238.0/23 -103.142.248.0/23 -103.143.16.0/23 -103.143.18.0/23 -103.143.31.0/24 -103.143.74.0/23 -103.143.120.0/23 -103.143.124.0/23 -103.143.132.0/23 -103.143.134.0/23 -103.143.174.0/23 -103.143.228.0/23 -103.144.40.0/23 -103.144.52.0/23 -103.144.66.0/23 -103.144.70.0/23 -103.144.72.0/23 -103.144.88.0/24 -103.144.108.0/23 -103.144.136.0/23 -103.144.148.0/23 -103.144.158.0/23 -103.144.240.0/23 -103.145.38.0/23 -103.145.40.0/23 -103.145.42.0/23 -103.145.60.0/23 -103.145.72.0/23 -103.145.80.0/23 -103.145.86.0/23 -103.145.92.0/23 -103.145.94.0/23 -103.145.98.0/23 -103.145.106.0/23 -103.145.122.0/23 -103.145.188.0/23 -103.145.190.0/23 -103.146.6.0/23 -103.146.72.0/23 -103.146.88.0/23 -103.146.90.0/23 -103.146.124.0/23 -103.146.126.0/23 -103.146.138.0/23 -103.146.147.0/24 -103.146.230.0/23 -103.146.236.0/23 -103.146.252.0/23 -103.147.12.0/23 -103.147.124.0/23 -103.147.198.0/23 -103.147.206.0/23 -103.147.211.0/24 -103.148.174.0/23 -103.149.6.0/23 -103.149.17.0/24 -103.149.44.0/23 -103.149.110.0/23 -103.149.132.0/23 -103.149.144.0/23 -103.149.156.0/23 -103.149.181.0/24 -103.149.190.0/23 -103.149.210.0/23 -103.149.214.0/23 -103.149.220.0/23 -103.149.242.0/23 -103.149.244.0/23 -103.149.246.0/23 -103.149.248.0/23 -103.150.24.0/23 -103.150.66.0/23 -103.150.72.0/23 -103.150.122.0/23 -103.150.126.0/23 -103.150.128.0/23 -103.150.130.0/23 -103.150.146.0/23 -103.150.164.0/23 -103.150.172.0/23 -103.150.180.0/23 -103.150.200.0/23 -103.150.210.0/23 -103.150.214.0/23 -103.150.216.0/23 -103.150.244.0/23 -103.151.4.0/23 -103.151.44.0/23 -103.151.138.0/23 -103.151.142.0/23 -103.151.148.0/23 -103.151.150.0/23 -103.151.158.0/23 -103.151.178.0/23 -103.151.206.0/23 -103.151.216.0/23 -103.151.228.0/23 -103.152.14.0/23 -103.152.24.0/23 -103.152.28.0/23 -103.152.30.0/23 -103.152.56.0/23 -103.152.76.0/23 -103.152.80.0/23 -103.152.98.0/23 -103.152.112.0/23 -103.152.120.0/23 -103.152.122.0/23 -103.152.132.0/23 -103.152.152.0/23 -103.152.168.0/23 -103.152.170.0/23 -103.152.186.0/23 -103.152.190.0/23 -103.152.192.0/23 -103.152.200.0/23 -103.152.208.0/23 -103.152.224.0/23 -103.152.226.0/23 -103.152.246.0/23 -103.152.250.0/23 -103.153.4.0/23 -103.153.36.0/23 -103.153.98.0/23 -103.153.100.0/23 -103.153.114.0/23 -103.153.122.0/23 -103.153.128.0/23 -103.153.132.0/23 -103.153.138.0/23 -103.153.146.0/23 -103.153.160.0/23 -103.154.18.0/23 -103.154.30.0/23 -103.154.32.0/23 -103.154.40.0/23 -103.154.66.0/23 -103.154.162.0/23 -103.154.164.0/23 -103.154.168.0/23 -103.154.242.0/23 -103.155.14.0/23 -103.155.16.0/23 -103.155.34.0/23 -103.155.48.0/23 -103.155.76.0/23 -103.155.100.0/23 -103.155.110.0/23 -103.155.120.0/23 -103.155.214.0/23 -103.155.248.0/23 -103.156.24.0/23 -103.156.28.0/23 -103.156.68.0/23 -103.156.78.0/23 -103.156.104.0/23 -103.156.158.0/23 -103.156.166.0/23 -103.156.174.0/23 -103.156.186.0/23 -103.156.228.0/23 -103.157.30.0/23 -103.157.138.0/23 -103.157.174.0/23 -103.157.212.0/23 -103.157.234.0/23 -103.157.254.0/23 -103.158.0.0/23 -103.158.8.0/23 -103.158.13.0/24 -103.158.16.0/23 -103.192.0.0/22 -103.192.4.0/22 -103.192.8.0/22 -103.192.12.0/22 -103.192.16.0/22 -103.192.20.0/22 -103.192.24.0/22 -103.192.28.0/22 -103.192.48.0/22 -103.192.52.0/22 -103.192.56.0/22 -103.192.84.0/22 -103.192.88.0/22 -103.192.92.0/22 -103.192.96.0/22 -103.192.100.0/22 -103.192.104.0/22 -103.192.108.0/22 -103.192.112.0/22 -103.192.128.0/22 -103.192.132.0/22 -103.192.136.0/22 -103.192.140.0/22 -103.192.144.0/22 -103.192.164.0/22 -103.192.188.0/22 -103.192.208.0/22 -103.192.212.0/22 -103.192.216.0/22 -103.192.252.0/22 -103.193.40.0/22 -103.193.44.0/22 -103.193.120.0/22 -103.193.124.0/22 -103.193.140.0/22 -103.193.144.0/22 -103.193.160.0/22 -103.193.188.0/22 -103.193.192.0/22 -103.193.212.0/22 -103.193.216.0/22 -103.193.220.0/22 -103.193.224.0/22 -103.193.228.0/22 -103.193.232.0/22 -103.193.236.0/22 -103.193.240.0/22 -103.194.16.0/22 -103.195.104.0/22 -103.195.112.0/22 -103.195.136.0/22 -103.195.148.0/22 -103.195.152.0/22 -103.195.160.0/22 -103.196.64.0/22 -103.196.72.0/22 -103.196.88.0/22 -103.196.92.0/22 -103.196.96.0/22 -103.196.168.0/22 -103.196.204.0/22 -103.197.180.0/22 -103.197.228.0/22 -103.198.20.0/22 -103.198.60.0/22 -103.198.64.0/22 -103.198.72.0/22 -103.198.124.0/22 -103.198.156.0/22 -103.198.180.0/22 -103.198.196.0/22 -103.198.200.0/22 -103.198.216.0/22 -103.198.220.0/22 -103.198.224.0/22 -103.198.228.0/22 -103.198.232.0/22 -103.198.236.0/22 -103.198.240.0/22 -103.198.244.0/22 -103.199.164.0/22 -103.199.196.0/22 -103.199.228.0/22 -103.199.248.0/22 -103.199.252.0/22 -103.200.28.0/22 -103.200.32.0/22 -103.200.52.0/22 -103.200.64.0/22 -103.200.68.0/22 -103.200.136.0/22 -103.200.140.0/22 -103.200.144.0/22 -103.200.148.0/22 -103.200.152.0/22 -103.200.156.0/22 -103.200.160.0/22 -103.200.164.0/22 -103.200.168.0/22 -103.200.172.0/22 -103.200.176.0/22 -103.200.180.0/22 -103.200.184.0/22 -103.200.188.0/22 -103.200.192.0/22 -103.200.220.0/22 -103.200.224.0/22 -103.200.228.0/22 -103.200.232.0/22 -103.200.236.0/22 -103.200.240.0/22 -103.200.244.0/22 -103.200.248.0/22 -103.200.252.0/22 -103.201.0.0/22 -103.201.4.0/22 -103.201.8.0/22 -103.201.12.0/22 -103.201.16.0/22 -103.201.20.0/22 -103.201.28.0/22 -103.201.32.0/22 -103.201.36.0/22 -103.201.40.0/22 -103.201.44.0/22 -103.201.48.0/22 -103.201.52.0/22 -103.201.56.0/22 -103.201.60.0/22 -103.201.64.0/22 -103.201.76.0/22 -103.201.80.0/22 -103.201.84.0/22 -103.201.88.0/22 -103.201.92.0/22 -103.201.96.0/22 -103.201.100.0/22 -103.201.104.0/22 -103.201.108.0/22 -103.201.112.0/22 -103.201.116.0/22 -103.201.120.0/22 -103.201.152.0/22 -103.201.156.0/22 -103.201.160.0/22 -103.201.164.0/22 -103.201.168.0/22 -103.201.172.0/22 -103.201.176.0/22 -103.201.180.0/22 -103.201.184.0/22 -103.201.188.0/22 -103.201.192.0/22 -103.201.196.0/22 -103.201.200.0/22 -103.201.204.0/22 -103.201.208.0/22 -103.201.212.0/22 -103.201.216.0/22 -103.201.220.0/22 -103.201.224.0/22 -103.201.228.0/22 -103.201.232.0/22 -103.201.236.0/22 -103.201.240.0/22 -103.201.244.0/22 -103.201.248.0/22 -103.201.252.0/22 -103.202.0.0/22 -103.202.4.0/22 -103.202.8.0/22 -103.202.12.0/22 -103.202.16.0/22 -103.202.20.0/22 -103.202.24.0/22 -103.202.28.0/22 -103.202.32.0/22 -103.202.36.0/22 -103.202.40.0/22 -103.202.44.0/22 -103.202.56.0/22 -103.202.60.0/22 -103.202.64.0/22 -103.202.68.0/22 -103.202.72.0/22 -103.202.76.0/22 -103.202.80.0/22 -103.202.84.0/22 -103.202.88.0/22 -103.202.92.0/22 -103.202.96.0/22 -103.202.100.0/22 -103.202.104.0/22 -103.202.108.0/22 -103.202.112.0/22 -103.202.116.0/22 -103.202.120.0/22 -103.202.124.0/22 -103.202.128.0/22 -103.202.132.0/22 -103.202.136.0/22 -103.202.140.0/22 -103.202.144.0/22 -103.202.152.0/22 -103.202.156.0/22 -103.202.160.0/22 -103.202.164.0/22 -103.202.168.0/22 -103.202.172.0/22 -103.202.176.0/22 -103.202.180.0/22 -103.202.184.0/22 -103.202.188.0/22 -103.202.192.0/22 -103.202.196.0/22 -103.202.200.0/21 -103.202.212.0/22 -103.202.228.0/22 -103.202.236.0/22 -103.202.240.0/22 -103.202.244.0/22 -103.202.248.0/22 -103.202.252.0/22 -103.203.0.0/22 -103.203.4.0/22 -103.203.8.0/22 -103.203.12.0/22 -103.203.16.0/22 -103.203.20.0/22 -103.203.24.0/22 -103.203.28.0/22 -103.203.32.0/22 -103.203.52.0/22 -103.203.56.0/22 -103.203.96.0/22 -103.203.100.0/22 -103.203.104.0/22 -103.203.108.0/22 -103.203.112.0/22 -103.203.116.0/22 -103.203.120.0/22 -103.203.124.0/22 -103.203.128.0/22 -103.203.140.0/22 -103.203.164.0/22 -103.203.168.0/22 -103.203.192.0/22 -103.203.200.0/22 -103.203.212.0/22 -103.203.216.0/22 -103.204.24.0/22 -103.204.72.0/22 -103.204.88.0/22 -103.204.112.0/22 -103.204.136.0/22 -103.204.140.0/22 -103.204.144.0/22 -103.204.148.0/22 -103.204.152.0/22 -103.204.196.0/22 -103.204.232.0/22 -103.204.236.0/22 -103.205.4.0/22 -103.205.8.0/22 -103.205.40.0/22 -103.205.44.0/22 -103.205.52.0/22 -103.205.108.0/22 -103.205.116.0/22 -103.205.120.0/22 -103.205.136.0/22 -103.205.162.0/24 -103.205.188.0/22 -103.205.192.0/22 -103.205.196.0/22 -103.205.200.0/22 -103.205.236.0/22 -103.205.248.0/22 -103.205.252.0/22 -103.206.0.0/22 -103.206.44.0/22 -103.206.108.0/22 -103.206.148.0/22 -103.207.48.0/22 -103.207.104.0/22 -103.207.164.0/22 -103.207.184.0/22 -103.207.188.0/22 -103.207.192.0/22 -103.207.196.0/22 -103.207.200.0/22 -103.207.204.0/22 -103.207.208.0/22 -103.207.212.0/22 -103.207.220.0/22 -103.207.228.0/22 -103.207.232.0/22 -103.208.12.0/22 -103.208.16.0/22 -103.208.28.0/22 -103.208.40.0/22 -103.208.44.0/22 -103.208.48.0/22 -103.208.148.0/22 -103.209.112.0/22 -103.209.136.0/22 -103.209.200.0/22 -103.209.208.0/22 -103.209.216.0/22 -103.210.0.0/22 -103.210.20.0/22 -103.210.96.0/22 -103.210.156.0/22 -103.210.160.0/22 -103.210.164.0/22 -103.210.168.0/22 -103.210.172.0/22 -103.210.176.0/22 -103.210.180.0/22 -103.210.184.0/22 -103.210.188.0/22 -103.210.216.0/22 -103.211.44.0/22 -103.211.96.0/22 -103.211.100.0/22 -103.211.156.0/22 -103.211.164.0/22 -103.211.192.0/22 -103.211.220.0/22 -103.211.224.0/22 -103.211.248.0/22 -103.212.0.0/22 -103.212.4.0/22 -103.212.8.0/22 -103.212.12.0/22 -103.212.32.0/22 -103.212.44.0/22 -103.212.48.0/22 -103.212.84.0/22 -103.212.100.0/22 -103.212.104.0/22 -103.212.108.0/22 -103.212.148.0/22 -103.212.164.0/22 -103.212.196.0/22 -103.212.200.0/22 -103.212.228.0/22 -103.212.252.0/22 -103.213.40.0/22 -103.213.44.0/22 -103.213.48.0/22 -103.213.52.0/22 -103.213.56.0/22 -103.213.60.0/22 -103.213.64.0/22 -103.213.68.0/22 -103.213.72.0/22 -103.213.76.0/22 -103.213.80.0/22 -103.213.84.0/22 -103.213.88.0/22 -103.213.92.0/22 -103.213.96.0/22 -103.213.132.0/22 -103.213.136.0/22 -103.213.140.0/22 -103.213.144.0/22 -103.213.148.0/22 -103.213.152.0/22 -103.213.156.0/22 -103.213.160.0/22 -103.213.164.0/22 -103.213.168.0/22 -103.213.172.0/22 -103.213.176.0/22 -103.213.180.0/22 -103.213.184.0/22 -103.213.188.0/22 -103.213.248.0/22 -103.214.32.0/22 -103.214.48.0/22 -103.214.84.0/22 -103.214.168.0/22 -103.214.212.0/22 -103.214.240.0/22 -103.214.244.0/22 -103.215.28.0/22 -103.215.32.0/22 -103.215.36.0/22 -103.215.44.0/22 -103.215.48.0/22 -103.215.100.0/22 -103.215.104.0/22 -103.215.108.0/22 -103.215.116.0/22 -103.215.120.0/22 -103.215.140.0/22 -103.215.228.0/22 -103.216.4.0/22 -103.216.8.0/22 -103.216.12.0/22 -103.216.16.0/22 -103.216.20.0/22 -103.216.24.0/22 -103.216.28.0/22 -103.216.32.0/22 -103.216.36.0/22 -103.216.40.0/22 -103.216.44.0/22 -103.216.64.0/22 -103.216.108.0/22 -103.216.136.0/22 -103.216.152.0/22 -103.216.224.0/22 -103.216.228.0/22 -103.216.240.0/22 -103.216.244.0/22 -103.216.248.0/22 -103.216.252.0/22 -103.217.0.0/22 -103.217.4.0/22 -103.217.8.0/22 -103.217.12.0/22 -103.217.16.0/22 -103.217.20.0/22 -103.217.24.0/22 -103.217.28.0/22 -103.217.32.0/22 -103.217.36.0/22 -103.217.40.0/22 -103.217.44.0/22 -103.217.48.0/22 -103.217.52.0/22 -103.217.56.0/22 -103.217.60.0/22 -103.217.168.0/22 -103.217.180.0/22 -103.217.184.0/22 -103.217.188.0/22 -103.217.192.0/22 -103.217.196.0/22 -103.217.200.0/22 -103.217.204.0/22 -103.218.0.0/22 -103.218.8.0/22 -103.218.12.0/22 -103.218.16.0/22 -103.218.20.0/22 -103.218.28.0/22 -103.218.32.0/22 -103.218.36.0/22 -103.218.40.0/22 -103.218.44.0/22 -103.218.48.0/22 -103.218.52.0/22 -103.218.56.0/22 -103.218.60.0/22 -103.218.64.0/22 -103.218.68.0/22 -103.218.72.0/22 -103.218.76.0/22 -103.218.80.0/22 -103.218.84.0/22 -103.218.88.0/22 -103.218.92.0/22 -103.218.192.0/22 -103.218.196.0/22 -103.218.200.0/22 -103.218.204.0/22 -103.218.208.0/22 -103.218.212.0/22 -103.218.216.0/22 -103.219.24.0/22 -103.219.28.0/22 -103.219.32.0/22 -103.219.36.0/22 -103.219.64.0/22 -103.219.84.0/22 -103.219.88.0/22 -103.219.92.0/22 -103.219.96.0/22 -103.219.100.0/22 -103.219.176.0/22 -103.219.184.0/22 -103.220.48.0/22 -103.220.52.0/22 -103.220.56.0/22 -103.220.60.0/22 -103.220.64.0/22 -103.220.92.0/22 -103.220.96.0/22 -103.220.100.0/22 -103.220.104.0/22 -103.220.108.0/22 -103.220.116.0/22 -103.220.120.0/22 -103.220.124.0/22 -103.220.128.0/22 -103.220.132.0/22 -103.220.136.0/22 -103.220.140.0/22 -103.220.144.0/22 -103.220.148.0/22 -103.220.152.0/22 -103.220.160.0/22 -103.220.164.0/22 -103.220.168.0/22 -103.220.172.0/22 -103.220.176.0/22 -103.220.180.0/22 -103.220.184.0/22 -103.220.188.0/22 -103.220.192.0/22 -103.220.196.0/22 -103.220.200.0/22 -103.220.240.0/22 -103.220.244.0/22 -103.220.248.0/22 -103.220.252.0/22 -103.221.0.0/22 -103.221.4.0/22 -103.221.8.0/22 -103.221.12.0/22 -103.221.16.0/22 -103.221.20.0/22 -103.221.24.0/22 -103.221.28.0/22 -103.221.32.0/22 -103.221.36.0/22 -103.221.40.0/22 -103.221.44.0/22 -103.221.48.0/22 -103.221.88.0/22 -103.221.92.0/22 -103.221.96.0/22 -103.221.100.0/22 -103.221.104.0/22 -103.221.108.0/22 -103.221.112.0/22 -103.221.116.0/22 -103.221.120.0/22 -103.221.124.0/22 -103.221.128.0/22 -103.221.132.0/22 -103.221.136.0/22 -103.221.140.0/22 -103.221.144.0/22 -103.221.148.0/22 -103.221.152.0/22 -103.221.156.0/22 -103.221.160.0/22 -103.221.164.0/22 -103.221.168.0/22 -103.221.172.0/22 -103.221.176.0/22 -103.221.180.0/22 -103.221.184.0/22 -103.221.188.0/22 -103.221.192.0/22 -103.221.196.0/22 -103.221.200.0/22 -103.221.204.0/22 -103.222.0.0/22 -103.222.4.0/22 -103.222.8.0/22 -103.222.12.0/22 -103.222.16.0/22 -103.222.24.0/22 -103.222.28.0/22 -103.222.32.0/22 -103.222.36.0/22 -103.222.40.0/22 -103.222.44.0/22 -103.222.48.0/22 -103.222.52.0/22 -103.222.56.0/22 -103.222.60.0/22 -103.222.64.0/22 -103.222.68.0/22 -103.222.72.0/22 -103.222.76.0/22 -103.222.80.0/22 -103.222.84.0/22 -103.222.88.0/22 -103.222.92.0/22 -103.222.96.0/22 -103.222.100.0/22 -103.222.104.0/22 -103.222.108.0/22 -103.222.112.0/22 -103.222.116.0/22 -103.222.120.0/22 -103.222.124.0/22 -103.222.128.0/22 -103.222.132.0/22 -103.222.136.0/22 -103.222.140.0/22 -103.222.144.0/22 -103.222.148.0/22 -103.222.152.0/22 -103.222.156.0/22 -103.222.160.0/22 -103.222.164.0/22 -103.222.168.0/22 -103.222.172.0/22 -103.222.176.0/22 -103.222.180.0/22 -103.222.184.0/22 -103.222.188.0/22 -103.222.192.0/22 -103.222.196.0/22 -103.222.200.0/22 -103.222.204.0/22 -103.222.208.0/22 -103.222.212.0/22 -103.222.216.0/22 -103.222.220.0/22 -103.222.224.0/22 -103.222.228.0/22 -103.222.232.0/22 -103.222.240.0/22 -103.222.244.0/22 -103.223.16.0/22 -103.223.20.0/22 -103.223.24.0/22 -103.223.28.0/22 -103.223.32.0/22 -103.223.36.0/22 -103.223.40.0/22 -103.223.44.0/22 -103.223.48.0/22 -103.223.52.0/22 -103.223.56.0/22 -103.223.60.0/22 -103.223.64.0/22 -103.223.68.0/22 -103.223.72.0/22 -103.223.76.0/22 -103.223.80.0/22 -103.223.84.0/22 -103.223.88.0/22 -103.223.92.0/22 -103.223.96.0/22 -103.223.100.0/22 -103.223.104.0/22 -103.223.108.0/22 -103.223.112.0/22 -103.223.116.0/22 -103.223.120.0/22 -103.223.124.0/22 -103.223.128.0/22 -103.223.132.0/22 -103.223.140.0/22 -103.223.144.0/22 -103.223.148.0/22 -103.223.152.0/22 -103.223.156.0/22 -103.223.160.0/22 -103.223.164.0/22 -103.223.168.0/22 -103.223.172.0/22 -103.223.176.0/22 -103.223.180.0/22 -103.223.188.0/22 -103.223.192.0/22 -103.223.196.0/22 -103.223.200.0/22 -103.223.204.0/22 -103.223.208.0/22 -103.223.212.0/22 -103.223.216.0/22 -103.223.220.0/22 -103.223.224.0/22 -103.223.228.0/22 -103.223.232.0/22 -103.223.236.0/22 -103.223.240.0/22 -103.223.244.0/22 -103.223.248.0/22 -103.223.252.0/22 -103.224.0.0/22 -103.224.40.0/22 -103.224.44.0/22 -103.224.60.0/22 -103.224.80.0/22 -103.224.220.0/22 -103.224.224.0/22 -103.224.228.0/22 -103.224.232.0/22 -103.225.84.0/22 -103.226.16.0/22 -103.226.40.0/22 -103.226.56.0/22 -103.226.60.0/22 -103.226.80.0/22 -103.226.132.0/22 -103.226.156.0/22 -103.226.180.0/22 -103.226.196.0/22 -103.227.48.0/22 -103.227.72.0/22 -103.227.76.0/22 -103.227.80.0/22 -103.227.100.0/22 -103.227.120.0/22 -103.227.132.0/22 -103.227.136.0/22 -103.227.196.0/22 -103.227.204.0/22 -103.227.212.0/22 -103.227.228.0/22 -103.228.12.0/22 -103.228.88.0/22 -103.228.128.0/22 -103.228.136.0/22 -103.228.160.0/22 -103.228.176.0/22 -103.228.204.0/22 -103.228.208.0/22 -103.228.228.0/22 -103.228.232.0/22 -103.229.20.0/22 -103.229.60.0/22 -103.229.136.0/22 -103.229.148.0/22 -103.229.172.0/22 -103.229.212.0/22 -103.229.216.0/22 -103.229.220.0/22 -103.229.228.0/22 -103.229.236.0/22 -103.229.240.0/22 -103.230.0.0/22 -103.230.28.0/22 -103.230.44.0/22 -103.230.96.0/22 -103.230.196.0/22 -103.230.200.0/22 -103.230.204.0/22 -103.230.212.0/22 -103.230.236.0/22 -103.231.16.0/22 -103.231.20.0/22 -103.231.64.0/22 -103.231.68.0/22 -103.231.144.0/22 -103.231.180.0/22 -103.231.184.0/22 -103.231.244.0/22 -103.232.4.0/22 -103.232.144.0/22 -103.232.188.0/22 -103.232.212.0/22 -103.233.4.0/22 -103.233.44.0/22 -103.233.52.0/22 -103.233.104.0/22 -103.233.128.0/22 -103.233.136.0/22 -103.233.228.0/22 -103.234.0.0/22 -103.234.20.0/22 -103.234.56.0/22 -103.234.128.0/22 -103.234.172.0/22 -103.234.180.0/22 -103.234.244.0/22 -103.235.16.0/22 -103.235.48.0/22 -103.235.56.0/22 -103.235.60.0/22 -103.235.80.0/22 -103.235.84.0/22 -103.235.128.0/22 -103.235.132.0/22 -103.235.136.0/22 -103.235.140.0/22 -103.235.144.0/22 -103.235.148.0/22 -103.235.184.0/22 -103.235.192.0/22 -103.235.200.0/22 -103.235.220.0/22 -103.235.224.0/22 -103.235.228.0/22 -103.235.232.0/22 -103.235.236.0/22 -103.235.240.0/22 -103.235.244.0/22 -103.235.248.0/22 -103.235.252.0/22 -103.236.0.0/22 -103.236.4.0/22 -103.236.8.0/22 -103.236.12.0/22 -103.236.16.0/22 -103.236.20.0/22 -103.236.24.0/22 -103.236.28.0/22 -103.236.32.0/22 -103.236.36.0/22 -103.236.40.0/22 -103.236.44.0/22 -103.236.48.0/22 -103.236.52.0/22 -103.236.56.0/22 -103.236.60.0/22 -103.236.64.0/22 -103.236.68.0/22 -103.236.72.0/22 -103.236.76.0/22 -103.236.80.0/22 -103.236.84.0/22 -103.236.88.0/22 -103.236.92.0/22 -103.236.96.0/22 -103.236.120.0/22 -103.236.184.0/22 -103.236.220.0/22 -103.236.232.0/22 -103.236.240.0/22 -103.236.244.0/22 -103.236.248.0/22 -103.236.252.0/22 -103.237.0.0/22 -103.237.4.0/22 -103.237.8.0/22 -103.237.12.0/22 -103.237.24.0/22 -103.237.28.0/22 -103.237.68.0/22 -103.237.88.0/22 -103.237.152.0/22 -103.237.176.0/22 -103.237.180.0/22 -103.237.184.0/22 -103.237.188.0/22 -103.237.192.0/22 -103.237.196.0/22 -103.237.200.0/22 -103.237.204.0/22 -103.237.208.0/22 -103.237.212.0/22 -103.237.216.0/22 -103.237.220.0/22 -103.237.224.0/22 -103.237.228.0/22 -103.237.232.0/22 -103.237.236.0/22 -103.237.240.0/22 -103.237.244.0/22 -103.237.248.0/22 -103.237.252.0/22 -103.238.0.0/22 -103.238.4.0/22 -103.238.16.0/22 -103.238.20.0/22 -103.238.24.0/22 -103.238.28.0/22 -103.238.32.0/22 -103.238.36.0/22 -103.238.40.0/22 -103.238.44.0/22 -103.238.48.0/22 -103.238.52.0/22 -103.238.56.0/22 -103.238.88.0/22 -103.238.92.0/22 -103.238.96.0/22 -103.238.132.0/22 -103.238.140.0/22 -103.238.144.0/22 -103.238.160.0/22 -103.238.164.0/22 -103.238.168.0/22 -103.238.172.0/22 -103.238.176.0/22 -103.238.180.0/22 -103.238.184.0/22 -103.238.188.0/22 -103.238.196.0/22 -103.238.204.0/22 -103.238.252.0/22 -103.239.0.0/22 -103.239.44.0/22 -103.239.68.0/22 -103.239.96.0/22 -103.239.152.0/22 -103.239.156.0/22 -103.239.176.0/22 -103.239.180.0/22 -103.239.184.0/22 -103.239.192.0/22 -103.239.196.0/22 -103.239.204.0/22 -103.239.208.0/22 -103.239.224.0/22 -103.239.244.0/22 -103.240.16.0/22 -103.240.36.0/22 -103.240.72.0/22 -103.240.84.0/22 -103.240.124.0/22 -103.240.156.0/22 -103.240.172.0/22 -103.240.188.0/22 -103.240.244.0/22 -103.241.12.0/22 -103.241.72.0/22 -103.241.92.0/22 -103.241.96.0/22 -103.241.160.0/22 -103.241.184.0/22 -103.241.188.0/22 -103.241.220.0/22 -103.242.64.0/22 -103.242.128.0/22 -103.242.132.0/22 -103.242.160.0/22 -103.242.168.0/22 -103.242.172.0/22 -103.242.176.0/22 -103.242.200.0/22 -103.242.212.0/22 -103.242.220.0/22 -103.242.240.0/22 -103.243.136.0/22 -103.243.252.0/22 -103.244.16.0/22 -103.244.58.0/23 -103.244.60.0/22 -103.244.64.0/22 -103.244.68.0/22 -103.244.72.0/22 -103.244.76.0/22 -103.244.80.0/22 -103.244.84.0/22 -103.244.116.0/22 -103.244.164.0/22 -103.244.232.0/22 -103.244.252.0/22 -103.245.23.0/24 -103.245.52.0/22 -103.245.60.0/22 -103.245.80.0/22 -103.245.124.0/22 -103.245.128.0/22 -103.246.8.0/22 -103.246.12.0/22 -103.246.120.0/22 -103.246.124.0/22 -103.246.132.0/22 -103.246.152.0/22 -103.246.156.0/22 -103.247.168.0/22 -103.247.172.0/22 -103.247.176.0/22 -103.247.200.0/22 -103.247.212.0/22 -103.248.0.0/23 -103.248.64.0/22 -103.248.100.0/22 -103.248.124.0/22 -103.248.152.0/22 -103.248.168.0/22 -103.248.192.0/22 -103.248.212.0/22 -103.248.220.0/22 -103.248.224.0/22 -103.249.8.0/22 -103.249.12.0/22 -103.249.52.0/22 -103.249.104.0/22 -103.249.128.0/22 -103.249.136.0/22 -103.249.144.0/22 -103.249.164.0/22 -103.249.168.0/22 -103.249.172.0/22 -103.249.176.0/22 -103.249.188.0/22 -103.249.192.0/22 -103.249.244.0/22 -103.249.252.0/22 -103.250.32.0/22 -103.250.104.0/22 -103.250.124.0/22 -103.250.180.0/22 -103.250.192.0/22 -103.250.216.0/22 -103.250.224.0/22 -103.250.236.0/22 -103.250.248.0/22 -103.250.252.0/22 -103.251.32.0/22 -103.251.84.0/22 -103.251.96.0/22 -103.251.124.0/22 -103.251.128.0/22 -103.251.160.0/22 -103.251.192.0/22 -103.251.204.0/22 -103.251.240.0/22 -103.252.28.0/22 -103.252.36.0/22 -103.252.64.0/22 -103.252.96.0/22 -103.252.104.0/22 -103.252.172.0/22 -103.252.204.0/22 -103.252.208.0/22 -103.252.232.0/22 -103.252.248.0/22 -103.253.4.0/22 -103.253.60.0/22 -103.253.204.0/22 -103.253.220.0/22 -103.253.224.0/22 -103.253.232.0/22 -103.254.8.0/22 -103.254.20.0/22 -103.254.64.0/22 -103.254.68.0/22 -103.254.72.0/22 -103.254.76.0/22 -103.254.112.0/22 -103.254.176.0/22 -103.254.188.0/22 -103.254.196.0/24 -103.254.220.0/22 -103.255.56.0/22 -103.255.68.0/22 -103.255.88.0/22 -103.255.92.0/22 -103.255.136.0/22 -103.255.140.0/22 -103.255.184.0/22 -103.255.200.0/22 -103.255.212.0/22 -103.255.228.0/22 -106.0.0.0/24 -106.0.2.0/23 -106.0.4.0/22 -106.0.8.0/21 -106.0.16.0/20 -106.0.44.0/22 -106.0.64.0/18 -106.2.0.0/15 -106.4.0.0/14 -106.8.0.0/15 -106.11.0.0/16 -106.12.0.0/14 -106.16.0.0/12 -106.32.0.0/12 -106.48.0.0/15 -106.50.0.0/16 -106.52.0.0/14 -106.56.0.0/13 -106.74.0.0/16 -106.75.0.0/16 -106.80.0.0/12 -106.108.0.0/14 -106.112.0.0/13 -106.120.0.0/13 -106.224.0.0/12 -109.244.0.0/16 -110.6.0.0/15 -110.16.0.0/14 -110.34.40.0/22 -110.34.44.0/22 -110.40.0.0/14 -110.44.12.0/22 -110.44.144.0/20 -110.48.0.0/16 -110.51.0.0/16 -110.52.0.0/15 -110.56.0.0/13 -110.64.0.0/15 -110.72.0.0/15 -110.75.0.0/17 -110.75.128.0/19 -110.75.160.0/19 -110.75.192.0/18 -110.76.0.0/19 -110.76.32.0/19 -110.76.132.0/22 -110.76.156.0/22 -110.76.184.0/22 -110.76.192.0/18 -110.77.0.0/17 -110.80.0.0/13 -110.88.0.0/14 -110.92.68.0/22 -110.93.32.0/19 -110.94.0.0/15 -110.96.0.0/11 -110.152.0.0/14 -110.156.0.0/15 -110.165.32.0/19 -110.166.0.0/15 -110.172.192.0/18 -110.173.0.0/19 -110.173.32.0/20 -110.173.64.0/19 -110.173.96.0/19 -110.173.192.0/19 -110.176.0.0/13 -110.184.0.0/13 -110.192.0.0/11 -110.228.0.0/14 -110.232.32.0/19 -110.236.0.0/15 -110.240.0.0/12 -111.0.0.0/10 -111.66.0.0/16 -111.67.192.0/20 -111.68.64.0/19 -111.72.0.0/13 -111.85.0.0/16 -111.91.192.0/19 -111.92.248.0/22 -111.92.252.0/22 -111.112.0.0/15 -111.114.0.0/15 -111.116.0.0/15 -111.118.200.0/21 -111.119.64.0/18 -111.119.128.0/19 -111.120.0.0/14 -111.124.0.0/16 -111.126.0.0/15 -111.128.0.0/11 -111.160.0.0/13 -111.170.0.0/16 -111.172.0.0/14 -111.176.0.0/13 -111.186.0.0/15 -111.192.0.0/12 -111.208.0.0/14 -111.212.0.0/14 -111.221.28.0/24 -111.221.128.0/17 -111.222.0.0/16 -111.223.4.0/22 -111.223.8.0/22 -111.223.12.0/22 -111.223.16.0/22 -111.223.240.0/22 -111.223.248.0/22 -111.224.0.0/14 -111.228.0.0/14 -111.235.96.0/19 -111.235.156.0/22 -111.235.160.0/19 -112.0.0.0/10 -112.64.0.0/15 -112.66.0.0/15 -112.73.0.0/16 -112.74.0.0/15 -112.80.0.0/13 -112.88.0.0/13 -112.96.0.0/15 -112.98.0.0/15 -112.100.0.0/14 -112.109.128.0/17 -112.111.0.0/16 -112.112.0.0/14 -112.116.0.0/15 -112.122.0.0/15 -112.124.0.0/14 -112.128.0.0/14 -112.132.0.0/16 -112.137.48.0/21 -112.192.0.0/14 -112.224.0.0/11 -113.0.0.0/13 -113.8.0.0/15 -113.11.192.0/19 -113.12.0.0/14 -113.16.0.0/15 -113.18.0.0/16 -113.21.232.0/22 -113.21.236.0/22 -113.24.0.0/14 -113.31.0.0/16 -113.44.0.0/14 -113.48.0.0/14 -113.52.160.0/19 -113.52.228.0/22 -113.54.0.0/15 -113.56.0.0/15 -113.58.0.0/16 -113.59.0.0/17 -113.59.224.0/22 -113.62.0.0/15 -113.64.0.0/11 -113.96.0.0/12 -113.112.0.0/13 -113.120.0.0/13 -113.128.0.0/15 -113.130.96.0/20 -113.130.112.0/21 -113.132.0.0/14 -113.136.0.0/13 -113.194.0.0/15 -113.197.100.0/22 -113.200.0.0/15 -113.202.0.0/16 -113.204.0.0/14 -113.208.96.0/19 -113.208.128.0/17 -113.209.0.0/16 -113.212.0.0/18 -113.212.88.0/22 -113.212.100.0/22 -113.212.184.0/21 -113.213.0.0/17 -113.214.0.0/15 -113.218.0.0/15 -113.220.0.0/14 -113.224.0.0/12 -113.240.0.0/13 -113.248.0.0/14 -114.28.0.0/16 -114.31.64.0/22 -114.31.68.0/22 -114.54.0.0/15 -114.60.0.0/14 -114.64.0.0/14 -114.68.0.0/16 -114.79.64.0/18 -114.80.0.0/12 -114.96.0.0/13 -114.104.0.0/14 -114.110.0.0/20 -114.110.64.0/18 -114.111.0.0/19 -114.111.160.0/19 -114.112.0.0/14 -114.116.0.0/16 -114.117.0.0/17 -114.117.128.0/17 -114.118.0.0/16 -114.119.0.0/17 -114.119.192.0/21 -114.119.200.0/22 -114.119.204.0/22 -114.119.208.0/20 -114.119.224.0/19 -114.132.0.0/16 -114.135.0.0/16 -114.138.0.0/15 -114.141.64.0/21 -114.141.80.0/22 -114.141.84.0/22 -114.141.128.0/18 -114.196.0.0/15 -114.198.248.0/21 -114.208.0.0/14 -114.212.0.0/15 -114.214.0.0/16 -114.215.0.0/16 -114.216.0.0/13 -114.224.0.0/12 -114.240.0.0/12 -115.24.0.0/14 -115.28.0.0/15 -115.31.64.0/22 -115.31.68.0/22 -115.31.72.0/22 -115.31.76.0/22 -115.32.0.0/14 -115.42.56.0/22 -115.44.0.0/15 -115.46.0.0/16 -115.47.0.0/16 -115.48.0.0/12 -115.69.64.0/20 -115.84.0.0/18 -115.84.192.0/19 -115.85.192.0/18 -115.100.0.0/14 -115.104.0.0/14 -115.120.0.0/14 -115.124.16.0/20 -115.148.0.0/14 -115.152.0.0/15 -115.154.0.0/15 -115.156.0.0/15 -115.158.0.0/16 -115.159.0.0/16 -115.166.64.0/19 -115.168.0.0/14 -115.172.0.0/14 -115.180.0.0/15 -115.182.0.0/16 -115.183.0.0/16 -115.187.0.0/22 -115.187.4.0/22 -115.187.8.0/22 -115.187.12.0/22 -115.190.0.0/15 -115.192.0.0/11 -115.224.0.0/12 -116.0.8.0/21 -116.0.24.0/21 -116.1.0.0/16 -116.2.0.0/15 -116.4.0.0/14 -116.8.0.0/14 -116.13.0.0/16 -116.16.0.0/12 -116.50.0.0/20 -116.52.0.0/14 -116.56.0.0/15 -116.58.128.0/20 -116.58.208.0/20 -116.60.0.0/14 -116.66.0.0/17 -116.66.176.0/22 -116.68.136.0/22 -116.68.140.0/22 -116.68.176.0/22 -116.68.180.0/22 -116.69.0.0/16 -116.70.0.0/17 -116.76.0.0/15 -116.78.0.0/15 -116.85.0.0/16 -116.89.144.0/20 -116.89.240.0/22 -116.90.80.0/20 -116.90.184.0/21 -116.95.0.0/16 -116.112.0.0/14 -116.116.0.0/15 -116.128.0.0/10 -116.192.0.0/16 -116.193.16.0/20 -116.193.32.0/19 -116.193.152.0/22 -116.193.164.0/22 -116.193.176.0/21 -116.194.0.0/15 -116.196.0.0/16 -116.197.160.0/22 -116.197.164.0/22 -116.198.0.0/16 -116.199.0.0/17 -116.199.128.0/19 -116.204.0.0/17 -116.204.132.0/22 -116.204.168.0/22 -116.204.216.0/22 -116.204.232.0/22 -116.204.236.0/22 -116.205.0.0/16 -116.206.92.0/22 -116.206.176.0/22 -116.207.0.0/16 -116.208.0.0/14 -116.212.160.0/20 -116.213.44.0/22 -116.213.64.0/18 -116.213.128.0/17 -116.214.32.0/19 -116.214.64.0/20 -116.214.128.0/17 -116.215.0.0/16 -116.216.0.0/14 -116.224.0.0/12 -116.242.0.0/15 -116.244.0.0/15 -116.246.0.0/15 -116.248.0.0/15 -116.251.64.0/18 -116.252.0.0/15 -116.254.104.0/22 -116.254.108.0/22 -116.254.128.0/17 -116.255.128.0/17 -117.8.0.0/13 -117.21.0.0/16 -117.22.0.0/15 -117.24.0.0/13 -117.32.0.0/13 -117.40.0.0/14 -117.44.0.0/15 -117.48.0.0/14 -117.53.48.0/20 -117.53.176.0/20 -117.57.0.0/16 -117.58.0.0/17 -117.59.0.0/16 -117.60.0.0/14 -117.64.0.0/13 -117.72.0.0/15 -117.74.64.0/20 -117.74.80.0/20 -117.74.128.0/17 -117.75.0.0/16 -117.76.0.0/14 -117.80.0.0/12 -117.100.0.0/15 -117.103.16.0/20 -117.103.40.0/21 -117.103.72.0/21 -117.103.128.0/20 -117.104.168.0/21 -117.106.0.0/15 -117.112.0.0/13 -117.120.64.0/18 -117.120.128.0/17 -117.121.0.0/17 -117.121.128.0/18 -117.121.192.0/21 -117.122.128.0/17 -117.124.0.0/14 -117.128.0.0/10 -118.24.0.0/15 -118.26.0.0/19 -118.26.32.0/22 -118.26.40.0/21 -118.26.48.0/21 -118.26.56.0/21 -118.26.64.0/19 -118.26.96.0/21 -118.26.112.0/21 -118.26.120.0/21 -118.26.128.0/17 -118.28.0.0/15 -118.30.0.0/16 -118.31.0.0/16 -118.64.0.0/15 -118.66.0.0/16 -118.67.112.0/20 -118.72.0.0/13 -118.80.0.0/15 -118.84.0.0/15 -118.88.32.0/19 -118.88.64.0/18 -118.88.128.0/17 -118.89.0.0/16 -118.91.240.0/20 -118.102.16.0/20 -118.102.32.0/21 -118.103.164.0/22 -118.103.168.0/22 -118.103.172.0/22 -118.103.176.0/22 -118.107.180.0/22 -118.112.0.0/13 -118.120.0.0/14 -118.124.0.0/15 -118.126.0.0/16 -118.127.128.0/19 -118.132.0.0/14 -118.144.0.0/14 -118.178.0.0/16 -118.180.0.0/14 -118.184.0.0/17 -118.184.128.0/17 -118.186.0.0/15 -118.188.0.0/16 -118.190.0.0/16 -118.191.0.0/21 -118.191.8.0/22 -118.191.12.0/24 -118.191.16.0/21 -118.191.64.0/20 -118.191.80.0/22 -118.191.128.0/19 -118.191.176.0/20 -118.191.192.0/20 -118.191.208.0/24 -118.191.216.0/22 -118.191.223.0/24 -118.191.224.0/24 -118.191.240.0/20 -118.192.0.0/16 -118.193.0.0/21 -118.193.8.0/21 -118.193.48.0/21 -118.193.96.0/19 -118.193.128.0/17 -118.194.0.0/17 -118.194.128.0/18 -118.194.192.0/19 -118.194.224.0/22 -118.194.240.0/21 -118.195.0.0/17 -118.195.128.0/17 -118.196.0.0/14 -118.202.0.0/15 -118.204.0.0/14 -118.212.0.0/16 -118.213.0.0/16 -118.215.192.0/18 -118.224.0.0/14 -118.228.0.0/15 -118.230.0.0/16 -118.239.0.0/16 -118.242.0.0/16 -118.244.0.0/14 -118.248.0.0/13 -119.0.0.0/15 -119.2.0.0/19 -119.2.128.0/17 -119.3.0.0/16 -119.4.0.0/14 -119.10.0.0/17 -119.15.136.0/21 -119.16.0.0/16 -119.18.192.0/20 -119.18.208.0/21 -119.18.224.0/20 -119.18.240.0/20 -119.19.0.0/16 -119.20.0.0/14 -119.27.64.0/18 -119.27.128.0/19 -119.27.160.0/19 -119.27.192.0/18 -119.28.0.0/15 -119.30.48.0/20 -119.31.192.0/19 -119.32.0.0/14 -119.36.0.0/16 -119.37.0.0/17 -119.37.128.0/18 -119.37.192.0/18 -119.38.0.0/17 -119.38.128.0/18 -119.38.192.0/20 -119.38.208.0/20 -119.38.224.0/19 -119.39.0.0/16 -119.40.0.0/18 -119.40.64.0/20 -119.40.128.0/17 -119.41.0.0/16 -119.42.0.0/19 -119.42.52.0/22 -119.42.128.0/21 -119.42.136.0/21 -119.42.224.0/19 -119.44.0.0/15 -119.48.0.0/13 -119.57.0.0/16 -119.58.0.0/16 -119.59.128.0/17 -119.60.0.0/16 -119.61.0.0/16 -119.62.0.0/16 -119.63.32.0/19 -119.75.208.0/20 -119.78.0.0/15 -119.80.0.0/16 -119.82.208.0/20 -119.84.0.0/14 -119.88.0.0/14 -119.96.0.0/13 -119.108.0.0/15 -119.112.0.0/13 -119.120.0.0/13 -119.128.0.0/12 -119.144.0.0/14 -119.148.160.0/20 -119.148.176.0/20 -119.151.192.0/18 -119.160.200.0/21 -119.161.120.0/22 -119.161.124.0/22 -119.161.128.0/17 -119.162.0.0/15 -119.164.0.0/14 -119.176.0.0/12 -119.232.0.0/15 -119.235.128.0/18 -119.248.0.0/14 -119.252.96.0/21 -119.252.240.0/20 -119.253.0.0/16 -119.254.0.0/15 -120.0.0.0/12 -120.24.0.0/14 -120.30.0.0/16 -120.31.0.0/16 -120.32.0.0/13 -120.40.0.0/14 -120.44.0.0/15 -120.46.0.0/16 -120.47.0.0/16 -120.48.0.0/15 -120.52.0.0/16 -120.53.0.0/16 -120.54.0.0/15 -120.64.0.0/14 -120.68.0.0/14 -120.72.32.0/19 -120.72.128.0/17 -120.76.0.0/14 -120.80.0.0/13 -120.88.8.0/21 -120.90.0.0/15 -120.92.0.0/16 -120.94.0.0/16 -120.95.0.0/16 -120.128.0.0/14 -120.132.0.0/17 -120.132.128.0/17 -120.133.0.0/16 -120.134.0.0/15 -120.136.16.0/22 -120.136.20.0/22 -120.136.128.0/18 -120.137.0.0/17 -120.143.128.0/19 -120.192.0.0/10 -121.0.8.0/21 -121.0.16.0/20 -121.4.0.0/15 -121.8.0.0/13 -121.16.0.0/13 -121.24.0.0/14 -121.28.0.0/15 -121.30.0.0/16 -121.31.0.0/16 -121.32.0.0/14 -121.36.0.0/16 -121.37.0.0/16 -121.38.0.0/15 -121.40.0.0/14 -121.46.0.0/18 -121.46.76.0/22 -121.46.128.0/17 -121.47.0.0/16 -121.48.0.0/15 -121.50.8.0/21 -121.51.0.0/16 -121.52.160.0/19 -121.52.208.0/20 -121.52.224.0/19 -121.54.176.0/21 -121.54.188.0/22 -121.55.0.0/18 -121.56.0.0/15 -121.58.0.0/17 -121.58.136.0/21 -121.58.144.0/20 -121.58.160.0/21 -121.59.0.0/16 -121.60.0.0/14 -121.68.0.0/14 -121.76.0.0/15 -121.79.128.0/18 -121.89.0.0/16 -121.100.128.0/17 -121.101.0.0/18 -121.101.208.0/20 -121.192.0.0/16 -121.193.0.0/16 -121.194.0.0/15 -121.196.0.0/14 -121.200.192.0/21 -121.201.0.0/16 -121.204.0.0/14 -121.224.0.0/12 -121.248.0.0/14 -121.255.0.0/16 -122.0.64.0/18 -122.0.128.0/17 -122.4.0.0/14 -122.8.0.0/16 -122.9.0.0/16 -122.10.128.0/22 -122.10.132.0/23 -122.10.136.0/23 -122.10.164.0/22 -122.10.168.0/21 -122.10.176.0/20 -122.10.192.0/22 -122.10.200.0/21 -122.10.208.0/21 -122.10.216.0/22 -122.10.228.0/22 -122.10.232.0/21 -122.10.240.0/22 -122.11.0.0/17 -122.12.0.0/16 -122.13.0.0/16 -122.14.0.0/17 -122.14.128.0/18 -122.14.192.0/18 -122.48.0.0/16 -122.49.0.0/18 -122.51.0.0/16 -122.64.0.0/11 -122.96.0.0/15 -122.102.0.0/20 -122.102.64.0/20 -122.102.80.0/20 -122.112.0.0/18 -122.112.64.0/18 -122.112.128.0/17 -122.113.0.0/16 -122.114.0.0/16 -122.115.0.0/17 -122.115.128.0/19 -122.115.160.0/19 -122.115.192.0/19 -122.115.224.0/19 -122.119.0.0/16 -122.128.100.0/22 -122.128.120.0/21 -122.136.0.0/13 -122.144.128.0/17 -122.152.192.0/18 -122.156.0.0/14 -122.188.0.0/14 -122.192.0.0/14 -122.198.0.0/16 -122.200.40.0/22 -122.200.44.0/22 -122.200.64.0/18 -122.201.48.0/20 -122.204.0.0/14 -122.224.0.0/12 -122.240.0.0/13 -122.248.24.0/21 -122.248.48.0/20 -122.255.64.0/21 -123.0.128.0/18 -123.4.0.0/14 -123.8.0.0/13 -123.49.128.0/17 -123.50.160.0/19 -123.52.0.0/14 -123.56.0.0/15 -123.58.0.0/20 -123.58.16.0/20 -123.58.32.0/19 -123.58.64.0/19 -123.58.96.0/19 -123.58.128.0/18 -123.58.224.0/20 -123.58.240.0/20 -123.59.0.0/16 -123.60.0.0/16 -123.61.0.0/16 -123.62.0.0/16 -123.64.0.0/11 -123.96.0.0/15 -123.98.0.0/17 -123.99.128.0/17 -123.100.0.0/19 -123.101.0.0/16 -123.103.0.0/17 -123.108.128.0/20 -123.108.208.0/20 -123.112.0.0/12 -123.128.0.0/13 -123.136.80.0/20 -123.137.0.0/16 -123.138.0.0/15 -123.144.0.0/14 -123.148.0.0/16 -123.149.0.0/16 -123.150.0.0/15 -123.152.0.0/13 -123.160.0.0/14 -123.164.0.0/14 -123.168.0.0/14 -123.172.0.0/15 -123.174.0.0/15 -123.176.60.0/22 -123.176.80.0/20 -123.177.0.0/16 -123.178.0.0/15 -123.180.0.0/14 -123.184.0.0/14 -123.188.0.0/14 -123.196.0.0/15 -123.199.128.0/17 -123.206.0.0/15 -123.232.0.0/14 -123.242.0.0/17 -123.242.192.0/22 -123.242.196.0/22 -123.244.0.0/14 -123.249.0.0/16 -123.253.108.0/22 -123.253.240.0/22 -123.254.96.0/22 -123.254.100.0/22 -124.6.64.0/18 -124.14.0.0/15 -124.16.0.0/15 -124.20.0.0/16 -124.21.0.0/20 -124.21.16.0/20 -124.21.32.0/19 -124.21.64.0/18 -124.21.128.0/17 -124.22.0.0/15 -124.28.192.0/18 -124.29.0.0/17 -124.31.0.0/16 -124.40.112.0/20 -124.40.128.0/18 -124.40.192.0/19 -124.40.240.0/22 -124.42.0.0/17 -124.42.128.0/17 -124.47.0.0/18 -124.64.0.0/15 -124.66.0.0/17 -124.67.0.0/16 -124.68.0.0/14 -124.72.0.0/16 -124.73.0.0/16 -124.74.0.0/15 -124.76.0.0/14 -124.88.0.0/16 -124.89.0.0/17 -124.89.128.0/17 -124.90.0.0/15 -124.92.0.0/14 -124.108.8.0/21 -124.108.40.0/21 -124.109.96.0/21 -124.112.0.0/15 -124.114.0.0/15 -124.116.0.0/16 -124.117.0.0/16 -124.118.0.0/15 -124.126.0.0/15 -124.128.0.0/13 -124.147.128.0/17 -124.150.137.0/24 -124.151.0.0/16 -124.152.0.0/16 -124.160.0.0/16 -124.161.0.0/16 -124.162.0.0/16 -124.163.0.0/16 -124.164.0.0/14 -124.172.0.0/15 -124.174.0.0/15 -124.192.0.0/15 -124.196.0.0/16 -124.200.0.0/13 -124.220.0.0/14 -124.224.0.0/16 -124.225.0.0/16 -124.226.0.0/15 -124.228.0.0/14 -124.232.0.0/15 -124.234.0.0/15 -124.236.0.0/14 -124.240.0.0/17 -124.240.128.0/18 -124.242.0.0/16 -124.243.192.0/18 -124.248.0.0/17 -124.249.0.0/16 -124.250.0.0/15 -124.254.0.0/18 -125.31.192.0/18 -125.32.0.0/16 -125.33.0.0/16 -125.34.0.0/16 -125.35.0.0/17 -125.35.128.0/17 -125.36.0.0/14 -125.40.0.0/13 -125.58.128.0/17 -125.61.128.0/17 -125.62.0.0/18 -125.64.0.0/13 -125.72.0.0/16 -125.73.0.0/16 -125.74.0.0/15 -125.76.0.0/17 -125.76.128.0/17 -125.77.0.0/16 -125.78.0.0/15 -125.80.0.0/13 -125.88.0.0/13 -125.96.0.0/15 -125.98.0.0/16 -125.104.0.0/13 -125.112.0.0/12 -125.169.0.0/16 -125.171.0.0/16 -125.208.0.0/18 -125.210.0.0/16 -125.211.0.0/16 -125.213.0.0/17 -125.214.96.0/19 -125.215.0.0/18 -125.216.0.0/15 -125.218.0.0/16 -125.219.0.0/16 -125.220.0.0/15 -125.222.0.0/15 -125.254.128.0/18 -125.254.192.0/18 -128.108.0.0/16 -129.28.0.0/16 -129.204.0.0/16 -129.211.0.0/16 -132.232.0.0/16 -134.175.0.0/16 -137.59.59.0/24 -137.59.88.0/22 -139.5.56.0/22 -139.5.60.0/22 -139.5.80.0/22 -139.5.92.0/22 -139.5.108.0/22 -139.5.128.0/22 -139.5.160.0/22 -139.5.192.0/22 -139.5.204.0/22 -139.5.208.0/22 -139.5.212.0/22 -139.5.244.0/22 -139.9.0.0/16 -139.129.0.0/16 -139.148.0.0/16 -139.155.0.0/16 -139.159.0.0/16 -139.170.0.0/16 -139.176.0.0/16 -139.183.0.0/16 -139.186.0.0/16 -139.189.0.0/16 -139.196.0.0/14 -139.200.0.0/13 -139.208.0.0/13 -139.217.0.0/16 -139.219.0.0/16 -139.220.0.0/15 -139.224.0.0/16 -139.226.0.0/15 -140.75.0.0/16 -140.143.0.0/16 -140.179.0.0/16 -140.205.0.0/16 -140.206.0.0/15 -140.210.0.0/16 -140.224.0.0/16 -140.237.0.0/16 -140.240.0.0/16 -140.243.0.0/16 -140.246.0.0/16 -140.249.0.0/16 -140.250.0.0/16 -140.255.0.0/16 -142.70.0.0/16 -142.86.0.0/16 -144.0.0.0/16 -144.7.0.0/16 -144.12.0.0/16 -144.48.8.0/22 -144.48.64.0/22 -144.48.88.0/22 -144.48.156.0/22 -144.48.180.0/22 -144.48.184.0/22 -144.48.204.0/22 -144.48.208.0/22 -144.48.212.0/22 -144.48.220.0/22 -144.48.252.0/22 -144.52.0.0/16 -144.123.0.0/16 -144.255.0.0/16 -146.56.192.0/18 -146.196.56.0/22 -146.196.68.0/22 -146.196.72.0/22 -146.196.92.0/22 -146.196.112.0/22 -146.196.116.0/22 -146.196.124.0/22 -148.70.0.0/16 -149.41.0.0/16 -150.0.0.0/16 -150.115.0.0/16 -150.121.0.0/16 -150.122.0.0/16 -150.129.136.0/22 -150.129.192.0/22 -150.129.216.0/22 -150.129.252.0/22 -150.138.0.0/15 -150.158.0.0/16 -150.223.0.0/16 -150.242.0.0/22 -150.242.4.0/22 -150.242.8.0/22 -150.242.28.0/22 -150.242.44.0/22 -150.242.48.0/22 -150.242.52.0/22 -150.242.56.0/22 -150.242.76.0/22 -150.242.80.0/22 -150.242.92.0/22 -150.242.96.0/22 -150.242.112.0/22 -150.242.116.0/22 -150.242.120.0/22 -150.242.152.0/22 -150.242.156.0/22 -150.242.160.0/22 -150.242.164.0/22 -150.242.168.0/22 -150.242.184.0/22 -150.242.188.0/22 -150.242.192.0/22 -150.242.212.0/22 -150.242.224.0/22 -150.242.232.0/22 -150.242.236.0/22 -150.242.240.0/22 -150.242.244.0/22 -150.242.248.0/22 -150.248.0.0/16 -150.255.0.0/16 -152.104.128.0/17 -152.136.0.0/16 -153.0.0.0/16 -153.3.0.0/16 -153.34.0.0/15 -153.36.0.0/15 -153.99.0.0/16 -153.101.0.0/16 -153.118.0.0/15 -154.8.128.0/17 -156.59.0.0/16 -157.0.0.0/16 -157.18.0.0/16 -157.61.0.0/16 -157.119.0.0/22 -157.119.8.0/22 -157.119.12.0/22 -157.119.16.0/22 -157.119.28.0/22 -157.119.132.0/22 -157.119.136.0/22 -157.119.140.0/22 -157.119.144.0/22 -157.119.148.0/22 -157.119.152.0/22 -157.119.156.0/22 -157.119.160.0/22 -157.119.164.0/22 -157.119.172.0/22 -157.119.192.0/22 -157.119.196.0/22 -157.119.240.0/22 -157.119.252.0/22 -157.122.0.0/16 -157.148.0.0/16 -157.156.0.0/16 -157.255.0.0/16 -158.79.0.0/16 -159.75.0.0/16 -159.226.0.0/16 -160.19.208.0/22 -160.19.212.0/22 -160.19.216.0/22 -160.20.48.0/22 -160.202.60.0/22 -160.202.148.0/22 -160.202.152.0/22 -160.202.168.0/22 -160.202.212.0/22 -160.202.216.0/22 -160.202.220.0/22 -160.202.224.0/22 -160.202.228.0/22 -160.202.232.0/22 -160.202.236.0/22 -160.202.240.0/22 -160.202.244.0/22 -160.202.248.0/22 -160.202.252.0/22 -160.238.64.0/22 -161.120.0.0/16 -161.189.0.0/16 -161.207.0.0/16 -162.14.0.0/16 -162.105.0.0/16 -163.0.0.0/16 -163.47.4.0/22 -163.53.0.0/22 -163.53.4.0/22 -163.53.8.0/22 -163.53.12.0/22 -163.53.36.0/22 -163.53.40.0/22 -163.53.44.0/22 -163.53.48.0/22 -163.53.52.0/22 -163.53.56.0/22 -163.53.60.0/22 -163.53.64.0/22 -163.53.88.0/22 -163.53.92.0/22 -163.53.96.0/22 -163.53.100.0/22 -163.53.104.0/22 -163.53.108.0/22 -163.53.112.0/22 -163.53.116.0/22 -163.53.120.0/22 -163.53.124.0/22 -163.53.128.0/22 -163.53.132.0/22 -163.53.136.0/22 -163.53.160.0/22 -163.53.164.0/22 -163.53.168.0/22 -163.53.172.0/22 -163.53.188.0/22 -163.53.220.0/22 -163.53.240.0/22 -163.125.0.0/16 -163.142.0.0/16 -163.177.0.0/16 -163.179.0.0/16 -163.204.0.0/16 -164.52.0.0/17 -166.111.0.0/16 -167.139.0.0/16 -167.189.0.0/16 -167.220.244.0/22 -168.160.0.0/16 -170.179.0.0/16 -171.8.0.0/13 -171.34.0.0/15 -171.36.0.0/14 -171.40.0.0/13 -171.80.0.0/14 -171.84.0.0/14 -171.88.0.0/13 -171.104.0.0/13 -171.112.0.0/14 -171.116.0.0/14 -171.120.0.0/13 -171.208.0.0/12 -172.81.192.0/18 -175.0.0.0/12 -175.16.0.0/13 -175.24.0.0/16 -175.25.0.0/16 -175.26.0.0/16 -175.27.0.0/16 -175.30.0.0/15 -175.42.0.0/15 -175.44.0.0/16 -175.46.0.0/15 -175.48.0.0/12 -175.64.0.0/11 -175.102.0.0/16 -175.106.128.0/17 -175.111.144.0/22 -175.111.148.0/22 -175.111.152.0/22 -175.111.156.0/22 -175.111.160.0/22 -175.111.164.0/22 -175.111.168.0/22 -175.111.172.0/22 -175.111.184.0/22 -175.146.0.0/15 -175.148.0.0/14 -175.152.0.0/14 -175.158.96.0/22 -175.160.0.0/12 -175.176.156.0/22 -175.176.176.0/22 -175.176.188.0/22 -175.176.192.0/22 -175.178.0.0/16 -175.184.128.0/18 -175.185.0.0/16 -175.186.0.0/15 -175.188.0.0/14 -180.76.0.0/16 -180.77.0.0/16 -180.78.0.0/15 -180.84.0.0/15 -180.86.0.0/16 -180.88.0.0/14 -180.94.56.0/21 -180.94.96.0/20 -180.94.120.0/22 -180.94.124.0/22 -180.95.128.0/17 -180.96.0.0/11 -180.129.128.0/17 -180.130.0.0/16 -180.136.0.0/13 -180.148.16.0/21 -180.148.152.0/21 -180.148.216.0/21 -180.148.224.0/19 -180.149.128.0/19 -180.149.236.0/22 -180.150.160.0/19 -180.152.0.0/13 -180.160.0.0/12 -180.178.112.0/22 -180.178.116.0/22 -180.178.192.0/18 -180.184.0.0/15 -180.186.0.0/16 -180.187.0.0/16 -180.188.0.0/17 -180.189.148.0/22 -180.200.252.0/22 -180.201.0.0/16 -180.202.0.0/15 -180.208.0.0/15 -180.210.212.0/22 -180.210.224.0/19 -180.212.0.0/15 -180.222.224.0/19 -180.223.0.0/16 -180.233.0.0/18 -180.233.64.0/19 -180.233.144.0/22 -180.235.64.0/19 -180.235.112.0/22 -182.16.144.0/22 -182.16.148.0/22 -182.16.192.0/19 -182.18.0.0/17 -182.23.184.0/21 -182.23.200.0/21 -182.32.0.0/12 -182.48.96.0/19 -182.49.0.0/16 -182.50.0.0/20 -182.50.112.0/20 -182.51.0.0/16 -182.54.0.0/17 -182.54.244.0/22 -182.61.0.0/16 -182.80.0.0/14 -182.84.0.0/14 -182.88.0.0/14 -182.92.0.0/16 -182.96.0.0/12 -182.112.0.0/12 -182.128.0.0/12 -182.144.0.0/13 -182.157.0.0/16 -182.160.64.0/19 -182.174.0.0/15 -182.200.0.0/13 -182.236.128.0/17 -182.237.24.0/22 -182.237.28.0/22 -182.238.0.0/16 -182.239.0.0/19 -182.240.0.0/13 -182.254.0.0/16 -182.255.32.0/22 -182.255.36.0/22 -182.255.60.0/22 -183.0.0.0/10 -183.64.0.0/13 -183.78.160.0/22 -183.78.164.0/22 -183.78.180.0/22 -183.81.172.0/22 -183.81.180.0/22 -183.84.0.0/15 -183.91.128.0/22 -183.91.136.0/21 -183.91.144.0/20 -183.92.0.0/14 -183.128.0.0/11 -183.160.0.0/13 -183.168.0.0/15 -183.170.0.0/16 -183.172.0.0/14 -183.182.0.0/19 -183.184.0.0/13 -183.192.0.0/10 -185.203.36.0/22 -188.131.128.0/17 -192.51.188.0/24 -192.55.46.0/24 -192.55.68.0/22 -192.102.204.0/23 -192.124.154.0/24 -192.140.128.0/22 -192.140.132.0/22 -192.140.136.0/22 -192.140.156.0/22 -192.140.160.0/22 -192.140.164.0/22 -192.140.168.0/22 -192.140.172.0/22 -192.140.176.0/22 -192.140.180.0/22 -192.140.184.0/22 -192.140.188.0/22 -192.140.192.0/22 -192.140.196.0/22 -192.140.200.0/22 -192.140.204.0/22 -192.140.208.0/22 -192.140.212.0/22 -192.144.128.0/17 -192.197.113.0/24 -193.112.0.0/16 -198.175.100.0/22 -199.212.57.0/24 -202.0.100.0/23 -202.0.122.0/23 -202.0.176.0/22 -202.3.128.0/23 -202.3.134.0/24 -202.4.128.0/19 -202.4.252.0/22 -202.5.208.0/22 -202.5.212.0/22 -202.5.216.0/22 -202.6.6.0/23 -202.6.66.0/23 -202.6.72.0/23 -202.6.87.0/24 -202.6.88.0/23 -202.6.92.0/23 -202.6.103.0/24 -202.6.108.0/24 -202.6.110.0/23 -202.6.114.0/24 -202.6.176.0/20 -202.8.0.0/24 -202.8.2.0/23 -202.8.4.0/23 -202.8.12.0/24 -202.8.24.0/24 -202.8.77.0/24 -202.8.120.0/22 -202.8.128.0/19 -202.8.192.0/20 -202.9.32.0/24 -202.9.34.0/23 -202.9.48.0/23 -202.9.51.0/24 -202.9.52.0/23 -202.9.54.0/24 -202.9.57.0/24 -202.9.58.0/23 -202.10.64.0/20 -202.10.112.0/22 -202.10.116.0/22 -202.10.120.0/22 -202.10.124.0/22 -202.12.1.0/24 -202.12.2.0/24 -202.12.17.0/24 -202.12.18.0/24 -202.12.19.0/24 -202.12.72.0/24 -202.12.84.0/23 -202.12.96.0/24 -202.12.98.0/23 -202.12.106.0/24 -202.12.111.0/24 -202.12.116.0/24 -202.14.64.0/23 -202.14.69.0/24 -202.14.73.0/24 -202.14.74.0/23 -202.14.76.0/24 -202.14.78.0/23 -202.14.88.0/24 -202.14.97.0/24 -202.14.104.0/23 -202.14.108.0/23 -202.14.111.0/24 -202.14.114.0/23 -202.14.118.0/23 -202.14.124.0/23 -202.14.127.0/24 -202.14.129.0/24 -202.14.135.0/24 -202.14.136.0/24 -202.14.149.0/24 -202.14.151.0/24 -202.14.157.0/24 -202.14.158.0/23 -202.14.169.0/24 -202.14.170.0/23 -202.14.172.0/22 -202.14.176.0/24 -202.14.184.0/23 -202.14.208.0/23 -202.14.213.0/24 -202.14.219.0/24 -202.14.220.0/24 -202.14.222.0/23 -202.14.225.0/24 -202.14.226.0/23 -202.14.231.0/24 -202.14.235.0/24 -202.14.236.0/23 -202.14.238.0/24 -202.14.239.0/24 -202.14.246.0/24 -202.14.251.0/24 -202.20.66.0/24 -202.20.79.0/24 -202.20.87.0/24 -202.20.88.0/23 -202.20.90.0/24 -202.20.94.0/23 -202.20.114.0/24 -202.20.117.0/24 -202.20.120.0/24 -202.20.125.0/24 -202.20.126.0/24 -202.20.127.0/24 -202.21.48.0/22 -202.21.52.0/22 -202.21.56.0/22 -202.21.60.0/22 -202.21.131.0/24 -202.21.132.0/24 -202.21.141.0/24 -202.21.142.0/24 -202.21.147.0/24 -202.21.148.0/24 -202.21.150.0/23 -202.21.152.0/23 -202.21.154.0/24 -202.21.156.0/24 -202.22.248.0/22 -202.22.252.0/22 -202.27.12.0/24 -202.27.14.0/24 -202.27.136.0/23 -202.36.226.0/24 -202.38.0.0/23 -202.38.2.0/23 -202.38.8.0/21 -202.38.48.0/20 -202.38.64.0/19 -202.38.96.0/19 -202.38.128.0/23 -202.38.130.0/23 -202.38.132.0/23 -202.38.134.0/24 -202.38.135.0/24 -202.38.136.0/23 -202.38.138.0/24 -202.38.140.0/23 -202.38.142.0/23 -202.38.146.0/23 -202.38.149.0/24 -202.38.150.0/23 -202.38.152.0/23 -202.38.154.0/23 -202.38.156.0/24 -202.38.158.0/23 -202.38.160.0/23 -202.38.164.0/22 -202.38.168.0/23 -202.38.170.0/24 -202.38.171.0/24 -202.38.176.0/23 -202.38.184.0/21 -202.38.192.0/18 -202.40.4.0/23 -202.40.7.0/24 -202.40.15.0/24 -202.40.135.0/24 -202.40.136.0/24 -202.40.140.0/24 -202.40.143.0/24 -202.40.144.0/23 -202.40.150.0/24 -202.40.155.0/24 -202.40.156.0/24 -202.40.158.0/23 -202.40.162.0/24 -202.41.8.0/23 -202.41.11.0/24 -202.41.12.0/23 -202.41.128.0/24 -202.41.130.0/23 -202.41.152.0/21 -202.41.192.0/24 -202.41.196.0/22 -202.41.200.0/22 -202.41.240.0/20 -202.43.76.0/22 -202.43.144.0/20 -202.44.16.0/20 -202.44.48.0/22 -202.44.67.0/24 -202.44.74.0/24 -202.44.97.0/24 -202.44.129.0/24 -202.44.132.0/23 -202.44.146.0/23 -202.45.0.0/23 -202.45.2.0/24 -202.45.15.0/24 -202.45.16.0/20 -202.46.16.0/23 -202.46.18.0/24 -202.46.20.0/23 -202.46.32.0/19 -202.46.128.0/24 -202.46.224.0/20 -202.47.82.0/23 -202.47.96.0/22 -202.47.100.0/22 -202.47.104.0/22 -202.47.108.0/22 -202.47.126.0/24 -202.47.128.0/24 -202.47.130.0/23 -202.52.33.0/24 -202.52.34.0/24 -202.52.47.0/24 -202.52.143.0/24 -202.52.144.0/24 -202.53.140.0/24 -202.53.143.0/24 -202.57.192.0/22 -202.57.196.0/22 -202.57.200.0/22 -202.57.204.0/22 -202.57.212.0/22 -202.57.216.0/22 -202.57.240.0/20 -202.58.0.0/24 -202.58.101.0/24 -202.58.104.0/22 -202.58.112.0/22 -202.59.0.0/24 -202.59.1.0/24 -202.59.212.0/22 -202.59.236.0/24 -202.59.240.0/24 -202.60.48.0/21 -202.60.96.0/21 -202.60.112.0/20 -202.60.132.0/22 -202.60.136.0/21 -202.60.144.0/20 -202.61.68.0/22 -202.61.76.0/22 -202.61.88.0/22 -202.61.123.0/24 -202.61.127.0/24 -202.62.112.0/22 -202.62.248.0/22 -202.62.252.0/24 -202.62.255.0/24 -202.63.80.0/24 -202.63.81.0/24 -202.63.82.0/23 -202.63.84.0/22 -202.63.88.0/21 -202.63.160.0/19 -202.63.248.0/22 -202.63.253.0/24 -202.65.0.0/21 -202.65.8.0/23 -202.65.96.0/22 -202.65.100.0/22 -202.65.104.0/22 -202.65.108.0/22 -202.66.168.0/22 -202.67.0.0/22 -202.69.4.0/22 -202.69.16.0/20 -202.70.0.0/19 -202.70.96.0/20 -202.70.192.0/20 -202.71.32.0/22 -202.71.36.0/22 -202.71.40.0/22 -202.71.44.0/22 -202.72.40.0/21 -202.72.80.0/20 -202.72.112.0/22 -202.72.116.0/22 -202.72.120.0/22 -202.72.124.0/22 -202.73.128.0/22 -202.73.240.0/22 -202.73.244.0/22 -202.73.248.0/22 -202.73.252.0/22 -202.74.8.0/21 -202.74.36.0/24 -202.74.42.0/24 -202.74.52.0/24 -202.74.80.0/20 -202.74.232.0/22 -202.74.254.0/23 -202.75.208.0/20 -202.75.252.0/22 -202.76.252.0/22 -202.77.80.0/21 -202.77.92.0/22 -202.78.8.0/21 -202.79.224.0/21 -202.79.248.0/22 -202.80.192.0/21 -202.80.200.0/21 -202.81.0.0/22 -202.81.176.0/22 -202.81.180.0/22 -202.81.184.0/22 -202.81.188.0/22 -202.83.252.0/22 -202.84.0.0/22 -202.84.4.0/22 -202.84.8.0/21 -202.84.16.0/23 -202.84.22.0/24 -202.84.24.0/21 -202.85.208.0/20 -202.86.249.0/24 -202.86.252.0/22 -202.87.80.0/20 -202.88.32.0/22 -202.89.8.0/21 -202.89.96.0/22 -202.89.108.0/22 -202.89.119.0/24 -202.89.232.0/21 -202.90.0.0/22 -202.90.16.0/22 -202.90.20.0/22 -202.90.24.0/22 -202.90.28.0/22 -202.90.37.0/24 -202.90.96.0/22 -202.90.100.0/22 -202.90.104.0/22 -202.90.108.0/22 -202.90.112.0/20 -202.90.193.0/24 -202.90.196.0/24 -202.90.205.0/24 -202.90.224.0/20 -202.91.0.0/22 -202.91.36.0/22 -202.91.96.0/20 -202.91.128.0/22 -202.91.176.0/20 -202.91.224.0/19 -202.92.0.0/22 -202.92.8.0/21 -202.92.48.0/20 -202.92.252.0/22 -202.93.0.0/22 -202.93.252.0/22 -202.94.68.0/24 -202.94.74.0/24 -202.94.81.0/24 -202.94.92.0/22 -202.95.240.0/21 -202.95.252.0/22 -202.96.0.0/18 -202.96.64.0/21 -202.96.72.0/21 -202.96.80.0/20 -202.96.96.0/21 -202.96.104.0/21 -202.96.112.0/20 -202.96.128.0/21 -202.96.136.0/21 -202.96.144.0/20 -202.96.160.0/21 -202.96.168.0/21 -202.96.176.0/20 -202.96.192.0/21 -202.96.200.0/21 -202.96.208.0/20 -202.96.224.0/21 -202.96.232.0/21 -202.96.240.0/20 -202.97.0.0/21 -202.97.8.0/21 -202.97.16.0/20 -202.97.32.0/19 -202.97.64.0/19 -202.97.96.0/20 -202.97.112.0/20 -202.97.128.0/18 -202.97.192.0/19 -202.97.224.0/21 -202.97.232.0/21 -202.97.240.0/20 -202.98.0.0/21 -202.98.8.0/21 -202.98.16.0/20 -202.98.32.0/21 -202.98.40.0/21 -202.98.48.0/20 -202.98.64.0/19 -202.98.96.0/21 -202.98.104.0/21 -202.98.112.0/20 -202.98.128.0/19 -202.98.160.0/21 -202.98.168.0/21 -202.98.176.0/20 -202.98.192.0/21 -202.98.200.0/21 -202.98.208.0/20 -202.98.224.0/21 -202.98.232.0/21 -202.98.240.0/20 -202.99.0.0/18 -202.99.64.0/19 -202.99.96.0/21 -202.99.104.0/21 -202.99.112.0/20 -202.99.128.0/19 -202.99.160.0/21 -202.99.168.0/21 -202.99.176.0/20 -202.99.192.0/21 -202.99.200.0/21 -202.99.208.0/20 -202.99.224.0/21 -202.99.232.0/21 -202.99.240.0/20 -202.100.0.0/21 -202.100.8.0/21 -202.100.16.0/20 -202.100.32.0/19 -202.100.64.0/21 -202.100.72.0/21 -202.100.80.0/20 -202.100.96.0/21 -202.100.104.0/21 -202.100.112.0/20 -202.100.128.0/21 -202.100.136.0/21 -202.100.144.0/20 -202.100.160.0/21 -202.100.168.0/21 -202.100.176.0/20 -202.100.192.0/21 -202.100.200.0/21 -202.100.208.0/20 -202.100.224.0/19 -202.101.0.0/18 -202.101.64.0/19 -202.101.96.0/19 -202.101.128.0/18 -202.101.192.0/19 -202.101.224.0/21 -202.101.232.0/21 -202.101.240.0/20 -202.102.0.0/19 -202.102.32.0/19 -202.102.64.0/18 -202.102.128.0/21 -202.102.136.0/21 -202.102.144.0/20 -202.102.160.0/19 -202.102.192.0/21 -202.102.200.0/21 -202.102.208.0/20 -202.102.224.0/21 -202.102.232.0/21 -202.102.240.0/20 -202.103.0.0/21 -202.103.8.0/21 -202.103.16.0/20 -202.103.32.0/19 -202.103.64.0/19 -202.103.96.0/21 -202.103.104.0/21 -202.103.112.0/20 -202.103.128.0/18 -202.103.192.0/19 -202.103.224.0/21 -202.103.232.0/21 -202.103.240.0/20 -202.104.0.0/15 -202.106.0.0/16 -202.107.0.0/17 -202.107.128.0/17 -202.108.0.0/16 -202.109.0.0/16 -202.110.0.0/18 -202.110.64.0/18 -202.110.128.0/18 -202.110.192.0/18 -202.111.0.0/17 -202.111.128.0/19 -202.111.160.0/19 -202.111.192.0/18 -202.112.0.0/16 -202.113.0.0/20 -202.113.16.0/20 -202.113.32.0/19 -202.113.64.0/18 -202.113.128.0/18 -202.113.192.0/19 -202.113.224.0/20 -202.113.240.0/20 -202.114.0.0/19 -202.114.32.0/19 -202.114.64.0/18 -202.114.128.0/17 -202.115.0.0/19 -202.115.32.0/19 -202.115.64.0/18 -202.115.128.0/17 -202.116.0.0/19 -202.116.32.0/20 -202.116.48.0/20 -202.116.64.0/19 -202.116.96.0/19 -202.116.128.0/17 -202.117.0.0/18 -202.117.64.0/18 -202.117.128.0/17 -202.118.0.0/19 -202.118.32.0/19 -202.118.64.0/18 -202.118.128.0/17 -202.119.0.0/19 -202.119.32.0/19 -202.119.64.0/20 -202.119.80.0/20 -202.119.96.0/19 -202.119.128.0/17 -202.120.0.0/18 -202.120.64.0/18 -202.120.128.0/17 -202.121.0.0/16 -202.122.0.0/21 -202.122.32.0/21 -202.122.64.0/19 -202.122.112.0/21 -202.122.120.0/21 -202.122.128.0/24 -202.122.132.0/24 -202.123.96.0/20 -202.123.116.0/22 -202.123.120.0/22 -202.124.16.0/21 -202.124.24.0/22 -202.125.107.0/24 -202.125.109.0/24 -202.125.112.0/20 -202.125.176.0/20 -202.127.0.0/23 -202.127.2.0/24 -202.127.3.0/24 -202.127.4.0/24 -202.127.5.0/24 -202.127.6.0/23 -202.127.12.0/22 -202.127.16.0/20 -202.127.40.0/21 -202.127.48.0/20 -202.127.112.0/20 -202.127.128.0/20 -202.127.144.0/20 -202.127.160.0/21 -202.127.192.0/23 -202.127.194.0/23 -202.127.196.0/22 -202.127.200.0/21 -202.127.208.0/24 -202.127.209.0/24 -202.127.212.0/22 -202.127.216.0/21 -202.127.224.0/19 -202.129.208.0/24 -202.130.0.0/19 -202.130.39.0/24 -202.130.224.0/19 -202.131.16.0/21 -202.131.48.0/20 -202.131.208.0/20 -202.133.32.0/20 -202.134.58.0/24 -202.134.128.0/20 -202.134.208.0/22 -202.134.212.0/22 -202.134.216.0/22 -202.134.220.0/22 -202.136.48.0/20 -202.136.208.0/20 -202.136.224.0/20 -202.136.248.0/22 -202.137.231.0/24 -202.140.140.0/22 -202.140.144.0/22 -202.140.148.0/22 -202.140.152.0/22 -202.140.156.0/22 -202.141.160.0/19 -202.142.16.0/20 -202.143.4.0/22 -202.143.16.0/20 -202.143.32.0/20 -202.143.56.0/21 -202.143.100.0/22 -202.143.104.0/22 -202.144.196.0/22 -202.146.160.0/20 -202.146.186.0/24 -202.146.188.0/22 -202.146.196.0/22 -202.146.200.0/21 -202.147.144.0/20 -202.148.32.0/20 -202.148.64.0/19 -202.148.96.0/19 -202.149.32.0/19 -202.149.160.0/19 -202.149.224.0/19 -202.150.16.0/20 -202.150.32.0/20 -202.150.56.0/22 -202.150.192.0/20 -202.150.224.0/19 -202.151.0.0/22 -202.151.33.0/24 -202.151.128.0/19 -202.152.176.0/20 -202.153.0.0/22 -202.153.7.0/24 -202.153.48.0/20 -202.157.192.0/19 -202.158.160.0/19 -202.158.242.0/24 -202.160.140.0/22 -202.160.156.0/22 -202.160.176.0/20 -202.162.67.0/24 -202.162.75.0/24 -202.164.0.0/20 -202.164.96.0/19 -202.165.176.0/20 -202.165.208.0/20 -202.165.239.0/24 -202.165.240.0/23 -202.165.243.0/24 -202.165.245.0/24 -202.165.251.0/24 -202.165.252.0/22 -202.166.224.0/19 -202.168.80.0/22 -202.168.128.0/22 -202.168.132.0/22 -202.168.136.0/22 -202.168.140.0/22 -202.168.160.0/20 -202.168.176.0/20 -202.170.128.0/19 -202.170.216.0/21 -202.170.224.0/19 -202.171.216.0/21 -202.171.232.0/24 -202.171.235.0/24 -202.172.0.0/22 -202.172.7.0/24 -202.173.0.0/22 -202.173.6.0/24 -202.173.8.0/21 -202.173.112.0/22 -202.173.224.0/19 -202.174.64.0/20 -202.174.124.0/22 -202.176.224.0/19 -202.179.160.0/22 -202.179.164.0/22 -202.179.168.0/22 -202.179.172.0/22 -202.179.240.0/20 -202.180.128.0/19 -202.180.208.0/21 -202.181.8.0/22 -202.181.28.0/22 -202.181.112.0/20 -202.182.32.0/20 -202.182.192.0/19 -202.189.0.0/18 -202.189.80.0/20 -202.189.184.0/21 -202.191.0.0/24 -202.191.68.0/22 -202.191.72.0/21 -202.191.80.0/20 -202.192.0.0/13 -202.200.0.0/14 -202.204.0.0/14 -203.0.4.0/22 -203.0.10.0/23 -203.0.18.0/24 -203.0.24.0/24 -203.0.42.0/23 -203.0.45.0/24 -203.0.46.0/23 -203.0.81.0/24 -203.0.82.0/23 -203.0.90.0/23 -203.0.96.0/23 -203.0.104.0/21 -203.0.114.0/23 -203.0.122.0/24 -203.0.128.0/24 -203.0.130.0/23 -203.0.132.0/22 -203.0.137.0/24 -203.0.142.0/24 -203.0.144.0/24 -203.0.146.0/24 -203.0.148.0/24 -203.0.150.0/23 -203.0.152.0/24 -203.0.177.0/24 -203.0.224.0/24 -203.1.4.0/22 -203.1.18.0/24 -203.1.26.0/23 -203.1.65.0/24 -203.1.66.0/23 -203.1.70.0/23 -203.1.76.0/23 -203.1.90.0/24 -203.1.97.0/24 -203.1.98.0/23 -203.1.100.0/22 -203.1.108.0/24 -203.1.253.0/24 -203.1.254.0/24 -203.2.64.0/21 -203.2.73.0/24 -203.2.112.0/21 -203.2.126.0/23 -203.2.140.0/24 -203.2.150.0/24 -203.2.152.0/22 -203.2.156.0/23 -203.2.160.0/21 -203.2.180.0/23 -203.2.196.0/23 -203.2.209.0/24 -203.2.214.0/23 -203.2.226.0/23 -203.2.229.0/24 -203.2.236.0/23 -203.3.68.0/24 -203.3.72.0/23 -203.3.75.0/24 -203.3.80.0/21 -203.3.96.0/22 -203.3.105.0/24 -203.3.112.0/21 -203.3.120.0/24 -203.3.123.0/24 -203.3.135.0/24 -203.3.139.0/24 -203.3.143.0/24 -203.4.132.0/23 -203.4.134.0/24 -203.4.151.0/24 -203.4.152.0/22 -203.4.174.0/23 -203.4.180.0/24 -203.4.186.0/24 -203.4.205.0/24 -203.4.208.0/22 -203.4.227.0/24 -203.4.230.0/23 -203.5.4.0/23 -203.5.7.0/24 -203.5.8.0/23 -203.5.11.0/24 -203.5.21.0/24 -203.5.22.0/24 -203.5.44.0/24 -203.5.46.0/23 -203.5.52.0/22 -203.5.56.0/23 -203.5.60.0/23 -203.5.114.0/23 -203.5.118.0/24 -203.5.120.0/24 -203.5.172.0/24 -203.5.180.0/23 -203.5.182.0/24 -203.5.185.0/24 -203.5.186.0/24 -203.5.188.0/23 -203.5.190.0/24 -203.5.195.0/24 -203.5.214.0/23 -203.5.218.0/23 -203.6.131.0/24 -203.6.136.0/24 -203.6.138.0/23 -203.6.142.0/24 -203.6.150.0/23 -203.6.157.0/24 -203.6.159.0/24 -203.6.224.0/20 -203.6.248.0/23 -203.7.129.0/24 -203.7.138.0/23 -203.7.147.0/24 -203.7.150.0/23 -203.7.158.0/24 -203.7.192.0/23 -203.7.200.0/24 -203.8.0.0/24 -203.8.8.0/24 -203.8.23.0/24 -203.8.70.0/24 -203.8.82.0/24 -203.8.86.0/23 -203.8.91.0/24 -203.8.110.0/23 -203.8.115.0/24 -203.8.166.0/23 -203.8.169.0/24 -203.8.173.0/24 -203.8.184.0/24 -203.8.186.0/23 -203.8.190.0/23 -203.8.192.0/24 -203.8.197.0/24 -203.8.198.0/23 -203.8.203.0/24 -203.8.209.0/24 -203.8.210.0/23 -203.8.212.0/22 -203.8.217.0/24 -203.8.220.0/24 -203.9.32.0/24 -203.9.36.0/23 -203.9.57.0/24 -203.9.63.0/24 -203.9.65.0/24 -203.9.70.0/23 -203.9.72.0/24 -203.9.75.0/24 -203.9.76.0/23 -203.9.96.0/22 -203.9.100.0/23 -203.9.108.0/24 -203.9.158.0/24 -203.10.34.0/24 -203.10.56.0/24 -203.10.74.0/23 -203.10.84.0/22 -203.10.88.0/24 -203.10.95.0/24 -203.10.125.0/24 -203.11.70.0/24 -203.11.76.0/22 -203.11.82.0/24 -203.11.84.0/22 -203.11.100.0/22 -203.11.109.0/24 -203.11.117.0/24 -203.11.122.0/24 -203.11.126.0/24 -203.11.136.0/22 -203.11.141.0/24 -203.11.142.0/23 -203.11.180.0/22 -203.11.208.0/22 -203.12.16.0/24 -203.12.19.0/24 -203.12.24.0/24 -203.12.57.0/24 -203.12.65.0/24 -203.12.66.0/24 -203.12.70.0/23 -203.12.87.0/24 -203.12.100.0/23 -203.12.103.0/24 -203.12.114.0/24 -203.12.118.0/24 -203.12.130.0/24 -203.12.137.0/24 -203.12.196.0/22 -203.12.211.0/24 -203.12.219.0/24 -203.12.226.0/24 -203.12.240.0/22 -203.13.18.0/24 -203.13.24.0/24 -203.13.44.0/23 -203.13.88.0/23 -203.13.92.0/22 -203.13.173.0/24 -203.13.224.0/23 -203.13.227.0/24 -203.13.233.0/24 -203.14.24.0/22 -203.14.33.0/24 -203.14.56.0/24 -203.14.61.0/24 -203.14.62.0/24 -203.14.104.0/24 -203.14.114.0/23 -203.14.118.0/24 -203.14.162.0/24 -203.14.192.0/24 -203.14.194.0/23 -203.14.214.0/24 -203.14.231.0/24 -203.14.246.0/24 -203.15.0.0/20 -203.15.20.0/23 -203.15.22.0/24 -203.15.87.0/24 -203.15.88.0/23 -203.15.105.0/24 -203.15.112.0/21 -203.15.130.0/23 -203.15.149.0/24 -203.15.151.0/24 -203.15.156.0/22 -203.15.174.0/24 -203.15.227.0/24 -203.15.232.0/21 -203.15.240.0/23 -203.15.246.0/24 -203.16.10.0/24 -203.16.12.0/23 -203.16.16.0/21 -203.16.27.0/24 -203.16.38.0/24 -203.16.49.0/24 -203.16.50.0/23 -203.16.58.0/24 -203.16.63.0/24 -203.16.133.0/24 -203.16.161.0/24 -203.16.162.0/24 -203.16.186.0/23 -203.16.228.0/24 -203.16.238.0/24 -203.16.240.0/24 -203.16.245.0/24 -203.17.2.0/24 -203.17.18.0/24 -203.17.28.0/24 -203.17.39.0/24 -203.17.56.0/24 -203.17.74.0/23 -203.17.88.0/23 -203.17.136.0/24 -203.17.164.0/24 -203.17.187.0/24 -203.17.190.0/23 -203.17.231.0/24 -203.17.233.0/24 -203.17.248.0/24 -203.17.249.0/24 -203.17.255.0/24 -203.18.2.0/23 -203.18.4.0/24 -203.18.7.0/24 -203.18.31.0/24 -203.18.37.0/24 -203.18.48.0/23 -203.18.52.0/24 -203.18.72.0/22 -203.18.80.0/23 -203.18.87.0/24 -203.18.100.0/23 -203.18.105.0/24 -203.18.107.0/24 -203.18.110.0/24 -203.18.129.0/24 -203.18.131.0/24 -203.18.132.0/23 -203.18.144.0/24 -203.18.153.0/24 -203.18.199.0/24 -203.18.208.0/24 -203.18.211.0/24 -203.18.215.0/24 -203.19.1.0/24 -203.19.18.0/24 -203.19.24.0/24 -203.19.30.0/24 -203.19.32.0/21 -203.19.41.0/24 -203.19.44.0/23 -203.19.46.0/24 -203.19.58.0/24 -203.19.60.0/23 -203.19.64.0/24 -203.19.68.0/24 -203.19.72.0/24 -203.19.101.0/24 -203.19.111.0/24 -203.19.131.0/24 -203.19.133.0/24 -203.19.144.0/24 -203.19.147.0/24 -203.19.149.0/24 -203.19.156.0/24 -203.19.176.0/24 -203.19.178.0/23 -203.19.208.0/24 -203.19.228.0/22 -203.19.233.0/24 -203.19.242.0/24 -203.19.248.0/23 -203.19.255.0/24 -203.20.17.0/24 -203.20.40.0/23 -203.20.44.0/24 -203.20.48.0/24 -203.20.61.0/24 -203.20.65.0/24 -203.20.84.0/23 -203.20.89.0/24 -203.20.106.0/23 -203.20.115.0/24 -203.20.117.0/24 -203.20.118.0/23 -203.20.122.0/24 -203.20.126.0/23 -203.20.135.0/24 -203.20.136.0/21 -203.20.150.0/24 -203.20.230.0/24 -203.20.232.0/24 -203.20.236.0/24 -203.21.0.0/23 -203.21.2.0/24 -203.21.8.0/24 -203.21.10.0/24 -203.21.18.0/24 -203.21.33.0/24 -203.21.34.0/24 -203.21.41.0/24 -203.21.44.0/24 -203.21.68.0/24 -203.21.82.0/24 -203.21.96.0/22 -203.21.124.0/24 -203.21.136.0/23 -203.21.145.0/24 -203.21.206.0/24 -203.22.24.0/24 -203.22.28.0/23 -203.22.31.0/24 -203.22.68.0/24 -203.22.76.0/24 -203.22.78.0/24 -203.22.84.0/24 -203.22.87.0/24 -203.22.92.0/22 -203.22.99.0/24 -203.22.106.0/24 -203.22.122.0/23 -203.22.131.0/24 -203.22.163.0/24 -203.22.166.0/24 -203.22.170.0/24 -203.22.176.0/21 -203.22.194.0/24 -203.22.242.0/23 -203.22.245.0/24 -203.22.246.0/24 -203.22.252.0/23 -203.23.0.0/24 -203.23.47.0/24 -203.23.61.0/24 -203.23.62.0/23 -203.23.73.0/24 -203.23.85.0/24 -203.23.92.0/22 -203.23.98.0/24 -203.23.107.0/24 -203.23.112.0/24 -203.23.130.0/24 -203.23.140.0/23 -203.23.172.0/24 -203.23.182.0/24 -203.23.186.0/23 -203.23.192.0/24 -203.23.197.0/24 -203.23.198.0/24 -203.23.204.0/22 -203.23.224.0/24 -203.23.226.0/23 -203.23.228.0/22 -203.23.249.0/24 -203.23.251.0/24 -203.24.13.0/24 -203.24.18.0/24 -203.24.27.0/24 -203.24.43.0/24 -203.24.56.0/24 -203.24.58.0/24 -203.24.67.0/24 -203.24.74.0/24 -203.24.79.0/24 -203.24.80.0/23 -203.24.84.0/23 -203.24.86.0/24 -203.24.90.0/24 -203.24.111.0/24 -203.24.112.0/24 -203.24.116.0/24 -203.24.122.0/23 -203.24.145.0/24 -203.24.152.0/23 -203.24.157.0/24 -203.24.161.0/24 -203.24.167.0/24 -203.24.186.0/23 -203.24.199.0/24 -203.24.202.0/24 -203.24.212.0/23 -203.24.217.0/24 -203.24.219.0/24 -203.24.244.0/24 -203.25.19.0/24 -203.25.20.0/23 -203.25.46.0/24 -203.25.48.0/21 -203.25.64.0/23 -203.25.91.0/24 -203.25.99.0/24 -203.25.100.0/24 -203.25.106.0/24 -203.25.131.0/24 -203.25.135.0/24 -203.25.138.0/24 -203.25.147.0/24 -203.25.153.0/24 -203.25.154.0/23 -203.25.164.0/24 -203.25.166.0/24 -203.25.174.0/23 -203.25.180.0/24 -203.25.182.0/24 -203.25.191.0/24 -203.25.199.0/24 -203.25.200.0/24 -203.25.202.0/23 -203.25.208.0/20 -203.25.229.0/24 -203.25.235.0/24 -203.25.236.0/24 -203.25.242.0/24 -203.26.12.0/24 -203.26.34.0/24 -203.26.49.0/24 -203.26.50.0/24 -203.26.55.0/24 -203.26.56.0/23 -203.26.60.0/24 -203.26.65.0/24 -203.26.68.0/24 -203.26.76.0/24 -203.26.80.0/24 -203.26.84.0/24 -203.26.97.0/24 -203.26.102.0/23 -203.26.115.0/24 -203.26.116.0/24 -203.26.129.0/24 -203.26.143.0/24 -203.26.144.0/24 -203.26.148.0/23 -203.26.154.0/24 -203.26.158.0/23 -203.26.170.0/24 -203.26.173.0/24 -203.26.176.0/24 -203.26.185.0/24 -203.26.202.0/23 -203.26.210.0/24 -203.26.214.0/24 -203.26.222.0/24 -203.26.224.0/24 -203.26.228.0/24 -203.26.232.0/24 -203.27.0.0/24 -203.27.10.0/24 -203.27.15.0/24 -203.27.16.0/24 -203.27.20.0/24 -203.27.22.0/23 -203.27.40.0/24 -203.27.45.0/24 -203.27.53.0/24 -203.27.65.0/24 -203.27.66.0/24 -203.27.81.0/24 -203.27.88.0/24 -203.27.102.0/24 -203.27.109.0/24 -203.27.117.0/24 -203.27.121.0/24 -203.27.122.0/23 -203.27.125.0/24 -203.27.200.0/24 -203.27.202.0/24 -203.27.233.0/24 -203.27.241.0/24 -203.27.250.0/24 -203.28.10.0/24 -203.28.12.0/24 -203.28.33.0/24 -203.28.34.0/23 -203.28.43.0/24 -203.28.44.0/24 -203.28.54.0/24 -203.28.56.0/24 -203.28.73.0/24 -203.28.74.0/24 -203.28.76.0/24 -203.28.86.0/24 -203.28.88.0/24 -203.28.112.0/24 -203.28.131.0/24 -203.28.136.0/24 -203.28.140.0/24 -203.28.145.0/24 -203.28.165.0/24 -203.28.169.0/24 -203.28.170.0/24 -203.28.178.0/23 -203.28.185.0/24 -203.28.187.0/24 -203.28.196.0/24 -203.28.226.0/23 -203.28.239.0/24 -203.29.2.0/24 -203.29.8.0/23 -203.29.13.0/24 -203.29.14.0/24 -203.29.28.0/24 -203.29.46.0/24 -203.29.57.0/24 -203.29.61.0/24 -203.29.63.0/24 -203.29.69.0/24 -203.29.73.0/24 -203.29.81.0/24 -203.29.90.0/24 -203.29.95.0/24 -203.29.100.0/24 -203.29.103.0/24 -203.29.112.0/24 -203.29.120.0/22 -203.29.182.0/23 -203.29.187.0/24 -203.29.189.0/24 -203.29.190.0/24 -203.29.205.0/24 -203.29.210.0/24 -203.29.217.0/24 -203.29.227.0/24 -203.29.231.0/24 -203.29.233.0/24 -203.29.234.0/24 -203.29.248.0/24 -203.29.254.0/23 -203.30.16.0/23 -203.30.25.0/24 -203.30.27.0/24 -203.30.29.0/24 -203.30.66.0/24 -203.30.81.0/24 -203.30.87.0/24 -203.30.111.0/24 -203.30.121.0/24 -203.30.123.0/24 -203.30.152.0/24 -203.30.156.0/24 -203.30.162.0/24 -203.30.173.0/24 -203.30.175.0/24 -203.30.187.0/24 -203.30.194.0/24 -203.30.217.0/24 -203.30.220.0/24 -203.30.222.0/24 -203.30.232.0/23 -203.30.235.0/24 -203.30.240.0/23 -203.30.246.0/24 -203.30.250.0/23 -203.31.45.0/24 -203.31.46.0/24 -203.31.49.0/24 -203.31.51.0/24 -203.31.54.0/23 -203.31.69.0/24 -203.31.72.0/24 -203.31.80.0/24 -203.31.85.0/24 -203.31.97.0/24 -203.31.105.0/24 -203.31.106.0/24 -203.31.108.0/23 -203.31.124.0/24 -203.31.162.0/24 -203.31.174.0/24 -203.31.177.0/24 -203.31.181.0/24 -203.31.187.0/24 -203.31.189.0/24 -203.31.204.0/24 -203.31.220.0/24 -203.31.222.0/23 -203.31.225.0/24 -203.31.229.0/24 -203.31.248.0/23 -203.31.253.0/24 -203.32.20.0/24 -203.32.48.0/23 -203.32.56.0/24 -203.32.60.0/24 -203.32.62.0/24 -203.32.68.0/23 -203.32.76.0/24 -203.32.81.0/24 -203.32.84.0/23 -203.32.95.0/24 -203.32.102.0/24 -203.32.105.0/24 -203.32.130.0/24 -203.32.133.0/24 -203.32.140.0/24 -203.32.152.0/24 -203.32.186.0/23 -203.32.192.0/24 -203.32.196.0/24 -203.32.203.0/24 -203.32.204.0/23 -203.32.212.0/24 -203.33.4.0/24 -203.33.7.0/24 -203.33.8.0/21 -203.33.21.0/24 -203.33.26.0/24 -203.33.32.0/24 -203.33.63.0/24 -203.33.64.0/24 -203.33.67.0/24 -203.33.68.0/24 -203.33.73.0/24 -203.33.79.0/24 -203.33.100.0/24 -203.33.122.0/24 -203.33.129.0/24 -203.33.131.0/24 -203.33.145.0/24 -203.33.156.0/24 -203.33.158.0/23 -203.33.174.0/24 -203.33.185.0/24 -203.33.200.0/24 -203.33.202.0/23 -203.33.204.0/24 -203.33.206.0/23 -203.33.214.0/23 -203.33.224.0/23 -203.33.226.0/24 -203.33.233.0/24 -203.33.243.0/24 -203.33.250.0/24 -203.34.4.0/24 -203.34.21.0/24 -203.34.27.0/24 -203.34.39.0/24 -203.34.48.0/23 -203.34.54.0/24 -203.34.56.0/23 -203.34.67.0/24 -203.34.69.0/24 -203.34.76.0/24 -203.34.92.0/24 -203.34.106.0/24 -203.34.113.0/24 -203.34.147.0/24 -203.34.150.0/24 -203.34.152.0/23 -203.34.161.0/24 -203.34.162.0/24 -203.34.187.0/24 -203.34.192.0/21 -203.34.204.0/22 -203.34.232.0/24 -203.34.240.0/24 -203.34.242.0/24 -203.34.245.0/24 -203.34.251.0/24 -203.55.2.0/23 -203.55.4.0/24 -203.55.10.0/24 -203.55.13.0/24 -203.55.22.0/24 -203.55.30.0/24 -203.55.93.0/24 -203.55.101.0/24 -203.55.109.0/24 -203.55.110.0/24 -203.55.116.0/23 -203.55.119.0/24 -203.55.128.0/23 -203.55.146.0/23 -203.55.192.0/24 -203.55.196.0/24 -203.55.218.0/23 -203.55.221.0/24 -203.55.224.0/24 -203.56.1.0/24 -203.56.4.0/24 -203.56.12.0/24 -203.56.24.0/24 -203.56.38.0/24 -203.56.40.0/24 -203.56.46.0/24 -203.56.48.0/21 -203.56.68.0/23 -203.56.82.0/23 -203.56.84.0/23 -203.56.95.0/24 -203.56.110.0/24 -203.56.121.0/24 -203.56.161.0/24 -203.56.169.0/24 -203.56.172.0/23 -203.56.175.0/24 -203.56.183.0/24 -203.56.185.0/24 -203.56.187.0/24 -203.56.192.0/24 -203.56.198.0/24 -203.56.201.0/24 -203.56.208.0/23 -203.56.210.0/24 -203.56.214.0/24 -203.56.216.0/24 -203.56.227.0/24 -203.56.228.0/24 -203.56.231.0/24 -203.56.232.0/24 -203.56.240.0/24 -203.56.252.0/24 -203.56.254.0/24 -203.57.5.0/24 -203.57.6.0/24 -203.57.12.0/23 -203.57.28.0/24 -203.57.39.0/24 -203.57.46.0/24 -203.57.58.0/24 -203.57.61.0/24 -203.57.66.0/24 -203.57.69.0/24 -203.57.70.0/23 -203.57.73.0/24 -203.57.90.0/24 -203.57.101.0/24 -203.57.109.0/24 -203.57.123.0/24 -203.57.157.0/24 -203.57.200.0/24 -203.57.202.0/24 -203.57.206.0/24 -203.57.222.0/24 -203.57.224.0/20 -203.57.246.0/23 -203.57.249.0/24 -203.57.253.0/24 -203.57.254.0/23 -203.62.2.0/24 -203.62.131.0/24 -203.62.139.0/24 -203.62.161.0/24 -203.62.197.0/24 -203.62.228.0/22 -203.62.234.0/24 -203.62.246.0/24 -203.76.160.0/22 -203.76.168.0/22 -203.76.208.0/22 -203.76.212.0/22 -203.76.216.0/22 -203.76.240.0/22 -203.76.244.0/22 -203.77.180.0/22 -203.78.48.0/20 -203.78.156.0/22 -203.79.0.0/20 -203.79.32.0/20 -203.80.4.0/23 -203.80.32.0/20 -203.80.57.0/24 -203.80.129.0/24 -203.80.132.0/22 -203.80.136.0/21 -203.80.144.0/20 -203.81.0.0/21 -203.81.16.0/20 -203.81.244.0/22 -203.82.0.0/23 -203.82.16.0/21 -203.82.112.0/22 -203.82.116.0/22 -203.82.120.0/22 -203.82.124.0/22 -203.82.224.0/22 -203.82.228.0/22 -203.82.232.0/22 -203.82.236.0/22 -203.83.0.0/22 -203.83.8.0/22 -203.83.12.0/22 -203.83.56.0/21 -203.83.224.0/20 -203.86.0.0/19 -203.86.32.0/19 -203.86.64.0/20 -203.86.80.0/20 -203.86.96.0/19 -203.86.250.0/24 -203.86.254.0/23 -203.88.32.0/19 -203.88.100.0/22 -203.88.192.0/19 -203.89.0.0/22 -203.89.8.0/21 -203.89.100.0/22 -203.89.133.0/24 -203.89.136.0/22 -203.89.144.0/24 -203.90.0.0/22 -203.90.8.0/22 -203.90.12.0/22 -203.90.128.0/19 -203.90.160.0/19 -203.90.192.0/19 -203.91.32.0/19 -203.91.96.0/20 -203.91.120.0/21 -203.92.0.0/22 -203.92.6.0/24 -203.92.160.0/19 -203.93.0.0/22 -203.93.4.0/22 -203.93.8.0/24 -203.93.9.0/24 -203.93.10.0/23 -203.93.12.0/22 -203.93.16.0/20 -203.93.32.0/19 -203.93.64.0/18 -203.93.128.0/21 -203.93.136.0/22 -203.93.140.0/24 -203.93.141.0/24 -203.93.142.0/23 -203.93.144.0/20 -203.93.160.0/19 -203.93.192.0/18 -203.94.0.0/22 -203.94.4.0/22 -203.94.8.0/21 -203.94.16.0/20 -203.95.0.0/21 -203.95.96.0/20 -203.95.112.0/20 -203.95.128.0/18 -203.95.200.0/22 -203.95.204.0/22 -203.95.208.0/22 -203.95.224.0/19 -203.99.8.0/21 -203.99.16.0/20 -203.99.80.0/20 -203.100.32.0/20 -203.100.48.0/21 -203.100.58.0/24 -203.100.60.0/24 -203.100.63.0/24 -203.100.80.0/20 -203.100.96.0/19 -203.100.192.0/20 -203.104.32.0/20 -203.105.96.0/19 -203.105.128.0/19 -203.107.0.0/17 -203.110.160.0/19 -203.110.208.0/20 -203.110.232.0/23 -203.110.234.0/24 -203.114.80.0/22 -203.114.84.0/22 -203.114.88.0/22 -203.114.92.0/22 -203.114.244.0/22 -203.118.192.0/19 -203.118.241.0/24 -203.118.248.0/22 -203.119.24.0/21 -203.119.32.0/22 -203.119.80.0/22 -203.119.85.0/24 -203.119.113.0/24 -203.119.114.0/23 -203.119.116.0/22 -203.119.120.0/21 -203.119.128.0/17 -203.123.58.0/24 -203.128.32.0/19 -203.128.96.0/19 -203.128.224.0/21 -203.129.8.0/21 -203.130.32.0/19 -203.132.32.0/19 -203.134.240.0/21 -203.135.96.0/20 -203.135.112.0/20 -203.135.160.0/20 -203.142.219.0/24 -203.142.224.0/19 -203.144.96.0/19 -203.145.0.0/19 -203.148.0.0/18 -203.148.64.0/20 -203.148.80.0/22 -203.148.86.0/23 -203.149.92.0/22 -203.152.64.0/19 -203.152.128.0/19 -203.153.0.0/22 -203.156.192.0/18 -203.158.16.0/21 -203.160.52.0/22 -203.160.104.0/21 -203.160.129.0/24 -203.160.192.0/19 -203.161.0.0/22 -203.161.180.0/24 -203.161.183.0/24 -203.161.192.0/19 -203.166.160.0/19 -203.167.28.0/22 -203.168.0.0/19 -203.170.58.0/23 -203.171.0.0/22 -203.171.208.0/24 -203.171.224.0/20 -203.174.4.0/24 -203.174.6.0/24 -203.174.7.0/24 -203.174.96.0/19 -203.175.128.0/19 -203.175.192.0/18 -203.176.0.0/18 -203.176.64.0/19 -203.176.168.0/21 -203.184.80.0/20 -203.185.189.0/24 -203.187.160.0/19 -203.189.0.0/23 -203.189.6.0/23 -203.189.112.0/22 -203.189.192.0/19 -203.189.232.0/22 -203.189.240.0/22 -203.190.96.0/20 -203.190.249.0/24 -203.191.0.0/23 -203.191.2.0/24 -203.191.5.0/24 -203.191.7.0/24 -203.191.16.0/20 -203.191.64.0/18 -203.191.133.0/24 -203.191.144.0/21 -203.191.152.0/21 -203.192.0.0/19 -203.193.224.0/19 -203.194.120.0/21 -203.195.64.0/19 -203.195.112.0/21 -203.195.128.0/17 -203.196.0.0/21 -203.196.8.0/21 -203.196.28.0/22 -203.201.181.0/24 -203.201.182.0/24 -203.202.236.0/22 -203.205.64.0/19 -203.205.128.0/17 -203.207.64.0/20 -203.207.80.0/21 -203.207.88.0/22 -203.207.92.0/22 -203.207.96.0/20 -203.207.112.0/20 -203.207.128.0/18 -203.207.192.0/21 -203.207.200.0/21 -203.207.208.0/20 -203.207.224.0/19 -203.208.0.0/20 -203.208.16.0/22 -203.208.32.0/19 -203.209.224.0/19 -203.212.0.0/20 -203.212.80.0/20 -203.215.232.0/21 -203.217.164.0/22 -203.223.0.0/20 -203.223.16.0/21 -204.52.191.0/24 -210.2.0.0/20 -210.2.16.0/20 -210.5.0.0/19 -210.5.56.0/21 -210.5.128.0/20 -210.5.144.0/20 -210.7.56.0/22 -210.7.60.0/22 -210.12.0.0/18 -210.12.64.0/18 -210.12.128.0/18 -210.12.192.0/18 -210.13.0.0/18 -210.13.64.0/18 -210.13.128.0/17 -210.14.64.0/19 -210.14.112.0/20 -210.14.128.0/19 -210.14.160.0/19 -210.14.192.0/19 -210.14.224.0/19 -210.15.0.0/19 -210.15.32.0/19 -210.15.64.0/19 -210.15.96.0/19 -210.15.128.0/18 -210.16.104.0/22 -210.16.128.0/18 -210.21.0.0/17 -210.21.128.0/17 -210.22.0.0/16 -210.23.32.0/19 -210.25.0.0/16 -210.26.0.0/15 -210.28.0.0/14 -210.32.0.0/14 -210.36.0.0/14 -210.40.0.0/13 -210.51.0.0/16 -210.52.0.0/18 -210.52.64.0/18 -210.52.128.0/17 -210.53.0.0/17 -210.53.128.0/17 -210.56.192.0/19 -210.72.0.0/17 -210.72.128.0/19 -210.72.160.0/19 -210.72.192.0/18 -210.73.0.0/19 -210.73.32.0/19 -210.73.64.0/18 -210.73.128.0/17 -210.74.0.0/19 -210.74.32.0/19 -210.74.64.0/19 -210.74.96.0/19 -210.74.128.0/19 -210.74.160.0/19 -210.74.192.0/18 -210.75.0.0/16 -210.76.0.0/19 -210.76.32.0/19 -210.76.64.0/18 -210.76.128.0/17 -210.77.0.0/16 -210.78.0.0/19 -210.78.32.0/19 -210.78.64.0/18 -210.78.128.0/19 -210.78.160.0/19 -210.78.192.0/18 -210.79.64.0/18 -210.79.224.0/19 -210.82.0.0/15 -210.87.128.0/20 -210.87.144.0/20 -210.87.160.0/19 -210.185.192.0/18 -210.192.96.0/19 -211.64.0.0/14 -211.68.0.0/15 -211.70.0.0/15 -211.80.0.0/16 -211.81.0.0/16 -211.82.0.0/16 -211.83.0.0/16 -211.84.0.0/15 -211.86.0.0/15 -211.88.0.0/16 -211.89.0.0/16 -211.90.0.0/15 -211.92.0.0/15 -211.94.0.0/15 -211.96.0.0/15 -211.98.0.0/16 -211.99.0.0/18 -211.99.64.0/19 -211.99.96.0/19 -211.99.128.0/17 -211.100.0.0/16 -211.101.0.0/18 -211.101.64.0/18 -211.101.128.0/17 -211.102.0.0/16 -211.103.0.0/17 -211.103.128.0/17 -211.136.0.0/14 -211.140.0.0/15 -211.142.0.0/17 -211.142.128.0/17 -211.143.0.0/16 -211.144.0.0/15 -211.146.0.0/16 -211.147.0.0/16 -211.148.0.0/14 -211.152.0.0/15 -211.154.0.0/16 -211.155.0.0/18 -211.155.64.0/19 -211.155.96.0/19 -211.155.128.0/17 -211.156.0.0/14 -211.160.0.0/14 -211.164.0.0/14 -212.64.0.0/17 -212.129.128.0/17 -218.0.0.0/16 -218.1.0.0/16 -218.2.0.0/15 -218.4.0.0/15 -218.6.0.0/16 -218.7.0.0/16 -218.8.0.0/15 -218.10.0.0/16 -218.11.0.0/16 -218.12.0.0/16 -218.13.0.0/16 -218.14.0.0/15 -218.16.0.0/14 -218.20.0.0/16 -218.21.0.0/17 -218.21.128.0/17 -218.22.0.0/15 -218.24.0.0/15 -218.26.0.0/16 -218.27.0.0/16 -218.28.0.0/15 -218.30.0.0/15 -218.56.0.0/14 -218.60.0.0/15 -218.62.0.0/17 -218.62.128.0/17 -218.63.0.0/16 -218.64.0.0/15 -218.66.0.0/16 -218.67.0.0/17 -218.67.128.0/17 -218.68.0.0/15 -218.70.0.0/15 -218.72.0.0/14 -218.76.0.0/15 -218.78.0.0/15 -218.80.0.0/14 -218.84.0.0/14 -218.88.0.0/13 -218.96.0.0/15 -218.98.0.0/17 -218.98.128.0/18 -218.98.192.0/19 -218.98.224.0/19 -218.99.0.0/16 -218.100.88.0/21 -218.100.96.0/19 -218.100.128.0/17 -218.104.0.0/17 -218.104.128.0/19 -218.104.160.0/19 -218.104.192.0/21 -218.104.200.0/21 -218.104.208.0/20 -218.104.224.0/19 -218.105.0.0/16 -218.106.0.0/15 -218.108.0.0/16 -218.109.0.0/16 -218.185.192.0/19 -218.185.240.0/21 -218.192.0.0/16 -218.193.0.0/16 -218.194.0.0/16 -218.195.0.0/16 -218.196.0.0/14 -218.200.0.0/14 -218.204.0.0/15 -218.206.0.0/15 -218.240.0.0/14 -218.244.0.0/15 -218.246.0.0/15 -218.249.0.0/16 -219.72.0.0/16 -219.82.0.0/16 -219.83.128.0/17 -219.90.68.0/22 -219.90.72.0/22 -219.90.76.0/22 -219.128.0.0/12 -219.144.0.0/14 -219.148.0.0/16 -219.149.0.0/17 -219.149.128.0/18 -219.149.192.0/18 -219.150.0.0/19 -219.150.32.0/19 -219.150.64.0/19 -219.150.96.0/20 -219.150.112.0/20 -219.150.128.0/17 -219.151.0.0/19 -219.151.32.0/19 -219.151.64.0/18 -219.151.128.0/17 -219.152.0.0/15 -219.154.0.0/15 -219.156.0.0/15 -219.158.0.0/17 -219.158.128.0/17 -219.159.0.0/18 -219.159.64.0/18 -219.159.128.0/17 -219.216.0.0/15 -219.218.0.0/15 -219.220.0.0/16 -219.221.0.0/16 -219.222.0.0/15 -219.224.0.0/15 -219.226.0.0/16 -219.227.0.0/16 -219.228.0.0/15 -219.230.0.0/15 -219.232.0.0/14 -219.236.0.0/15 -219.238.0.0/15 -219.242.0.0/15 -219.244.0.0/14 -220.101.192.0/18 -220.112.0.0/14 -220.152.128.0/17 -220.154.0.0/15 -220.158.240.0/22 -220.160.0.0/11 -220.192.0.0/15 -220.194.0.0/15 -220.196.0.0/14 -220.200.0.0/13 -220.231.0.0/18 -220.231.128.0/17 -220.232.64.0/18 -220.234.0.0/16 -220.242.0.0/15 -220.247.136.0/21 -220.248.0.0/14 -220.252.0.0/16 -221.0.0.0/15 -221.2.0.0/16 -221.3.0.0/17 -221.3.128.0/17 -221.4.0.0/16 -221.5.0.0/17 -221.5.128.0/17 -221.6.0.0/16 -221.7.0.0/19 -221.7.32.0/19 -221.7.64.0/19 -221.7.96.0/19 -221.7.128.0/17 -221.8.0.0/15 -221.10.0.0/16 -221.11.0.0/17 -221.11.128.0/18 -221.11.192.0/19 -221.11.224.0/19 -221.12.0.0/17 -221.12.128.0/18 -221.13.0.0/18 -221.13.64.0/19 -221.13.96.0/19 -221.13.128.0/17 -221.14.0.0/15 -221.122.0.0/15 -221.128.128.0/17 -221.129.0.0/16 -221.130.0.0/15 -221.133.224.0/19 -221.136.0.0/16 -221.137.0.0/16 -221.172.0.0/14 -221.176.0.0/13 -221.192.0.0/15 -221.194.0.0/16 -221.195.0.0/16 -221.196.0.0/15 -221.198.0.0/16 -221.199.0.0/19 -221.199.32.0/20 -221.199.48.0/20 -221.199.64.0/18 -221.199.128.0/18 -221.199.192.0/20 -221.199.224.0/19 -221.200.0.0/14 -221.204.0.0/15 -221.206.0.0/16 -221.207.0.0/18 -221.207.64.0/18 -221.207.128.0/17 -221.208.0.0/14 -221.212.0.0/16 -221.213.0.0/16 -221.214.0.0/15 -221.216.0.0/13 -221.224.0.0/13 -221.232.0.0/14 -221.236.0.0/15 -221.238.0.0/16 -221.239.0.0/17 -221.239.128.0/17 -222.16.0.0/15 -222.18.0.0/15 -222.20.0.0/15 -222.22.0.0/16 -222.23.0.0/16 -222.24.0.0/15 -222.26.0.0/15 -222.28.0.0/14 -222.32.0.0/11 -222.64.0.0/13 -222.72.0.0/15 -222.74.0.0/16 -222.75.0.0/16 -222.76.0.0/14 -222.80.0.0/15 -222.82.0.0/16 -222.83.0.0/17 -222.83.128.0/17 -222.84.0.0/16 -222.85.0.0/17 -222.85.128.0/17 -222.86.0.0/15 -222.88.0.0/15 -222.90.0.0/15 -222.92.0.0/14 -222.125.0.0/16 -222.126.128.0/17 -222.128.0.0/14 -222.132.0.0/14 -222.136.0.0/13 -222.160.0.0/15 -222.162.0.0/16 -222.163.0.0/19 -222.163.32.0/19 -222.163.64.0/18 -222.163.128.0/17 -222.168.0.0/15 -222.170.0.0/15 -222.172.0.0/17 -222.172.128.0/17 -222.173.0.0/16 -222.174.0.0/15 -222.176.0.0/13 -222.184.0.0/13 -222.192.0.0/14 -222.196.0.0/15 -222.198.0.0/16 -222.199.0.0/16 -222.200.0.0/14 -222.204.0.0/15 -222.206.0.0/15 -222.208.0.0/13 -222.216.0.0/15 -222.218.0.0/16 -222.219.0.0/16 -222.220.0.0/15 -222.222.0.0/15 -222.240.0.0/13 -222.248.0.0/16 -222.249.0.0/17 -222.249.128.0/19 -222.249.160.0/20 -222.249.176.0/20 -222.249.192.0/18 -223.0.0.0/15 -223.2.0.0/15 -223.4.0.0/14 -223.8.0.0/13 -223.20.0.0/15 -223.27.184.0/22 -223.29.208.0/22 -223.29.252.0/22 -223.64.0.0/11 -223.96.0.0/12 -223.112.0.0/14 -223.116.0.0/15 -223.120.128.0/17 -223.121.128.0/17 -223.122.0.0/15 -223.124.0.0/14 -223.128.0.0/15 -223.144.0.0/12 -223.160.0.0/14 -223.166.0.0/15 -223.192.0.0/15 -223.198.0.0/15 -223.201.0.0/16 -223.202.0.0/15 -223.208.0.0/14 -223.212.0.0/15 -223.214.0.0/15 -223.220.0.0/15 -223.223.176.0/20 -223.223.192.0/20 -223.240.0.0/13 -223.248.0.0/14 -223.252.128.0/17 -223.254.0.0/16 -223.255.0.0/17 -223.255.236.0/22 -223.255.252.0/23 diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/custom_domain.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/custom_domain.list deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/custom_ip.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/custom_ip.list deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/disney_domain.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/disney_domain.list deleted file mode 100644 index 08a6f52dcd..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/disney_domain.list +++ /dev/null @@ -1,6 +0,0 @@ -cdn.registerdisney.go.com -disneyplus.com -disney-plus.net -dssott.com -bamgrid.com -execute-api.us-east-1.amazonaws.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/disney_ip.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/disney_ip.list deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw.list deleted file mode 100644 index b8772ba26e..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw.list +++ /dev/null @@ -1,53 +0,0 @@ -91smartyun.pt -adobe.com -amazonaws.com -ampproject.org -apple.news -aws.amazon.com -azureedge.net -backpackers.com.tw -bitfinex.com -buzzfeed.com -clockwise.ee -cloudfront.net -coindesk.com -coinsquare.io -cryptocompare.com -dropboxstatic.com -eurecom.fr -gdax.com -github.com -kknews.cc -nutaq.com -openairinterface.org -skype.com -sublimetext.com -textnow.com -textnow.me -trouter.io -uploaded.net -whatsapp.com -whatsapp.net -wsj.net -google.com -google.com.hk -gstatic.com -googleusercontent.com -googlepages.com -googlevideo.com -googlecode.com -googleapis.com -googlesource.com -googledrive.com -ggpht.com -youtube.com -youtu.be -ytimg.com -twitter.com -facebook.com -fastly.net -akamai.net -akamaiedge.net -akamaihd.net -edgesuite.net -edgekey.net \ No newline at end of file diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw_base.conf b/package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw_base.conf deleted file mode 100644 index c447881bd5..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw_base.conf +++ /dev/null @@ -1,5880 +0,0 @@ -ipset=/.h12.io/gfwlist -ipset=/.starlark.net/gfwlist -ipset=/.golang.org/gfwlist -ipset=/.honnef.co/gfwlist -ipset=/.0rz.tw/gfwlist -ipset=/.0to255.com/gfwlist -ipset=/.10musume.com/gfwlist -ipset=/.123rf.com/gfwlist -ipset=/.12bet.com/gfwlist -ipset=/.12vpn.com/gfwlist -ipset=/.141hongkong.com/gfwlist -ipset=/.173ng.com/gfwlist -ipset=/.1984bbs.com/gfwlist -ipset=/.1984bbs.org/gfwlist -ipset=/.1-apple.com.tw/gfwlist -ipset=/.1bao.org/gfwlist -ipset=/.1eew.com/gfwlist -ipset=/.1pondo.tv/gfwlist -ipset=/.2000fun.com/gfwlist -ipset=/.2008xianzhang.info/gfwlist -ipset=/.21andy.com/gfwlist -ipset=/.247realmedia.com/gfwlist -ipset=/.24smile.org/gfwlist -ipset=/.2-hand.info/gfwlist -ipset=/.2mdn.net/gfwlist -ipset=/.2shared.com/gfwlist -ipset=/.301works.org/gfwlist -ipset=/.315lz.com/gfwlist -ipset=/.32red.com/gfwlist -ipset=/.365singles.com.ar/gfwlist -ipset=/.36rain.com/gfwlist -ipset=/.4bluestones.biz/gfwlist -ipset=/.4chan.org/gfwlist -ipset=/.4pppc.gov.tw/gfwlist -ipset=/.4shared.com/gfwlist -ipset=/.4sq.com/gfwlist -ipset=/.51.ca/gfwlist -ipset=/.5i01.com/gfwlist -ipset=/.5maodang.com/gfwlist -ipset=/.64tianwang.com/gfwlist -ipset=/.64wiki.com/gfwlist -ipset=/.666kb.com/gfwlist -ipset=/.6park.com/gfwlist -ipset=/.7capture.com/gfwlist -ipset=/.881903.com/gfwlist -ipset=/.888.com/gfwlist -ipset=/.89-64.org/gfwlist -ipset=/.9001700.com/gfwlist -ipset=/.91porn.com/gfwlist -ipset=/.921.gov.tw/gfwlist -ipset=/.92ccav.com/gfwlist -ipset=/.9bis.com/gfwlist -ipset=/.9bis.net/gfwlist -ipset=/.9city.me/gfwlist -ipset=/.a5.com.ru/gfwlist -ipset=/.abc.pp.ru/gfwlist -ipset=/.abitno.linpie.com/gfwlist -ipset=/.ablwang.com/gfwlist -ipset=/.aboluowang.com/gfwlist -ipset=/.aboutgfw.com/gfwlist -ipset=/.acgkj.com/gfwlist -ipset=/.ac.jiruan.net/gfwlist -ipset=/.ac.playstation.net/gfwlist -ipset=/.actimes.com.au/gfwlist -ipset=/.aculo.us/gfwlist -ipset=/.ad1.nownews.com/gfwlist -ipset=/.addictedtocoffee.de/gfwlist -ipset=/.ads.backchina.com/gfwlist -ipset=/.adultfriendfinder.com/gfwlist -ipset=/.adultkeep.net/gfwlist -ipset=/.advanscene.com/gfwlist -ipset=/.advertfan.com/gfwlist -ipset=/.aec.gov.tw/gfwlist -ipset=/.aenhancers.com/gfwlist -ipset=/.af.mil/gfwlist -ipset=/.aftygh.gov.tw/gfwlist -ipset=/.aide.gov.tw/gfwlist -ipset=/.aiph.net/gfwlist -ipset=/.aisex.com/gfwlist -ipset=/.ait.org.tw/gfwlist -ipset=/.aiweiweiblog.com/gfwlist -ipset=/.aiweiwei.com/gfwlist -ipset=/.ajaxplorer.info/gfwlist -ipset=/.akamaihd.net/gfwlist -ipset=/.akiba-online.com/gfwlist -ipset=/.alabout.com/gfwlist -ipset=/.alasbarricadas.org/gfwlist -ipset=/.alexlur.org/gfwlist -ipset=/.aliengu.com/gfwlist -ipset=/.alkasir.com/gfwlist -ipset=/.allaboutalpha.com/gfwlist -ipset=/.allgirlsallowed.org/gfwlist -ipset=/.alliance.org.hk/gfwlist -ipset=/.allinfa.com/gfwlist -ipset=/.allinfo.com/gfwlist -ipset=/.allmovie.com/gfwlist -ipset=/.allonlinux.free.fr/gfwlist -ipset=/.all-that-is-interesting.com/gfwlist -ipset=/.al-qimmah.net/gfwlist -ipset=/.alternate-tools.com/gfwlist -ipset=/.altrec.com/gfwlist -ipset=/.alvinalexander.com/gfwlist -ipset=/.alwaysdata.com/gfwlist -ipset=/.alwaysdata.net/gfwlist -ipset=/.am730.com.hk/gfwlist -ipset=/.amazonaws.com/gfwlist -ipset=/.ameblo.jp/gfwlist -ipset=/.americangreencard.com/gfwlist -ipset=/.amiblockedornot.com/gfwlist -ipset=/.amnesty.org/gfwlist -ipset=/.amnestyusa.org/gfwlist -ipset=/.amoiist.com/gfwlist -ipset=/.amzs.me/gfwlist -ipset=/.analyze-v.com/gfwlist -ipset=/.anchorfree.com/gfwlist -ipset=/.andfaraway.net/gfwlist -ipset=/.android.com/gfwlist -ipset=/.angularjs.org/gfwlist -ipset=/.animecrazy.net/gfwlist -ipset=/.anobii.com/gfwlist -ipset=/.anontext.com/gfwlist -ipset=/.anonymizer.com/gfwlist -ipset=/.a-normal-day.com/gfwlist -ipset=/.answering-islam.org/gfwlist -ipset=/.anthonycalzadilla.com/gfwlist -ipset=/.anti.anti.cnn.googlepages.com/gfwlist -ipset=/.antidrm.hpg.ig.com.br/gfwlist -ipset=/.antiwave.net/gfwlist -ipset=/.aobo.com.au/gfwlist -ipset=/.aolchannels.aol.com/gfwlist -ipset=/.aomiwang.com/gfwlist -ipset=/.apetube.com/gfwlist -ipset=/.apiary.io/gfwlist -ipset=/.apidocs.linksalpha.com/gfwlist -ipset=/.apigee.com/gfwlist -ipset=/.api.linksalpha.com/gfwlist -ipset=/.api.proxlet.com/gfwlist -ipset=/.api.supertweet.net/gfwlist -ipset=/.app.heywire.com/gfwlist -ipset=/.app.hkatvnews.com/gfwlist -ipset=/.appledaily.com/gfwlist -ipset=/.appledaily.com.tw/gfwlist -ipset=/.apps.hloli.net/gfwlist -ipset=/.appspot.com/gfwlist -ipset=/.archive.is/gfwlist -ipset=/.archive.org/gfwlist -ipset=/.arctosia.com/gfwlist -ipset=/.areca-backup.org/gfwlist -ipset=/.army.mil/gfwlist -ipset=/.arte.gov.tw/gfwlist -ipset=/.art-or-porn.com/gfwlist -ipset=/.artsy.net/gfwlist -ipset=/.asahichinese.com/gfwlist -ipset=/.asdfg.jp/gfwlist -ipset=/.asiafriendfinder.com/gfwlist -ipset=/.asiaharvest.org/gfwlist -ipset=/.asianews.it/gfwlist -ipset=/.asianwomensfilm.de/gfwlist -ipset=/.askstudent.com/gfwlist -ipset=/.askynz.net/gfwlist -ipset=/.assembla.com/gfwlist -ipset=/.astonmartinnews.com/gfwlist -ipset=/.atchinese.com/gfwlist -ipset=/.atc.org.au/gfwlist -ipset=/.atgfw.org/gfwlist -ipset=/.atj.org.tw/gfwlist -ipset=/.atlaspost.com/gfwlist -ipset=/.atnext.com/gfwlist -ipset=/.autoproxy.org/gfwlist -ipset=/.avaaz.org/gfwlist -ipset=/.avdb.in/gfwlist -ipset=/.avidemux.org/gfwlist -ipset=/.avoision.com/gfwlist -ipset=/.awardwinningfjords.com/gfwlist -ipset=/.axureformac.com/gfwlist -ipset=/.babynet.com.hk/gfwlist -ipset=/.backchina.com/gfwlist -ipset=/.backpackers.com.tw/gfwlist -ipset=/.badassjs.com/gfwlist -ipset=/.badoo.com/gfwlist -ipset=/.baidu.jp/gfwlist -ipset=/.baixing.me/gfwlist -ipset=/.bannedbook.org/gfwlist -ipset=/.barnabu.co.uk/gfwlist -ipset=/.basetimesheightdividedby2.com/gfwlist -ipset=/.bayvoice.net/gfwlist -ipset=/.bbcchinese.com/gfwlist -ipset=/.bbc.com/gfwlist -ipset=/.bbc.co.uk/gfwlist -ipset=/.bbci.co.uk/gfwlist -ipset=/.bbcimg.co.uk/gfwlist -ipset=/.bbc.in/gfwlist -ipset=/.bbg.gov/gfwlist -ipset=/.bbs2.newsgroup.la/gfwlist -ipset=/.bbs.ecstart.com/gfwlist -ipset=/.bbsfeed.com/gfwlist -ipset=/.bbs.kimy.com.tw/gfwlist -ipset=/.bbsland.com/gfwlist -ipset=/.bbs.morbell.com/gfwlist -ipset=/.bbs.mychat.to/gfwlist -ipset=/.bbs.newsgroup.la/gfwlist -ipset=/.bbs.ozchinese.com/gfwlist -ipset=/.bbs.qmzdd.com/gfwlist -ipset=/.bbs.sina.com/gfwlist -ipset=/.bbs.skykiwi.com/gfwlist -ipset=/.bbs.tuitui.info/gfwlist -ipset=/.bb.ttv.com.tw/gfwlist -ipset=/.bcc.com.tw/gfwlist -ipset=/.bcchinese.net/gfwlist -ipset=/.bdhr.gov.tw/gfwlist -ipset=/.bd.zhe.la/gfwlist -ipset=/.bebo.com/gfwlist -ipset=/.beeg.com/gfwlist -ipset=/.beijing1989.com/gfwlist -ipset=/.beijingspring.com/gfwlist -ipset=/.benjaminste.in/gfwlist -ipset=/.berlintwitterwall.com/gfwlist -ipset=/.bestforchina.org/gfwlist -ipset=/.bestvpnservice.com/gfwlist -ipset=/.bet365.com/gfwlist -ipset=/.beta.iset.com.tw/gfwlist -ipset=/.beta.usejump.com/gfwlist -ipset=/.betfair.com/gfwlist -ipset=/.bettween.com/gfwlist -ipset=/.betvictor.com/gfwlist -ipset=/.bewww.net/gfwlist -ipset=/.beyondfirewall.com/gfwlist -ipset=/.bfnn.org/gfwlist -ipset=/.biantailajiao.com/gfwlist -ipset=/.biantailajiao.in/gfwlist -ipset=/.bigfools.com/gfwlist -ipset=/.bignews.org/gfwlist -ipset=/.bigsound.org/gfwlist -ipset=/.bill2-software.com/gfwlist -ipset=/.billywr.com/gfwlist -ipset=/.bill.zhong.pp.ru/gfwlist -ipset=/.bipic.net/gfwlist -ipset=/.bitcointalk.org/gfwlist -ipset=/.bit.ly/gfwlist -ipset=/.bitly.com/gfwlist -ipset=/.bitshare.com/gfwlist -ipset=/.bjzc.org/gfwlist -ipset=/.blinkx.com/gfwlist -ipset=/.blinw.com/gfwlist -ipset=/.blip.tv/gfwlist -ipset=/.blockcn.com/gfwlist -ipset=/.blog.birdhouseapp.com/gfwlist -ipset=/.blog.bitly.com/gfwlist -ipset=/.blogblog.com/gfwlist -ipset=/.blog.boxcar.io/gfwlist -ipset=/.blogcatalog.com/gfwlist -ipset=/.blog.davidziegler.net/gfwlist -ipset=/.blog.dayoneapp.com/gfwlist -ipset=/.blog.de/gfwlist -ipset=/.blog.dribbble.com/gfwlist -ipset=/.blog.exblog.co.jp/gfwlist -ipset=/.blog.expofutures.com/gfwlist -ipset=/.blog.fizzik.com/gfwlist -ipset=/.blog.foolsmountain.com/gfwlist -ipset=/.blogger.com/gfwlist -ipset=/.blog.gowalla.com/gfwlist -ipset=/.blog.hotpotato.com/gfwlist -ipset=/.blog.ifttt.com/gfwlist -ipset=/.blogimg.jp/gfwlist -ipset=/.blog.instagram.com/gfwlist -ipset=/.blog.instapaper.com/gfwlist -ipset=/.blog.iphone-dev.org/gfwlist -ipset=/.blog.istef.info/gfwlist -ipset=/.blog.jackjia.com/gfwlist -ipset=/.blog.joeyrobert.org/gfwlist -ipset=/.blog.kangye.org/gfwlist -ipset=/.blog.kickstarter.com/gfwlist -ipset=/.blog.kl.am/gfwlist -ipset=/.blog.klip.me/gfwlist -ipset=/.blog.lester850.info/gfwlist -ipset=/.blog.lightbox.com/gfwlist -ipset=/.bloglines.com/gfwlist -ipset=/.bloglovin.com/gfwlist -ipset=/.blog.mongodb.org/gfwlist -ipset=/.blog.openinkpot.org/gfwlist -ipset=/.blog.palm.com/gfwlist -ipset=/.blog.path.com/gfwlist -ipset=/.blog.pathtosharepoint.com/gfwlist -ipset=/.blog.pchome.com.tw/gfwlist -ipset=/.blog.pentalogic.net/gfwlist -ipset=/.blog.pikchur.com/gfwlist -ipset=/.blog.pilotmoon.com/gfwlist -ipset=/.blog.redren.com/gfwlist -ipset=/.blog.rockmelt.com/gfwlist -ipset=/.blog.romanandreg.com/gfwlist -ipset=/.blog.s135.com/gfwlist -ipset=/.blogs.icerocket.com/gfwlist -ipset=/.blog.sina.com.tw/gfwlist -ipset=/.blog.sogoo.org/gfwlist -ipset=/.blog.sparrowmailapp.com/gfwlist -ipset=/.blogspot.com/gfwlist -ipset=/.blogspot.co.uk/gfwlist -ipset=/.blogspot.de/gfwlist -ipset=/.blogspot.fr/gfwlist -ipset=/.blogspot.in/gfwlist -ipset=/.blogspot.jp/gfwlist -ipset=/.blogs.tampabay.com/gfwlist -ipset=/.blog.summify.com/gfwlist -ipset=/.blogs.yahoo.co.jp/gfwlist -ipset=/.blog.syx86.cn/gfwlist -ipset=/.blog.syx86.com/gfwlist -ipset=/.blog.taragana.com/gfwlist -ipset=/.blogtd.net/gfwlist -ipset=/.blogtd.org/gfwlist -ipset=/.blog.tiney.com/gfwlist -ipset=/.blog.topify.com/gfwlist -ipset=/.blog.usa.gov/gfwlist -ipset=/.blog.xuite.net/gfwlist -ipset=/.blog.youthwant.com.tw/gfwlist -ipset=/.blog.youxu.info/gfwlist -ipset=/.bloodshed.net/gfwlist -ipset=/.bloomberg.cn/gfwlist -ipset=/.bloomberg.com/gfwlist -ipset=/.bloomberg.de/gfwlist -ipset=/.bloomfortune.com/gfwlist -ipset=/.bmediaasia.com/gfwlist -ipset=/.bnrmetal.com/gfwlist -ipset=/.boardreader.com/gfwlist -ipset=/.bobulate.com/gfwlist -ipset=/.bolin.netfirms.com/gfwlist -ipset=/.bonbonme.com/gfwlist -ipset=/.bonjourlesgeeks.com/gfwlist -ipset=/.boobstagram.com/gfwlist -ipset=/.books.com.tw/gfwlist -ipset=/.bookshelfporn.com/gfwlist -ipset=/.botanwang.com/gfwlist -ipset=/.bot.nu/gfwlist -ipset=/.bowenpress.com/gfwlist -ipset=/.boxunblog.com/gfwlist -ipset=/.boxunclub.com/gfwlist -ipset=/.boxun.com/gfwlist -ipset=/.boxun.tv/gfwlist -ipset=/.bralio.com/gfwlist -ipset=/.branch.com/gfwlist -ipset=/.brandonhutchinson.com/gfwlist -ipset=/.braumeister.org/gfwlist -ipset=/.break.com/gfwlist -ipset=/.breakingtweets.com/gfwlist -ipset=/.briefdream.com/gfwlist -ipset=/.brightcove.com/gfwlist -ipset=/.brightkite.com/gfwlist -ipset=/.brizzly.com/gfwlist -ipset=/.broadbook.com/gfwlist -ipset=/.br.st/gfwlist -ipset=/.brucewang.net/gfwlist -ipset=/.bt95.com/gfwlist -ipset=/.btdigg.org/gfwlist -ipset=/.btrd.net/gfwlist -ipset=/.budaedu.org/gfwlist -ipset=/.bugclub.org/gfwlist -ipset=/.builtwithbootstrap.com/gfwlist -ipset=/.bullogger.com/gfwlist -ipset=/.bullog.org/gfwlist -ipset=/.businesstimes.com.cn/gfwlist -ipset=/.businessweek.com/gfwlist -ipset=/.buugaa.com/gfwlist -ipset=/.buy.yahoo.com.tw/gfwlist -ipset=/.buzzurl.jp/gfwlist -ipset=/.bwbx.io/gfwlist -ipset=/.bwsj.hk/gfwlist -ipset=/.bx.tl/gfwlist -ipset=/.c1522.mooo.com/gfwlist -ipset=/.cacnw.com/gfwlist -ipset=/.cactusvpn.com/gfwlist -ipset=/.cafepress.com/gfwlist -ipset=/.cahr.org.tw/gfwlist -ipset=/.calameo.com/gfwlist -ipset=/.calebelston.com/gfwlist -ipset=/.cams.com/gfwlist -ipset=/.cams.org.sg/gfwlist -ipset=/.canadameet.com/gfwlist -ipset=/.canyu.org/gfwlist -ipset=/.caobian.info/gfwlist -ipset=/.caochangqing.com/gfwlist -ipset=/.cao.im/gfwlist -ipset=/.cari.com.my/gfwlist -ipset=/.catch22.net/gfwlist -ipset=/.catfightpayperview.xxx/gfwlist -ipset=/.catholic.org.hk/gfwlist -ipset=/.catholic.org.tw/gfwlist -ipset=/.cbs.ntu.edu.tw/gfwlist -ipset=/.cc9007.spaces.live.com/gfwlist -ipset=/.ccavtop10.com/gfwlist -ipset=/.ccdtr.org/gfwlist -ipset=/.ccim.org/gfwlist -ipset=/.cclife.org/gfwlist -ipset=/.ccthere.com/gfwlist -ipset=/.cctongbao.com/gfwlist -ipset=/.ccue.ca/gfwlist -ipset=/.ccue.com/gfwlist -ipset=/.cdig.info/gfwlist -ipset=/.cdjp.org/gfwlist -ipset=/.cdnews.com.tw/gfwlist -ipset=/.cdn.printfriendly.com/gfwlist -ipset=/.cdp1998.org/gfwlist -ipset=/.cdp2006.org/gfwlist -ipset=/.cdp.sinica.edu.tw/gfwlist -ipset=/.cdpusa.org/gfwlist -ipset=/.cdpweb.org/gfwlist -ipset=/.cdpwu.org/gfwlist -ipset=/.cdw.com/gfwlist -ipset=/.cecc.gov/gfwlist -ipset=/.cellulo.info/gfwlist -ipset=/.cenci.tk/gfwlist -ipset=/.cenews.eu/gfwlist -ipset=/.centralnation.com/gfwlist -ipset=/.centurys.net/gfwlist -ipset=/.c-est-simple.com/gfwlist -ipset=/.cfhks.org.hk/gfwlist -ipset=/.cftfc.com/gfwlist -ipset=/.cgdepot.org/gfwlist -ipset=/.chandoo.org/gfwlist -ipset=/.change.org/gfwlist -ipset=/.changp.com/gfwlist -ipset=/.chaos.e-spacy.com/gfwlist -ipset=/.chapm25.com/gfwlist -ipset=/.chartbeat.net/gfwlist -ipset=/.chaturbate.com/gfwlist -ipset=/.chccc.gov.tw/gfwlist -ipset=/.chengmingmag.com/gfwlist -ipset=/.chenguangcheng.com/gfwlist -ipset=/.chenpokong.com/gfwlist -ipset=/.chenyehao.spaces.live.com/gfwlist -ipset=/.cherrysave.com/gfwlist -ipset=/.chevronwp7.com/gfwlist -ipset=/.chicagoncmtv.com/gfwlist -ipset=/.china101.com/gfwlist -ipset=/.china21.com/gfwlist -ipset=/.china21.org/gfwlist -ipset=/.china5000.us/gfwlist -ipset=/.chinaaffairs.org/gfwlist -ipset=/.chinaaid.me/gfwlist -ipset=/.chinaaid.net/gfwlist -ipset=/.chinaaid.org/gfwlist -ipset=/.chinaaid.us/gfwlist -ipset=/.chinachange.org/gfwlist -ipset=/.chinachannel.hk/gfwlist -ipset=/.chinacomments.org/gfwlist -ipset=/.chinadigitaltimes.net/gfwlist -ipset=/.chinaeweekly.com/gfwlist -ipset=/.chinafreepress.org/gfwlist -ipset=/.chinagate.com/gfwlist -ipset=/.chinageeks.org/gfwlist -ipset=/.chinagfw.org/gfwlist -ipset=/.chinagreenparty.org/gfwlist -ipset=/.china-green-party.spaces.live.com/gfwlist -ipset=/.chinahush.com/gfwlist -ipset=/.chinainperspective.com/gfwlist -ipset=/.chinainperspective.net/gfwlist -ipset=/.chinainperspective.org/gfwlist -ipset=/.chinainterimgov.org/gfwlist -ipset=/.chinalawandpolicy.com/gfwlist -ipset=/.chinalawtranslate.com/gfwlist -ipset=/.chinamule.com/gfwlist -ipset=/.chinamz.org/gfwlist -ipset=/.chinarightsia.org/gfwlist -ipset=/.chinasocialdemocraticparty.com/gfwlist -ipset=/.chinasoul.org/gfwlist -ipset=/.chinatimes.com/gfwlist -ipset=/.chinatweeps.com/gfwlist -ipset=/.chinaway.org/gfwlist -ipset=/.china-week.com/gfwlist -ipset=/.chinaworker.info/gfwlist -ipset=/.chinaxchina.com/gfwlist -ipset=/.chinayouth.org.hk/gfwlist -ipset=/.chinayuanmin.org/gfwlist -ipset=/.chinesedailynews.com/gfwlist -ipset=/.chinese.engadget.com/gfwlist -ipset=/.chinese-hermit.net/gfwlist -ipset=/.chinese-memorial.org/gfwlist -ipset=/.chinesen.de/gfwlist -ipset=/.chinesenewsnet.com/gfwlist -ipset=/.chinesepen.org/gfwlist -ipset=/.chinese.rnw.nl/gfwlist -ipset=/.chinese.soifind.com/gfwlist -ipset=/.chinesetalks.net/gfwlist -ipset=/.chinese.wsj.com/gfwlist -ipset=/.chingcheong.com/gfwlist -ipset=/.chn.chosun.com/gfwlist -ipset=/.chrispederick.com/gfwlist -ipset=/.chrispederick.net/gfwlist -ipset=/.christianstudy.com/gfwlist -ipset=/.christiantimes.org.hk/gfwlist -ipset=/.christusrex.org/gfwlist -ipset=/.chrlawyers.hk/gfwlist -ipset=/.chrlcg-hk.org/gfwlist -ipset=/.chromeadblock.com/gfwlist -ipset=/.chrome.com/gfwlist -ipset=/.ch.shvoong.com/gfwlist -ipset=/.chubun.com/gfwlist -ipset=/.chuizi.net/gfwlist -ipset=/.chukuang.gov.tw/gfwlist -ipset=/.circlethebayfortibet.org/gfwlist -ipset=/.citizenlab.org/gfwlist -ipset=/.citizensradio.org/gfwlist -ipset=/.city9x.com/gfwlist -ipset=/.civicparty.hk/gfwlist -ipset=/.civilhrfront.org/gfwlist -ipset=/.civilmedia.tw/gfwlist -ipset=/.cjb.net/gfwlist -ipset=/.ck101.com/gfwlist -ipset=/.classicalguitarblog.net/gfwlist -ipset=/.clb.org.hk/gfwlist -ipset=/.cl.d0z.net/gfwlist -ipset=/.clientsfromhell.net/gfwlist -ipset=/.clipfish.de/gfwlist -ipset=/.cl.ly/gfwlist -ipset=/.cloudfront.net/gfwlist -ipset=/.club.backchina.com/gfwlist -ipset=/.cms.gov/gfwlist -ipset=/.cmule.com/gfwlist -ipset=/.cn2.streetvoice.com/gfwlist -ipset=/.cna.com.tw/gfwlist -ipset=/.cnavista.com.tw/gfwlist -ipset=/.cn.calameo.com/gfwlist -ipset=/.cn.dayabook.com/gfwlist -ipset=/.cnd.org/gfwlist -ipset=/.cn.fmnnow.com/gfwlist -ipset=/.cn.ibtimes.com/gfwlist -ipset=/.cnn.com/gfwlist -ipset=/.cn.news.cnyes.com/gfwlist -ipset=/.cn.streetvoice.com/gfwlist -ipset=/.cn.uncyclopedia.wikia.com/gfwlist -ipset=/.cn.voa.mobi/gfwlist -ipset=/.cochina.org/gfwlist -ipset=/.cocoapods.org/gfwlist -ipset=/.cocoa.zonble.net/gfwlist -ipset=/.code1984.com/gfwlist -ipset=/.codeboxapp.com/gfwlist -ipset=/.codeshare.io/gfwlist -ipset=/.collateralmurder.com/gfwlist -ipset=/.collateralmurder.org/gfwlist -ipset=/.comefromchina.com/gfwlist -ipset=/.comnews.gio.gov.tw/gfwlist -ipset=/.compileheart.com/gfwlist -ipset=/.connectedchina.reuters.com/gfwlist -ipset=/.connect.facebook.net/gfwlist -ipset=/.conoyo.com/gfwlist -ipset=/.contactmagazine.net/gfwlist -ipset=/.contests.twilio.com/gfwlist -ipset=/.conviva.com/gfwlist -ipset=/.cookingtothegoodlife.com/gfwlist -ipset=/.coolaler.com/gfwlist -ipset=/.coolder.com/gfwlist -ipset=/.coolloud.org.tw/gfwlist -ipset=/.corpus4u.org/gfwlist -ipset=/.corumcollege.com/gfwlist -ipset=/.cotweet.com/gfwlist -ipset=/.couchdbwiki.com/gfwlist -ipset=/.coveringweb.com/gfwlist -ipset=/.cp-house.gov.tw/gfwlist -ipset=/.cpj.org/gfwlist -ipset=/.crackle.com/gfwlist -ipset=/.crd-net.org/gfwlist -ipset=/.creaders.net/gfwlist -ipset=/.cromotc.nat.gov.tw/gfwlist -ipset=/.crossthewall.net/gfwlist -ipset=/.csdparty.com/gfwlist -ipset=/.c-spanvideo.org/gfwlist -ipset=/.css.pixnet.in/gfwlist -ipset=/.csuchen.de/gfwlist -ipset=/.cts.com.tw/gfwlist -ipset=/.cubicle17.com/gfwlist -ipset=/.cuhkacs.org/gfwlist -ipset=/.cuihua.org/gfwlist -ipset=/.cuiweiping.net/gfwlist -ipset=/.culture.tw/gfwlist -ipset=/.curvefish.com/gfwlist -ipset=/.cwb.gov.tw/gfwlist -ipset=/.cyanogenmod.org/gfwlist -ipset=/.cyberghost.natado.com/gfwlist -ipset=/.cyberghostvpn.com/gfwlist -ipset=/.cycab.gov.tw/gfwlist -ipset=/.cydia.ifuckgfw.com/gfwlist -ipset=/.cynscribe.com/gfwlist -ipset=/.cytode.us/gfwlist -ipset=/.dabr.co.uk/gfwlist -ipset=/.dabr.me/gfwlist -ipset=/.dabr.mobi/gfwlist -ipset=/.dadazim.com/gfwlist -ipset=/.dadi360.com/gfwlist -ipset=/.dafagood.com/gfwlist -ipset=/.dafahao.com/gfwlist -ipset=/.dailidaili.com/gfwlist -ipset=/.dailymotion.com/gfwlist -ipset=/.dailynews.sina.com/gfwlist -ipset=/.dajiyuan.com/gfwlist -ipset=/.dajiyuan.eu/gfwlist -ipset=/.dajusha.baywords.com/gfwlist -ipset=/.dalailama.com/gfwlist -ipset=/.dalailama.ru/gfwlist -ipset=/.dalailamaworld.com/gfwlist -ipset=/.dalianmeng.org/gfwlist -ipset=/.danke4china.net/gfwlist -ipset=/.danwei.org/gfwlist -ipset=/.daolan.net/gfwlist -ipset=/.dapu-house.gov.tw/gfwlist -ipset=/.darpa.mil/gfwlist -ipset=/.date.fm/gfwlist -ipset=/.davidslog.com/gfwlist -ipset=/.daxa.cn/gfwlist -ipset=/.dayaarmongol.ning.com/gfwlist -ipset=/.daylife.com/gfwlist -ipset=/.ddc.com.tw/gfwlist -ipset=/.deck.ly/gfwlist -ipset=/.default.secureserver.net/gfwlist -ipset=/.delcamp.net/gfwlist -ipset=/.delicious.com/gfwlist -ipset=/.democrats.org/gfwlist -ipset=/.demo.opera-mini.net/gfwlist -ipset=/.derekhsu.homeip.net/gfwlist -ipset=/.de-sci.org/gfwlist -ipset=/.designerol.com/gfwlist -ipset=/.destiny.xfiles.to/gfwlist -ipset=/.deutsche-welle.de/gfwlist -ipset=/.dev102.com/gfwlist -ipset=/.developers.box.net/gfwlist -ipset=/.deviantart.com/gfwlist -ipset=/.deviantart.net/gfwlist -ipset=/.devio.us/gfwlist -ipset=/.devpn.com/gfwlist -ipset=/.dfas.mil/gfwlist -ipset=/.df.gov.tw/gfwlist -ipset=/.diaoyuislands.org/gfwlist -ipset=/.digitalnomadsproject.org/gfwlist -ipset=/.diigo.com/gfwlist -ipset=/.dimitrik.free.fr/gfwlist -ipset=/.dipity.com/gfwlist -ipset=/.directcreative.com/gfwlist -ipset=/.discuss.com.hk/gfwlist -ipset=/.disp.cc/gfwlist -ipset=/.dit-inc.us/gfwlist -ipset=/.dizhidizhi.com/gfwlist -ipset=/.djangosnippets.org/gfwlist -ipset=/.dl.box.net/gfwlist -ipset=/.dl-laby.jp/gfwlist -ipset=/.dl.playstation.net/gfwlist -ipset=/.dlsite.com/gfwlist -ipset=/.dmcdn.net/gfwlist -ipset=/.dmtip.gov.tw/gfwlist -ipset=/.dns2go.com/gfwlist -ipset=/.dnscrypt.org/gfwlist -ipset=/.docstoc.com/gfwlist -ipset=/.dojin.com/gfwlist -ipset=/.dok-forum.net/gfwlist -ipset=/.dolc.de/gfwlist -ipset=/.dollf.com/gfwlist -ipset=/.domain.club.tw/gfwlist -ipset=/.domainhelp.search.com/gfwlist -ipset=/.dongde.com/gfwlist -ipset=/.dongtaiwang.com/gfwlist -ipset=/.dongtaiwang.net/gfwlist -ipset=/.dongyangjing.com/gfwlist -ipset=/.dontfilter.us/gfwlist -ipset=/.dontmovetochina.com/gfwlist -ipset=/.dotheyfolloweachother.com/gfwlist -ipset=/.dotplane.com/gfwlist -ipset=/.dotsub.com/gfwlist -ipset=/.doubleaf.com/gfwlist -ipset=/.doubleclick.net/gfwlist -ipset=/.dougscripts.com/gfwlist -ipset=/.dowei.org/gfwlist -ipset=/.download.syniumsoftware.com/gfwlist -ipset=/.doxygen.org/gfwlist -ipset=/.dphk.org/gfwlist -ipset=/.dpp.org.tw/gfwlist -ipset=/.drewolanoff.com/gfwlist -ipset=/.drgan.net/gfwlist -ipset=/.dropbox.com/gfwlist -ipset=/.dropboxusercontent.com/gfwlist -ipset=/.drsunacademy.com/gfwlist -ipset=/.drtuber.com/gfwlist -ipset=/.dscn.info/gfwlist -ipset=/.dtiblog.com/gfwlist -ipset=/.dtic.mil/gfwlist -ipset=/.dtiserv2.com/gfwlist -ipset=/.duckduckgo.com/gfwlist -ipset=/.duckload.com/gfwlist -ipset=/.duckmylife.com/gfwlist -ipset=/.duihuahrjournal.org/gfwlist -ipset=/.duihua.org/gfwlist -ipset=/.duoweitimes.com/gfwlist -ipset=/.duping.net/gfwlist -ipset=/.duplicati.com/gfwlist -ipset=/.dupola.com/gfwlist -ipset=/.dupola.net/gfwlist -ipset=/.dvorak.org/gfwlist -ipset=/.dw.de/gfwlist -ipset=/.dwnews.com/gfwlist -ipset=/.dwnews.net/gfwlist -ipset=/.dw-world.com/gfwlist -ipset=/.dw-world.de/gfwlist -ipset=/.dy24k.info/gfwlist -ipset=/.dynawebinc.com/gfwlist -ipset=/.dyndns.org/gfwlist -ipset=/.dzze.com/gfwlist -ipset=/.e123.hk/gfwlist -ipset=/.eamonnbrennan.com/gfwlist -ipset=/.earthquake.usgs.gov/gfwlist -ipset=/.easy-share.com/gfwlist -ipset=/.ebookbrowse.com/gfwlist -ipset=/.ebookee.com/gfwlist -ipset=/.echofon.com/gfwlist -ipset=/.ecministry.net/gfwlist -ipset=/.edicypages.com/gfwlist -ipset=/.edoors.com/gfwlist -ipset=/.edubridge.com/gfwlist -ipset=/.eevpn.com/gfwlist -ipset=/.efcc.org.hk/gfwlist -ipset=/.efksoft.com/gfwlist -ipset=/.efmoe.com/gfwlist -ipset=/.e-gold.com/gfwlist -ipset=/.eic-av.com/gfwlist -ipset=/.e-info.org.tw/gfwlist -ipset=/.electionsmeter.com/gfwlist -ipset=/.elpais.com/gfwlist -ipset=/.eltondisney.com/gfwlist -ipset=/.emacsblog.org/gfwlist -ipset=/.embr.in/gfwlist -ipset=/.emory.edu/gfwlist -ipset=/.emule-ed2k.com/gfwlist -ipset=/.emuparadise.me/gfwlist -ipset=/.enewstree.com/gfwlist -ipset=/.en.favotter.net/gfwlist -ipset=/.englishfromengland.co.uk/gfwlist -ipset=/.entermap.com/gfwlist -ipset=/.en.wikipedia.org/gfwlist -ipset=/.epochtimes-bg.com/gfwlist -ipset=/.epochtimes.co.il/gfwlist -ipset=/.epochtimes.co.kr/gfwlist -ipset=/.epochtimes.com/gfwlist -ipset=/.epochtimes.de/gfwlist -ipset=/.epochtimes.fr/gfwlist -ipset=/.epochtimes.ie/gfwlist -ipset=/.epochtimes.jp/gfwlist -ipset=/.epochtimes-romania.com/gfwlist -ipset=/.epochtimes.ru/gfwlist -ipset=/.epochtimes.se/gfwlist -ipset=/.epochtimestr.com/gfwlist -ipset=/.epochweekly.com/gfwlist -ipset=/.erabaru.net/gfwlist -ipset=/.erepublik.com/gfwlist -ipset=/.erepublik.net/gfwlist -ipset=/.erights.net/gfwlist -ipset=/.eriversoft.com/gfwlist -ipset=/.ernestmandel.org/gfwlist -ipset=/.etaiwannews.com/gfwlist -ipset=/.etizer.org/gfwlist -ipset=/.etools.ncol.com/gfwlist -ipset=/.e-traderland.net/gfwlist -ipset=/.etraining.gov.tw/gfwlist -ipset=/.ettoday.net/gfwlist -ipset=/.evchk.wikia.com/gfwlist -ipset=/.eventful.com/gfwlist -ipset=/.everyday-carry.com/gfwlist -ipset=/.exblog.jp/gfwlist -ipset=/.expatshield.com/gfwlist -ipset=/.exploader.net/gfwlist -ipset=/.extremetube.com/gfwlist -ipset=/.eyespirit.info/gfwlist -ipset=/.eyevio.jp/gfwlist -ipset=/.eyny.com/gfwlist -ipset=/.ezpc.tk/gfwlist -ipset=/.ezpeer.com/gfwlist -ipset=/.facebook.com/gfwlist -ipset=/.facebook.net/gfwlist -ipset=/.facesofnyfw.com/gfwlist -ipset=/.fail.hk/gfwlist -ipset=/.faiththedog.info/gfwlist -ipset=/.fakku.net/gfwlist -ipset=/.falsefire.com/gfwlist -ipset=/.falunart.org/gfwlist -ipset=/.falundafamuseum.org/gfwlist -ipset=/.falundafa.org/gfwlist -ipset=/.falunhr.org/gfwlist -ipset=/.famunion.com/gfwlist -ipset=/.fangbinxing.com/gfwlist -ipset=/.fangeming.com/gfwlist -ipset=/.fanglizhi.info/gfwlist -ipset=/.fangongheike.com/gfwlist -ipset=/.fangong.org/gfwlist -ipset=/.fan-qiang.com/gfwlist -ipset=/.fanqianghou.com/gfwlist -ipset=/.fanqiangyakexi.net/gfwlist -ipset=/.fanswong.com/gfwlist -ipset=/.fanyue.info/gfwlist -ipset=/.fapdu.com/gfwlist -ipset=/.farwestchina.com/gfwlist -ipset=/.farxian.com/gfwlist -ipset=/.fastpic.ru/gfwlist -ipset=/.faststone.org/gfwlist -ipset=/.favorious.com/gfwlist -ipset=/.favstar.fm/gfwlist -ipset=/.fawanghuihui.org/gfwlist -ipset=/.faydao.com/gfwlist -ipset=/.fbcdn.net/gfwlist -ipset=/.fb.com/gfwlist -ipset=/.fb.me/gfwlist -ipset=/.fbsbx.com/gfwlist -ipset=/.fc2china.com/gfwlist -ipset=/.fc2.com/gfwlist -ipset=/.f.cl.ly/gfwlist -ipset=/.fdc89.jp/gfwlist -ipset=/.feedbooks.mobi/gfwlist -ipset=/.feedburner.com/gfwlist -ipset=/.feeds2.feedburner.com/gfwlist -ipset=/.feeds.feedburner.com/gfwlist -ipset=/.feedzshare.com/gfwlist -ipset=/.feelssh.com/gfwlist -ipset=/.feer.com/gfwlist -ipset=/.felixcat.net/gfwlist -ipset=/.feministteacher.com/gfwlist -ipset=/.fengzhenghu.com/gfwlist -ipset=/.fetchvideo.com/gfwlist -ipset=/.ff.im/gfwlist -ipset=/.fflick.com/gfwlist -ipset=/.fgmtv.net/gfwlist -ipset=/.fgmtv.org/gfwlist -ipset=/.filefactory.com/gfwlist -ipset=/.files2me.com/gfwlist -ipset=/.fileserve.com/gfwlist -ipset=/.fillthesquare.org/gfwlist -ipset=/.finalion.jp/gfwlist -ipset=/.findbook.tw/gfwlist -ipset=/.finler.net/gfwlist -ipset=/.fireofliberty.org/gfwlist -ipset=/.firstfivefollowers.com/gfwlist -ipset=/.flecheinthepeche.fr/gfwlist -ipset=/.fleshbot.com/gfwlist -ipset=/.flickr.com/gfwlist -ipset=/.flickrhivemind.net/gfwlist -ipset=/.flightcaster.com/gfwlist -ipset=/.flowerofhappiness.spaces.live.com/gfwlist -ipset=/.focustaiwan.tw/gfwlist -ipset=/.focusvpn.com/gfwlist -ipset=/.fofg.org/gfwlist -ipset=/.fooooo.com/gfwlist -ipset=/.footwiball.com/gfwlist -ipset=/.forum.baby-kingdom.com/gfwlist -ipset=/.forum.cyberctm.com/gfwlist -ipset=/.forum.idsam.com/gfwlist -ipset=/.forum.iset.com.tw/gfwlist -ipset=/.forum.my903.com/gfwlist -ipset=/.forum.mymaji.com/gfwlist -ipset=/.forum.newsgroup.la/gfwlist -ipset=/.forum.nownews.com/gfwlist -ipset=/.forum.omy.sg/gfwlist -ipset=/.forum.palmislife.com/gfwlist -ipset=/.forum.pchome.com.tw/gfwlist -ipset=/.forum.setty.com.tw/gfwlist -ipset=/.forum.sina.com.hk/gfwlist -ipset=/.forum.slime.com.tw/gfwlist -ipset=/.forum.tvb.com/gfwlist -ipset=/.forum.yorkbbs.ca/gfwlist -ipset=/.fotop.net/gfwlist -ipset=/.fourface.nodesnoop.com/gfwlist -ipset=/.fourthinternational.org/gfwlist -ipset=/.foxdie.us/gfwlist -ipset=/.foxsub.com/gfwlist -ipset=/.foxtang.com/gfwlist -ipset=/.fqrouter.com/gfwlist -ipset=/.franklc.com/gfwlist -ipset=/.freakshare.com/gfwlist -ipset=/.fredwilson.vc/gfwlist -ipset=/.free4u.com.ar/gfwlist -ipset=/.freealim.com/gfwlist -ipset=/.freechal.com/gfwlist -ipset=/.freedomhouse.org/gfwlist -ipset=/.free.fr/gfwlist -ipset=/.freegao.com/gfwlist -ipset=/.freegateget.googlepages.com/gfwlist -ipset=/.free-gate.org/gfwlist -ipset=/.free-hada-now.org/gfwlist -ipset=/.freelotto.com/gfwlist -ipset=/.freeman2.com/gfwlist -ipset=/.freemoren.com/gfwlist -ipset=/.freemorenews.com/gfwlist -ipset=/.freenet-china.org/gfwlist -ipset=/.freenetproject.org/gfwlist -ipset=/.freenewscn.com/gfwlist -ipset=/.freeopenvpn.com/gfwlist -ipset=/.freeoz.org/gfwlist -ipset=/.free-ssh.com/gfwlist -ipset=/.freessh.us/gfwlist -ipset=/.freetibet.org/gfwlist -ipset=/.freevpn.nl/gfwlist -ipset=/.freewallpaper4.me/gfwlist -ipset=/.freewebs.com/gfwlist -ipset=/.freeweibo.com/gfwlist -ipset=/.freexinwen.com/gfwlist -ipset=/.freeyoutubeproxy.net/gfwlist -ipset=/.friendfeed.com/gfwlist -ipset=/.friendfeed-media.com/gfwlist -ipset=/.fring.com/gfwlist -ipset=/.fringenetwork.com/gfwlist -ipset=/.frommel.net/gfwlist -ipset=/.frontlinedefenders.org/gfwlist -ipset=/.fscked.org/gfwlist -ipset=/.fsurf.com/gfwlist -ipset=/.ftchinese.com/gfwlist -ipset=/.fuckcnnic.net/gfwlist -ipset=/.fuckgfw.com/gfwlist -ipset=/.fuckgfw.org/gfwlist -ipset=/.fulue.com/gfwlist -ipset=/.funf.tw/gfwlist -ipset=/.funp.com/gfwlist -ipset=/.furinkan.com/gfwlist -ipset=/.furl.net/gfwlist -ipset=/.futurechinaforum.org/gfwlist -ipset=/.futureme.org/gfwlist -ipset=/.futuremessage.org/gfwlist -ipset=/.fuyin.net/gfwlist -ipset=/.fw.cm/gfwlist -ipset=/.fxnetworks.com/gfwlist -ipset=/.fzh999.com/gfwlist -ipset=/.fzh999.net/gfwlist -ipset=/.gabocorp.com/gfwlist -ipset=/.gaeproxy.com/gfwlist -ipset=/.gaeproxy.googlecode.com/gfwlist -ipset=/.galenwu.com/gfwlist -ipset=/.game735.com/gfwlist -ipset=/.gamebase.com.tw/gfwlist -ipset=/.gamer.com.tw/gfwlist -ipset=/.gamez.com.tw/gfwlist -ipset=/.ganges.com/gfwlist -ipset=/.gaoming.net/gfwlist -ipset=/.gaopi.net/gfwlist -ipset=/.gaozhisheng.net/gfwlist -ipset=/.gaozhisheng.org/gfwlist -ipset=/.gardennetworks.com/gfwlist -ipset=/.gardennetworks.org/gfwlist -ipset=/.gartlive.com/gfwlist -ipset=/.gather.com/gfwlist -ipset=/.gaymap.cc/gfwlist -ipset=/.gazotube.com/gfwlist -ipset=/.gcc.org.hk/gfwlist -ipset=/.gclooney.com/gfwlist -ipset=/.g.co/gfwlist -ipset=/.gcpnews.com/gfwlist -ipset=/.gdbt.net/gfwlist -ipset=/.gdzf.org/gfwlist -ipset=/.geek-art.net/gfwlist -ipset=/.geekerhome.com/gfwlist -ipset=/.geekmade.co.uk/gfwlist -ipset=/.geekmanuals.com/gfwlist -ipset=/.generesis.com/gfwlist -ipset=/.genuitec.com/gfwlist -ipset=/.geocities.co.jp/gfwlist -ipset=/.geocities.com/gfwlist -ipset=/.geocities.jp/gfwlist -ipset=/.geohot.com/gfwlist -ipset=/.geometrictools.com/gfwlist -ipset=/.getchu.com/gfwlist -ipset=/.getcloudapp.com/gfwlist -ipset=/.get-digital-help.com/gfwlist -ipset=/.getfoxyproxy.org/gfwlist -ipset=/.getfreedur.com/gfwlist -ipset=/.getiton.com/gfwlist -ipset=/.getjetso.com/gfwlist -ipset=/.getlantern.org/gfwlist -ipset=/.getsmartlinks.com/gfwlist -ipset=/.getsocialscope.com/gfwlist -ipset=/.gfwinterceptor.googlecode.com/gfwlist -ipset=/.gfw.org.ua/gfwlist -ipset=/.ggpht.com/gfwlist -ipset=/.ggssl.com/gfwlist -ipset=/.ghost.org/gfwlist -ipset=/.ghut.org/gfwlist -ipset=/.giga-web.jp/gfwlist -ipset=/.gigporno.ru/gfwlist -ipset=/.gimpshop.com/gfwlist -ipset=/.girlbanker.com/gfwlist -ipset=/.github.com/gfwlist -ipset=/.git-scm.com/gfwlist -ipset=/.givemesomethingtoread.com/gfwlist -ipset=/.glennhilton.com/gfwlist -ipset=/.globaljihad.net/gfwlist -ipset=/.globalmuseumoncommunism.org/gfwlist -ipset=/.globalrescue.net/gfwlist -ipset=/.globalvoicesonline.org/gfwlist -ipset=/.gmail.com/gfwlist -ipset=/.gmbd.cn/gfwlist -ipset=/.gmhz.org/gfwlist -ipset=/.gmodules.com/gfwlist -ipset=/.gmozomg.izihost.org/gfwlist -ipset=/.gnci.org.hk/gfwlist -ipset=/.goagent.biz/gfwlist -ipset=/.goagent.googlecode.com/gfwlist -ipset=/.goagentplus.com/gfwlist -ipset=/.godfootsteps.org/gfwlist -ipset=/.golang.org/gfwlist -ipset=/.goldbetsports.com/gfwlist -ipset=/.goldwave.com/gfwlist -ipset=/.gongmeng.info/gfwlist -ipset=/.gongm.in/gfwlist -ipset=/.gongminliliang.com/gfwlist -ipset=/.gongwt.com/gfwlist -ipset=/.goodreaders.com/gfwlist -ipset=/.goodreads.com/gfwlist -ipset=/.goofind.com/gfwlist -ipset=/.goo.gl/gfwlist -ipset=/.googleadservices.com/gfwlist -ipset=/.google-analytics.com/gfwlist -ipset=/.googleapis.com/gfwlist -ipset=/.googlecode.com/gfwlist -ipset=/.google.co.jp/gfwlist -ipset=/.google.com/gfwlist -ipset=/.google.com.hk/gfwlist -ipset=/.google.com.sg/gfwlist -ipset=/.google.com.tw/gfwlist -ipset=/.google.com.uk/gfwlist -ipset=/.googledomains.com/gfwlist -ipset=/.googledrive.com/gfwlist -ipset=/.googleearth.com/gfwlist -ipset=/.googlehosted.com/gfwlist -ipset=/.googlelabs.com/gfwlist -ipset=/.googlemail.com/gfwlist -ipset=/.googleplus.com/gfwlist -ipset=/.googlesile.com/gfwlist -ipset=/.googlesource.com/gfwlist -ipset=/.googlesyndication.com/gfwlist -ipset=/.googletagmanager.com/gfwlist -ipset=/.googletagservices.com/gfwlist -ipset=/.googleusercontent.com/gfwlist -ipset=/.googlevideo.com/gfwlist -ipset=/.gopetition.com/gfwlist -ipset=/.gospelherald.com/gfwlist -ipset=/.gov.tw/gfwlist -ipset=/.gpass1.com/gfwlist -ipset=/.grandtrial.org/gfwlist -ipset=/.graphis.ne.jp/gfwlist -ipset=/.gravatar.com/gfwlist -ipset=/.graylog2.org/gfwlist -ipset=/.grb.gov.tw/gfwlist -ipset=/.greatfire.org/gfwlist -ipset=/.greatfirewall.biz/gfwlist -ipset=/.great-firewall.com/gfwlist -ipset=/.greatfirewallofchina.net/gfwlist -ipset=/.greatfirewallofchina.org/gfwlist -ipset=/.great-roc.org/gfwlist -ipset=/.greatroc.org/gfwlist -ipset=/.greatroc.tw/gfwlist -ipset=/.greatzhonghua.org/gfwlist -ipset=/.greenparty.org.tw/gfwlist -ipset=/.greenvpn.net/gfwlist -ipset=/.gs-discuss.com/gfwlist -ipset=/.gseeker.com/gfwlist -ipset=/.gsn-cert.nat.gov.tw/gfwlist -ipset=/.gstatic.com/gfwlist -ipset=/.gtap.googlecode.com/gfwlist -ipset=/.gtricks.com/gfwlist -ipset=/.guancha.org/gfwlist -ipset=/.gufeng521.spaces.live.com/gfwlist -ipset=/.guishan.org/gfwlist -ipset=/.gunsamerica.com/gfwlist -ipset=/.gun-world.net/gfwlist -ipset=/.guomin.us/gfwlist -ipset=/.gutteruncensored.com/gfwlist -ipset=/.gvm.com.tw/gfwlist -ipset=/.gyalwarinpoche.com/gfwlist -ipset=/.gysd.nyc.gov.tw/gfwlist -ipset=/.gzm.tv/gfwlist -ipset=/.gzone-anime.info/gfwlist -ipset=/.h1n1china.org/gfwlist -ipset=/.hacken.cc/gfwlist -ipset=/.hackthatphone.net/gfwlist -ipset=/.hahlo.com/gfwlist -ipset=/.hakkatv.org.tw/gfwlist -ipset=/.hanunyi.com/gfwlist -ipset=/.hardsextube.com/gfwlist -ipset=/.hasaowall.com/gfwlist -ipset=/.have8.com/gfwlist -ipset=/.haygo.com/gfwlist -ipset=/.hcc.gov.tw/gfwlist -ipset=/.hchcc.gov.tw/gfwlist -ipset=/.h-china.org/gfwlist -ipset=/.hdtvb.net/gfwlist -ipset=/.heartyit.com/gfwlist -ipset=/.hecaitou.net/gfwlist -ipset=/.hechaji.com/gfwlist -ipset=/.heix.pp.ru/gfwlist -ipset=/.heiyo.info/gfwlist -ipset=/.helloandroid.com/gfwlist -ipset=/.hellonewyork.us/gfwlist -ipset=/.helloqueer.com/gfwlist -ipset=/.hellotxt.com/gfwlist -ipset=/.hellouk.org/gfwlist -ipset=/.helpeachpeople.com/gfwlist -ipset=/.helplinfen.com/gfwlist -ipset=/.help.linksalpha.com/gfwlist -ipset=/.help.opera.com/gfwlist -ipset=/.helpzhuling.org/gfwlist -ipset=/.hen.bao.li/gfwlist -ipset=/.hengchuen.gov.tw/gfwlist -ipset=/.heqinglian.net/gfwlist -ipset=/.here4news.com/gfwlist -ipset=/.heungkongdiscuss.com/gfwlist -ipset=/.hgseav.com/gfwlist -ipset=/.hidden-advent.org/gfwlist -ipset=/.hidecloud.com/gfwlist -ipset=/.hideipvpn.com/gfwlist -ipset=/.hidemyass.com/gfwlist -ipset=/.higfw.com/gfwlist -ipset=/.highrockmedia.com/gfwlist -ipset=/.hihiforum.com/gfwlist -ipset=/.hihistory.net/gfwlist -ipset=/.hiitch.com/gfwlist -ipset=/.hikinggfw.org/gfwlist -ipset=/.himemix.com/gfwlist -ipset=/.himemix.net/gfwlist -ipset=/.hjclub.info/gfwlist -ipset=/.hk32168.com/gfwlist -ipset=/.hkbc.net/gfwlist -ipset=/.hkbf.org/gfwlist -ipset=/.hkchurch.org/gfwlist -ipset=/.hkdailynews.com.hk/gfwlist -ipset=/.hkday.net/gfwlist -ipset=/.hkej.com/gfwlist -ipset=/.hkepc.com/gfwlist -ipset=/.hkfront.org/gfwlist -ipset=/.hk.geocities.com/gfwlist -ipset=/.hkgolden.com/gfwlist -ipset=/.hkgreenradio.org/gfwlist -ipset=/.hkg.westkit.net/gfwlist -ipset=/.hkheadline.com/gfwlist -ipset=/.hkhkhk.com/gfwlist -ipset=/.hkjc.com/gfwlist -ipset=/.hk.jiepang.com/gfwlist -ipset=/.hkjp.easyweb.hk/gfwlist -ipset=/.hkjp.org/gfwlist -ipset=/.hk.knowledge.yahoo.com/gfwlist -ipset=/.hk.myblog.yahoo.com/gfwlist -ipset=/.hk.news.yahoo.com/gfwlist -ipset=/.hkptu.org/gfwlist -ipset=/.hk-pub.com/gfwlist -ipset=/.hk.rd.yahoo.com/gfwlist -ipset=/.hkreporter.com/gfwlist -ipset=/.hkreporter.loved.hk/gfwlist -ipset=/.hk.search.yahoo.com/gfwlist -ipset=/.hk.video.news.yahoo.com/gfwlist -ipset=/.hkwcc.org.hk/gfwlist -ipset=/.hk.yahoo.com/gfwlist -ipset=/.hkzone.org/gfwlist -ipset=/.hnjhj.com/gfwlist -ipset=/.hola.com/gfwlist -ipset=/.holyspiritspeaks.org/gfwlist -ipset=/.holz.byethost8.com/gfwlist -ipset=/.homeservershow.com/gfwlist -ipset=/.home.sina.com/gfwlist -ipset=/.home.so-net.net.tw/gfwlist -ipset=/.honeonet.spaces.live.com/gfwlist -ipset=/.hongmeimei.com/gfwlist -ipset=/.hongzhi.li/gfwlist -ipset=/.hootsuite.com/gfwlist -ipset=/.hotpot.hk/gfwlist -ipset=/.hotshame.com/gfwlist -ipset=/.hotspotshield.com/gfwlist -ipset=/.hougaige.com/gfwlist -ipset=/.howtoforge.com/gfwlist -ipset=/.hqcdp.org/gfwlist -ipset=/.hrcir.com/gfwlist -ipset=/.hrichina.org/gfwlist -ipset=/.hrw.org/gfwlist -ipset=/.hsinchu-cc.gov.tw/gfwlist -ipset=/.hsjp.net/gfwlist -ipset=/.hsselite.com/gfwlist -ipset=/.htkou.net/gfwlist -ipset=/.htl.li/gfwlist -ipset=/.ht.ly/gfwlist -ipset=/.htmldog.com/gfwlist -ipset=/.huaglad.com/gfwlist -ipset=/.huajiadi.spaces.live.com/gfwlist -ipset=/.huanghuagang.org/gfwlist -ipset=/.huaren.us/gfwlist -ipset=/.huaxia-news.com/gfwlist -ipset=/.huaxin.ph/gfwlist -ipset=/.hua-yue.net/gfwlist -ipset=/.hudatoriq.web.id/gfwlist -ipset=/.hugoroy.eu/gfwlist -ipset=/.huhamhire.com/gfwlist -ipset=/.hujiachina.spaces.live.com/gfwlist -ipset=/.hulu.com/gfwlist -ipset=/.huluim.com/gfwlist -ipset=/.humanities.uchicago.edu/gfwlist -ipset=/.hungerstrikeforaids.org/gfwlist -ipset=/.hung-ya.com/gfwlist -ipset=/.huping.net/gfwlist -ipset=/.hutianyi.net/gfwlist -ipset=/.hutong9.net/gfwlist -ipset=/.hwinfo.com/gfwlist -ipset=/.hyperrate.com/gfwlist -ipset=/.hypeshell.com/gfwlist -ipset=/.i1.hk/gfwlist -ipset=/.i2runner.com/gfwlist -ipset=/.ialmostlaugh.com/gfwlist -ipset=/.iask.bz/gfwlist -ipset=/.iask.ca/gfwlist -ipset=/.ibiblio.org/gfwlist -ipset=/.iblogserv-f.net/gfwlist -ipset=/.ibros.org/gfwlist -ipset=/.icij.org/gfwlist -ipset=/.icl-fi.org/gfwlist -ipset=/.iconpaper.org/gfwlist -ipset=/.icu-project.org/gfwlist -ipset=/.idemocracy.asia/gfwlist -ipset=/.identi.ca/gfwlist -ipset=/.idiomconnection.com/gfwlist -ipset=/.idouga.com/gfwlist -ipset=/.idv.tw/gfwlist -ipset=/.ieasynews.net/gfwlist -ipset=/.ied2k.net/gfwlist -ipset=/.ieemdai.spaces.live.com/gfwlist -ipset=/.ifan.cz.cc/gfwlist -ipset=/.ifanqiang.com/gfwlist -ipset=/.ifanr.com/gfwlist -ipset=/.ifcss.org/gfwlist -ipset=/.ifjc.org/gfwlist -ipset=/.igfw.net/gfwlist -ipset=/.ignitedetroit.net/gfwlist -ipset=/.igvita.com/gfwlist -ipset=/.ihakka.net/gfwlist -ipset=/.iicns.com/gfwlist -ipset=/.illusionfactory.com/gfwlist -ipset=/.ilove80.be/gfwlist -ipset=/.im88.tw/gfwlist -ipset=/.imageflea.com/gfwlist -ipset=/.imagesblog.gio.gov.tw/gfwlist -ipset=/.imageshack.us/gfwlist -ipset=/.imagevenue.com/gfwlist -ipset=/.imagezilla.net/gfwlist -ipset=/.ime.baidu.jp/gfwlist -ipset=/.img.ly/gfwlist -ipset=/.imkev.com/gfwlist -ipset=/.imlive.com/gfwlist -ipset=/.immigration.gov.tw/gfwlist -ipset=/.imrworldwide.com/gfwlist -ipset=/.im.tv/gfwlist -ipset=/.incredibox.fr/gfwlist -ipset=/.iner.gov.tw/gfwlist -ipset=/.initiativesforchina.org/gfwlist -ipset=/.inmediahk.net/gfwlist -ipset=/.innermongolia.org/gfwlist -ipset=/.instagram.com/gfwlist -ipset=/.interestinglaugh.com/gfwlist -ipset=/.interfaceaddiction.com/gfwlist -ipset=/.internationalrivers.org/gfwlist -ipset=/.internetdefenseleague.org/gfwlist -ipset=/.internetfreedom.org/gfwlist -ipset=/.internetpopculture.com/gfwlist -ipset=/.inxian.com/gfwlist -ipset=/.iphone4hongkong.com/gfwlist -ipset=/.iphonehacks.com/gfwlist -ipset=/.iphonix.fr/gfwlist -ipset=/.ipicture.ru/gfwlist -ipset=/.ipobar.com/gfwlist -ipset=/.ippotv.com/gfwlist -ipset=/.iptorrents.com/gfwlist -ipset=/.ipvanish.com/gfwlist -ipset=/.iredmail.org/gfwlist -ipset=/.ironbigfools.compython.net/gfwlist -ipset=/.ironicsoftware.com/gfwlist -ipset=/.ironpython.net/gfwlist -ipset=/.isaacmao.com/gfwlist -ipset=/.isgreat.org/gfwlist -ipset=/.islamicity.com/gfwlist -ipset=/.islam.org.hk/gfwlist -ipset=/.ismprofessional.net/gfwlist -ipset=/.isohunt.com/gfwlist -ipset=/.israbox.com/gfwlist -ipset=/.istockphoto.com/gfwlist -ipset=/.isunaffairs.com/gfwlist -ipset=/.isuntv.com/gfwlist -ipset=/.itaboo.info/gfwlist -ipset=/.ithelp.ithome.com.tw/gfwlist -ipset=/.itrc.gov.tw/gfwlist -ipset=/.itshidden.com/gfwlist -ipset=/.itweet.net/gfwlist -ipset=/.iu45.com/gfwlist -ipset=/.iverycd.com/gfwlist -ipset=/.ixquick.com/gfwlist -ipset=/.izaobao.us/gfwlist -ipset=/.izles.net/gfwlist -ipset=/.japan-whores.com/gfwlist -ipset=/.jayparkinsonmd.com/gfwlist -ipset=/.jbtalks.cc/gfwlist -ipset=/.jbtalks.com/gfwlist -ipset=/.jbtalks.my/gfwlist -ipset=/.jeanyim.com/gfwlist -ipset=/.jgoodies.com/gfwlist -ipset=/.jiaoyou8.com/gfwlist -ipset=/.jiehua.cz/gfwlist -ipset=/.jieshibaobao.com/gfwlist -ipset=/.jike.com/gfwlist -ipset=/.jimoparty.com/gfwlist -ipset=/.jinbushe.org/gfwlist -ipset=/.jingpin.org/gfwlist -ipset=/.jitouch.com/gfwlist -ipset=/.jkforum.net/gfwlist -ipset=/.j.mp/gfwlist -ipset=/.joachims.org/gfwlist -ipset=/.jobso.tv/gfwlist -ipset=/.joeedelman.com/gfwlist -ipset=/.journalofdemocracy.org/gfwlist -ipset=/.jpopforum.net/gfwlist -ipset=/.juliereyc.com/gfwlist -ipset=/.junauza.com/gfwlist -ipset=/.junefourth-20.net/gfwlist -ipset=/.justfreevpn.com/gfwlist -ipset=/.justtristan.com/gfwlist -ipset=/.juziyue.com/gfwlist -ipset=/.jwmusic.org/gfwlist -ipset=/.jyxf.net/gfwlist -ipset=/.jyzj.waqn.com/gfwlist -ipset=/.k2.xrea.com/gfwlist -ipset=/.kagyuoffice.org.tw/gfwlist -ipset=/.kaiyuan.de/gfwlist -ipset=/.kakao.com/gfwlist -ipset=/.kanzhongguo.com/gfwlist -ipset=/.kanzhongguo.eu/gfwlist -ipset=/.karayou.com/gfwlist -ipset=/.ka-wai.com/gfwlist -ipset=/.kcsoftwares.com/gfwlist -ipset=/.kechara.com/gfwlist -ipset=/.keepandshare.com/gfwlist -ipset=/.kendincos.net/gfwlist -ipset=/.kenengba.com/gfwlist -ipset=/.keontech.net/gfwlist -ipset=/.khcc.gov.tw/gfwlist -ipset=/.khms.gov.tw/gfwlist -ipset=/.khmusic.com.tw/gfwlist -ipset=/.killwall.com/gfwlist -ipset=/.kineox.free.fr/gfwlist -ipset=/.kingdomsalvation.org/gfwlist -ipset=/.kinghost.com/gfwlist -ipset=/.kingstone.com.tw/gfwlist -ipset=/.kissbbao.cn/gfwlist -ipset=/.kissyoutube.com/gfwlist -ipset=/.kk.gov.tw/gfwlist -ipset=/.klccab.gov.tw/gfwlist -ipset=/.klra.gov.tw/gfwlist -ipset=/.klsio.gov.tw/gfwlist -ipset=/.kmh.gov.tw/gfwlist -ipset=/.kmseh.gov.tw/gfwlist -ipset=/.knowledgerush.com/gfwlist -ipset=/.kodingen.com/gfwlist -ipset=/.kompozer.net/gfwlist -ipset=/.koolsolutions.com/gfwlist -ipset=/.koornk.com/gfwlist -ipset=/.kt.kcome.org/gfwlist -ipset=/.kui.name/gfwlist -ipset=/.kun.im/gfwlist -ipset=/.kurtmunger.com/gfwlist -ipset=/.kusocity.com/gfwlist -ipset=/.kwongwah.com.my/gfwlist -ipset=/.kyohk.net/gfwlist -ipset=/.kzeng.info/gfwlist -ipset=/.labiennale.org/gfwlist -ipset=/.ladbrokes.com/gfwlist -ipset=/.la-forum.org/gfwlist -ipset=/.lagranepoca.com/gfwlist -ipset=/.lalulalu.com/gfwlist -ipset=/.laogai.org/gfwlist -ipset=/.laomiu.com/gfwlist -ipset=/.laoyang.info/gfwlist -ipset=/.laptoplockdown.com/gfwlist -ipset=/.laqingdan.net/gfwlist -ipset=/.larsgeorge.com/gfwlist -ipset=/.lastfm.es/gfwlist -ipset=/.latelinenews.com/gfwlist -ipset=/.latimesblogs.latimes.com/gfwlist -ipset=/.lazarsearlymusic.com/gfwlist -ipset=/.leecheukyan.org/gfwlist -ipset=/.legaltech.law.com/gfwlist -ipset=/.lematin.ch/gfwlist -ipset=/.lemonde.fr/gfwlist -ipset=/.lenwhite.com/gfwlist -ipset=/.lerosua.org/gfwlist -ipset=/.lesoir.be/gfwlist -ipset=/.lesscss.org/gfwlist -ipset=/.letscorp.net/gfwlist -ipset=/.liansi.org/gfwlist -ipset=/.lianyue.net/gfwlist -ipset=/.liaowangxizang.net/gfwlist -ipset=/.liberal.org.hk/gfwlist -ipset=/.libertytimes.com.tw/gfwlist -ipset=/.lich355.megabyet.net/gfwlist -ipset=/.lidecheng.com/gfwlist -ipset=/.life.fly4ever.me/gfwlist -ipset=/.limiao.net/gfwlist -ipset=/.line.me/gfwlist -ipset=/.linglingfa.com/gfwlist -ipset=/.lingvodics.com/gfwlist -ipset=/.linkideo.com/gfwlist -ipset=/.linuxconfig.org/gfwlist -ipset=/.linux-engineer.net/gfwlist -ipset=/.linuxreviews.org/gfwlist -ipset=/.linuxtoy.org/gfwlist -ipset=/.lipuman.com/gfwlist -ipset=/.listentoyoutube.com/gfwlist -ipset=/.list.ly/gfwlist -ipset=/.listorious.com/gfwlist -ipset=/.lists.debian.org/gfwlist -ipset=/.lists.w3.org/gfwlist -ipset=/.littlebigdetails.com/gfwlist -ipset=/.liudejun.com/gfwlist -ipset=/.liuhanyu.com/gfwlist -ipset=/.liujianshu.com/gfwlist -ipset=/.liu.lu/gfwlist -ipset=/.liuxiaotong.com/gfwlist -ipset=/.liveleak.com/gfwlist -ipset=/.livestation.com/gfwlist -ipset=/.livestream.com/gfwlist -ipset=/.livevideo.com/gfwlist -ipset=/.livingonline.us/gfwlist -ipset=/.livingstream.com/gfwlist -ipset=/.lizhizhuangbi.com/gfwlist -ipset=/.lkcn.net/gfwlist -ipset=/.localpresshk.com/gfwlist -ipset=/.lockdown.com/gfwlist -ipset=/.lockestek.com/gfwlist -ipset=/.logbot.net/gfwlist -ipset=/.logiqx.com/gfwlist -ipset=/.logmike.com/gfwlist -ipset=/.log.riku.me/gfwlist -ipset=/.london.neighborhoodr.com/gfwlist -ipset=/.longhair.hk/gfwlist -ipset=/.longtermly.net/gfwlist -ipset=/.lookatgame.com/gfwlist -ipset=/.lookingglasstheatre.org/gfwlist -ipset=/.lookpic.com/gfwlist -ipset=/.lotuslight.org.tw/gfwlist -ipset=/.lovequicksilver.com/gfwlist -ipset=/.lovesphinx.tk/gfwlist -ipset=/.lrfz.com/gfwlist -ipset=/.lsd.org.hk/gfwlist -ipset=/.lsforum.net/gfwlist -ipset=/.lsmchinese.org/gfwlist -ipset=/.lsmkorean.org/gfwlist -ipset=/.lsm.org/gfwlist -ipset=/.lsxszzg.com/gfwlist -ipset=/.lua.org/gfwlist -ipset=/.lua-users.org/gfwlist -ipset=/.lungtanhr.gov.tw/gfwlist -ipset=/.luntan.zaobao.com/gfwlist -ipset=/.lupm.org/gfwlist -ipset=/.lushstories.com/gfwlist -ipset=/.lvhai.org/gfwlist -ipset=/.lyricsquote.com/gfwlist -ipset=/.mad-ar.ch/gfwlist -ipset=/.madmenunbuttoned.com/gfwlist -ipset=/.magazines.sina.com.tw/gfwlist -ipset=/.maiio.net/gfwlist -ipset=/.mail-archive.com/gfwlist -ipset=/.maiplus.com/gfwlist -ipset=/.makemymood.com/gfwlist -ipset=/.makzhou.warehouse333.com/gfwlist -ipset=/.malaysiakini.com/gfwlist -ipset=/.marc.info/gfwlist -ipset=/.marco.org/gfwlist -ipset=/.marguerite.su/gfwlist -ipset=/.marines.mil/gfwlist -ipset=/.markmilian.com/gfwlist -ipset=/.martau.com/gfwlist -ipset=/.martincartoons.com/gfwlist -ipset=/.maruta.be/gfwlist -ipset=/.marxist.com/gfwlist -ipset=/.marxist.net/gfwlist -ipset=/.marxists.org/gfwlist -ipset=/.mashable.com/gfwlist -ipset=/.mash.to/gfwlist -ipset=/.matainja.com/gfwlist -ipset=/.mathiew-badimon.com/gfwlist -ipset=/.matsu-news.gov.tw/gfwlist -ipset=/.matsushimakaede.com/gfwlist -ipset=/.maxgif.com/gfwlist -ipset=/.mayimayi.com/gfwlist -ipset=/.mcadforums.com/gfwlist -ipset=/.mcfog.com/gfwlist -ipset=/.md-t.org/gfwlist -ipset=/.mediafire.com/gfwlist -ipset=/.meetup.com/gfwlist -ipset=/.mefeedia.com/gfwlist -ipset=/.megaporn.com/gfwlist -ipset=/.megarotic.com/gfwlist -ipset=/.megavideo.com/gfwlist -ipset=/.megurineluka.com/gfwlist -ipset=/.meirixiaochao.com/gfwlist -ipset=/.melon-peach.com/gfwlist -ipset=/.memedia.cn/gfwlist -ipset=/.meme.yahoo.com/gfwlist -ipset=/.memrijttm.org/gfwlist -ipset=/.merit-times.com.tw/gfwlist -ipset=/.mesotw.com/gfwlist -ipset=/.metacafe.com/gfwlist -ipset=/.meteorshowersonline.com/gfwlist -ipset=/.metrolife.ca/gfwlist -ipset=/.mgoon.com/gfwlist -ipset=/.mgstage.com/gfwlist -ipset=/.mh4u.org/gfwlist -ipset=/.mhradio.org/gfwlist -ipset=/.michaelanti.com/gfwlist -ipset=/.michaelmarketl.com/gfwlist -ipset=/.middle-way.net/gfwlist -ipset=/.mihk.hk/gfwlist -ipset=/.mihua.org/gfwlist -ipset=/.mike.cz.cc/gfwlist -ipset=/.mimivip.com/gfwlist -ipset=/.minghui.org/gfwlist -ipset=/.minghui-school.org/gfwlist -ipset=/.mingjinglishi.com/gfwlist -ipset=/.mingjingnews.com/gfwlist -ipset=/.mingpaocanada.com/gfwlist -ipset=/.mingpao.com/gfwlist -ipset=/.mingpaomonthly.com/gfwlist -ipset=/.mingpaonews.com/gfwlist -ipset=/.mingpaony.com/gfwlist -ipset=/.mingpaosf.com/gfwlist -ipset=/.mingpaotor.com/gfwlist -ipset=/.mingpaovan.com/gfwlist -ipset=/.minimalmac.com/gfwlist -ipset=/.mininova.org/gfwlist -ipset=/.minzhuhua.net/gfwlist -ipset=/.minzhuzhongguo.org/gfwlist -ipset=/.miroguide.com/gfwlist -ipset=/.mirrorbooks.com/gfwlist -ipset=/.mitbbs.com/gfwlist -ipset=/.mixedmedialabs.com/gfwlist -ipset=/.mixero.com/gfwlist -ipset=/.mixpod.com/gfwlist -ipset=/.mixx.com/gfwlist -ipset=/.mizzmona.com/gfwlist -ipset=/.mk5000.com/gfwlist -ipset=/.mlcool.com/gfwlist -ipset=/.mmaaxx.com/gfwlist -ipset=/.mmmca.com/gfwlist -ipset=/.mobatek.net/gfwlist -ipset=/.mobile01.com/gfwlist -ipset=/.mobileways.de/gfwlist -ipset=/.mobypicture.com/gfwlist -ipset=/.moby.to/gfwlist -ipset=/.modfetish.com/gfwlist -ipset=/.moe.gov.tw/gfwlist -ipset=/.mog.com/gfwlist -ipset=/.molihua.org/gfwlist -ipset=/.mondex.org/gfwlist -ipset=/.monitorchina.org/gfwlist -ipset=/.moonriver7.files.wordpress.com/gfwlist -ipset=/.morningsun.org/gfwlist -ipset=/.m.oulove.org/gfwlist -ipset=/.movabletype.com/gfwlist -ipset=/.moviefap.com/gfwlist -ipset=/.mp3ye.eu/gfwlist -ipset=/.mpettis.com/gfwlist -ipset=/.mpfinance.com/gfwlist -ipset=/.mpinews.com/gfwlist -ipset=/.m.plixi.com/gfwlist -ipset=/.mrdoob.com/gfwlist -ipset=/.mrtweet.com/gfwlist -ipset=/.msguancha.com/gfwlist -ipset=/.m.slandr.net/gfwlist -ipset=/.mthruf.com/gfwlist -ipset=/.m.tweete.net/gfwlist -ipset=/.mtw.tl/gfwlist -ipset=/.multiply.com/gfwlist -ipset=/.multiproxy.org/gfwlist -ipset=/.multiupload.com/gfwlist -ipset=/.muouju.com/gfwlist -ipset=/.muselinks.co.jp/gfwlist -ipset=/.music.jwmusic.org/gfwlist -ipset=/.muzi.com/gfwlist -ipset=/.muzi.net/gfwlist -ipset=/.muzu.tv/gfwlist -ipset=/.mvdis.gov.tw/gfwlist -ipset=/.mx981.com/gfwlist -ipset=/.myactimes.com/gfwlist -ipset=/.my-addr.com/gfwlist -ipset=/.myaudiocast.com/gfwlist -ipset=/.myav.com.tw/gfwlist -ipset=/.my.backchina.com/gfwlist -ipset=/.myboooks.googlepages.com/gfwlist -ipset=/.mychinamyhome.com/gfwlist -ipset=/.myeclipseide.com/gfwlist -ipset=/.myforum.com.hk/gfwlist -ipset=/.myforum.com.uk/gfwlist -ipset=/.myfreshnet.com/gfwlist -ipset=/.my.keso.cn/gfwlist -ipset=/.myopenid.com/gfwlist -ipset=/.my.opera.com/gfwlist -ipset=/.mypaper.pchome.com.tw/gfwlist -ipset=/.myparagliding.com/gfwlist -ipset=/.mypopescu.com/gfwlist -ipset=/.my-proxy.com/gfwlist -ipset=/.myshare.url.com.tw/gfwlist -ipset=/.mysinablog.com/gfwlist -ipset=/.myspace.com/gfwlist -ipset=/.myvlog.im.tv/gfwlist -ipset=/.naacoalition.org/gfwlist -ipset=/.naitik.net/gfwlist -ipset=/.nakido.com/gfwlist -ipset=/.namsisi.com/gfwlist -ipset=/.nanyang.com/gfwlist -ipset=/.nanyangpost.com/gfwlist -ipset=/.nanzao.com/gfwlist -ipset=/.naol.ca/gfwlist -ipset=/.national-lottery.co.uk/gfwlist -ipset=/.navicat.com/gfwlist -ipset=/.navigeaters.com/gfwlist -ipset=/.navy.mil/gfwlist -ipset=/.nccwatch.org.tw/gfwlist -ipset=/.ncdr.nat.gov.tw/gfwlist -ipset=/.nch.com.tw/gfwlist -ipset=/.ncn.org/gfwlist -ipset=/.ncree.gov.tw/gfwlist -ipset=/.nde.de/gfwlist -ipset=/.ndr.de/gfwlist -ipset=/.nekoslovakia.net/gfwlist -ipset=/.nerch.gov.tw/gfwlist -ipset=/.ner.gov.tw/gfwlist -ipset=/.nerhl.gov.tw/gfwlist -ipset=/.nertt.gov.tw/gfwlist -ipset=/.netcolony.com/gfwlist -ipset=/.netflix.com/gfwlist -ipset=/.netme.cc/gfwlist -ipset=/.networkedblogs.com/gfwlist -ipset=/.neverforget8964.org/gfwlist -ipset=/.new-3lunch.net/gfwlist -ipset=/.new-akiba.com/gfwlist -ipset=/.newcenturymc.com/gfwlist -ipset=/.newcenturynews.com/gfwlist -ipset=/.newchen.com/gfwlist -ipset=/.newgrounds.com/gfwlist -ipset=/.newlandmagazine.com.au/gfwlist -ipset=/.news100.com.tw/gfwlist -ipset=/.newsancai.com/gfwlist -ipset=/.news.atebits.com/gfwlist -ipset=/.news.backchina.com/gfwlist -ipset=/.news.bbc.co.uk/gfwlist -ipset=/.newscn.org/gfwlist -ipset=/.news.cnyes.com/gfwlist -ipset=/.newsforums.bbc.co.uk/gfwlist -ipset=/.news.ghostery.com/gfwlist -ipset=/.news.google.com.hk/gfwlist -ipset=/.newsminer.com/gfwlist -ipset=/.news.msn.com.tw/gfwlist -ipset=/.news.omy.sg/gfwlist -ipset=/.news.pchome.com.tw/gfwlist -ipset=/.newspeak.cc/gfwlist -ipset=/.newspp.org/gfwlist -ipset=/.news.sina.com.hk/gfwlist -ipset=/.news.sina.com.tw/gfwlist -ipset=/.news.singtao.ca/gfwlist -ipset=/.newstapa.org/gfwlist -ipset=/.newtaiwan.com.tw/gfwlist -ipset=/.newtalk.tw/gfwlist -ipset=/.newyorktimes.com/gfwlist -ipset=/.nexton-net.jp/gfwlist -ipset=/.nexttv.com.tw/gfwlist -ipset=/.nf.id.au/gfwlist -ipset=/.nga.mil/gfwlist -ipset=/.ngensis.com/gfwlist -ipset=/.nhri.gov.tw/gfwlist -ipset=/.nic.cz.cc/gfwlist -ipset=/.nici.nat.gov.tw/gfwlist -ipset=/.nicovideo.tw/gfwlist -ipset=/.nict.gov.tw/gfwlist -ipset=/.nighost.org/gfwlist -ipset=/.nintendium.com/gfwlist -ipset=/.nintendowifi.net/gfwlist -ipset=/.njactb.org/gfwlist -ipset=/.njuice.com/gfwlist -ipset=/.nlfreevpn.com/gfwlist -ipset=/.nmh.gov.tw/gfwlist -ipset=/.nmmba.gov.tw/gfwlist -ipset=/.nmp.gov.tw/gfwlist -ipset=/.nmtl.gov.tw/gfwlist -ipset=/.nmvttc.gov.tw/gfwlist -ipset=/.nobelprize.org/gfwlist -ipset=/.nobel.se/gfwlist -ipset=/.nobodycanstop.us/gfwlist -ipset=/.nokogiri.org/gfwlist -ipset=/.nokola.com/gfwlist -ipset=/.noobbox.com/gfwlist -ipset=/.notes.alexdong.com/gfwlist -ipset=/.novelasia.com/gfwlist -ipset=/.nownews.com/gfwlist -ipset=/.nowtorrents.com/gfwlist -ipset=/.noypf.com/gfwlist -ipset=/.npa.go.jp/gfwlist -ipset=/.npm.gov.tw/gfwlist -ipset=/.nps.gov/gfwlist -ipset=/.nrk.no/gfwlist -ipset=/.nsc.gov.tw/gfwlist -ipset=/.nspo.gov.tw/gfwlist -ipset=/.nstm.gov.tw/gfwlist -ipset=/.ntdmh.gov.tw/gfwlist -ipset=/.ntdtv.ca/gfwlist -ipset=/.ntdtv.co/gfwlist -ipset=/.ntdtv.com/gfwlist -ipset=/.ntdtv.org/gfwlist -ipset=/.ntdtv.ru/gfwlist -ipset=/.ntl.gov.tw/gfwlist -ipset=/.ntsec.gov.tw/gfwlist -ipset=/.ntuh.gov.tw/gfwlist -ipset=/.nuexpo.com/gfwlist -ipset=/.nurgo-software.com/gfwlist -ipset=/.nuvid.com/gfwlist -ipset=/.nuzcom.com/gfwlist -ipset=/.nvquan.org/gfwlist -ipset=/.nvri.gov.tw/gfwlist -ipset=/.nydus.ca/gfwlist -ipset=/.nysingtao.com/gfwlist -ipset=/.nytco.com/gfwlist -ipset=/.nyt.com/gfwlist -ipset=/.nytimes.com/gfwlist -ipset=/.nytimg.com/gfwlist -ipset=/.nzchinese.net.nz/gfwlist -ipset=/.observechina.net/gfwlist -ipset=/.oclp.hk/gfwlist -ipset=/.october-review.org/gfwlist -ipset=/.offbeatchina.com/gfwlist -ipset=/.ogaoga.org/gfwlist -ipset=/.oikos.com.tw/gfwlist -ipset=/.oiktv.com/gfwlist -ipset=/.oizoblog.com/gfwlist -ipset=/.okayfreedom.com/gfwlist -ipset=/.old-cat.net/gfwlist -ipset=/.old.nabble.com/gfwlist -ipset=/.olumpo.com/gfwlist -ipset=/.olympicwatch.org/gfwlist -ipset=/.omgili.com/gfwlist -ipset=/.omnitalk.com/gfwlist -ipset=/.on.cc/gfwlist -ipset=/.one.xthost.info/gfwlist -ipset=/.onlylady.cn/gfwlist -ipset=/.onmoon.com/gfwlist -ipset=/.onmoon.net/gfwlist -ipset=/.oopsforum.com/gfwlist -ipset=/.ooyala.com/gfwlist -ipset=/.open.com.hk/gfwlist -ipset=/.opendemocracy.net/gfwlist -ipset=/.openid.net/gfwlist -ipset=/.openleaks.org/gfwlist -ipset=/.openvpn.net/gfwlist -ipset=/.openvpn.org/gfwlist -ipset=/.openwebster.com/gfwlist -ipset=/.opml.radiotime.com/gfwlist -ipset=/.opnir.com/gfwlist -ipset=/.orientaldaily.com.my/gfwlist -ipset=/.orient-doll.com/gfwlist -ipset=/.orn.jp/gfwlist -ipset=/.orzistic.org/gfwlist -ipset=/.osfoora.com/gfwlist -ipset=/.ourdearamy.com/gfwlist -ipset=/.oursogo.com/gfwlist -ipset=/.oursteps.com.au/gfwlist -ipset=/.overlapr.com/gfwlist -ipset=/.owl.li/gfwlist -ipset=/.ow.ly/gfwlist -ipset=/.oyax.com/gfwlist -ipset=/.ozchinese.com/gfwlist -ipset=/.ozyoyo.com/gfwlist -ipset=/.pabp.gov.tw/gfwlist -ipset=/.pacificpoker.com/gfwlist -ipset=/.packages.debian.org/gfwlist -ipset=/.packetix.net/gfwlist -ipset=/.page2rss.com/gfwlist -ipset=/.page.bid.yahoo.com/gfwlist -ipset=/.pagodabox.com/gfwlist -ipset=/.paint.net/gfwlist -ipset=/.palacemoon.com/gfwlist -ipset=/.pandora.com/gfwlist -ipset=/.pandora.tv/gfwlist -ipset=/.panluan.net/gfwlist -ipset=/.panoramio.com/gfwlist -ipset=/.pao-pao.net/gfwlist -ipset=/.paperb.us/gfwlist -ipset=/.paper.li/gfwlist -ipset=/.paper-replika.com/gfwlist -ipset=/.parade.com/gfwlist -ipset=/.parislemon.com/gfwlist -ipset=/.pastebin.com/gfwlist -ipset=/.pastie.org/gfwlist -ipset=/.patehr.gov.tw/gfwlist -ipset=/.pbs.org/gfwlist -ipset=/.pbwiki.com/gfwlist -ipset=/.pbworks.com/gfwlist -ipset=/.pbxes.com/gfwlist -ipset=/.pbxes.org/gfwlist -ipset=/.pcdiscuss.com/gfwlist -ipset=/.pcdvd.com.tw/gfwlist -ipset=/.pchome.com.tw/gfwlist -ipset=/.pct.org.tw/gfwlist -ipset=/.pcworld.com/gfwlist -ipset=/.pdetails.com/gfwlist -ipset=/.pdproxy.com/gfwlist -ipset=/.peacefire.org/gfwlist -ipset=/.peacehall.com/gfwlist -ipset=/.peeasian.com/gfwlist -ipset=/.peerpong.com/gfwlist -ipset=/.pekingduck.org/gfwlist -ipset=/.penchinese.com/gfwlist -ipset=/.penchinese.net/gfwlist -ipset=/.pengyulong.com/gfwlist -ipset=/.penthouse.com/gfwlist -ipset=/.peopo.org/gfwlist -ipset=/.percy.in/gfwlist -ipset=/.perfectgirls.net/gfwlist -ipset=/.perfectvpn.net/gfwlist -ipset=/.perfspot.com/gfwlist -ipset=/.perlhowto.com/gfwlist -ipset=/.pet.gov.tw/gfwlist -ipset=/.philly.com/gfwlist -ipset=/.photofocus.com/gfwlist -ipset=/.photos.dailyme.com/gfwlist -ipset=/.photo.utom.us/gfwlist -ipset=/.phuquocservices.com/gfwlist -ipset=/.picasaweb.google.com/gfwlist -ipset=/.picidae.net/gfwlist -ipset=/.picturesocial.com/gfwlist -ipset=/.pictures.playboy.com/gfwlist -ipset=/.pidown.com/gfwlist -ipset=/.pign.net/gfwlist -ipset=/.pimg.tw/gfwlist -ipset=/.pin6.com/gfwlist -ipset=/.ping.fm/gfwlist -ipset=/.pinoy-n.com/gfwlist -ipset=/.pioneer-worker.forums-free.com/gfwlist -ipset=/.piring.com/gfwlist -ipset=/.pixanalytics.com/gfwlist -ipset=/.pixelqi.com/gfwlist -ipset=/.pixfs.net/gfwlist -ipset=/.pixnet.cc/gfwlist -ipset=/.pixnet.net/gfwlist -ipset=/.pixplug.in/gfwlist -ipset=/.pk.com/gfwlist -ipset=/.placemix.com/gfwlist -ipset=/.planetsuzy.org/gfwlist -ipset=/.playboy.com/gfwlist -ipset=/.plays.com.tw/gfwlist -ipset=/.plm.org.hk/gfwlist -ipset=/.plunder.com/gfwlist -ipset=/.plurk.com/gfwlist -ipset=/.plurktop.mmdays.com/gfwlist -ipset=/.plus28.com/gfwlist -ipset=/.plusbb.com/gfwlist -ipset=/.pmates.com/gfwlist -ipset=/.po2b.com/gfwlist -ipset=/.podictionary.com/gfwlist -ipset=/.pokerstars.com/gfwlist -ipset=/.politicalchina.org/gfwlist -ipset=/.popvote.hk/gfwlist -ipset=/.popyard.com/gfwlist -ipset=/.popyard.org/gfwlist -ipset=/.porn2.com/gfwlist -ipset=/.pornbase.org/gfwlist -ipset=/.porn.com/gfwlist -ipset=/.pornhub.com/gfwlist -ipset=/.pornmm.net/gfwlist -ipset=/.pornoxo.com/gfwlist -ipset=/.pornrapidshare.com/gfwlist -ipset=/.pornstarclub.com/gfwlist -ipset=/.porntube.com/gfwlist -ipset=/.pornvisit.com/gfwlist -ipset=/.portis21.spaces.live.com/gfwlist -ipset=/.pose.com/gfwlist -ipset=/.postadult.com/gfwlist -ipset=/.post.anyu.org/gfwlist -ipset=/.posterous.com/gfwlist -ipset=/.post.ly/gfwlist -ipset=/.powerapple.com/gfwlist -ipset=/.power.com/gfwlist -ipset=/.powercx.com/gfwlist -ipset=/.prayforchina.net/gfwlist -ipset=/.premeforwindows7.com/gfwlist -ipset=/.presentationzen.com/gfwlist -ipset=/.president.gov.tw/gfwlist -ipset=/.prestige-av.com/gfwlist -ipset=/.previewshots.com/gfwlist -ipset=/.privacybox.de/gfwlist -ipset=/.privateinternetaccess.com/gfwlist -ipset=/.privatepaste.com/gfwlist -ipset=/.privatetunnel.com/gfwlist -ipset=/.procopytips.com/gfwlist -ipset=/.program-think.spaces.live.com/gfwlist -ipset=/.prosiben.de/gfwlist -ipset=/.provideocoalition.com/gfwlist -ipset=/.proxifier.com/gfwlist -ipset=/.proxomitron.info/gfwlist -ipset=/.proxy.org/gfwlist -ipset=/.proxypy.net/gfwlist -ipset=/.proxyroad.com/gfwlist -ipset=/.prozz.net/gfwlist -ipset=/.psblog.name/gfwlist -ipset=/.psiphon.ca/gfwlist -ipset=/.psiphon.civisec.org/gfwlist -ipset=/.pts.org.tw/gfwlist -ipset=/.ptt.cc/gfwlist -ipset=/.pubu.com.tw/gfwlist -ipset=/.puffinbrowser.com/gfwlist -ipset=/.puffstore.com/gfwlist -ipset=/.pullfolio.com/gfwlist -ipset=/.pulse.yahoo.com/gfwlist -ipset=/.pure18.com/gfwlist -ipset=/.pureconcepts.net/gfwlist -ipset=/.purepdf.com/gfwlist -ipset=/.purevpn.com/gfwlist -ipset=/.putlocker.com/gfwlist -ipset=/.puttycm.free.fr/gfwlist -ipset=/.pwned.com/gfwlist -ipset=/.python.com/gfwlist -ipset=/.python.com.tw/gfwlist -ipset=/.qanote.com/gfwlist -ipset=/.qidian.ca/gfwlist -ipset=/.qienkuen.org/gfwlist -ipset=/.qi-gong.me/gfwlist -ipset=/.qiwen.lu/gfwlist -ipset=/.qixianglu.cn/gfwlist -ipset=/.qkshare.com/gfwlist -ipset=/.qoos.com/gfwlist -ipset=/.qq.co.za/gfwlist -ipset=/.qstatus.com/gfwlist -ipset=/.qtrac.eu/gfwlist -ipset=/.qtweeter.com/gfwlist -ipset=/.quadedge.com/gfwlist -ipset=/.qusi8.net/gfwlist -ipset=/.qvodzy.org/gfwlist -ipset=/.qxbbs.org/gfwlist -ipset=/.radicalparty.org/gfwlist -ipset=/.radioaustralia.net.au/gfwlist -ipset=/.radiovaticana.org/gfwlist -ipset=/.radiovncr.com/gfwlist -ipset=/.raidcall.com.tw/gfwlist -ipset=/.rangzen.org/gfwlist -ipset=/.ranyunfei.com/gfwlist -ipset=/.rapbull.net/gfwlist -ipset=/.rapidshare8.com/gfwlist -ipset=/.rapidsharedata.com/gfwlist -ipset=/.rayfme.com/gfwlist -ipset=/.rcinet.ca/gfwlist -ipset=/.rconversation.blogs.com/gfwlist -ipset=/.rdio.com/gfwlist -ipset=/.read100.com/gfwlist -ipset=/.readingtimes.com.tw/gfwlist -ipset=/.readmoo.com/gfwlist -ipset=/.realraptalk.com/gfwlist -ipset=/.recordhistory.org/gfwlist -ipset=/.redchinacn.org/gfwlist -ipset=/.redtube.com/gfwlist -ipset=/.referer.us/gfwlist -ipset=/.reflectivecode.com/gfwlist -ipset=/.relaxbbs.com/gfwlist -ipset=/.renminbao.com/gfwlist -ipset=/.renyurenquan.org/gfwlist -ipset=/.retweeteffect.com/gfwlist -ipset=/.retweetist.com/gfwlist -ipset=/.retweetrank.com/gfwlist -ipset=/.revleft.com/gfwlist -ipset=/.revsci.net/gfwlist -ipset=/.revver.com/gfwlist -ipset=/.rfachina.com/gfwlist -ipset=/.rfamobile.org/gfwlist -ipset=/.rfa.org/gfwlist -ipset=/.rferl.org/gfwlist -ipset=/.rfi.fr/gfwlist -ipset=/.rhcloud.com/gfwlist -ipset=/.riku.me/gfwlist -ipset=/.rileyguide.com/gfwlist -ipset=/.rlwlw.com/gfwlist -ipset=/.rmjdw.com/gfwlist -ipset=/.rnw.nl/gfwlist -ipset=/.robtex.com/gfwlist -ipset=/.robustnessiskey.com/gfwlist -ipset=/.rocmp.org/gfwlist -ipset=/.rojo.com/gfwlist -ipset=/.ronjoneswriter.com/gfwlist -ipset=/.roodo.com/gfwlist -ipset=/.rotten.com/gfwlist -ipset=/.rsf-chinese.org/gfwlist -ipset=/.rsf.org/gfwlist -ipset=/.rssmeme.com/gfwlist -ipset=/.rthk.hk/gfwlist -ipset=/.rthk.org.hk/gfwlist -ipset=/.rti.org.tw/gfwlist -ipset=/.ruanyifeng.com/gfwlist -ipset=/.rushbee.com/gfwlist -ipset=/.rutube.ru/gfwlist -ipset=/.ruyiseek.com/gfwlist -ipset=/.rxhj.net/gfwlist -ipset=/.s1heng.com/gfwlist -ipset=/.s8forum.com/gfwlist -ipset=/.sacom.hk/gfwlist -ipset=/.sadpanda.us/gfwlist -ipset=/.saiq.me/gfwlist -ipset=/.salvation.org.hk/gfwlist -ipset=/.samair.ru/gfwlist -ipset=/.sammyjs.org/gfwlist -ipset=/.samsoff.es/gfwlist -ipset=/.sandnoble.com/gfwlist -ipset=/.sankaizok.com/gfwlist -ipset=/.sanmin.com.tw/gfwlist -ipset=/.sapikachu.net/gfwlist -ipset=/.savemedia.com/gfwlist -ipset=/.savetibet.de/gfwlist -ipset=/.savetibet.fr/gfwlist -ipset=/.savetibet.nl/gfwlist -ipset=/.savetibet.org/gfwlist -ipset=/.savetibet.ru/gfwlist -ipset=/.savevid.com/gfwlist -ipset=/.say2.info/gfwlist -ipset=/.scanscout.com/gfwlist -ipset=/.scmpchinese.com/gfwlist -ipset=/.scmp.com/gfwlist -ipset=/.scorecardresearch.com/gfwlist -ipset=/.scribd.com/gfwlist -ipset=/.scriptspot.com/gfwlist -ipset=/.seapuff.com/gfwlist -ipset=/.secretchina.com/gfwlist -ipset=/.secretgarden.no/gfwlist -ipset=/.secure.wikimedia.org/gfwlist -ipset=/.securitykiss.com/gfwlist -ipset=/.seesmic.com/gfwlist -ipset=/.seevpn.com/gfwlist -ipset=/.seezone.net/gfwlist -ipset=/.sejie.com/gfwlist -ipset=/.sendoid.com/gfwlist -ipset=/.sendspace.com/gfwlist -ipset=/.sesawe.net/gfwlist -ipset=/.sesawe.org/gfwlist -ipset=/.sethwklein.net/gfwlist -ipset=/.sevenload.com/gfwlist -ipset=/.sex-11.com/gfwlist -ipset=/.sex3.com/gfwlist -ipset=/.sex8.cc/gfwlist -ipset=/.sexandsubmission.com/gfwlist -ipset=/.sex.com/gfwlist -ipset=/.sexhuang.com/gfwlist -ipset=/.sexhu.com/gfwlist -ipset=/.sexinsex.net/gfwlist -ipset=/.sfileydy.com/gfwlist -ipset=/.shadow.ma/gfwlist -ipset=/.shadowsocks.org/gfwlist -ipset=/.shahamat-english.com/gfwlist -ipset=/.shangfang.org/gfwlist -ipset=/.shapeservices.com/gfwlist -ipset=/.sharebee.com/gfwlist -ipset=/.sharecool.org/gfwlist -ipset=/.share.ovi.com/gfwlist -ipset=/.share.skype.com/gfwlist -ipset=/.share.youthwant.com.tw/gfwlist -ipset=/.sharkdolphin.com/gfwlist -ipset=/.sharpdaily.com.hk/gfwlist -ipset=/.sharpdaily.hk/gfwlist -ipset=/.shaunthesheep.com/gfwlist -ipset=/.sheikyermami.com/gfwlist -ipset=/.shellmix.com/gfwlist -ipset=/.shenshou.org/gfwlist -ipset=/.shenyunperformingarts.org/gfwlist -ipset=/.shenzhoufilm.com/gfwlist -ipset=/.shifeike.blog125.fc2blog.net/gfwlist -ipset=/.shinychan.com/gfwlist -ipset=/.shitaotv.org/gfwlist -ipset=/.shixiao.org/gfwlist -ipset=/.shizhao.org/gfwlist -ipset=/.shkspr.mobi/gfwlist -ipset=/.shodanhq.com/gfwlist -ipset=/.shopping.com/gfwlist -ipset=/.showbiz.omy.sg/gfwlist -ipset=/.showtime.jp/gfwlist -ipset=/.shwchurch3.com/gfwlist -ipset=/.sidelinesnews.com/gfwlist -ipset=/.sidelinessportseatery.com/gfwlist -ipset=/.simplecd.me/gfwlist -ipset=/.simplecd.org/gfwlist -ipset=/.simpleproductivityblog.com/gfwlist -ipset=/.sina.com.tw/gfwlist -ipset=/.singtao.com/gfwlist -ipset=/.singularitys.spaces.live.com/gfwlist -ipset=/.sinoants.com/gfwlist -ipset=/.sinocast.com/gfwlist -ipset=/.sinocism.com/gfwlist -ipset=/.sino-monthly.com/gfwlist -ipset=/.sinomontreal.ca/gfwlist -ipset=/.sinonet.ca/gfwlist -ipset=/.sinopitt.info/gfwlist -ipset=/.sinoquebec.com/gfwlist -ipset=/.sis001.com/gfwlist -ipset=/.sis001.us/gfwlist -ipset=/.sis.xxx/gfwlist -ipset=/.site90.net/gfwlist -ipset=/.sitebro.tw/gfwlist -ipset=/.siteks.uk.to/gfwlist -ipset=/.site.locql.com/gfwlist -ipset=/.sitemaps.org/gfwlist -ipset=/.sites.google.com/gfwlist -ipset=/.sitetag.us/gfwlist -ipset=/.siyi123123123.spaces.live.com/gfwlist -ipset=/.skimtube.com/gfwlist -ipset=/.skybet.com/gfwlist -ipset=/.skyvegas.com/gfwlist -ipset=/.slacker.com/gfwlist -ipset=/.slavasoft.com/gfwlist -ipset=/.slheng.com/gfwlist -ipset=/.slickvpn.com/gfwlist -ipset=/.slideshare.net/gfwlist -ipset=/.slinkset.com/gfwlist -ipset=/.slutload.com/gfwlist -ipset=/.smhric.org/gfwlist -ipset=/.snapchat.com/gfwlist -ipset=/.snaptu.com/gfwlist -ipset=/.sndcdn.com/gfwlist -ipset=/.sneakme.net/gfwlist -ipset=/.snooper.co.uk/gfwlist -ipset=/.sobees.com/gfwlist -ipset=/.socialwhale.com/gfwlist -ipset=/.sockslist.net/gfwlist -ipset=/.sod.co.jp/gfwlist -ipset=/.softether.co.jp/gfwlist -ipset=/.softether-download.com/gfwlist -ipset=/.softether.org/gfwlist -ipset=/.softwarebychuck.com/gfwlist -ipset=/.so-ga.net/gfwlist -ipset=/.sogclub.com/gfwlist -ipset=/.sogou.com/gfwlist -ipset=/.sogrady.me/gfwlist -ipset=/.sohcradio.com/gfwlist -ipset=/.sohfrance.org/gfwlist -ipset=/.soh.tw/gfwlist -ipset=/.sokamonline.com/gfwlist -ipset=/.solozorro.tk/gfwlist -ipset=/.somee.com/gfwlist -ipset=/.so-news.com/gfwlist -ipset=/.songjianjun.com/gfwlist -ipset=/.sonidodelaesperanza.org/gfwlist -ipset=/.sopcast.com/gfwlist -ipset=/.sopcast.org/gfwlist -ipset=/.sorting-algorithms.com/gfwlist -ipset=/.soumo.info/gfwlist -ipset=/.soundcloud.com/gfwlist -ipset=/.soundofhope.kr/gfwlist -ipset=/.soundofhope.org/gfwlist -ipset=/.soupofmedia.com/gfwlist -ipset=/.sourceforge.net/gfwlist -ipset=/.southnews.com.tw/gfwlist -ipset=/.sowers.org.hk/gfwlist -ipset=/.space-scape.com/gfwlist -ipset=/.spankwire.com/gfwlist -ipset=/.spb.com/gfwlist -ipset=/.speckleapp.com/gfwlist -ipset=/.speedpluss.org/gfwlist -ipset=/.spencertipping.com/gfwlist -ipset=/.spinejs.com/gfwlist -ipset=/.sports.williamhill.com/gfwlist -ipset=/.spotify.com/gfwlist -ipset=/.sproutcore.com/gfwlist -ipset=/.squarespace.com/gfwlist -ipset=/.srcf.ucam.org/gfwlist -ipset=/.ssh91.com/gfwlist -ipset=/.sshtunnel.googlecode.com/gfwlist -ipset=/.sstatic.net/gfwlist -ipset=/.stag.gov.tw/gfwlist -ipset=/.standupfortibet.org/gfwlist -ipset=/.starp2p.com/gfwlist -ipset=/.startpage.com/gfwlist -ipset=/.statcounter.com/gfwlist -ipset=/.state168.com/gfwlist -ipset=/.static.apple.nextmedia.com/gfwlist -ipset=/.static.digg.com/gfwlist -ipset=/.staticflickr.com/gfwlist -ipset=/.static.nownews.com/gfwlist -ipset=/.static.soup.io/gfwlist -ipset=/.static.typepad.com/gfwlist -ipset=/.status.twhirl.org/gfwlist -ipset=/.stdtime.gov.tw/gfwlist -ipset=/.steel-storm.com/gfwlist -ipset=/.sthoo.com/gfwlist -ipset=/.stickam.com/gfwlist -ipset=/.stickeraction.com/gfwlist -ipset=/.stonegames.net/gfwlist -ipset=/.stoneip.info/gfwlist -ipset=/.stoptibetcrisis.net/gfwlist -ipset=/.storagenewsletter.com/gfwlist -ipset=/.stoweboyd.com/gfwlist -ipset=/.streamingthe.net/gfwlist -ipset=/.strongvpn.com/gfwlist -ipset=/.student.tw/gfwlist -ipset=/.stuffimreading.com/gfwlist -ipset=/.stuffimreading.net/gfwlist -ipset=/.stupidvideos.com/gfwlist -ipset=/.subacme.rerouted.org/gfwlist -ipset=/.sublexical.spaces.live.com/gfwlist -ipset=/.sufeng.org/gfwlist -ipset=/.sugarsync.com/gfwlist -ipset=/.summify.com/gfwlist -ipset=/.sun1911.com/gfwlist -ipset=/.suoluo.org/gfwlist -ipset=/.surfeasy.com.au/gfwlist -ipset=/.svwind.com/gfwlist -ipset=/.sweux.com/gfwlist -ipset=/.swift-tools.net/gfwlist -ipset=/.s.xiaod.in/gfwlist -ipset=/.sydneytoday.com/gfwlist -ipset=/.sylfoundation.org/gfwlist -ipset=/.syncback.com/gfwlist -ipset=/.sysadmin1138.net/gfwlist -ipset=/.sysresccd.org/gfwlist -ipset=/.sytes.net/gfwlist -ipset=/.szbbs.net/gfwlist -ipset=/.szetowah.org.hk/gfwlist -ipset=/.t35.com/gfwlist -ipset=/.t66y.com/gfwlist -ipset=/.taa-usa.org/gfwlist -ipset=/.tabtter.jp/gfwlist -ipset=/.tacem.org/gfwlist -ipset=/.tafaward.com/gfwlist -ipset=/.tagwalk.com/gfwlist -ipset=/.taipei.gov.tw/gfwlist -ipset=/.taipeisociety.org/gfwlist -ipset=/.taitung-house.gov.tw/gfwlist -ipset=/.taiwandaily.net/gfwlist -ipset=/.taiwankiss.com/gfwlist -ipset=/.taiwannation.50webs.com/gfwlist -ipset=/.taiwannation.com/gfwlist -ipset=/.taiwannation.com.tw/gfwlist -ipset=/.taiwannews.com.tw/gfwlist -ipset=/.taiwan-sex.com/gfwlist -ipset=/.taiwantt.org.tw/gfwlist -ipset=/.taiwanus.net/gfwlist -ipset=/.taiwanyes.com/gfwlist -ipset=/.taiwanyes.ning.com/gfwlist -ipset=/.tamiaode.tk/gfwlist -ipset=/.tanc.org/gfwlist -ipset=/.tangben.com/gfwlist -ipset=/.taolun.info/gfwlist -ipset=/.taoyuan.gov.tw/gfwlist -ipset=/.tap11.com/gfwlist -ipset=/.target.com/gfwlist -ipset=/.taweet.com/gfwlist -ipset=/.tax.nat.gov.tw/gfwlist -ipset=/.tbpic.info/gfwlist -ipset=/.tbsec.org/gfwlist -ipset=/.tbsn.org/gfwlist -ipset=/.tbsseattle.org/gfwlist -ipset=/.tchb.gov.tw/gfwlist -ipset=/.tchrd.org/gfwlist -ipset=/.t.co/gfwlist -ipset=/.tcsac.gov.tw/gfwlist -ipset=/.teamseesmic.com/gfwlist -ipset=/.teashark.com/gfwlist -ipset=/.techlifeweb.com/gfwlist -ipset=/.techparaiso.com/gfwlist -ipset=/.telecomspace.com/gfwlist -ipset=/.telegraph.co.uk/gfwlist -ipset=/.tenacy.com/gfwlist -ipset=/.thbstc.gov.tw/gfwlist -ipset=/.theampfactory.com/gfwlist -ipset=/.theappleblog.com/gfwlist -ipset=/.theatrum-belli.com/gfwlist -ipset=/.thebcomplex.com/gfwlist -ipset=/.theblemish.com/gfwlist -ipset=/.thebodyshop-usa.com/gfwlist -ipset=/.thechinabeat.org/gfwlist -ipset=/.thedailywh.at/gfwlist -ipset=/.thedieline.com/gfwlist -ipset=/.thedw.us/gfwlist -ipset=/.thegatesnotes.com/gfwlist -ipset=/.thehots.info/gfwlist -ipset=/.thehousenews.com/gfwlist -ipset=/.thehungrydudes.com/gfwlist -ipset=/.thehun.net/gfwlist -ipset=/.theinternetwishlist.com/gfwlist -ipset=/.thelifeyoucansave.com/gfwlist -ipset=/.thelius.org/gfwlist -ipset=/.thepiratebay.org/gfwlist -ipset=/.thepiratebay.se/gfwlist -ipset=/.theqii.info/gfwlist -ipset=/.thereallove.kr/gfwlist -ipset=/.thesartorialist.com/gfwlist -ipset=/.thespeeder.com/gfwlist -ipset=/.the-sun.on.cc/gfwlist -ipset=/.thetibetpost.com/gfwlist -ipset=/.thetrotskymovie.com/gfwlist -ipset=/.thevivekspot.com/gfwlist -ipset=/.thewgo.org/gfwlist -ipset=/.thisav.com/gfwlist -ipset=/.thisiswhyyouarefat.com/gfwlist -ipset=/.thkphoto.com/gfwlist -ipset=/.thomasbernhard.org/gfwlist -ipset=/.threatchaos.com/gfwlist -ipset=/.throughnightsfire.com/gfwlist -ipset=/.t.huhaitai.com/gfwlist -ipset=/.thumbzilla.com/gfwlist -ipset=/.thywords.com/gfwlist -ipset=/.tiananmenmother.org/gfwlist -ipset=/.tiananmenuniv.com/gfwlist -ipset=/.tiananmenuniv.net/gfwlist -ipset=/.tiandixing.org/gfwlist -ipset=/.tianhuayuan.com/gfwlist -ipset=/.tiantibooks.org/gfwlist -ipset=/.tianzhu.org/gfwlist -ipset=/.tibetalk.com/gfwlist -ipset=/.tibetanyouthcongress.org/gfwlist -ipset=/.tibet.at/gfwlist -ipset=/.tibet.com/gfwlist -ipset=/.tibetcorps.org/gfwlist -ipset=/.tibetfund.org/gfwlist -ipset=/.tibetjustice.org/gfwlist -ipset=/.tibet.net/gfwlist -ipset=/.tibetoffice.org/gfwlist -ipset=/.tibetonline.com/gfwlist -ipset=/.tibetonline.tv/gfwlist -ipset=/.tibet.org.tw/gfwlist -ipset=/.tibetsun.com/gfwlist -ipset=/.tibetwrites.org/gfwlist -ipset=/.tidyread.com/gfwlist -ipset=/.time.com/gfwlist -ipset=/.times.hinet.net/gfwlist -ipset=/.tinychat.com/gfwlist -ipset=/.tinypaste.com/gfwlist -ipset=/.tinypng.com/gfwlist -ipset=/.tistory.com/gfwlist -ipset=/.tjholowaychuk.com/gfwlist -ipset=/.tkcs-collins.com/gfwlist -ipset=/.tkforum.tk/gfwlist -ipset=/.t.kun.im/gfwlist -ipset=/.tmagazine.com/gfwlist -ipset=/.tmi.me/gfwlist -ipset=/.tnaflix.com/gfwlist -ipset=/.tncsec.gov.tw/gfwlist -ipset=/.t.neolee.cn/gfwlist -ipset=/.togetter.com/gfwlist -ipset=/.tokyo-247.com/gfwlist -ipset=/.tokyocn.com/gfwlist -ipset=/.tokyo-hot.com/gfwlist -ipset=/.tomayko.com/gfwlist -ipset=/.tomsc.com/gfwlist -ipset=/.tono-oka.jp/gfwlist -ipset=/.tonyyan.net/gfwlist -ipset=/.toodoc.com/gfwlist -ipset=/.toonel.net/gfwlist -ipset=/.topic.youthwant.com.tw/gfwlist -ipset=/.topnews.in/gfwlist -ipset=/.topshare.us/gfwlist -ipset=/.topshareware.com/gfwlist -ipset=/.topstyle4.com/gfwlist -ipset=/.topsy.com/gfwlist -ipset=/.tora.to/gfwlist -ipset=/.tor.blingblingsquad.net/gfwlist -ipset=/.torproject.org/gfwlist -ipset=/.torrentcrazy.com/gfwlist -ipset=/.torrentproject.se/gfwlist -ipset=/.tor.updatestar.com/gfwlist -ipset=/.torvpn.com/gfwlist -ipset=/.t.orzdream.com/gfwlist -ipset=/.tosh.comedycentral.com/gfwlist -ipset=/.touch99.com/gfwlist -ipset=/.toutfr.com/gfwlist -ipset=/.tpde.aide.gov.tw/gfwlist -ipset=/.tphcc.gov.tw/gfwlist -ipset=/.tpi.org.tw/gfwlist -ipset=/.transgressionism.org/gfwlist -ipset=/.transparency.org/gfwlist -ipset=/.travelinlocal.com/gfwlist -ipset=/.trendsmap.com/gfwlist -ipset=/.trialofccp.org/gfwlist -ipset=/.tripod.com/gfwlist -ipset=/.trouw.nl/gfwlist -ipset=/.trtc.com.tw/gfwlist -ipset=/.trt.net.tr/gfwlist -ipset=/.trulyergonomic.com/gfwlist -ipset=/.trustedbi.com/gfwlist -ipset=/.truth101.co.tv/gfwlist -ipset=/.truthcn.com/gfwlist -ipset=/.truveo.com/gfwlist -ipset=/.tsctv.net/gfwlist -ipset=/.tsemtulku.com/gfwlist -ipset=/.tsquare.tv/gfwlist -ipset=/.tsunagarumon.com/gfwlist -ipset=/.tt1069.com/gfwlist -ipset=/.tttan.com/gfwlist -ipset=/.tuanzt.com/gfwlist -ipset=/.tube8.com/gfwlist -ipset=/.tubecao.com/gfwlist -ipset=/.tube.com/gfwlist -ipset=/.tubewolf.com/gfwlist -ipset=/.tuidang.net/gfwlist -ipset=/.tuidang.org/gfwlist -ipset=/.tui.orzdream.com/gfwlist -ipset=/.tuite.googlecode.com/gfwlist -ipset=/.tumblr.awflasher.com/gfwlist -ipset=/.tumblweed.org/gfwlist -ipset=/.tumutanzi.com/gfwlist -ipset=/.tunein.com/gfwlist -ipset=/.tunnelbear.com/gfwlist -ipset=/.turbobit.net/gfwlist -ipset=/.turbotwitter.com/gfwlist -ipset=/.turningtorso.com/gfwlist -ipset=/.turntable.fm/gfwlist -ipset=/.tuxtraining.com/gfwlist -ipset=/.tvants.com/gfwlist -ipset=/.tvboxnow.com/gfwlist -ipset=/.tv.com/gfwlist -ipset=/.tvider.com/gfwlist -ipset=/.tv-intros.com/gfwlist -ipset=/.tv.on.cc/gfwlist -ipset=/.tvunetworks.com/gfwlist -ipset=/.twapperkeeper.com/gfwlist -ipset=/.twa.sh/gfwlist -ipset=/.twaud.io/gfwlist -ipset=/.twbbs.net.tw/gfwlist -ipset=/.twbbs.org/gfwlist -ipset=/.twbbs.tw/gfwlist -ipset=/.twblogger.com/gfwlist -ipset=/.tweepguide.com/gfwlist -ipset=/.tweeplike.me/gfwlist -ipset=/.tweepmag.com/gfwlist -ipset=/.tweepml.org/gfwlist -ipset=/.tweetbackup.com/gfwlist -ipset=/.tweetboard.com/gfwlist -ipset=/.tweetboner.biz/gfwlist -ipset=/.tweetdeck.com/gfwlist -ipset=/.tweetedtimes.com/gfwlist -ipset=/.tweetmeme.com/gfwlist -ipset=/.tweetmylast.fm/gfwlist -ipset=/.tweetphoto.com/gfwlist -ipset=/.tweetrans.com/gfwlist -ipset=/.tweetree.com/gfwlist -ipset=/.tweetwally.com/gfwlist -ipset=/.tweetymail.com/gfwlist -ipset=/.twftp.org/gfwlist -ipset=/.twibase.com/gfwlist -ipset=/.twibble.de/gfwlist -ipset=/.twibbon.com/gfwlist -ipset=/.twibs.com/gfwlist -ipset=/.twicsy.com/gfwlist -ipset=/.twifan.com/gfwlist -ipset=/.twiffo.com/gfwlist -ipset=/.twiggit.org/gfwlist -ipset=/.twilog.org/gfwlist -ipset=/.twimbow.com/gfwlist -ipset=/.twimg.com/gfwlist -ipset=/.twimg.edgesuite.net/gfwlist -ipset=/.tw.img.nextmedia.com/gfwlist -ipset=/.twindexx.com/gfwlist -ipset=/.twipple.jp/gfwlist -ipset=/.twistar.cc/gfwlist -ipset=/.twisternow.com/gfwlist -ipset=/.twistory.net/gfwlist -ipset=/.twit2d.com/gfwlist -ipset=/.twitbrowser.net/gfwlist -ipset=/.twitcause.com/gfwlist -ipset=/.twitese.spaces.live.com/gfwlist -ipset=/.twitgether.com/gfwlist -ipset=/.twitgoo.com/gfwlist -ipset=/.twitiq.com/gfwlist -ipset=/.twitlonger.com/gfwlist -ipset=/.twitoaster.com/gfwlist -ipset=/.twitonmsn.com/gfwlist -ipset=/.twitpic.com/gfwlist -ipset=/.twitreferral.com/gfwlist -ipset=/.twitstat.com/gfwlist -ipset=/.twittbot.net/gfwlist -ipset=/.twitter4j.org/gfwlist -ipset=/.twitter.com/gfwlist -ipset=/.twittercounter.com/gfwlist -ipset=/.twitterfeed.com/gfwlist -ipset=/.twittergadget.com/gfwlist -ipset=/.twitter.jp/gfwlist -ipset=/.twitterkr.com/gfwlist -ipset=/.twittermail.com/gfwlist -ipset=/.twittertim.es/gfwlist -ipset=/.twitthat.com/gfwlist -ipset=/.twitturk.com/gfwlist -ipset=/.twitturly.com/gfwlist -ipset=/.twitvid.com/gfwlist -ipset=/.twitzap.com/gfwlist -ipset=/.twiyia.com/gfwlist -ipset=/.tw.jiepang.com/gfwlist -ipset=/.tw.myblog.yahoo.com/gfwlist -ipset=/.tw.news.yahoo.com/gfwlist -ipset=/.tw-npo.org/gfwlist -ipset=/.tw.rd.yahoo.com/gfwlist -ipset=/.twreg.info/gfwlist -ipset=/.twstar.net/gfwlist -ipset=/.tw.streetvoice.com/gfwlist -ipset=/.twt.fm/gfwlist -ipset=/.twtkr.com/gfwlist -ipset=/.twtr2src.ogaoga.org/gfwlist -ipset=/.twtrland.com/gfwlist -ipset=/.twt.tl/gfwlist -ipset=/.twttr.com/gfwlist -ipset=/.twurl.nl/gfwlist -ipset=/.tw.voa.mobi/gfwlist -ipset=/.twyac.org/gfwlist -ipset=/.tw.yahoo.com/gfwlist -ipset=/.tycool.com/gfwlist -ipset=/.tynsoe.org/gfwlist -ipset=/.typepad.com/gfwlist -ipset=/.tzangms.com/gfwlist -ipset=/.ub0.cc/gfwlist -ipset=/.uberproxy.net/gfwlist -ipset=/.ucdc1998.org/gfwlist -ipset=/.uderzo.it/gfwlist -ipset=/.udn.com/gfwlist -ipset=/.ufreevpn.com/gfwlist -ipset=/.ugo.com/gfwlist -ipset=/.uhrp.org/gfwlist -ipset=/.uighurbiz.net/gfwlist -ipset=/.ukliferadio.co.uk/gfwlist -ipset=/.ulike.net/gfwlist -ipset=/.ultravpn.fr/gfwlist -ipset=/.ultraxs.com/gfwlist -ipset=/.unblock.cn.com/gfwlist -ipset=/.unblocksit.es/gfwlist -ipset=/.uncyclomedia.org/gfwlist -ipset=/.uncyclopedia.info/gfwlist -ipset=/.uncyclopedia.tw/gfwlist -ipset=/.unholyknight.com/gfwlist -ipset=/.uni.cc/gfwlist -ipset=/.unicode.org/gfwlist -ipset=/.uniteddaily.com.my/gfwlist -ipset=/.unix100.com/gfwlist -ipset=/.unknownspace.org/gfwlist -ipset=/.unpo.org/gfwlist -ipset=/.uocn.org/gfwlist -ipset=/.upcoming.yahoo.com/gfwlist -ipset=/.update.playstation.net/gfwlist -ipset=/.upload4u.info/gfwlist -ipset=/.upload.backchina.com/gfwlist -ipset=/.uploaded.to/gfwlist -ipset=/.uploadstation.com/gfwlist -ipset=/.upload.wikimedia.org/gfwlist -ipset=/.urlborg.com/gfwlist -ipset=/.urlparser.com/gfwlist -ipset=/.usacn.com/gfwlist -ipset=/.usfk.mil/gfwlist -ipset=/.usinfo.state.gov/gfwlist -ipset=/.usmc.mil/gfwlist -ipset=/.us.to/gfwlist -ipset=/.ustream.tv/gfwlist -ipset=/.usus.cc/gfwlist -ipset=/.uushare.com/gfwlist -ipset=/.uwants.com/gfwlist -ipset=/.uwants.net/gfwlist -ipset=/.uyghurcongress.org/gfwlist -ipset=/.uygur.org/gfwlist -ipset=/.v70.us/gfwlist -ipset=/.vaayoo.com/gfwlist -ipset=/.value-domain.com/gfwlist -ipset=/.van698.com/gfwlist -ipset=/.vanemu.cn/gfwlist -ipset=/.vanilla-jp.com/gfwlist -ipset=/.vansky.com/gfwlist -ipset=/.vapurl.com/gfwlist -ipset=/.vatn.org/gfwlist -ipset=/.vcfbuilder.org/gfwlist -ipset=/.vcf-online.org/gfwlist -ipset=/.veempiire.com/gfwlist -ipset=/.velkaepocha.sk/gfwlist -ipset=/.venbbs.com/gfwlist -ipset=/.venchina.com/gfwlist -ipset=/.ventureswell.com/gfwlist -ipset=/.veoh.com/gfwlist -ipset=/.verizon.net/gfwlist -ipset=/.verybs.com/gfwlist -ipset=/.vevo.com/gfwlist -ipset=/.vft.com.tw/gfwlist -ipset=/.vghks.gov.tw/gfwlist -ipset=/.vghtc.gov.tw/gfwlist -ipset=/.vghtpe.gov.tw/gfwlist -ipset=/.video.aol.ca/gfwlist -ipset=/.video.aol.com/gfwlist -ipset=/.video.aol.co.uk/gfwlist -ipset=/.video.ap.org/gfwlist -ipset=/.videobam.com/gfwlist -ipset=/.video.fdbox.com/gfwlist -ipset=/.video.foxbusiness.com/gfwlist -ipset=/.videomo.com/gfwlist -ipset=/.video.tiscali.it/gfwlist -ipset=/.video.yahoo.com/gfwlist -ipset=/.vidoemo.com/gfwlist -ipset=/.views.fm/gfwlist -ipset=/.viki.com/gfwlist -ipset=/.vimeocdn.com/gfwlist -ipset=/.vimeo.com/gfwlist -ipset=/.vimgolf.com/gfwlist -ipset=/.vimperator.org/gfwlist -ipset=/.vincnd.com/gfwlist -ipset=/.vinniev.com/gfwlist -ipset=/.vllcs.org/gfwlist -ipset=/.vlog.xuite.net/gfwlist -ipset=/.vmixcore.com/gfwlist -ipset=/.voacantonese.com/gfwlist -ipset=/.voachineseblog.com/gfwlist -ipset=/.voachinese.com/gfwlist -ipset=/.voagd.com/gfwlist -ipset=/.voanews.com/gfwlist -ipset=/.voatibetan.com/gfwlist -ipset=/.vocn.tv/gfwlist -ipset=/.vot.org/gfwlist -ipset=/.vpnbook.com/gfwlist -ipset=/.vpnfire.com/gfwlist -ipset=/.vpngate.jp/gfwlist -ipset=/.vpngate.net/gfwlist -ipset=/.vpnpop.com/gfwlist -ipset=/.vpnpronet.com/gfwlist -ipset=/.v-state.org/gfwlist -ipset=/.vtunnel.com/gfwlist -ipset=/.w3schools.com/gfwlist -ipset=/.waffle1999.com/gfwlist -ipset=/.wahas.com/gfwlist -ipset=/.waigaobu.com/gfwlist -ipset=/.waikeung.org/gfwlist -ipset=/.waiwaier.com/gfwlist -ipset=/.wallornot.org/gfwlist -ipset=/.wallpapercasa.com/gfwlist -ipset=/.wanderinghorse.net/gfwlist -ipset=/.wanfang.gov.tw/gfwlist -ipset=/.wangafu.net/gfwlist -ipset=/.wangjinbo.org/gfwlist -ipset=/.wanglixiong.com/gfwlist -ipset=/.wangruoshui.net/gfwlist -ipset=/.wangyi64.spaces.live.com/gfwlist -ipset=/.want-daily.com/gfwlist -ipset=/.wapedia.mobi/gfwlist -ipset=/.washeng.net/gfwlist -ipset=/.watchmygf.net/gfwlist -ipset=/.wattpad.com/gfwlist -ipset=/.wdf5.com/gfwlist -ipset=/.wearn.com/gfwlist -ipset=/.web2project.net/gfwlist -ipset=/.webbang.net/gfwlist -ipset=/.webfee.tk/gfwlist -ipset=/.weblagu.com/gfwlist -ipset=/.webmproject.org/gfwlist -ipset=/.webshots.com/gfwlist -ipset=/.websitepulse.com/gfwlist -ipset=/.webs-tv.net/gfwlist -ipset=/.webworkerdaily.com/gfwlist -ipset=/.weeewooo.net/gfwlist -ipset=/.weekmag.info/gfwlist -ipset=/.wefong.com/gfwlist -ipset=/.weiboleak.com/gfwlist -ipset=/.weigegebyc.dreamhosters.com/gfwlist -ipset=/.weijingsheng.org/gfwlist -ipset=/.weiming.info/gfwlist -ipset=/.weiquanwang.org/gfwlist -ipset=/.weisuo.ws/gfwlist -ipset=/.wellplacedpixels.com/gfwlist -ipset=/.wengewang.com/gfwlist -ipset=/.wengewang.org/gfwlist -ipset=/.wenhui.ch/gfwlist -ipset=/.wenku.com/gfwlist -ipset=/.wenxuecity.com/gfwlist -ipset=/.wenyunchao.com/gfwlist -ipset=/.wenyunchao.spaces.live.com/gfwlist -ipset=/.wepn.info/gfwlist -ipset=/.westca.com/gfwlist -ipset=/.westernwolves.com/gfwlist -ipset=/.wetplace.com/gfwlist -ipset=/.wetpussygames.com/gfwlist -ipset=/.wexiaobo.org/gfwlist -ipset=/.wezhiyong.org/gfwlist -ipset=/.wezone.net/gfwlist -ipset=/.wforum.com/gfwlist -ipset=/.whatblocked.com/gfwlist -ipset=/.whereiswerner.com/gfwlist -ipset=/.whippedass.com/gfwlist -ipset=/.whitebear.freebearblog.org/gfwlist -ipset=/.whydidyoubuymethat.com/gfwlist -ipset=/.whylover.com/gfwlist -ipset=/.whyx.org/gfwlist -ipset=/.w.idaiwan.com/gfwlist -ipset=/.wiki.cnitter.com/gfwlist -ipset=/.wiki.jqueryui.com/gfwlist -ipset=/.wiki.keso.cn/gfwlist -ipset=/.wikileaks.ch/gfwlist -ipset=/.wikileaks.de/gfwlist -ipset=/.wikileaks.eu/gfwlist -ipset=/.wikileaks.lu/gfwlist -ipset=/.wikileaks.org/gfwlist -ipset=/.wikileaks.pl/gfwlist -ipset=/.wikilivres.info/gfwlist -ipset=/.wikimapia.org/gfwlist -ipset=/.wikimedia.org.mo/gfwlist -ipset=/.wiki.moegirl.org/gfwlist -ipset=/.wikinet.org/gfwlist -ipset=/.wiki.oauth.net/gfwlist -ipset=/.wikipedia.org/gfwlist -ipset=/.wiki.phonegap.com/gfwlist -ipset=/.wikiwiki.jp/gfwlist -ipset=/.wikkii.com/gfwlist -ipset=/.williamlong.spaces.live.com/gfwlist -ipset=/.willw.net/gfwlist -ipset=/.windowsphoneme.com/gfwlist -ipset=/.winwhispers.info/gfwlist -ipset=/.wiredbytes.com/gfwlist -ipset=/.wiredpen.com/gfwlist -ipset=/.wireshark.org/gfwlist -ipset=/.wisevid.com/gfwlist -ipset=/.witnessleeteaching.com/gfwlist -ipset=/.witopia.net/gfwlist -ipset=/.wlx.sowiki.net/gfwlist -ipset=/.woeser.com/gfwlist -ipset=/.wolfax.com/gfwlist -ipset=/.womenbusiness.nyc.gov.tw/gfwlist -ipset=/.womensrightsofchina.org/gfwlist -ipset=/.woopie.jp/gfwlist -ipset=/.woopie.tv/gfwlist -ipset=/.wordboner.com/gfwlist -ipset=/.wordpress.com/gfwlist -ipset=/.wordsandturds.com/gfwlist -ipset=/.w.org/gfwlist -ipset=/.workatruna.com/gfwlist -ipset=/.worldcat.org/gfwlist -ipset=/.worldjournal.com/gfwlist -ipset=/.worstthingieverate.com/gfwlist -ipset=/.wo.tc/gfwlist -ipset=/.wowlegacy.ml/gfwlist -ipset=/.wow-life.net/gfwlist -ipset=/.woxinghuiguo.com/gfwlist -ipset=/.wozy.in/gfwlist -ipset=/.wp.com/gfwlist -ipset=/.wpoforum.com/gfwlist -ipset=/.wqlhw.com/gfwlist -ipset=/.wqyd.org/gfwlist -ipset=/.wrchina.org/gfwlist -ipset=/.wretch.cc/gfwlist -ipset=/.writer.zoho.com/gfwlist -ipset=/.wsj.com/gfwlist -ipset=/.wsj.net/gfwlist -ipset=/.wtfpeople.com/gfwlist -ipset=/.wuala.com/gfwlist -ipset=/.wuerkaixi.com/gfwlist -ipset=/.wufi.org.tw/gfwlist -ipset=/.wuguoguang.com/gfwlist -ipset=/.wujieliulan.com/gfwlist -ipset=/.wujie.net/gfwlist -ipset=/.wukangrui.net/gfwlist -ipset=/.wwitv.com/gfwlist -ipset=/.www.6v6dota.com/gfwlist -ipset=/.www.ajsands.com/gfwlist -ipset=/.www.antd.org/gfwlist -ipset=/.www.aolnews.com/gfwlist -ipset=/.www.bulbous.freeserve.co.uk/gfwlist -ipset=/.www.cmoinc.org/gfwlist -ipset=/.www.dfanning.com/gfwlist -ipset=/.www.dwheeler.com/gfwlist -ipset=/.www.eulam.com/gfwlist -ipset=/.www.exblog.jp/gfwlist -ipset=/.www.forum4hk.com/gfwlist -ipset=/.www.freetibet.org/gfwlist -ipset=/.www.getyouram.com/gfwlist -ipset=/.www.goldenmelody.com.tw/gfwlist -ipset=/.www.idlcoyote.com/gfwlist -ipset=/.www.immigration.gov.tw/gfwlist -ipset=/.www.klip.me/gfwlist -ipset=/.www.kodingen.com/gfwlist -ipset=/.www.linksalpha.com/gfwlist -ipset=/.www.loiclemeur.com/gfwlist -ipset=/.www.macrovpn.com/gfwlist -ipset=/.www.monlamit.org/gfwlist -ipset=/.www.moztw.org/gfwlist -ipset=/.www.mycould.com/gfwlist -ipset=/.www.ned.org/gfwlist -ipset=/.www.nownews.com/gfwlist -ipset=/.www.orchidbbs.com/gfwlist -ipset=/.www.owind.com/gfwlist -ipset=/.www.oxid.it/gfwlist -ipset=/.www.parkansky.com/gfwlist -ipset=/.www.powerpointninja.com/gfwlist -ipset=/.www.rnw.nl/gfwlist -ipset=/.www.somee.com/gfwlist -ipset=/.www.stackfile.com/gfwlist -ipset=/.www.supertweet.net/gfwlist -ipset=/.www.tiffanyarment.com/gfwlist -ipset=/.www.tripod.com/gfwlist -ipset=/.www.tv.com/gfwlist -ipset=/.www.twtrland.com/gfwlist -ipset=/.www.typepad.com/gfwlist -ipset=/.www.urbanoutfitters.com/gfwlist -ipset=/.www.vegorpedersen.com/gfwlist -ipset=/.www.voy.com/gfwlist -ipset=/.www.vpncup.com/gfwlist -ipset=/.www.wangruowang.org/gfwlist -ipset=/.www.wan-press.org/gfwlist -ipset=/.www.wet123.com/gfwlist -ipset=/.www.zaurus.org.uk/gfwlist -ipset=/.wzyboy.im/gfwlist -ipset=/.x1949x.com/gfwlist -ipset=/.x365x.com/gfwlist -ipset=/.xanga.com/gfwlist -ipset=/.x-art.com/gfwlist -ipset=/.xa.yimg.com/gfwlist -ipset=/.xbabe.com/gfwlist -ipset=/.xbookcn.com/gfwlist -ipset=/.xcafe.in/gfwlist -ipset=/.xcritic.com/gfwlist -ipset=/.xfm.pp.ru/gfwlist -ipset=/.xgmyd.com/gfwlist -ipset=/.xh4n.cn/gfwlist -ipset=/.xhamster.com/gfwlist -ipset=/.xiaochuncnjp.com/gfwlist -ipset=/.xiaohexie.com/gfwlist -ipset=/.xiaoma.org/gfwlist -ipset=/.xiezhua.com/gfwlist -ipset=/.xing.com/gfwlist -ipset=/.xinhuanet.org/gfwlist -ipset=/.xinmiao.com.hk/gfwlist -ipset=/.xinqimeng.over-blog.com/gfwlist -ipset=/.xinsheng.net/gfwlist -ipset=/.xinshijue.com/gfwlist -ipset=/.xinyubbs.net/gfwlist -ipset=/.xizang-zhiye.org/gfwlist -ipset=/.xjp.cc/gfwlist -ipset=/.xml-training-guide.com/gfwlist -ipset=/.xmovies.com/gfwlist -ipset=/.xmusic.fm/gfwlist -ipset=/.xnxx.com/gfwlist -ipset=/.xpdo.net/gfwlist -ipset=/.xpud.org/gfwlist -ipset=/.xskywalker.com/gfwlist -ipset=/.xtube.com/gfwlist -ipset=/.xuchao.net/gfwlist -ipset=/.xuchao.org/gfwlist -ipset=/.xuzhiyong.net/gfwlist -ipset=/.xuzhuoer.com/gfwlist -ipset=/.xvedios.com/gfwlist -ipset=/.xvideos.com/gfwlist -ipset=/.x-wall.org/gfwlist -ipset=/.xxbbx.com/gfwlist -ipset=/.x.xcity.jp/gfwlist -ipset=/.xxxx.com.au/gfwlist -ipset=/.xysblogs.org/gfwlist -ipset=/.xys.dxiong.com/gfwlist -ipset=/.xys.org/gfwlist -ipset=/.xyy69.com/gfwlist -ipset=/.xyy69.info/gfwlist -ipset=/.yahoo.cn/gfwlist -ipset=/.yahoo.com.hk/gfwlist -ipset=/.yam.com/gfwlist -ipset=/.yanghengjun.spaces.live.com/gfwlist -ipset=/.yasni.co.uk/gfwlist -ipset=/.yasukuni.or.jp/gfwlist -ipset=/.yatsen.gov.tw/gfwlist -ipset=/.ydy.com/gfwlist -ipset=/.yeelou.com/gfwlist -ipset=/.yeeyi.com/gfwlist -ipset=/.yegle.net/gfwlist -ipset=/.yezimary.spaces.live.com/gfwlist -ipset=/.yfrog.com/gfwlist -ipset=/.yhcw.net/gfwlist -ipset=/.yidio.com/gfwlist -ipset=/.yilubbs.com/gfwlist -ipset=/.yi.org/gfwlist -ipset=/.yipub.com/gfwlist -ipset=/.ym.backchina.com/gfwlist -ipset=/.yogichen.org/gfwlist -ipset=/.yong.hu/gfwlist -ipset=/.yorkbbs.ca/gfwlist -ipset=/.youdao.com/gfwlist -ipset=/.youjizz.com/gfwlist -ipset=/.youmaker.com/gfwlist -ipset=/.youpai.org/gfwlist -ipset=/.youporn.com/gfwlist -ipset=/.your-freedom.net/gfwlist -ipset=/.yousendit.com/gfwlist -ipset=/.youthbao.com/gfwlist -ipset=/.youthnetradio.org/gfwlist -ipset=/.youtu.be/gfwlist -ipset=/.youtubecn.com/gfwlist -ipset=/.youtube.com/gfwlist -ipset=/.youtube-nocookie.com/gfwlist -ipset=/.youversion.com/gfwlist -ipset=/.youxu.info/gfwlist -ipset=/.ytht.net/gfwlist -ipset=/.ytimg.com/gfwlist -ipset=/.yuanming.net/gfwlist -ipset=/.yuming.flnet.org/gfwlist -ipset=/.yunchao.net/gfwlist -ipset=/.yvesgeleyn.com/gfwlist -ipset=/.yvtc.gov.tw/gfwlist -ipset=/.yx51.net/gfwlist -ipset=/.yyii.org/gfwlist -ipset=/.yymaya.com/gfwlist -ipset=/.yzzk.com/gfwlist -ipset=/.zacebook.com/gfwlist -ipset=/.zannel.com/gfwlist -ipset=/.zaobao.com/gfwlist -ipset=/.zaobao.com.sg/gfwlist -ipset=/.zaozon.com/gfwlist -ipset=/.zarias.com/gfwlist -ipset=/.zattoo.com/gfwlist -ipset=/.zdnet.com.tw/gfwlist -ipset=/.zengjinyan.org/gfwlist -ipset=/.zengjinyan.spaces.live.com/gfwlist -ipset=/.zeutch.com/gfwlist -ipset=/.zgzcjj.net/gfwlist -ipset=/.zhanbin.net/gfwlist -ipset=/.zhao.jinhai.de/gfwlist -ipset=/.zhenghui.org/gfwlist -ipset=/.zhenlibu.info/gfwlist -ipset=/.zhinengluyou.com/gfwlist -ipset=/.zhllg.spaces.live.com/gfwlist -ipset=/.zh.m.wikipedia.org/gfwlist -ipset=/.zh.netlog.com/gfwlist -ipset=/.zhonggtuotese.net/gfwlist -ipset=/.zhongguotese.net/gfwlist -ipset=/.zhongmeng.org/gfwlist -ipset=/.zhongsou.com/gfwlist -ipset=/.zh.pokerstrategy.com/gfwlist -ipset=/.zhreader.com/gfwlist -ipset=/.zh-tw.justin.tv/gfwlist -ipset=/.zhuichaguoji.org/gfwlist -ipset=/.zh.uncyclopedia.wikia.com/gfwlist -ipset=/.zh.wikinews.org/gfwlist -ipset=/.zh.wikipedia.org/gfwlist -ipset=/.zh.wikisource.org/gfwlist -ipset=/.ziddu.com/gfwlist -ipset=/.zillionk.com/gfwlist -ipset=/.zinio.com/gfwlist -ipset=/.ziplib.com/gfwlist -ipset=/.zkaip.com/gfwlist -ipset=/.zmw.cn/gfwlist -ipset=/.zomobo.net/gfwlist -ipset=/.zonaeuropa.com/gfwlist -ipset=/.zootool.com/gfwlist -ipset=/.zoozle.net/gfwlist -ipset=/.zozotown.com/gfwlist -ipset=/.zshare.net/gfwlist -ipset=/.zsrhao.com/gfwlist -ipset=/.zuo.la/gfwlist -ipset=/.zuola.com/gfwlist -ipset=/.zvereff.com/gfwlist -ipset=/.zyzc9.com/gfwlist -ipset=/.zyzg.us/gfwlist -server=/.h12.io/127.0.0.1#5335 -server=/.starlark.net/127.0.0.1#5335 -server=/.golang.org/127.0.0.1#5335 -server=/.honnef.co/127.0.0.1#5335 -server=/.0rz.tw/127.0.0.1#5335 -server=/.0to255.com/127.0.0.1#5335 -server=/.10musume.com/127.0.0.1#5335 -server=/.123rf.com/127.0.0.1#5335 -server=/.12bet.com/127.0.0.1#5335 -server=/.12vpn.com/127.0.0.1#5335 -server=/.141hongkong.com/127.0.0.1#5335 -server=/.173ng.com/127.0.0.1#5335 -server=/.1984bbs.com/127.0.0.1#5335 -server=/.1984bbs.org/127.0.0.1#5335 -server=/.1-apple.com.tw/127.0.0.1#5335 -server=/.1bao.org/127.0.0.1#5335 -server=/.1eew.com/127.0.0.1#5335 -server=/.1pondo.tv/127.0.0.1#5335 -server=/.2000fun.com/127.0.0.1#5335 -server=/.2008xianzhang.info/127.0.0.1#5335 -server=/.21andy.com/127.0.0.1#5335 -server=/.247realmedia.com/127.0.0.1#5335 -server=/.24smile.org/127.0.0.1#5335 -server=/.2-hand.info/127.0.0.1#5335 -server=/.2mdn.net/127.0.0.1#5335 -server=/.2shared.com/127.0.0.1#5335 -server=/.301works.org/127.0.0.1#5335 -server=/.315lz.com/127.0.0.1#5335 -server=/.32red.com/127.0.0.1#5335 -server=/.365singles.com.ar/127.0.0.1#5335 -server=/.36rain.com/127.0.0.1#5335 -server=/.4bluestones.biz/127.0.0.1#5335 -server=/.4chan.org/127.0.0.1#5335 -server=/.4pppc.gov.tw/127.0.0.1#5335 -server=/.4shared.com/127.0.0.1#5335 -server=/.4sq.com/127.0.0.1#5335 -server=/.51.ca/127.0.0.1#5335 -server=/.5i01.com/127.0.0.1#5335 -server=/.5maodang.com/127.0.0.1#5335 -server=/.64tianwang.com/127.0.0.1#5335 -server=/.64wiki.com/127.0.0.1#5335 -server=/.666kb.com/127.0.0.1#5335 -server=/.6park.com/127.0.0.1#5335 -server=/.7capture.com/127.0.0.1#5335 -server=/.881903.com/127.0.0.1#5335 -server=/.888.com/127.0.0.1#5335 -server=/.89-64.org/127.0.0.1#5335 -server=/.9001700.com/127.0.0.1#5335 -server=/.91porn.com/127.0.0.1#5335 -server=/.921.gov.tw/127.0.0.1#5335 -server=/.92ccav.com/127.0.0.1#5335 -server=/.9bis.com/127.0.0.1#5335 -server=/.9bis.net/127.0.0.1#5335 -server=/.9city.me/127.0.0.1#5335 -server=/.a5.com.ru/127.0.0.1#5335 -server=/.abc.pp.ru/127.0.0.1#5335 -server=/.abitno.linpie.com/127.0.0.1#5335 -server=/.ablwang.com/127.0.0.1#5335 -server=/.aboluowang.com/127.0.0.1#5335 -server=/.aboutgfw.com/127.0.0.1#5335 -server=/.acgkj.com/127.0.0.1#5335 -server=/.ac.jiruan.net/127.0.0.1#5335 -server=/.ac.playstation.net/127.0.0.1#5335 -server=/.actimes.com.au/127.0.0.1#5335 -server=/.aculo.us/127.0.0.1#5335 -server=/.ad1.nownews.com/127.0.0.1#5335 -server=/.addictedtocoffee.de/127.0.0.1#5335 -server=/.ads.backchina.com/127.0.0.1#5335 -server=/.adultfriendfinder.com/127.0.0.1#5335 -server=/.adultkeep.net/127.0.0.1#5335 -server=/.advanscene.com/127.0.0.1#5335 -server=/.advertfan.com/127.0.0.1#5335 -server=/.aec.gov.tw/127.0.0.1#5335 -server=/.aenhancers.com/127.0.0.1#5335 -server=/.af.mil/127.0.0.1#5335 -server=/.aftygh.gov.tw/127.0.0.1#5335 -server=/.aide.gov.tw/127.0.0.1#5335 -server=/.aiph.net/127.0.0.1#5335 -server=/.aisex.com/127.0.0.1#5335 -server=/.ait.org.tw/127.0.0.1#5335 -server=/.aiweiweiblog.com/127.0.0.1#5335 -server=/.aiweiwei.com/127.0.0.1#5335 -server=/.ajaxplorer.info/127.0.0.1#5335 -server=/.akamaihd.net/127.0.0.1#5335 -server=/.akiba-online.com/127.0.0.1#5335 -server=/.alabout.com/127.0.0.1#5335 -server=/.alasbarricadas.org/127.0.0.1#5335 -server=/.alexlur.org/127.0.0.1#5335 -server=/.aliengu.com/127.0.0.1#5335 -server=/.alkasir.com/127.0.0.1#5335 -server=/.allaboutalpha.com/127.0.0.1#5335 -server=/.allgirlsallowed.org/127.0.0.1#5335 -server=/.alliance.org.hk/127.0.0.1#5335 -server=/.allinfa.com/127.0.0.1#5335 -server=/.allinfo.com/127.0.0.1#5335 -server=/.allmovie.com/127.0.0.1#5335 -server=/.allonlinux.free.fr/127.0.0.1#5335 -server=/.all-that-is-interesting.com/127.0.0.1#5335 -server=/.al-qimmah.net/127.0.0.1#5335 -server=/.alternate-tools.com/127.0.0.1#5335 -server=/.altrec.com/127.0.0.1#5335 -server=/.alvinalexander.com/127.0.0.1#5335 -server=/.alwaysdata.com/127.0.0.1#5335 -server=/.alwaysdata.net/127.0.0.1#5335 -server=/.am730.com.hk/127.0.0.1#5335 -server=/.amazonaws.com/127.0.0.1#5335 -server=/.ameblo.jp/127.0.0.1#5335 -server=/.americangreencard.com/127.0.0.1#5335 -server=/.amiblockedornot.com/127.0.0.1#5335 -server=/.amnesty.org/127.0.0.1#5335 -server=/.amnestyusa.org/127.0.0.1#5335 -server=/.amoiist.com/127.0.0.1#5335 -server=/.amzs.me/127.0.0.1#5335 -server=/.analyze-v.com/127.0.0.1#5335 -server=/.anchorfree.com/127.0.0.1#5335 -server=/.andfaraway.net/127.0.0.1#5335 -server=/.android.com/127.0.0.1#5335 -server=/.angularjs.org/127.0.0.1#5335 -server=/.animecrazy.net/127.0.0.1#5335 -server=/.anobii.com/127.0.0.1#5335 -server=/.anontext.com/127.0.0.1#5335 -server=/.anonymizer.com/127.0.0.1#5335 -server=/.a-normal-day.com/127.0.0.1#5335 -server=/.answering-islam.org/127.0.0.1#5335 -server=/.anthonycalzadilla.com/127.0.0.1#5335 -server=/.anti.anti.cnn.googlepages.com/127.0.0.1#5335 -server=/.antidrm.hpg.ig.com.br/127.0.0.1#5335 -server=/.antiwave.net/127.0.0.1#5335 -server=/.aobo.com.au/127.0.0.1#5335 -server=/.aolchannels.aol.com/127.0.0.1#5335 -server=/.aomiwang.com/127.0.0.1#5335 -server=/.apetube.com/127.0.0.1#5335 -server=/.apiary.io/127.0.0.1#5335 -server=/.apidocs.linksalpha.com/127.0.0.1#5335 -server=/.apigee.com/127.0.0.1#5335 -server=/.api.linksalpha.com/127.0.0.1#5335 -server=/.api.proxlet.com/127.0.0.1#5335 -server=/.api.supertweet.net/127.0.0.1#5335 -server=/.app.heywire.com/127.0.0.1#5335 -server=/.app.hkatvnews.com/127.0.0.1#5335 -server=/.appledaily.com/127.0.0.1#5335 -server=/.appledaily.com.tw/127.0.0.1#5335 -server=/.apps.hloli.net/127.0.0.1#5335 -server=/.appspot.com/127.0.0.1#5335 -server=/.archive.is/127.0.0.1#5335 -server=/.archive.org/127.0.0.1#5335 -server=/.arctosia.com/127.0.0.1#5335 -server=/.areca-backup.org/127.0.0.1#5335 -server=/.army.mil/127.0.0.1#5335 -server=/.arte.gov.tw/127.0.0.1#5335 -server=/.art-or-porn.com/127.0.0.1#5335 -server=/.artsy.net/127.0.0.1#5335 -server=/.asahichinese.com/127.0.0.1#5335 -server=/.asdfg.jp/127.0.0.1#5335 -server=/.asiafriendfinder.com/127.0.0.1#5335 -server=/.asiaharvest.org/127.0.0.1#5335 -server=/.asianews.it/127.0.0.1#5335 -server=/.asianwomensfilm.de/127.0.0.1#5335 -server=/.askstudent.com/127.0.0.1#5335 -server=/.askynz.net/127.0.0.1#5335 -server=/.assembla.com/127.0.0.1#5335 -server=/.astonmartinnews.com/127.0.0.1#5335 -server=/.atchinese.com/127.0.0.1#5335 -server=/.atc.org.au/127.0.0.1#5335 -server=/.atgfw.org/127.0.0.1#5335 -server=/.atj.org.tw/127.0.0.1#5335 -server=/.atlaspost.com/127.0.0.1#5335 -server=/.atnext.com/127.0.0.1#5335 -server=/.autoproxy.org/127.0.0.1#5335 -server=/.avaaz.org/127.0.0.1#5335 -server=/.avdb.in/127.0.0.1#5335 -server=/.avidemux.org/127.0.0.1#5335 -server=/.avoision.com/127.0.0.1#5335 -server=/.awardwinningfjords.com/127.0.0.1#5335 -server=/.axureformac.com/127.0.0.1#5335 -server=/.babynet.com.hk/127.0.0.1#5335 -server=/.backchina.com/127.0.0.1#5335 -server=/.backpackers.com.tw/127.0.0.1#5335 -server=/.badassjs.com/127.0.0.1#5335 -server=/.badoo.com/127.0.0.1#5335 -server=/.baidu.jp/127.0.0.1#5335 -server=/.baixing.me/127.0.0.1#5335 -server=/.bannedbook.org/127.0.0.1#5335 -server=/.barnabu.co.uk/127.0.0.1#5335 -server=/.basetimesheightdividedby2.com/127.0.0.1#5335 -server=/.bayvoice.net/127.0.0.1#5335 -server=/.bbcchinese.com/127.0.0.1#5335 -server=/.bbc.com/127.0.0.1#5335 -server=/.bbc.co.uk/127.0.0.1#5335 -server=/.bbci.co.uk/127.0.0.1#5335 -server=/.bbcimg.co.uk/127.0.0.1#5335 -server=/.bbc.in/127.0.0.1#5335 -server=/.bbg.gov/127.0.0.1#5335 -server=/.bbs2.newsgroup.la/127.0.0.1#5335 -server=/.bbs.ecstart.com/127.0.0.1#5335 -server=/.bbsfeed.com/127.0.0.1#5335 -server=/.bbs.kimy.com.tw/127.0.0.1#5335 -server=/.bbsland.com/127.0.0.1#5335 -server=/.bbs.morbell.com/127.0.0.1#5335 -server=/.bbs.mychat.to/127.0.0.1#5335 -server=/.bbs.newsgroup.la/127.0.0.1#5335 -server=/.bbs.ozchinese.com/127.0.0.1#5335 -server=/.bbs.qmzdd.com/127.0.0.1#5335 -server=/.bbs.sina.com/127.0.0.1#5335 -server=/.bbs.skykiwi.com/127.0.0.1#5335 -server=/.bbs.tuitui.info/127.0.0.1#5335 -server=/.bb.ttv.com.tw/127.0.0.1#5335 -server=/.bcc.com.tw/127.0.0.1#5335 -server=/.bcchinese.net/127.0.0.1#5335 -server=/.bdhr.gov.tw/127.0.0.1#5335 -server=/.bd.zhe.la/127.0.0.1#5335 -server=/.bebo.com/127.0.0.1#5335 -server=/.beeg.com/127.0.0.1#5335 -server=/.beijing1989.com/127.0.0.1#5335 -server=/.beijingspring.com/127.0.0.1#5335 -server=/.benjaminste.in/127.0.0.1#5335 -server=/.berlintwitterwall.com/127.0.0.1#5335 -server=/.bestforchina.org/127.0.0.1#5335 -server=/.bestvpnservice.com/127.0.0.1#5335 -server=/.bet365.com/127.0.0.1#5335 -server=/.beta.iset.com.tw/127.0.0.1#5335 -server=/.beta.usejump.com/127.0.0.1#5335 -server=/.betfair.com/127.0.0.1#5335 -server=/.bettween.com/127.0.0.1#5335 -server=/.betvictor.com/127.0.0.1#5335 -server=/.bewww.net/127.0.0.1#5335 -server=/.beyondfirewall.com/127.0.0.1#5335 -server=/.bfnn.org/127.0.0.1#5335 -server=/.biantailajiao.com/127.0.0.1#5335 -server=/.biantailajiao.in/127.0.0.1#5335 -server=/.bigfools.com/127.0.0.1#5335 -server=/.bignews.org/127.0.0.1#5335 -server=/.bigsound.org/127.0.0.1#5335 -server=/.bill2-software.com/127.0.0.1#5335 -server=/.billywr.com/127.0.0.1#5335 -server=/.bill.zhong.pp.ru/127.0.0.1#5335 -server=/.bipic.net/127.0.0.1#5335 -server=/.bitcointalk.org/127.0.0.1#5335 -server=/.bit.ly/127.0.0.1#5335 -server=/.bitly.com/127.0.0.1#5335 -server=/.bitshare.com/127.0.0.1#5335 -server=/.bjzc.org/127.0.0.1#5335 -server=/.blinkx.com/127.0.0.1#5335 -server=/.blinw.com/127.0.0.1#5335 -server=/.blip.tv/127.0.0.1#5335 -server=/.blockcn.com/127.0.0.1#5335 -server=/.blog.birdhouseapp.com/127.0.0.1#5335 -server=/.blog.bitly.com/127.0.0.1#5335 -server=/.blogblog.com/127.0.0.1#5335 -server=/.blog.boxcar.io/127.0.0.1#5335 -server=/.blogcatalog.com/127.0.0.1#5335 -server=/.blog.davidziegler.net/127.0.0.1#5335 -server=/.blog.dayoneapp.com/127.0.0.1#5335 -server=/.blog.de/127.0.0.1#5335 -server=/.blog.dribbble.com/127.0.0.1#5335 -server=/.blog.exblog.co.jp/127.0.0.1#5335 -server=/.blog.expofutures.com/127.0.0.1#5335 -server=/.blog.fizzik.com/127.0.0.1#5335 -server=/.blog.foolsmountain.com/127.0.0.1#5335 -server=/.blogger.com/127.0.0.1#5335 -server=/.blog.gowalla.com/127.0.0.1#5335 -server=/.blog.hotpotato.com/127.0.0.1#5335 -server=/.blog.ifttt.com/127.0.0.1#5335 -server=/.blogimg.jp/127.0.0.1#5335 -server=/.blog.instagram.com/127.0.0.1#5335 -server=/.blog.instapaper.com/127.0.0.1#5335 -server=/.blog.iphone-dev.org/127.0.0.1#5335 -server=/.blog.istef.info/127.0.0.1#5335 -server=/.blog.jackjia.com/127.0.0.1#5335 -server=/.blog.joeyrobert.org/127.0.0.1#5335 -server=/.blog.kangye.org/127.0.0.1#5335 -server=/.blog.kickstarter.com/127.0.0.1#5335 -server=/.blog.kl.am/127.0.0.1#5335 -server=/.blog.klip.me/127.0.0.1#5335 -server=/.blog.lester850.info/127.0.0.1#5335 -server=/.blog.lightbox.com/127.0.0.1#5335 -server=/.bloglines.com/127.0.0.1#5335 -server=/.bloglovin.com/127.0.0.1#5335 -server=/.blog.mongodb.org/127.0.0.1#5335 -server=/.blog.openinkpot.org/127.0.0.1#5335 -server=/.blog.palm.com/127.0.0.1#5335 -server=/.blog.path.com/127.0.0.1#5335 -server=/.blog.pathtosharepoint.com/127.0.0.1#5335 -server=/.blog.pchome.com.tw/127.0.0.1#5335 -server=/.blog.pentalogic.net/127.0.0.1#5335 -server=/.blog.pikchur.com/127.0.0.1#5335 -server=/.blog.pilotmoon.com/127.0.0.1#5335 -server=/.blog.redren.com/127.0.0.1#5335 -server=/.blog.rockmelt.com/127.0.0.1#5335 -server=/.blog.romanandreg.com/127.0.0.1#5335 -server=/.blog.s135.com/127.0.0.1#5335 -server=/.blogs.icerocket.com/127.0.0.1#5335 -server=/.blog.sina.com.tw/127.0.0.1#5335 -server=/.blog.sogoo.org/127.0.0.1#5335 -server=/.blog.sparrowmailapp.com/127.0.0.1#5335 -server=/.blogspot.com/127.0.0.1#5335 -server=/.blogspot.co.uk/127.0.0.1#5335 -server=/.blogspot.de/127.0.0.1#5335 -server=/.blogspot.fr/127.0.0.1#5335 -server=/.blogspot.in/127.0.0.1#5335 -server=/.blogspot.jp/127.0.0.1#5335 -server=/.blogs.tampabay.com/127.0.0.1#5335 -server=/.blog.summify.com/127.0.0.1#5335 -server=/.blogs.yahoo.co.jp/127.0.0.1#5335 -server=/.blog.syx86.cn/127.0.0.1#5335 -server=/.blog.syx86.com/127.0.0.1#5335 -server=/.blog.taragana.com/127.0.0.1#5335 -server=/.blogtd.net/127.0.0.1#5335 -server=/.blogtd.org/127.0.0.1#5335 -server=/.blog.tiney.com/127.0.0.1#5335 -server=/.blog.topify.com/127.0.0.1#5335 -server=/.blog.usa.gov/127.0.0.1#5335 -server=/.blog.xuite.net/127.0.0.1#5335 -server=/.blog.youthwant.com.tw/127.0.0.1#5335 -server=/.blog.youxu.info/127.0.0.1#5335 -server=/.bloodshed.net/127.0.0.1#5335 -server=/.bloomberg.cn/127.0.0.1#5335 -server=/.bloomberg.com/127.0.0.1#5335 -server=/.bloomberg.de/127.0.0.1#5335 -server=/.bloomfortune.com/127.0.0.1#5335 -server=/.bmediaasia.com/127.0.0.1#5335 -server=/.bnrmetal.com/127.0.0.1#5335 -server=/.boardreader.com/127.0.0.1#5335 -server=/.bobulate.com/127.0.0.1#5335 -server=/.bolin.netfirms.com/127.0.0.1#5335 -server=/.bonbonme.com/127.0.0.1#5335 -server=/.bonjourlesgeeks.com/127.0.0.1#5335 -server=/.boobstagram.com/127.0.0.1#5335 -server=/.books.com.tw/127.0.0.1#5335 -server=/.bookshelfporn.com/127.0.0.1#5335 -server=/.botanwang.com/127.0.0.1#5335 -server=/.bot.nu/127.0.0.1#5335 -server=/.bowenpress.com/127.0.0.1#5335 -server=/.boxunblog.com/127.0.0.1#5335 -server=/.boxunclub.com/127.0.0.1#5335 -server=/.boxun.com/127.0.0.1#5335 -server=/.boxun.tv/127.0.0.1#5335 -server=/.bralio.com/127.0.0.1#5335 -server=/.branch.com/127.0.0.1#5335 -server=/.brandonhutchinson.com/127.0.0.1#5335 -server=/.braumeister.org/127.0.0.1#5335 -server=/.break.com/127.0.0.1#5335 -server=/.breakingtweets.com/127.0.0.1#5335 -server=/.briefdream.com/127.0.0.1#5335 -server=/.brightcove.com/127.0.0.1#5335 -server=/.brightkite.com/127.0.0.1#5335 -server=/.brizzly.com/127.0.0.1#5335 -server=/.broadbook.com/127.0.0.1#5335 -server=/.br.st/127.0.0.1#5335 -server=/.brucewang.net/127.0.0.1#5335 -server=/.bt95.com/127.0.0.1#5335 -server=/.btdigg.org/127.0.0.1#5335 -server=/.btrd.net/127.0.0.1#5335 -server=/.budaedu.org/127.0.0.1#5335 -server=/.bugclub.org/127.0.0.1#5335 -server=/.builtwithbootstrap.com/127.0.0.1#5335 -server=/.bullogger.com/127.0.0.1#5335 -server=/.bullog.org/127.0.0.1#5335 -server=/.businesstimes.com.cn/127.0.0.1#5335 -server=/.businessweek.com/127.0.0.1#5335 -server=/.buugaa.com/127.0.0.1#5335 -server=/.buy.yahoo.com.tw/127.0.0.1#5335 -server=/.buzzurl.jp/127.0.0.1#5335 -server=/.bwbx.io/127.0.0.1#5335 -server=/.bwsj.hk/127.0.0.1#5335 -server=/.bx.tl/127.0.0.1#5335 -server=/.c1522.mooo.com/127.0.0.1#5335 -server=/.cacnw.com/127.0.0.1#5335 -server=/.cactusvpn.com/127.0.0.1#5335 -server=/.cafepress.com/127.0.0.1#5335 -server=/.cahr.org.tw/127.0.0.1#5335 -server=/.calameo.com/127.0.0.1#5335 -server=/.calebelston.com/127.0.0.1#5335 -server=/.cams.com/127.0.0.1#5335 -server=/.cams.org.sg/127.0.0.1#5335 -server=/.canadameet.com/127.0.0.1#5335 -server=/.canyu.org/127.0.0.1#5335 -server=/.caobian.info/127.0.0.1#5335 -server=/.caochangqing.com/127.0.0.1#5335 -server=/.cao.im/127.0.0.1#5335 -server=/.cari.com.my/127.0.0.1#5335 -server=/.catch22.net/127.0.0.1#5335 -server=/.catfightpayperview.xxx/127.0.0.1#5335 -server=/.catholic.org.hk/127.0.0.1#5335 -server=/.catholic.org.tw/127.0.0.1#5335 -server=/.cbs.ntu.edu.tw/127.0.0.1#5335 -server=/.cc9007.spaces.live.com/127.0.0.1#5335 -server=/.ccavtop10.com/127.0.0.1#5335 -server=/.ccdtr.org/127.0.0.1#5335 -server=/.ccim.org/127.0.0.1#5335 -server=/.cclife.org/127.0.0.1#5335 -server=/.ccthere.com/127.0.0.1#5335 -server=/.cctongbao.com/127.0.0.1#5335 -server=/.ccue.ca/127.0.0.1#5335 -server=/.ccue.com/127.0.0.1#5335 -server=/.cdig.info/127.0.0.1#5335 -server=/.cdjp.org/127.0.0.1#5335 -server=/.cdnews.com.tw/127.0.0.1#5335 -server=/.cdn.printfriendly.com/127.0.0.1#5335 -server=/.cdp1998.org/127.0.0.1#5335 -server=/.cdp2006.org/127.0.0.1#5335 -server=/.cdp.sinica.edu.tw/127.0.0.1#5335 -server=/.cdpusa.org/127.0.0.1#5335 -server=/.cdpweb.org/127.0.0.1#5335 -server=/.cdpwu.org/127.0.0.1#5335 -server=/.cdw.com/127.0.0.1#5335 -server=/.cecc.gov/127.0.0.1#5335 -server=/.cellulo.info/127.0.0.1#5335 -server=/.cenci.tk/127.0.0.1#5335 -server=/.cenews.eu/127.0.0.1#5335 -server=/.centralnation.com/127.0.0.1#5335 -server=/.centurys.net/127.0.0.1#5335 -server=/.c-est-simple.com/127.0.0.1#5335 -server=/.cfhks.org.hk/127.0.0.1#5335 -server=/.cftfc.com/127.0.0.1#5335 -server=/.cgdepot.org/127.0.0.1#5335 -server=/.chandoo.org/127.0.0.1#5335 -server=/.change.org/127.0.0.1#5335 -server=/.changp.com/127.0.0.1#5335 -server=/.chaos.e-spacy.com/127.0.0.1#5335 -server=/.chapm25.com/127.0.0.1#5335 -server=/.chartbeat.net/127.0.0.1#5335 -server=/.chaturbate.com/127.0.0.1#5335 -server=/.chccc.gov.tw/127.0.0.1#5335 -server=/.chengmingmag.com/127.0.0.1#5335 -server=/.chenguangcheng.com/127.0.0.1#5335 -server=/.chenpokong.com/127.0.0.1#5335 -server=/.chenyehao.spaces.live.com/127.0.0.1#5335 -server=/.cherrysave.com/127.0.0.1#5335 -server=/.chevronwp7.com/127.0.0.1#5335 -server=/.chicagoncmtv.com/127.0.0.1#5335 -server=/.china101.com/127.0.0.1#5335 -server=/.china21.com/127.0.0.1#5335 -server=/.china21.org/127.0.0.1#5335 -server=/.china5000.us/127.0.0.1#5335 -server=/.chinaaffairs.org/127.0.0.1#5335 -server=/.chinaaid.me/127.0.0.1#5335 -server=/.chinaaid.net/127.0.0.1#5335 -server=/.chinaaid.org/127.0.0.1#5335 -server=/.chinaaid.us/127.0.0.1#5335 -server=/.chinachange.org/127.0.0.1#5335 -server=/.chinachannel.hk/127.0.0.1#5335 -server=/.chinacomments.org/127.0.0.1#5335 -server=/.chinadigitaltimes.net/127.0.0.1#5335 -server=/.chinaeweekly.com/127.0.0.1#5335 -server=/.chinafreepress.org/127.0.0.1#5335 -server=/.chinagate.com/127.0.0.1#5335 -server=/.chinageeks.org/127.0.0.1#5335 -server=/.chinagfw.org/127.0.0.1#5335 -server=/.chinagreenparty.org/127.0.0.1#5335 -server=/.china-green-party.spaces.live.com/127.0.0.1#5335 -server=/.chinahush.com/127.0.0.1#5335 -server=/.chinainperspective.com/127.0.0.1#5335 -server=/.chinainperspective.net/127.0.0.1#5335 -server=/.chinainperspective.org/127.0.0.1#5335 -server=/.chinainterimgov.org/127.0.0.1#5335 -server=/.chinalawandpolicy.com/127.0.0.1#5335 -server=/.chinalawtranslate.com/127.0.0.1#5335 -server=/.chinamule.com/127.0.0.1#5335 -server=/.chinamz.org/127.0.0.1#5335 -server=/.chinarightsia.org/127.0.0.1#5335 -server=/.chinasocialdemocraticparty.com/127.0.0.1#5335 -server=/.chinasoul.org/127.0.0.1#5335 -server=/.chinatimes.com/127.0.0.1#5335 -server=/.chinatweeps.com/127.0.0.1#5335 -server=/.chinaway.org/127.0.0.1#5335 -server=/.china-week.com/127.0.0.1#5335 -server=/.chinaworker.info/127.0.0.1#5335 -server=/.chinaxchina.com/127.0.0.1#5335 -server=/.chinayouth.org.hk/127.0.0.1#5335 -server=/.chinayuanmin.org/127.0.0.1#5335 -server=/.chinesedailynews.com/127.0.0.1#5335 -server=/.chinese.engadget.com/127.0.0.1#5335 -server=/.chinese-hermit.net/127.0.0.1#5335 -server=/.chinese-memorial.org/127.0.0.1#5335 -server=/.chinesen.de/127.0.0.1#5335 -server=/.chinesenewsnet.com/127.0.0.1#5335 -server=/.chinesepen.org/127.0.0.1#5335 -server=/.chinese.rnw.nl/127.0.0.1#5335 -server=/.chinese.soifind.com/127.0.0.1#5335 -server=/.chinesetalks.net/127.0.0.1#5335 -server=/.chinese.wsj.com/127.0.0.1#5335 -server=/.chingcheong.com/127.0.0.1#5335 -server=/.chn.chosun.com/127.0.0.1#5335 -server=/.chrispederick.com/127.0.0.1#5335 -server=/.chrispederick.net/127.0.0.1#5335 -server=/.christianstudy.com/127.0.0.1#5335 -server=/.christiantimes.org.hk/127.0.0.1#5335 -server=/.christusrex.org/127.0.0.1#5335 -server=/.chrlawyers.hk/127.0.0.1#5335 -server=/.chrlcg-hk.org/127.0.0.1#5335 -server=/.chromeadblock.com/127.0.0.1#5335 -server=/.chrome.com/127.0.0.1#5335 -server=/.ch.shvoong.com/127.0.0.1#5335 -server=/.chubun.com/127.0.0.1#5335 -server=/.chuizi.net/127.0.0.1#5335 -server=/.chukuang.gov.tw/127.0.0.1#5335 -server=/.circlethebayfortibet.org/127.0.0.1#5335 -server=/.citizenlab.org/127.0.0.1#5335 -server=/.citizensradio.org/127.0.0.1#5335 -server=/.city9x.com/127.0.0.1#5335 -server=/.civicparty.hk/127.0.0.1#5335 -server=/.civilhrfront.org/127.0.0.1#5335 -server=/.civilmedia.tw/127.0.0.1#5335 -server=/.cjb.net/127.0.0.1#5335 -server=/.ck101.com/127.0.0.1#5335 -server=/.classicalguitarblog.net/127.0.0.1#5335 -server=/.clb.org.hk/127.0.0.1#5335 -server=/.cl.d0z.net/127.0.0.1#5335 -server=/.clientsfromhell.net/127.0.0.1#5335 -server=/.clipfish.de/127.0.0.1#5335 -server=/.cl.ly/127.0.0.1#5335 -server=/.cloudfront.net/127.0.0.1#5335 -server=/.club.backchina.com/127.0.0.1#5335 -server=/.cms.gov/127.0.0.1#5335 -server=/.cmule.com/127.0.0.1#5335 -server=/.cn2.streetvoice.com/127.0.0.1#5335 -server=/.cna.com.tw/127.0.0.1#5335 -server=/.cnavista.com.tw/127.0.0.1#5335 -server=/.cn.calameo.com/127.0.0.1#5335 -server=/.cn.dayabook.com/127.0.0.1#5335 -server=/.cnd.org/127.0.0.1#5335 -server=/.cn.fmnnow.com/127.0.0.1#5335 -server=/.cn.ibtimes.com/127.0.0.1#5335 -server=/.cnn.com/127.0.0.1#5335 -server=/.cn.news.cnyes.com/127.0.0.1#5335 -server=/.cn.streetvoice.com/127.0.0.1#5335 -server=/.cn.uncyclopedia.wikia.com/127.0.0.1#5335 -server=/.cn.voa.mobi/127.0.0.1#5335 -server=/.cochina.org/127.0.0.1#5335 -server=/.cocoapods.org/127.0.0.1#5335 -server=/.cocoa.zonble.net/127.0.0.1#5335 -server=/.code1984.com/127.0.0.1#5335 -server=/.codeboxapp.com/127.0.0.1#5335 -server=/.codeshare.io/127.0.0.1#5335 -server=/.collateralmurder.com/127.0.0.1#5335 -server=/.collateralmurder.org/127.0.0.1#5335 -server=/.comefromchina.com/127.0.0.1#5335 -server=/.comnews.gio.gov.tw/127.0.0.1#5335 -server=/.compileheart.com/127.0.0.1#5335 -server=/.connectedchina.reuters.com/127.0.0.1#5335 -server=/.connect.facebook.net/127.0.0.1#5335 -server=/.conoyo.com/127.0.0.1#5335 -server=/.contactmagazine.net/127.0.0.1#5335 -server=/.contests.twilio.com/127.0.0.1#5335 -server=/.conviva.com/127.0.0.1#5335 -server=/.cookingtothegoodlife.com/127.0.0.1#5335 -server=/.coolaler.com/127.0.0.1#5335 -server=/.coolder.com/127.0.0.1#5335 -server=/.coolloud.org.tw/127.0.0.1#5335 -server=/.corpus4u.org/127.0.0.1#5335 -server=/.corumcollege.com/127.0.0.1#5335 -server=/.cotweet.com/127.0.0.1#5335 -server=/.couchdbwiki.com/127.0.0.1#5335 -server=/.coveringweb.com/127.0.0.1#5335 -server=/.cp-house.gov.tw/127.0.0.1#5335 -server=/.cpj.org/127.0.0.1#5335 -server=/.crackle.com/127.0.0.1#5335 -server=/.crd-net.org/127.0.0.1#5335 -server=/.creaders.net/127.0.0.1#5335 -server=/.cromotc.nat.gov.tw/127.0.0.1#5335 -server=/.crossthewall.net/127.0.0.1#5335 -server=/.csdparty.com/127.0.0.1#5335 -server=/.c-spanvideo.org/127.0.0.1#5335 -server=/.css.pixnet.in/127.0.0.1#5335 -server=/.csuchen.de/127.0.0.1#5335 -server=/.cts.com.tw/127.0.0.1#5335 -server=/.cubicle17.com/127.0.0.1#5335 -server=/.cuhkacs.org/127.0.0.1#5335 -server=/.cuihua.org/127.0.0.1#5335 -server=/.cuiweiping.net/127.0.0.1#5335 -server=/.culture.tw/127.0.0.1#5335 -server=/.curvefish.com/127.0.0.1#5335 -server=/.cwb.gov.tw/127.0.0.1#5335 -server=/.cyanogenmod.org/127.0.0.1#5335 -server=/.cyberghost.natado.com/127.0.0.1#5335 -server=/.cyberghostvpn.com/127.0.0.1#5335 -server=/.cycab.gov.tw/127.0.0.1#5335 -server=/.cydia.ifuckgfw.com/127.0.0.1#5335 -server=/.cynscribe.com/127.0.0.1#5335 -server=/.cytode.us/127.0.0.1#5335 -server=/.dabr.co.uk/127.0.0.1#5335 -server=/.dabr.me/127.0.0.1#5335 -server=/.dabr.mobi/127.0.0.1#5335 -server=/.dadazim.com/127.0.0.1#5335 -server=/.dadi360.com/127.0.0.1#5335 -server=/.dafagood.com/127.0.0.1#5335 -server=/.dafahao.com/127.0.0.1#5335 -server=/.dailidaili.com/127.0.0.1#5335 -server=/.dailymotion.com/127.0.0.1#5335 -server=/.dailynews.sina.com/127.0.0.1#5335 -server=/.dajiyuan.com/127.0.0.1#5335 -server=/.dajiyuan.eu/127.0.0.1#5335 -server=/.dajusha.baywords.com/127.0.0.1#5335 -server=/.dalailama.com/127.0.0.1#5335 -server=/.dalailama.ru/127.0.0.1#5335 -server=/.dalailamaworld.com/127.0.0.1#5335 -server=/.dalianmeng.org/127.0.0.1#5335 -server=/.danke4china.net/127.0.0.1#5335 -server=/.danwei.org/127.0.0.1#5335 -server=/.daolan.net/127.0.0.1#5335 -server=/.dapu-house.gov.tw/127.0.0.1#5335 -server=/.darpa.mil/127.0.0.1#5335 -server=/.date.fm/127.0.0.1#5335 -server=/.davidslog.com/127.0.0.1#5335 -server=/.daxa.cn/127.0.0.1#5335 -server=/.dayaarmongol.ning.com/127.0.0.1#5335 -server=/.daylife.com/127.0.0.1#5335 -server=/.ddc.com.tw/127.0.0.1#5335 -server=/.deck.ly/127.0.0.1#5335 -server=/.default.secureserver.net/127.0.0.1#5335 -server=/.delcamp.net/127.0.0.1#5335 -server=/.delicious.com/127.0.0.1#5335 -server=/.democrats.org/127.0.0.1#5335 -server=/.demo.opera-mini.net/127.0.0.1#5335 -server=/.derekhsu.homeip.net/127.0.0.1#5335 -server=/.de-sci.org/127.0.0.1#5335 -server=/.designerol.com/127.0.0.1#5335 -server=/.destiny.xfiles.to/127.0.0.1#5335 -server=/.deutsche-welle.de/127.0.0.1#5335 -server=/.dev102.com/127.0.0.1#5335 -server=/.developers.box.net/127.0.0.1#5335 -server=/.deviantart.com/127.0.0.1#5335 -server=/.deviantart.net/127.0.0.1#5335 -server=/.devio.us/127.0.0.1#5335 -server=/.devpn.com/127.0.0.1#5335 -server=/.dfas.mil/127.0.0.1#5335 -server=/.df.gov.tw/127.0.0.1#5335 -server=/.diaoyuislands.org/127.0.0.1#5335 -server=/.digitalnomadsproject.org/127.0.0.1#5335 -server=/.diigo.com/127.0.0.1#5335 -server=/.dimitrik.free.fr/127.0.0.1#5335 -server=/.dipity.com/127.0.0.1#5335 -server=/.directcreative.com/127.0.0.1#5335 -server=/.discuss.com.hk/127.0.0.1#5335 -server=/.disp.cc/127.0.0.1#5335 -server=/.dit-inc.us/127.0.0.1#5335 -server=/.dizhidizhi.com/127.0.0.1#5335 -server=/.djangosnippets.org/127.0.0.1#5335 -server=/.dl.box.net/127.0.0.1#5335 -server=/.dl-laby.jp/127.0.0.1#5335 -server=/.dl.playstation.net/127.0.0.1#5335 -server=/.dlsite.com/127.0.0.1#5335 -server=/.dmcdn.net/127.0.0.1#5335 -server=/.dmtip.gov.tw/127.0.0.1#5335 -server=/.dns2go.com/127.0.0.1#5335 -server=/.dnscrypt.org/127.0.0.1#5335 -server=/.docstoc.com/127.0.0.1#5335 -server=/.dojin.com/127.0.0.1#5335 -server=/.dok-forum.net/127.0.0.1#5335 -server=/.dolc.de/127.0.0.1#5335 -server=/.dollf.com/127.0.0.1#5335 -server=/.domain.club.tw/127.0.0.1#5335 -server=/.domainhelp.search.com/127.0.0.1#5335 -server=/.dongde.com/127.0.0.1#5335 -server=/.dongtaiwang.com/127.0.0.1#5335 -server=/.dongtaiwang.net/127.0.0.1#5335 -server=/.dongyangjing.com/127.0.0.1#5335 -server=/.dontfilter.us/127.0.0.1#5335 -server=/.dontmovetochina.com/127.0.0.1#5335 -server=/.dotheyfolloweachother.com/127.0.0.1#5335 -server=/.dotplane.com/127.0.0.1#5335 -server=/.dotsub.com/127.0.0.1#5335 -server=/.doubleaf.com/127.0.0.1#5335 -server=/.doubleclick.net/127.0.0.1#5335 -server=/.dougscripts.com/127.0.0.1#5335 -server=/.dowei.org/127.0.0.1#5335 -server=/.download.syniumsoftware.com/127.0.0.1#5335 -server=/.doxygen.org/127.0.0.1#5335 -server=/.dphk.org/127.0.0.1#5335 -server=/.dpp.org.tw/127.0.0.1#5335 -server=/.drewolanoff.com/127.0.0.1#5335 -server=/.drgan.net/127.0.0.1#5335 -server=/.dropbox.com/127.0.0.1#5335 -server=/.dropboxusercontent.com/127.0.0.1#5335 -server=/.drsunacademy.com/127.0.0.1#5335 -server=/.drtuber.com/127.0.0.1#5335 -server=/.dscn.info/127.0.0.1#5335 -server=/.dtiblog.com/127.0.0.1#5335 -server=/.dtic.mil/127.0.0.1#5335 -server=/.dtiserv2.com/127.0.0.1#5335 -server=/.duckduckgo.com/127.0.0.1#5335 -server=/.duckload.com/127.0.0.1#5335 -server=/.duckmylife.com/127.0.0.1#5335 -server=/.duihuahrjournal.org/127.0.0.1#5335 -server=/.duihua.org/127.0.0.1#5335 -server=/.duoweitimes.com/127.0.0.1#5335 -server=/.duping.net/127.0.0.1#5335 -server=/.duplicati.com/127.0.0.1#5335 -server=/.dupola.com/127.0.0.1#5335 -server=/.dupola.net/127.0.0.1#5335 -server=/.dvorak.org/127.0.0.1#5335 -server=/.dw.de/127.0.0.1#5335 -server=/.dwnews.com/127.0.0.1#5335 -server=/.dwnews.net/127.0.0.1#5335 -server=/.dw-world.com/127.0.0.1#5335 -server=/.dw-world.de/127.0.0.1#5335 -server=/.dy24k.info/127.0.0.1#5335 -server=/.dynawebinc.com/127.0.0.1#5335 -server=/.dyndns.org/127.0.0.1#5335 -server=/.dzze.com/127.0.0.1#5335 -server=/.e123.hk/127.0.0.1#5335 -server=/.eamonnbrennan.com/127.0.0.1#5335 -server=/.earthquake.usgs.gov/127.0.0.1#5335 -server=/.easy-share.com/127.0.0.1#5335 -server=/.ebookbrowse.com/127.0.0.1#5335 -server=/.ebookee.com/127.0.0.1#5335 -server=/.echofon.com/127.0.0.1#5335 -server=/.ecministry.net/127.0.0.1#5335 -server=/.edicypages.com/127.0.0.1#5335 -server=/.edoors.com/127.0.0.1#5335 -server=/.edubridge.com/127.0.0.1#5335 -server=/.eevpn.com/127.0.0.1#5335 -server=/.efcc.org.hk/127.0.0.1#5335 -server=/.efksoft.com/127.0.0.1#5335 -server=/.efmoe.com/127.0.0.1#5335 -server=/.e-gold.com/127.0.0.1#5335 -server=/.eic-av.com/127.0.0.1#5335 -server=/.e-info.org.tw/127.0.0.1#5335 -server=/.electionsmeter.com/127.0.0.1#5335 -server=/.elpais.com/127.0.0.1#5335 -server=/.eltondisney.com/127.0.0.1#5335 -server=/.emacsblog.org/127.0.0.1#5335 -server=/.embr.in/127.0.0.1#5335 -server=/.emory.edu/127.0.0.1#5335 -server=/.emule-ed2k.com/127.0.0.1#5335 -server=/.emuparadise.me/127.0.0.1#5335 -server=/.enewstree.com/127.0.0.1#5335 -server=/.en.favotter.net/127.0.0.1#5335 -server=/.englishfromengland.co.uk/127.0.0.1#5335 -server=/.entermap.com/127.0.0.1#5335 -server=/.en.wikipedia.org/127.0.0.1#5335 -server=/.epochtimes-bg.com/127.0.0.1#5335 -server=/.epochtimes.co.il/127.0.0.1#5335 -server=/.epochtimes.co.kr/127.0.0.1#5335 -server=/.epochtimes.com/127.0.0.1#5335 -server=/.epochtimes.de/127.0.0.1#5335 -server=/.epochtimes.fr/127.0.0.1#5335 -server=/.epochtimes.ie/127.0.0.1#5335 -server=/.epochtimes.jp/127.0.0.1#5335 -server=/.epochtimes-romania.com/127.0.0.1#5335 -server=/.epochtimes.ru/127.0.0.1#5335 -server=/.epochtimes.se/127.0.0.1#5335 -server=/.epochtimestr.com/127.0.0.1#5335 -server=/.epochweekly.com/127.0.0.1#5335 -server=/.erabaru.net/127.0.0.1#5335 -server=/.erepublik.com/127.0.0.1#5335 -server=/.erepublik.net/127.0.0.1#5335 -server=/.erights.net/127.0.0.1#5335 -server=/.eriversoft.com/127.0.0.1#5335 -server=/.ernestmandel.org/127.0.0.1#5335 -server=/.etaiwannews.com/127.0.0.1#5335 -server=/.etizer.org/127.0.0.1#5335 -server=/.etools.ncol.com/127.0.0.1#5335 -server=/.e-traderland.net/127.0.0.1#5335 -server=/.etraining.gov.tw/127.0.0.1#5335 -server=/.ettoday.net/127.0.0.1#5335 -server=/.evchk.wikia.com/127.0.0.1#5335 -server=/.eventful.com/127.0.0.1#5335 -server=/.everyday-carry.com/127.0.0.1#5335 -server=/.exblog.jp/127.0.0.1#5335 -server=/.expatshield.com/127.0.0.1#5335 -server=/.exploader.net/127.0.0.1#5335 -server=/.extremetube.com/127.0.0.1#5335 -server=/.eyespirit.info/127.0.0.1#5335 -server=/.eyevio.jp/127.0.0.1#5335 -server=/.eyny.com/127.0.0.1#5335 -server=/.ezpc.tk/127.0.0.1#5335 -server=/.ezpeer.com/127.0.0.1#5335 -server=/.facebook.com/127.0.0.1#5335 -server=/.facebook.net/127.0.0.1#5335 -server=/.facesofnyfw.com/127.0.0.1#5335 -server=/.fail.hk/127.0.0.1#5335 -server=/.faiththedog.info/127.0.0.1#5335 -server=/.fakku.net/127.0.0.1#5335 -server=/.falsefire.com/127.0.0.1#5335 -server=/.falunart.org/127.0.0.1#5335 -server=/.falundafamuseum.org/127.0.0.1#5335 -server=/.falundafa.org/127.0.0.1#5335 -server=/.falunhr.org/127.0.0.1#5335 -server=/.famunion.com/127.0.0.1#5335 -server=/.fangbinxing.com/127.0.0.1#5335 -server=/.fangeming.com/127.0.0.1#5335 -server=/.fanglizhi.info/127.0.0.1#5335 -server=/.fangongheike.com/127.0.0.1#5335 -server=/.fangong.org/127.0.0.1#5335 -server=/.fan-qiang.com/127.0.0.1#5335 -server=/.fanqianghou.com/127.0.0.1#5335 -server=/.fanqiangyakexi.net/127.0.0.1#5335 -server=/.fanswong.com/127.0.0.1#5335 -server=/.fanyue.info/127.0.0.1#5335 -server=/.fapdu.com/127.0.0.1#5335 -server=/.farwestchina.com/127.0.0.1#5335 -server=/.farxian.com/127.0.0.1#5335 -server=/.fastpic.ru/127.0.0.1#5335 -server=/.faststone.org/127.0.0.1#5335 -server=/.favorious.com/127.0.0.1#5335 -server=/.favstar.fm/127.0.0.1#5335 -server=/.fawanghuihui.org/127.0.0.1#5335 -server=/.faydao.com/127.0.0.1#5335 -server=/.fbcdn.net/127.0.0.1#5335 -server=/.fb.com/127.0.0.1#5335 -server=/.fb.me/127.0.0.1#5335 -server=/.fbsbx.com/127.0.0.1#5335 -server=/.fc2china.com/127.0.0.1#5335 -server=/.fc2.com/127.0.0.1#5335 -server=/.f.cl.ly/127.0.0.1#5335 -server=/.fdc89.jp/127.0.0.1#5335 -server=/.feedbooks.mobi/127.0.0.1#5335 -server=/.feedburner.com/127.0.0.1#5335 -server=/.feeds2.feedburner.com/127.0.0.1#5335 -server=/.feeds.feedburner.com/127.0.0.1#5335 -server=/.feedzshare.com/127.0.0.1#5335 -server=/.feelssh.com/127.0.0.1#5335 -server=/.feer.com/127.0.0.1#5335 -server=/.felixcat.net/127.0.0.1#5335 -server=/.feministteacher.com/127.0.0.1#5335 -server=/.fengzhenghu.com/127.0.0.1#5335 -server=/.fetchvideo.com/127.0.0.1#5335 -server=/.ff.im/127.0.0.1#5335 -server=/.fflick.com/127.0.0.1#5335 -server=/.fgmtv.net/127.0.0.1#5335 -server=/.fgmtv.org/127.0.0.1#5335 -server=/.filefactory.com/127.0.0.1#5335 -server=/.files2me.com/127.0.0.1#5335 -server=/.fileserve.com/127.0.0.1#5335 -server=/.fillthesquare.org/127.0.0.1#5335 -server=/.finalion.jp/127.0.0.1#5335 -server=/.findbook.tw/127.0.0.1#5335 -server=/.finler.net/127.0.0.1#5335 -server=/.fireofliberty.org/127.0.0.1#5335 -server=/.firstfivefollowers.com/127.0.0.1#5335 -server=/.flecheinthepeche.fr/127.0.0.1#5335 -server=/.fleshbot.com/127.0.0.1#5335 -server=/.flickr.com/127.0.0.1#5335 -server=/.flickrhivemind.net/127.0.0.1#5335 -server=/.flightcaster.com/127.0.0.1#5335 -server=/.flowerofhappiness.spaces.live.com/127.0.0.1#5335 -server=/.focustaiwan.tw/127.0.0.1#5335 -server=/.focusvpn.com/127.0.0.1#5335 -server=/.fofg.org/127.0.0.1#5335 -server=/.fooooo.com/127.0.0.1#5335 -server=/.footwiball.com/127.0.0.1#5335 -server=/.forum.baby-kingdom.com/127.0.0.1#5335 -server=/.forum.cyberctm.com/127.0.0.1#5335 -server=/.forum.idsam.com/127.0.0.1#5335 -server=/.forum.iset.com.tw/127.0.0.1#5335 -server=/.forum.my903.com/127.0.0.1#5335 -server=/.forum.mymaji.com/127.0.0.1#5335 -server=/.forum.newsgroup.la/127.0.0.1#5335 -server=/.forum.nownews.com/127.0.0.1#5335 -server=/.forum.omy.sg/127.0.0.1#5335 -server=/.forum.palmislife.com/127.0.0.1#5335 -server=/.forum.pchome.com.tw/127.0.0.1#5335 -server=/.forum.setty.com.tw/127.0.0.1#5335 -server=/.forum.sina.com.hk/127.0.0.1#5335 -server=/.forum.slime.com.tw/127.0.0.1#5335 -server=/.forum.tvb.com/127.0.0.1#5335 -server=/.forum.yorkbbs.ca/127.0.0.1#5335 -server=/.fotop.net/127.0.0.1#5335 -server=/.fourface.nodesnoop.com/127.0.0.1#5335 -server=/.fourthinternational.org/127.0.0.1#5335 -server=/.foxdie.us/127.0.0.1#5335 -server=/.foxsub.com/127.0.0.1#5335 -server=/.foxtang.com/127.0.0.1#5335 -server=/.fqrouter.com/127.0.0.1#5335 -server=/.franklc.com/127.0.0.1#5335 -server=/.freakshare.com/127.0.0.1#5335 -server=/.fredwilson.vc/127.0.0.1#5335 -server=/.free4u.com.ar/127.0.0.1#5335 -server=/.freealim.com/127.0.0.1#5335 -server=/.freechal.com/127.0.0.1#5335 -server=/.freedomhouse.org/127.0.0.1#5335 -server=/.free.fr/127.0.0.1#5335 -server=/.freegao.com/127.0.0.1#5335 -server=/.freegateget.googlepages.com/127.0.0.1#5335 -server=/.free-gate.org/127.0.0.1#5335 -server=/.free-hada-now.org/127.0.0.1#5335 -server=/.freelotto.com/127.0.0.1#5335 -server=/.freeman2.com/127.0.0.1#5335 -server=/.freemoren.com/127.0.0.1#5335 -server=/.freemorenews.com/127.0.0.1#5335 -server=/.freenet-china.org/127.0.0.1#5335 -server=/.freenetproject.org/127.0.0.1#5335 -server=/.freenewscn.com/127.0.0.1#5335 -server=/.freeopenvpn.com/127.0.0.1#5335 -server=/.freeoz.org/127.0.0.1#5335 -server=/.free-ssh.com/127.0.0.1#5335 -server=/.freessh.us/127.0.0.1#5335 -server=/.freetibet.org/127.0.0.1#5335 -server=/.freevpn.nl/127.0.0.1#5335 -server=/.freewallpaper4.me/127.0.0.1#5335 -server=/.freewebs.com/127.0.0.1#5335 -server=/.freeweibo.com/127.0.0.1#5335 -server=/.freexinwen.com/127.0.0.1#5335 -server=/.freeyoutubeproxy.net/127.0.0.1#5335 -server=/.friendfeed.com/127.0.0.1#5335 -server=/.friendfeed-media.com/127.0.0.1#5335 -server=/.fring.com/127.0.0.1#5335 -server=/.fringenetwork.com/127.0.0.1#5335 -server=/.frommel.net/127.0.0.1#5335 -server=/.frontlinedefenders.org/127.0.0.1#5335 -server=/.fscked.org/127.0.0.1#5335 -server=/.fsurf.com/127.0.0.1#5335 -server=/.ftchinese.com/127.0.0.1#5335 -server=/.fuckcnnic.net/127.0.0.1#5335 -server=/.fuckgfw.com/127.0.0.1#5335 -server=/.fuckgfw.org/127.0.0.1#5335 -server=/.fulue.com/127.0.0.1#5335 -server=/.funf.tw/127.0.0.1#5335 -server=/.funp.com/127.0.0.1#5335 -server=/.furinkan.com/127.0.0.1#5335 -server=/.furl.net/127.0.0.1#5335 -server=/.futurechinaforum.org/127.0.0.1#5335 -server=/.futureme.org/127.0.0.1#5335 -server=/.futuremessage.org/127.0.0.1#5335 -server=/.fuyin.net/127.0.0.1#5335 -server=/.fw.cm/127.0.0.1#5335 -server=/.fxnetworks.com/127.0.0.1#5335 -server=/.fzh999.com/127.0.0.1#5335 -server=/.fzh999.net/127.0.0.1#5335 -server=/.gabocorp.com/127.0.0.1#5335 -server=/.gaeproxy.com/127.0.0.1#5335 -server=/.gaeproxy.googlecode.com/127.0.0.1#5335 -server=/.galenwu.com/127.0.0.1#5335 -server=/.game735.com/127.0.0.1#5335 -server=/.gamebase.com.tw/127.0.0.1#5335 -server=/.gamer.com.tw/127.0.0.1#5335 -server=/.gamez.com.tw/127.0.0.1#5335 -server=/.ganges.com/127.0.0.1#5335 -server=/.gaoming.net/127.0.0.1#5335 -server=/.gaopi.net/127.0.0.1#5335 -server=/.gaozhisheng.net/127.0.0.1#5335 -server=/.gaozhisheng.org/127.0.0.1#5335 -server=/.gardennetworks.com/127.0.0.1#5335 -server=/.gardennetworks.org/127.0.0.1#5335 -server=/.gartlive.com/127.0.0.1#5335 -server=/.gather.com/127.0.0.1#5335 -server=/.gaymap.cc/127.0.0.1#5335 -server=/.gazotube.com/127.0.0.1#5335 -server=/.gcc.org.hk/127.0.0.1#5335 -server=/.gclooney.com/127.0.0.1#5335 -server=/.g.co/127.0.0.1#5335 -server=/.gcpnews.com/127.0.0.1#5335 -server=/.gdbt.net/127.0.0.1#5335 -server=/.gdzf.org/127.0.0.1#5335 -server=/.geek-art.net/127.0.0.1#5335 -server=/.geekerhome.com/127.0.0.1#5335 -server=/.geekmade.co.uk/127.0.0.1#5335 -server=/.geekmanuals.com/127.0.0.1#5335 -server=/.generesis.com/127.0.0.1#5335 -server=/.genuitec.com/127.0.0.1#5335 -server=/.geocities.co.jp/127.0.0.1#5335 -server=/.geocities.com/127.0.0.1#5335 -server=/.geocities.jp/127.0.0.1#5335 -server=/.geohot.com/127.0.0.1#5335 -server=/.geometrictools.com/127.0.0.1#5335 -server=/.getchu.com/127.0.0.1#5335 -server=/.getcloudapp.com/127.0.0.1#5335 -server=/.get-digital-help.com/127.0.0.1#5335 -server=/.getfoxyproxy.org/127.0.0.1#5335 -server=/.getfreedur.com/127.0.0.1#5335 -server=/.getiton.com/127.0.0.1#5335 -server=/.getjetso.com/127.0.0.1#5335 -server=/.getlantern.org/127.0.0.1#5335 -server=/.getsmartlinks.com/127.0.0.1#5335 -server=/.getsocialscope.com/127.0.0.1#5335 -server=/.gfwinterceptor.googlecode.com/127.0.0.1#5335 -server=/.gfw.org.ua/127.0.0.1#5335 -server=/.ggpht.com/127.0.0.1#5335 -server=/.ggssl.com/127.0.0.1#5335 -server=/.ghost.org/127.0.0.1#5335 -server=/.ghut.org/127.0.0.1#5335 -server=/.giga-web.jp/127.0.0.1#5335 -server=/.gigporno.ru/127.0.0.1#5335 -server=/.gimpshop.com/127.0.0.1#5335 -server=/.girlbanker.com/127.0.0.1#5335 -server=/.github.com/127.0.0.1#5335 -server=/.git-scm.com/127.0.0.1#5335 -server=/.givemesomethingtoread.com/127.0.0.1#5335 -server=/.glennhilton.com/127.0.0.1#5335 -server=/.globaljihad.net/127.0.0.1#5335 -server=/.globalmuseumoncommunism.org/127.0.0.1#5335 -server=/.globalrescue.net/127.0.0.1#5335 -server=/.globalvoicesonline.org/127.0.0.1#5335 -server=/.gmail.com/127.0.0.1#5335 -server=/.gmbd.cn/127.0.0.1#5335 -server=/.gmhz.org/127.0.0.1#5335 -server=/.gmodules.com/127.0.0.1#5335 -server=/.gmozomg.izihost.org/127.0.0.1#5335 -server=/.gnci.org.hk/127.0.0.1#5335 -server=/.goagent.biz/127.0.0.1#5335 -server=/.goagent.googlecode.com/127.0.0.1#5335 -server=/.goagentplus.com/127.0.0.1#5335 -server=/.godfootsteps.org/127.0.0.1#5335 -server=/.golang.org/127.0.0.1#5335 -server=/.goldbetsports.com/127.0.0.1#5335 -server=/.goldwave.com/127.0.0.1#5335 -server=/.gongmeng.info/127.0.0.1#5335 -server=/.gongm.in/127.0.0.1#5335 -server=/.gongminliliang.com/127.0.0.1#5335 -server=/.gongwt.com/127.0.0.1#5335 -server=/.goodreaders.com/127.0.0.1#5335 -server=/.goodreads.com/127.0.0.1#5335 -server=/.goofind.com/127.0.0.1#5335 -server=/.goo.gl/127.0.0.1#5335 -server=/.googleadservices.com/127.0.0.1#5335 -server=/.google-analytics.com/127.0.0.1#5335 -server=/.googleapis.com/127.0.0.1#5335 -server=/.googlecode.com/127.0.0.1#5335 -server=/.google.co.jp/127.0.0.1#5335 -server=/.google.com/127.0.0.1#5335 -server=/.google.com.hk/127.0.0.1#5335 -server=/.google.com.sg/127.0.0.1#5335 -server=/.google.com.tw/127.0.0.1#5335 -server=/.google.com.uk/127.0.0.1#5335 -server=/.googledomains.com/127.0.0.1#5335 -server=/.googledrive.com/127.0.0.1#5335 -server=/.googleearth.com/127.0.0.1#5335 -server=/.googlehosted.com/127.0.0.1#5335 -server=/.googlelabs.com/127.0.0.1#5335 -server=/.googlemail.com/127.0.0.1#5335 -server=/.googleplus.com/127.0.0.1#5335 -server=/.googlesile.com/127.0.0.1#5335 -server=/.googlesource.com/127.0.0.1#5335 -server=/.googlesyndication.com/127.0.0.1#5335 -server=/.googletagmanager.com/127.0.0.1#5335 -server=/.googletagservices.com/127.0.0.1#5335 -server=/.googleusercontent.com/127.0.0.1#5335 -server=/.googlevideo.com/127.0.0.1#5335 -server=/.gopetition.com/127.0.0.1#5335 -server=/.gospelherald.com/127.0.0.1#5335 -server=/.gov.tw/127.0.0.1#5335 -server=/.gpass1.com/127.0.0.1#5335 -server=/.grandtrial.org/127.0.0.1#5335 -server=/.graphis.ne.jp/127.0.0.1#5335 -server=/.gravatar.com/127.0.0.1#5335 -server=/.graylog2.org/127.0.0.1#5335 -server=/.grb.gov.tw/127.0.0.1#5335 -server=/.greatfire.org/127.0.0.1#5335 -server=/.greatfirewall.biz/127.0.0.1#5335 -server=/.great-firewall.com/127.0.0.1#5335 -server=/.greatfirewallofchina.net/127.0.0.1#5335 -server=/.greatfirewallofchina.org/127.0.0.1#5335 -server=/.great-roc.org/127.0.0.1#5335 -server=/.greatroc.org/127.0.0.1#5335 -server=/.greatroc.tw/127.0.0.1#5335 -server=/.greatzhonghua.org/127.0.0.1#5335 -server=/.greenparty.org.tw/127.0.0.1#5335 -server=/.greenvpn.net/127.0.0.1#5335 -server=/.gs-discuss.com/127.0.0.1#5335 -server=/.gseeker.com/127.0.0.1#5335 -server=/.gsn-cert.nat.gov.tw/127.0.0.1#5335 -server=/.gstatic.com/127.0.0.1#5335 -server=/.gtap.googlecode.com/127.0.0.1#5335 -server=/.gtricks.com/127.0.0.1#5335 -server=/.guancha.org/127.0.0.1#5335 -server=/.gufeng521.spaces.live.com/127.0.0.1#5335 -server=/.guishan.org/127.0.0.1#5335 -server=/.gunsamerica.com/127.0.0.1#5335 -server=/.gun-world.net/127.0.0.1#5335 -server=/.guomin.us/127.0.0.1#5335 -server=/.gutteruncensored.com/127.0.0.1#5335 -server=/.gvm.com.tw/127.0.0.1#5335 -server=/.gyalwarinpoche.com/127.0.0.1#5335 -server=/.gysd.nyc.gov.tw/127.0.0.1#5335 -server=/.gzm.tv/127.0.0.1#5335 -server=/.gzone-anime.info/127.0.0.1#5335 -server=/.h1n1china.org/127.0.0.1#5335 -server=/.hacken.cc/127.0.0.1#5335 -server=/.hackthatphone.net/127.0.0.1#5335 -server=/.hahlo.com/127.0.0.1#5335 -server=/.hakkatv.org.tw/127.0.0.1#5335 -server=/.hanunyi.com/127.0.0.1#5335 -server=/.hardsextube.com/127.0.0.1#5335 -server=/.hasaowall.com/127.0.0.1#5335 -server=/.have8.com/127.0.0.1#5335 -server=/.haygo.com/127.0.0.1#5335 -server=/.hcc.gov.tw/127.0.0.1#5335 -server=/.hchcc.gov.tw/127.0.0.1#5335 -server=/.h-china.org/127.0.0.1#5335 -server=/.hdtvb.net/127.0.0.1#5335 -server=/.heartyit.com/127.0.0.1#5335 -server=/.hecaitou.net/127.0.0.1#5335 -server=/.hechaji.com/127.0.0.1#5335 -server=/.heix.pp.ru/127.0.0.1#5335 -server=/.heiyo.info/127.0.0.1#5335 -server=/.helloandroid.com/127.0.0.1#5335 -server=/.hellonewyork.us/127.0.0.1#5335 -server=/.helloqueer.com/127.0.0.1#5335 -server=/.hellotxt.com/127.0.0.1#5335 -server=/.hellouk.org/127.0.0.1#5335 -server=/.helpeachpeople.com/127.0.0.1#5335 -server=/.helplinfen.com/127.0.0.1#5335 -server=/.help.linksalpha.com/127.0.0.1#5335 -server=/.help.opera.com/127.0.0.1#5335 -server=/.helpzhuling.org/127.0.0.1#5335 -server=/.hen.bao.li/127.0.0.1#5335 -server=/.hengchuen.gov.tw/127.0.0.1#5335 -server=/.heqinglian.net/127.0.0.1#5335 -server=/.here4news.com/127.0.0.1#5335 -server=/.heungkongdiscuss.com/127.0.0.1#5335 -server=/.hgseav.com/127.0.0.1#5335 -server=/.hidden-advent.org/127.0.0.1#5335 -server=/.hidecloud.com/127.0.0.1#5335 -server=/.hideipvpn.com/127.0.0.1#5335 -server=/.hidemyass.com/127.0.0.1#5335 -server=/.higfw.com/127.0.0.1#5335 -server=/.highrockmedia.com/127.0.0.1#5335 -server=/.hihiforum.com/127.0.0.1#5335 -server=/.hihistory.net/127.0.0.1#5335 -server=/.hiitch.com/127.0.0.1#5335 -server=/.hikinggfw.org/127.0.0.1#5335 -server=/.himemix.com/127.0.0.1#5335 -server=/.himemix.net/127.0.0.1#5335 -server=/.hjclub.info/127.0.0.1#5335 -server=/.hk32168.com/127.0.0.1#5335 -server=/.hkbc.net/127.0.0.1#5335 -server=/.hkbf.org/127.0.0.1#5335 -server=/.hkchurch.org/127.0.0.1#5335 -server=/.hkdailynews.com.hk/127.0.0.1#5335 -server=/.hkday.net/127.0.0.1#5335 -server=/.hkej.com/127.0.0.1#5335 -server=/.hkepc.com/127.0.0.1#5335 -server=/.hkfront.org/127.0.0.1#5335 -server=/.hk.geocities.com/127.0.0.1#5335 -server=/.hkgolden.com/127.0.0.1#5335 -server=/.hkgreenradio.org/127.0.0.1#5335 -server=/.hkg.westkit.net/127.0.0.1#5335 -server=/.hkheadline.com/127.0.0.1#5335 -server=/.hkhkhk.com/127.0.0.1#5335 -server=/.hkjc.com/127.0.0.1#5335 -server=/.hk.jiepang.com/127.0.0.1#5335 -server=/.hkjp.easyweb.hk/127.0.0.1#5335 -server=/.hkjp.org/127.0.0.1#5335 -server=/.hk.knowledge.yahoo.com/127.0.0.1#5335 -server=/.hk.myblog.yahoo.com/127.0.0.1#5335 -server=/.hk.news.yahoo.com/127.0.0.1#5335 -server=/.hkptu.org/127.0.0.1#5335 -server=/.hk-pub.com/127.0.0.1#5335 -server=/.hk.rd.yahoo.com/127.0.0.1#5335 -server=/.hkreporter.com/127.0.0.1#5335 -server=/.hkreporter.loved.hk/127.0.0.1#5335 -server=/.hk.search.yahoo.com/127.0.0.1#5335 -server=/.hk.video.news.yahoo.com/127.0.0.1#5335 -server=/.hkwcc.org.hk/127.0.0.1#5335 -server=/.hk.yahoo.com/127.0.0.1#5335 -server=/.hkzone.org/127.0.0.1#5335 -server=/.hnjhj.com/127.0.0.1#5335 -server=/.hola.com/127.0.0.1#5335 -server=/.holyspiritspeaks.org/127.0.0.1#5335 -server=/.holz.byethost8.com/127.0.0.1#5335 -server=/.homeservershow.com/127.0.0.1#5335 -server=/.home.sina.com/127.0.0.1#5335 -server=/.home.so-net.net.tw/127.0.0.1#5335 -server=/.honeonet.spaces.live.com/127.0.0.1#5335 -server=/.hongmeimei.com/127.0.0.1#5335 -server=/.hongzhi.li/127.0.0.1#5335 -server=/.hootsuite.com/127.0.0.1#5335 -server=/.hotpot.hk/127.0.0.1#5335 -server=/.hotshame.com/127.0.0.1#5335 -server=/.hotspotshield.com/127.0.0.1#5335 -server=/.hougaige.com/127.0.0.1#5335 -server=/.howtoforge.com/127.0.0.1#5335 -server=/.hqcdp.org/127.0.0.1#5335 -server=/.hrcir.com/127.0.0.1#5335 -server=/.hrichina.org/127.0.0.1#5335 -server=/.hrw.org/127.0.0.1#5335 -server=/.hsinchu-cc.gov.tw/127.0.0.1#5335 -server=/.hsjp.net/127.0.0.1#5335 -server=/.hsselite.com/127.0.0.1#5335 -server=/.htkou.net/127.0.0.1#5335 -server=/.htl.li/127.0.0.1#5335 -server=/.ht.ly/127.0.0.1#5335 -server=/.htmldog.com/127.0.0.1#5335 -server=/.huaglad.com/127.0.0.1#5335 -server=/.huajiadi.spaces.live.com/127.0.0.1#5335 -server=/.huanghuagang.org/127.0.0.1#5335 -server=/.huaren.us/127.0.0.1#5335 -server=/.huaxia-news.com/127.0.0.1#5335 -server=/.huaxin.ph/127.0.0.1#5335 -server=/.hua-yue.net/127.0.0.1#5335 -server=/.hudatoriq.web.id/127.0.0.1#5335 -server=/.hugoroy.eu/127.0.0.1#5335 -server=/.huhamhire.com/127.0.0.1#5335 -server=/.hujiachina.spaces.live.com/127.0.0.1#5335 -server=/.hulu.com/127.0.0.1#5335 -server=/.huluim.com/127.0.0.1#5335 -server=/.humanities.uchicago.edu/127.0.0.1#5335 -server=/.hungerstrikeforaids.org/127.0.0.1#5335 -server=/.hung-ya.com/127.0.0.1#5335 -server=/.huping.net/127.0.0.1#5335 -server=/.hutianyi.net/127.0.0.1#5335 -server=/.hutong9.net/127.0.0.1#5335 -server=/.hwinfo.com/127.0.0.1#5335 -server=/.hyperrate.com/127.0.0.1#5335 -server=/.hypeshell.com/127.0.0.1#5335 -server=/.i1.hk/127.0.0.1#5335 -server=/.i2runner.com/127.0.0.1#5335 -server=/.ialmostlaugh.com/127.0.0.1#5335 -server=/.iask.bz/127.0.0.1#5335 -server=/.iask.ca/127.0.0.1#5335 -server=/.ibiblio.org/127.0.0.1#5335 -server=/.iblogserv-f.net/127.0.0.1#5335 -server=/.ibros.org/127.0.0.1#5335 -server=/.icij.org/127.0.0.1#5335 -server=/.icl-fi.org/127.0.0.1#5335 -server=/.iconpaper.org/127.0.0.1#5335 -server=/.icu-project.org/127.0.0.1#5335 -server=/.idemocracy.asia/127.0.0.1#5335 -server=/.identi.ca/127.0.0.1#5335 -server=/.idiomconnection.com/127.0.0.1#5335 -server=/.idouga.com/127.0.0.1#5335 -server=/.idv.tw/127.0.0.1#5335 -server=/.ieasynews.net/127.0.0.1#5335 -server=/.ied2k.net/127.0.0.1#5335 -server=/.ieemdai.spaces.live.com/127.0.0.1#5335 -server=/.ifan.cz.cc/127.0.0.1#5335 -server=/.ifanqiang.com/127.0.0.1#5335 -server=/.ifanr.com/127.0.0.1#5335 -server=/.ifcss.org/127.0.0.1#5335 -server=/.ifjc.org/127.0.0.1#5335 -server=/.igfw.net/127.0.0.1#5335 -server=/.ignitedetroit.net/127.0.0.1#5335 -server=/.igvita.com/127.0.0.1#5335 -server=/.ihakka.net/127.0.0.1#5335 -server=/.iicns.com/127.0.0.1#5335 -server=/.illusionfactory.com/127.0.0.1#5335 -server=/.ilove80.be/127.0.0.1#5335 -server=/.im88.tw/127.0.0.1#5335 -server=/.imageflea.com/127.0.0.1#5335 -server=/.imagesblog.gio.gov.tw/127.0.0.1#5335 -server=/.imageshack.us/127.0.0.1#5335 -server=/.imagevenue.com/127.0.0.1#5335 -server=/.imagezilla.net/127.0.0.1#5335 -server=/.ime.baidu.jp/127.0.0.1#5335 -server=/.img.ly/127.0.0.1#5335 -server=/.imkev.com/127.0.0.1#5335 -server=/.imlive.com/127.0.0.1#5335 -server=/.immigration.gov.tw/127.0.0.1#5335 -server=/.imrworldwide.com/127.0.0.1#5335 -server=/.im.tv/127.0.0.1#5335 -server=/.incredibox.fr/127.0.0.1#5335 -server=/.iner.gov.tw/127.0.0.1#5335 -server=/.initiativesforchina.org/127.0.0.1#5335 -server=/.inmediahk.net/127.0.0.1#5335 -server=/.innermongolia.org/127.0.0.1#5335 -server=/.instagram.com/127.0.0.1#5335 -server=/.interestinglaugh.com/127.0.0.1#5335 -server=/.interfaceaddiction.com/127.0.0.1#5335 -server=/.internationalrivers.org/127.0.0.1#5335 -server=/.internetdefenseleague.org/127.0.0.1#5335 -server=/.internetfreedom.org/127.0.0.1#5335 -server=/.internetpopculture.com/127.0.0.1#5335 -server=/.inxian.com/127.0.0.1#5335 -server=/.iphone4hongkong.com/127.0.0.1#5335 -server=/.iphonehacks.com/127.0.0.1#5335 -server=/.iphonix.fr/127.0.0.1#5335 -server=/.ipicture.ru/127.0.0.1#5335 -server=/.ipobar.com/127.0.0.1#5335 -server=/.ippotv.com/127.0.0.1#5335 -server=/.iptorrents.com/127.0.0.1#5335 -server=/.ipvanish.com/127.0.0.1#5335 -server=/.iredmail.org/127.0.0.1#5335 -server=/.ironbigfools.compython.net/127.0.0.1#5335 -server=/.ironicsoftware.com/127.0.0.1#5335 -server=/.ironpython.net/127.0.0.1#5335 -server=/.isaacmao.com/127.0.0.1#5335 -server=/.isgreat.org/127.0.0.1#5335 -server=/.islamicity.com/127.0.0.1#5335 -server=/.islam.org.hk/127.0.0.1#5335 -server=/.ismprofessional.net/127.0.0.1#5335 -server=/.isohunt.com/127.0.0.1#5335 -server=/.israbox.com/127.0.0.1#5335 -server=/.istockphoto.com/127.0.0.1#5335 -server=/.isunaffairs.com/127.0.0.1#5335 -server=/.isuntv.com/127.0.0.1#5335 -server=/.itaboo.info/127.0.0.1#5335 -server=/.ithelp.ithome.com.tw/127.0.0.1#5335 -server=/.itrc.gov.tw/127.0.0.1#5335 -server=/.itshidden.com/127.0.0.1#5335 -server=/.itweet.net/127.0.0.1#5335 -server=/.iu45.com/127.0.0.1#5335 -server=/.iverycd.com/127.0.0.1#5335 -server=/.ixquick.com/127.0.0.1#5335 -server=/.izaobao.us/127.0.0.1#5335 -server=/.izles.net/127.0.0.1#5335 -server=/.japan-whores.com/127.0.0.1#5335 -server=/.jayparkinsonmd.com/127.0.0.1#5335 -server=/.jbtalks.cc/127.0.0.1#5335 -server=/.jbtalks.com/127.0.0.1#5335 -server=/.jbtalks.my/127.0.0.1#5335 -server=/.jeanyim.com/127.0.0.1#5335 -server=/.jgoodies.com/127.0.0.1#5335 -server=/.jiaoyou8.com/127.0.0.1#5335 -server=/.jiehua.cz/127.0.0.1#5335 -server=/.jieshibaobao.com/127.0.0.1#5335 -server=/.jike.com/127.0.0.1#5335 -server=/.jimoparty.com/127.0.0.1#5335 -server=/.jinbushe.org/127.0.0.1#5335 -server=/.jingpin.org/127.0.0.1#5335 -server=/.jitouch.com/127.0.0.1#5335 -server=/.jkforum.net/127.0.0.1#5335 -server=/.j.mp/127.0.0.1#5335 -server=/.joachims.org/127.0.0.1#5335 -server=/.jobso.tv/127.0.0.1#5335 -server=/.joeedelman.com/127.0.0.1#5335 -server=/.journalofdemocracy.org/127.0.0.1#5335 -server=/.jpopforum.net/127.0.0.1#5335 -server=/.juliereyc.com/127.0.0.1#5335 -server=/.junauza.com/127.0.0.1#5335 -server=/.junefourth-20.net/127.0.0.1#5335 -server=/.justfreevpn.com/127.0.0.1#5335 -server=/.justtristan.com/127.0.0.1#5335 -server=/.juziyue.com/127.0.0.1#5335 -server=/.jwmusic.org/127.0.0.1#5335 -server=/.jyxf.net/127.0.0.1#5335 -server=/.jyzj.waqn.com/127.0.0.1#5335 -server=/.k2.xrea.com/127.0.0.1#5335 -server=/.kagyuoffice.org.tw/127.0.0.1#5335 -server=/.kaiyuan.de/127.0.0.1#5335 -server=/.kakao.com/127.0.0.1#5335 -server=/.kanzhongguo.com/127.0.0.1#5335 -server=/.kanzhongguo.eu/127.0.0.1#5335 -server=/.karayou.com/127.0.0.1#5335 -server=/.ka-wai.com/127.0.0.1#5335 -server=/.kcsoftwares.com/127.0.0.1#5335 -server=/.kechara.com/127.0.0.1#5335 -server=/.keepandshare.com/127.0.0.1#5335 -server=/.kendincos.net/127.0.0.1#5335 -server=/.kenengba.com/127.0.0.1#5335 -server=/.keontech.net/127.0.0.1#5335 -server=/.khcc.gov.tw/127.0.0.1#5335 -server=/.khms.gov.tw/127.0.0.1#5335 -server=/.khmusic.com.tw/127.0.0.1#5335 -server=/.killwall.com/127.0.0.1#5335 -server=/.kineox.free.fr/127.0.0.1#5335 -server=/.kingdomsalvation.org/127.0.0.1#5335 -server=/.kinghost.com/127.0.0.1#5335 -server=/.kingstone.com.tw/127.0.0.1#5335 -server=/.kissbbao.cn/127.0.0.1#5335 -server=/.kissyoutube.com/127.0.0.1#5335 -server=/.kk.gov.tw/127.0.0.1#5335 -server=/.klccab.gov.tw/127.0.0.1#5335 -server=/.klra.gov.tw/127.0.0.1#5335 -server=/.klsio.gov.tw/127.0.0.1#5335 -server=/.kmh.gov.tw/127.0.0.1#5335 -server=/.kmseh.gov.tw/127.0.0.1#5335 -server=/.knowledgerush.com/127.0.0.1#5335 -server=/.kodingen.com/127.0.0.1#5335 -server=/.kompozer.net/127.0.0.1#5335 -server=/.koolsolutions.com/127.0.0.1#5335 -server=/.koornk.com/127.0.0.1#5335 -server=/.kt.kcome.org/127.0.0.1#5335 -server=/.kui.name/127.0.0.1#5335 -server=/.kun.im/127.0.0.1#5335 -server=/.kurtmunger.com/127.0.0.1#5335 -server=/.kusocity.com/127.0.0.1#5335 -server=/.kwongwah.com.my/127.0.0.1#5335 -server=/.kyohk.net/127.0.0.1#5335 -server=/.kzeng.info/127.0.0.1#5335 -server=/.labiennale.org/127.0.0.1#5335 -server=/.ladbrokes.com/127.0.0.1#5335 -server=/.la-forum.org/127.0.0.1#5335 -server=/.lagranepoca.com/127.0.0.1#5335 -server=/.lalulalu.com/127.0.0.1#5335 -server=/.laogai.org/127.0.0.1#5335 -server=/.laomiu.com/127.0.0.1#5335 -server=/.laoyang.info/127.0.0.1#5335 -server=/.laptoplockdown.com/127.0.0.1#5335 -server=/.laqingdan.net/127.0.0.1#5335 -server=/.larsgeorge.com/127.0.0.1#5335 -server=/.lastfm.es/127.0.0.1#5335 -server=/.latelinenews.com/127.0.0.1#5335 -server=/.latimesblogs.latimes.com/127.0.0.1#5335 -server=/.lazarsearlymusic.com/127.0.0.1#5335 -server=/.leecheukyan.org/127.0.0.1#5335 -server=/.legaltech.law.com/127.0.0.1#5335 -server=/.lematin.ch/127.0.0.1#5335 -server=/.lemonde.fr/127.0.0.1#5335 -server=/.lenwhite.com/127.0.0.1#5335 -server=/.lerosua.org/127.0.0.1#5335 -server=/.lesoir.be/127.0.0.1#5335 -server=/.lesscss.org/127.0.0.1#5335 -server=/.letscorp.net/127.0.0.1#5335 -server=/.liansi.org/127.0.0.1#5335 -server=/.lianyue.net/127.0.0.1#5335 -server=/.liaowangxizang.net/127.0.0.1#5335 -server=/.liberal.org.hk/127.0.0.1#5335 -server=/.libertytimes.com.tw/127.0.0.1#5335 -server=/.lich355.megabyet.net/127.0.0.1#5335 -server=/.lidecheng.com/127.0.0.1#5335 -server=/.life.fly4ever.me/127.0.0.1#5335 -server=/.limiao.net/127.0.0.1#5335 -server=/.line.me/127.0.0.1#5335 -server=/.linglingfa.com/127.0.0.1#5335 -server=/.lingvodics.com/127.0.0.1#5335 -server=/.linkideo.com/127.0.0.1#5335 -server=/.linuxconfig.org/127.0.0.1#5335 -server=/.linux-engineer.net/127.0.0.1#5335 -server=/.linuxreviews.org/127.0.0.1#5335 -server=/.linuxtoy.org/127.0.0.1#5335 -server=/.lipuman.com/127.0.0.1#5335 -server=/.listentoyoutube.com/127.0.0.1#5335 -server=/.list.ly/127.0.0.1#5335 -server=/.listorious.com/127.0.0.1#5335 -server=/.lists.debian.org/127.0.0.1#5335 -server=/.lists.w3.org/127.0.0.1#5335 -server=/.littlebigdetails.com/127.0.0.1#5335 -server=/.liudejun.com/127.0.0.1#5335 -server=/.liuhanyu.com/127.0.0.1#5335 -server=/.liujianshu.com/127.0.0.1#5335 -server=/.liu.lu/127.0.0.1#5335 -server=/.liuxiaotong.com/127.0.0.1#5335 -server=/.liveleak.com/127.0.0.1#5335 -server=/.livestation.com/127.0.0.1#5335 -server=/.livestream.com/127.0.0.1#5335 -server=/.livevideo.com/127.0.0.1#5335 -server=/.livingonline.us/127.0.0.1#5335 -server=/.livingstream.com/127.0.0.1#5335 -server=/.lizhizhuangbi.com/127.0.0.1#5335 -server=/.lkcn.net/127.0.0.1#5335 -server=/.localpresshk.com/127.0.0.1#5335 -server=/.lockdown.com/127.0.0.1#5335 -server=/.lockestek.com/127.0.0.1#5335 -server=/.logbot.net/127.0.0.1#5335 -server=/.logiqx.com/127.0.0.1#5335 -server=/.logmike.com/127.0.0.1#5335 -server=/.log.riku.me/127.0.0.1#5335 -server=/.london.neighborhoodr.com/127.0.0.1#5335 -server=/.longhair.hk/127.0.0.1#5335 -server=/.longtermly.net/127.0.0.1#5335 -server=/.lookatgame.com/127.0.0.1#5335 -server=/.lookingglasstheatre.org/127.0.0.1#5335 -server=/.lookpic.com/127.0.0.1#5335 -server=/.lotuslight.org.tw/127.0.0.1#5335 -server=/.lovequicksilver.com/127.0.0.1#5335 -server=/.lovesphinx.tk/127.0.0.1#5335 -server=/.lrfz.com/127.0.0.1#5335 -server=/.lsd.org.hk/127.0.0.1#5335 -server=/.lsforum.net/127.0.0.1#5335 -server=/.lsmchinese.org/127.0.0.1#5335 -server=/.lsmkorean.org/127.0.0.1#5335 -server=/.lsm.org/127.0.0.1#5335 -server=/.lsxszzg.com/127.0.0.1#5335 -server=/.lua.org/127.0.0.1#5335 -server=/.lua-users.org/127.0.0.1#5335 -server=/.lungtanhr.gov.tw/127.0.0.1#5335 -server=/.luntan.zaobao.com/127.0.0.1#5335 -server=/.lupm.org/127.0.0.1#5335 -server=/.lushstories.com/127.0.0.1#5335 -server=/.lvhai.org/127.0.0.1#5335 -server=/.lyricsquote.com/127.0.0.1#5335 -server=/.mad-ar.ch/127.0.0.1#5335 -server=/.madmenunbuttoned.com/127.0.0.1#5335 -server=/.magazines.sina.com.tw/127.0.0.1#5335 -server=/.maiio.net/127.0.0.1#5335 -server=/.mail-archive.com/127.0.0.1#5335 -server=/.maiplus.com/127.0.0.1#5335 -server=/.makemymood.com/127.0.0.1#5335 -server=/.makzhou.warehouse333.com/127.0.0.1#5335 -server=/.malaysiakini.com/127.0.0.1#5335 -server=/.marc.info/127.0.0.1#5335 -server=/.marco.org/127.0.0.1#5335 -server=/.marguerite.su/127.0.0.1#5335 -server=/.marines.mil/127.0.0.1#5335 -server=/.markmilian.com/127.0.0.1#5335 -server=/.martau.com/127.0.0.1#5335 -server=/.martincartoons.com/127.0.0.1#5335 -server=/.maruta.be/127.0.0.1#5335 -server=/.marxist.com/127.0.0.1#5335 -server=/.marxist.net/127.0.0.1#5335 -server=/.marxists.org/127.0.0.1#5335 -server=/.mashable.com/127.0.0.1#5335 -server=/.mash.to/127.0.0.1#5335 -server=/.matainja.com/127.0.0.1#5335 -server=/.mathiew-badimon.com/127.0.0.1#5335 -server=/.matsu-news.gov.tw/127.0.0.1#5335 -server=/.matsushimakaede.com/127.0.0.1#5335 -server=/.maxgif.com/127.0.0.1#5335 -server=/.mayimayi.com/127.0.0.1#5335 -server=/.mcadforums.com/127.0.0.1#5335 -server=/.mcfog.com/127.0.0.1#5335 -server=/.md-t.org/127.0.0.1#5335 -server=/.mediafire.com/127.0.0.1#5335 -server=/.meetup.com/127.0.0.1#5335 -server=/.mefeedia.com/127.0.0.1#5335 -server=/.megaporn.com/127.0.0.1#5335 -server=/.megarotic.com/127.0.0.1#5335 -server=/.megavideo.com/127.0.0.1#5335 -server=/.megurineluka.com/127.0.0.1#5335 -server=/.meirixiaochao.com/127.0.0.1#5335 -server=/.melon-peach.com/127.0.0.1#5335 -server=/.memedia.cn/127.0.0.1#5335 -server=/.meme.yahoo.com/127.0.0.1#5335 -server=/.memrijttm.org/127.0.0.1#5335 -server=/.merit-times.com.tw/127.0.0.1#5335 -server=/.mesotw.com/127.0.0.1#5335 -server=/.metacafe.com/127.0.0.1#5335 -server=/.meteorshowersonline.com/127.0.0.1#5335 -server=/.metrolife.ca/127.0.0.1#5335 -server=/.mgoon.com/127.0.0.1#5335 -server=/.mgstage.com/127.0.0.1#5335 -server=/.mh4u.org/127.0.0.1#5335 -server=/.mhradio.org/127.0.0.1#5335 -server=/.michaelanti.com/127.0.0.1#5335 -server=/.michaelmarketl.com/127.0.0.1#5335 -server=/.middle-way.net/127.0.0.1#5335 -server=/.mihk.hk/127.0.0.1#5335 -server=/.mihua.org/127.0.0.1#5335 -server=/.mike.cz.cc/127.0.0.1#5335 -server=/.mimivip.com/127.0.0.1#5335 -server=/.minghui.org/127.0.0.1#5335 -server=/.minghui-school.org/127.0.0.1#5335 -server=/.mingjinglishi.com/127.0.0.1#5335 -server=/.mingjingnews.com/127.0.0.1#5335 -server=/.mingpaocanada.com/127.0.0.1#5335 -server=/.mingpao.com/127.0.0.1#5335 -server=/.mingpaomonthly.com/127.0.0.1#5335 -server=/.mingpaonews.com/127.0.0.1#5335 -server=/.mingpaony.com/127.0.0.1#5335 -server=/.mingpaosf.com/127.0.0.1#5335 -server=/.mingpaotor.com/127.0.0.1#5335 -server=/.mingpaovan.com/127.0.0.1#5335 -server=/.minimalmac.com/127.0.0.1#5335 -server=/.mininova.org/127.0.0.1#5335 -server=/.minzhuhua.net/127.0.0.1#5335 -server=/.minzhuzhongguo.org/127.0.0.1#5335 -server=/.miroguide.com/127.0.0.1#5335 -server=/.mirrorbooks.com/127.0.0.1#5335 -server=/.mitbbs.com/127.0.0.1#5335 -server=/.mixedmedialabs.com/127.0.0.1#5335 -server=/.mixero.com/127.0.0.1#5335 -server=/.mixpod.com/127.0.0.1#5335 -server=/.mixx.com/127.0.0.1#5335 -server=/.mizzmona.com/127.0.0.1#5335 -server=/.mk5000.com/127.0.0.1#5335 -server=/.mlcool.com/127.0.0.1#5335 -server=/.mmaaxx.com/127.0.0.1#5335 -server=/.mmmca.com/127.0.0.1#5335 -server=/.mobatek.net/127.0.0.1#5335 -server=/.mobile01.com/127.0.0.1#5335 -server=/.mobileways.de/127.0.0.1#5335 -server=/.mobypicture.com/127.0.0.1#5335 -server=/.moby.to/127.0.0.1#5335 -server=/.modfetish.com/127.0.0.1#5335 -server=/.moe.gov.tw/127.0.0.1#5335 -server=/.mog.com/127.0.0.1#5335 -server=/.molihua.org/127.0.0.1#5335 -server=/.mondex.org/127.0.0.1#5335 -server=/.monitorchina.org/127.0.0.1#5335 -server=/.moonriver7.files.wordpress.com/127.0.0.1#5335 -server=/.morningsun.org/127.0.0.1#5335 -server=/.m.oulove.org/127.0.0.1#5335 -server=/.movabletype.com/127.0.0.1#5335 -server=/.moviefap.com/127.0.0.1#5335 -server=/.mp3ye.eu/127.0.0.1#5335 -server=/.mpettis.com/127.0.0.1#5335 -server=/.mpfinance.com/127.0.0.1#5335 -server=/.mpinews.com/127.0.0.1#5335 -server=/.m.plixi.com/127.0.0.1#5335 -server=/.mrdoob.com/127.0.0.1#5335 -server=/.mrtweet.com/127.0.0.1#5335 -server=/.msguancha.com/127.0.0.1#5335 -server=/.m.slandr.net/127.0.0.1#5335 -server=/.mthruf.com/127.0.0.1#5335 -server=/.m.tweete.net/127.0.0.1#5335 -server=/.mtw.tl/127.0.0.1#5335 -server=/.multiply.com/127.0.0.1#5335 -server=/.multiproxy.org/127.0.0.1#5335 -server=/.multiupload.com/127.0.0.1#5335 -server=/.muouju.com/127.0.0.1#5335 -server=/.muselinks.co.jp/127.0.0.1#5335 -server=/.music.jwmusic.org/127.0.0.1#5335 -server=/.muzi.com/127.0.0.1#5335 -server=/.muzi.net/127.0.0.1#5335 -server=/.muzu.tv/127.0.0.1#5335 -server=/.mvdis.gov.tw/127.0.0.1#5335 -server=/.mx981.com/127.0.0.1#5335 -server=/.myactimes.com/127.0.0.1#5335 -server=/.my-addr.com/127.0.0.1#5335 -server=/.myaudiocast.com/127.0.0.1#5335 -server=/.myav.com.tw/127.0.0.1#5335 -server=/.my.backchina.com/127.0.0.1#5335 -server=/.myboooks.googlepages.com/127.0.0.1#5335 -server=/.mychinamyhome.com/127.0.0.1#5335 -server=/.myeclipseide.com/127.0.0.1#5335 -server=/.myforum.com.hk/127.0.0.1#5335 -server=/.myforum.com.uk/127.0.0.1#5335 -server=/.myfreshnet.com/127.0.0.1#5335 -server=/.my.keso.cn/127.0.0.1#5335 -server=/.myopenid.com/127.0.0.1#5335 -server=/.my.opera.com/127.0.0.1#5335 -server=/.mypaper.pchome.com.tw/127.0.0.1#5335 -server=/.myparagliding.com/127.0.0.1#5335 -server=/.mypopescu.com/127.0.0.1#5335 -server=/.my-proxy.com/127.0.0.1#5335 -server=/.myshare.url.com.tw/127.0.0.1#5335 -server=/.mysinablog.com/127.0.0.1#5335 -server=/.myspace.com/127.0.0.1#5335 -server=/.myvlog.im.tv/127.0.0.1#5335 -server=/.naacoalition.org/127.0.0.1#5335 -server=/.naitik.net/127.0.0.1#5335 -server=/.nakido.com/127.0.0.1#5335 -server=/.namsisi.com/127.0.0.1#5335 -server=/.nanyang.com/127.0.0.1#5335 -server=/.nanyangpost.com/127.0.0.1#5335 -server=/.nanzao.com/127.0.0.1#5335 -server=/.naol.ca/127.0.0.1#5335 -server=/.national-lottery.co.uk/127.0.0.1#5335 -server=/.navicat.com/127.0.0.1#5335 -server=/.navigeaters.com/127.0.0.1#5335 -server=/.navy.mil/127.0.0.1#5335 -server=/.nccwatch.org.tw/127.0.0.1#5335 -server=/.ncdr.nat.gov.tw/127.0.0.1#5335 -server=/.nch.com.tw/127.0.0.1#5335 -server=/.ncn.org/127.0.0.1#5335 -server=/.ncree.gov.tw/127.0.0.1#5335 -server=/.nde.de/127.0.0.1#5335 -server=/.ndr.de/127.0.0.1#5335 -server=/.nekoslovakia.net/127.0.0.1#5335 -server=/.nerch.gov.tw/127.0.0.1#5335 -server=/.ner.gov.tw/127.0.0.1#5335 -server=/.nerhl.gov.tw/127.0.0.1#5335 -server=/.nertt.gov.tw/127.0.0.1#5335 -server=/.netcolony.com/127.0.0.1#5335 -server=/.netflix.com/127.0.0.1#5335 -server=/.netme.cc/127.0.0.1#5335 -server=/.networkedblogs.com/127.0.0.1#5335 -server=/.neverforget8964.org/127.0.0.1#5335 -server=/.new-3lunch.net/127.0.0.1#5335 -server=/.new-akiba.com/127.0.0.1#5335 -server=/.newcenturymc.com/127.0.0.1#5335 -server=/.newcenturynews.com/127.0.0.1#5335 -server=/.newchen.com/127.0.0.1#5335 -server=/.newgrounds.com/127.0.0.1#5335 -server=/.newlandmagazine.com.au/127.0.0.1#5335 -server=/.news100.com.tw/127.0.0.1#5335 -server=/.newsancai.com/127.0.0.1#5335 -server=/.news.atebits.com/127.0.0.1#5335 -server=/.news.backchina.com/127.0.0.1#5335 -server=/.news.bbc.co.uk/127.0.0.1#5335 -server=/.newscn.org/127.0.0.1#5335 -server=/.news.cnyes.com/127.0.0.1#5335 -server=/.newsforums.bbc.co.uk/127.0.0.1#5335 -server=/.news.ghostery.com/127.0.0.1#5335 -server=/.news.google.com.hk/127.0.0.1#5335 -server=/.newsminer.com/127.0.0.1#5335 -server=/.news.msn.com.tw/127.0.0.1#5335 -server=/.news.omy.sg/127.0.0.1#5335 -server=/.news.pchome.com.tw/127.0.0.1#5335 -server=/.newspeak.cc/127.0.0.1#5335 -server=/.newspp.org/127.0.0.1#5335 -server=/.news.sina.com.hk/127.0.0.1#5335 -server=/.news.sina.com.tw/127.0.0.1#5335 -server=/.news.singtao.ca/127.0.0.1#5335 -server=/.newstapa.org/127.0.0.1#5335 -server=/.newtaiwan.com.tw/127.0.0.1#5335 -server=/.newtalk.tw/127.0.0.1#5335 -server=/.newyorktimes.com/127.0.0.1#5335 -server=/.nexton-net.jp/127.0.0.1#5335 -server=/.nexttv.com.tw/127.0.0.1#5335 -server=/.nf.id.au/127.0.0.1#5335 -server=/.nga.mil/127.0.0.1#5335 -server=/.ngensis.com/127.0.0.1#5335 -server=/.nhri.gov.tw/127.0.0.1#5335 -server=/.nic.cz.cc/127.0.0.1#5335 -server=/.nici.nat.gov.tw/127.0.0.1#5335 -server=/.nicovideo.tw/127.0.0.1#5335 -server=/.nict.gov.tw/127.0.0.1#5335 -server=/.nighost.org/127.0.0.1#5335 -server=/.nintendium.com/127.0.0.1#5335 -server=/.nintendowifi.net/127.0.0.1#5335 -server=/.njactb.org/127.0.0.1#5335 -server=/.njuice.com/127.0.0.1#5335 -server=/.nlfreevpn.com/127.0.0.1#5335 -server=/.nmh.gov.tw/127.0.0.1#5335 -server=/.nmmba.gov.tw/127.0.0.1#5335 -server=/.nmp.gov.tw/127.0.0.1#5335 -server=/.nmtl.gov.tw/127.0.0.1#5335 -server=/.nmvttc.gov.tw/127.0.0.1#5335 -server=/.nobelprize.org/127.0.0.1#5335 -server=/.nobel.se/127.0.0.1#5335 -server=/.nobodycanstop.us/127.0.0.1#5335 -server=/.nokogiri.org/127.0.0.1#5335 -server=/.nokola.com/127.0.0.1#5335 -server=/.noobbox.com/127.0.0.1#5335 -server=/.notes.alexdong.com/127.0.0.1#5335 -server=/.novelasia.com/127.0.0.1#5335 -server=/.nownews.com/127.0.0.1#5335 -server=/.nowtorrents.com/127.0.0.1#5335 -server=/.noypf.com/127.0.0.1#5335 -server=/.npa.go.jp/127.0.0.1#5335 -server=/.npm.gov.tw/127.0.0.1#5335 -server=/.nps.gov/127.0.0.1#5335 -server=/.nrk.no/127.0.0.1#5335 -server=/.nsc.gov.tw/127.0.0.1#5335 -server=/.nspo.gov.tw/127.0.0.1#5335 -server=/.nstm.gov.tw/127.0.0.1#5335 -server=/.ntdmh.gov.tw/127.0.0.1#5335 -server=/.ntdtv.ca/127.0.0.1#5335 -server=/.ntdtv.co/127.0.0.1#5335 -server=/.ntdtv.com/127.0.0.1#5335 -server=/.ntdtv.org/127.0.0.1#5335 -server=/.ntdtv.ru/127.0.0.1#5335 -server=/.ntl.gov.tw/127.0.0.1#5335 -server=/.ntsec.gov.tw/127.0.0.1#5335 -server=/.ntuh.gov.tw/127.0.0.1#5335 -server=/.nuexpo.com/127.0.0.1#5335 -server=/.nurgo-software.com/127.0.0.1#5335 -server=/.nuvid.com/127.0.0.1#5335 -server=/.nuzcom.com/127.0.0.1#5335 -server=/.nvquan.org/127.0.0.1#5335 -server=/.nvri.gov.tw/127.0.0.1#5335 -server=/.nydus.ca/127.0.0.1#5335 -server=/.nysingtao.com/127.0.0.1#5335 -server=/.nytco.com/127.0.0.1#5335 -server=/.nyt.com/127.0.0.1#5335 -server=/.nytimes.com/127.0.0.1#5335 -server=/.nytimg.com/127.0.0.1#5335 -server=/.nzchinese.net.nz/127.0.0.1#5335 -server=/.observechina.net/127.0.0.1#5335 -server=/.oclp.hk/127.0.0.1#5335 -server=/.october-review.org/127.0.0.1#5335 -server=/.offbeatchina.com/127.0.0.1#5335 -server=/.ogaoga.org/127.0.0.1#5335 -server=/.oikos.com.tw/127.0.0.1#5335 -server=/.oiktv.com/127.0.0.1#5335 -server=/.oizoblog.com/127.0.0.1#5335 -server=/.okayfreedom.com/127.0.0.1#5335 -server=/.old-cat.net/127.0.0.1#5335 -server=/.old.nabble.com/127.0.0.1#5335 -server=/.olumpo.com/127.0.0.1#5335 -server=/.olympicwatch.org/127.0.0.1#5335 -server=/.omgili.com/127.0.0.1#5335 -server=/.omnitalk.com/127.0.0.1#5335 -server=/.on.cc/127.0.0.1#5335 -server=/.one.xthost.info/127.0.0.1#5335 -server=/.onlylady.cn/127.0.0.1#5335 -server=/.onmoon.com/127.0.0.1#5335 -server=/.onmoon.net/127.0.0.1#5335 -server=/.oopsforum.com/127.0.0.1#5335 -server=/.ooyala.com/127.0.0.1#5335 -server=/.open.com.hk/127.0.0.1#5335 -server=/.opendemocracy.net/127.0.0.1#5335 -server=/.openid.net/127.0.0.1#5335 -server=/.openleaks.org/127.0.0.1#5335 -server=/.openvpn.net/127.0.0.1#5335 -server=/.openvpn.org/127.0.0.1#5335 -server=/.openwebster.com/127.0.0.1#5335 -server=/.opml.radiotime.com/127.0.0.1#5335 -server=/.opnir.com/127.0.0.1#5335 -server=/.orientaldaily.com.my/127.0.0.1#5335 -server=/.orient-doll.com/127.0.0.1#5335 -server=/.orn.jp/127.0.0.1#5335 -server=/.orzistic.org/127.0.0.1#5335 -server=/.osfoora.com/127.0.0.1#5335 -server=/.ourdearamy.com/127.0.0.1#5335 -server=/.oursogo.com/127.0.0.1#5335 -server=/.oursteps.com.au/127.0.0.1#5335 -server=/.overlapr.com/127.0.0.1#5335 -server=/.owl.li/127.0.0.1#5335 -server=/.ow.ly/127.0.0.1#5335 -server=/.oyax.com/127.0.0.1#5335 -server=/.ozchinese.com/127.0.0.1#5335 -server=/.ozyoyo.com/127.0.0.1#5335 -server=/.pabp.gov.tw/127.0.0.1#5335 -server=/.pacificpoker.com/127.0.0.1#5335 -server=/.packages.debian.org/127.0.0.1#5335 -server=/.packetix.net/127.0.0.1#5335 -server=/.page2rss.com/127.0.0.1#5335 -server=/.page.bid.yahoo.com/127.0.0.1#5335 -server=/.pagodabox.com/127.0.0.1#5335 -server=/.paint.net/127.0.0.1#5335 -server=/.palacemoon.com/127.0.0.1#5335 -server=/.pandora.com/127.0.0.1#5335 -server=/.pandora.tv/127.0.0.1#5335 -server=/.panluan.net/127.0.0.1#5335 -server=/.panoramio.com/127.0.0.1#5335 -server=/.pao-pao.net/127.0.0.1#5335 -server=/.paperb.us/127.0.0.1#5335 -server=/.paper.li/127.0.0.1#5335 -server=/.paper-replika.com/127.0.0.1#5335 -server=/.parade.com/127.0.0.1#5335 -server=/.parislemon.com/127.0.0.1#5335 -server=/.pastebin.com/127.0.0.1#5335 -server=/.pastie.org/127.0.0.1#5335 -server=/.patehr.gov.tw/127.0.0.1#5335 -server=/.pbs.org/127.0.0.1#5335 -server=/.pbwiki.com/127.0.0.1#5335 -server=/.pbworks.com/127.0.0.1#5335 -server=/.pbxes.com/127.0.0.1#5335 -server=/.pbxes.org/127.0.0.1#5335 -server=/.pcdiscuss.com/127.0.0.1#5335 -server=/.pcdvd.com.tw/127.0.0.1#5335 -server=/.pchome.com.tw/127.0.0.1#5335 -server=/.pct.org.tw/127.0.0.1#5335 -server=/.pcworld.com/127.0.0.1#5335 -server=/.pdetails.com/127.0.0.1#5335 -server=/.pdproxy.com/127.0.0.1#5335 -server=/.peacefire.org/127.0.0.1#5335 -server=/.peacehall.com/127.0.0.1#5335 -server=/.peeasian.com/127.0.0.1#5335 -server=/.peerpong.com/127.0.0.1#5335 -server=/.pekingduck.org/127.0.0.1#5335 -server=/.penchinese.com/127.0.0.1#5335 -server=/.penchinese.net/127.0.0.1#5335 -server=/.pengyulong.com/127.0.0.1#5335 -server=/.penthouse.com/127.0.0.1#5335 -server=/.peopo.org/127.0.0.1#5335 -server=/.percy.in/127.0.0.1#5335 -server=/.perfectgirls.net/127.0.0.1#5335 -server=/.perfectvpn.net/127.0.0.1#5335 -server=/.perfspot.com/127.0.0.1#5335 -server=/.perlhowto.com/127.0.0.1#5335 -server=/.pet.gov.tw/127.0.0.1#5335 -server=/.philly.com/127.0.0.1#5335 -server=/.photofocus.com/127.0.0.1#5335 -server=/.photos.dailyme.com/127.0.0.1#5335 -server=/.photo.utom.us/127.0.0.1#5335 -server=/.phuquocservices.com/127.0.0.1#5335 -server=/.picasaweb.google.com/127.0.0.1#5335 -server=/.picidae.net/127.0.0.1#5335 -server=/.picturesocial.com/127.0.0.1#5335 -server=/.pictures.playboy.com/127.0.0.1#5335 -server=/.pidown.com/127.0.0.1#5335 -server=/.pign.net/127.0.0.1#5335 -server=/.pimg.tw/127.0.0.1#5335 -server=/.pin6.com/127.0.0.1#5335 -server=/.ping.fm/127.0.0.1#5335 -server=/.pinoy-n.com/127.0.0.1#5335 -server=/.pioneer-worker.forums-free.com/127.0.0.1#5335 -server=/.piring.com/127.0.0.1#5335 -server=/.pixanalytics.com/127.0.0.1#5335 -server=/.pixelqi.com/127.0.0.1#5335 -server=/.pixfs.net/127.0.0.1#5335 -server=/.pixnet.cc/127.0.0.1#5335 -server=/.pixnet.net/127.0.0.1#5335 -server=/.pixplug.in/127.0.0.1#5335 -server=/.pk.com/127.0.0.1#5335 -server=/.placemix.com/127.0.0.1#5335 -server=/.planetsuzy.org/127.0.0.1#5335 -server=/.playboy.com/127.0.0.1#5335 -server=/.plays.com.tw/127.0.0.1#5335 -server=/.plm.org.hk/127.0.0.1#5335 -server=/.plunder.com/127.0.0.1#5335 -server=/.plurk.com/127.0.0.1#5335 -server=/.plurktop.mmdays.com/127.0.0.1#5335 -server=/.plus28.com/127.0.0.1#5335 -server=/.plusbb.com/127.0.0.1#5335 -server=/.pmates.com/127.0.0.1#5335 -server=/.po2b.com/127.0.0.1#5335 -server=/.podictionary.com/127.0.0.1#5335 -server=/.pokerstars.com/127.0.0.1#5335 -server=/.politicalchina.org/127.0.0.1#5335 -server=/.popvote.hk/127.0.0.1#5335 -server=/.popyard.com/127.0.0.1#5335 -server=/.popyard.org/127.0.0.1#5335 -server=/.porn2.com/127.0.0.1#5335 -server=/.pornbase.org/127.0.0.1#5335 -server=/.porn.com/127.0.0.1#5335 -server=/.pornhub.com/127.0.0.1#5335 -server=/.pornmm.net/127.0.0.1#5335 -server=/.pornoxo.com/127.0.0.1#5335 -server=/.pornrapidshare.com/127.0.0.1#5335 -server=/.pornstarclub.com/127.0.0.1#5335 -server=/.porntube.com/127.0.0.1#5335 -server=/.pornvisit.com/127.0.0.1#5335 -server=/.portis21.spaces.live.com/127.0.0.1#5335 -server=/.pose.com/127.0.0.1#5335 -server=/.postadult.com/127.0.0.1#5335 -server=/.post.anyu.org/127.0.0.1#5335 -server=/.posterous.com/127.0.0.1#5335 -server=/.post.ly/127.0.0.1#5335 -server=/.powerapple.com/127.0.0.1#5335 -server=/.power.com/127.0.0.1#5335 -server=/.powercx.com/127.0.0.1#5335 -server=/.prayforchina.net/127.0.0.1#5335 -server=/.premeforwindows7.com/127.0.0.1#5335 -server=/.presentationzen.com/127.0.0.1#5335 -server=/.president.gov.tw/127.0.0.1#5335 -server=/.prestige-av.com/127.0.0.1#5335 -server=/.previewshots.com/127.0.0.1#5335 -server=/.privacybox.de/127.0.0.1#5335 -server=/.privateinternetaccess.com/127.0.0.1#5335 -server=/.privatepaste.com/127.0.0.1#5335 -server=/.privatetunnel.com/127.0.0.1#5335 -server=/.procopytips.com/127.0.0.1#5335 -server=/.program-think.spaces.live.com/127.0.0.1#5335 -server=/.prosiben.de/127.0.0.1#5335 -server=/.provideocoalition.com/127.0.0.1#5335 -server=/.proxifier.com/127.0.0.1#5335 -server=/.proxomitron.info/127.0.0.1#5335 -server=/.proxy.org/127.0.0.1#5335 -server=/.proxypy.net/127.0.0.1#5335 -server=/.proxyroad.com/127.0.0.1#5335 -server=/.prozz.net/127.0.0.1#5335 -server=/.psblog.name/127.0.0.1#5335 -server=/.psiphon.ca/127.0.0.1#5335 -server=/.psiphon.civisec.org/127.0.0.1#5335 -server=/.pts.org.tw/127.0.0.1#5335 -server=/.ptt.cc/127.0.0.1#5335 -server=/.pubu.com.tw/127.0.0.1#5335 -server=/.puffinbrowser.com/127.0.0.1#5335 -server=/.puffstore.com/127.0.0.1#5335 -server=/.pullfolio.com/127.0.0.1#5335 -server=/.pulse.yahoo.com/127.0.0.1#5335 -server=/.pure18.com/127.0.0.1#5335 -server=/.pureconcepts.net/127.0.0.1#5335 -server=/.purepdf.com/127.0.0.1#5335 -server=/.purevpn.com/127.0.0.1#5335 -server=/.putlocker.com/127.0.0.1#5335 -server=/.puttycm.free.fr/127.0.0.1#5335 -server=/.pwned.com/127.0.0.1#5335 -server=/.python.com/127.0.0.1#5335 -server=/.python.com.tw/127.0.0.1#5335 -server=/.qanote.com/127.0.0.1#5335 -server=/.qidian.ca/127.0.0.1#5335 -server=/.qienkuen.org/127.0.0.1#5335 -server=/.qi-gong.me/127.0.0.1#5335 -server=/.qiwen.lu/127.0.0.1#5335 -server=/.qixianglu.cn/127.0.0.1#5335 -server=/.qkshare.com/127.0.0.1#5335 -server=/.qoos.com/127.0.0.1#5335 -server=/.qq.co.za/127.0.0.1#5335 -server=/.qstatus.com/127.0.0.1#5335 -server=/.qtrac.eu/127.0.0.1#5335 -server=/.qtweeter.com/127.0.0.1#5335 -server=/.quadedge.com/127.0.0.1#5335 -server=/.qusi8.net/127.0.0.1#5335 -server=/.qvodzy.org/127.0.0.1#5335 -server=/.qxbbs.org/127.0.0.1#5335 -server=/.radicalparty.org/127.0.0.1#5335 -server=/.radioaustralia.net.au/127.0.0.1#5335 -server=/.radiovaticana.org/127.0.0.1#5335 -server=/.radiovncr.com/127.0.0.1#5335 -server=/.raidcall.com.tw/127.0.0.1#5335 -server=/.rangzen.org/127.0.0.1#5335 -server=/.ranyunfei.com/127.0.0.1#5335 -server=/.rapbull.net/127.0.0.1#5335 -server=/.rapidshare8.com/127.0.0.1#5335 -server=/.rapidsharedata.com/127.0.0.1#5335 -server=/.rayfme.com/127.0.0.1#5335 -server=/.rcinet.ca/127.0.0.1#5335 -server=/.rconversation.blogs.com/127.0.0.1#5335 -server=/.rdio.com/127.0.0.1#5335 -server=/.read100.com/127.0.0.1#5335 -server=/.readingtimes.com.tw/127.0.0.1#5335 -server=/.readmoo.com/127.0.0.1#5335 -server=/.realraptalk.com/127.0.0.1#5335 -server=/.recordhistory.org/127.0.0.1#5335 -server=/.redchinacn.org/127.0.0.1#5335 -server=/.redtube.com/127.0.0.1#5335 -server=/.referer.us/127.0.0.1#5335 -server=/.reflectivecode.com/127.0.0.1#5335 -server=/.relaxbbs.com/127.0.0.1#5335 -server=/.renminbao.com/127.0.0.1#5335 -server=/.renyurenquan.org/127.0.0.1#5335 -server=/.retweeteffect.com/127.0.0.1#5335 -server=/.retweetist.com/127.0.0.1#5335 -server=/.retweetrank.com/127.0.0.1#5335 -server=/.revleft.com/127.0.0.1#5335 -server=/.revsci.net/127.0.0.1#5335 -server=/.revver.com/127.0.0.1#5335 -server=/.rfachina.com/127.0.0.1#5335 -server=/.rfamobile.org/127.0.0.1#5335 -server=/.rfa.org/127.0.0.1#5335 -server=/.rferl.org/127.0.0.1#5335 -server=/.rfi.fr/127.0.0.1#5335 -server=/.rhcloud.com/127.0.0.1#5335 -server=/.riku.me/127.0.0.1#5335 -server=/.rileyguide.com/127.0.0.1#5335 -server=/.rlwlw.com/127.0.0.1#5335 -server=/.rmjdw.com/127.0.0.1#5335 -server=/.rnw.nl/127.0.0.1#5335 -server=/.robtex.com/127.0.0.1#5335 -server=/.robustnessiskey.com/127.0.0.1#5335 -server=/.rocmp.org/127.0.0.1#5335 -server=/.rojo.com/127.0.0.1#5335 -server=/.ronjoneswriter.com/127.0.0.1#5335 -server=/.roodo.com/127.0.0.1#5335 -server=/.rotten.com/127.0.0.1#5335 -server=/.rsf-chinese.org/127.0.0.1#5335 -server=/.rsf.org/127.0.0.1#5335 -server=/.rssmeme.com/127.0.0.1#5335 -server=/.rthk.hk/127.0.0.1#5335 -server=/.rthk.org.hk/127.0.0.1#5335 -server=/.rti.org.tw/127.0.0.1#5335 -server=/.ruanyifeng.com/127.0.0.1#5335 -server=/.rushbee.com/127.0.0.1#5335 -server=/.rutube.ru/127.0.0.1#5335 -server=/.ruyiseek.com/127.0.0.1#5335 -server=/.rxhj.net/127.0.0.1#5335 -server=/.s1heng.com/127.0.0.1#5335 -server=/.s8forum.com/127.0.0.1#5335 -server=/.sacom.hk/127.0.0.1#5335 -server=/.sadpanda.us/127.0.0.1#5335 -server=/.saiq.me/127.0.0.1#5335 -server=/.salvation.org.hk/127.0.0.1#5335 -server=/.samair.ru/127.0.0.1#5335 -server=/.sammyjs.org/127.0.0.1#5335 -server=/.samsoff.es/127.0.0.1#5335 -server=/.sandnoble.com/127.0.0.1#5335 -server=/.sankaizok.com/127.0.0.1#5335 -server=/.sanmin.com.tw/127.0.0.1#5335 -server=/.sapikachu.net/127.0.0.1#5335 -server=/.savemedia.com/127.0.0.1#5335 -server=/.savetibet.de/127.0.0.1#5335 -server=/.savetibet.fr/127.0.0.1#5335 -server=/.savetibet.nl/127.0.0.1#5335 -server=/.savetibet.org/127.0.0.1#5335 -server=/.savetibet.ru/127.0.0.1#5335 -server=/.savevid.com/127.0.0.1#5335 -server=/.say2.info/127.0.0.1#5335 -server=/.scanscout.com/127.0.0.1#5335 -server=/.scmpchinese.com/127.0.0.1#5335 -server=/.scmp.com/127.0.0.1#5335 -server=/.scorecardresearch.com/127.0.0.1#5335 -server=/.scribd.com/127.0.0.1#5335 -server=/.scriptspot.com/127.0.0.1#5335 -server=/.seapuff.com/127.0.0.1#5335 -server=/.secretchina.com/127.0.0.1#5335 -server=/.secretgarden.no/127.0.0.1#5335 -server=/.secure.wikimedia.org/127.0.0.1#5335 -server=/.securitykiss.com/127.0.0.1#5335 -server=/.seesmic.com/127.0.0.1#5335 -server=/.seevpn.com/127.0.0.1#5335 -server=/.seezone.net/127.0.0.1#5335 -server=/.sejie.com/127.0.0.1#5335 -server=/.sendoid.com/127.0.0.1#5335 -server=/.sendspace.com/127.0.0.1#5335 -server=/.sesawe.net/127.0.0.1#5335 -server=/.sesawe.org/127.0.0.1#5335 -server=/.sethwklein.net/127.0.0.1#5335 -server=/.sevenload.com/127.0.0.1#5335 -server=/.sex-11.com/127.0.0.1#5335 -server=/.sex3.com/127.0.0.1#5335 -server=/.sex8.cc/127.0.0.1#5335 -server=/.sexandsubmission.com/127.0.0.1#5335 -server=/.sex.com/127.0.0.1#5335 -server=/.sexhuang.com/127.0.0.1#5335 -server=/.sexhu.com/127.0.0.1#5335 -server=/.sexinsex.net/127.0.0.1#5335 -server=/.sfileydy.com/127.0.0.1#5335 -server=/.shadow.ma/127.0.0.1#5335 -server=/.shadowsocks.org/127.0.0.1#5335 -server=/.shahamat-english.com/127.0.0.1#5335 -server=/.shangfang.org/127.0.0.1#5335 -server=/.shapeservices.com/127.0.0.1#5335 -server=/.sharebee.com/127.0.0.1#5335 -server=/.sharecool.org/127.0.0.1#5335 -server=/.share.ovi.com/127.0.0.1#5335 -server=/.share.skype.com/127.0.0.1#5335 -server=/.share.youthwant.com.tw/127.0.0.1#5335 -server=/.sharkdolphin.com/127.0.0.1#5335 -server=/.sharpdaily.com.hk/127.0.0.1#5335 -server=/.sharpdaily.hk/127.0.0.1#5335 -server=/.shaunthesheep.com/127.0.0.1#5335 -server=/.sheikyermami.com/127.0.0.1#5335 -server=/.shellmix.com/127.0.0.1#5335 -server=/.shenshou.org/127.0.0.1#5335 -server=/.shenyunperformingarts.org/127.0.0.1#5335 -server=/.shenzhoufilm.com/127.0.0.1#5335 -server=/.shifeike.blog125.fc2blog.net/127.0.0.1#5335 -server=/.shinychan.com/127.0.0.1#5335 -server=/.shitaotv.org/127.0.0.1#5335 -server=/.shixiao.org/127.0.0.1#5335 -server=/.shizhao.org/127.0.0.1#5335 -server=/.shkspr.mobi/127.0.0.1#5335 -server=/.shodanhq.com/127.0.0.1#5335 -server=/.shopping.com/127.0.0.1#5335 -server=/.showbiz.omy.sg/127.0.0.1#5335 -server=/.showtime.jp/127.0.0.1#5335 -server=/.shwchurch3.com/127.0.0.1#5335 -server=/.sidelinesnews.com/127.0.0.1#5335 -server=/.sidelinessportseatery.com/127.0.0.1#5335 -server=/.simplecd.me/127.0.0.1#5335 -server=/.simplecd.org/127.0.0.1#5335 -server=/.simpleproductivityblog.com/127.0.0.1#5335 -server=/.sina.com.tw/127.0.0.1#5335 -server=/.singtao.com/127.0.0.1#5335 -server=/.singularitys.spaces.live.com/127.0.0.1#5335 -server=/.sinoants.com/127.0.0.1#5335 -server=/.sinocast.com/127.0.0.1#5335 -server=/.sinocism.com/127.0.0.1#5335 -server=/.sino-monthly.com/127.0.0.1#5335 -server=/.sinomontreal.ca/127.0.0.1#5335 -server=/.sinonet.ca/127.0.0.1#5335 -server=/.sinopitt.info/127.0.0.1#5335 -server=/.sinoquebec.com/127.0.0.1#5335 -server=/.sis001.com/127.0.0.1#5335 -server=/.sis001.us/127.0.0.1#5335 -server=/.sis.xxx/127.0.0.1#5335 -server=/.site90.net/127.0.0.1#5335 -server=/.sitebro.tw/127.0.0.1#5335 -server=/.siteks.uk.to/127.0.0.1#5335 -server=/.site.locql.com/127.0.0.1#5335 -server=/.sitemaps.org/127.0.0.1#5335 -server=/.sites.google.com/127.0.0.1#5335 -server=/.sitetag.us/127.0.0.1#5335 -server=/.siyi123123123.spaces.live.com/127.0.0.1#5335 -server=/.skimtube.com/127.0.0.1#5335 -server=/.skybet.com/127.0.0.1#5335 -server=/.skyvegas.com/127.0.0.1#5335 -server=/.slacker.com/127.0.0.1#5335 -server=/.slavasoft.com/127.0.0.1#5335 -server=/.slheng.com/127.0.0.1#5335 -server=/.slickvpn.com/127.0.0.1#5335 -server=/.slideshare.net/127.0.0.1#5335 -server=/.slinkset.com/127.0.0.1#5335 -server=/.slutload.com/127.0.0.1#5335 -server=/.smhric.org/127.0.0.1#5335 -server=/.snapchat.com/127.0.0.1#5335 -server=/.snaptu.com/127.0.0.1#5335 -server=/.sndcdn.com/127.0.0.1#5335 -server=/.sneakme.net/127.0.0.1#5335 -server=/.snooper.co.uk/127.0.0.1#5335 -server=/.sobees.com/127.0.0.1#5335 -server=/.socialwhale.com/127.0.0.1#5335 -server=/.sockslist.net/127.0.0.1#5335 -server=/.sod.co.jp/127.0.0.1#5335 -server=/.softether.co.jp/127.0.0.1#5335 -server=/.softether-download.com/127.0.0.1#5335 -server=/.softether.org/127.0.0.1#5335 -server=/.softwarebychuck.com/127.0.0.1#5335 -server=/.so-ga.net/127.0.0.1#5335 -server=/.sogclub.com/127.0.0.1#5335 -server=/.sogou.com/127.0.0.1#5335 -server=/.sogrady.me/127.0.0.1#5335 -server=/.sohcradio.com/127.0.0.1#5335 -server=/.sohfrance.org/127.0.0.1#5335 -server=/.soh.tw/127.0.0.1#5335 -server=/.sokamonline.com/127.0.0.1#5335 -server=/.solozorro.tk/127.0.0.1#5335 -server=/.somee.com/127.0.0.1#5335 -server=/.so-news.com/127.0.0.1#5335 -server=/.songjianjun.com/127.0.0.1#5335 -server=/.sonidodelaesperanza.org/127.0.0.1#5335 -server=/.sopcast.com/127.0.0.1#5335 -server=/.sopcast.org/127.0.0.1#5335 -server=/.sorting-algorithms.com/127.0.0.1#5335 -server=/.soumo.info/127.0.0.1#5335 -server=/.soundcloud.com/127.0.0.1#5335 -server=/.soundofhope.kr/127.0.0.1#5335 -server=/.soundofhope.org/127.0.0.1#5335 -server=/.soupofmedia.com/127.0.0.1#5335 -server=/.sourceforge.net/127.0.0.1#5335 -server=/.southnews.com.tw/127.0.0.1#5335 -server=/.sowers.org.hk/127.0.0.1#5335 -server=/.space-scape.com/127.0.0.1#5335 -server=/.spankwire.com/127.0.0.1#5335 -server=/.spb.com/127.0.0.1#5335 -server=/.speckleapp.com/127.0.0.1#5335 -server=/.speedpluss.org/127.0.0.1#5335 -server=/.spencertipping.com/127.0.0.1#5335 -server=/.spinejs.com/127.0.0.1#5335 -server=/.sports.williamhill.com/127.0.0.1#5335 -server=/.spotify.com/127.0.0.1#5335 -server=/.sproutcore.com/127.0.0.1#5335 -server=/.squarespace.com/127.0.0.1#5335 -server=/.srcf.ucam.org/127.0.0.1#5335 -server=/.ssh91.com/127.0.0.1#5335 -server=/.sshtunnel.googlecode.com/127.0.0.1#5335 -server=/.sstatic.net/127.0.0.1#5335 -server=/.stag.gov.tw/127.0.0.1#5335 -server=/.standupfortibet.org/127.0.0.1#5335 -server=/.starp2p.com/127.0.0.1#5335 -server=/.startpage.com/127.0.0.1#5335 -server=/.statcounter.com/127.0.0.1#5335 -server=/.state168.com/127.0.0.1#5335 -server=/.static.apple.nextmedia.com/127.0.0.1#5335 -server=/.static.digg.com/127.0.0.1#5335 -server=/.staticflickr.com/127.0.0.1#5335 -server=/.static.nownews.com/127.0.0.1#5335 -server=/.static.soup.io/127.0.0.1#5335 -server=/.static.typepad.com/127.0.0.1#5335 -server=/.status.twhirl.org/127.0.0.1#5335 -server=/.stdtime.gov.tw/127.0.0.1#5335 -server=/.steel-storm.com/127.0.0.1#5335 -server=/.sthoo.com/127.0.0.1#5335 -server=/.stickam.com/127.0.0.1#5335 -server=/.stickeraction.com/127.0.0.1#5335 -server=/.stonegames.net/127.0.0.1#5335 -server=/.stoneip.info/127.0.0.1#5335 -server=/.stoptibetcrisis.net/127.0.0.1#5335 -server=/.storagenewsletter.com/127.0.0.1#5335 -server=/.stoweboyd.com/127.0.0.1#5335 -server=/.streamingthe.net/127.0.0.1#5335 -server=/.strongvpn.com/127.0.0.1#5335 -server=/.student.tw/127.0.0.1#5335 -server=/.stuffimreading.com/127.0.0.1#5335 -server=/.stuffimreading.net/127.0.0.1#5335 -server=/.stupidvideos.com/127.0.0.1#5335 -server=/.subacme.rerouted.org/127.0.0.1#5335 -server=/.sublexical.spaces.live.com/127.0.0.1#5335 -server=/.sufeng.org/127.0.0.1#5335 -server=/.sugarsync.com/127.0.0.1#5335 -server=/.summify.com/127.0.0.1#5335 -server=/.sun1911.com/127.0.0.1#5335 -server=/.suoluo.org/127.0.0.1#5335 -server=/.surfeasy.com.au/127.0.0.1#5335 -server=/.svwind.com/127.0.0.1#5335 -server=/.sweux.com/127.0.0.1#5335 -server=/.swift-tools.net/127.0.0.1#5335 -server=/.s.xiaod.in/127.0.0.1#5335 -server=/.sydneytoday.com/127.0.0.1#5335 -server=/.sylfoundation.org/127.0.0.1#5335 -server=/.syncback.com/127.0.0.1#5335 -server=/.sysadmin1138.net/127.0.0.1#5335 -server=/.sysresccd.org/127.0.0.1#5335 -server=/.sytes.net/127.0.0.1#5335 -server=/.szbbs.net/127.0.0.1#5335 -server=/.szetowah.org.hk/127.0.0.1#5335 -server=/.t35.com/127.0.0.1#5335 -server=/.t66y.com/127.0.0.1#5335 -server=/.taa-usa.org/127.0.0.1#5335 -server=/.tabtter.jp/127.0.0.1#5335 -server=/.tacem.org/127.0.0.1#5335 -server=/.tafaward.com/127.0.0.1#5335 -server=/.tagwalk.com/127.0.0.1#5335 -server=/.taipei.gov.tw/127.0.0.1#5335 -server=/.taipeisociety.org/127.0.0.1#5335 -server=/.taitung-house.gov.tw/127.0.0.1#5335 -server=/.taiwandaily.net/127.0.0.1#5335 -server=/.taiwankiss.com/127.0.0.1#5335 -server=/.taiwannation.50webs.com/127.0.0.1#5335 -server=/.taiwannation.com/127.0.0.1#5335 -server=/.taiwannation.com.tw/127.0.0.1#5335 -server=/.taiwannews.com.tw/127.0.0.1#5335 -server=/.taiwan-sex.com/127.0.0.1#5335 -server=/.taiwantt.org.tw/127.0.0.1#5335 -server=/.taiwanus.net/127.0.0.1#5335 -server=/.taiwanyes.com/127.0.0.1#5335 -server=/.taiwanyes.ning.com/127.0.0.1#5335 -server=/.tamiaode.tk/127.0.0.1#5335 -server=/.tanc.org/127.0.0.1#5335 -server=/.tangben.com/127.0.0.1#5335 -server=/.taolun.info/127.0.0.1#5335 -server=/.taoyuan.gov.tw/127.0.0.1#5335 -server=/.tap11.com/127.0.0.1#5335 -server=/.target.com/127.0.0.1#5335 -server=/.taweet.com/127.0.0.1#5335 -server=/.tax.nat.gov.tw/127.0.0.1#5335 -server=/.tbpic.info/127.0.0.1#5335 -server=/.tbsec.org/127.0.0.1#5335 -server=/.tbsn.org/127.0.0.1#5335 -server=/.tbsseattle.org/127.0.0.1#5335 -server=/.tchb.gov.tw/127.0.0.1#5335 -server=/.tchrd.org/127.0.0.1#5335 -server=/.t.co/127.0.0.1#5335 -server=/.tcsac.gov.tw/127.0.0.1#5335 -server=/.teamseesmic.com/127.0.0.1#5335 -server=/.teashark.com/127.0.0.1#5335 -server=/.techlifeweb.com/127.0.0.1#5335 -server=/.techparaiso.com/127.0.0.1#5335 -server=/.telecomspace.com/127.0.0.1#5335 -server=/.telegraph.co.uk/127.0.0.1#5335 -server=/.tenacy.com/127.0.0.1#5335 -server=/.thbstc.gov.tw/127.0.0.1#5335 -server=/.theampfactory.com/127.0.0.1#5335 -server=/.theappleblog.com/127.0.0.1#5335 -server=/.theatrum-belli.com/127.0.0.1#5335 -server=/.thebcomplex.com/127.0.0.1#5335 -server=/.theblemish.com/127.0.0.1#5335 -server=/.thebodyshop-usa.com/127.0.0.1#5335 -server=/.thechinabeat.org/127.0.0.1#5335 -server=/.thedailywh.at/127.0.0.1#5335 -server=/.thedieline.com/127.0.0.1#5335 -server=/.thedw.us/127.0.0.1#5335 -server=/.thegatesnotes.com/127.0.0.1#5335 -server=/.thehots.info/127.0.0.1#5335 -server=/.thehousenews.com/127.0.0.1#5335 -server=/.thehungrydudes.com/127.0.0.1#5335 -server=/.thehun.net/127.0.0.1#5335 -server=/.theinternetwishlist.com/127.0.0.1#5335 -server=/.thelifeyoucansave.com/127.0.0.1#5335 -server=/.thelius.org/127.0.0.1#5335 -server=/.thepiratebay.org/127.0.0.1#5335 -server=/.thepiratebay.se/127.0.0.1#5335 -server=/.theqii.info/127.0.0.1#5335 -server=/.thereallove.kr/127.0.0.1#5335 -server=/.thesartorialist.com/127.0.0.1#5335 -server=/.thespeeder.com/127.0.0.1#5335 -server=/.the-sun.on.cc/127.0.0.1#5335 -server=/.thetibetpost.com/127.0.0.1#5335 -server=/.thetrotskymovie.com/127.0.0.1#5335 -server=/.thevivekspot.com/127.0.0.1#5335 -server=/.thewgo.org/127.0.0.1#5335 -server=/.thisav.com/127.0.0.1#5335 -server=/.thisiswhyyouarefat.com/127.0.0.1#5335 -server=/.thkphoto.com/127.0.0.1#5335 -server=/.thomasbernhard.org/127.0.0.1#5335 -server=/.threatchaos.com/127.0.0.1#5335 -server=/.throughnightsfire.com/127.0.0.1#5335 -server=/.t.huhaitai.com/127.0.0.1#5335 -server=/.thumbzilla.com/127.0.0.1#5335 -server=/.thywords.com/127.0.0.1#5335 -server=/.tiananmenmother.org/127.0.0.1#5335 -server=/.tiananmenuniv.com/127.0.0.1#5335 -server=/.tiananmenuniv.net/127.0.0.1#5335 -server=/.tiandixing.org/127.0.0.1#5335 -server=/.tianhuayuan.com/127.0.0.1#5335 -server=/.tiantibooks.org/127.0.0.1#5335 -server=/.tianzhu.org/127.0.0.1#5335 -server=/.tibetalk.com/127.0.0.1#5335 -server=/.tibetanyouthcongress.org/127.0.0.1#5335 -server=/.tibet.at/127.0.0.1#5335 -server=/.tibet.com/127.0.0.1#5335 -server=/.tibetcorps.org/127.0.0.1#5335 -server=/.tibetfund.org/127.0.0.1#5335 -server=/.tibetjustice.org/127.0.0.1#5335 -server=/.tibet.net/127.0.0.1#5335 -server=/.tibetoffice.org/127.0.0.1#5335 -server=/.tibetonline.com/127.0.0.1#5335 -server=/.tibetonline.tv/127.0.0.1#5335 -server=/.tibet.org.tw/127.0.0.1#5335 -server=/.tibetsun.com/127.0.0.1#5335 -server=/.tibetwrites.org/127.0.0.1#5335 -server=/.tidyread.com/127.0.0.1#5335 -server=/.time.com/127.0.0.1#5335 -server=/.times.hinet.net/127.0.0.1#5335 -server=/.tinychat.com/127.0.0.1#5335 -server=/.tinypaste.com/127.0.0.1#5335 -server=/.tinypng.com/127.0.0.1#5335 -server=/.tistory.com/127.0.0.1#5335 -server=/.tjholowaychuk.com/127.0.0.1#5335 -server=/.tkcs-collins.com/127.0.0.1#5335 -server=/.tkforum.tk/127.0.0.1#5335 -server=/.t.kun.im/127.0.0.1#5335 -server=/.tmagazine.com/127.0.0.1#5335 -server=/.tmi.me/127.0.0.1#5335 -server=/.tnaflix.com/127.0.0.1#5335 -server=/.tncsec.gov.tw/127.0.0.1#5335 -server=/.t.neolee.cn/127.0.0.1#5335 -server=/.togetter.com/127.0.0.1#5335 -server=/.tokyo-247.com/127.0.0.1#5335 -server=/.tokyocn.com/127.0.0.1#5335 -server=/.tokyo-hot.com/127.0.0.1#5335 -server=/.tomayko.com/127.0.0.1#5335 -server=/.tomsc.com/127.0.0.1#5335 -server=/.tono-oka.jp/127.0.0.1#5335 -server=/.tonyyan.net/127.0.0.1#5335 -server=/.toodoc.com/127.0.0.1#5335 -server=/.toonel.net/127.0.0.1#5335 -server=/.topic.youthwant.com.tw/127.0.0.1#5335 -server=/.topnews.in/127.0.0.1#5335 -server=/.topshare.us/127.0.0.1#5335 -server=/.topshareware.com/127.0.0.1#5335 -server=/.topstyle4.com/127.0.0.1#5335 -server=/.topsy.com/127.0.0.1#5335 -server=/.tora.to/127.0.0.1#5335 -server=/.tor.blingblingsquad.net/127.0.0.1#5335 -server=/.torproject.org/127.0.0.1#5335 -server=/.torrentcrazy.com/127.0.0.1#5335 -server=/.torrentproject.se/127.0.0.1#5335 -server=/.tor.updatestar.com/127.0.0.1#5335 -server=/.torvpn.com/127.0.0.1#5335 -server=/.t.orzdream.com/127.0.0.1#5335 -server=/.tosh.comedycentral.com/127.0.0.1#5335 -server=/.touch99.com/127.0.0.1#5335 -server=/.toutfr.com/127.0.0.1#5335 -server=/.tpde.aide.gov.tw/127.0.0.1#5335 -server=/.tphcc.gov.tw/127.0.0.1#5335 -server=/.tpi.org.tw/127.0.0.1#5335 -server=/.transgressionism.org/127.0.0.1#5335 -server=/.transparency.org/127.0.0.1#5335 -server=/.travelinlocal.com/127.0.0.1#5335 -server=/.trendsmap.com/127.0.0.1#5335 -server=/.trialofccp.org/127.0.0.1#5335 -server=/.tripod.com/127.0.0.1#5335 -server=/.trouw.nl/127.0.0.1#5335 -server=/.trtc.com.tw/127.0.0.1#5335 -server=/.trt.net.tr/127.0.0.1#5335 -server=/.trulyergonomic.com/127.0.0.1#5335 -server=/.trustedbi.com/127.0.0.1#5335 -server=/.truth101.co.tv/127.0.0.1#5335 -server=/.truthcn.com/127.0.0.1#5335 -server=/.truveo.com/127.0.0.1#5335 -server=/.tsctv.net/127.0.0.1#5335 -server=/.tsemtulku.com/127.0.0.1#5335 -server=/.tsquare.tv/127.0.0.1#5335 -server=/.tsunagarumon.com/127.0.0.1#5335 -server=/.tt1069.com/127.0.0.1#5335 -server=/.tttan.com/127.0.0.1#5335 -server=/.tuanzt.com/127.0.0.1#5335 -server=/.tube8.com/127.0.0.1#5335 -server=/.tubecao.com/127.0.0.1#5335 -server=/.tube.com/127.0.0.1#5335 -server=/.tubewolf.com/127.0.0.1#5335 -server=/.tuidang.net/127.0.0.1#5335 -server=/.tuidang.org/127.0.0.1#5335 -server=/.tui.orzdream.com/127.0.0.1#5335 -server=/.tuite.googlecode.com/127.0.0.1#5335 -server=/.tumblr.awflasher.com/127.0.0.1#5335 -server=/.tumblweed.org/127.0.0.1#5335 -server=/.tumutanzi.com/127.0.0.1#5335 -server=/.tunein.com/127.0.0.1#5335 -server=/.tunnelbear.com/127.0.0.1#5335 -server=/.turbobit.net/127.0.0.1#5335 -server=/.turbotwitter.com/127.0.0.1#5335 -server=/.turningtorso.com/127.0.0.1#5335 -server=/.turntable.fm/127.0.0.1#5335 -server=/.tuxtraining.com/127.0.0.1#5335 -server=/.tvants.com/127.0.0.1#5335 -server=/.tvboxnow.com/127.0.0.1#5335 -server=/.tv.com/127.0.0.1#5335 -server=/.tvider.com/127.0.0.1#5335 -server=/.tv-intros.com/127.0.0.1#5335 -server=/.tv.on.cc/127.0.0.1#5335 -server=/.tvunetworks.com/127.0.0.1#5335 -server=/.twapperkeeper.com/127.0.0.1#5335 -server=/.twa.sh/127.0.0.1#5335 -server=/.twaud.io/127.0.0.1#5335 -server=/.twbbs.net.tw/127.0.0.1#5335 -server=/.twbbs.org/127.0.0.1#5335 -server=/.twbbs.tw/127.0.0.1#5335 -server=/.twblogger.com/127.0.0.1#5335 -server=/.tweepguide.com/127.0.0.1#5335 -server=/.tweeplike.me/127.0.0.1#5335 -server=/.tweepmag.com/127.0.0.1#5335 -server=/.tweepml.org/127.0.0.1#5335 -server=/.tweetbackup.com/127.0.0.1#5335 -server=/.tweetboard.com/127.0.0.1#5335 -server=/.tweetboner.biz/127.0.0.1#5335 -server=/.tweetdeck.com/127.0.0.1#5335 -server=/.tweetedtimes.com/127.0.0.1#5335 -server=/.tweetmeme.com/127.0.0.1#5335 -server=/.tweetmylast.fm/127.0.0.1#5335 -server=/.tweetphoto.com/127.0.0.1#5335 -server=/.tweetrans.com/127.0.0.1#5335 -server=/.tweetree.com/127.0.0.1#5335 -server=/.tweetwally.com/127.0.0.1#5335 -server=/.tweetymail.com/127.0.0.1#5335 -server=/.twftp.org/127.0.0.1#5335 -server=/.twibase.com/127.0.0.1#5335 -server=/.twibble.de/127.0.0.1#5335 -server=/.twibbon.com/127.0.0.1#5335 -server=/.twibs.com/127.0.0.1#5335 -server=/.twicsy.com/127.0.0.1#5335 -server=/.twifan.com/127.0.0.1#5335 -server=/.twiffo.com/127.0.0.1#5335 -server=/.twiggit.org/127.0.0.1#5335 -server=/.twilog.org/127.0.0.1#5335 -server=/.twimbow.com/127.0.0.1#5335 -server=/.twimg.com/127.0.0.1#5335 -server=/.twimg.edgesuite.net/127.0.0.1#5335 -server=/.tw.img.nextmedia.com/127.0.0.1#5335 -server=/.twindexx.com/127.0.0.1#5335 -server=/.twipple.jp/127.0.0.1#5335 -server=/.twistar.cc/127.0.0.1#5335 -server=/.twisternow.com/127.0.0.1#5335 -server=/.twistory.net/127.0.0.1#5335 -server=/.twit2d.com/127.0.0.1#5335 -server=/.twitbrowser.net/127.0.0.1#5335 -server=/.twitcause.com/127.0.0.1#5335 -server=/.twitese.spaces.live.com/127.0.0.1#5335 -server=/.twitgether.com/127.0.0.1#5335 -server=/.twitgoo.com/127.0.0.1#5335 -server=/.twitiq.com/127.0.0.1#5335 -server=/.twitlonger.com/127.0.0.1#5335 -server=/.twitoaster.com/127.0.0.1#5335 -server=/.twitonmsn.com/127.0.0.1#5335 -server=/.twitpic.com/127.0.0.1#5335 -server=/.twitreferral.com/127.0.0.1#5335 -server=/.twitstat.com/127.0.0.1#5335 -server=/.twittbot.net/127.0.0.1#5335 -server=/.twitter4j.org/127.0.0.1#5335 -server=/.twitter.com/127.0.0.1#5335 -server=/.twittercounter.com/127.0.0.1#5335 -server=/.twitterfeed.com/127.0.0.1#5335 -server=/.twittergadget.com/127.0.0.1#5335 -server=/.twitter.jp/127.0.0.1#5335 -server=/.twitterkr.com/127.0.0.1#5335 -server=/.twittermail.com/127.0.0.1#5335 -server=/.twittertim.es/127.0.0.1#5335 -server=/.twitthat.com/127.0.0.1#5335 -server=/.twitturk.com/127.0.0.1#5335 -server=/.twitturly.com/127.0.0.1#5335 -server=/.twitvid.com/127.0.0.1#5335 -server=/.twitzap.com/127.0.0.1#5335 -server=/.twiyia.com/127.0.0.1#5335 -server=/.tw.jiepang.com/127.0.0.1#5335 -server=/.tw.myblog.yahoo.com/127.0.0.1#5335 -server=/.tw.news.yahoo.com/127.0.0.1#5335 -server=/.tw-npo.org/127.0.0.1#5335 -server=/.tw.rd.yahoo.com/127.0.0.1#5335 -server=/.twreg.info/127.0.0.1#5335 -server=/.twstar.net/127.0.0.1#5335 -server=/.tw.streetvoice.com/127.0.0.1#5335 -server=/.twt.fm/127.0.0.1#5335 -server=/.twtkr.com/127.0.0.1#5335 -server=/.twtr2src.ogaoga.org/127.0.0.1#5335 -server=/.twtrland.com/127.0.0.1#5335 -server=/.twt.tl/127.0.0.1#5335 -server=/.twttr.com/127.0.0.1#5335 -server=/.twurl.nl/127.0.0.1#5335 -server=/.tw.voa.mobi/127.0.0.1#5335 -server=/.twyac.org/127.0.0.1#5335 -server=/.tw.yahoo.com/127.0.0.1#5335 -server=/.tycool.com/127.0.0.1#5335 -server=/.tynsoe.org/127.0.0.1#5335 -server=/.typepad.com/127.0.0.1#5335 -server=/.tzangms.com/127.0.0.1#5335 -server=/.ub0.cc/127.0.0.1#5335 -server=/.uberproxy.net/127.0.0.1#5335 -server=/.ucdc1998.org/127.0.0.1#5335 -server=/.uderzo.it/127.0.0.1#5335 -server=/.udn.com/127.0.0.1#5335 -server=/.ufreevpn.com/127.0.0.1#5335 -server=/.ugo.com/127.0.0.1#5335 -server=/.uhrp.org/127.0.0.1#5335 -server=/.uighurbiz.net/127.0.0.1#5335 -server=/.ukliferadio.co.uk/127.0.0.1#5335 -server=/.ulike.net/127.0.0.1#5335 -server=/.ultravpn.fr/127.0.0.1#5335 -server=/.ultraxs.com/127.0.0.1#5335 -server=/.unblock.cn.com/127.0.0.1#5335 -server=/.unblocksit.es/127.0.0.1#5335 -server=/.uncyclomedia.org/127.0.0.1#5335 -server=/.uncyclopedia.info/127.0.0.1#5335 -server=/.uncyclopedia.tw/127.0.0.1#5335 -server=/.unholyknight.com/127.0.0.1#5335 -server=/.uni.cc/127.0.0.1#5335 -server=/.unicode.org/127.0.0.1#5335 -server=/.uniteddaily.com.my/127.0.0.1#5335 -server=/.unix100.com/127.0.0.1#5335 -server=/.unknownspace.org/127.0.0.1#5335 -server=/.unpo.org/127.0.0.1#5335 -server=/.uocn.org/127.0.0.1#5335 -server=/.upcoming.yahoo.com/127.0.0.1#5335 -server=/.update.playstation.net/127.0.0.1#5335 -server=/.upload4u.info/127.0.0.1#5335 -server=/.upload.backchina.com/127.0.0.1#5335 -server=/.uploaded.to/127.0.0.1#5335 -server=/.uploadstation.com/127.0.0.1#5335 -server=/.upload.wikimedia.org/127.0.0.1#5335 -server=/.urlborg.com/127.0.0.1#5335 -server=/.urlparser.com/127.0.0.1#5335 -server=/.usacn.com/127.0.0.1#5335 -server=/.usfk.mil/127.0.0.1#5335 -server=/.usinfo.state.gov/127.0.0.1#5335 -server=/.usmc.mil/127.0.0.1#5335 -server=/.us.to/127.0.0.1#5335 -server=/.ustream.tv/127.0.0.1#5335 -server=/.usus.cc/127.0.0.1#5335 -server=/.uushare.com/127.0.0.1#5335 -server=/.uwants.com/127.0.0.1#5335 -server=/.uwants.net/127.0.0.1#5335 -server=/.uyghurcongress.org/127.0.0.1#5335 -server=/.uygur.org/127.0.0.1#5335 -server=/.v70.us/127.0.0.1#5335 -server=/.vaayoo.com/127.0.0.1#5335 -server=/.value-domain.com/127.0.0.1#5335 -server=/.van698.com/127.0.0.1#5335 -server=/.vanemu.cn/127.0.0.1#5335 -server=/.vanilla-jp.com/127.0.0.1#5335 -server=/.vansky.com/127.0.0.1#5335 -server=/.vapurl.com/127.0.0.1#5335 -server=/.vatn.org/127.0.0.1#5335 -server=/.vcfbuilder.org/127.0.0.1#5335 -server=/.vcf-online.org/127.0.0.1#5335 -server=/.veempiire.com/127.0.0.1#5335 -server=/.velkaepocha.sk/127.0.0.1#5335 -server=/.venbbs.com/127.0.0.1#5335 -server=/.venchina.com/127.0.0.1#5335 -server=/.ventureswell.com/127.0.0.1#5335 -server=/.veoh.com/127.0.0.1#5335 -server=/.verizon.net/127.0.0.1#5335 -server=/.verybs.com/127.0.0.1#5335 -server=/.vevo.com/127.0.0.1#5335 -server=/.vft.com.tw/127.0.0.1#5335 -server=/.vghks.gov.tw/127.0.0.1#5335 -server=/.vghtc.gov.tw/127.0.0.1#5335 -server=/.vghtpe.gov.tw/127.0.0.1#5335 -server=/.video.aol.ca/127.0.0.1#5335 -server=/.video.aol.com/127.0.0.1#5335 -server=/.video.aol.co.uk/127.0.0.1#5335 -server=/.video.ap.org/127.0.0.1#5335 -server=/.videobam.com/127.0.0.1#5335 -server=/.video.fdbox.com/127.0.0.1#5335 -server=/.video.foxbusiness.com/127.0.0.1#5335 -server=/.videomo.com/127.0.0.1#5335 -server=/.video.tiscali.it/127.0.0.1#5335 -server=/.video.yahoo.com/127.0.0.1#5335 -server=/.vidoemo.com/127.0.0.1#5335 -server=/.views.fm/127.0.0.1#5335 -server=/.viki.com/127.0.0.1#5335 -server=/.vimeocdn.com/127.0.0.1#5335 -server=/.vimeo.com/127.0.0.1#5335 -server=/.vimgolf.com/127.0.0.1#5335 -server=/.vimperator.org/127.0.0.1#5335 -server=/.vincnd.com/127.0.0.1#5335 -server=/.vinniev.com/127.0.0.1#5335 -server=/.vllcs.org/127.0.0.1#5335 -server=/.vlog.xuite.net/127.0.0.1#5335 -server=/.vmixcore.com/127.0.0.1#5335 -server=/.voacantonese.com/127.0.0.1#5335 -server=/.voachineseblog.com/127.0.0.1#5335 -server=/.voachinese.com/127.0.0.1#5335 -server=/.voagd.com/127.0.0.1#5335 -server=/.voanews.com/127.0.0.1#5335 -server=/.voatibetan.com/127.0.0.1#5335 -server=/.vocn.tv/127.0.0.1#5335 -server=/.vot.org/127.0.0.1#5335 -server=/.vpnbook.com/127.0.0.1#5335 -server=/.vpnfire.com/127.0.0.1#5335 -server=/.vpngate.jp/127.0.0.1#5335 -server=/.vpngate.net/127.0.0.1#5335 -server=/.vpnpop.com/127.0.0.1#5335 -server=/.vpnpronet.com/127.0.0.1#5335 -server=/.v-state.org/127.0.0.1#5335 -server=/.vtunnel.com/127.0.0.1#5335 -server=/.w3schools.com/127.0.0.1#5335 -server=/.waffle1999.com/127.0.0.1#5335 -server=/.wahas.com/127.0.0.1#5335 -server=/.waigaobu.com/127.0.0.1#5335 -server=/.waikeung.org/127.0.0.1#5335 -server=/.waiwaier.com/127.0.0.1#5335 -server=/.wallornot.org/127.0.0.1#5335 -server=/.wallpapercasa.com/127.0.0.1#5335 -server=/.wanderinghorse.net/127.0.0.1#5335 -server=/.wanfang.gov.tw/127.0.0.1#5335 -server=/.wangafu.net/127.0.0.1#5335 -server=/.wangjinbo.org/127.0.0.1#5335 -server=/.wanglixiong.com/127.0.0.1#5335 -server=/.wangruoshui.net/127.0.0.1#5335 -server=/.wangyi64.spaces.live.com/127.0.0.1#5335 -server=/.want-daily.com/127.0.0.1#5335 -server=/.wapedia.mobi/127.0.0.1#5335 -server=/.washeng.net/127.0.0.1#5335 -server=/.watchmygf.net/127.0.0.1#5335 -server=/.wattpad.com/127.0.0.1#5335 -server=/.wdf5.com/127.0.0.1#5335 -server=/.wearn.com/127.0.0.1#5335 -server=/.web2project.net/127.0.0.1#5335 -server=/.webbang.net/127.0.0.1#5335 -server=/.webfee.tk/127.0.0.1#5335 -server=/.weblagu.com/127.0.0.1#5335 -server=/.webmproject.org/127.0.0.1#5335 -server=/.webshots.com/127.0.0.1#5335 -server=/.websitepulse.com/127.0.0.1#5335 -server=/.webs-tv.net/127.0.0.1#5335 -server=/.webworkerdaily.com/127.0.0.1#5335 -server=/.weeewooo.net/127.0.0.1#5335 -server=/.weekmag.info/127.0.0.1#5335 -server=/.wefong.com/127.0.0.1#5335 -server=/.weiboleak.com/127.0.0.1#5335 -server=/.weigegebyc.dreamhosters.com/127.0.0.1#5335 -server=/.weijingsheng.org/127.0.0.1#5335 -server=/.weiming.info/127.0.0.1#5335 -server=/.weiquanwang.org/127.0.0.1#5335 -server=/.weisuo.ws/127.0.0.1#5335 -server=/.wellplacedpixels.com/127.0.0.1#5335 -server=/.wengewang.com/127.0.0.1#5335 -server=/.wengewang.org/127.0.0.1#5335 -server=/.wenhui.ch/127.0.0.1#5335 -server=/.wenku.com/127.0.0.1#5335 -server=/.wenxuecity.com/127.0.0.1#5335 -server=/.wenyunchao.com/127.0.0.1#5335 -server=/.wenyunchao.spaces.live.com/127.0.0.1#5335 -server=/.wepn.info/127.0.0.1#5335 -server=/.westca.com/127.0.0.1#5335 -server=/.westernwolves.com/127.0.0.1#5335 -server=/.wetplace.com/127.0.0.1#5335 -server=/.wetpussygames.com/127.0.0.1#5335 -server=/.wexiaobo.org/127.0.0.1#5335 -server=/.wezhiyong.org/127.0.0.1#5335 -server=/.wezone.net/127.0.0.1#5335 -server=/.wforum.com/127.0.0.1#5335 -server=/.whatblocked.com/127.0.0.1#5335 -server=/.whereiswerner.com/127.0.0.1#5335 -server=/.whippedass.com/127.0.0.1#5335 -server=/.whitebear.freebearblog.org/127.0.0.1#5335 -server=/.whydidyoubuymethat.com/127.0.0.1#5335 -server=/.whylover.com/127.0.0.1#5335 -server=/.whyx.org/127.0.0.1#5335 -server=/.w.idaiwan.com/127.0.0.1#5335 -server=/.wiki.cnitter.com/127.0.0.1#5335 -server=/.wiki.jqueryui.com/127.0.0.1#5335 -server=/.wiki.keso.cn/127.0.0.1#5335 -server=/.wikileaks.ch/127.0.0.1#5335 -server=/.wikileaks.de/127.0.0.1#5335 -server=/.wikileaks.eu/127.0.0.1#5335 -server=/.wikileaks.lu/127.0.0.1#5335 -server=/.wikileaks.org/127.0.0.1#5335 -server=/.wikileaks.pl/127.0.0.1#5335 -server=/.wikilivres.info/127.0.0.1#5335 -server=/.wikimapia.org/127.0.0.1#5335 -server=/.wikimedia.org.mo/127.0.0.1#5335 -server=/.wiki.moegirl.org/127.0.0.1#5335 -server=/.wikinet.org/127.0.0.1#5335 -server=/.wiki.oauth.net/127.0.0.1#5335 -server=/.wikipedia.org/127.0.0.1#5335 -server=/.wiki.phonegap.com/127.0.0.1#5335 -server=/.wikiwiki.jp/127.0.0.1#5335 -server=/.wikkii.com/127.0.0.1#5335 -server=/.williamlong.spaces.live.com/127.0.0.1#5335 -server=/.willw.net/127.0.0.1#5335 -server=/.windowsphoneme.com/127.0.0.1#5335 -server=/.winwhispers.info/127.0.0.1#5335 -server=/.wiredbytes.com/127.0.0.1#5335 -server=/.wiredpen.com/127.0.0.1#5335 -server=/.wireshark.org/127.0.0.1#5335 -server=/.wisevid.com/127.0.0.1#5335 -server=/.witnessleeteaching.com/127.0.0.1#5335 -server=/.witopia.net/127.0.0.1#5335 -server=/.wlx.sowiki.net/127.0.0.1#5335 -server=/.woeser.com/127.0.0.1#5335 -server=/.wolfax.com/127.0.0.1#5335 -server=/.womenbusiness.nyc.gov.tw/127.0.0.1#5335 -server=/.womensrightsofchina.org/127.0.0.1#5335 -server=/.woopie.jp/127.0.0.1#5335 -server=/.woopie.tv/127.0.0.1#5335 -server=/.wordboner.com/127.0.0.1#5335 -server=/.wordpress.com/127.0.0.1#5335 -server=/.wordsandturds.com/127.0.0.1#5335 -server=/.w.org/127.0.0.1#5335 -server=/.workatruna.com/127.0.0.1#5335 -server=/.worldcat.org/127.0.0.1#5335 -server=/.worldjournal.com/127.0.0.1#5335 -server=/.worstthingieverate.com/127.0.0.1#5335 -server=/.wo.tc/127.0.0.1#5335 -server=/.wowlegacy.ml/127.0.0.1#5335 -server=/.wow-life.net/127.0.0.1#5335 -server=/.woxinghuiguo.com/127.0.0.1#5335 -server=/.wozy.in/127.0.0.1#5335 -server=/.wp.com/127.0.0.1#5335 -server=/.wpoforum.com/127.0.0.1#5335 -server=/.wqlhw.com/127.0.0.1#5335 -server=/.wqyd.org/127.0.0.1#5335 -server=/.wrchina.org/127.0.0.1#5335 -server=/.wretch.cc/127.0.0.1#5335 -server=/.writer.zoho.com/127.0.0.1#5335 -server=/.wsj.com/127.0.0.1#5335 -server=/.wsj.net/127.0.0.1#5335 -server=/.wtfpeople.com/127.0.0.1#5335 -server=/.wuala.com/127.0.0.1#5335 -server=/.wuerkaixi.com/127.0.0.1#5335 -server=/.wufi.org.tw/127.0.0.1#5335 -server=/.wuguoguang.com/127.0.0.1#5335 -server=/.wujieliulan.com/127.0.0.1#5335 -server=/.wujie.net/127.0.0.1#5335 -server=/.wukangrui.net/127.0.0.1#5335 -server=/.wwitv.com/127.0.0.1#5335 -server=/.www.6v6dota.com/127.0.0.1#5335 -server=/.www.ajsands.com/127.0.0.1#5335 -server=/.www.antd.org/127.0.0.1#5335 -server=/.www.aolnews.com/127.0.0.1#5335 -server=/.www.bulbous.freeserve.co.uk/127.0.0.1#5335 -server=/.www.cmoinc.org/127.0.0.1#5335 -server=/.www.dfanning.com/127.0.0.1#5335 -server=/.www.dwheeler.com/127.0.0.1#5335 -server=/.www.eulam.com/127.0.0.1#5335 -server=/.www.exblog.jp/127.0.0.1#5335 -server=/.www.forum4hk.com/127.0.0.1#5335 -server=/.www.freetibet.org/127.0.0.1#5335 -server=/.www.getyouram.com/127.0.0.1#5335 -server=/.www.goldenmelody.com.tw/127.0.0.1#5335 -server=/.www.idlcoyote.com/127.0.0.1#5335 -server=/.www.immigration.gov.tw/127.0.0.1#5335 -server=/.www.klip.me/127.0.0.1#5335 -server=/.www.kodingen.com/127.0.0.1#5335 -server=/.www.linksalpha.com/127.0.0.1#5335 -server=/.www.loiclemeur.com/127.0.0.1#5335 -server=/.www.macrovpn.com/127.0.0.1#5335 -server=/.www.monlamit.org/127.0.0.1#5335 -server=/.www.moztw.org/127.0.0.1#5335 -server=/.www.mycould.com/127.0.0.1#5335 -server=/.www.ned.org/127.0.0.1#5335 -server=/.www.nownews.com/127.0.0.1#5335 -server=/.www.orchidbbs.com/127.0.0.1#5335 -server=/.www.owind.com/127.0.0.1#5335 -server=/.www.oxid.it/127.0.0.1#5335 -server=/.www.parkansky.com/127.0.0.1#5335 -server=/.www.powerpointninja.com/127.0.0.1#5335 -server=/.www.rnw.nl/127.0.0.1#5335 -server=/.www.somee.com/127.0.0.1#5335 -server=/.www.stackfile.com/127.0.0.1#5335 -server=/.www.supertweet.net/127.0.0.1#5335 -server=/.www.tiffanyarment.com/127.0.0.1#5335 -server=/.www.tripod.com/127.0.0.1#5335 -server=/.www.tv.com/127.0.0.1#5335 -server=/.www.twtrland.com/127.0.0.1#5335 -server=/.www.typepad.com/127.0.0.1#5335 -server=/.www.urbanoutfitters.com/127.0.0.1#5335 -server=/.www.vegorpedersen.com/127.0.0.1#5335 -server=/.www.voy.com/127.0.0.1#5335 -server=/.www.vpncup.com/127.0.0.1#5335 -server=/.www.wangruowang.org/127.0.0.1#5335 -server=/.www.wan-press.org/127.0.0.1#5335 -server=/.www.wet123.com/127.0.0.1#5335 -server=/.www.zaurus.org.uk/127.0.0.1#5335 -server=/.wzyboy.im/127.0.0.1#5335 -server=/.x1949x.com/127.0.0.1#5335 -server=/.x365x.com/127.0.0.1#5335 -server=/.xanga.com/127.0.0.1#5335 -server=/.x-art.com/127.0.0.1#5335 -server=/.xa.yimg.com/127.0.0.1#5335 -server=/.xbabe.com/127.0.0.1#5335 -server=/.xbookcn.com/127.0.0.1#5335 -server=/.xcafe.in/127.0.0.1#5335 -server=/.xcritic.com/127.0.0.1#5335 -server=/.xfm.pp.ru/127.0.0.1#5335 -server=/.xgmyd.com/127.0.0.1#5335 -server=/.xh4n.cn/127.0.0.1#5335 -server=/.xhamster.com/127.0.0.1#5335 -server=/.xiaochuncnjp.com/127.0.0.1#5335 -server=/.xiaohexie.com/127.0.0.1#5335 -server=/.xiaoma.org/127.0.0.1#5335 -server=/.xiezhua.com/127.0.0.1#5335 -server=/.xing.com/127.0.0.1#5335 -server=/.xinhuanet.org/127.0.0.1#5335 -server=/.xinmiao.com.hk/127.0.0.1#5335 -server=/.xinqimeng.over-blog.com/127.0.0.1#5335 -server=/.xinsheng.net/127.0.0.1#5335 -server=/.xinshijue.com/127.0.0.1#5335 -server=/.xinyubbs.net/127.0.0.1#5335 -server=/.xizang-zhiye.org/127.0.0.1#5335 -server=/.xjp.cc/127.0.0.1#5335 -server=/.xml-training-guide.com/127.0.0.1#5335 -server=/.xmovies.com/127.0.0.1#5335 -server=/.xmusic.fm/127.0.0.1#5335 -server=/.xnxx.com/127.0.0.1#5335 -server=/.xpdo.net/127.0.0.1#5335 -server=/.xpud.org/127.0.0.1#5335 -server=/.xskywalker.com/127.0.0.1#5335 -server=/.xtube.com/127.0.0.1#5335 -server=/.xuchao.net/127.0.0.1#5335 -server=/.xuchao.org/127.0.0.1#5335 -server=/.xuzhiyong.net/127.0.0.1#5335 -server=/.xuzhuoer.com/127.0.0.1#5335 -server=/.xvedios.com/127.0.0.1#5335 -server=/.xvideos.com/127.0.0.1#5335 -server=/.x-wall.org/127.0.0.1#5335 -server=/.xxbbx.com/127.0.0.1#5335 -server=/.x.xcity.jp/127.0.0.1#5335 -server=/.xxxx.com.au/127.0.0.1#5335 -server=/.xysblogs.org/127.0.0.1#5335 -server=/.xys.dxiong.com/127.0.0.1#5335 -server=/.xys.org/127.0.0.1#5335 -server=/.xyy69.com/127.0.0.1#5335 -server=/.xyy69.info/127.0.0.1#5335 -server=/.yahoo.cn/127.0.0.1#5335 -server=/.yahoo.com.hk/127.0.0.1#5335 -server=/.yam.com/127.0.0.1#5335 -server=/.yanghengjun.spaces.live.com/127.0.0.1#5335 -server=/.yasni.co.uk/127.0.0.1#5335 -server=/.yasukuni.or.jp/127.0.0.1#5335 -server=/.yatsen.gov.tw/127.0.0.1#5335 -server=/.ydy.com/127.0.0.1#5335 -server=/.yeelou.com/127.0.0.1#5335 -server=/.yeeyi.com/127.0.0.1#5335 -server=/.yegle.net/127.0.0.1#5335 -server=/.yezimary.spaces.live.com/127.0.0.1#5335 -server=/.yfrog.com/127.0.0.1#5335 -server=/.yhcw.net/127.0.0.1#5335 -server=/.yidio.com/127.0.0.1#5335 -server=/.yilubbs.com/127.0.0.1#5335 -server=/.yi.org/127.0.0.1#5335 -server=/.yipub.com/127.0.0.1#5335 -server=/.ym.backchina.com/127.0.0.1#5335 -server=/.yogichen.org/127.0.0.1#5335 -server=/.yong.hu/127.0.0.1#5335 -server=/.yorkbbs.ca/127.0.0.1#5335 -server=/.youdao.com/127.0.0.1#5335 -server=/.youjizz.com/127.0.0.1#5335 -server=/.youmaker.com/127.0.0.1#5335 -server=/.youpai.org/127.0.0.1#5335 -server=/.youporn.com/127.0.0.1#5335 -server=/.your-freedom.net/127.0.0.1#5335 -server=/.yousendit.com/127.0.0.1#5335 -server=/.youthbao.com/127.0.0.1#5335 -server=/.youthnetradio.org/127.0.0.1#5335 -server=/.youtu.be/127.0.0.1#5335 -server=/.youtubecn.com/127.0.0.1#5335 -server=/.youtube.com/127.0.0.1#5335 -server=/.youtube-nocookie.com/127.0.0.1#5335 -server=/.youversion.com/127.0.0.1#5335 -server=/.youxu.info/127.0.0.1#5335 -server=/.ytht.net/127.0.0.1#5335 -server=/.ytimg.com/127.0.0.1#5335 -server=/.yuanming.net/127.0.0.1#5335 -server=/.yuming.flnet.org/127.0.0.1#5335 -server=/.yunchao.net/127.0.0.1#5335 -server=/.yvesgeleyn.com/127.0.0.1#5335 -server=/.yvtc.gov.tw/127.0.0.1#5335 -server=/.yx51.net/127.0.0.1#5335 -server=/.yyii.org/127.0.0.1#5335 -server=/.yymaya.com/127.0.0.1#5335 -server=/.yzzk.com/127.0.0.1#5335 -server=/.zacebook.com/127.0.0.1#5335 -server=/.zannel.com/127.0.0.1#5335 -server=/.zaobao.com/127.0.0.1#5335 -server=/.zaobao.com.sg/127.0.0.1#5335 -server=/.zaozon.com/127.0.0.1#5335 -server=/.zarias.com/127.0.0.1#5335 -server=/.zattoo.com/127.0.0.1#5335 -server=/.zdnet.com.tw/127.0.0.1#5335 -server=/.zengjinyan.org/127.0.0.1#5335 -server=/.zengjinyan.spaces.live.com/127.0.0.1#5335 -server=/.zeutch.com/127.0.0.1#5335 -server=/.zgzcjj.net/127.0.0.1#5335 -server=/.zhanbin.net/127.0.0.1#5335 -server=/.zhao.jinhai.de/127.0.0.1#5335 -server=/.zhenghui.org/127.0.0.1#5335 -server=/.zhenlibu.info/127.0.0.1#5335 -server=/.zhinengluyou.com/127.0.0.1#5335 -server=/.zhllg.spaces.live.com/127.0.0.1#5335 -server=/.zh.m.wikipedia.org/127.0.0.1#5335 -server=/.zh.netlog.com/127.0.0.1#5335 -server=/.zhonggtuotese.net/127.0.0.1#5335 -server=/.zhongguotese.net/127.0.0.1#5335 -server=/.zhongmeng.org/127.0.0.1#5335 -server=/.zhongsou.com/127.0.0.1#5335 -server=/.zh.pokerstrategy.com/127.0.0.1#5335 -server=/.zhreader.com/127.0.0.1#5335 -server=/.zh-tw.justin.tv/127.0.0.1#5335 -server=/.zhuichaguoji.org/127.0.0.1#5335 -server=/.zh.uncyclopedia.wikia.com/127.0.0.1#5335 -server=/.zh.wikinews.org/127.0.0.1#5335 -server=/.zh.wikipedia.org/127.0.0.1#5335 -server=/.zh.wikisource.org/127.0.0.1#5335 -server=/.ziddu.com/127.0.0.1#5335 -server=/.zillionk.com/127.0.0.1#5335 -server=/.zinio.com/127.0.0.1#5335 -server=/.ziplib.com/127.0.0.1#5335 -server=/.zkaip.com/127.0.0.1#5335 -server=/.zmw.cn/127.0.0.1#5335 -server=/.zomobo.net/127.0.0.1#5335 -server=/.zonaeuropa.com/127.0.0.1#5335 -server=/.zootool.com/127.0.0.1#5335 -server=/.zoozle.net/127.0.0.1#5335 -server=/.zozotown.com/127.0.0.1#5335 -server=/.zshare.net/127.0.0.1#5335 -server=/.zsrhao.com/127.0.0.1#5335 -server=/.zuo.la/127.0.0.1#5335 -server=/.zuola.com/127.0.0.1#5335 -server=/.zvereff.com/127.0.0.1#5335 -server=/.zyzc9.com/127.0.0.1#5335 -server=/.zyzg.us/127.0.0.1#5335 \ No newline at end of file diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw_list.conf b/package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw_list.conf deleted file mode 100644 index 4064a1344a..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/gfw_list.conf +++ /dev/null @@ -1,10476 +0,0 @@ -server=/.030buy.com/127.0.0.1#5335 -ipset=/.030buy.com/gfwlist -server=/.0rz.tw/127.0.0.1#5335 -ipset=/.0rz.tw/gfwlist -server=/.10.tt/127.0.0.1#5335 -ipset=/.10.tt/gfwlist -server=/.1000giri.net/127.0.0.1#5335 -ipset=/.1000giri.net/gfwlist -server=/.100ke.org/127.0.0.1#5335 -ipset=/.100ke.org/gfwlist -server=/.10conditionsoflove.com/127.0.0.1#5335 -ipset=/.10conditionsoflove.com/gfwlist -server=/.10musume.com/127.0.0.1#5335 -ipset=/.10musume.com/gfwlist -server=/.123rf.com/127.0.0.1#5335 -ipset=/.123rf.com/gfwlist -server=/.12bet.com/127.0.0.1#5335 -ipset=/.12bet.com/gfwlist -server=/.12vpn.com/127.0.0.1#5335 -ipset=/.12vpn.com/gfwlist -server=/.12vpn.net/127.0.0.1#5335 -ipset=/.12vpn.net/gfwlist -server=/.138.com/127.0.0.1#5335 -ipset=/.138.com/gfwlist -server=/.141jj.com/127.0.0.1#5335 -ipset=/.141jj.com/gfwlist -server=/.141tube.com/127.0.0.1#5335 -ipset=/.141tube.com/gfwlist -server=/.1688.com.au/127.0.0.1#5335 -ipset=/.1688.com.au/gfwlist -server=/.173ng.com/127.0.0.1#5335 -ipset=/.173ng.com/gfwlist -server=/.177pic.info/127.0.0.1#5335 -ipset=/.177pic.info/gfwlist -server=/.17t17p.com/127.0.0.1#5335 -ipset=/.17t17p.com/gfwlist -server=/.18board.com/127.0.0.1#5335 -ipset=/.18board.com/gfwlist -server=/.18board.info/127.0.0.1#5335 -ipset=/.18board.info/gfwlist -server=/.18onlygirls.com/127.0.0.1#5335 -ipset=/.18onlygirls.com/gfwlist -server=/.18p2p.com/127.0.0.1#5335 -ipset=/.18p2p.com/gfwlist -server=/.18virginsex.com/127.0.0.1#5335 -ipset=/.18virginsex.com/gfwlist -server=/.1949er.org/127.0.0.1#5335 -ipset=/.1949er.org/gfwlist -server=/.1984bbs.com/127.0.0.1#5335 -ipset=/.1984bbs.com/gfwlist -server=/.1984bbs.org/127.0.0.1#5335 -ipset=/.1984bbs.org/gfwlist -server=/.1989report.hkja.org.hk/127.0.0.1#5335 -ipset=/.1989report.hkja.org.hk/gfwlist -server=/.1991way.com/127.0.0.1#5335 -ipset=/.1991way.com/gfwlist -server=/.1998cdp.org/127.0.0.1#5335 -ipset=/.1998cdp.org/gfwlist -server=/.1bao.org/127.0.0.1#5335 -ipset=/.1bao.org/gfwlist -server=/.1dumb.com/127.0.0.1#5335 -ipset=/.1dumb.com/gfwlist -server=/.1e100.net/127.0.0.1#5335 -ipset=/.1e100.net/gfwlist -server=/.1eew.com/127.0.0.1#5335 -ipset=/.1eew.com/gfwlist -server=/.1mobile.com/127.0.0.1#5335 -ipset=/.1mobile.com/gfwlist -server=/.1pondo.tv/127.0.0.1#5335 -ipset=/.1pondo.tv/gfwlist -server=/.2-hand.info/127.0.0.1#5335 -ipset=/.2-hand.info/gfwlist -server=/.2008xianzhang.info/127.0.0.1#5335 -ipset=/.2008xianzhang.info/gfwlist -server=/.2017.hk/127.0.0.1#5335 -ipset=/.2017.hk/gfwlist -server=/.21join.com/127.0.0.1#5335 -ipset=/.21join.com/gfwlist -server=/.21pron.com/127.0.0.1#5335 -ipset=/.21pron.com/gfwlist -server=/.21sextury.com/127.0.0.1#5335 -ipset=/.21sextury.com/gfwlist -server=/.228.net.tw/127.0.0.1#5335 -ipset=/.228.net.tw/gfwlist -server=/.233abc.com/127.0.0.1#5335 -ipset=/.233abc.com/gfwlist -server=/.24hrs.ca/127.0.0.1#5335 -ipset=/.24hrs.ca/gfwlist -server=/.24smile.org/127.0.0.1#5335 -ipset=/.24smile.org/gfwlist -server=/.25u.com/127.0.0.1#5335 -ipset=/.25u.com/gfwlist -server=/.2lipstube.com/127.0.0.1#5335 -ipset=/.2lipstube.com/gfwlist -server=/.2shared.com/127.0.0.1#5335 -ipset=/.2shared.com/gfwlist -server=/.2waky.com/127.0.0.1#5335 -ipset=/.2waky.com/gfwlist -server=/.3-a.net/127.0.0.1#5335 -ipset=/.3-a.net/gfwlist -server=/.30boxes.com/127.0.0.1#5335 -ipset=/.30boxes.com/gfwlist -server=/.315lz.com/127.0.0.1#5335 -ipset=/.315lz.com/gfwlist -server=/.32red.com/127.0.0.1#5335 -ipset=/.32red.com/gfwlist -server=/.36rain.com/127.0.0.1#5335 -ipset=/.36rain.com/gfwlist -server=/.3a5a.com/127.0.0.1#5335 -ipset=/.3a5a.com/gfwlist -server=/.3arabtv.com/127.0.0.1#5335 -ipset=/.3arabtv.com/gfwlist -server=/.3boys2girls.com/127.0.0.1#5335 -ipset=/.3boys2girls.com/gfwlist -server=/.3d-game.com/127.0.0.1#5335 -ipset=/.3d-game.com/gfwlist -server=/.3proxy.ru/127.0.0.1#5335 -ipset=/.3proxy.ru/gfwlist -server=/.3ren.ca/127.0.0.1#5335 -ipset=/.3ren.ca/gfwlist -server=/.3tui.net/127.0.0.1#5335 -ipset=/.3tui.net/gfwlist -server=/.43110.cf/127.0.0.1#5335 -ipset=/.43110.cf/gfwlist -server=/.466453.com/127.0.0.1#5335 -ipset=/.466453.com/gfwlist -server=/.4bluestones.biz/127.0.0.1#5335 -ipset=/.4bluestones.biz/gfwlist -server=/.4chan.com/127.0.0.1#5335 -ipset=/.4chan.com/gfwlist -server=/.4dq.com/127.0.0.1#5335 -ipset=/.4dq.com/gfwlist -server=/.4everproxy.com/127.0.0.1#5335 -ipset=/.4everproxy.com/gfwlist -server=/.4irc.com/127.0.0.1#5335 -ipset=/.4irc.com/gfwlist -server=/.4mydomain.com/127.0.0.1#5335 -ipset=/.4mydomain.com/gfwlist -server=/.4pu.com/127.0.0.1#5335 -ipset=/.4pu.com/gfwlist -server=/.4rbtv.com/127.0.0.1#5335 -ipset=/.4rbtv.com/gfwlist -server=/.4shared.com/127.0.0.1#5335 -ipset=/.4shared.com/gfwlist -server=/.51.ca/127.0.0.1#5335 -ipset=/.51.ca/gfwlist -server=/.51jav.org/127.0.0.1#5335 -ipset=/.51jav.org/gfwlist -server=/.51luoben.com/127.0.0.1#5335 -ipset=/.51luoben.com/gfwlist -server=/.5278.cc/127.0.0.1#5335 -ipset=/.5278.cc/gfwlist -server=/.5299.tv/127.0.0.1#5335 -ipset=/.5299.tv/gfwlist -server=/.56cun04.jigsy.com/127.0.0.1#5335 -ipset=/.56cun04.jigsy.com/gfwlist -server=/.5aimiku.com/127.0.0.1#5335 -ipset=/.5aimiku.com/gfwlist -server=/.5i01.com/127.0.0.1#5335 -ipset=/.5i01.com/gfwlist -server=/.5isotoi5.org/127.0.0.1#5335 -ipset=/.5isotoi5.org/gfwlist -server=/.5maodang.com/127.0.0.1#5335 -ipset=/.5maodang.com/gfwlist -server=/.63i.com/127.0.0.1#5335 -ipset=/.63i.com/gfwlist -server=/.64museum.org/127.0.0.1#5335 -ipset=/.64museum.org/gfwlist -server=/.64tianwang.com/127.0.0.1#5335 -ipset=/.64tianwang.com/gfwlist -server=/.64wiki.com/127.0.0.1#5335 -ipset=/.64wiki.com/gfwlist -server=/.66.ca/127.0.0.1#5335 -ipset=/.66.ca/gfwlist -server=/.666kb.com/127.0.0.1#5335 -ipset=/.666kb.com/gfwlist -server=/.6park.com/127.0.0.1#5335 -ipset=/.6park.com/gfwlist -server=/.6parker.com/127.0.0.1#5335 -ipset=/.6parker.com/gfwlist -server=/.6parknews.com/127.0.0.1#5335 -ipset=/.6parknews.com/gfwlist -server=/.7capture.com/127.0.0.1#5335 -ipset=/.7capture.com/gfwlist -server=/.7cow.com/127.0.0.1#5335 -ipset=/.7cow.com/gfwlist -server=/.8-d.com/127.0.0.1#5335 -ipset=/.8-d.com/gfwlist -server=/.85cc.net/127.0.0.1#5335 -ipset=/.85cc.net/gfwlist -server=/.85cc.us/127.0.0.1#5335 -ipset=/.85cc.us/gfwlist -server=/.85st.com/127.0.0.1#5335 -ipset=/.85st.com/gfwlist -server=/.881903.com/127.0.0.1#5335 -ipset=/.881903.com/gfwlist -server=/.888.com/127.0.0.1#5335 -ipset=/.888.com/gfwlist -server=/.888poker.com/127.0.0.1#5335 -ipset=/.888poker.com/gfwlist -server=/.89-64.org/127.0.0.1#5335 -ipset=/.89-64.org/gfwlist -server=/.89.64.charter.constitutionalism.solutions/127.0.0.1#5335 -ipset=/.89.64.charter.constitutionalism.solutions/gfwlist -server=/.8news.com.tw/127.0.0.1#5335 -ipset=/.8news.com.tw/gfwlist -server=/.8z1.net/127.0.0.1#5335 -ipset=/.8z1.net/gfwlist -server=/.9001700.com/127.0.0.1#5335 -ipset=/.9001700.com/gfwlist -server=/.91porn.com/127.0.0.1#5335 -ipset=/.91porn.com/gfwlist -server=/.91vps.club/127.0.0.1#5335 -ipset=/.91vps.club/gfwlist -server=/.92ccav.com/127.0.0.1#5335 -ipset=/.92ccav.com/gfwlist -server=/.991.com/127.0.0.1#5335 -ipset=/.991.com/gfwlist -server=/.99btgc01.com/127.0.0.1#5335 -ipset=/.99btgc01.com/gfwlist -server=/.99cn.info/127.0.0.1#5335 -ipset=/.99cn.info/gfwlist -server=/.9bis.com/127.0.0.1#5335 -ipset=/.9bis.com/gfwlist -server=/.9bis.net/127.0.0.1#5335 -ipset=/.9bis.net/gfwlist -server=/.9gag.com/127.0.0.1#5335 -ipset=/.9gag.com/gfwlist -server=/.a-normal-day.com/127.0.0.1#5335 -ipset=/.a-normal-day.com/gfwlist -server=/.a248.e.akamai.net/127.0.0.1#5335 -ipset=/.a248.e.akamai.net/gfwlist -server=/.a5.com.ru/127.0.0.1#5335 -ipset=/.a5.com.ru/gfwlist -server=/.aamacau.com/127.0.0.1#5335 -ipset=/.aamacau.com/gfwlist -server=/.abc.com/127.0.0.1#5335 -ipset=/.abc.com/gfwlist -server=/.abc.net.au/127.0.0.1#5335 -ipset=/.abc.net.au/gfwlist -server=/.abc.pp.ru/127.0.0.1#5335 -ipset=/.abc.pp.ru/gfwlist -server=/.abc.xyz/127.0.0.1#5335 -ipset=/.abc.xyz/gfwlist -server=/.abchinese.com/127.0.0.1#5335 -ipset=/.abchinese.com/gfwlist -server=/.abclite.net/127.0.0.1#5335 -ipset=/.abclite.net/gfwlist -server=/.abebooks.com/127.0.0.1#5335 -ipset=/.abebooks.com/gfwlist -server=/.abematv.akamaized.net/127.0.0.1#5335 -ipset=/.abematv.akamaized.net/gfwlist -server=/.ablwang.com/127.0.0.1#5335 -ipset=/.ablwang.com/gfwlist -server=/.aboluowang.com/127.0.0.1#5335 -ipset=/.aboluowang.com/gfwlist -server=/.about.google/127.0.0.1#5335 -ipset=/.about.google/gfwlist -server=/.aboutgfw.com/127.0.0.1#5335 -ipset=/.aboutgfw.com/gfwlist -server=/.abs.edu/127.0.0.1#5335 -ipset=/.abs.edu/gfwlist -server=/.ac.jiruan.net/127.0.0.1#5335 -ipset=/.ac.jiruan.net/gfwlist -server=/.accim.org/127.0.0.1#5335 -ipset=/.accim.org/gfwlist -server=/.aceros-de-hispania.com/127.0.0.1#5335 -ipset=/.aceros-de-hispania.com/gfwlist -server=/.acevpn.com/127.0.0.1#5335 -ipset=/.acevpn.com/gfwlist -server=/.acg18.me/127.0.0.1#5335 -ipset=/.acg18.me/gfwlist -server=/.acgkj.com/127.0.0.1#5335 -ipset=/.acgkj.com/gfwlist -server=/.acmedia365.com/127.0.0.1#5335 -ipset=/.acmedia365.com/gfwlist -server=/.acmetoy.com/127.0.0.1#5335 -ipset=/.acmetoy.com/gfwlist -server=/.acnw.com.au/127.0.0.1#5335 -ipset=/.acnw.com.au/gfwlist -server=/.actfortibet.org/127.0.0.1#5335 -ipset=/.actfortibet.org/gfwlist -server=/.actimes.com.au/127.0.0.1#5335 -ipset=/.actimes.com.au/gfwlist -server=/.activpn.com/127.0.0.1#5335 -ipset=/.activpn.com/gfwlist -server=/.aculo.us/127.0.0.1#5335 -ipset=/.aculo.us/gfwlist -server=/.adcex.com/127.0.0.1#5335 -ipset=/.adcex.com/gfwlist -server=/.addictedtocoffee.de/127.0.0.1#5335 -ipset=/.addictedtocoffee.de/gfwlist -server=/.admin.recaptcha.net/127.0.0.1#5335 -ipset=/.admin.recaptcha.net/gfwlist -server=/.admob.com/127.0.0.1#5335 -ipset=/.admob.com/gfwlist -server=/.adpl.org.hk/127.0.0.1#5335 -ipset=/.adpl.org.hk/gfwlist -server=/.ads-twitter.com/127.0.0.1#5335 -ipset=/.ads-twitter.com/gfwlist -server=/.adsense.com/127.0.0.1#5335 -ipset=/.adsense.com/gfwlist -server=/.adult-sex-games.com/127.0.0.1#5335 -ipset=/.adult-sex-games.com/gfwlist -server=/.adultfriendfinder.com/127.0.0.1#5335 -ipset=/.adultfriendfinder.com/gfwlist -server=/.advanscene.com/127.0.0.1#5335 -ipset=/.advanscene.com/gfwlist -server=/.advertfan.com/127.0.0.1#5335 -ipset=/.advertfan.com/gfwlist -server=/.ae.hao123.com/127.0.0.1#5335 -ipset=/.ae.hao123.com/gfwlist -server=/.ae.org/127.0.0.1#5335 -ipset=/.ae.org/gfwlist -server=/.aenhancers.com/127.0.0.1#5335 -ipset=/.aenhancers.com/gfwlist -server=/.aex.com/127.0.0.1#5335 -ipset=/.aex.com/gfwlist -server=/.af.mil/127.0.0.1#5335 -ipset=/.af.mil/gfwlist -server=/.afantibbs.com/127.0.0.1#5335 -ipset=/.afantibbs.com/gfwlist -server=/.agnesb.fr/127.0.0.1#5335 -ipset=/.agnesb.fr/gfwlist -server=/.agoogleaday.com/127.0.0.1#5335 -ipset=/.agoogleaday.com/gfwlist -server=/.agro.hk/127.0.0.1#5335 -ipset=/.agro.hk/gfwlist -server=/.ai-kan.net/127.0.0.1#5335 -ipset=/.ai-kan.net/gfwlist -server=/.ai-wen.net/127.0.0.1#5335 -ipset=/.ai-wen.net/gfwlist -server=/.ai.google/127.0.0.1#5335 -ipset=/.ai.google/gfwlist -server=/.aiph.net/127.0.0.1#5335 -ipset=/.aiph.net/gfwlist -server=/.airasia.com/127.0.0.1#5335 -ipset=/.airasia.com/gfwlist -server=/.airconsole.com/127.0.0.1#5335 -ipset=/.airconsole.com/gfwlist -server=/.airvpn.org/127.0.0.1#5335 -ipset=/.airvpn.org/gfwlist -server=/.aisex.com/127.0.0.1#5335 -ipset=/.aisex.com/gfwlist -server=/.aiss.anws.gov.tw/127.0.0.1#5335 -ipset=/.aiss.anws.gov.tw/gfwlist -server=/.ait.org.tw/127.0.0.1#5335 -ipset=/.ait.org.tw/gfwlist -server=/.aiweiwei.com/127.0.0.1#5335 -ipset=/.aiweiwei.com/gfwlist -server=/.aiweiweiblog.com/127.0.0.1#5335 -ipset=/.aiweiweiblog.com/gfwlist -server=/.akiba-online.com/127.0.0.1#5335 -ipset=/.akiba-online.com/gfwlist -server=/.akiba-web.com/127.0.0.1#5335 -ipset=/.akiba-web.com/gfwlist -server=/.akow.org/127.0.0.1#5335 -ipset=/.akow.org/gfwlist -server=/.al-islam.com/127.0.0.1#5335 -ipset=/.al-islam.com/gfwlist -server=/.al-qimmah.net/127.0.0.1#5335 -ipset=/.al-qimmah.net/gfwlist -server=/.alabout.com/127.0.0.1#5335 -ipset=/.alabout.com/gfwlist -server=/.alanhou.com/127.0.0.1#5335 -ipset=/.alanhou.com/gfwlist -server=/.alarab.qa/127.0.0.1#5335 -ipset=/.alarab.qa/gfwlist -server=/.alasbarricadas.org/127.0.0.1#5335 -ipset=/.alasbarricadas.org/gfwlist -server=/.alexlur.org/127.0.0.1#5335 -ipset=/.alexlur.org/gfwlist -server=/.alforattv.net/127.0.0.1#5335 -ipset=/.alforattv.net/gfwlist -server=/.alhayat.com/127.0.0.1#5335 -ipset=/.alhayat.com/gfwlist -server=/.alicejapan.co.jp/127.0.0.1#5335 -ipset=/.alicejapan.co.jp/gfwlist -server=/.aliengu.com/127.0.0.1#5335 -ipset=/.aliengu.com/gfwlist -server=/.alkasir.com/127.0.0.1#5335 -ipset=/.alkasir.com/gfwlist -server=/.all4mom.org/127.0.0.1#5335 -ipset=/.all4mom.org/gfwlist -server=/.allcoin.com/127.0.0.1#5335 -ipset=/.allcoin.com/gfwlist -server=/.allconnected.co/127.0.0.1#5335 -ipset=/.allconnected.co/gfwlist -server=/.alldrawnsex.com/127.0.0.1#5335 -ipset=/.alldrawnsex.com/gfwlist -server=/.allervpn.com/127.0.0.1#5335 -ipset=/.allervpn.com/gfwlist -server=/.allfinegirls.com/127.0.0.1#5335 -ipset=/.allfinegirls.com/gfwlist -server=/.allgirlmassage.com/127.0.0.1#5335 -ipset=/.allgirlmassage.com/gfwlist -server=/.allgirlsallowed.org/127.0.0.1#5335 -ipset=/.allgirlsallowed.org/gfwlist -server=/.allgravure.com/127.0.0.1#5335 -ipset=/.allgravure.com/gfwlist -server=/.alliance.org.hk/127.0.0.1#5335 -ipset=/.alliance.org.hk/gfwlist -server=/.allinfa.com/127.0.0.1#5335 -ipset=/.allinfa.com/gfwlist -server=/.alljackpotscasino.com/127.0.0.1#5335 -ipset=/.alljackpotscasino.com/gfwlist -server=/.allmovie.com/127.0.0.1#5335 -ipset=/.allmovie.com/gfwlist -server=/.allowed.org/127.0.0.1#5335 -ipset=/.allowed.org/gfwlist -server=/.almasdarnews.com/127.0.0.1#5335 -ipset=/.almasdarnews.com/gfwlist -server=/.almostmy.com/127.0.0.1#5335 -ipset=/.almostmy.com/gfwlist -server=/.alphaporno.com/127.0.0.1#5335 -ipset=/.alphaporno.com/gfwlist -server=/.alternate-tools.com/127.0.0.1#5335 -ipset=/.alternate-tools.com/gfwlist -server=/.altrec.com/127.0.0.1#5335 -ipset=/.altrec.com/gfwlist -server=/.alvinalexander.com/127.0.0.1#5335 -ipset=/.alvinalexander.com/gfwlist -server=/.alwaysdata.com/127.0.0.1#5335 -ipset=/.alwaysdata.com/gfwlist -server=/.alwaysdata.net/127.0.0.1#5335 -ipset=/.alwaysdata.net/gfwlist -server=/.alwaysvpn.com/127.0.0.1#5335 -ipset=/.alwaysvpn.com/gfwlist -server=/.am730.com.hk/127.0.0.1#5335 -ipset=/.am730.com.hk/gfwlist -server=/.amazon.co.jp/127.0.0.1#5335 -ipset=/.amazon.co.jp/gfwlist -server=/.ameblo.jp/127.0.0.1#5335 -ipset=/.ameblo.jp/gfwlist -server=/.americangreencard.com/127.0.0.1#5335 -ipset=/.americangreencard.com/gfwlist -server=/.americanunfinished.com/127.0.0.1#5335 -ipset=/.americanunfinished.com/gfwlist -server=/.amiblockedornot.com/127.0.0.1#5335 -ipset=/.amiblockedornot.com/gfwlist -server=/.amigobbs.net/127.0.0.1#5335 -ipset=/.amigobbs.net/gfwlist -server=/.amitabhafoundation.us/127.0.0.1#5335 -ipset=/.amitabhafoundation.us/gfwlist -server=/.amnesty.org/127.0.0.1#5335 -ipset=/.amnesty.org/gfwlist -server=/.amnesty.tw/127.0.0.1#5335 -ipset=/.amnesty.tw/gfwlist -server=/.amnestyusa.org/127.0.0.1#5335 -ipset=/.amnestyusa.org/gfwlist -server=/.amnyemachen.org/127.0.0.1#5335 -ipset=/.amnyemachen.org/gfwlist -server=/.amoiist.com/127.0.0.1#5335 -ipset=/.amoiist.com/gfwlist -server=/.ampproject.org/127.0.0.1#5335 -ipset=/.ampproject.org/gfwlist -server=/.amtb-taipei.org/127.0.0.1#5335 -ipset=/.amtb-taipei.org/gfwlist -server=/.anchorfree.com/127.0.0.1#5335 -ipset=/.anchorfree.com/gfwlist -server=/.ancsconf.org/127.0.0.1#5335 -ipset=/.ancsconf.org/gfwlist -server=/.andfaraway.net/127.0.0.1#5335 -ipset=/.andfaraway.net/gfwlist -server=/.android-x86.org/127.0.0.1#5335 -ipset=/.android-x86.org/gfwlist -server=/.android.com/127.0.0.1#5335 -ipset=/.android.com/gfwlist -server=/.androidify.com/127.0.0.1#5335 -ipset=/.androidify.com/gfwlist -server=/.androidtv.com/127.0.0.1#5335 -ipset=/.androidtv.com/gfwlist -server=/.andygod.com/127.0.0.1#5335 -ipset=/.andygod.com/gfwlist -server=/.angela-merkel.de/127.0.0.1#5335 -ipset=/.angela-merkel.de/gfwlist -server=/.angola.org/127.0.0.1#5335 -ipset=/.angola.org/gfwlist -server=/.angularjs.org/127.0.0.1#5335 -ipset=/.angularjs.org/gfwlist -server=/.animecrazy.net/127.0.0.1#5335 -ipset=/.animecrazy.net/gfwlist -server=/.animeshippuuden.com/127.0.0.1#5335 -ipset=/.animeshippuuden.com/gfwlist -server=/.aniscartujo.com/127.0.0.1#5335 -ipset=/.aniscartujo.com/gfwlist -server=/.anobii.com/127.0.0.1#5335 -ipset=/.anobii.com/gfwlist -server=/.anontext.com/127.0.0.1#5335 -ipset=/.anontext.com/gfwlist -server=/.anonymise.us/127.0.0.1#5335 -ipset=/.anonymise.us/gfwlist -server=/.anonymitynetwork.com/127.0.0.1#5335 -ipset=/.anonymitynetwork.com/gfwlist -server=/.anonymizer.com/127.0.0.1#5335 -ipset=/.anonymizer.com/gfwlist -server=/.anonymouse.org/127.0.0.1#5335 -ipset=/.anonymouse.org/gfwlist -server=/.anpopo.com/127.0.0.1#5335 -ipset=/.anpopo.com/gfwlist -server=/.answering-islam.org/127.0.0.1#5335 -ipset=/.answering-islam.org/gfwlist -server=/.anthonycalzadilla.com/127.0.0.1#5335 -ipset=/.anthonycalzadilla.com/gfwlist -server=/.anti1984.com/127.0.0.1#5335 -ipset=/.anti1984.com/gfwlist -server=/.antichristendom.com/127.0.0.1#5335 -ipset=/.antichristendom.com/gfwlist -server=/.antiwave.net/127.0.0.1#5335 -ipset=/.antiwave.net/gfwlist -server=/.anyporn.com/127.0.0.1#5335 -ipset=/.anyporn.com/gfwlist -server=/.anysex.com/127.0.0.1#5335 -ipset=/.anysex.com/gfwlist -server=/.ao3.org/127.0.0.1#5335 -ipset=/.ao3.org/gfwlist -server=/.aobo.com.au/127.0.0.1#5335 -ipset=/.aobo.com.au/gfwlist -server=/.aofriend.com/127.0.0.1#5335 -ipset=/.aofriend.com/gfwlist -server=/.aojiao.org/127.0.0.1#5335 -ipset=/.aojiao.org/gfwlist -server=/.aolchannels.aol.com/127.0.0.1#5335 -ipset=/.aolchannels.aol.com/gfwlist -server=/.aomiwang.com/127.0.0.1#5335 -ipset=/.aomiwang.com/gfwlist -server=/.apartmentratings.com/127.0.0.1#5335 -ipset=/.apartmentratings.com/gfwlist -server=/.apartments.com/127.0.0.1#5335 -ipset=/.apartments.com/gfwlist -server=/.apetube.com/127.0.0.1#5335 -ipset=/.apetube.com/gfwlist -server=/.api-secure.recaptcha.net/127.0.0.1#5335 -ipset=/.api-secure.recaptcha.net/gfwlist -server=/.api-verify.recaptcha.net/127.0.0.1#5335 -ipset=/.api-verify.recaptcha.net/gfwlist -server=/.api.ai/127.0.0.1#5335 -ipset=/.api.ai/gfwlist -server=/.api.dropboxapi.com/127.0.0.1#5335 -ipset=/.api.dropboxapi.com/gfwlist -server=/.api.linksalpha.com/127.0.0.1#5335 -ipset=/.api.linksalpha.com/gfwlist -server=/.api.proxlet.com/127.0.0.1#5335 -ipset=/.api.proxlet.com/gfwlist -server=/.api.pureapk.com/127.0.0.1#5335 -ipset=/.api.pureapk.com/gfwlist -server=/.api.recaptcha.net/127.0.0.1#5335 -ipset=/.api.recaptcha.net/gfwlist -server=/.apiary.io/127.0.0.1#5335 -ipset=/.apiary.io/gfwlist -server=/.apidocs.linksalpha.com/127.0.0.1#5335 -ipset=/.apidocs.linksalpha.com/gfwlist -server=/.apigee.com/127.0.0.1#5335 -ipset=/.apigee.com/gfwlist -server=/.apk-dl.com/127.0.0.1#5335 -ipset=/.apk-dl.com/gfwlist -server=/.apkcombo.com/127.0.0.1#5335 -ipset=/.apkcombo.com/gfwlist -server=/.apkmirror.com/127.0.0.1#5335 -ipset=/.apkmirror.com/gfwlist -server=/.apkplz.com/127.0.0.1#5335 -ipset=/.apkplz.com/gfwlist -server=/.apkpure.com/127.0.0.1#5335 -ipset=/.apkpure.com/gfwlist -server=/.aplusvpn.com/127.0.0.1#5335 -ipset=/.aplusvpn.com/gfwlist -server=/.app.box.com/127.0.0.1#5335 -ipset=/.app.box.com/gfwlist -server=/.app.heywire.com/127.0.0.1#5335 -ipset=/.app.heywire.com/gfwlist -server=/.app.smartmailcloud.com/127.0.0.1#5335 -ipset=/.app.smartmailcloud.com/gfwlist -server=/.app.tutanota.com/127.0.0.1#5335 -ipset=/.app.tutanota.com/gfwlist -server=/.appledaily.com/127.0.0.1#5335 -ipset=/.appledaily.com/gfwlist -server=/.appshopper.com/127.0.0.1#5335 -ipset=/.appshopper.com/gfwlist -server=/.appsocks.net/127.0.0.1#5335 -ipset=/.appsocks.net/gfwlist -server=/.appspot.com/127.0.0.1#5335 -ipset=/.appspot.com/gfwlist -server=/.appsto.re/127.0.0.1#5335 -ipset=/.appsto.re/gfwlist -server=/.aptoide.com/127.0.0.1#5335 -ipset=/.aptoide.com/gfwlist -server=/.ar.hao123.com/127.0.0.1#5335 -ipset=/.ar.hao123.com/gfwlist -server=/.archive.fo/127.0.0.1#5335 -ipset=/.archive.fo/gfwlist -server=/.archive.is/127.0.0.1#5335 -ipset=/.archive.is/gfwlist -server=/.archive.li/127.0.0.1#5335 -ipset=/.archive.li/gfwlist -server=/.archive.org/127.0.0.1#5335 -ipset=/.archive.org/gfwlist -server=/.archive.ph/127.0.0.1#5335 -ipset=/.archive.ph/gfwlist -server=/.archive.today/127.0.0.1#5335 -ipset=/.archive.today/gfwlist -server=/.archiveofourown.com/127.0.0.1#5335 -ipset=/.archiveofourown.com/gfwlist -server=/.archiveofourown.org/127.0.0.1#5335 -ipset=/.archiveofourown.org/gfwlist -server=/.archives.gov/127.0.0.1#5335 -ipset=/.archives.gov/gfwlist -server=/.arctosia.com/127.0.0.1#5335 -ipset=/.arctosia.com/gfwlist -server=/.areca-backup.org/127.0.0.1#5335 -ipset=/.areca-backup.org/gfwlist -server=/.arena.taipei/127.0.0.1#5335 -ipset=/.arena.taipei/gfwlist -server=/.arethusa.su/127.0.0.1#5335 -ipset=/.arethusa.su/gfwlist -server=/.arlingtoncemetery.mil/127.0.0.1#5335 -ipset=/.arlingtoncemetery.mil/gfwlist -server=/.army.mil/127.0.0.1#5335 -ipset=/.army.mil/gfwlist -server=/.art4tibet1998.org/127.0.0.1#5335 -ipset=/.art4tibet1998.org/gfwlist -server=/.arte.tv/127.0.0.1#5335 -ipset=/.arte.tv/gfwlist -server=/.artofpeacefoundation.org/127.0.0.1#5335 -ipset=/.artofpeacefoundation.org/gfwlist -server=/.artstation.com/127.0.0.1#5335 -ipset=/.artstation.com/gfwlist -server=/.artsy.net/127.0.0.1#5335 -ipset=/.artsy.net/gfwlist -server=/.asacp.org/127.0.0.1#5335 -ipset=/.asacp.org/gfwlist -server=/.asg.to/127.0.0.1#5335 -ipset=/.asg.to/gfwlist -server=/.asia-gaming.com/127.0.0.1#5335 -ipset=/.asia-gaming.com/gfwlist -server=/.asiaharvest.org/127.0.0.1#5335 -ipset=/.asiaharvest.org/gfwlist -server=/.asianews.it/127.0.0.1#5335 -ipset=/.asianews.it/gfwlist -server=/.asiansexdiary.com/127.0.0.1#5335 -ipset=/.asiansexdiary.com/gfwlist -server=/.asianspiss.com/127.0.0.1#5335 -ipset=/.asianspiss.com/gfwlist -server=/.asianwomensfilm.de/127.0.0.1#5335 -ipset=/.asianwomensfilm.de/gfwlist -server=/.asiatgp.com/127.0.0.1#5335 -ipset=/.asiatgp.com/gfwlist -server=/.asiatoday.us/127.0.0.1#5335 -ipset=/.asiatoday.us/gfwlist -server=/.askstudent.com/127.0.0.1#5335 -ipset=/.askstudent.com/gfwlist -server=/.askynz.net/127.0.0.1#5335 -ipset=/.askynz.net/gfwlist -server=/.assembla.com/127.0.0.1#5335 -ipset=/.assembla.com/gfwlist -server=/.assets.bwbx.io/127.0.0.1#5335 -ipset=/.assets.bwbx.io/gfwlist -server=/.assimp.org/127.0.0.1#5335 -ipset=/.assimp.org/gfwlist -server=/.astrill.com/127.0.0.1#5335 -ipset=/.astrill.com/gfwlist -server=/.atc.org.au/127.0.0.1#5335 -ipset=/.atc.org.au/gfwlist -server=/.atchinese.com/127.0.0.1#5335 -ipset=/.atchinese.com/gfwlist -server=/.atdmt.com/127.0.0.1#5335 -ipset=/.atdmt.com/gfwlist -server=/.atgfw.org/127.0.0.1#5335 -ipset=/.atgfw.org/gfwlist -server=/.athenaeizou.com/127.0.0.1#5335 -ipset=/.athenaeizou.com/gfwlist -server=/.atlaspost.com/127.0.0.1#5335 -ipset=/.atlaspost.com/gfwlist -server=/.atnext.com/127.0.0.1#5335 -ipset=/.atnext.com/gfwlist -server=/.authorizeddns.net/127.0.0.1#5335 -ipset=/.authorizeddns.net/gfwlist -server=/.authorizeddns.org/127.0.0.1#5335 -ipset=/.authorizeddns.org/gfwlist -server=/.authorizeddns.us/127.0.0.1#5335 -ipset=/.authorizeddns.us/gfwlist -server=/.autodraw.com/127.0.0.1#5335 -ipset=/.autodraw.com/gfwlist -server=/.av-e-body.com/127.0.0.1#5335 -ipset=/.av-e-body.com/gfwlist -server=/.av.com/127.0.0.1#5335 -ipset=/.av.com/gfwlist -server=/.av.movie/127.0.0.1#5335 -ipset=/.av.movie/gfwlist -server=/.av.nightlife141.com/127.0.0.1#5335 -ipset=/.av.nightlife141.com/gfwlist -server=/.avaaz.org/127.0.0.1#5335 -ipset=/.avaaz.org/gfwlist -server=/.avbody.tv/127.0.0.1#5335 -ipset=/.avbody.tv/gfwlist -server=/.avcity.tv/127.0.0.1#5335 -ipset=/.avcity.tv/gfwlist -server=/.avcool.com/127.0.0.1#5335 -ipset=/.avcool.com/gfwlist -server=/.avdb.in/127.0.0.1#5335 -ipset=/.avdb.in/gfwlist -server=/.avdb.tv/127.0.0.1#5335 -ipset=/.avdb.tv/gfwlist -server=/.avfantasy.com/127.0.0.1#5335 -ipset=/.avfantasy.com/gfwlist -server=/.avg.com/127.0.0.1#5335 -ipset=/.avg.com/gfwlist -server=/.avgle.com/127.0.0.1#5335 -ipset=/.avgle.com/gfwlist -server=/.avidemux.org/127.0.0.1#5335 -ipset=/.avidemux.org/gfwlist -server=/.avmo.pw/127.0.0.1#5335 -ipset=/.avmo.pw/gfwlist -server=/.avmoo.com/127.0.0.1#5335 -ipset=/.avmoo.com/gfwlist -server=/.avmoo.net/127.0.0.1#5335 -ipset=/.avmoo.net/gfwlist -server=/.avmoo.pw/127.0.0.1#5335 -ipset=/.avmoo.pw/gfwlist -server=/.avoision.com/127.0.0.1#5335 -ipset=/.avoision.com/gfwlist -server=/.avyahoo.com/127.0.0.1#5335 -ipset=/.avyahoo.com/gfwlist -server=/.axureformac.com/127.0.0.1#5335 -ipset=/.axureformac.com/gfwlist -server=/.azerbaycan.tv/127.0.0.1#5335 -ipset=/.azerbaycan.tv/gfwlist -server=/.azerimix.com/127.0.0.1#5335 -ipset=/.azerimix.com/gfwlist -server=/.azubu.tv/127.0.0.1#5335 -ipset=/.azubu.tv/gfwlist -server=/.b0ne.com/127.0.0.1#5335 -ipset=/.b0ne.com/gfwlist -server=/.babynet.com.hk/127.0.0.1#5335 -ipset=/.babynet.com.hk/gfwlist -server=/.backchina.com/127.0.0.1#5335 -ipset=/.backchina.com/gfwlist -server=/.backtotiananmen.com/127.0.0.1#5335 -ipset=/.backtotiananmen.com/gfwlist -server=/.badiucao.com/127.0.0.1#5335 -ipset=/.badiucao.com/gfwlist -server=/.badjojo.com/127.0.0.1#5335 -ipset=/.badjojo.com/gfwlist -server=/.badoo.com/127.0.0.1#5335 -ipset=/.badoo.com/gfwlist -server=/.baidu.jp/127.0.0.1#5335 -ipset=/.baidu.jp/gfwlist -server=/.baijie.org/127.0.0.1#5335 -ipset=/.baijie.org/gfwlist -server=/.bailandaily.com/127.0.0.1#5335 -ipset=/.bailandaily.com/gfwlist -server=/.baixing.me/127.0.0.1#5335 -ipset=/.baixing.me/gfwlist -server=/.bakgeekhome.tk/127.0.0.1#5335 -ipset=/.bakgeekhome.tk/gfwlist -server=/.banana-vpn.com/127.0.0.1#5335 -ipset=/.banana-vpn.com/gfwlist -server=/.band.us/127.0.0.1#5335 -ipset=/.band.us/gfwlist -server=/.bandwagonhost.com/127.0.0.1#5335 -ipset=/.bandwagonhost.com/gfwlist -server=/.bangbrosnetwork.com/127.0.0.1#5335 -ipset=/.bangbrosnetwork.com/gfwlist -server=/.bangchen.net/127.0.0.1#5335 -ipset=/.bangchen.net/gfwlist -server=/.bangdream.space/127.0.0.1#5335 -ipset=/.bangdream.space/gfwlist -server=/.bangyoulater.com/127.0.0.1#5335 -ipset=/.bangyoulater.com/gfwlist -server=/.bankmobilevibe.com/127.0.0.1#5335 -ipset=/.bankmobilevibe.com/gfwlist -server=/.bannedbook.org/127.0.0.1#5335 -ipset=/.bannedbook.org/gfwlist -server=/.bannednews.org/127.0.0.1#5335 -ipset=/.bannednews.org/gfwlist -server=/.banorte.com/127.0.0.1#5335 -ipset=/.banorte.com/gfwlist -server=/.baramangaonline.com/127.0.0.1#5335 -ipset=/.baramangaonline.com/gfwlist -server=/.barenakedislam.com/127.0.0.1#5335 -ipset=/.barenakedislam.com/gfwlist -server=/.barnabu.co.uk/127.0.0.1#5335 -ipset=/.barnabu.co.uk/gfwlist -server=/.barton.de/127.0.0.1#5335 -ipset=/.barton.de/gfwlist -server=/.bartvpn.com/127.0.0.1#5335 -ipset=/.bartvpn.com/gfwlist -server=/.bash-hackers.org/127.0.0.1#5335 -ipset=/.bash-hackers.org/gfwlist -server=/.bastillepost.com/127.0.0.1#5335 -ipset=/.bastillepost.com/gfwlist -server=/.bayvoice.net/127.0.0.1#5335 -ipset=/.bayvoice.net/gfwlist -server=/.bb-chat.tv/127.0.0.1#5335 -ipset=/.bb-chat.tv/gfwlist -server=/.bbc.co.uk/127.0.0.1#5335 -ipset=/.bbc.co.uk/gfwlist -server=/.bbc.com/127.0.0.1#5335 -ipset=/.bbc.com/gfwlist -server=/.bbc.in/127.0.0.1#5335 -ipset=/.bbc.in/gfwlist -server=/.bbcchinese.com/127.0.0.1#5335 -ipset=/.bbcchinese.com/gfwlist -server=/.bbchat.tv/127.0.0.1#5335 -ipset=/.bbchat.tv/gfwlist -server=/.bbci.co.uk/127.0.0.1#5335 -ipset=/.bbci.co.uk/gfwlist -server=/.bbg.gov/127.0.0.1#5335 -ipset=/.bbg.gov/gfwlist -server=/.bbnradio.org/127.0.0.1#5335 -ipset=/.bbnradio.org/gfwlist -server=/.bbs-tw.com/127.0.0.1#5335 -ipset=/.bbs-tw.com/gfwlist -server=/.bbs.brockbbs.com/127.0.0.1#5335 -ipset=/.bbs.brockbbs.com/gfwlist -server=/.bbs.ecstart.com/127.0.0.1#5335 -ipset=/.bbs.ecstart.com/gfwlist -server=/.bbs.hasi.wang/127.0.0.1#5335 -ipset=/.bbs.hasi.wang/gfwlist -server=/.bbs.huasing.org/127.0.0.1#5335 -ipset=/.bbs.huasing.org/gfwlist -server=/.bbs.junglobal.net/127.0.0.1#5335 -ipset=/.bbs.junglobal.net/gfwlist -server=/.bbs.kimy.com.tw/127.0.0.1#5335 -ipset=/.bbs.kimy.com.tw/gfwlist -server=/.bbs.mikocon.com/127.0.0.1#5335 -ipset=/.bbs.mikocon.com/gfwlist -server=/.bbs.morbell.com/127.0.0.1#5335 -ipset=/.bbs.morbell.com/gfwlist -server=/.bbs.mychat.to/127.0.0.1#5335 -ipset=/.bbs.mychat.to/gfwlist -server=/.bbs.netbig.com/127.0.0.1#5335 -ipset=/.bbs.netbig.com/gfwlist -server=/.bbs.ozchinese.com/127.0.0.1#5335 -ipset=/.bbs.ozchinese.com/gfwlist -server=/.bbs.qmzdd.com/127.0.0.1#5335 -ipset=/.bbs.qmzdd.com/gfwlist -server=/.bbs.skykiwi.com/127.0.0.1#5335 -ipset=/.bbs.skykiwi.com/gfwlist -server=/.bbs.sou-tong.org/127.0.0.1#5335 -ipset=/.bbs.sou-tong.org/gfwlist -server=/.bbs.tuitui.info/127.0.0.1#5335 -ipset=/.bbs.tuitui.info/gfwlist -server=/.bbsfeed.com/127.0.0.1#5335 -ipset=/.bbsfeed.com/gfwlist -server=/.bbsland.com/127.0.0.1#5335 -ipset=/.bbsland.com/gfwlist -server=/.bbsmo.com/127.0.0.1#5335 -ipset=/.bbsmo.com/gfwlist -server=/.bbsone.com/127.0.0.1#5335 -ipset=/.bbsone.com/gfwlist -server=/.bbtoystore.com/127.0.0.1#5335 -ipset=/.bbtoystore.com/gfwlist -server=/.bcast.co.nz/127.0.0.1#5335 -ipset=/.bcast.co.nz/gfwlist -server=/.bcchinese.net/127.0.0.1#5335 -ipset=/.bcchinese.net/gfwlist -server=/.bcex.ca/127.0.0.1#5335 -ipset=/.bcex.ca/gfwlist -server=/.bcmorning.com/127.0.0.1#5335 -ipset=/.bcmorning.com/gfwlist -server=/.bdsmvideos.net/127.0.0.1#5335 -ipset=/.bdsmvideos.net/gfwlist -server=/.beaconevents.com/127.0.0.1#5335 -ipset=/.beaconevents.com/gfwlist -server=/.bebo.com/127.0.0.1#5335 -ipset=/.bebo.com/gfwlist -server=/.beeg.com/127.0.0.1#5335 -ipset=/.beeg.com/gfwlist -server=/.beevpn.com/127.0.0.1#5335 -ipset=/.beevpn.com/gfwlist -server=/.behance.net/127.0.0.1#5335 -ipset=/.behance.net/gfwlist -server=/.behindkink.com/127.0.0.1#5335 -ipset=/.behindkink.com/gfwlist -server=/.beijing1989.com/127.0.0.1#5335 -ipset=/.beijing1989.com/gfwlist -server=/.beijingspring.com/127.0.0.1#5335 -ipset=/.beijingspring.com/gfwlist -server=/.beijingzx.org/127.0.0.1#5335 -ipset=/.beijingzx.org/gfwlist -server=/.belamionline.com/127.0.0.1#5335 -ipset=/.belamionline.com/gfwlist -server=/.bell.wiki/127.0.0.1#5335 -ipset=/.bell.wiki/gfwlist -server=/.bemywife.cc/127.0.0.1#5335 -ipset=/.bemywife.cc/gfwlist -server=/.beric.me/127.0.0.1#5335 -ipset=/.beric.me/gfwlist -server=/.berlintwitterwall.com/127.0.0.1#5335 -ipset=/.berlintwitterwall.com/gfwlist -server=/.berm.co.nz/127.0.0.1#5335 -ipset=/.berm.co.nz/gfwlist -server=/.bestforchina.org/127.0.0.1#5335 -ipset=/.bestforchina.org/gfwlist -server=/.bestgore.com/127.0.0.1#5335 -ipset=/.bestgore.com/gfwlist -server=/.bestpornstardb.com/127.0.0.1#5335 -ipset=/.bestpornstardb.com/gfwlist -server=/.bestvpn.com/127.0.0.1#5335 -ipset=/.bestvpn.com/gfwlist -server=/.bestvpnanalysis.com/127.0.0.1#5335 -ipset=/.bestvpnanalysis.com/gfwlist -server=/.bestvpnserver.com/127.0.0.1#5335 -ipset=/.bestvpnserver.com/gfwlist -server=/.bestvpnservice.com/127.0.0.1#5335 -ipset=/.bestvpnservice.com/gfwlist -server=/.bestvpnusa.com/127.0.0.1#5335 -ipset=/.bestvpnusa.com/gfwlist -server=/.bet365.com/127.0.0.1#5335 -ipset=/.bet365.com/gfwlist -server=/.betfair.com/127.0.0.1#5335 -ipset=/.betfair.com/gfwlist -server=/.betternet.co/127.0.0.1#5335 -ipset=/.betternet.co/gfwlist -server=/.bettervpn.com/127.0.0.1#5335 -ipset=/.bettervpn.com/gfwlist -server=/.bettween.com/127.0.0.1#5335 -ipset=/.bettween.com/gfwlist -server=/.betvictor.com/127.0.0.1#5335 -ipset=/.betvictor.com/gfwlist -server=/.bewww.net/127.0.0.1#5335 -ipset=/.bewww.net/gfwlist -server=/.beyondfirewall.com/127.0.0.1#5335 -ipset=/.beyondfirewall.com/gfwlist -server=/.bfnn.org/127.0.0.1#5335 -ipset=/.bfnn.org/gfwlist -server=/.bfsh.hk/127.0.0.1#5335 -ipset=/.bfsh.hk/gfwlist -server=/.bgvpn.com/127.0.0.1#5335 -ipset=/.bgvpn.com/gfwlist -server=/.bianlei.com/127.0.0.1#5335 -ipset=/.bianlei.com/gfwlist -server=/.biantailajiao.com/127.0.0.1#5335 -ipset=/.biantailajiao.com/gfwlist -server=/.biantailajiao.in/127.0.0.1#5335 -ipset=/.biantailajiao.in/gfwlist -server=/.biblesforamerica.org/127.0.0.1#5335 -ipset=/.biblesforamerica.org/gfwlist -server=/.bibox.com/127.0.0.1#5335 -ipset=/.bibox.com/gfwlist -server=/.bic2011.org/127.0.0.1#5335 -ipset=/.bic2011.org/gfwlist -server=/.big.one/127.0.0.1#5335 -ipset=/.big.one/gfwlist -server=/.bigfools.com/127.0.0.1#5335 -ipset=/.bigfools.com/gfwlist -server=/.bigjapanesesex.com/127.0.0.1#5335 -ipset=/.bigjapanesesex.com/gfwlist -server=/.bigmoney.biz/127.0.0.1#5335 -ipset=/.bigmoney.biz/gfwlist -server=/.bignews.org/127.0.0.1#5335 -ipset=/.bignews.org/gfwlist -server=/.bigsound.org/127.0.0.1#5335 -ipset=/.bigsound.org/gfwlist -server=/.biliworld.com/127.0.0.1#5335 -ipset=/.biliworld.com/gfwlist -server=/.binance.com/127.0.0.1#5335 -ipset=/.binance.com/gfwlist -server=/.binux.me/127.0.0.1#5335 -ipset=/.binux.me/gfwlist -server=/.bipic.net/127.0.0.1#5335 -ipset=/.bipic.net/gfwlist -server=/.bird.so/127.0.0.1#5335 -ipset=/.bird.so/gfwlist -server=/.bit-z.com/127.0.0.1#5335 -ipset=/.bit-z.com/gfwlist -server=/.bit.do/127.0.0.1#5335 -ipset=/.bit.do/gfwlist -server=/.bit.ly/127.0.0.1#5335 -ipset=/.bit.ly/gfwlist -server=/.bitcointalk.org/127.0.0.1#5335 -ipset=/.bitcointalk.org/gfwlist -server=/.bitcoinworld.com/127.0.0.1#5335 -ipset=/.bitcoinworld.com/gfwlist -server=/.bitfinex.com/127.0.0.1#5335 -ipset=/.bitfinex.com/gfwlist -server=/.bithumb.com/127.0.0.1#5335 -ipset=/.bithumb.com/gfwlist -server=/.bitinka.com.ar/127.0.0.1#5335 -ipset=/.bitinka.com.ar/gfwlist -server=/.bitmex.com/127.0.0.1#5335 -ipset=/.bitmex.com/gfwlist -server=/.bitshare.com/127.0.0.1#5335 -ipset=/.bitshare.com/gfwlist -server=/.bitsnoop.com/127.0.0.1#5335 -ipset=/.bitsnoop.com/gfwlist -server=/.bitvise.com/127.0.0.1#5335 -ipset=/.bitvise.com/gfwlist -server=/.bizhat.com/127.0.0.1#5335 -ipset=/.bizhat.com/gfwlist -server=/.bjnewlife.org/127.0.0.1#5335 -ipset=/.bjnewlife.org/gfwlist -server=/.bjs.org/127.0.0.1#5335 -ipset=/.bjs.org/gfwlist -server=/.bjzc.org/127.0.0.1#5335 -ipset=/.bjzc.org/gfwlist -server=/.bl-doujinsouko.com/127.0.0.1#5335 -ipset=/.bl-doujinsouko.com/gfwlist -server=/.blacklogic.com/127.0.0.1#5335 -ipset=/.blacklogic.com/gfwlist -server=/.blackvpn.com/127.0.0.1#5335 -ipset=/.blackvpn.com/gfwlist -server=/.blewpass.com/127.0.0.1#5335 -ipset=/.blewpass.com/gfwlist -server=/.blinkx.com/127.0.0.1#5335 -ipset=/.blinkx.com/gfwlist -server=/.blinw.com/127.0.0.1#5335 -ipset=/.blinw.com/gfwlist -server=/.blip.tv/127.0.0.1#5335 -ipset=/.blip.tv/gfwlist -server=/.blockcn.com/127.0.0.1#5335 -ipset=/.blockcn.com/gfwlist -server=/.blockless.com/127.0.0.1#5335 -ipset=/.blockless.com/gfwlist -server=/.blog.calibre-ebook.com/127.0.0.1#5335 -ipset=/.blog.calibre-ebook.com/gfwlist -server=/.blog.cnyes.com/127.0.0.1#5335 -ipset=/.blog.cnyes.com/gfwlist -server=/.blog.de/127.0.0.1#5335 -ipset=/.blog.de/gfwlist -server=/.blog.exblog.co.jp/127.0.0.1#5335 -ipset=/.blog.exblog.co.jp/gfwlist -server=/.blog.excite.co.jp/127.0.0.1#5335 -ipset=/.blog.excite.co.jp/gfwlist -server=/.blog.expofutures.com/127.0.0.1#5335 -ipset=/.blog.expofutures.com/gfwlist -server=/.blog.fizzik.com/127.0.0.1#5335 -ipset=/.blog.fizzik.com/gfwlist -server=/.blog.foolsmountain.com/127.0.0.1#5335 -ipset=/.blog.foolsmountain.com/gfwlist -server=/.blog.fuckgfw233.org/127.0.0.1#5335 -ipset=/.blog.fuckgfw233.org/gfwlist -server=/.blog.google/127.0.0.1#5335 -ipset=/.blog.google/gfwlist -server=/.blog.inoreader.com/127.0.0.1#5335 -ipset=/.blog.inoreader.com/gfwlist -server=/.blog.jackjia.com/127.0.0.1#5335 -ipset=/.blog.jackjia.com/gfwlist -server=/.blog.jp/127.0.0.1#5335 -ipset=/.blog.jp/gfwlist -server=/.blog.kangye.org/127.0.0.1#5335 -ipset=/.blog.kangye.org/gfwlist -server=/.blog.lester850.info/127.0.0.1#5335 -ipset=/.blog.lester850.info/gfwlist -server=/.blog.martinoei.com/127.0.0.1#5335 -ipset=/.blog.martinoei.com/gfwlist -server=/.blog.pathtosharepoint.com/127.0.0.1#5335 -ipset=/.blog.pathtosharepoint.com/gfwlist -server=/.blog.pentalogic.net/127.0.0.1#5335 -ipset=/.blog.pentalogic.net/gfwlist -server=/.blog.sina.com.tw/127.0.0.1#5335 -ipset=/.blog.sina.com.tw/gfwlist -server=/.blog.sogoo.org/127.0.0.1#5335 -ipset=/.blog.sogoo.org/gfwlist -server=/.blog.soylent.com/127.0.0.1#5335 -ipset=/.blog.soylent.com/gfwlist -server=/.blog.taragana.com/127.0.0.1#5335 -ipset=/.blog.taragana.com/gfwlist -server=/.blog.tiney.com/127.0.0.1#5335 -ipset=/.blog.tiney.com/gfwlist -server=/.blog.workflow.is/127.0.0.1#5335 -ipset=/.blog.workflow.is/gfwlist -server=/.blog.xuite.net/127.0.0.1#5335 -ipset=/.blog.xuite.net/gfwlist -server=/.blog.youthwant.com.tw/127.0.0.1#5335 -ipset=/.blog.youthwant.com.tw/gfwlist -server=/.blogblog.com/127.0.0.1#5335 -ipset=/.blogblog.com/gfwlist -server=/.blogcatalog.com/127.0.0.1#5335 -ipset=/.blogcatalog.com/gfwlist -server=/.blogcity.me/127.0.0.1#5335 -ipset=/.blogcity.me/gfwlist -server=/.blogdns.org/127.0.0.1#5335 -ipset=/.blogdns.org/gfwlist -server=/.blogger.com/127.0.0.1#5335 -ipset=/.blogger.com/gfwlist -server=/.blogimg.jp/127.0.0.1#5335 -ipset=/.blogimg.jp/gfwlist -server=/.bloglines.com/127.0.0.1#5335 -ipset=/.bloglines.com/gfwlist -server=/.bloglovin.com/127.0.0.1#5335 -ipset=/.bloglovin.com/gfwlist -server=/.blogs.tampabay.com/127.0.0.1#5335 -ipset=/.blogs.tampabay.com/gfwlist -server=/.blogs.yahoo.co.jp/127.0.0.1#5335 -ipset=/.blogs.yahoo.co.jp/gfwlist -server=/.blogspot.com/127.0.0.1#5335 -ipset=/.blogspot.com/gfwlist -server=/.blogspot.hk/127.0.0.1#5335 -ipset=/.blogspot.hk/gfwlist -server=/.blogspot.jp/127.0.0.1#5335 -ipset=/.blogspot.jp/gfwlist -server=/.blogspot.tw/127.0.0.1#5335 -ipset=/.blogspot.tw/gfwlist -server=/.blogtd.net/127.0.0.1#5335 -ipset=/.blogtd.net/gfwlist -server=/.blogtd.org/127.0.0.1#5335 -ipset=/.blogtd.org/gfwlist -server=/.bloodshed.net/127.0.0.1#5335 -ipset=/.bloodshed.net/gfwlist -server=/.bloomberg.cn/127.0.0.1#5335 -ipset=/.bloomberg.cn/gfwlist -server=/.bloomberg.com/127.0.0.1#5335 -ipset=/.bloomberg.com/gfwlist -server=/.bloomberg.de/127.0.0.1#5335 -ipset=/.bloomberg.de/gfwlist -server=/.bloombergview.com/127.0.0.1#5335 -ipset=/.bloombergview.com/gfwlist -server=/.bloomfortune.com/127.0.0.1#5335 -ipset=/.bloomfortune.com/gfwlist -server=/.blueangellive.com/127.0.0.1#5335 -ipset=/.blueangellive.com/gfwlist -server=/.bmfinn.com/127.0.0.1#5335 -ipset=/.bmfinn.com/gfwlist -server=/.bnews.co/127.0.0.1#5335 -ipset=/.bnews.co/gfwlist -server=/.bnn.co/127.0.0.1#5335 -ipset=/.bnn.co/gfwlist -server=/.bnrmetal.com/127.0.0.1#5335 -ipset=/.bnrmetal.com/gfwlist -server=/.boardreader.com/127.0.0.1#5335 -ipset=/.boardreader.com/gfwlist -server=/.bod.asia/127.0.0.1#5335 -ipset=/.bod.asia/gfwlist -server=/.bodog88.com/127.0.0.1#5335 -ipset=/.bodog88.com/gfwlist -server=/.bolehvpn.net/127.0.0.1#5335 -ipset=/.bolehvpn.net/gfwlist -server=/.bolin.netfirms.com/127.0.0.1#5335 -ipset=/.bolin.netfirms.com/gfwlist -server=/.bonbonme.com/127.0.0.1#5335 -ipset=/.bonbonme.com/gfwlist -server=/.bonbonsex.com/127.0.0.1#5335 -ipset=/.bonbonsex.com/gfwlist -server=/.bonfoundation.org/127.0.0.1#5335 -ipset=/.bonfoundation.org/gfwlist -server=/.bongacams.com/127.0.0.1#5335 -ipset=/.bongacams.com/gfwlist -server=/.boobstagram.com/127.0.0.1#5335 -ipset=/.boobstagram.com/gfwlist -server=/.book.com.tw/127.0.0.1#5335 -ipset=/.book.com.tw/gfwlist -server=/.book.zi5.me/127.0.0.1#5335 -ipset=/.book.zi5.me/gfwlist -server=/.bookepub.com/127.0.0.1#5335 -ipset=/.bookepub.com/gfwlist -server=/.books.com.tw/127.0.0.1#5335 -ipset=/.books.com.tw/gfwlist -server=/.booktopia.com.au/127.0.0.1#5335 -ipset=/.booktopia.com.au/gfwlist -server=/.boomssr.com/127.0.0.1#5335 -ipset=/.boomssr.com/gfwlist -server=/.bot.nu/127.0.0.1#5335 -ipset=/.bot.nu/gfwlist -server=/.botanwang.com/127.0.0.1#5335 -ipset=/.botanwang.com/gfwlist -server=/.bowenpress.com/127.0.0.1#5335 -ipset=/.bowenpress.com/gfwlist -server=/.boxpn.com/127.0.0.1#5335 -ipset=/.boxpn.com/gfwlist -server=/.boxun.com/127.0.0.1#5335 -ipset=/.boxun.com/gfwlist -server=/.boxun.tv/127.0.0.1#5335 -ipset=/.boxun.tv/gfwlist -server=/.boxunblog.com/127.0.0.1#5335 -ipset=/.boxunblog.com/gfwlist -server=/.boxunclub.com/127.0.0.1#5335 -ipset=/.boxunclub.com/gfwlist -server=/.boyangu.com/127.0.0.1#5335 -ipset=/.boyangu.com/gfwlist -server=/.boyfriendtv.com/127.0.0.1#5335 -ipset=/.boyfriendtv.com/gfwlist -server=/.boysfood.com/127.0.0.1#5335 -ipset=/.boysfood.com/gfwlist -server=/.boysmaster.com/127.0.0.1#5335 -ipset=/.boysmaster.com/gfwlist -server=/.br.hao123.com/127.0.0.1#5335 -ipset=/.br.hao123.com/gfwlist -server=/.br.st/127.0.0.1#5335 -ipset=/.br.st/gfwlist -server=/.brandonhutchinson.com/127.0.0.1#5335 -ipset=/.brandonhutchinson.com/gfwlist -server=/.braumeister.org/127.0.0.1#5335 -ipset=/.braumeister.org/gfwlist -server=/.bravotube.net/127.0.0.1#5335 -ipset=/.bravotube.net/gfwlist -server=/.brazzers.com/127.0.0.1#5335 -ipset=/.brazzers.com/gfwlist -server=/.break.com/127.0.0.1#5335 -ipset=/.break.com/gfwlist -server=/.breakgfw.com/127.0.0.1#5335 -ipset=/.breakgfw.com/gfwlist -server=/.breaking911.com/127.0.0.1#5335 -ipset=/.breaking911.com/gfwlist -server=/.breakingtweets.com/127.0.0.1#5335 -ipset=/.breakingtweets.com/gfwlist -server=/.breakwall.net/127.0.0.1#5335 -ipset=/.breakwall.net/gfwlist -server=/.brizzly.com/127.0.0.1#5335 -ipset=/.brizzly.com/gfwlist -server=/.brkmd.com/127.0.0.1#5335 -ipset=/.brkmd.com/gfwlist -server=/.broadbook.com/127.0.0.1#5335 -ipset=/.broadbook.com/gfwlist -server=/.broadpressinc.com/127.0.0.1#5335 -ipset=/.broadpressinc.com/gfwlist -server=/.brucewang.net/127.0.0.1#5335 -ipset=/.brucewang.net/gfwlist -server=/.brutaltgp.com/127.0.0.1#5335 -ipset=/.brutaltgp.com/gfwlist -server=/.bt2mag.com/127.0.0.1#5335 -ipset=/.bt2mag.com/gfwlist -server=/.bt95.com/127.0.0.1#5335 -ipset=/.bt95.com/gfwlist -server=/.btaia.com/127.0.0.1#5335 -ipset=/.btaia.com/gfwlist -server=/.btbtav.com/127.0.0.1#5335 -ipset=/.btbtav.com/gfwlist -server=/.btc98.com/127.0.0.1#5335 -ipset=/.btc98.com/gfwlist -server=/.btcbank.bank/127.0.0.1#5335 -ipset=/.btcbank.bank/gfwlist -server=/.btctrade.im/127.0.0.1#5335 -ipset=/.btctrade.im/gfwlist -server=/.btdigg.org/127.0.0.1#5335 -ipset=/.btdigg.org/gfwlist -server=/.btku.me/127.0.0.1#5335 -ipset=/.btku.me/gfwlist -server=/.btku.org/127.0.0.1#5335 -ipset=/.btku.org/gfwlist -server=/.btspread.com/127.0.0.1#5335 -ipset=/.btspread.com/gfwlist -server=/.btsynckeys.com/127.0.0.1#5335 -ipset=/.btsynckeys.com/gfwlist -server=/.budaedu.org/127.0.0.1#5335 -ipset=/.budaedu.org/gfwlist -server=/.buddhistchannel.tv/127.0.0.1#5335 -ipset=/.buddhistchannel.tv/gfwlist -server=/.buffered.com/127.0.0.1#5335 -ipset=/.buffered.com/gfwlist -server=/.bullog.org/127.0.0.1#5335 -ipset=/.bullog.org/gfwlist -server=/.bullogger.com/127.0.0.1#5335 -ipset=/.bullogger.com/gfwlist -server=/.bunbunhk.com/127.0.0.1#5335 -ipset=/.bunbunhk.com/gfwlist -server=/.busayari.com/127.0.0.1#5335 -ipset=/.busayari.com/gfwlist -server=/.businessinsider.com/127.0.0.1#5335 -ipset=/.businessinsider.com/gfwlist -server=/.businesstoday.com.tw/127.0.0.1#5335 -ipset=/.businesstoday.com.tw/gfwlist -server=/.businessweek.com/127.0.0.1#5335 -ipset=/.businessweek.com/gfwlist -server=/.busytrade.com/127.0.0.1#5335 -ipset=/.busytrade.com/gfwlist -server=/.buugaa.com/127.0.0.1#5335 -ipset=/.buugaa.com/gfwlist -server=/.buzzhand.com/127.0.0.1#5335 -ipset=/.buzzhand.com/gfwlist -server=/.buzzhand.net/127.0.0.1#5335 -ipset=/.buzzhand.net/gfwlist -server=/.buzzorange.com/127.0.0.1#5335 -ipset=/.buzzorange.com/gfwlist -server=/.bvpn.com/127.0.0.1#5335 -ipset=/.bvpn.com/gfwlist -server=/.bwgyhw.com/127.0.0.1#5335 -ipset=/.bwgyhw.com/gfwlist -server=/.bwh1.net/127.0.0.1#5335 -ipset=/.bwh1.net/gfwlist -server=/.bwsj.hk/127.0.0.1#5335 -ipset=/.bwsj.hk/gfwlist -server=/.bx.in.th/127.0.0.1#5335 -ipset=/.bx.in.th/gfwlist -server=/.bx.tl/127.0.0.1#5335 -ipset=/.bx.tl/gfwlist -server=/.bynet.co.il/127.0.0.1#5335 -ipset=/.bynet.co.il/gfwlist -server=/.c-est-simple.com/127.0.0.1#5335 -ipset=/.c-est-simple.com/gfwlist -server=/.c-spanvideo.org/127.0.0.1#5335 -ipset=/.c-spanvideo.org/gfwlist -server=/.c100tibet.org/127.0.0.1#5335 -ipset=/.c100tibet.org/gfwlist -server=/.c1522.mooo.com/127.0.0.1#5335 -ipset=/.c1522.mooo.com/gfwlist -server=/.c2cx.com/127.0.0.1#5335 -ipset=/.c2cx.com/gfwlist -server=/.cablegatesearch.net/127.0.0.1#5335 -ipset=/.cablegatesearch.net/gfwlist -server=/.cachinese.com/127.0.0.1#5335 -ipset=/.cachinese.com/gfwlist -server=/.cacnw.com/127.0.0.1#5335 -ipset=/.cacnw.com/gfwlist -server=/.cactusvpn.com/127.0.0.1#5335 -ipset=/.cactusvpn.com/gfwlist -server=/.cafepress.com/127.0.0.1#5335 -ipset=/.cafepress.com/gfwlist -server=/.cahr.org.tw/127.0.0.1#5335 -ipset=/.cahr.org.tw/gfwlist -server=/.caijinglengyan.com/127.0.0.1#5335 -ipset=/.caijinglengyan.com/gfwlist -server=/.calebelston.com/127.0.0.1#5335 -ipset=/.calebelston.com/gfwlist -server=/.calgarychinese.ca/127.0.0.1#5335 -ipset=/.calgarychinese.ca/gfwlist -server=/.calgarychinese.com/127.0.0.1#5335 -ipset=/.calgarychinese.com/gfwlist -server=/.calgarychinese.net/127.0.0.1#5335 -ipset=/.calgarychinese.net/gfwlist -server=/.cam4.com/127.0.0.1#5335 -ipset=/.cam4.com/gfwlist -server=/.cam4.jp/127.0.0.1#5335 -ipset=/.cam4.jp/gfwlist -server=/.cam4.sg/127.0.0.1#5335 -ipset=/.cam4.sg/gfwlist -server=/.camfrog.com/127.0.0.1#5335 -ipset=/.camfrog.com/gfwlist -server=/.campaignforuyghurs.org/127.0.0.1#5335 -ipset=/.campaignforuyghurs.org/gfwlist -server=/.cams.com/127.0.0.1#5335 -ipset=/.cams.com/gfwlist -server=/.cams.org.sg/127.0.0.1#5335 -ipset=/.cams.org.sg/gfwlist -server=/.canadameet.com/127.0.0.1#5335 -ipset=/.canadameet.com/gfwlist -server=/.canalporno.com/127.0.0.1#5335 -ipset=/.canalporno.com/gfwlist -server=/.canyu.org/127.0.0.1#5335 -ipset=/.canyu.org/gfwlist -server=/.cao.im/127.0.0.1#5335 -ipset=/.cao.im/gfwlist -server=/.caobian.info/127.0.0.1#5335 -ipset=/.caobian.info/gfwlist -server=/.caochangqing.com/127.0.0.1#5335 -ipset=/.caochangqing.com/gfwlist -server=/.cap.org.hk/127.0.0.1#5335 -ipset=/.cap.org.hk/gfwlist -server=/.carabinasypistolas.com/127.0.0.1#5335 -ipset=/.carabinasypistolas.com/gfwlist -server=/.cardinalkungfoundation.org/127.0.0.1#5335 -ipset=/.cardinalkungfoundation.org/gfwlist -server=/.carfax.com/127.0.0.1#5335 -ipset=/.carfax.com/gfwlist -server=/.cari.com.my/127.0.0.1#5335 -ipset=/.cari.com.my/gfwlist -server=/.caribbeancom.com/127.0.0.1#5335 -ipset=/.caribbeancom.com/gfwlist -server=/.carmotorshow.com/127.0.0.1#5335 -ipset=/.carmotorshow.com/gfwlist -server=/.cartoonmovement.com/127.0.0.1#5335 -ipset=/.cartoonmovement.com/gfwlist -server=/.casadeltibetbcn.org/127.0.0.1#5335 -ipset=/.casadeltibetbcn.org/gfwlist -server=/.casatibet.org.mx/127.0.0.1#5335 -ipset=/.casatibet.org.mx/gfwlist -server=/.casino.williamhill.com/127.0.0.1#5335 -ipset=/.casino.williamhill.com/gfwlist -server=/.casinobellini.com/127.0.0.1#5335 -ipset=/.casinobellini.com/gfwlist -server=/.casinoking.com/127.0.0.1#5335 -ipset=/.casinoking.com/gfwlist -server=/.casinoriva.com/127.0.0.1#5335 -ipset=/.casinoriva.com/gfwlist -server=/.castbox.fm/127.0.0.1#5335 -ipset=/.castbox.fm/gfwlist -server=/.catch22.net/127.0.0.1#5335 -ipset=/.catch22.net/gfwlist -server=/.catchgod.com/127.0.0.1#5335 -ipset=/.catchgod.com/gfwlist -server=/.catfightpayperview.xxx/127.0.0.1#5335 -ipset=/.catfightpayperview.xxx/gfwlist -server=/.catholic.org.hk/127.0.0.1#5335 -ipset=/.catholic.org.hk/gfwlist -server=/.catholic.org.tw/127.0.0.1#5335 -ipset=/.catholic.org.tw/gfwlist -server=/.cathvoice.org.tw/127.0.0.1#5335 -ipset=/.cathvoice.org.tw/gfwlist -server=/.cattt.com/127.0.0.1#5335 -ipset=/.cattt.com/gfwlist -server=/.cbc.ca/127.0.0.1#5335 -ipset=/.cbc.ca/gfwlist -server=/.cbs.ntu.edu.tw/127.0.0.1#5335 -ipset=/.cbs.ntu.edu.tw/gfwlist -server=/.cbtc.org.hk/127.0.0.1#5335 -ipset=/.cbtc.org.hk/gfwlist -server=/.cccat.cc/127.0.0.1#5335 -ipset=/.cccat.cc/gfwlist -server=/.cccat.co/127.0.0.1#5335 -ipset=/.cccat.co/gfwlist -server=/.ccdtr.org/127.0.0.1#5335 -ipset=/.ccdtr.org/gfwlist -server=/.cchere.com/127.0.0.1#5335 -ipset=/.cchere.com/gfwlist -server=/.ccim.org/127.0.0.1#5335 -ipset=/.ccim.org/gfwlist -server=/.cclife.ca/127.0.0.1#5335 -ipset=/.cclife.ca/gfwlist -server=/.cclife.org/127.0.0.1#5335 -ipset=/.cclife.org/gfwlist -server=/.cclifefl.org/127.0.0.1#5335 -ipset=/.cclifefl.org/gfwlist -server=/.ccthere.com/127.0.0.1#5335 -ipset=/.ccthere.com/gfwlist -server=/.ccthere.net/127.0.0.1#5335 -ipset=/.ccthere.net/gfwlist -server=/.cctmweb.net/127.0.0.1#5335 -ipset=/.cctmweb.net/gfwlist -server=/.ccue.ca/127.0.0.1#5335 -ipset=/.ccue.ca/gfwlist -server=/.ccue.com/127.0.0.1#5335 -ipset=/.ccue.com/gfwlist -server=/.ccvoice.ca/127.0.0.1#5335 -ipset=/.ccvoice.ca/gfwlist -server=/.ccw.org.tw/127.0.0.1#5335 -ipset=/.ccw.org.tw/gfwlist -server=/.cdbook.org/127.0.0.1#5335 -ipset=/.cdbook.org/gfwlist -server=/.cdcparty.com/127.0.0.1#5335 -ipset=/.cdcparty.com/gfwlist -server=/.cdef.org/127.0.0.1#5335 -ipset=/.cdef.org/gfwlist -server=/.cdig.info/127.0.0.1#5335 -ipset=/.cdig.info/gfwlist -server=/.cdjp.org/127.0.0.1#5335 -ipset=/.cdjp.org/gfwlist -server=/.cdn-images.mailchimp.com/127.0.0.1#5335 -ipset=/.cdn-images.mailchimp.com/gfwlist -server=/.cdn.assets.lfpcontent.com/127.0.0.1#5335 -ipset=/.cdn.assets.lfpcontent.com/gfwlist -server=/.cdn.helixstudios.net/127.0.0.1#5335 -ipset=/.cdn.helixstudios.net/gfwlist -server=/.cdn.printfriendly.com/127.0.0.1#5335 -ipset=/.cdn.printfriendly.com/gfwlist -server=/.cdn.seatguru.com/127.0.0.1#5335 -ipset=/.cdn.seatguru.com/gfwlist -server=/.cdn.softlayer.net/127.0.0.1#5335 -ipset=/.cdn.softlayer.net/gfwlist -server=/.cdn1.lp.saboom.com/127.0.0.1#5335 -ipset=/.cdn1.lp.saboom.com/gfwlist -server=/.cdnews.com.tw/127.0.0.1#5335 -ipset=/.cdnews.com.tw/gfwlist -server=/.cdninstagram.com/127.0.0.1#5335 -ipset=/.cdninstagram.com/gfwlist -server=/.cdp1989.org/127.0.0.1#5335 -ipset=/.cdp1989.org/gfwlist -server=/.cdp1998.org/127.0.0.1#5335 -ipset=/.cdp1998.org/gfwlist -server=/.cdp2006.org/127.0.0.1#5335 -ipset=/.cdp2006.org/gfwlist -server=/.cdpa.url.tw/127.0.0.1#5335 -ipset=/.cdpa.url.tw/gfwlist -server=/.cdpeu.org/127.0.0.1#5335 -ipset=/.cdpeu.org/gfwlist -server=/.cdpusa.org/127.0.0.1#5335 -ipset=/.cdpusa.org/gfwlist -server=/.cdpweb.org/127.0.0.1#5335 -ipset=/.cdpweb.org/gfwlist -server=/.cdpwu.org/127.0.0.1#5335 -ipset=/.cdpwu.org/gfwlist -server=/.cdw.com/127.0.0.1#5335 -ipset=/.cdw.com/gfwlist -server=/.cecc.gov/127.0.0.1#5335 -ipset=/.cecc.gov/gfwlist -server=/.cellulo.info/127.0.0.1#5335 -ipset=/.cellulo.info/gfwlist -server=/.cenews.eu/127.0.0.1#5335 -ipset=/.cenews.eu/gfwlist -server=/.centauro.com.br/127.0.0.1#5335 -ipset=/.centauro.com.br/gfwlist -server=/.centerforhumanreprod.com/127.0.0.1#5335 -ipset=/.centerforhumanreprod.com/gfwlist -server=/.centralnation.com/127.0.0.1#5335 -ipset=/.centralnation.com/gfwlist -server=/.centurys.net/127.0.0.1#5335 -ipset=/.centurys.net/gfwlist -server=/.certificate-transparency.org/127.0.0.1#5335 -ipset=/.certificate-transparency.org/gfwlist -server=/.certificate.revocationcheck.com/127.0.0.1#5335 -ipset=/.certificate.revocationcheck.com/gfwlist -server=/.cfhks.org.hk/127.0.0.1#5335 -ipset=/.cfhks.org.hk/gfwlist -server=/.cfos.de/127.0.0.1#5335 -ipset=/.cfos.de/gfwlist -server=/.cftfc.com/127.0.0.1#5335 -ipset=/.cftfc.com/gfwlist -server=/.cgdepot.org/127.0.0.1#5335 -ipset=/.cgdepot.org/gfwlist -server=/.cgst.edu/127.0.0.1#5335 -ipset=/.cgst.edu/gfwlist -server=/.ch.shvoong.com/127.0.0.1#5335 -ipset=/.ch.shvoong.com/gfwlist -server=/.change.org/127.0.0.1#5335 -ipset=/.change.org/gfwlist -server=/.changeip.name/127.0.0.1#5335 -ipset=/.changeip.name/gfwlist -server=/.changeip.net/127.0.0.1#5335 -ipset=/.changeip.net/gfwlist -server=/.changeip.org/127.0.0.1#5335 -ipset=/.changeip.org/gfwlist -server=/.changp.com/127.0.0.1#5335 -ipset=/.changp.com/gfwlist -server=/.changsa.net/127.0.0.1#5335 -ipset=/.changsa.net/gfwlist -server=/.chaoex.com/127.0.0.1#5335 -ipset=/.chaoex.com/gfwlist -server=/.chapm25.com/127.0.0.1#5335 -ipset=/.chapm25.com/gfwlist -server=/.chatnook.com/127.0.0.1#5335 -ipset=/.chatnook.com/gfwlist -server=/.chaturbate.com/127.0.0.1#5335 -ipset=/.chaturbate.com/gfwlist -server=/.chengmingmag.com/127.0.0.1#5335 -ipset=/.chengmingmag.com/gfwlist -server=/.chenguangcheng.com/127.0.0.1#5335 -ipset=/.chenguangcheng.com/gfwlist -server=/.chenpokong.com/127.0.0.1#5335 -ipset=/.chenpokong.com/gfwlist -server=/.chenpokong.net/127.0.0.1#5335 -ipset=/.chenpokong.net/gfwlist -server=/.chenshan20042005.wordpress.com/127.0.0.1#5335 -ipset=/.chenshan20042005.wordpress.com/gfwlist -server=/.cherrysave.com/127.0.0.1#5335 -ipset=/.cherrysave.com/gfwlist -server=/.chhongbi.org/127.0.0.1#5335 -ipset=/.chhongbi.org/gfwlist -server=/.chicagoncmtv.com/127.0.0.1#5335 -ipset=/.chicagoncmtv.com/gfwlist -server=/.china-mmm.jp.net/127.0.0.1#5335 -ipset=/.china-mmm.jp.net/gfwlist -server=/.china-mmm.net/127.0.0.1#5335 -ipset=/.china-mmm.net/gfwlist -server=/.china-mmm.sa.com/127.0.0.1#5335 -ipset=/.china-mmm.sa.com/gfwlist -server=/.china-review.com.ua/127.0.0.1#5335 -ipset=/.china-review.com.ua/gfwlist -server=/.china-week.com/127.0.0.1#5335 -ipset=/.china-week.com/gfwlist -server=/.china.hket.com/127.0.0.1#5335 -ipset=/.china.hket.com/gfwlist -server=/.china101.com/127.0.0.1#5335 -ipset=/.china101.com/gfwlist -server=/.china18.org/127.0.0.1#5335 -ipset=/.china18.org/gfwlist -server=/.china21.com/127.0.0.1#5335 -ipset=/.china21.com/gfwlist -server=/.china21.org/127.0.0.1#5335 -ipset=/.china21.org/gfwlist -server=/.china5000.us/127.0.0.1#5335 -ipset=/.china5000.us/gfwlist -server=/.chinaaffairs.org/127.0.0.1#5335 -ipset=/.chinaaffairs.org/gfwlist -server=/.chinaaid.me/127.0.0.1#5335 -ipset=/.chinaaid.me/gfwlist -server=/.chinaaid.net/127.0.0.1#5335 -ipset=/.chinaaid.net/gfwlist -server=/.chinaaid.org/127.0.0.1#5335 -ipset=/.chinaaid.org/gfwlist -server=/.chinaaid.us/127.0.0.1#5335 -ipset=/.chinaaid.us/gfwlist -server=/.chinachange.org/127.0.0.1#5335 -ipset=/.chinachange.org/gfwlist -server=/.chinachannel.hk/127.0.0.1#5335 -ipset=/.chinachannel.hk/gfwlist -server=/.chinacitynews.be/127.0.0.1#5335 -ipset=/.chinacitynews.be/gfwlist -server=/.chinacomments.org/127.0.0.1#5335 -ipset=/.chinacomments.org/gfwlist -server=/.chinadialogue.net/127.0.0.1#5335 -ipset=/.chinadialogue.net/gfwlist -server=/.chinadigitaltimes.net/127.0.0.1#5335 -ipset=/.chinadigitaltimes.net/gfwlist -server=/.chinaelections.org/127.0.0.1#5335 -ipset=/.chinaelections.org/gfwlist -server=/.chinaeweekly.com/127.0.0.1#5335 -ipset=/.chinaeweekly.com/gfwlist -server=/.chinafreepress.org/127.0.0.1#5335 -ipset=/.chinafreepress.org/gfwlist -server=/.chinagate.com/127.0.0.1#5335 -ipset=/.chinagate.com/gfwlist -server=/.chinageeks.org/127.0.0.1#5335 -ipset=/.chinageeks.org/gfwlist -server=/.chinagfw.org/127.0.0.1#5335 -ipset=/.chinagfw.org/gfwlist -server=/.chinagonet.com/127.0.0.1#5335 -ipset=/.chinagonet.com/gfwlist -server=/.chinagreenparty.org/127.0.0.1#5335 -ipset=/.chinagreenparty.org/gfwlist -server=/.chinahorizon.org/127.0.0.1#5335 -ipset=/.chinahorizon.org/gfwlist -server=/.chinahush.com/127.0.0.1#5335 -ipset=/.chinahush.com/gfwlist -server=/.chinainperspective.com/127.0.0.1#5335 -ipset=/.chinainperspective.com/gfwlist -server=/.chinainterimgov.org/127.0.0.1#5335 -ipset=/.chinainterimgov.org/gfwlist -server=/.chinalaborwatch.org/127.0.0.1#5335 -ipset=/.chinalaborwatch.org/gfwlist -server=/.chinalawandpolicy.com/127.0.0.1#5335 -ipset=/.chinalawandpolicy.com/gfwlist -server=/.chinalawtranslate.com/127.0.0.1#5335 -ipset=/.chinalawtranslate.com/gfwlist -server=/.chinamule.com/127.0.0.1#5335 -ipset=/.chinamule.com/gfwlist -server=/.chinamz.org/127.0.0.1#5335 -ipset=/.chinamz.org/gfwlist -server=/.chinanewscenter.com/127.0.0.1#5335 -ipset=/.chinanewscenter.com/gfwlist -server=/.chinapress.com.my/127.0.0.1#5335 -ipset=/.chinapress.com.my/gfwlist -server=/.chinarightsia.org/127.0.0.1#5335 -ipset=/.chinarightsia.org/gfwlist -server=/.chinasocialdemocraticparty.com/127.0.0.1#5335 -ipset=/.chinasocialdemocraticparty.com/gfwlist -server=/.chinasoul.org/127.0.0.1#5335 -ipset=/.chinasoul.org/gfwlist -server=/.chinasucks.net/127.0.0.1#5335 -ipset=/.chinasucks.net/gfwlist -server=/.chinatimes.com/127.0.0.1#5335 -ipset=/.chinatimes.com/gfwlist -server=/.chinatopsex.com/127.0.0.1#5335 -ipset=/.chinatopsex.com/gfwlist -server=/.chinatown.com.au/127.0.0.1#5335 -ipset=/.chinatown.com.au/gfwlist -server=/.chinatweeps.com/127.0.0.1#5335 -ipset=/.chinatweeps.com/gfwlist -server=/.chinaview.wordpress.com/127.0.0.1#5335 -ipset=/.chinaview.wordpress.com/gfwlist -server=/.chinaway.org/127.0.0.1#5335 -ipset=/.chinaway.org/gfwlist -server=/.chinaworker.info/127.0.0.1#5335 -ipset=/.chinaworker.info/gfwlist -server=/.chinayouth.org.hk/127.0.0.1#5335 -ipset=/.chinayouth.org.hk/gfwlist -server=/.chinayuanmin.org/127.0.0.1#5335 -ipset=/.chinayuanmin.org/gfwlist -server=/.chinese-hermit.net/127.0.0.1#5335 -ipset=/.chinese-hermit.net/gfwlist -server=/.chinese-leaders.org/127.0.0.1#5335 -ipset=/.chinese-leaders.org/gfwlist -server=/.chinese-memorial.org/127.0.0.1#5335 -ipset=/.chinese-memorial.org/gfwlist -server=/.chinese.donga.com/127.0.0.1#5335 -ipset=/.chinese.donga.com/gfwlist -server=/.chinese.engadget.com/127.0.0.1#5335 -ipset=/.chinese.engadget.com/gfwlist -server=/.chinese.irib.ir/127.0.0.1#5335 -ipset=/.chinese.irib.ir/gfwlist -server=/.chinese.soifind.com/127.0.0.1#5335 -ipset=/.chinese.soifind.com/gfwlist -server=/.chinesedaily.com/127.0.0.1#5335 -ipset=/.chinesedaily.com/gfwlist -server=/.chinesedailynews.com/127.0.0.1#5335 -ipset=/.chinesedailynews.com/gfwlist -server=/.chinesedemocracy.com/127.0.0.1#5335 -ipset=/.chinesedemocracy.com/gfwlist -server=/.chinesegay.org/127.0.0.1#5335 -ipset=/.chinesegay.org/gfwlist -server=/.chinesen.de/127.0.0.1#5335 -ipset=/.chinesen.de/gfwlist -server=/.chinesepen.org/127.0.0.1#5335 -ipset=/.chinesepen.org/gfwlist -server=/.chineseupress.com/127.0.0.1#5335 -ipset=/.chineseupress.com/gfwlist -server=/.chingcheong.com/127.0.0.1#5335 -ipset=/.chingcheong.com/gfwlist -server=/.chinman.net/127.0.0.1#5335 -ipset=/.chinman.net/gfwlist -server=/.chithu.org/127.0.0.1#5335 -ipset=/.chithu.org/gfwlist -server=/.chn.chosun.com/127.0.0.1#5335 -ipset=/.chn.chosun.com/gfwlist -server=/.chobit.cc/127.0.0.1#5335 -ipset=/.chobit.cc/gfwlist -server=/.chrdnet.com/127.0.0.1#5335 -ipset=/.chrdnet.com/gfwlist -server=/.christianfreedom.org/127.0.0.1#5335 -ipset=/.christianfreedom.org/gfwlist -server=/.christianstudy.com/127.0.0.1#5335 -ipset=/.christianstudy.com/gfwlist -server=/.christiantimes.org.hk/127.0.0.1#5335 -ipset=/.christiantimes.org.hk/gfwlist -server=/.chrlawyers.hk/127.0.0.1#5335 -ipset=/.chrlawyers.hk/gfwlist -server=/.chrome.com/127.0.0.1#5335 -ipset=/.chrome.com/gfwlist -server=/.chromecast.com/127.0.0.1#5335 -ipset=/.chromecast.com/gfwlist -server=/.chromeexperiments.com/127.0.0.1#5335 -ipset=/.chromeexperiments.com/gfwlist -server=/.chromercise.com/127.0.0.1#5335 -ipset=/.chromercise.com/gfwlist -server=/.chromestatus.com/127.0.0.1#5335 -ipset=/.chromestatus.com/gfwlist -server=/.chromium.org/127.0.0.1#5335 -ipset=/.chromium.org/gfwlist -server=/.chuang-yen.org/127.0.0.1#5335 -ipset=/.chuang-yen.org/gfwlist -server=/.chubold.com/127.0.0.1#5335 -ipset=/.chubold.com/gfwlist -server=/.chubun.com/127.0.0.1#5335 -ipset=/.chubun.com/gfwlist -server=/.chuizi.net/127.0.0.1#5335 -ipset=/.chuizi.net/gfwlist -server=/.chushigangdrug.ch/127.0.0.1#5335 -ipset=/.chushigangdrug.ch/gfwlist -server=/.cienen.com/127.0.0.1#5335 -ipset=/.cienen.com/gfwlist -server=/.cineastentreff.de/127.0.0.1#5335 -ipset=/.cineastentreff.de/gfwlist -server=/.cipfg.org/127.0.0.1#5335 -ipset=/.cipfg.org/gfwlist -server=/.circlethebayfortibet.org/127.0.0.1#5335 -ipset=/.circlethebayfortibet.org/gfwlist -server=/.cirosantilli.com/127.0.0.1#5335 -ipset=/.cirosantilli.com/gfwlist -server=/.citizencn.com/127.0.0.1#5335 -ipset=/.citizencn.com/gfwlist -server=/.citizenlab.org/127.0.0.1#5335 -ipset=/.citizenlab.org/gfwlist -server=/.citizenscommission.hk/127.0.0.1#5335 -ipset=/.citizenscommission.hk/gfwlist -server=/.citizensradio.org/127.0.0.1#5335 -ipset=/.citizensradio.org/gfwlist -server=/.city365.ca/127.0.0.1#5335 -ipset=/.city365.ca/gfwlist -server=/.city9x.com/127.0.0.1#5335 -ipset=/.city9x.com/gfwlist -server=/.citypopulation.de/127.0.0.1#5335 -ipset=/.citypopulation.de/gfwlist -server=/.civicparty.hk/127.0.0.1#5335 -ipset=/.civicparty.hk/gfwlist -server=/.civildisobediencemovement.org/127.0.0.1#5335 -ipset=/.civildisobediencemovement.org/gfwlist -server=/.civilhrfront.org/127.0.0.1#5335 -ipset=/.civilhrfront.org/gfwlist -server=/.civiliangunner.com/127.0.0.1#5335 -ipset=/.civiliangunner.com/gfwlist -server=/.civilmedia.tw/127.0.0.1#5335 -ipset=/.civilmedia.tw/gfwlist -server=/.ck101.com/127.0.0.1#5335 -ipset=/.ck101.com/gfwlist -server=/.cl.d0z.net/127.0.0.1#5335 -ipset=/.cl.d0z.net/gfwlist -server=/.classicalguitarblog.net/127.0.0.1#5335 -ipset=/.classicalguitarblog.net/gfwlist -server=/.clb.org.hk/127.0.0.1#5335 -ipset=/.clb.org.hk/gfwlist -server=/.cldr.unicode.org/127.0.0.1#5335 -ipset=/.cldr.unicode.org/gfwlist -server=/.cleansite.biz/127.0.0.1#5335 -ipset=/.cleansite.biz/gfwlist -server=/.cleansite.info/127.0.0.1#5335 -ipset=/.cleansite.info/gfwlist -server=/.cleansite.us/127.0.0.1#5335 -ipset=/.cleansite.us/gfwlist -server=/.clearharmony.net/127.0.0.1#5335 -ipset=/.clearharmony.net/gfwlist -server=/.clearsurance.com/127.0.0.1#5335 -ipset=/.clearsurance.com/gfwlist -server=/.clearwisdom.net/127.0.0.1#5335 -ipset=/.clearwisdom.net/gfwlist -server=/.clementine-player.org/127.0.0.1#5335 -ipset=/.clementine-player.org/gfwlist -server=/.cling.omy.sg/127.0.0.1#5335 -ipset=/.cling.omy.sg/gfwlist -server=/.clinica-tibet.ru/127.0.0.1#5335 -ipset=/.clinica-tibet.ru/gfwlist -server=/.clipfish.de/127.0.0.1#5335 -ipset=/.clipfish.de/gfwlist -server=/.cloakpoint.com/127.0.0.1#5335 -ipset=/.cloakpoint.com/gfwlist -server=/.cloud.mail.ru/127.0.0.1#5335 -ipset=/.cloud.mail.ru/gfwlist -server=/.club1069.com/127.0.0.1#5335 -ipset=/.club1069.com/gfwlist -server=/.clyp.it/127.0.0.1#5335 -ipset=/.clyp.it/gfwlist -server=/.cmcn.org/127.0.0.1#5335 -ipset=/.cmcn.org/gfwlist -server=/.cmi.org.tw/127.0.0.1#5335 -ipset=/.cmi.org.tw/gfwlist -server=/.cmp.hku.hk/127.0.0.1#5335 -ipset=/.cmp.hku.hk/gfwlist -server=/.cms.gov/127.0.0.1#5335 -ipset=/.cms.gov/gfwlist -server=/.cmule.com/127.0.0.1#5335 -ipset=/.cmule.com/gfwlist -server=/.cmule.org/127.0.0.1#5335 -ipset=/.cmule.org/gfwlist -server=/.cmx.im/127.0.0.1#5335 -ipset=/.cmx.im/gfwlist -server=/.cn-proxy.com/127.0.0.1#5335 -ipset=/.cn-proxy.com/gfwlist -server=/.cn.calameo.com/127.0.0.1#5335 -ipset=/.cn.calameo.com/gfwlist -server=/.cn.dayabook.com/127.0.0.1#5335 -ipset=/.cn.dayabook.com/gfwlist -server=/.cn.fmnnow.com/127.0.0.1#5335 -ipset=/.cn.fmnnow.com/gfwlist -server=/.cn.freeones.com/127.0.0.1#5335 -ipset=/.cn.freeones.com/gfwlist -server=/.cn.ibtimes.com/127.0.0.1#5335 -ipset=/.cn.ibtimes.com/gfwlist -server=/.cn.nytstyle.com/127.0.0.1#5335 -ipset=/.cn.nytstyle.com/gfwlist -server=/.cn.sandscotaicentral.com/127.0.0.1#5335 -ipset=/.cn.sandscotaicentral.com/gfwlist -server=/.cn.shafaqna.com/127.0.0.1#5335 -ipset=/.cn.shafaqna.com/gfwlist -server=/.cn.thegay.com/127.0.0.1#5335 -ipset=/.cn.thegay.com/gfwlist -server=/.cn.uncyclopedia.wikia.com/127.0.0.1#5335 -ipset=/.cn.uncyclopedia.wikia.com/gfwlist -server=/.cn.uptodown.com/127.0.0.1#5335 -ipset=/.cn.uptodown.com/gfwlist -server=/.cn.voa.mobi/127.0.0.1#5335 -ipset=/.cn.voa.mobi/gfwlist -server=/.cn2.streetvoice.com/127.0.0.1#5335 -ipset=/.cn2.streetvoice.com/gfwlist -server=/.cn6.eu/127.0.0.1#5335 -ipset=/.cn6.eu/gfwlist -server=/.cna.com.tw/127.0.0.1#5335 -ipset=/.cna.com.tw/gfwlist -server=/.cnabc.com/127.0.0.1#5335 -ipset=/.cnabc.com/gfwlist -server=/.cnbbnews.wordpress.com/127.0.0.1#5335 -ipset=/.cnbbnews.wordpress.com/gfwlist -server=/.cnd.org/127.0.0.1#5335 -ipset=/.cnd.org/gfwlist -server=/.cnex.org.cn/127.0.0.1#5335 -ipset=/.cnex.org.cn/gfwlist -server=/.cnineu.com/127.0.0.1#5335 -ipset=/.cnineu.com/gfwlist -server=/.cnpolitics.org/127.0.0.1#5335 -ipset=/.cnpolitics.org/gfwlist -server=/.cnproxy.com/127.0.0.1#5335 -ipset=/.cnproxy.com/gfwlist -server=/.co.ng.mil/127.0.0.1#5335 -ipset=/.co.ng.mil/gfwlist -server=/.coat.co.jp/127.0.0.1#5335 -ipset=/.coat.co.jp/gfwlist -server=/.cobinhood.com/127.0.0.1#5335 -ipset=/.cobinhood.com/gfwlist -server=/.cochina.co/127.0.0.1#5335 -ipset=/.cochina.co/gfwlist -server=/.cochina.org/127.0.0.1#5335 -ipset=/.cochina.org/gfwlist -server=/.codeshare.io/127.0.0.1#5335 -ipset=/.codeshare.io/gfwlist -server=/.codeskulptor.org/127.0.0.1#5335 -ipset=/.codeskulptor.org/gfwlist -server=/.coin2co.in/127.0.0.1#5335 -ipset=/.coin2co.in/gfwlist -server=/.coinbene.com/127.0.0.1#5335 -ipset=/.coinbene.com/gfwlist -server=/.coinegg.com/127.0.0.1#5335 -ipset=/.coinegg.com/gfwlist -server=/.coinex.com/127.0.0.1#5335 -ipset=/.coinex.com/gfwlist -server=/.coingi.com/127.0.0.1#5335 -ipset=/.coingi.com/gfwlist -server=/.coinrail.co.kr/127.0.0.1#5335 -ipset=/.coinrail.co.kr/gfwlist -server=/.cointiger.com/127.0.0.1#5335 -ipset=/.cointiger.com/gfwlist -server=/.cointobe.com/127.0.0.1#5335 -ipset=/.cointobe.com/gfwlist -server=/.coinut.com/127.0.0.1#5335 -ipset=/.coinut.com/gfwlist -server=/.collateralmurder.com/127.0.0.1#5335 -ipset=/.collateralmurder.com/gfwlist -server=/.collateralmurder.org/127.0.0.1#5335 -ipset=/.collateralmurder.org/gfwlist -server=/.com.google/127.0.0.1#5335 -ipset=/.com.google/gfwlist -server=/.comefromchina.com/127.0.0.1#5335 -ipset=/.comefromchina.com/gfwlist -server=/.comic-mega.me/127.0.0.1#5335 -ipset=/.comic-mega.me/gfwlist -server=/.commandarms.com/127.0.0.1#5335 -ipset=/.commandarms.com/gfwlist -server=/.commentshk.com/127.0.0.1#5335 -ipset=/.commentshk.com/gfwlist -server=/.communistcrimes.org/127.0.0.1#5335 -ipset=/.communistcrimes.org/gfwlist -server=/.community.windy.com/127.0.0.1#5335 -ipset=/.community.windy.com/gfwlist -server=/.communitychoicecu.com/127.0.0.1#5335 -ipset=/.communitychoicecu.com/gfwlist -server=/.compileheart.com/127.0.0.1#5335 -ipset=/.compileheart.com/gfwlist -server=/.compress.to/127.0.0.1#5335 -ipset=/.compress.to/gfwlist -server=/.connect.facebook.net/127.0.0.1#5335 -ipset=/.connect.facebook.net/gfwlist -server=/.conoha.jp/127.0.0.1#5335 -ipset=/.conoha.jp/gfwlist -server=/.contactmagazine.net/127.0.0.1#5335 -ipset=/.contactmagazine.net/gfwlist -server=/.contests.twilio.com/127.0.0.1#5335 -ipset=/.contests.twilio.com/gfwlist -server=/.convio.net/127.0.0.1#5335 -ipset=/.convio.net/gfwlist -server=/.coobay.com/127.0.0.1#5335 -ipset=/.coobay.com/gfwlist -server=/.coolaler.com/127.0.0.1#5335 -ipset=/.coolaler.com/gfwlist -server=/.coolder.com/127.0.0.1#5335 -ipset=/.coolder.com/gfwlist -server=/.coolloud.org.tw/127.0.0.1#5335 -ipset=/.coolloud.org.tw/gfwlist -server=/.coolncute.com/127.0.0.1#5335 -ipset=/.coolncute.com/gfwlist -server=/.coolstuffinc.com/127.0.0.1#5335 -ipset=/.coolstuffinc.com/gfwlist -server=/.corumcollege.com/127.0.0.1#5335 -ipset=/.corumcollege.com/gfwlist -server=/.cos-moe.com/127.0.0.1#5335 -ipset=/.cos-moe.com/gfwlist -server=/.cosmic.monar.ch/127.0.0.1#5335 -ipset=/.cosmic.monar.ch/gfwlist -server=/.cosplayjav.pl/127.0.0.1#5335 -ipset=/.cosplayjav.pl/gfwlist -server=/.costco.com/127.0.0.1#5335 -ipset=/.costco.com/gfwlist -server=/.cotweet.com/127.0.0.1#5335 -ipset=/.cotweet.com/gfwlist -server=/.counter.social/127.0.0.1#5335 -ipset=/.counter.social/gfwlist -server=/.coursehero.com/127.0.0.1#5335 -ipset=/.coursehero.com/gfwlist -server=/.cpj.org/127.0.0.1#5335 -ipset=/.cpj.org/gfwlist -server=/.cq99.us/127.0.0.1#5335 -ipset=/.cq99.us/gfwlist -server=/.crackle.com/127.0.0.1#5335 -ipset=/.crackle.com/gfwlist -server=/.crazys.cc/127.0.0.1#5335 -ipset=/.crazys.cc/gfwlist -server=/.crazyshit.com/127.0.0.1#5335 -ipset=/.crazyshit.com/gfwlist -server=/.crbug.com/127.0.0.1#5335 -ipset=/.crbug.com/gfwlist -server=/.crchina.org/127.0.0.1#5335 -ipset=/.crchina.org/gfwlist -server=/.crd-net.org/127.0.0.1#5335 -ipset=/.crd-net.org/gfwlist -server=/.creaders.net/127.0.0.1#5335 -ipset=/.creaders.net/gfwlist -server=/.creadersnet.com/127.0.0.1#5335 -ipset=/.creadersnet.com/gfwlist -server=/.creativelab5.com/127.0.0.1#5335 -ipset=/.creativelab5.com/gfwlist -server=/.crisisresponse.google/127.0.0.1#5335 -ipset=/.crisisresponse.google/gfwlist -server=/.cristyli.com/127.0.0.1#5335 -ipset=/.cristyli.com/gfwlist -server=/.crocotube.com/127.0.0.1#5335 -ipset=/.crocotube.com/gfwlist -server=/.crossfire.co.kr/127.0.0.1#5335 -ipset=/.crossfire.co.kr/gfwlist -server=/.crossthewall.net/127.0.0.1#5335 -ipset=/.crossthewall.net/gfwlist -server=/.crossvpn.net/127.0.0.1#5335 -ipset=/.crossvpn.net/gfwlist -server=/.crrev.com/127.0.0.1#5335 -ipset=/.crrev.com/gfwlist -server=/.crucial.com/127.0.0.1#5335 -ipset=/.crucial.com/gfwlist -server=/.csdparty.com/127.0.0.1#5335 -ipset=/.csdparty.com/gfwlist -server=/.css.pixnet.in/127.0.0.1#5335 -ipset=/.css.pixnet.in/gfwlist -server=/.csuchen.de/127.0.0.1#5335 -ipset=/.csuchen.de/gfwlist -server=/.csw.org.uk/127.0.0.1#5335 -ipset=/.csw.org.uk/gfwlist -server=/.ct.org.tw/127.0.0.1#5335 -ipset=/.ct.org.tw/gfwlist -server=/.ctao.org/127.0.0.1#5335 -ipset=/.ctao.org/gfwlist -server=/.ctfriend.net/127.0.0.1#5335 -ipset=/.ctfriend.net/gfwlist -server=/.ctitv.com.tw/127.0.0.1#5335 -ipset=/.ctitv.com.tw/gfwlist -server=/.cts.com.tw/127.0.0.1#5335 -ipset=/.cts.com.tw/gfwlist -server=/.cuihua.org/127.0.0.1#5335 -ipset=/.cuihua.org/gfwlist -server=/.cuiweiping.net/127.0.0.1#5335 -ipset=/.cuiweiping.net/gfwlist -server=/.culture.tw/127.0.0.1#5335 -ipset=/.culture.tw/gfwlist -server=/.cumlouder.com/127.0.0.1#5335 -ipset=/.cumlouder.com/gfwlist -server=/.curvefish.com/127.0.0.1#5335 -ipset=/.curvefish.com/gfwlist -server=/.cusu.hk/127.0.0.1#5335 -ipset=/.cusu.hk/gfwlist -server=/.cutscenes.net/127.0.0.1#5335 -ipset=/.cutscenes.net/gfwlist -server=/.cw.com.tw/127.0.0.1#5335 -ipset=/.cw.com.tw/gfwlist -server=/.cyberghost.natado.com/127.0.0.1#5335 -ipset=/.cyberghost.natado.com/gfwlist -server=/.cyberghostvpn.com/127.0.0.1#5335 -ipset=/.cyberghostvpn.com/gfwlist -server=/.cynscribe.com/127.0.0.1#5335 -ipset=/.cynscribe.com/gfwlist -server=/.cytode.us/127.0.0.1#5335 -ipset=/.cytode.us/gfwlist -server=/.d-fukyu.com/127.0.0.1#5335 -ipset=/.d-fukyu.com/gfwlist -server=/.d100.net/127.0.0.1#5335 -ipset=/.d100.net/gfwlist -server=/.d1b183sg0nvnuh.cloudfront.net/127.0.0.1#5335 -ipset=/.d1b183sg0nvnuh.cloudfront.net/gfwlist -server=/.d1c37gjwa26taa.cloudfront.net/127.0.0.1#5335 -ipset=/.d1c37gjwa26taa.cloudfront.net/gfwlist -server=/.d2bay.com/127.0.0.1#5335 -ipset=/.d2bay.com/gfwlist -server=/.d2pass.com/127.0.0.1#5335 -ipset=/.d2pass.com/gfwlist -server=/.d3c33hcgiwev3.cloudfront.net/127.0.0.1#5335 -ipset=/.d3c33hcgiwev3.cloudfront.net/gfwlist -server=/.d3rhr7kgmtrq1v.cloudfront.net/127.0.0.1#5335 -ipset=/.d3rhr7kgmtrq1v.cloudfront.net/gfwlist -server=/.dabr.co.uk/127.0.0.1#5335 -ipset=/.dabr.co.uk/gfwlist -server=/.dabr.eu/127.0.0.1#5335 -ipset=/.dabr.eu/gfwlist -server=/.dabr.me/127.0.0.1#5335 -ipset=/.dabr.me/gfwlist -server=/.dabr.mobi/127.0.0.1#5335 -ipset=/.dabr.mobi/gfwlist -server=/.dadazim.com/127.0.0.1#5335 -ipset=/.dadazim.com/gfwlist -server=/.dadi360.com/127.0.0.1#5335 -ipset=/.dadi360.com/gfwlist -server=/.dafabet.com/127.0.0.1#5335 -ipset=/.dafabet.com/gfwlist -server=/.dafagood.com/127.0.0.1#5335 -ipset=/.dafagood.com/gfwlist -server=/.dafahao.com/127.0.0.1#5335 -ipset=/.dafahao.com/gfwlist -server=/.dafoh.org/127.0.0.1#5335 -ipset=/.dafoh.org/gfwlist -server=/.daftporn.com/127.0.0.1#5335 -ipset=/.daftporn.com/gfwlist -server=/.dagelijksestandaard.nl/127.0.0.1#5335 -ipset=/.dagelijksestandaard.nl/gfwlist -server=/.daidostup.ru/127.0.0.1#5335 -ipset=/.daidostup.ru/gfwlist -server=/.dailidaili.com/127.0.0.1#5335 -ipset=/.dailidaili.com/gfwlist -server=/.dailymotion.com/127.0.0.1#5335 -ipset=/.dailymotion.com/gfwlist -server=/.dailyview.tw/127.0.0.1#5335 -ipset=/.dailyview.tw/gfwlist -server=/.daiphapinfo.net/127.0.0.1#5335 -ipset=/.daiphapinfo.net/gfwlist -server=/.dajiyuan.com/127.0.0.1#5335 -ipset=/.dajiyuan.com/gfwlist -server=/.dajiyuan.de/127.0.0.1#5335 -ipset=/.dajiyuan.de/gfwlist -server=/.dajiyuan.eu/127.0.0.1#5335 -ipset=/.dajiyuan.eu/gfwlist -server=/.dajusha.baywords.com/127.0.0.1#5335 -ipset=/.dajusha.baywords.com/gfwlist -server=/.dalailama-archives.org/127.0.0.1#5335 -ipset=/.dalailama-archives.org/gfwlist -server=/.dalailama.com/127.0.0.1#5335 -ipset=/.dalailama.com/gfwlist -server=/.dalailama.mn/127.0.0.1#5335 -ipset=/.dalailama.mn/gfwlist -server=/.dalailama.ru/127.0.0.1#5335 -ipset=/.dalailama.ru/gfwlist -server=/.dalailama.usc.edu/127.0.0.1#5335 -ipset=/.dalailama.usc.edu/gfwlist -server=/.dalailama80.org/127.0.0.1#5335 -ipset=/.dalailama80.org/gfwlist -server=/.dalailamacenter.org/127.0.0.1#5335 -ipset=/.dalailamacenter.org/gfwlist -server=/.dalailamafellows.org/127.0.0.1#5335 -ipset=/.dalailamafellows.org/gfwlist -server=/.dalailamafilm.com/127.0.0.1#5335 -ipset=/.dalailamafilm.com/gfwlist -server=/.dalailamafoundation.org/127.0.0.1#5335 -ipset=/.dalailamafoundation.org/gfwlist -server=/.dalailamahindi.com/127.0.0.1#5335 -ipset=/.dalailamahindi.com/gfwlist -server=/.dalailamainaustralia.org/127.0.0.1#5335 -ipset=/.dalailamainaustralia.org/gfwlist -server=/.dalailamajapanese.com/127.0.0.1#5335 -ipset=/.dalailamajapanese.com/gfwlist -server=/.dalailamaprotesters.info/127.0.0.1#5335 -ipset=/.dalailamaprotesters.info/gfwlist -server=/.dalailamaquotes.org/127.0.0.1#5335 -ipset=/.dalailamaquotes.org/gfwlist -server=/.dalailamatrust.org/127.0.0.1#5335 -ipset=/.dalailamatrust.org/gfwlist -server=/.dalailamavisit.org.nz/127.0.0.1#5335 -ipset=/.dalailamavisit.org.nz/gfwlist -server=/.dalailamaworld.com/127.0.0.1#5335 -ipset=/.dalailamaworld.com/gfwlist -server=/.dalianmeng.org/127.0.0.1#5335 -ipset=/.dalianmeng.org/gfwlist -server=/.daliulian.org/127.0.0.1#5335 -ipset=/.daliulian.org/gfwlist -server=/.danbooru.donmai.us/127.0.0.1#5335 -ipset=/.danbooru.donmai.us/gfwlist -server=/.danke4china.net/127.0.0.1#5335 -ipset=/.danke4china.net/gfwlist -server=/.danwei.org/127.0.0.1#5335 -ipset=/.danwei.org/gfwlist -server=/.daodu14.jigsy.com/127.0.0.1#5335 -ipset=/.daodu14.jigsy.com/gfwlist -server=/.daolan.net/127.0.0.1#5335 -ipset=/.daolan.net/gfwlist -server=/.daozhongxing.org/127.0.0.1#5335 -ipset=/.daozhongxing.org/gfwlist -server=/.darktech.org/127.0.0.1#5335 -ipset=/.darktech.org/gfwlist -server=/.darktoy.net/127.0.0.1#5335 -ipset=/.darktoy.net/gfwlist -server=/.darpa.mil/127.0.0.1#5335 -ipset=/.darpa.mil/gfwlist -server=/.dastrassi.org/127.0.0.1#5335 -ipset=/.dastrassi.org/gfwlist -server=/.data-vocabulary.org/127.0.0.1#5335 -ipset=/.data-vocabulary.org/gfwlist -server=/.data.flurry.com/127.0.0.1#5335 -ipset=/.data.flurry.com/gfwlist -server=/.data.gov.tw/127.0.0.1#5335 -ipset=/.data.gov.tw/gfwlist -server=/.daum.net/127.0.0.1#5335 -ipset=/.daum.net/gfwlist -server=/.david-kilgour.com/127.0.0.1#5335 -ipset=/.david-kilgour.com/gfwlist -server=/.dawangidc.com/127.0.0.1#5335 -ipset=/.dawangidc.com/gfwlist -server=/.daxa.cn/127.0.0.1#5335 -ipset=/.daxa.cn/gfwlist -server=/.db.tt/127.0.0.1#5335 -ipset=/.db.tt/gfwlist -server=/.dcard.tw/127.0.0.1#5335 -ipset=/.dcard.tw/gfwlist -server=/.dcmilitary.com/127.0.0.1#5335 -ipset=/.dcmilitary.com/gfwlist -server=/.ddc.com.tw/127.0.0.1#5335 -ipset=/.ddc.com.tw/gfwlist -server=/.ddhw.info/127.0.0.1#5335 -ipset=/.ddhw.info/gfwlist -server=/.ddns.info/127.0.0.1#5335 -ipset=/.ddns.info/gfwlist -server=/.ddns.me.uk/127.0.0.1#5335 -ipset=/.ddns.me.uk/gfwlist -server=/.ddns.mobi/127.0.0.1#5335 -ipset=/.ddns.mobi/gfwlist -server=/.ddns.ms/127.0.0.1#5335 -ipset=/.ddns.ms/gfwlist -server=/.ddns.name/127.0.0.1#5335 -ipset=/.ddns.name/gfwlist -server=/.ddns.us/127.0.0.1#5335 -ipset=/.ddns.us/gfwlist -server=/.de-sci.org/127.0.0.1#5335 -ipset=/.de-sci.org/gfwlist -server=/.deaftone.com/127.0.0.1#5335 -ipset=/.deaftone.com/gfwlist -server=/.debug.com/127.0.0.1#5335 -ipset=/.debug.com/gfwlist -server=/.deck.ly/127.0.0.1#5335 -ipset=/.deck.ly/gfwlist -server=/.decodet.co/127.0.0.1#5335 -ipset=/.decodet.co/gfwlist -server=/.deepmind.com/127.0.0.1#5335 -ipset=/.deepmind.com/gfwlist -server=/.deezer.com/127.0.0.1#5335 -ipset=/.deezer.com/gfwlist -server=/.definebabe.com/127.0.0.1#5335 -ipset=/.definebabe.com/gfwlist -server=/.deja.com/127.0.0.1#5335 -ipset=/.deja.com/gfwlist -server=/.delcamp.net/127.0.0.1#5335 -ipset=/.delcamp.net/gfwlist -server=/.demo.opera-mini.net/127.0.0.1#5335 -ipset=/.demo.opera-mini.net/gfwlist -server=/.democrats.org/127.0.0.1#5335 -ipset=/.democrats.org/gfwlist -server=/.demosisto.hk/127.0.0.1#5335 -ipset=/.demosisto.hk/gfwlist -server=/.depositphotos.com/127.0.0.1#5335 -ipset=/.depositphotos.com/gfwlist -server=/.derekhsu.homeip.net/127.0.0.1#5335 -ipset=/.derekhsu.homeip.net/gfwlist -server=/.desc.se/127.0.0.1#5335 -ipset=/.desc.se/gfwlist -server=/.design.google/127.0.0.1#5335 -ipset=/.design.google/gfwlist -server=/.desipro.de/127.0.0.1#5335 -ipset=/.desipro.de/gfwlist -server=/.dessci.com/127.0.0.1#5335 -ipset=/.dessci.com/gfwlist -server=/.destroy-china.jp/127.0.0.1#5335 -ipset=/.destroy-china.jp/gfwlist -server=/.deutsche-welle.de/127.0.0.1#5335 -ipset=/.deutsche-welle.de/gfwlist -server=/.developers.box.net/127.0.0.1#5335 -ipset=/.developers.box.net/gfwlist -server=/.devio.us/127.0.0.1#5335 -ipset=/.devio.us/gfwlist -server=/.devpn.com/127.0.0.1#5335 -ipset=/.devpn.com/gfwlist -server=/.dfas.mil/127.0.0.1#5335 -ipset=/.dfas.mil/gfwlist -server=/.dfn.org/127.0.0.1#5335 -ipset=/.dfn.org/gfwlist -server=/.dharamsalanet.com/127.0.0.1#5335 -ipset=/.dharamsalanet.com/gfwlist -server=/.dharmakara.net/127.0.0.1#5335 -ipset=/.dharmakara.net/gfwlist -server=/.dhcp.biz/127.0.0.1#5335 -ipset=/.dhcp.biz/gfwlist -server=/.diaoyuislands.org/127.0.0.1#5335 -ipset=/.diaoyuislands.org/gfwlist -server=/.dictionary.goo.ne.jp/127.0.0.1#5335 -ipset=/.dictionary.goo.ne.jp/gfwlist -server=/.difangwenge.org/127.0.0.1#5335 -ipset=/.difangwenge.org/gfwlist -server=/.digisfera.com/127.0.0.1#5335 -ipset=/.digisfera.com/gfwlist -server=/.digitalnomadsproject.org/127.0.0.1#5335 -ipset=/.digitalnomadsproject.org/gfwlist -server=/.diigo.com/127.0.0.1#5335 -ipset=/.diigo.com/gfwlist -server=/.dilber.se/127.0.0.1#5335 -ipset=/.dilber.se/gfwlist -server=/.dingchin.com.tw/127.0.0.1#5335 -ipset=/.dingchin.com.tw/gfwlist -server=/.dipity.com/127.0.0.1#5335 -ipset=/.dipity.com/gfwlist -server=/.directcreative.com/127.0.0.1#5335 -ipset=/.directcreative.com/gfwlist -server=/.discoins.com/127.0.0.1#5335 -ipset=/.discoins.com/gfwlist -server=/.disconnect.me/127.0.0.1#5335 -ipset=/.disconnect.me/gfwlist -server=/.discord.com/127.0.0.1#5335 -ipset=/.discord.com/gfwlist -server=/.discord.gg/127.0.0.1#5335 -ipset=/.discord.gg/gfwlist -server=/.discordapp.com/127.0.0.1#5335 -ipset=/.discordapp.com/gfwlist -server=/.discordapp.net/127.0.0.1#5335 -ipset=/.discordapp.net/gfwlist -server=/.discuss.com.hk/127.0.0.1#5335 -ipset=/.discuss.com.hk/gfwlist -server=/.discuss4u.com/127.0.0.1#5335 -ipset=/.discuss4u.com/gfwlist -server=/.dish.com/127.0.0.1#5335 -ipset=/.dish.com/gfwlist -server=/.disp.cc/127.0.0.1#5335 -ipset=/.disp.cc/gfwlist -server=/.disqus.com/127.0.0.1#5335 -ipset=/.disqus.com/gfwlist -server=/.dit-inc.us/127.0.0.1#5335 -ipset=/.dit-inc.us/gfwlist -server=/.dizhidizhi.com/127.0.0.1#5335 -ipset=/.dizhidizhi.com/gfwlist -server=/.dizhuzhishang.com/127.0.0.1#5335 -ipset=/.dizhuzhishang.com/gfwlist -server=/.djangosnippets.org/127.0.0.1#5335 -ipset=/.djangosnippets.org/gfwlist -server=/.djorz.com/127.0.0.1#5335 -ipset=/.djorz.com/gfwlist -server=/.dl-laby.jp/127.0.0.1#5335 -ipset=/.dl-laby.jp/gfwlist -server=/.dl.box.net/127.0.0.1#5335 -ipset=/.dl.box.net/gfwlist -server=/.dlsite.com/127.0.0.1#5335 -ipset=/.dlsite.com/gfwlist -server=/.dlyoutube.com/127.0.0.1#5335 -ipset=/.dlyoutube.com/gfwlist -server=/.dm530.net/127.0.0.1#5335 -ipset=/.dm530.net/gfwlist -server=/.dmcdn.net/127.0.0.1#5335 -ipset=/.dmcdn.net/gfwlist -server=/.dmhy.org/127.0.0.1#5335 -ipset=/.dmhy.org/gfwlist -server=/.dmm.co.jp/127.0.0.1#5335 -ipset=/.dmm.co.jp/gfwlist -server=/.dns-dns.com/127.0.0.1#5335 -ipset=/.dns-dns.com/gfwlist -server=/.dns-stuff.com/127.0.0.1#5335 -ipset=/.dns-stuff.com/gfwlist -server=/.dns.google/127.0.0.1#5335 -ipset=/.dns.google/gfwlist -server=/.dns04.com/127.0.0.1#5335 -ipset=/.dns04.com/gfwlist -server=/.dns05.com/127.0.0.1#5335 -ipset=/.dns05.com/gfwlist -server=/.dns1.us/127.0.0.1#5335 -ipset=/.dns1.us/gfwlist -server=/.dns2.us/127.0.0.1#5335 -ipset=/.dns2.us/gfwlist -server=/.dns2go.com/127.0.0.1#5335 -ipset=/.dns2go.com/gfwlist -server=/.dnscrypt.org/127.0.0.1#5335 -ipset=/.dnscrypt.org/gfwlist -server=/.dnset.com/127.0.0.1#5335 -ipset=/.dnset.com/gfwlist -server=/.dnsrd.com/127.0.0.1#5335 -ipset=/.dnsrd.com/gfwlist -server=/.dnssec.net/127.0.0.1#5335 -ipset=/.dnssec.net/gfwlist -server=/.dnvod.tv/127.0.0.1#5335 -ipset=/.dnvod.tv/gfwlist -server=/.doctorvoice.org/127.0.0.1#5335 -ipset=/.doctorvoice.org/gfwlist -server=/.documentingreality.com/127.0.0.1#5335 -ipset=/.documentingreality.com/gfwlist -server=/.dojin.com/127.0.0.1#5335 -ipset=/.dojin.com/gfwlist -server=/.dok-forum.net/127.0.0.1#5335 -ipset=/.dok-forum.net/gfwlist -server=/.dolc.de/127.0.0.1#5335 -ipset=/.dolc.de/gfwlist -server=/.dolf.org.hk/127.0.0.1#5335 -ipset=/.dolf.org.hk/gfwlist -server=/.dollf.com/127.0.0.1#5335 -ipset=/.dollf.com/gfwlist -server=/.domain.club.tw/127.0.0.1#5335 -ipset=/.domain.club.tw/gfwlist -server=/.domainhelp.search.com/127.0.0.1#5335 -ipset=/.domainhelp.search.com/gfwlist -server=/.domains.google/127.0.0.1#5335 -ipset=/.domains.google/gfwlist -server=/.domaintoday.com.au/127.0.0.1#5335 -ipset=/.domaintoday.com.au/gfwlist -server=/.dongtaiwang.com/127.0.0.1#5335 -ipset=/.dongtaiwang.com/gfwlist -server=/.dongtaiwang.net/127.0.0.1#5335 -ipset=/.dongtaiwang.net/gfwlist -server=/.dongyangjing.com/127.0.0.1#5335 -ipset=/.dongyangjing.com/gfwlist -server=/.dontfilter.us/127.0.0.1#5335 -ipset=/.dontfilter.us/gfwlist -server=/.dontmovetochina.com/127.0.0.1#5335 -ipset=/.dontmovetochina.com/gfwlist -server=/.dorjeshugden.com/127.0.0.1#5335 -ipset=/.dorjeshugden.com/gfwlist -server=/.dotplane.com/127.0.0.1#5335 -ipset=/.dotplane.com/gfwlist -server=/.dotsub.com/127.0.0.1#5335 -ipset=/.dotsub.com/gfwlist -server=/.dotvpn.com/127.0.0.1#5335 -ipset=/.dotvpn.com/gfwlist -server=/.doub.io/127.0.0.1#5335 -ipset=/.doub.io/gfwlist -server=/.doubibackup.com/127.0.0.1#5335 -ipset=/.doubibackup.com/gfwlist -server=/.doubmirror.cf/127.0.0.1#5335 -ipset=/.doubmirror.cf/gfwlist -server=/.dougscripts.com/127.0.0.1#5335 -ipset=/.dougscripts.com/gfwlist -server=/.douhokanko.net/127.0.0.1#5335 -ipset=/.douhokanko.net/gfwlist -server=/.doujincafe.com/127.0.0.1#5335 -ipset=/.doujincafe.com/gfwlist -server=/.dowei.org/127.0.0.1#5335 -ipset=/.dowei.org/gfwlist -server=/.download.aircrack-ng.org/127.0.0.1#5335 -ipset=/.download.aircrack-ng.org/gfwlist -server=/.download.cnet.com/127.0.0.1#5335 -ipset=/.download.cnet.com/gfwlist -server=/.download.ithome.com.tw/127.0.0.1#5335 -ipset=/.download.ithome.com.tw/gfwlist -server=/.dphk.org/127.0.0.1#5335 -ipset=/.dphk.org/gfwlist -server=/.dpp.org.tw/127.0.0.1#5335 -ipset=/.dpp.org.tw/gfwlist -server=/.dpr.info/127.0.0.1#5335 -ipset=/.dpr.info/gfwlist -server=/.dragonex.io/127.0.0.1#5335 -ipset=/.dragonex.io/gfwlist -server=/.dragonsprings.org/127.0.0.1#5335 -ipset=/.dragonsprings.org/gfwlist -server=/.dreamamateurs.com/127.0.0.1#5335 -ipset=/.dreamamateurs.com/gfwlist -server=/.drepung.org/127.0.0.1#5335 -ipset=/.drepung.org/gfwlist -server=/.drgan.net/127.0.0.1#5335 -ipset=/.drgan.net/gfwlist -server=/.drmingxia.org/127.0.0.1#5335 -ipset=/.drmingxia.org/gfwlist -server=/.dropbooks.tv/127.0.0.1#5335 -ipset=/.dropbooks.tv/gfwlist -server=/.dropbox.com/127.0.0.1#5335 -ipset=/.dropbox.com/gfwlist -server=/.dropboxusercontent.com/127.0.0.1#5335 -ipset=/.dropboxusercontent.com/gfwlist -server=/.drsunacademy.com/127.0.0.1#5335 -ipset=/.drsunacademy.com/gfwlist -server=/.drtuber.com/127.0.0.1#5335 -ipset=/.drtuber.com/gfwlist -server=/.dscn.info/127.0.0.1#5335 -ipset=/.dscn.info/gfwlist -server=/.dsmtp.com/127.0.0.1#5335 -ipset=/.dsmtp.com/gfwlist -server=/.dstk.dk/127.0.0.1#5335 -ipset=/.dstk.dk/gfwlist -server=/.dtdns.net/127.0.0.1#5335 -ipset=/.dtdns.net/gfwlist -server=/.dtiblog.com/127.0.0.1#5335 -ipset=/.dtiblog.com/gfwlist -server=/.dtic.mil/127.0.0.1#5335 -ipset=/.dtic.mil/gfwlist -server=/.dtwang.org/127.0.0.1#5335 -ipset=/.dtwang.org/gfwlist -server=/.duanzhihu.com/127.0.0.1#5335 -ipset=/.duanzhihu.com/gfwlist -server=/.dubox.com/127.0.0.1#5335 -ipset=/.dubox.com/gfwlist -server=/.duck.com/127.0.0.1#5335 -ipset=/.duck.com/gfwlist -server=/.duckdns.org/127.0.0.1#5335 -ipset=/.duckdns.org/gfwlist -server=/.duckduckgo-owned-server.yahoo.net/127.0.0.1#5335 -ipset=/.duckduckgo-owned-server.yahoo.net/gfwlist -server=/.duckduckgo.com/127.0.0.1#5335 -ipset=/.duckduckgo.com/gfwlist -server=/.duckmylife.com/127.0.0.1#5335 -ipset=/.duckmylife.com/gfwlist -server=/.duga.jp/127.0.0.1#5335 -ipset=/.duga.jp/gfwlist -server=/.duihua.org/127.0.0.1#5335 -ipset=/.duihua.org/gfwlist -server=/.duihuahrjournal.org/127.0.0.1#5335 -ipset=/.duihuahrjournal.org/gfwlist -server=/.dumb1.com/127.0.0.1#5335 -ipset=/.dumb1.com/gfwlist -server=/.dunyabulteni.net/127.0.0.1#5335 -ipset=/.dunyabulteni.net/gfwlist -server=/.duoweitimes.com/127.0.0.1#5335 -ipset=/.duoweitimes.com/gfwlist -server=/.duping.net/127.0.0.1#5335 -ipset=/.duping.net/gfwlist -server=/.duplicati.com/127.0.0.1#5335 -ipset=/.duplicati.com/gfwlist -server=/.dupola.com/127.0.0.1#5335 -ipset=/.dupola.com/gfwlist -server=/.dupola.net/127.0.0.1#5335 -ipset=/.dupola.net/gfwlist -server=/.dushi.ca/127.0.0.1#5335 -ipset=/.dushi.ca/gfwlist -server=/.dvdpac.com/127.0.0.1#5335 -ipset=/.dvdpac.com/gfwlist -server=/.dvorak.org/127.0.0.1#5335 -ipset=/.dvorak.org/gfwlist -server=/.dw-world.com/127.0.0.1#5335 -ipset=/.dw-world.com/gfwlist -server=/.dw-world.de/127.0.0.1#5335 -ipset=/.dw-world.de/gfwlist -server=/.dw.com/127.0.0.1#5335 -ipset=/.dw.com/gfwlist -server=/.dw.de/127.0.0.1#5335 -ipset=/.dw.de/gfwlist -server=/.dwnews.com/127.0.0.1#5335 -ipset=/.dwnews.com/gfwlist -server=/.dwnews.net/127.0.0.1#5335 -ipset=/.dwnews.net/gfwlist -server=/.dynamic-dns.net/127.0.0.1#5335 -ipset=/.dynamic-dns.net/gfwlist -server=/.dynamicdns.biz/127.0.0.1#5335 -ipset=/.dynamicdns.biz/gfwlist -server=/.dynamicdns.co.uk/127.0.0.1#5335 -ipset=/.dynamicdns.co.uk/gfwlist -server=/.dynamicdns.me.uk/127.0.0.1#5335 -ipset=/.dynamicdns.me.uk/gfwlist -server=/.dynamicdns.org.uk/127.0.0.1#5335 -ipset=/.dynamicdns.org.uk/gfwlist -server=/.dynawebinc.com/127.0.0.1#5335 -ipset=/.dynawebinc.com/gfwlist -server=/.dyndns-ip.com/127.0.0.1#5335 -ipset=/.dyndns-ip.com/gfwlist -server=/.dyndns-pics.com/127.0.0.1#5335 -ipset=/.dyndns-pics.com/gfwlist -server=/.dyndns.org/127.0.0.1#5335 -ipset=/.dyndns.org/gfwlist -server=/.dyndns.pro/127.0.0.1#5335 -ipset=/.dyndns.pro/gfwlist -server=/.dynssl.com/127.0.0.1#5335 -ipset=/.dynssl.com/gfwlist -server=/.dynu.com/127.0.0.1#5335 -ipset=/.dynu.com/gfwlist -server=/.dynu.net/127.0.0.1#5335 -ipset=/.dynu.net/gfwlist -server=/.dysfz.cc/127.0.0.1#5335 -ipset=/.dysfz.cc/gfwlist -server=/.dzze.com/127.0.0.1#5335 -ipset=/.dzze.com/gfwlist -server=/.e-classical.com.tw/127.0.0.1#5335 -ipset=/.e-classical.com.tw/gfwlist -server=/.e-gold.com/127.0.0.1#5335 -ipset=/.e-gold.com/gfwlist -server=/.e-hentai.org/127.0.0.1#5335 -ipset=/.e-hentai.org/gfwlist -server=/.e-hentaidb.com/127.0.0.1#5335 -ipset=/.e-hentaidb.com/gfwlist -server=/.e-info.org.tw/127.0.0.1#5335 -ipset=/.e-info.org.tw/gfwlist -server=/.e123.hk/127.0.0.1#5335 -ipset=/.e123.hk/gfwlist -server=/.earlytibet.com/127.0.0.1#5335 -ipset=/.earlytibet.com/gfwlist -server=/.earthcam.com/127.0.0.1#5335 -ipset=/.earthcam.com/gfwlist -server=/.earthvpn.com/127.0.0.1#5335 -ipset=/.earthvpn.com/gfwlist -server=/.eastern-ark.com/127.0.0.1#5335 -ipset=/.eastern-ark.com/gfwlist -server=/.easternlightning.org/127.0.0.1#5335 -ipset=/.easternlightning.org/gfwlist -server=/.eastturkestan.com/127.0.0.1#5335 -ipset=/.eastturkestan.com/gfwlist -server=/.eastturkistan-gov.org/127.0.0.1#5335 -ipset=/.eastturkistan-gov.org/gfwlist -server=/.eastturkistancc.org/127.0.0.1#5335 -ipset=/.eastturkistancc.org/gfwlist -server=/.eastturkistangovernmentinexile.us/127.0.0.1#5335 -ipset=/.eastturkistangovernmentinexile.us/gfwlist -server=/.easyca.ca/127.0.0.1#5335 -ipset=/.easyca.ca/gfwlist -server=/.easypic.com/127.0.0.1#5335 -ipset=/.easypic.com/gfwlist -server=/.ebony-beauty.com/127.0.0.1#5335 -ipset=/.ebony-beauty.com/gfwlist -server=/.ebook.hyread.com.tw/127.0.0.1#5335 -ipset=/.ebook.hyread.com.tw/gfwlist -server=/.ebookbrowse.com/127.0.0.1#5335 -ipset=/.ebookbrowse.com/gfwlist -server=/.ebookee.com/127.0.0.1#5335 -ipset=/.ebookee.com/gfwlist -server=/.ebtcbank.com/127.0.0.1#5335 -ipset=/.ebtcbank.com/gfwlist -server=/.ecfa.org.tw/127.0.0.1#5335 -ipset=/.ecfa.org.tw/gfwlist -server=/.echofon.com/127.0.0.1#5335 -ipset=/.echofon.com/gfwlist -server=/.ecimg.tw/127.0.0.1#5335 -ipset=/.ecimg.tw/gfwlist -server=/.ecministry.net/127.0.0.1#5335 -ipset=/.ecministry.net/gfwlist -server=/.economist.com/127.0.0.1#5335 -ipset=/.economist.com/gfwlist -server=/.edgecastcdn.net/127.0.0.1#5335 -ipset=/.edgecastcdn.net/gfwlist -server=/.edicypages.com/127.0.0.1#5335 -ipset=/.edicypages.com/gfwlist -server=/.edmontonchina.cn/127.0.0.1#5335 -ipset=/.edmontonchina.cn/gfwlist -server=/.edmontonservice.com/127.0.0.1#5335 -ipset=/.edmontonservice.com/gfwlist -server=/.edns.biz/127.0.0.1#5335 -ipset=/.edns.biz/gfwlist -server=/.edoors.com/127.0.0.1#5335 -ipset=/.edoors.com/gfwlist -server=/.edubridge.com/127.0.0.1#5335 -ipset=/.edubridge.com/gfwlist -server=/.edupro.org/127.0.0.1#5335 -ipset=/.edupro.org/gfwlist -server=/.eesti.ee/127.0.0.1#5335 -ipset=/.eesti.ee/gfwlist -server=/.eevpn.com/127.0.0.1#5335 -ipset=/.eevpn.com/gfwlist -server=/.efcc.org.hk/127.0.0.1#5335 -ipset=/.efcc.org.hk/gfwlist -server=/.effers.com/127.0.0.1#5335 -ipset=/.effers.com/gfwlist -server=/.efksoft.com/127.0.0.1#5335 -ipset=/.efksoft.com/gfwlist -server=/.efukt.com/127.0.0.1#5335 -ipset=/.efukt.com/gfwlist -server=/.eic-av.com/127.0.0.1#5335 -ipset=/.eic-av.com/gfwlist -server=/.eireinikotaerukai.com/127.0.0.1#5335 -ipset=/.eireinikotaerukai.com/gfwlist -server=/.eisbb.com/127.0.0.1#5335 -ipset=/.eisbb.com/gfwlist -server=/.eksisozluk.com/127.0.0.1#5335 -ipset=/.eksisozluk.com/gfwlist -server=/.electionsmeter.com/127.0.0.1#5335 -ipset=/.electionsmeter.com/gfwlist -server=/.elgoog.im/127.0.0.1#5335 -ipset=/.elgoog.im/gfwlist -server=/.ellawine.org/127.0.0.1#5335 -ipset=/.ellawine.org/gfwlist -server=/.elpais.com/127.0.0.1#5335 -ipset=/.elpais.com/gfwlist -server=/.eltondisney.com/127.0.0.1#5335 -ipset=/.eltondisney.com/gfwlist -server=/.embr.in/127.0.0.1#5335 -ipset=/.embr.in/gfwlist -server=/.emilylau.org.hk/127.0.0.1#5335 -ipset=/.emilylau.org.hk/gfwlist -server=/.empfil.com/127.0.0.1#5335 -ipset=/.empfil.com/gfwlist -server=/.emule-ed2k.com/127.0.0.1#5335 -ipset=/.emule-ed2k.com/gfwlist -server=/.emulefans.com/127.0.0.1#5335 -ipset=/.emulefans.com/gfwlist -server=/.emuparadise.me/127.0.0.1#5335 -ipset=/.emuparadise.me/gfwlist -server=/.en.favotter.net/127.0.0.1#5335 -ipset=/.en.favotter.net/gfwlist -server=/.en.hao123.com/127.0.0.1#5335 -ipset=/.en.hao123.com/gfwlist -server=/.enanyang.my/127.0.0.1#5335 -ipset=/.enanyang.my/gfwlist -server=/.encyclopedia.com/127.0.0.1#5335 -ipset=/.encyclopedia.com/gfwlist -server=/.enewstree.com/127.0.0.1#5335 -ipset=/.enewstree.com/gfwlist -server=/.enfal.de/127.0.0.1#5335 -ipset=/.enfal.de/gfwlist -server=/.engagedaily.org/127.0.0.1#5335 -ipset=/.engagedaily.org/gfwlist -server=/.englishforeveryone.org/127.0.0.1#5335 -ipset=/.englishforeveryone.org/gfwlist -server=/.englishfromengland.co.uk/127.0.0.1#5335 -ipset=/.englishfromengland.co.uk/gfwlist -server=/.englishpen.org/127.0.0.1#5335 -ipset=/.englishpen.org/gfwlist -server=/.enlighten.org.tw/127.0.0.1#5335 -ipset=/.enlighten.org.tw/gfwlist -server=/.entermap.com/127.0.0.1#5335 -ipset=/.entermap.com/gfwlist -server=/.entnt.com/127.0.0.1#5335 -ipset=/.entnt.com/gfwlist -server=/.environment.google/127.0.0.1#5335 -ipset=/.environment.google/gfwlist -server=/.epa.gov.tw/127.0.0.1#5335 -ipset=/.epa.gov.tw/gfwlist -server=/.epac.to/127.0.0.1#5335 -ipset=/.epac.to/gfwlist -server=/.episcopalchurch.org/127.0.0.1#5335 -ipset=/.episcopalchurch.org/gfwlist -server=/.epochhk.com/127.0.0.1#5335 -ipset=/.epochhk.com/gfwlist -server=/.epochtimes-bg.com/127.0.0.1#5335 -ipset=/.epochtimes-bg.com/gfwlist -server=/.epochtimes-romania.com/127.0.0.1#5335 -ipset=/.epochtimes-romania.com/gfwlist -server=/.epochtimes.co.il/127.0.0.1#5335 -ipset=/.epochtimes.co.il/gfwlist -server=/.epochtimes.co.kr/127.0.0.1#5335 -ipset=/.epochtimes.co.kr/gfwlist -server=/.epochtimes.com/127.0.0.1#5335 -ipset=/.epochtimes.com/gfwlist -server=/.epochtimes.cz/127.0.0.1#5335 -ipset=/.epochtimes.cz/gfwlist -server=/.epochtimes.de/127.0.0.1#5335 -ipset=/.epochtimes.de/gfwlist -server=/.epochtimes.fr/127.0.0.1#5335 -ipset=/.epochtimes.fr/gfwlist -server=/.epochtimes.ie/127.0.0.1#5335 -ipset=/.epochtimes.ie/gfwlist -server=/.epochtimes.it/127.0.0.1#5335 -ipset=/.epochtimes.it/gfwlist -server=/.epochtimes.jp/127.0.0.1#5335 -ipset=/.epochtimes.jp/gfwlist -server=/.epochtimes.ru/127.0.0.1#5335 -ipset=/.epochtimes.ru/gfwlist -server=/.epochtimes.se/127.0.0.1#5335 -ipset=/.epochtimes.se/gfwlist -server=/.epochtimestr.com/127.0.0.1#5335 -ipset=/.epochtimestr.com/gfwlist -server=/.epochweek.com/127.0.0.1#5335 -ipset=/.epochweek.com/gfwlist -server=/.epochweekly.com/127.0.0.1#5335 -ipset=/.epochweekly.com/gfwlist -server=/.eporner.com/127.0.0.1#5335 -ipset=/.eporner.com/gfwlist -server=/.equinenow.com/127.0.0.1#5335 -ipset=/.equinenow.com/gfwlist -server=/.erabaru.net/127.0.0.1#5335 -ipset=/.erabaru.net/gfwlist -server=/.eracom.com.tw/127.0.0.1#5335 -ipset=/.eracom.com.tw/gfwlist -server=/.eraysoft.com.tr/127.0.0.1#5335 -ipset=/.eraysoft.com.tr/gfwlist -server=/.erepublik.com/127.0.0.1#5335 -ipset=/.erepublik.com/gfwlist -server=/.erights.net/127.0.0.1#5335 -ipset=/.erights.net/gfwlist -server=/.eriversoft.com/127.0.0.1#5335 -ipset=/.eriversoft.com/gfwlist -server=/.erktv.com/127.0.0.1#5335 -ipset=/.erktv.com/gfwlist -server=/.ernestmandel.org/127.0.0.1#5335 -ipset=/.ernestmandel.org/gfwlist -server=/.erodaizensyu.com/127.0.0.1#5335 -ipset=/.erodaizensyu.com/gfwlist -server=/.erodoujinlog.com/127.0.0.1#5335 -ipset=/.erodoujinlog.com/gfwlist -server=/.erodoujinworld.com/127.0.0.1#5335 -ipset=/.erodoujinworld.com/gfwlist -server=/.eromanga-kingdom.com/127.0.0.1#5335 -ipset=/.eromanga-kingdom.com/gfwlist -server=/.eromangadouzin.com/127.0.0.1#5335 -ipset=/.eromangadouzin.com/gfwlist -server=/.eromon.net/127.0.0.1#5335 -ipset=/.eromon.net/gfwlist -server=/.eroprofile.com/127.0.0.1#5335 -ipset=/.eroprofile.com/gfwlist -server=/.eroticsaloon.net/127.0.0.1#5335 -ipset=/.eroticsaloon.net/gfwlist -server=/.eslite.com/127.0.0.1#5335 -ipset=/.eslite.com/gfwlist -server=/.esmtp.biz/127.0.0.1#5335 -ipset=/.esmtp.biz/gfwlist -server=/.esurance.com/127.0.0.1#5335 -ipset=/.esurance.com/gfwlist -server=/.etaa.org.au/127.0.0.1#5335 -ipset=/.etaa.org.au/gfwlist -server=/.etadult.com/127.0.0.1#5335 -ipset=/.etadult.com/gfwlist -server=/.etaiwannews.com/127.0.0.1#5335 -ipset=/.etaiwannews.com/gfwlist -server=/.etherdelta.com/127.0.0.1#5335 -ipset=/.etherdelta.com/gfwlist -server=/.etizer.org/127.0.0.1#5335 -ipset=/.etizer.org/gfwlist -server=/.etokki.com/127.0.0.1#5335 -ipset=/.etokki.com/gfwlist -server=/.etools.ncol.com/127.0.0.1#5335 -ipset=/.etools.ncol.com/gfwlist -server=/.etowns.net/127.0.0.1#5335 -ipset=/.etowns.net/gfwlist -server=/.etowns.org/127.0.0.1#5335 -ipset=/.etowns.org/gfwlist -server=/.etvonline.hk/127.0.0.1#5335 -ipset=/.etvonline.hk/gfwlist -server=/.eu.org/127.0.0.1#5335 -ipset=/.eu.org/gfwlist -server=/.eucasino.com/127.0.0.1#5335 -ipset=/.eucasino.com/gfwlist -server=/.eulam.com/127.0.0.1#5335 -ipset=/.eulam.com/gfwlist -server=/.eurekavpt.com/127.0.0.1#5335 -ipset=/.eurekavpt.com/gfwlist -server=/.euronews.com/127.0.0.1#5335 -ipset=/.euronews.com/gfwlist -server=/.evchk.wikia.com/127.0.0.1#5335 -ipset=/.evchk.wikia.com/gfwlist -server=/.evschool.net/127.0.0.1#5335 -ipset=/.evschool.net/gfwlist -server=/.exblog.jp/127.0.0.1#5335 -ipset=/.exblog.jp/gfwlist -server=/.exchristian.hk/127.0.0.1#5335 -ipset=/.exchristian.hk/gfwlist -server=/.exmo.com/127.0.0.1#5335 -ipset=/.exmo.com/gfwlist -server=/.exmormon.org/127.0.0.1#5335 -ipset=/.exmormon.org/gfwlist -server=/.expatshield.com/127.0.0.1#5335 -ipset=/.expatshield.com/gfwlist -server=/.expecthim.com/127.0.0.1#5335 -ipset=/.expecthim.com/gfwlist -server=/.expekt.com/127.0.0.1#5335 -ipset=/.expekt.com/gfwlist -server=/.experts-univers.com/127.0.0.1#5335 -ipset=/.experts-univers.com/gfwlist -server=/.exploader.net/127.0.0.1#5335 -ipset=/.exploader.net/gfwlist -server=/.expressvpn.com/127.0.0.1#5335 -ipset=/.expressvpn.com/gfwlist -server=/.exrates.me/127.0.0.1#5335 -ipset=/.exrates.me/gfwlist -server=/.extmatrix.com/127.0.0.1#5335 -ipset=/.extmatrix.com/gfwlist -server=/.extremetube.com/127.0.0.1#5335 -ipset=/.extremetube.com/gfwlist -server=/.exx.com/127.0.0.1#5335 -ipset=/.exx.com/gfwlist -server=/.eyevio.jp/127.0.0.1#5335 -ipset=/.eyevio.jp/gfwlist -server=/.eyny.com/127.0.0.1#5335 -ipset=/.eyny.com/gfwlist -server=/.ezpeer.com/127.0.0.1#5335 -ipset=/.ezpeer.com/gfwlist -server=/.ezua.com/127.0.0.1#5335 -ipset=/.ezua.com/gfwlist -server=/.fa.gov.tw/127.0.0.1#5335 -ipset=/.fa.gov.tw/gfwlist -server=/.facebook.br/127.0.0.1#5335 -ipset=/.facebook.br/gfwlist -server=/.facebook.com/127.0.0.1#5335 -ipset=/.facebook.com/gfwlist -server=/.facebook.design/127.0.0.1#5335 -ipset=/.facebook.design/gfwlist -server=/.facebook.hu/127.0.0.1#5335 -ipset=/.facebook.hu/gfwlist -server=/.facebook.in/127.0.0.1#5335 -ipset=/.facebook.in/gfwlist -server=/.facebook.nl/127.0.0.1#5335 -ipset=/.facebook.nl/gfwlist -server=/.facebook.se/127.0.0.1#5335 -ipset=/.facebook.se/gfwlist -server=/.facebookmail.com/127.0.0.1#5335 -ipset=/.facebookmail.com/gfwlist -server=/.facebookquotes4u.com/127.0.0.1#5335 -ipset=/.facebookquotes4u.com/gfwlist -server=/.faceless.me/127.0.0.1#5335 -ipset=/.faceless.me/gfwlist -server=/.facesofnyfw.com/127.0.0.1#5335 -ipset=/.facesofnyfw.com/gfwlist -server=/.facesoftibetanselfimmolators.info/127.0.0.1#5335 -ipset=/.facesoftibetanselfimmolators.info/gfwlist -server=/.fail.hk/127.0.0.1#5335 -ipset=/.fail.hk/gfwlist -server=/.faith100.org/127.0.0.1#5335 -ipset=/.faith100.org/gfwlist -server=/.faithfuleye.com/127.0.0.1#5335 -ipset=/.faithfuleye.com/gfwlist -server=/.faiththedog.info/127.0.0.1#5335 -ipset=/.faiththedog.info/gfwlist -server=/.fakku.net/127.0.0.1#5335 -ipset=/.fakku.net/gfwlist -server=/.falsefire.com/127.0.0.1#5335 -ipset=/.falsefire.com/gfwlist -server=/.falun-co.org/127.0.0.1#5335 -ipset=/.falun-co.org/gfwlist -server=/.falun-ny.net/127.0.0.1#5335 -ipset=/.falun-ny.net/gfwlist -server=/.falun.caltech.edu/127.0.0.1#5335 -ipset=/.falun.caltech.edu/gfwlist -server=/.falunart.org/127.0.0.1#5335 -ipset=/.falunart.org/gfwlist -server=/.falunasia.info/127.0.0.1#5335 -ipset=/.falunasia.info/gfwlist -server=/.falunau.org/127.0.0.1#5335 -ipset=/.falunau.org/gfwlist -server=/.falunaz.net/127.0.0.1#5335 -ipset=/.falunaz.net/gfwlist -server=/.falundafa-dc.org/127.0.0.1#5335 -ipset=/.falundafa-dc.org/gfwlist -server=/.falundafa-florida.org/127.0.0.1#5335 -ipset=/.falundafa-florida.org/gfwlist -server=/.falundafa-nc.org/127.0.0.1#5335 -ipset=/.falundafa-nc.org/gfwlist -server=/.falundafa-pa.net/127.0.0.1#5335 -ipset=/.falundafa-pa.net/gfwlist -server=/.falundafa-sacramento.org/127.0.0.1#5335 -ipset=/.falundafa-sacramento.org/gfwlist -server=/.falundafa.org/127.0.0.1#5335 -ipset=/.falundafa.org/gfwlist -server=/.falundafaindia.org/127.0.0.1#5335 -ipset=/.falundafaindia.org/gfwlist -server=/.falundafamuseum.org/127.0.0.1#5335 -ipset=/.falundafamuseum.org/gfwlist -server=/.falungong.club/127.0.0.1#5335 -ipset=/.falungong.club/gfwlist -server=/.falungong.de/127.0.0.1#5335 -ipset=/.falungong.de/gfwlist -server=/.falungong.org.uk/127.0.0.1#5335 -ipset=/.falungong.org.uk/gfwlist -server=/.falunhr.org/127.0.0.1#5335 -ipset=/.falunhr.org/gfwlist -server=/.faluninfo.de/127.0.0.1#5335 -ipset=/.faluninfo.de/gfwlist -server=/.faluninfo.net/127.0.0.1#5335 -ipset=/.faluninfo.net/gfwlist -server=/.falunpilipinas.net/127.0.0.1#5335 -ipset=/.falunpilipinas.net/gfwlist -server=/.falunworld.net/127.0.0.1#5335 -ipset=/.falunworld.net/gfwlist -server=/.familyfed.org/127.0.0.1#5335 -ipset=/.familyfed.org/gfwlist -server=/.famunion.com/127.0.0.1#5335 -ipset=/.famunion.com/gfwlist -server=/.fan-qiang.com/127.0.0.1#5335 -ipset=/.fan-qiang.com/gfwlist -server=/.fangbinxing.com/127.0.0.1#5335 -ipset=/.fangbinxing.com/gfwlist -server=/.fangeming.com/127.0.0.1#5335 -ipset=/.fangeming.com/gfwlist -server=/.fangeqiang.com/127.0.0.1#5335 -ipset=/.fangeqiang.com/gfwlist -server=/.fanglizhi.info/127.0.0.1#5335 -ipset=/.fanglizhi.info/gfwlist -server=/.fangmincn.org/127.0.0.1#5335 -ipset=/.fangmincn.org/gfwlist -server=/.fangong.forums-free.com/127.0.0.1#5335 -ipset=/.fangong.forums-free.com/gfwlist -server=/.fangong.org/127.0.0.1#5335 -ipset=/.fangong.org/gfwlist -server=/.fangongheike.com/127.0.0.1#5335 -ipset=/.fangongheike.com/gfwlist -server=/.fanhaodang.com/127.0.0.1#5335 -ipset=/.fanhaodang.com/gfwlist -server=/.fanqiang.tk/127.0.0.1#5335 -ipset=/.fanqiang.tk/gfwlist -server=/.fanqiangdang.com/127.0.0.1#5335 -ipset=/.fanqiangdang.com/gfwlist -server=/.fanqianghou.com/127.0.0.1#5335 -ipset=/.fanqianghou.com/gfwlist -server=/.fanqiangyakexi.net/127.0.0.1#5335 -ipset=/.fanqiangyakexi.net/gfwlist -server=/.fanqiangzhe.com/127.0.0.1#5335 -ipset=/.fanqiangzhe.com/gfwlist -server=/.fanswong.com/127.0.0.1#5335 -ipset=/.fanswong.com/gfwlist -server=/.fanyue.info/127.0.0.1#5335 -ipset=/.fanyue.info/gfwlist -server=/.fapdu.com/127.0.0.1#5335 -ipset=/.fapdu.com/gfwlist -server=/.faproxy.com/127.0.0.1#5335 -ipset=/.faproxy.com/gfwlist -server=/.faqserv.com/127.0.0.1#5335 -ipset=/.faqserv.com/gfwlist -server=/.fartit.com/127.0.0.1#5335 -ipset=/.fartit.com/gfwlist -server=/.farwestchina.com/127.0.0.1#5335 -ipset=/.farwestchina.com/gfwlist -server=/.fast.wistia.com/127.0.0.1#5335 -ipset=/.fast.wistia.com/gfwlist -server=/.fastpic.ru/127.0.0.1#5335 -ipset=/.fastpic.ru/gfwlist -server=/.fastssh.com/127.0.0.1#5335 -ipset=/.fastssh.com/gfwlist -server=/.faststone.org/127.0.0.1#5335 -ipset=/.faststone.org/gfwlist -server=/.fatbtc.com/127.0.0.1#5335 -ipset=/.fatbtc.com/gfwlist -server=/.favstar.fm/127.0.0.1#5335 -ipset=/.favstar.fm/gfwlist -server=/.fawanghuihui.org/127.0.0.1#5335 -ipset=/.fawanghuihui.org/gfwlist -server=/.fb.com/127.0.0.1#5335 -ipset=/.fb.com/gfwlist -server=/.fb.me/127.0.0.1#5335 -ipset=/.fb.me/gfwlist -server=/.fbaddins.com/127.0.0.1#5335 -ipset=/.fbaddins.com/gfwlist -server=/.fbcdn.net/127.0.0.1#5335 -ipset=/.fbcdn.net/gfwlist -server=/.fbsbx.com/127.0.0.1#5335 -ipset=/.fbsbx.com/gfwlist -server=/.fbworkmail.com/127.0.0.1#5335 -ipset=/.fbworkmail.com/gfwlist -server=/.fc2.com/127.0.0.1#5335 -ipset=/.fc2.com/gfwlist -server=/.fc2blog.net/127.0.0.1#5335 -ipset=/.fc2blog.net/gfwlist -server=/.fc2china.com/127.0.0.1#5335 -ipset=/.fc2china.com/gfwlist -server=/.fc2cn.com/127.0.0.1#5335 -ipset=/.fc2cn.com/gfwlist -server=/.fda.gov.tw/127.0.0.1#5335 -ipset=/.fda.gov.tw/gfwlist -server=/.fdc64.de/127.0.0.1#5335 -ipset=/.fdc64.de/gfwlist -server=/.fdc64.org/127.0.0.1#5335 -ipset=/.fdc64.org/gfwlist -server=/.fdc89.jp/127.0.0.1#5335 -ipset=/.fdc89.jp/gfwlist -server=/.feedburner.com/127.0.0.1#5335 -ipset=/.feedburner.com/gfwlist -server=/.feedly.com/127.0.0.1#5335 -ipset=/.feedly.com/gfwlist -server=/.feeds.fileforum.com/127.0.0.1#5335 -ipset=/.feeds.fileforum.com/gfwlist -server=/.feedx.net/127.0.0.1#5335 -ipset=/.feedx.net/gfwlist -server=/.feelssh.com/127.0.0.1#5335 -ipset=/.feelssh.com/gfwlist -server=/.feer.com/127.0.0.1#5335 -ipset=/.feer.com/gfwlist -server=/.feifeiss.com/127.0.0.1#5335 -ipset=/.feifeiss.com/gfwlist -server=/.feitian-california.org/127.0.0.1#5335 -ipset=/.feitian-california.org/gfwlist -server=/.feitianacademy.org/127.0.0.1#5335 -ipset=/.feitianacademy.org/gfwlist -server=/.feministteacher.com/127.0.0.1#5335 -ipset=/.feministteacher.com/gfwlist -server=/.fengzhenghu.com/127.0.0.1#5335 -ipset=/.fengzhenghu.com/gfwlist -server=/.fengzhenghu.net/127.0.0.1#5335 -ipset=/.fengzhenghu.net/gfwlist -server=/.fevernet.com/127.0.0.1#5335 -ipset=/.fevernet.com/gfwlist -server=/.ff.im/127.0.0.1#5335 -ipset=/.ff.im/gfwlist -server=/.fffff.at/127.0.0.1#5335 -ipset=/.fffff.at/gfwlist -server=/.fflick.com/127.0.0.1#5335 -ipset=/.fflick.com/gfwlist -server=/.ffvpn.com/127.0.0.1#5335 -ipset=/.ffvpn.com/gfwlist -server=/.fgmtv.net/127.0.0.1#5335 -ipset=/.fgmtv.net/gfwlist -server=/.fgmtv.org/127.0.0.1#5335 -ipset=/.fgmtv.org/gfwlist -server=/.fhreports.net/127.0.0.1#5335 -ipset=/.fhreports.net/gfwlist -server=/.fiddle.jshell.net/127.0.0.1#5335 -ipset=/.fiddle.jshell.net/gfwlist -server=/.figprayer.com/127.0.0.1#5335 -ipset=/.figprayer.com/gfwlist -server=/.fileflyer.com/127.0.0.1#5335 -ipset=/.fileflyer.com/gfwlist -server=/.files2me.com/127.0.0.1#5335 -ipset=/.files2me.com/gfwlist -server=/.filesor.com/127.0.0.1#5335 -ipset=/.filesor.com/gfwlist -server=/.fillthesquare.org/127.0.0.1#5335 -ipset=/.fillthesquare.org/gfwlist -server=/.filmingfortibet.org/127.0.0.1#5335 -ipset=/.filmingfortibet.org/gfwlist -server=/.filthdump.com/127.0.0.1#5335 -ipset=/.filthdump.com/gfwlist -server=/.financetwitter.com/127.0.0.1#5335 -ipset=/.financetwitter.com/gfwlist -server=/.finchvpn.com/127.0.0.1#5335 -ipset=/.finchvpn.com/gfwlist -server=/.findmespot.com/127.0.0.1#5335 -ipset=/.findmespot.com/gfwlist -server=/.findyoutube.com/127.0.0.1#5335 -ipset=/.findyoutube.com/gfwlist -server=/.findyoutube.net/127.0.0.1#5335 -ipset=/.findyoutube.net/gfwlist -server=/.fingerdaily.com/127.0.0.1#5335 -ipset=/.fingerdaily.com/gfwlist -server=/.finler.net/127.0.0.1#5335 -ipset=/.finler.net/gfwlist -server=/.firearmsworld.net/127.0.0.1#5335 -ipset=/.firearmsworld.net/gfwlist -server=/.firebaseio.com/127.0.0.1#5335 -ipset=/.firebaseio.com/gfwlist -server=/.fireofliberty.org/127.0.0.1#5335 -ipset=/.fireofliberty.org/gfwlist -server=/.firetweet.io/127.0.0.1#5335 -ipset=/.firetweet.io/gfwlist -server=/.firstfivefollowers.com/127.0.0.1#5335 -ipset=/.firstfivefollowers.com/gfwlist -server=/.flagsonline.it/127.0.0.1#5335 -ipset=/.flagsonline.it/gfwlist -server=/.flecheinthepeche.fr/127.0.0.1#5335 -ipset=/.flecheinthepeche.fr/gfwlist -server=/.fleshbot.com/127.0.0.1#5335 -ipset=/.fleshbot.com/gfwlist -server=/.fleursdeslettres.com/127.0.0.1#5335 -ipset=/.fleursdeslettres.com/gfwlist -server=/.flgg.us/127.0.0.1#5335 -ipset=/.flgg.us/gfwlist -server=/.flgjustice.org/127.0.0.1#5335 -ipset=/.flgjustice.org/gfwlist -server=/.flickr.com/127.0.0.1#5335 -ipset=/.flickr.com/gfwlist -server=/.flickrhivemind.net/127.0.0.1#5335 -ipset=/.flickrhivemind.net/gfwlist -server=/.flickriver.com/127.0.0.1#5335 -ipset=/.flickriver.com/gfwlist -server=/.fling.com/127.0.0.1#5335 -ipset=/.fling.com/gfwlist -server=/.flipboard.com/127.0.0.1#5335 -ipset=/.flipboard.com/gfwlist -server=/.flipkart.com/127.0.0.1#5335 -ipset=/.flipkart.com/gfwlist -server=/.flitto.com/127.0.0.1#5335 -ipset=/.flitto.com/gfwlist -server=/.flnet.org/127.0.0.1#5335 -ipset=/.flnet.org/gfwlist -server=/.flog.tw/127.0.0.1#5335 -ipset=/.flog.tw/gfwlist -server=/.flyvpn.com/127.0.0.1#5335 -ipset=/.flyvpn.com/gfwlist -server=/.flyzy2005.com/127.0.0.1#5335 -ipset=/.flyzy2005.com/gfwlist -server=/.fnac.be/127.0.0.1#5335 -ipset=/.fnac.be/gfwlist -server=/.fnac.com/127.0.0.1#5335 -ipset=/.fnac.com/gfwlist -server=/.fochk.org/127.0.0.1#5335 -ipset=/.fochk.org/gfwlist -server=/.focustaiwan.tw/127.0.0.1#5335 -ipset=/.focustaiwan.tw/gfwlist -server=/.focusvpn.com/127.0.0.1#5335 -ipset=/.focusvpn.com/gfwlist -server=/.fofg-europe.net/127.0.0.1#5335 -ipset=/.fofg-europe.net/gfwlist -server=/.fofg.org/127.0.0.1#5335 -ipset=/.fofg.org/gfwlist -server=/.fofldfradio.org/127.0.0.1#5335 -ipset=/.fofldfradio.org/gfwlist -server=/.fooooo.com/127.0.0.1#5335 -ipset=/.fooooo.com/gfwlist -server=/.footwiball.com/127.0.0.1#5335 -ipset=/.footwiball.com/gfwlist -server=/.foreignpolicy.com/127.0.0.1#5335 -ipset=/.foreignpolicy.com/gfwlist -server=/.forum.baby-kingdom.com/127.0.0.1#5335 -ipset=/.forum.baby-kingdom.com/gfwlist -server=/.forum.cyberctm.com/127.0.0.1#5335 -ipset=/.forum.cyberctm.com/gfwlist -server=/.forum.idsam.com/127.0.0.1#5335 -ipset=/.forum.idsam.com/gfwlist -server=/.forum.my903.com/127.0.0.1#5335 -ipset=/.forum.my903.com/gfwlist -server=/.forum.mymaji.com/127.0.0.1#5335 -ipset=/.forum.mymaji.com/gfwlist -server=/.forum.omy.sg/127.0.0.1#5335 -ipset=/.forum.omy.sg/gfwlist -server=/.forum.palmislife.com/127.0.0.1#5335 -ipset=/.forum.palmislife.com/gfwlist -server=/.forum.setty.com.tw/127.0.0.1#5335 -ipset=/.forum.setty.com.tw/gfwlist -server=/.forum.sina.com.hk/127.0.0.1#5335 -ipset=/.forum.sina.com.hk/gfwlist -server=/.forum.slime.com.tw/127.0.0.1#5335 -ipset=/.forum.slime.com.tw/gfwlist -server=/.forum.tvb.com/127.0.0.1#5335 -ipset=/.forum.tvb.com/gfwlist -server=/.forum4hk.com/127.0.0.1#5335 -ipset=/.forum4hk.com/gfwlist -server=/.fotile.me/127.0.0.1#5335 -ipset=/.fotile.me/gfwlist -server=/.fourface.nodesnoop.com/127.0.0.1#5335 -ipset=/.fourface.nodesnoop.com/gfwlist -server=/.fourthinternational.org/127.0.0.1#5335 -ipset=/.fourthinternational.org/gfwlist -server=/.foxdie.us/127.0.0.1#5335 -ipset=/.foxdie.us/gfwlist -server=/.foxgay.com/127.0.0.1#5335 -ipset=/.foxgay.com/gfwlist -server=/.foxsub.com/127.0.0.1#5335 -ipset=/.foxsub.com/gfwlist -server=/.foxtang.com/127.0.0.1#5335 -ipset=/.foxtang.com/gfwlist -server=/.fpmt-osel.org/127.0.0.1#5335 -ipset=/.fpmt-osel.org/gfwlist -server=/.fpmt.org/127.0.0.1#5335 -ipset=/.fpmt.org/gfwlist -server=/.fpmt.tw/127.0.0.1#5335 -ipset=/.fpmt.tw/gfwlist -server=/.fpmtmexico.org/127.0.0.1#5335 -ipset=/.fpmtmexico.org/gfwlist -server=/.fq.wikia.com/127.0.0.1#5335 -ipset=/.fq.wikia.com/gfwlist -server=/.fqok.org/127.0.0.1#5335 -ipset=/.fqok.org/gfwlist -server=/.fqrouter.com/127.0.0.1#5335 -ipset=/.fqrouter.com/gfwlist -server=/.franklc.com/127.0.0.1#5335 -ipset=/.franklc.com/gfwlist -server=/.freakshare.com/127.0.0.1#5335 -ipset=/.freakshare.com/gfwlist -server=/.free-gate.org/127.0.0.1#5335 -ipset=/.free-gate.org/gfwlist -server=/.free-hada-now.org/127.0.0.1#5335 -ipset=/.free-hada-now.org/gfwlist -server=/.free-proxy.cz/127.0.0.1#5335 -ipset=/.free-proxy.cz/gfwlist -server=/.free-ss.site/127.0.0.1#5335 -ipset=/.free-ss.site/gfwlist -server=/.free-ssh.com/127.0.0.1#5335 -ipset=/.free-ssh.com/gfwlist -server=/.free4u.com.ar/127.0.0.1#5335 -ipset=/.free4u.com.ar/gfwlist -server=/.freealim.com/127.0.0.1#5335 -ipset=/.freealim.com/gfwlist -server=/.freebrowser.org/127.0.0.1#5335 -ipset=/.freebrowser.org/gfwlist -server=/.freechal.com/127.0.0.1#5335 -ipset=/.freechal.com/gfwlist -server=/.freechina.net/127.0.0.1#5335 -ipset=/.freechina.net/gfwlist -server=/.freechinaforum.org/127.0.0.1#5335 -ipset=/.freechinaforum.org/gfwlist -server=/.freeddns.com/127.0.0.1#5335 -ipset=/.freeddns.com/gfwlist -server=/.freeddns.org/127.0.0.1#5335 -ipset=/.freeddns.org/gfwlist -server=/.freedomchina.info/127.0.0.1#5335 -ipset=/.freedomchina.info/gfwlist -server=/.freedomhouse.org/127.0.0.1#5335 -ipset=/.freedomhouse.org/gfwlist -server=/.freedominfonetweb.wordpress.com/127.0.0.1#5335 -ipset=/.freedominfonetweb.wordpress.com/gfwlist -server=/.freedomsherald.org/127.0.0.1#5335 -ipset=/.freedomsherald.org/gfwlist -server=/.freeforums.org/127.0.0.1#5335 -ipset=/.freeforums.org/gfwlist -server=/.freefq.com/127.0.0.1#5335 -ipset=/.freefq.com/gfwlist -server=/.freefuckvids.com/127.0.0.1#5335 -ipset=/.freefuckvids.com/gfwlist -server=/.freegao.com/127.0.0.1#5335 -ipset=/.freegao.com/gfwlist -server=/.freehongkong.org/127.0.0.1#5335 -ipset=/.freehongkong.org/gfwlist -server=/.freeilhamtohti.org/127.0.0.1#5335 -ipset=/.freeilhamtohti.org/gfwlist -server=/.freekazakhs.org/127.0.0.1#5335 -ipset=/.freekazakhs.org/gfwlist -server=/.freekwonpyong.org/127.0.0.1#5335 -ipset=/.freekwonpyong.org/gfwlist -server=/.freelotto.com/127.0.0.1#5335 -ipset=/.freelotto.com/gfwlist -server=/.freeman2.com/127.0.0.1#5335 -ipset=/.freeman2.com/gfwlist -server=/.freemoren.com/127.0.0.1#5335 -ipset=/.freemoren.com/gfwlist -server=/.freemorenews.com/127.0.0.1#5335 -ipset=/.freemorenews.com/gfwlist -server=/.freenet-china.org/127.0.0.1#5335 -ipset=/.freenet-china.org/gfwlist -server=/.freenetproject.org/127.0.0.1#5335 -ipset=/.freenetproject.org/gfwlist -server=/.freenewscn.com/127.0.0.1#5335 -ipset=/.freenewscn.com/gfwlist -server=/.freeopenvpn.com/127.0.0.1#5335 -ipset=/.freeopenvpn.com/gfwlist -server=/.freeoz.org/127.0.0.1#5335 -ipset=/.freeoz.org/gfwlist -server=/.freessh.us/127.0.0.1#5335 -ipset=/.freessh.us/gfwlist -server=/.freetcp.com/127.0.0.1#5335 -ipset=/.freetcp.com/gfwlist -server=/.freetibet.net/127.0.0.1#5335 -ipset=/.freetibet.net/gfwlist -server=/.freetibet.org/127.0.0.1#5335 -ipset=/.freetibet.org/gfwlist -server=/.freetibetanheroes.org/127.0.0.1#5335 -ipset=/.freetibetanheroes.org/gfwlist -server=/.freeviewmovies.com/127.0.0.1#5335 -ipset=/.freeviewmovies.com/gfwlist -server=/.freevpn.me/127.0.0.1#5335 -ipset=/.freevpn.me/gfwlist -server=/.freevpn.nl/127.0.0.1#5335 -ipset=/.freevpn.nl/gfwlist -server=/.freewallpaper4.me/127.0.0.1#5335 -ipset=/.freewallpaper4.me/gfwlist -server=/.freewebs.com/127.0.0.1#5335 -ipset=/.freewebs.com/gfwlist -server=/.freewechat.com/127.0.0.1#5335 -ipset=/.freewechat.com/gfwlist -server=/.freewww.biz/127.0.0.1#5335 -ipset=/.freewww.biz/gfwlist -server=/.freewww.info/127.0.0.1#5335 -ipset=/.freewww.info/gfwlist -server=/.freexinwen.com/127.0.0.1#5335 -ipset=/.freexinwen.com/gfwlist -server=/.freeyellow.com/127.0.0.1#5335 -ipset=/.freeyellow.com/gfwlist -server=/.freeyoutubeproxy.net/127.0.0.1#5335 -ipset=/.freeyoutubeproxy.net/gfwlist -server=/.friendfeed.com/127.0.0.1#5335 -ipset=/.friendfeed.com/gfwlist -server=/.friends-of-tibet.org/127.0.0.1#5335 -ipset=/.friends-of-tibet.org/gfwlist -server=/.friendsoftibet.org/127.0.0.1#5335 -ipset=/.friendsoftibet.org/gfwlist -server=/.fring.com/127.0.0.1#5335 -ipset=/.fring.com/gfwlist -server=/.fringenetwork.com/127.0.0.1#5335 -ipset=/.fringenetwork.com/gfwlist -server=/.from-pr.com/127.0.0.1#5335 -ipset=/.from-pr.com/gfwlist -server=/.from-sd.com/127.0.0.1#5335 -ipset=/.from-sd.com/gfwlist -server=/.fromchinatousa.net/127.0.0.1#5335 -ipset=/.fromchinatousa.net/gfwlist -server=/.frommel.net/127.0.0.1#5335 -ipset=/.frommel.net/gfwlist -server=/.frontlinedefenders.org/127.0.0.1#5335 -ipset=/.frontlinedefenders.org/gfwlist -server=/.frootvpn.com/127.0.0.1#5335 -ipset=/.frootvpn.com/gfwlist -server=/.fscked.org/127.0.0.1#5335 -ipset=/.fscked.org/gfwlist -server=/.fsurf.com/127.0.0.1#5335 -ipset=/.fsurf.com/gfwlist -server=/.ftchinese.com/127.0.0.1#5335 -ipset=/.ftchinese.com/gfwlist -server=/.ftp1.biz/127.0.0.1#5335 -ipset=/.ftp1.biz/gfwlist -server=/.ftpserver.biz/127.0.0.1#5335 -ipset=/.ftpserver.biz/gfwlist -server=/.ftv.com.tw/127.0.0.1#5335 -ipset=/.ftv.com.tw/gfwlist -server=/.fucd.com/127.0.0.1#5335 -ipset=/.fucd.com/gfwlist -server=/.fuckcnnic.net/127.0.0.1#5335 -ipset=/.fuckcnnic.net/gfwlist -server=/.fuckgfw.org/127.0.0.1#5335 -ipset=/.fuckgfw.org/gfwlist -server=/.fulione.com/127.0.0.1#5335 -ipset=/.fulione.com/gfwlist -server=/.fullerconsideration.com/127.0.0.1#5335 -ipset=/.fullerconsideration.com/gfwlist -server=/.fulue.com/127.0.0.1#5335 -ipset=/.fulue.com/gfwlist -server=/.funf.tw/127.0.0.1#5335 -ipset=/.funf.tw/gfwlist -server=/.funkyimg.com/127.0.0.1#5335 -ipset=/.funkyimg.com/gfwlist -server=/.funp.com/127.0.0.1#5335 -ipset=/.funp.com/gfwlist -server=/.fuq.com/127.0.0.1#5335 -ipset=/.fuq.com/gfwlist -server=/.furbo.org/127.0.0.1#5335 -ipset=/.furbo.org/gfwlist -server=/.furhhdl.org/127.0.0.1#5335 -ipset=/.furhhdl.org/gfwlist -server=/.furinkan.com/127.0.0.1#5335 -ipset=/.furinkan.com/gfwlist -server=/.furl.net/127.0.0.1#5335 -ipset=/.furl.net/gfwlist -server=/.futurechinaforum.org/127.0.0.1#5335 -ipset=/.futurechinaforum.org/gfwlist -server=/.futuremessage.org/127.0.0.1#5335 -ipset=/.futuremessage.org/gfwlist -server=/.fux.com/127.0.0.1#5335 -ipset=/.fux.com/gfwlist -server=/.fuyin.net/127.0.0.1#5335 -ipset=/.fuyin.net/gfwlist -server=/.fuyindiantai.org/127.0.0.1#5335 -ipset=/.fuyindiantai.org/gfwlist -server=/.fuyu.org.tw/127.0.0.1#5335 -ipset=/.fuyu.org.tw/gfwlist -server=/.fw.cm/127.0.0.1#5335 -ipset=/.fw.cm/gfwlist -server=/.fxcm-chinese.com/127.0.0.1#5335 -ipset=/.fxcm-chinese.com/gfwlist -server=/.fxnetworks.com/127.0.0.1#5335 -ipset=/.fxnetworks.com/gfwlist -server=/.fzh999.com/127.0.0.1#5335 -ipset=/.fzh999.com/gfwlist -server=/.fzh999.net/127.0.0.1#5335 -ipset=/.fzh999.net/gfwlist -server=/.fzlm.com/127.0.0.1#5335 -ipset=/.fzlm.com/gfwlist -server=/.g-area.org/127.0.0.1#5335 -ipset=/.g-area.org/gfwlist -server=/.g-queen.com/127.0.0.1#5335 -ipset=/.g-queen.com/gfwlist -server=/.g.co/127.0.0.1#5335 -ipset=/.g.co/gfwlist -server=/.g0v.social/127.0.0.1#5335 -ipset=/.g0v.social/gfwlist -server=/.g6hentai.com/127.0.0.1#5335 -ipset=/.g6hentai.com/gfwlist -server=/.gabocorp.com/127.0.0.1#5335 -ipset=/.gabocorp.com/gfwlist -server=/.gaeproxy.com/127.0.0.1#5335 -ipset=/.gaeproxy.com/gfwlist -server=/.gaforum.org/127.0.0.1#5335 -ipset=/.gaforum.org/gfwlist -server=/.gagaoolala.com/127.0.0.1#5335 -ipset=/.gagaoolala.com/gfwlist -server=/.galaxymacau.com/127.0.0.1#5335 -ipset=/.galaxymacau.com/gfwlist -server=/.galenwu.com/127.0.0.1#5335 -ipset=/.galenwu.com/gfwlist -server=/.galstars.net/127.0.0.1#5335 -ipset=/.galstars.net/gfwlist -server=/.game735.com/127.0.0.1#5335 -ipset=/.game735.com/gfwlist -server=/.gamebase.com.tw/127.0.0.1#5335 -ipset=/.gamebase.com.tw/gfwlist -server=/.gamejolt.com/127.0.0.1#5335 -ipset=/.gamejolt.com/gfwlist -server=/.gamer-cds.cdn.hinet.net/127.0.0.1#5335 -ipset=/.gamer-cds.cdn.hinet.net/gfwlist -server=/.gamer.com.tw/127.0.0.1#5335 -ipset=/.gamer.com.tw/gfwlist -server=/.gamer2-cds.cdn.hinet.net/127.0.0.1#5335 -ipset=/.gamer2-cds.cdn.hinet.net/gfwlist -server=/.gamez.com.tw/127.0.0.1#5335 -ipset=/.gamez.com.tw/gfwlist -server=/.gamousa.com/127.0.0.1#5335 -ipset=/.gamousa.com/gfwlist -server=/.ganges.com/127.0.0.1#5335 -ipset=/.ganges.com/gfwlist -server=/.gaoming.net/127.0.0.1#5335 -ipset=/.gaoming.net/gfwlist -server=/.gaopi.net/127.0.0.1#5335 -ipset=/.gaopi.net/gfwlist -server=/.gaozhisheng.net/127.0.0.1#5335 -ipset=/.gaozhisheng.net/gfwlist -server=/.gaozhisheng.org/127.0.0.1#5335 -ipset=/.gaozhisheng.org/gfwlist -server=/.gardennetworks.com/127.0.0.1#5335 -ipset=/.gardennetworks.com/gfwlist -server=/.gardennetworks.org/127.0.0.1#5335 -ipset=/.gardennetworks.org/gfwlist -server=/.gartlive.com/127.0.0.1#5335 -ipset=/.gartlive.com/gfwlist -server=/.gate-project.com/127.0.0.1#5335 -ipset=/.gate-project.com/gfwlist -server=/.gate.io/127.0.0.1#5335 -ipset=/.gate.io/gfwlist -server=/.gatecoin.com/127.0.0.1#5335 -ipset=/.gatecoin.com/gfwlist -server=/.gather.com/127.0.0.1#5335 -ipset=/.gather.com/gfwlist -server=/.gatherproxy.com/127.0.0.1#5335 -ipset=/.gatherproxy.com/gfwlist -server=/.gati.org.tw/127.0.0.1#5335 -ipset=/.gati.org.tw/gfwlist -server=/.gaybubble.com/127.0.0.1#5335 -ipset=/.gaybubble.com/gfwlist -server=/.gaycn.net/127.0.0.1#5335 -ipset=/.gaycn.net/gfwlist -server=/.gayhub.com/127.0.0.1#5335 -ipset=/.gayhub.com/gfwlist -server=/.gaymap.cc/127.0.0.1#5335 -ipset=/.gaymap.cc/gfwlist -server=/.gaymenring.com/127.0.0.1#5335 -ipset=/.gaymenring.com/gfwlist -server=/.gaytube.com/127.0.0.1#5335 -ipset=/.gaytube.com/gfwlist -server=/.gaywatch.com/127.0.0.1#5335 -ipset=/.gaywatch.com/gfwlist -server=/.gazotube.com/127.0.0.1#5335 -ipset=/.gazotube.com/gfwlist -server=/.gcc.org.hk/127.0.0.1#5335 -ipset=/.gcc.org.hk/gfwlist -server=/.gclooney.com/127.0.0.1#5335 -ipset=/.gclooney.com/gfwlist -server=/.gcmasia.com/127.0.0.1#5335 -ipset=/.gcmasia.com/gfwlist -server=/.gcpnews.com/127.0.0.1#5335 -ipset=/.gcpnews.com/gfwlist -server=/.gcr.io/127.0.0.1#5335 -ipset=/.gcr.io/gfwlist -server=/.gdzf.org/127.0.0.1#5335 -ipset=/.gdzf.org/gfwlist -server=/.geek-art.net/127.0.0.1#5335 -ipset=/.geek-art.net/gfwlist -server=/.geekheart.info/127.0.0.1#5335 -ipset=/.geekheart.info/gfwlist -server=/.gekikame.com/127.0.0.1#5335 -ipset=/.gekikame.com/gfwlist -server=/.gelbooru.com/127.0.0.1#5335 -ipset=/.gelbooru.com/gfwlist -server=/.geocities.co.jp/127.0.0.1#5335 -ipset=/.geocities.co.jp/gfwlist -server=/.geocities.jp/127.0.0.1#5335 -ipset=/.geocities.jp/gfwlist -server=/.gerefoundation.org/127.0.0.1#5335 -ipset=/.gerefoundation.org/gfwlist -server=/.get.app/127.0.0.1#5335 -ipset=/.get.app/gfwlist -server=/.get.dev/127.0.0.1#5335 -ipset=/.get.dev/gfwlist -server=/.get.how/127.0.0.1#5335 -ipset=/.get.how/gfwlist -server=/.get.page/127.0.0.1#5335 -ipset=/.get.page/gfwlist -server=/.getastrill.com/127.0.0.1#5335 -ipset=/.getastrill.com/gfwlist -server=/.getchu.com/127.0.0.1#5335 -ipset=/.getchu.com/gfwlist -server=/.getcloak.com/127.0.0.1#5335 -ipset=/.getcloak.com/gfwlist -server=/.getfoxyproxy.org/127.0.0.1#5335 -ipset=/.getfoxyproxy.org/gfwlist -server=/.getfreedur.com/127.0.0.1#5335 -ipset=/.getfreedur.com/gfwlist -server=/.getgom.com/127.0.0.1#5335 -ipset=/.getgom.com/gfwlist -server=/.geti2p.net/127.0.0.1#5335 -ipset=/.geti2p.net/gfwlist -server=/.getiton.com/127.0.0.1#5335 -ipset=/.getiton.com/gfwlist -server=/.getlantern.org/127.0.0.1#5335 -ipset=/.getlantern.org/gfwlist -server=/.getmdl.io/127.0.0.1#5335 -ipset=/.getmdl.io/gfwlist -server=/.getoutline.org/127.0.0.1#5335 -ipset=/.getoutline.org/gfwlist -server=/.getsocialscope.com/127.0.0.1#5335 -ipset=/.getsocialscope.com/gfwlist -server=/.getsync.com/127.0.0.1#5335 -ipset=/.getsync.com/gfwlist -server=/.gettrials.com/127.0.0.1#5335 -ipset=/.gettrials.com/gfwlist -server=/.gettyimages.com/127.0.0.1#5335 -ipset=/.gettyimages.com/gfwlist -server=/.getuploader.com/127.0.0.1#5335 -ipset=/.getuploader.com/gfwlist -server=/.gfbv.de/127.0.0.1#5335 -ipset=/.gfbv.de/gfwlist -server=/.gfgold.com.hk/127.0.0.1#5335 -ipset=/.gfgold.com.hk/gfwlist -server=/.gfsale.com/127.0.0.1#5335 -ipset=/.gfsale.com/gfwlist -server=/.gfw.org.ua/127.0.0.1#5335 -ipset=/.gfw.org.ua/gfwlist -server=/.gfw.press/127.0.0.1#5335 -ipset=/.gfw.press/gfwlist -server=/.ggpht.com/127.0.0.1#5335 -ipset=/.ggpht.com/gfwlist -server=/.ggssl.com/127.0.0.1#5335 -ipset=/.ggssl.com/gfwlist -server=/.ghostpath.com/127.0.0.1#5335 -ipset=/.ghostpath.com/gfwlist -server=/.ghut.org/127.0.0.1#5335 -ipset=/.ghut.org/gfwlist -server=/.giantessnight.com/127.0.0.1#5335 -ipset=/.giantessnight.com/gfwlist -server=/.gifree.com/127.0.0.1#5335 -ipset=/.gifree.com/gfwlist -server=/.giga-web.jp/127.0.0.1#5335 -ipset=/.giga-web.jp/gfwlist -server=/.gigporno.ru/127.0.0.1#5335 -ipset=/.gigporno.ru/gfwlist -server=/.girlbanker.com/127.0.0.1#5335 -ipset=/.girlbanker.com/gfwlist -server=/.gist.github.com/127.0.0.1#5335 -ipset=/.gist.github.com/gfwlist -server=/.git.io/127.0.0.1#5335 -ipset=/.git.io/gfwlist -server=/.github.io/127.0.0.1#5335 -ipset=/.github.io/gfwlist -server=/.githubassets.com/127.0.0.1#5335 -ipset=/.githubassets.com/gfwlist -server=/.githubusercontent.com/127.0.0.1#5335 -ipset=/.githubusercontent.com/gfwlist -server=/.gizlen.net/127.0.0.1#5335 -ipset=/.gizlen.net/gfwlist -server=/.gjczz.com/127.0.0.1#5335 -ipset=/.gjczz.com/gfwlist -server=/.glass8.eu/127.0.0.1#5335 -ipset=/.glass8.eu/gfwlist -server=/.global.bing.com/127.0.0.1#5335 -ipset=/.global.bing.com/gfwlist -server=/.globaljihad.net/127.0.0.1#5335 -ipset=/.globaljihad.net/gfwlist -server=/.globalmediaoutreach.com/127.0.0.1#5335 -ipset=/.globalmediaoutreach.com/gfwlist -server=/.globalmuseumoncommunism.org/127.0.0.1#5335 -ipset=/.globalmuseumoncommunism.org/gfwlist -server=/.globalrescue.net/127.0.0.1#5335 -ipset=/.globalrescue.net/gfwlist -server=/.globaltm.org/127.0.0.1#5335 -ipset=/.globaltm.org/gfwlist -server=/.globalvoices.org/127.0.0.1#5335 -ipset=/.globalvoices.org/gfwlist -server=/.globalvoicesonline.org/127.0.0.1#5335 -ipset=/.globalvoicesonline.org/gfwlist -server=/.globalvpn.net/127.0.0.1#5335 -ipset=/.globalvpn.net/gfwlist -server=/.glock.com/127.0.0.1#5335 -ipset=/.glock.com/gfwlist -server=/.gloryhole.com/127.0.0.1#5335 -ipset=/.gloryhole.com/gfwlist -server=/.glorystar.me/127.0.0.1#5335 -ipset=/.glorystar.me/gfwlist -server=/.glype.com/127.0.0.1#5335 -ipset=/.glype.com/gfwlist -server=/.gmail.com/127.0.0.1#5335 -ipset=/.gmail.com/gfwlist -server=/.gmbd.cn/127.0.0.1#5335 -ipset=/.gmbd.cn/gfwlist -server=/.gmhz.org/127.0.0.1#5335 -ipset=/.gmhz.org/gfwlist -server=/.gmll.org/127.0.0.1#5335 -ipset=/.gmll.org/gfwlist -server=/.gmodules.com/127.0.0.1#5335 -ipset=/.gmodules.com/gfwlist -server=/.gmozomg.izihost.org/127.0.0.1#5335 -ipset=/.gmozomg.izihost.org/gfwlist -server=/.gnci.org.hk/127.0.0.1#5335 -ipset=/.gnci.org.hk/gfwlist -server=/.gnews.org/127.0.0.1#5335 -ipset=/.gnews.org/gfwlist -server=/.go-pki.com/127.0.0.1#5335 -ipset=/.go-pki.com/gfwlist -server=/.go.nesnode.com/127.0.0.1#5335 -ipset=/.go.nesnode.com/gfwlist -server=/.go141.com/127.0.0.1#5335 -ipset=/.go141.com/gfwlist -server=/.goagent.biz/127.0.0.1#5335 -ipset=/.goagent.biz/gfwlist -server=/.goagent.codeplex.com/127.0.0.1#5335 -ipset=/.goagent.codeplex.com/gfwlist -server=/.goagentplus.com/127.0.0.1#5335 -ipset=/.goagentplus.com/gfwlist -server=/.gobet.cc/127.0.0.1#5335 -ipset=/.gobet.cc/gfwlist -server=/.godfootsteps.org/127.0.0.1#5335 -ipset=/.godfootsteps.org/gfwlist -server=/.godns.work/127.0.0.1#5335 -ipset=/.godns.work/gfwlist -server=/.godoc.org/127.0.0.1#5335 -ipset=/.godoc.org/gfwlist -server=/.godsdirectcontact.co.uk/127.0.0.1#5335 -ipset=/.godsdirectcontact.co.uk/gfwlist -server=/.godsdirectcontact.org/127.0.0.1#5335 -ipset=/.godsdirectcontact.org/gfwlist -server=/.godsimmediatecontact.com/127.0.0.1#5335 -ipset=/.godsimmediatecontact.com/gfwlist -server=/.gogotunnel.com/127.0.0.1#5335 -ipset=/.gogotunnel.com/gfwlist -server=/.gohappy.com.tw/127.0.0.1#5335 -ipset=/.gohappy.com.tw/gfwlist -server=/.gojet.krtco.com.tw/127.0.0.1#5335 -ipset=/.gojet.krtco.com.tw/gfwlist -server=/.gokbayrak.com/127.0.0.1#5335 -ipset=/.gokbayrak.com/gfwlist -server=/.golang.org/127.0.0.1#5335 -ipset=/.golang.org/gfwlist -server=/.goldbet.com/127.0.0.1#5335 -ipset=/.goldbet.com/gfwlist -server=/.goldbetsports.com/127.0.0.1#5335 -ipset=/.goldbetsports.com/gfwlist -server=/.goldeneyevault.com/127.0.0.1#5335 -ipset=/.goldeneyevault.com/gfwlist -server=/.goldenfrog.com/127.0.0.1#5335 -ipset=/.goldenfrog.com/gfwlist -server=/.goldjizz.com/127.0.0.1#5335 -ipset=/.goldjizz.com/gfwlist -server=/.goldstep.net/127.0.0.1#5335 -ipset=/.goldstep.net/gfwlist -server=/.goldwave.com/127.0.0.1#5335 -ipset=/.goldwave.com/gfwlist -server=/.gongm.in/127.0.0.1#5335 -ipset=/.gongm.in/gfwlist -server=/.gongmeng.info/127.0.0.1#5335 -ipset=/.gongmeng.info/gfwlist -server=/.gongminliliang.com/127.0.0.1#5335 -ipset=/.gongminliliang.com/gfwlist -server=/.gongwt.com/127.0.0.1#5335 -ipset=/.gongwt.com/gfwlist -server=/.goo.gl/127.0.0.1#5335 -ipset=/.goo.gl/gfwlist -server=/.gooday.xyz/127.0.0.1#5335 -ipset=/.gooday.xyz/gfwlist -server=/.gooddns.info/127.0.0.1#5335 -ipset=/.gooddns.info/gfwlist -server=/.goodreaders.com/127.0.0.1#5335 -ipset=/.goodreaders.com/gfwlist -server=/.goodreads.com/127.0.0.1#5335 -ipset=/.goodreads.com/gfwlist -server=/.goodtv.com.tw/127.0.0.1#5335 -ipset=/.goodtv.com.tw/gfwlist -server=/.goodtv.tv/127.0.0.1#5335 -ipset=/.goodtv.tv/gfwlist -server=/.goofind.com/127.0.0.1#5335 -ipset=/.goofind.com/gfwlist -server=/.google.ae/127.0.0.1#5335 -ipset=/.google.ae/gfwlist -server=/.google.am/127.0.0.1#5335 -ipset=/.google.am/gfwlist -server=/.google.as/127.0.0.1#5335 -ipset=/.google.as/gfwlist -server=/.google.at/127.0.0.1#5335 -ipset=/.google.at/gfwlist -server=/.google.az/127.0.0.1#5335 -ipset=/.google.az/gfwlist -server=/.google.ba/127.0.0.1#5335 -ipset=/.google.ba/gfwlist -server=/.google.be/127.0.0.1#5335 -ipset=/.google.be/gfwlist -server=/.google.bg/127.0.0.1#5335 -ipset=/.google.bg/gfwlist -server=/.google.ca/127.0.0.1#5335 -ipset=/.google.ca/gfwlist -server=/.google.calstate.edu/127.0.0.1#5335 -ipset=/.google.calstate.edu/gfwlist -server=/.google.cd/127.0.0.1#5335 -ipset=/.google.cd/gfwlist -server=/.google.ci/127.0.0.1#5335 -ipset=/.google.ci/gfwlist -server=/.google.co.id/127.0.0.1#5335 -ipset=/.google.co.id/gfwlist -server=/.google.co.jp/127.0.0.1#5335 -ipset=/.google.co.jp/gfwlist -server=/.google.co.kr/127.0.0.1#5335 -ipset=/.google.co.kr/gfwlist -server=/.google.co.ma/127.0.0.1#5335 -ipset=/.google.co.ma/gfwlist -server=/.google.co.uk/127.0.0.1#5335 -ipset=/.google.co.uk/gfwlist -server=/.google.com/127.0.0.1#5335 -ipset=/.google.com/gfwlist -server=/.google.de/127.0.0.1#5335 -ipset=/.google.de/gfwlist -server=/.google.dev/127.0.0.1#5335 -ipset=/.google.dev/gfwlist -server=/.google.dj/127.0.0.1#5335 -ipset=/.google.dj/gfwlist -server=/.google.dk/127.0.0.1#5335 -ipset=/.google.dk/gfwlist -server=/.google.es/127.0.0.1#5335 -ipset=/.google.es/gfwlist -server=/.google.fi/127.0.0.1#5335 -ipset=/.google.fi/gfwlist -server=/.google.fm/127.0.0.1#5335 -ipset=/.google.fm/gfwlist -server=/.google.fr/127.0.0.1#5335 -ipset=/.google.fr/gfwlist -server=/.google.gg/127.0.0.1#5335 -ipset=/.google.gg/gfwlist -server=/.google.gl/127.0.0.1#5335 -ipset=/.google.gl/gfwlist -server=/.google.gr/127.0.0.1#5335 -ipset=/.google.gr/gfwlist -server=/.google.ie/127.0.0.1#5335 -ipset=/.google.ie/gfwlist -server=/.google.is/127.0.0.1#5335 -ipset=/.google.is/gfwlist -server=/.google.it/127.0.0.1#5335 -ipset=/.google.it/gfwlist -server=/.google.jo/127.0.0.1#5335 -ipset=/.google.jo/gfwlist -server=/.google.kz/127.0.0.1#5335 -ipset=/.google.kz/gfwlist -server=/.google.lv/127.0.0.1#5335 -ipset=/.google.lv/gfwlist -server=/.google.mn/127.0.0.1#5335 -ipset=/.google.mn/gfwlist -server=/.google.ms/127.0.0.1#5335 -ipset=/.google.ms/gfwlist -server=/.google.nl/127.0.0.1#5335 -ipset=/.google.nl/gfwlist -server=/.google.no/127.0.0.1#5335 -ipset=/.google.no/gfwlist -server=/.google.nu/127.0.0.1#5335 -ipset=/.google.nu/gfwlist -server=/.google.ro/127.0.0.1#5335 -ipset=/.google.ro/gfwlist -server=/.google.ru/127.0.0.1#5335 -ipset=/.google.ru/gfwlist -server=/.google.rw/127.0.0.1#5335 -ipset=/.google.rw/gfwlist -server=/.google.sc/127.0.0.1#5335 -ipset=/.google.sc/gfwlist -server=/.google.sh/127.0.0.1#5335 -ipset=/.google.sh/gfwlist -server=/.google.sk/127.0.0.1#5335 -ipset=/.google.sk/gfwlist -server=/.google.sm/127.0.0.1#5335 -ipset=/.google.sm/gfwlist -server=/.google.sn/127.0.0.1#5335 -ipset=/.google.sn/gfwlist -server=/.google.tk/127.0.0.1#5335 -ipset=/.google.tk/gfwlist -server=/.google.tm/127.0.0.1#5335 -ipset=/.google.tm/gfwlist -server=/.google.to/127.0.0.1#5335 -ipset=/.google.to/gfwlist -server=/.google.tt/127.0.0.1#5335 -ipset=/.google.tt/gfwlist -server=/.google.vu/127.0.0.1#5335 -ipset=/.google.vu/gfwlist -server=/.google.ws/127.0.0.1#5335 -ipset=/.google.ws/gfwlist -server=/.googleapis.cn/127.0.0.1#5335 -ipset=/.googleapis.cn/gfwlist -server=/.googleapis.com/127.0.0.1#5335 -ipset=/.googleapis.com/gfwlist -server=/.googleapps.com/127.0.0.1#5335 -ipset=/.googleapps.com/gfwlist -server=/.googlearth.com/127.0.0.1#5335 -ipset=/.googlearth.com/gfwlist -server=/.googleartproject.com/127.0.0.1#5335 -ipset=/.googleartproject.com/gfwlist -server=/.googleblog.com/127.0.0.1#5335 -ipset=/.googleblog.com/gfwlist -server=/.googlebot.com/127.0.0.1#5335 -ipset=/.googlebot.com/gfwlist -server=/.googlechinawebmaster.com/127.0.0.1#5335 -ipset=/.googlechinawebmaster.com/gfwlist -server=/.googlecode.com/127.0.0.1#5335 -ipset=/.googlecode.com/gfwlist -server=/.googlecommerce.com/127.0.0.1#5335 -ipset=/.googlecommerce.com/gfwlist -server=/.googledomains.com/127.0.0.1#5335 -ipset=/.googledomains.com/gfwlist -server=/.googledrive.com/127.0.0.1#5335 -ipset=/.googledrive.com/gfwlist -server=/.googleearth.com/127.0.0.1#5335 -ipset=/.googleearth.com/gfwlist -server=/.googlegroups.com/127.0.0.1#5335 -ipset=/.googlegroups.com/gfwlist -server=/.googlehosted.com/127.0.0.1#5335 -ipset=/.googlehosted.com/gfwlist -server=/.googleideas.com/127.0.0.1#5335 -ipset=/.googleideas.com/gfwlist -server=/.googleinsidesearch.com/127.0.0.1#5335 -ipset=/.googleinsidesearch.com/gfwlist -server=/.googlelabs.com/127.0.0.1#5335 -ipset=/.googlelabs.com/gfwlist -server=/.googlemail.com/127.0.0.1#5335 -ipset=/.googlemail.com/gfwlist -server=/.googlemashups.com/127.0.0.1#5335 -ipset=/.googlemashups.com/gfwlist -server=/.googlepagecreator.com/127.0.0.1#5335 -ipset=/.googlepagecreator.com/gfwlist -server=/.googleplay.com/127.0.0.1#5335 -ipset=/.googleplay.com/gfwlist -server=/.googleplus.com/127.0.0.1#5335 -ipset=/.googleplus.com/gfwlist -server=/.googlescholar.com/127.0.0.1#5335 -ipset=/.googlescholar.com/gfwlist -server=/.googlesile.com/127.0.0.1#5335 -ipset=/.googlesile.com/gfwlist -server=/.googlesource.com/127.0.0.1#5335 -ipset=/.googlesource.com/gfwlist -server=/.googleusercontent.com/127.0.0.1#5335 -ipset=/.googleusercontent.com/gfwlist -server=/.googlevideo.com/127.0.0.1#5335 -ipset=/.googlevideo.com/gfwlist -server=/.googleweblight.com/127.0.0.1#5335 -ipset=/.googleweblight.com/gfwlist -server=/.googlezip.net/127.0.0.1#5335 -ipset=/.googlezip.net/gfwlist -server=/.gopetition.com/127.0.0.1#5335 -ipset=/.gopetition.com/gfwlist -server=/.goproxing.net/127.0.0.1#5335 -ipset=/.goproxing.net/gfwlist -server=/.goregrish.com/127.0.0.1#5335 -ipset=/.goregrish.com/gfwlist -server=/.gospelherald.com/127.0.0.1#5335 -ipset=/.gospelherald.com/gfwlist -server=/.got-game.org/127.0.0.1#5335 -ipset=/.got-game.org/gfwlist -server=/.gotdns.ch/127.0.0.1#5335 -ipset=/.gotdns.ch/gfwlist -server=/.gotgeeks.com/127.0.0.1#5335 -ipset=/.gotgeeks.com/gfwlist -server=/.gotrusted.com/127.0.0.1#5335 -ipset=/.gotrusted.com/gfwlist -server=/.gotw.ca/127.0.0.1#5335 -ipset=/.gotw.ca/gfwlist -server=/.gov.taipei/127.0.0.1#5335 -ipset=/.gov.taipei/gfwlist -server=/.gov.tw/127.0.0.1#5335 -ipset=/.gov.tw/gfwlist -server=/.gr8domain.biz/127.0.0.1#5335 -ipset=/.gr8domain.biz/gfwlist -server=/.gr8name.biz/127.0.0.1#5335 -ipset=/.gr8name.biz/gfwlist -server=/.grammaly.com/127.0.0.1#5335 -ipset=/.grammaly.com/gfwlist -server=/.grandtrial.org/127.0.0.1#5335 -ipset=/.grandtrial.org/gfwlist -server=/.grangorz.org/127.0.0.1#5335 -ipset=/.grangorz.org/gfwlist -server=/.graphis.ne.jp/127.0.0.1#5335 -ipset=/.graphis.ne.jp/gfwlist -server=/.graphql.org/127.0.0.1#5335 -ipset=/.graphql.org/gfwlist -server=/.greasespot.net/127.0.0.1#5335 -ipset=/.greasespot.net/gfwlist -server=/.great-firewall.com/127.0.0.1#5335 -ipset=/.great-firewall.com/gfwlist -server=/.great-roc.org/127.0.0.1#5335 -ipset=/.great-roc.org/gfwlist -server=/.greatfire.org/127.0.0.1#5335 -ipset=/.greatfire.org/gfwlist -server=/.greatfire.us7.list-manage.com/127.0.0.1#5335 -ipset=/.greatfire.us7.list-manage.com/gfwlist -server=/.greatfirewall.biz/127.0.0.1#5335 -ipset=/.greatfirewall.biz/gfwlist -server=/.greatfirewallofchina.net/127.0.0.1#5335 -ipset=/.greatfirewallofchina.net/gfwlist -server=/.greatfirewallofchina.org/127.0.0.1#5335 -ipset=/.greatfirewallofchina.org/gfwlist -server=/.greatroc.org/127.0.0.1#5335 -ipset=/.greatroc.org/gfwlist -server=/.greatroc.tw/127.0.0.1#5335 -ipset=/.greatroc.tw/gfwlist -server=/.greatzhonghua.org/127.0.0.1#5335 -ipset=/.greatzhonghua.org/gfwlist -server=/.greenfieldbookstore.com.hk/127.0.0.1#5335 -ipset=/.greenfieldbookstore.com.hk/gfwlist -server=/.greenparty.org.tw/127.0.0.1#5335 -ipset=/.greenparty.org.tw/gfwlist -server=/.greenpeace.com.tw/127.0.0.1#5335 -ipset=/.greenpeace.com.tw/gfwlist -server=/.greenpeace.org/127.0.0.1#5335 -ipset=/.greenpeace.org/gfwlist -server=/.greenvpn.net/127.0.0.1#5335 -ipset=/.greenvpn.net/gfwlist -server=/.greenvpn.org/127.0.0.1#5335 -ipset=/.greenvpn.org/gfwlist -server=/.grotty-monday.com/127.0.0.1#5335 -ipset=/.grotty-monday.com/gfwlist -server=/.groups.google.cn/127.0.0.1#5335 -ipset=/.groups.google.cn/gfwlist -server=/.grow.google/127.0.0.1#5335 -ipset=/.grow.google/gfwlist -server=/.gs-discuss.com/127.0.0.1#5335 -ipset=/.gs-discuss.com/gfwlist -server=/.gsp.target.com/127.0.0.1#5335 -ipset=/.gsp.target.com/gfwlist -server=/.gstatic.com/127.0.0.1#5335 -ipset=/.gstatic.com/gfwlist -server=/.gtricks.com/127.0.0.1#5335 -ipset=/.gtricks.com/gfwlist -server=/.gts-vpn.com/127.0.0.1#5335 -ipset=/.gts-vpn.com/gfwlist -server=/.gtv.org/127.0.0.1#5335 -ipset=/.gtv.org/gfwlist -server=/.gu-chu-sum.org/127.0.0.1#5335 -ipset=/.gu-chu-sum.org/gfwlist -server=/.guaguass.com/127.0.0.1#5335 -ipset=/.guaguass.com/gfwlist -server=/.guaguass.org/127.0.0.1#5335 -ipset=/.guaguass.org/gfwlist -server=/.guancha.org/127.0.0.1#5335 -ipset=/.guancha.org/gfwlist -server=/.guaneryu.com/127.0.0.1#5335 -ipset=/.guaneryu.com/gfwlist -server=/.guangming.com.my/127.0.0.1#5335 -ipset=/.guangming.com.my/gfwlist -server=/.guangnianvpn.com/127.0.0.1#5335 -ipset=/.guangnianvpn.com/gfwlist -server=/.guardster.com/127.0.0.1#5335 -ipset=/.guardster.com/gfwlist -server=/.guishan.org/127.0.0.1#5335 -ipset=/.guishan.org/gfwlist -server=/.gumroad.com/127.0.0.1#5335 -ipset=/.gumroad.com/gfwlist -server=/.gun-world.net/127.0.0.1#5335 -ipset=/.gun-world.net/gfwlist -server=/.gunsamerica.com/127.0.0.1#5335 -ipset=/.gunsamerica.com/gfwlist -server=/.gunsandammo.com/127.0.0.1#5335 -ipset=/.gunsandammo.com/gfwlist -server=/.guo.media/127.0.0.1#5335 -ipset=/.guo.media/gfwlist -server=/.guruonline.hk/127.0.0.1#5335 -ipset=/.guruonline.hk/gfwlist -server=/.gutteruncensored.com/127.0.0.1#5335 -ipset=/.gutteruncensored.com/gfwlist -server=/.gvlib.com/127.0.0.1#5335 -ipset=/.gvlib.com/gfwlist -server=/.gvm.com.tw/127.0.0.1#5335 -ipset=/.gvm.com.tw/gfwlist -server=/.gvt0.com/127.0.0.1#5335 -ipset=/.gvt0.com/gfwlist -server=/.gvt1.com/127.0.0.1#5335 -ipset=/.gvt1.com/gfwlist -server=/.gvt3.com/127.0.0.1#5335 -ipset=/.gvt3.com/gfwlist -server=/.gwtproject.org/127.0.0.1#5335 -ipset=/.gwtproject.org/gfwlist -server=/.gyalwarinpoche.com/127.0.0.1#5335 -ipset=/.gyalwarinpoche.com/gfwlist -server=/.gyatsostudio.com/127.0.0.1#5335 -ipset=/.gyatsostudio.com/gfwlist -server=/.gzm.tv/127.0.0.1#5335 -ipset=/.gzm.tv/gfwlist -server=/.gzone-anime.info/127.0.0.1#5335 -ipset=/.gzone-anime.info/gfwlist -server=/.h-china.org/127.0.0.1#5335 -ipset=/.h-china.org/gfwlist -server=/.h-moe.com/127.0.0.1#5335 -ipset=/.h-moe.com/gfwlist -server=/.h1n1china.org/127.0.0.1#5335 -ipset=/.h1n1china.org/gfwlist -server=/.h528.com/127.0.0.1#5335 -ipset=/.h528.com/gfwlist -server=/.h5dm.com/127.0.0.1#5335 -ipset=/.h5dm.com/gfwlist -server=/.h5galgame.me/127.0.0.1#5335 -ipset=/.h5galgame.me/gfwlist -server=/.hacg.club/127.0.0.1#5335 -ipset=/.hacg.club/gfwlist -server=/.hacg.in/127.0.0.1#5335 -ipset=/.hacg.in/gfwlist -server=/.hacg.li/127.0.0.1#5335 -ipset=/.hacg.li/gfwlist -server=/.hacg.me/127.0.0.1#5335 -ipset=/.hacg.me/gfwlist -server=/.hacg.red/127.0.0.1#5335 -ipset=/.hacg.red/gfwlist -server=/.hacker.org/127.0.0.1#5335 -ipset=/.hacker.org/gfwlist -server=/.hackthatphone.net/127.0.0.1#5335 -ipset=/.hackthatphone.net/gfwlist -server=/.hahlo.com/127.0.0.1#5335 -ipset=/.hahlo.com/gfwlist -server=/.hakkatv.org.tw/127.0.0.1#5335 -ipset=/.hakkatv.org.tw/gfwlist -server=/.handcraftedsoftware.org/127.0.0.1#5335 -ipset=/.handcraftedsoftware.org/gfwlist -server=/.hanime.tv/127.0.0.1#5335 -ipset=/.hanime.tv/gfwlist -server=/.hanunyi.com/127.0.0.1#5335 -ipset=/.hanunyi.com/gfwlist -server=/.happy-vpn.com/127.0.0.1#5335 -ipset=/.happy-vpn.com/gfwlist -server=/.haproxy.org/127.0.0.1#5335 -ipset=/.haproxy.org/gfwlist -server=/.hardsextube.com/127.0.0.1#5335 -ipset=/.hardsextube.com/gfwlist -server=/.harunyahya.com/127.0.0.1#5335 -ipset=/.harunyahya.com/gfwlist -server=/.hautelook.com/127.0.0.1#5335 -ipset=/.hautelook.com/gfwlist -server=/.hautelookcdn.com/127.0.0.1#5335 -ipset=/.hautelookcdn.com/gfwlist -server=/.have8.com/127.0.0.1#5335 -ipset=/.have8.com/gfwlist -server=/.hbg.com/127.0.0.1#5335 -ipset=/.hbg.com/gfwlist -server=/.hbo.com/127.0.0.1#5335 -ipset=/.hbo.com/gfwlist -server=/.hclips.com/127.0.0.1#5335 -ipset=/.hclips.com/gfwlist -server=/.hdlt.me/127.0.0.1#5335 -ipset=/.hdlt.me/gfwlist -server=/.hdtvb.net/127.0.0.1#5335 -ipset=/.hdtvb.net/gfwlist -server=/.hdzog.com/127.0.0.1#5335 -ipset=/.hdzog.com/gfwlist -server=/.heartyit.com/127.0.0.1#5335 -ipset=/.heartyit.com/gfwlist -server=/.heavy-r.com/127.0.0.1#5335 -ipset=/.heavy-r.com/gfwlist -server=/.hec.su/127.0.0.1#5335 -ipset=/.hec.su/gfwlist -server=/.hecaitou.net/127.0.0.1#5335 -ipset=/.hecaitou.net/gfwlist -server=/.hechaji.com/127.0.0.1#5335 -ipset=/.hechaji.com/gfwlist -server=/.heeact.edu.tw/127.0.0.1#5335 -ipset=/.heeact.edu.tw/gfwlist -server=/.hegre-art.com/127.0.0.1#5335 -ipset=/.hegre-art.com/gfwlist -server=/.heix.pp.ru/127.0.0.1#5335 -ipset=/.heix.pp.ru/gfwlist -server=/.helloandroid.com/127.0.0.1#5335 -ipset=/.helloandroid.com/gfwlist -server=/.helloqueer.com/127.0.0.1#5335 -ipset=/.helloqueer.com/gfwlist -server=/.helloss.pw/127.0.0.1#5335 -ipset=/.helloss.pw/gfwlist -server=/.hellotxt.com/127.0.0.1#5335 -ipset=/.hellotxt.com/gfwlist -server=/.help.linksalpha.com/127.0.0.1#5335 -ipset=/.help.linksalpha.com/gfwlist -server=/.helpeachpeople.com/127.0.0.1#5335 -ipset=/.helpeachpeople.com/gfwlist -server=/.helplinfen.com/127.0.0.1#5335 -ipset=/.helplinfen.com/gfwlist -server=/.helpster.de/127.0.0.1#5335 -ipset=/.helpster.de/gfwlist -server=/.helpuyghursnow.org/127.0.0.1#5335 -ipset=/.helpuyghursnow.org/gfwlist -server=/.helpzhuling.org/127.0.0.1#5335 -ipset=/.helpzhuling.org/gfwlist -server=/.hentai.to/127.0.0.1#5335 -ipset=/.hentai.to/gfwlist -server=/.hentaitube.tv/127.0.0.1#5335 -ipset=/.hentaitube.tv/gfwlist -server=/.hentaivideoworld.com/127.0.0.1#5335 -ipset=/.hentaivideoworld.com/gfwlist -server=/.heqinglian.net/127.0.0.1#5335 -ipset=/.heqinglian.net/gfwlist -server=/.heungkongdiscuss.com/127.0.0.1#5335 -ipset=/.heungkongdiscuss.com/gfwlist -server=/.hexieshe.com/127.0.0.1#5335 -ipset=/.hexieshe.com/gfwlist -server=/.hexieshe.xyz/127.0.0.1#5335 -ipset=/.hexieshe.xyz/gfwlist -server=/.hexxeh.net/127.0.0.1#5335 -ipset=/.hexxeh.net/gfwlist -server=/.heyzo.com/127.0.0.1#5335 -ipset=/.heyzo.com/gfwlist -server=/.hgseav.com/127.0.0.1#5335 -ipset=/.hgseav.com/gfwlist -server=/.hhdcb3office.org/127.0.0.1#5335 -ipset=/.hhdcb3office.org/gfwlist -server=/.hhthesakyatrizin.org/127.0.0.1#5335 -ipset=/.hhthesakyatrizin.org/gfwlist -server=/.hi-on.org.tw/127.0.0.1#5335 -ipset=/.hi-on.org.tw/gfwlist -server=/.hidden-advent.org/127.0.0.1#5335 -ipset=/.hidden-advent.org/gfwlist -server=/.hide.me/127.0.0.1#5335 -ipset=/.hide.me/gfwlist -server=/.hidein.net/127.0.0.1#5335 -ipset=/.hidein.net/gfwlist -server=/.hideipvpn.com/127.0.0.1#5335 -ipset=/.hideipvpn.com/gfwlist -server=/.hideman.net/127.0.0.1#5335 -ipset=/.hideman.net/gfwlist -server=/.hideme.nl/127.0.0.1#5335 -ipset=/.hideme.nl/gfwlist -server=/.hidemy.name/127.0.0.1#5335 -ipset=/.hidemy.name/gfwlist -server=/.hidemyass.com/127.0.0.1#5335 -ipset=/.hidemyass.com/gfwlist -server=/.hidemycomp.com/127.0.0.1#5335 -ipset=/.hidemycomp.com/gfwlist -server=/.higfw.com/127.0.0.1#5335 -ipset=/.higfw.com/gfwlist -server=/.highpeakspureearth.com/127.0.0.1#5335 -ipset=/.highpeakspureearth.com/gfwlist -server=/.highrockmedia.com/127.0.0.1#5335 -ipset=/.highrockmedia.com/gfwlist -server=/.hihiforum.com/127.0.0.1#5335 -ipset=/.hihiforum.com/gfwlist -server=/.hihistory.net/127.0.0.1#5335 -ipset=/.hihistory.net/gfwlist -server=/.hiitch.com/127.0.0.1#5335 -ipset=/.hiitch.com/gfwlist -server=/.hikinggfw.org/127.0.0.1#5335 -ipset=/.hikinggfw.org/gfwlist -server=/.hilive.tv/127.0.0.1#5335 -ipset=/.hilive.tv/gfwlist -server=/.himalayan-foundation.org/127.0.0.1#5335 -ipset=/.himalayan-foundation.org/gfwlist -server=/.himalayanglacier.com/127.0.0.1#5335 -ipset=/.himalayanglacier.com/gfwlist -server=/.himemix.com/127.0.0.1#5335 -ipset=/.himemix.com/gfwlist -server=/.himemix.net/127.0.0.1#5335 -ipset=/.himemix.net/gfwlist -server=/.hitbtc.com/127.0.0.1#5335 -ipset=/.hitbtc.com/gfwlist -server=/.hitomi.la/127.0.0.1#5335 -ipset=/.hitomi.la/gfwlist -server=/.hiwifi.com/127.0.0.1#5335 -ipset=/.hiwifi.com/gfwlist -server=/.hizb-ut-tahrir.info/127.0.0.1#5335 -ipset=/.hizb-ut-tahrir.info/gfwlist -server=/.hizb-ut-tahrir.org/127.0.0.1#5335 -ipset=/.hizb-ut-tahrir.org/gfwlist -server=/.hizbuttahrir.org/127.0.0.1#5335 -ipset=/.hizbuttahrir.org/gfwlist -server=/.hjclub.info/127.0.0.1#5335 -ipset=/.hjclub.info/gfwlist -server=/.hk-pub.com/127.0.0.1#5335 -ipset=/.hk-pub.com/gfwlist -server=/.hk.geocities.com/127.0.0.1#5335 -ipset=/.hk.geocities.com/gfwlist -server=/.hk.hao123img.com/127.0.0.1#5335 -ipset=/.hk.hao123img.com/gfwlist -server=/.hk.jiepang.com/127.0.0.1#5335 -ipset=/.hk.jiepang.com/gfwlist -server=/.hk.knowledge.yahoo.com/127.0.0.1#5335 -ipset=/.hk.knowledge.yahoo.com/gfwlist -server=/.hk.myblog.yahoo.com/127.0.0.1#5335 -ipset=/.hk.myblog.yahoo.com/gfwlist -server=/.hk.news.yahoo.com/127.0.0.1#5335 -ipset=/.hk.news.yahoo.com/gfwlist -server=/.hk.rd.yahoo.com/127.0.0.1#5335 -ipset=/.hk.rd.yahoo.com/gfwlist -server=/.hk.yahoo.com/127.0.0.1#5335 -ipset=/.hk.yahoo.com/gfwlist -server=/.hk01.com/127.0.0.1#5335 -ipset=/.hk01.com/gfwlist -server=/.hk32168.com/127.0.0.1#5335 -ipset=/.hk32168.com/gfwlist -server=/.hka8964.wordpress.com/127.0.0.1#5335 -ipset=/.hka8964.wordpress.com/gfwlist -server=/.hkacg.com/127.0.0.1#5335 -ipset=/.hkacg.com/gfwlist -server=/.hkacg.net/127.0.0.1#5335 -ipset=/.hkacg.net/gfwlist -server=/.hkanews.wordpress.com/127.0.0.1#5335 -ipset=/.hkanews.wordpress.com/gfwlist -server=/.hkatvnews.com/127.0.0.1#5335 -ipset=/.hkatvnews.com/gfwlist -server=/.hkbc.net/127.0.0.1#5335 -ipset=/.hkbc.net/gfwlist -server=/.hkbf.org/127.0.0.1#5335 -ipset=/.hkbf.org/gfwlist -server=/.hkbookcity.com/127.0.0.1#5335 -ipset=/.hkbookcity.com/gfwlist -server=/.hkchurch.org/127.0.0.1#5335 -ipset=/.hkchurch.org/gfwlist -server=/.hkci.org.hk/127.0.0.1#5335 -ipset=/.hkci.org.hk/gfwlist -server=/.hkcmi.edu/127.0.0.1#5335 -ipset=/.hkcmi.edu/gfwlist -server=/.hkcnews.com/127.0.0.1#5335 -ipset=/.hkcnews.com/gfwlist -server=/.hkcoc.com/127.0.0.1#5335 -ipset=/.hkcoc.com/gfwlist -server=/.hkcoc.weather.com.hk/127.0.0.1#5335 -ipset=/.hkcoc.weather.com.hk/gfwlist -server=/.hkctu.org.hk/127.0.0.1#5335 -ipset=/.hkctu.org.hk/gfwlist -server=/.hkday.net/127.0.0.1#5335 -ipset=/.hkday.net/gfwlist -server=/.hkdf.org/127.0.0.1#5335 -ipset=/.hkdf.org/gfwlist -server=/.hkej.com/127.0.0.1#5335 -ipset=/.hkej.com/gfwlist -server=/.hkfaa.com/127.0.0.1#5335 -ipset=/.hkfaa.com/gfwlist -server=/.hkfreezone.com/127.0.0.1#5335 -ipset=/.hkfreezone.com/gfwlist -server=/.hkfront.org/127.0.0.1#5335 -ipset=/.hkfront.org/gfwlist -server=/.hkgalden.com/127.0.0.1#5335 -ipset=/.hkgalden.com/gfwlist -server=/.hkgolden.com/127.0.0.1#5335 -ipset=/.hkgolden.com/gfwlist -server=/.hkhkhk.com/127.0.0.1#5335 -ipset=/.hkhkhk.com/gfwlist -server=/.hkhrc.org.hk/127.0.0.1#5335 -ipset=/.hkhrc.org.hk/gfwlist -server=/.hkhrm.org.hk/127.0.0.1#5335 -ipset=/.hkhrm.org.hk/gfwlist -server=/.hkip.org.uk/127.0.0.1#5335 -ipset=/.hkip.org.uk/gfwlist -server=/.hkjc.com/127.0.0.1#5335 -ipset=/.hkjc.com/gfwlist -server=/.hkjp.org/127.0.0.1#5335 -ipset=/.hkjp.org/gfwlist -server=/.hklft.com/127.0.0.1#5335 -ipset=/.hklft.com/gfwlist -server=/.hklts.org.hk/127.0.0.1#5335 -ipset=/.hklts.org.hk/gfwlist -server=/.hkptu.org/127.0.0.1#5335 -ipset=/.hkptu.org/gfwlist -server=/.hkreporter.com/127.0.0.1#5335 -ipset=/.hkreporter.com/gfwlist -server=/.hkreporter.loved.hk/127.0.0.1#5335 -ipset=/.hkreporter.loved.hk/gfwlist -server=/.hkupop.hku.hk/127.0.0.1#5335 -ipset=/.hkupop.hku.hk/gfwlist -server=/.hkusu.net/127.0.0.1#5335 -ipset=/.hkusu.net/gfwlist -server=/.hkvwet.com/127.0.0.1#5335 -ipset=/.hkvwet.com/gfwlist -server=/.hkwcc.org.hk/127.0.0.1#5335 -ipset=/.hkwcc.org.hk/gfwlist -server=/.hkzone.org/127.0.0.1#5335 -ipset=/.hkzone.org/gfwlist -server=/.hmonghot.com/127.0.0.1#5335 -ipset=/.hmonghot.com/gfwlist -server=/.hmvdigital.ca/127.0.0.1#5335 -ipset=/.hmvdigital.ca/gfwlist -server=/.hmvdigital.com/127.0.0.1#5335 -ipset=/.hmvdigital.com/gfwlist -server=/.hnjhj.com/127.0.0.1#5335 -ipset=/.hnjhj.com/gfwlist -server=/.hnntube.com/127.0.0.1#5335 -ipset=/.hnntube.com/gfwlist -server=/.hola.com/127.0.0.1#5335 -ipset=/.hola.com/gfwlist -server=/.hola.org/127.0.0.1#5335 -ipset=/.hola.org/gfwlist -server=/.holymountaincn.com/127.0.0.1#5335 -ipset=/.holymountaincn.com/gfwlist -server=/.holyspiritspeaks.org/127.0.0.1#5335 -ipset=/.holyspiritspeaks.org/gfwlist -server=/.home.sina.com/127.0.0.1#5335 -ipset=/.home.sina.com/gfwlist -server=/.homedepot.com/127.0.0.1#5335 -ipset=/.homedepot.com/gfwlist -server=/.homeperversion.com/127.0.0.1#5335 -ipset=/.homeperversion.com/gfwlist -server=/.homeservershow.com/127.0.0.1#5335 -ipset=/.homeservershow.com/gfwlist -server=/.hongkongfp.com/127.0.0.1#5335 -ipset=/.hongkongfp.com/gfwlist -server=/.hongmeimei.com/127.0.0.1#5335 -ipset=/.hongmeimei.com/gfwlist -server=/.hongzhi.li/127.0.0.1#5335 -ipset=/.hongzhi.li/gfwlist -server=/.hootsuite.com/127.0.0.1#5335 -ipset=/.hootsuite.com/gfwlist -server=/.hoovers.com/127.0.0.1#5335 -ipset=/.hoovers.com/gfwlist -server=/.hopedialogue.org/127.0.0.1#5335 -ipset=/.hopedialogue.org/gfwlist -server=/.hopto.org/127.0.0.1#5335 -ipset=/.hopto.org/gfwlist -server=/.hornygamer.com/127.0.0.1#5335 -ipset=/.hornygamer.com/gfwlist -server=/.hornytrip.com/127.0.0.1#5335 -ipset=/.hornytrip.com/gfwlist -server=/.hotav.tv/127.0.0.1#5335 -ipset=/.hotav.tv/gfwlist -server=/.hotels.cn/127.0.0.1#5335 -ipset=/.hotels.cn/gfwlist -server=/.hotfrog.com.tw/127.0.0.1#5335 -ipset=/.hotfrog.com.tw/gfwlist -server=/.hotgoo.com/127.0.0.1#5335 -ipset=/.hotgoo.com/gfwlist -server=/.hotpornshow.com/127.0.0.1#5335 -ipset=/.hotpornshow.com/gfwlist -server=/.hotpot.hk/127.0.0.1#5335 -ipset=/.hotpot.hk/gfwlist -server=/.hotshame.com/127.0.0.1#5335 -ipset=/.hotshame.com/gfwlist -server=/.hotspotshield.com/127.0.0.1#5335 -ipset=/.hotspotshield.com/gfwlist -server=/.hotvpn.com/127.0.0.1#5335 -ipset=/.hotvpn.com/gfwlist -server=/.hougaige.com/127.0.0.1#5335 -ipset=/.hougaige.com/gfwlist -server=/.howtoforge.com/127.0.0.1#5335 -ipset=/.howtoforge.com/gfwlist -server=/.hoxx.com/127.0.0.1#5335 -ipset=/.hoxx.com/gfwlist -server=/.hpa.gov.tw/127.0.0.1#5335 -ipset=/.hpa.gov.tw/gfwlist -server=/.hqcdp.org/127.0.0.1#5335 -ipset=/.hqcdp.org/gfwlist -server=/.hqjapanesesex.com/127.0.0.1#5335 -ipset=/.hqjapanesesex.com/gfwlist -server=/.hqmovies.com/127.0.0.1#5335 -ipset=/.hqmovies.com/gfwlist -server=/.hqsbnet.wordpress.com/127.0.0.1#5335 -ipset=/.hqsbnet.wordpress.com/gfwlist -server=/.hqsbonline.wordpress.com/127.0.0.1#5335 -ipset=/.hqsbonline.wordpress.com/gfwlist -server=/.hrcchina.org/127.0.0.1#5335 -ipset=/.hrcchina.org/gfwlist -server=/.hrcir.com/127.0.0.1#5335 -ipset=/.hrcir.com/gfwlist -server=/.hrea.org/127.0.0.1#5335 -ipset=/.hrea.org/gfwlist -server=/.hrichina.org/127.0.0.1#5335 -ipset=/.hrichina.org/gfwlist -server=/.hrtsea.com/127.0.0.1#5335 -ipset=/.hrtsea.com/gfwlist -server=/.hrw.org/127.0.0.1#5335 -ipset=/.hrw.org/gfwlist -server=/.hrweb.org/127.0.0.1#5335 -ipset=/.hrweb.org/gfwlist -server=/.hsjp.net/127.0.0.1#5335 -ipset=/.hsjp.net/gfwlist -server=/.hsselite.com/127.0.0.1#5335 -ipset=/.hsselite.com/gfwlist -server=/.hst.net.tw/127.0.0.1#5335 -ipset=/.hst.net.tw/gfwlist -server=/.hstern.net/127.0.0.1#5335 -ipset=/.hstern.net/gfwlist -server=/.hstt.net/127.0.0.1#5335 -ipset=/.hstt.net/gfwlist -server=/.ht.ly/127.0.0.1#5335 -ipset=/.ht.ly/gfwlist -server=/.htkou.net/127.0.0.1#5335 -ipset=/.htkou.net/gfwlist -server=/.htl.li/127.0.0.1#5335 -ipset=/.htl.li/gfwlist -server=/.html5rocks.com/127.0.0.1#5335 -ipset=/.html5rocks.com/gfwlist -server=/.https443.net/127.0.0.1#5335 -ipset=/.https443.net/gfwlist -server=/.https443.org/127.0.0.1#5335 -ipset=/.https443.org/gfwlist -server=/.hua-yue.net/127.0.0.1#5335 -ipset=/.hua-yue.net/gfwlist -server=/.huaglad.com/127.0.0.1#5335 -ipset=/.huaglad.com/gfwlist -server=/.huanghuagang.org/127.0.0.1#5335 -ipset=/.huanghuagang.org/gfwlist -server=/.huangyiyu.com/127.0.0.1#5335 -ipset=/.huangyiyu.com/gfwlist -server=/.huaren.us/127.0.0.1#5335 -ipset=/.huaren.us/gfwlist -server=/.huaren4us.com/127.0.0.1#5335 -ipset=/.huaren4us.com/gfwlist -server=/.huashangnews.com/127.0.0.1#5335 -ipset=/.huashangnews.com/gfwlist -server=/.huaxia-news.com/127.0.0.1#5335 -ipset=/.huaxia-news.com/gfwlist -server=/.huaxiabao.org/127.0.0.1#5335 -ipset=/.huaxiabao.org/gfwlist -server=/.huaxin.ph/127.0.0.1#5335 -ipset=/.huaxin.ph/gfwlist -server=/.huayuworld.org/127.0.0.1#5335 -ipset=/.huayuworld.org/gfwlist -server=/.hudatoriq.web.id/127.0.0.1#5335 -ipset=/.hudatoriq.web.id/gfwlist -server=/.hudson.org/127.0.0.1#5335 -ipset=/.hudson.org/gfwlist -server=/.hugoroy.eu/127.0.0.1#5335 -ipset=/.hugoroy.eu/gfwlist -server=/.huhaitai.com/127.0.0.1#5335 -ipset=/.huhaitai.com/gfwlist -server=/.huhamhire.com/127.0.0.1#5335 -ipset=/.huhamhire.com/gfwlist -server=/.huhangfei.com/127.0.0.1#5335 -ipset=/.huhangfei.com/gfwlist -server=/.huiyi.in/127.0.0.1#5335 -ipset=/.huiyi.in/gfwlist -server=/.hulkshare.com/127.0.0.1#5335 -ipset=/.hulkshare.com/gfwlist -server=/.hulu.com/127.0.0.1#5335 -ipset=/.hulu.com/gfwlist -server=/.huluim.com/127.0.0.1#5335 -ipset=/.huluim.com/gfwlist -server=/.humanrightsbriefing.org/127.0.0.1#5335 -ipset=/.humanrightsbriefing.org/gfwlist -server=/.hung-ya.com/127.0.0.1#5335 -ipset=/.hung-ya.com/gfwlist -server=/.hungerstrikeforaids.org/127.0.0.1#5335 -ipset=/.hungerstrikeforaids.org/gfwlist -server=/.huobi.com/127.0.0.1#5335 -ipset=/.huobi.com/gfwlist -server=/.huobi.pro/127.0.0.1#5335 -ipset=/.huobi.pro/gfwlist -server=/.huobipro.com/127.0.0.1#5335 -ipset=/.huobipro.com/gfwlist -server=/.huping.net/127.0.0.1#5335 -ipset=/.huping.net/gfwlist -server=/.hurgokbayrak.com/127.0.0.1#5335 -ipset=/.hurgokbayrak.com/gfwlist -server=/.hurriyet.com.tr/127.0.0.1#5335 -ipset=/.hurriyet.com.tr/gfwlist -server=/.hustlercash.com/127.0.0.1#5335 -ipset=/.hustlercash.com/gfwlist -server=/.hut2.ru/127.0.0.1#5335 -ipset=/.hut2.ru/gfwlist -server=/.hutianyi.net/127.0.0.1#5335 -ipset=/.hutianyi.net/gfwlist -server=/.hutong9.net/127.0.0.1#5335 -ipset=/.hutong9.net/gfwlist -server=/.huyandex.com/127.0.0.1#5335 -ipset=/.huyandex.com/gfwlist -server=/.hwadzan.tw/127.0.0.1#5335 -ipset=/.hwadzan.tw/gfwlist -server=/.hwayue.org.tw/127.0.0.1#5335 -ipset=/.hwayue.org.tw/gfwlist -server=/.hwinfo.com/127.0.0.1#5335 -ipset=/.hwinfo.com/gfwlist -server=/.hxwk.org/127.0.0.1#5335 -ipset=/.hxwk.org/gfwlist -server=/.hxwq.org/127.0.0.1#5335 -ipset=/.hxwq.org/gfwlist -server=/.hybrid-analysis.com/127.0.0.1#5335 -ipset=/.hybrid-analysis.com/gfwlist -server=/.hyperrate.com/127.0.0.1#5335 -ipset=/.hyperrate.com/gfwlist -server=/.i-cable.com/127.0.0.1#5335 -ipset=/.i-cable.com/gfwlist -server=/.i-part.com.tw/127.0.0.1#5335 -ipset=/.i-part.com.tw/gfwlist -server=/.i.lithium.com/127.0.0.1#5335 -ipset=/.i.lithium.com/gfwlist -server=/.i1.hk/127.0.0.1#5335 -ipset=/.i1.hk/gfwlist -server=/.i2p2.de/127.0.0.1#5335 -ipset=/.i2p2.de/gfwlist -server=/.i2runner.com/127.0.0.1#5335 -ipset=/.i2runner.com/gfwlist -server=/.i818hk.com/127.0.0.1#5335 -ipset=/.i818hk.com/gfwlist -server=/.iam.soy/127.0.0.1#5335 -ipset=/.iam.soy/gfwlist -server=/.iamtopone.com/127.0.0.1#5335 -ipset=/.iamtopone.com/gfwlist -server=/.iask.bz/127.0.0.1#5335 -ipset=/.iask.bz/gfwlist -server=/.iask.ca/127.0.0.1#5335 -ipset=/.iask.ca/gfwlist -server=/.iav19.com/127.0.0.1#5335 -ipset=/.iav19.com/gfwlist -server=/.iblist.com/127.0.0.1#5335 -ipset=/.iblist.com/gfwlist -server=/.iblogserv-f.net/127.0.0.1#5335 -ipset=/.iblogserv-f.net/gfwlist -server=/.ibros.org/127.0.0.1#5335 -ipset=/.ibros.org/gfwlist -server=/.ibvpn.com/127.0.0.1#5335 -ipset=/.ibvpn.com/gfwlist -server=/.icams.com/127.0.0.1#5335 -ipset=/.icams.com/gfwlist -server=/.ice.audionow.com/127.0.0.1#5335 -ipset=/.ice.audionow.com/gfwlist -server=/.icij.org/127.0.0.1#5335 -ipset=/.icij.org/gfwlist -server=/.icl-fi.org/127.0.0.1#5335 -ipset=/.icl-fi.org/gfwlist -server=/.icoco.com/127.0.0.1#5335 -ipset=/.icoco.com/gfwlist -server=/.iconpaper.org/127.0.0.1#5335 -ipset=/.iconpaper.org/gfwlist -server=/.icu-project.org/127.0.0.1#5335 -ipset=/.icu-project.org/gfwlist -server=/.id.hao123.com/127.0.0.1#5335 -ipset=/.id.hao123.com/gfwlist -server=/.id.heroku.com/127.0.0.1#5335 -ipset=/.id.heroku.com/gfwlist -server=/.iddddg.com/127.0.0.1#5335 -ipset=/.iddddg.com/gfwlist -server=/.idemocracy.asia/127.0.0.1#5335 -ipset=/.idemocracy.asia/gfwlist -server=/.identi.ca/127.0.0.1#5335 -ipset=/.identi.ca/gfwlist -server=/.idiomconnection.com/127.0.0.1#5335 -ipset=/.idiomconnection.com/gfwlist -server=/.idouga.com/127.0.0.1#5335 -ipset=/.idouga.com/gfwlist -server=/.idreamx.com/127.0.0.1#5335 -ipset=/.idreamx.com/gfwlist -server=/.idv.tw/127.0.0.1#5335 -ipset=/.idv.tw/gfwlist -server=/.ieasy5.com/127.0.0.1#5335 -ipset=/.ieasy5.com/gfwlist -server=/.ied2k.net/127.0.0.1#5335 -ipset=/.ied2k.net/gfwlist -server=/.ienergy1.com/127.0.0.1#5335 -ipset=/.ienergy1.com/gfwlist -server=/.ifan.cz.cc/127.0.0.1#5335 -ipset=/.ifan.cz.cc/gfwlist -server=/.ifanqiang.com/127.0.0.1#5335 -ipset=/.ifanqiang.com/gfwlist -server=/.ifcss.org/127.0.0.1#5335 -ipset=/.ifcss.org/gfwlist -server=/.ifjc.org/127.0.0.1#5335 -ipset=/.ifjc.org/gfwlist -server=/.ifreewares.com/127.0.0.1#5335 -ipset=/.ifreewares.com/gfwlist -server=/.ift.tt/127.0.0.1#5335 -ipset=/.ift.tt/gfwlist -server=/.igcd.net/127.0.0.1#5335 -ipset=/.igcd.net/gfwlist -server=/.igfw.net/127.0.0.1#5335 -ipset=/.igfw.net/gfwlist -server=/.igfw.tech/127.0.0.1#5335 -ipset=/.igfw.tech/gfwlist -server=/.igmg.de/127.0.0.1#5335 -ipset=/.igmg.de/gfwlist -server=/.ignitedetroit.net/127.0.0.1#5335 -ipset=/.ignitedetroit.net/gfwlist -server=/.igoogle.com/127.0.0.1#5335 -ipset=/.igoogle.com/gfwlist -server=/.igotmail.com.tw/127.0.0.1#5335 -ipset=/.igotmail.com.tw/gfwlist -server=/.igvita.com/127.0.0.1#5335 -ipset=/.igvita.com/gfwlist -server=/.ihakka.net/127.0.0.1#5335 -ipset=/.ihakka.net/gfwlist -server=/.iicns.com/127.0.0.1#5335 -ipset=/.iicns.com/gfwlist -server=/.iipdigital.usembassy.gov/127.0.0.1#5335 -ipset=/.iipdigital.usembassy.gov/gfwlist -server=/.ikstar.com/127.0.0.1#5335 -ipset=/.ikstar.com/gfwlist -server=/.ikwb.com/127.0.0.1#5335 -ipset=/.ikwb.com/gfwlist -server=/.ilhamtohtiinstitute.org/127.0.0.1#5335 -ipset=/.ilhamtohtiinstitute.org/gfwlist -server=/.illusionfactory.com/127.0.0.1#5335 -ipset=/.illusionfactory.com/gfwlist -server=/.ilove80.be/127.0.0.1#5335 -ipset=/.ilove80.be/gfwlist -server=/.ilovelongtoes.com/127.0.0.1#5335 -ipset=/.ilovelongtoes.com/gfwlist -server=/.im.tv/127.0.0.1#5335 -ipset=/.im.tv/gfwlist -server=/.im88.tw/127.0.0.1#5335 -ipset=/.im88.tw/gfwlist -server=/.imageab.com/127.0.0.1#5335 -ipset=/.imageab.com/gfwlist -server=/.imagefap.com/127.0.0.1#5335 -ipset=/.imagefap.com/gfwlist -server=/.imageflea.com/127.0.0.1#5335 -ipset=/.imageflea.com/gfwlist -server=/.images-gaytube.com/127.0.0.1#5335 -ipset=/.images-gaytube.com/gfwlist -server=/.images.comico.tw/127.0.0.1#5335 -ipset=/.images.comico.tw/gfwlist -server=/.imageshack.us/127.0.0.1#5335 -ipset=/.imageshack.us/gfwlist -server=/.imagevenue.com/127.0.0.1#5335 -ipset=/.imagevenue.com/gfwlist -server=/.imagezilla.net/127.0.0.1#5335 -ipset=/.imagezilla.net/gfwlist -server=/.imb.org/127.0.0.1#5335 -ipset=/.imb.org/gfwlist -server=/.img.ly/127.0.0.1#5335 -ipset=/.img.ly/gfwlist -server=/.imgchili.net/127.0.0.1#5335 -ipset=/.imgchili.net/gfwlist -server=/.imgur.com/127.0.0.1#5335 -ipset=/.imgur.com/gfwlist -server=/.imkev.com/127.0.0.1#5335 -ipset=/.imkev.com/gfwlist -server=/.imlive.com/127.0.0.1#5335 -ipset=/.imlive.com/gfwlist -server=/.immigration.gov.tw/127.0.0.1#5335 -ipset=/.immigration.gov.tw/gfwlist -server=/.immoral.jp/127.0.0.1#5335 -ipset=/.immoral.jp/gfwlist -server=/.impact.org.au/127.0.0.1#5335 -ipset=/.impact.org.au/gfwlist -server=/.impp.mn/127.0.0.1#5335 -ipset=/.impp.mn/gfwlist -server=/.in-disguise.com/127.0.0.1#5335 -ipset=/.in-disguise.com/gfwlist -server=/.in99.org/127.0.0.1#5335 -ipset=/.in99.org/gfwlist -server=/.incapdns.net/127.0.0.1#5335 -ipset=/.incapdns.net/gfwlist -server=/.incloak.com/127.0.0.1#5335 -ipset=/.incloak.com/gfwlist -server=/.incredibox.fr/127.0.0.1#5335 -ipset=/.incredibox.fr/gfwlist -server=/.indiandefensenews.in/127.0.0.1#5335 -ipset=/.indiandefensenews.in/gfwlist -server=/.indiemerch.com/127.0.0.1#5335 -ipset=/.indiemerch.com/gfwlist -server=/.info-graf.fr/127.0.0.1#5335 -ipset=/.info-graf.fr/gfwlist -server=/.initiativesforchina.org/127.0.0.1#5335 -ipset=/.initiativesforchina.org/gfwlist -server=/.inkui.com/127.0.0.1#5335 -ipset=/.inkui.com/gfwlist -server=/.inmediahk.net/127.0.0.1#5335 -ipset=/.inmediahk.net/gfwlist -server=/.innermongolia.org/127.0.0.1#5335 -ipset=/.innermongolia.org/gfwlist -server=/.inote.tw/127.0.0.1#5335 -ipset=/.inote.tw/gfwlist -server=/.insecam.org/127.0.0.1#5335 -ipset=/.insecam.org/gfwlist -server=/.insidevoa.com/127.0.0.1#5335 -ipset=/.insidevoa.com/gfwlist -server=/.instagram.com/127.0.0.1#5335 -ipset=/.instagram.com/gfwlist -server=/.instanthq.com/127.0.0.1#5335 -ipset=/.instanthq.com/gfwlist -server=/.institut-tibetain.org/127.0.0.1#5335 -ipset=/.institut-tibetain.org/gfwlist -server=/.international-news.newsmagazine.asia/127.0.0.1#5335 -ipset=/.international-news.newsmagazine.asia/gfwlist -server=/.internetdefenseleague.org/127.0.0.1#5335 -ipset=/.internetdefenseleague.org/gfwlist -server=/.internetfreedom.org/127.0.0.1#5335 -ipset=/.internetfreedom.org/gfwlist -server=/.internetpopculture.com/127.0.0.1#5335 -ipset=/.internetpopculture.com/gfwlist -server=/.inthenameofconfuciusmovie.com/127.0.0.1#5335 -ipset=/.inthenameofconfuciusmovie.com/gfwlist -server=/.investigating.wordpress.com/127.0.0.1#5335 -ipset=/.investigating.wordpress.com/gfwlist -server=/.inxian.com/127.0.0.1#5335 -ipset=/.inxian.com/gfwlist -server=/.iownyour.biz/127.0.0.1#5335 -ipset=/.iownyour.biz/gfwlist -server=/.iownyour.org/127.0.0.1#5335 -ipset=/.iownyour.org/gfwlist -server=/.ipalter.com/127.0.0.1#5335 -ipset=/.ipalter.com/gfwlist -server=/.ipfire.org/127.0.0.1#5335 -ipset=/.ipfire.org/gfwlist -server=/.ipfs.io/127.0.0.1#5335 -ipset=/.ipfs.io/gfwlist -server=/.iphone4hongkong.com/127.0.0.1#5335 -ipset=/.iphone4hongkong.com/gfwlist -server=/.iphonehacks.com/127.0.0.1#5335 -ipset=/.iphonehacks.com/gfwlist -server=/.iphonetaiwan.org/127.0.0.1#5335 -ipset=/.iphonetaiwan.org/gfwlist -server=/.iphonix.fr/127.0.0.1#5335 -ipset=/.iphonix.fr/gfwlist -server=/.ipicture.ru/127.0.0.1#5335 -ipset=/.ipicture.ru/gfwlist -server=/.ipjetable.net/127.0.0.1#5335 -ipset=/.ipjetable.net/gfwlist -server=/.iportal.me/127.0.0.1#5335 -ipset=/.iportal.me/gfwlist -server=/.ippotv.com/127.0.0.1#5335 -ipset=/.ippotv.com/gfwlist -server=/.ipredator.se/127.0.0.1#5335 -ipset=/.ipredator.se/gfwlist -server=/.iptv.com.tw/127.0.0.1#5335 -ipset=/.iptv.com.tw/gfwlist -server=/.iptvbin.com/127.0.0.1#5335 -ipset=/.iptvbin.com/gfwlist -server=/.ipvanish.com/127.0.0.1#5335 -ipset=/.ipvanish.com/gfwlist -server=/.iredmail.org/127.0.0.1#5335 -ipset=/.iredmail.org/gfwlist -server=/.ironbigfools.compython.net/127.0.0.1#5335 -ipset=/.ironbigfools.compython.net/gfwlist -server=/.ironpython.net/127.0.0.1#5335 -ipset=/.ironpython.net/gfwlist -server=/.ironsocket.com/127.0.0.1#5335 -ipset=/.ironsocket.com/gfwlist -server=/.is-a-hunter.com/127.0.0.1#5335 -ipset=/.is-a-hunter.com/gfwlist -server=/.is.gd/127.0.0.1#5335 -ipset=/.is.gd/gfwlist -server=/.isaacmao.com/127.0.0.1#5335 -ipset=/.isaacmao.com/gfwlist -server=/.isasecret.com/127.0.0.1#5335 -ipset=/.isasecret.com/gfwlist -server=/.isc.sans.edu/127.0.0.1#5335 -ipset=/.isc.sans.edu/gfwlist -server=/.isgreat.org/127.0.0.1#5335 -ipset=/.isgreat.org/gfwlist -server=/.islahhaber.net/127.0.0.1#5335 -ipset=/.islahhaber.net/gfwlist -server=/.islam.org.hk/127.0.0.1#5335 -ipset=/.islam.org.hk/gfwlist -server=/.islamhouse.com/127.0.0.1#5335 -ipset=/.islamhouse.com/gfwlist -server=/.islamicity.com/127.0.0.1#5335 -ipset=/.islamicity.com/gfwlist -server=/.islamicpluralism.org/127.0.0.1#5335 -ipset=/.islamicpluralism.org/gfwlist -server=/.islamtoday.net/127.0.0.1#5335 -ipset=/.islamtoday.net/gfwlist -server=/.ismaelan.com/127.0.0.1#5335 -ipset=/.ismaelan.com/gfwlist -server=/.ismalltits.com/127.0.0.1#5335 -ipset=/.ismalltits.com/gfwlist -server=/.ismprofessional.net/127.0.0.1#5335 -ipset=/.ismprofessional.net/gfwlist -server=/.isohunt.com/127.0.0.1#5335 -ipset=/.isohunt.com/gfwlist -server=/.israbox.com/127.0.0.1#5335 -ipset=/.israbox.com/gfwlist -server=/.issuu.com/127.0.0.1#5335 -ipset=/.issuu.com/gfwlist -server=/.istars.co.nz/127.0.0.1#5335 -ipset=/.istars.co.nz/gfwlist -server=/.istiqlalhewer.com/127.0.0.1#5335 -ipset=/.istiqlalhewer.com/gfwlist -server=/.istockphoto.com/127.0.0.1#5335 -ipset=/.istockphoto.com/gfwlist -server=/.isunaffairs.com/127.0.0.1#5335 -ipset=/.isunaffairs.com/gfwlist -server=/.isuntv.com/127.0.0.1#5335 -ipset=/.isuntv.com/gfwlist -server=/.itaboo.info/127.0.0.1#5335 -ipset=/.itaboo.info/gfwlist -server=/.itaiwan.gov.tw/127.0.0.1#5335 -ipset=/.itaiwan.gov.tw/gfwlist -server=/.italiatibet.org/127.0.0.1#5335 -ipset=/.italiatibet.org/gfwlist -server=/.itasoftware.com/127.0.0.1#5335 -ipset=/.itasoftware.com/gfwlist -server=/.itemdb.com/127.0.0.1#5335 -ipset=/.itemdb.com/gfwlist -server=/.ithelp.ithome.com.tw/127.0.0.1#5335 -ipset=/.ithelp.ithome.com.tw/gfwlist -server=/.itsaol.com/127.0.0.1#5335 -ipset=/.itsaol.com/gfwlist -server=/.itshidden.com/127.0.0.1#5335 -ipset=/.itshidden.com/gfwlist -server=/.itsky.it/127.0.0.1#5335 -ipset=/.itsky.it/gfwlist -server=/.itweet.net/127.0.0.1#5335 -ipset=/.itweet.net/gfwlist -server=/.iu45.com/127.0.0.1#5335 -ipset=/.iu45.com/gfwlist -server=/.iuhrdf.org/127.0.0.1#5335 -ipset=/.iuhrdf.org/gfwlist -server=/.iuksky.com/127.0.0.1#5335 -ipset=/.iuksky.com/gfwlist -server=/.ivacy.com/127.0.0.1#5335 -ipset=/.ivacy.com/gfwlist -server=/.iverycd.com/127.0.0.1#5335 -ipset=/.iverycd.com/gfwlist -server=/.ivpn.net/127.0.0.1#5335 -ipset=/.ivpn.net/gfwlist -server=/.ixquick.com/127.0.0.1#5335 -ipset=/.ixquick.com/gfwlist -server=/.ixxx.com/127.0.0.1#5335 -ipset=/.ixxx.com/gfwlist -server=/.iyouport.com/127.0.0.1#5335 -ipset=/.iyouport.com/gfwlist -server=/.izaobao.us/127.0.0.1#5335 -ipset=/.izaobao.us/gfwlist -server=/.izles.net/127.0.0.1#5335 -ipset=/.izles.net/gfwlist -server=/.izlesem.org/127.0.0.1#5335 -ipset=/.izlesem.org/gfwlist -server=/.j.mp/127.0.0.1#5335 -ipset=/.j.mp/gfwlist -server=/.ja.wikipedia.org/127.0.0.1#5335 -ipset=/.ja.wikipedia.org/gfwlist -server=/.jamaat.org/127.0.0.1#5335 -ipset=/.jamaat.org/gfwlist -server=/.jamyangnorbu.com/127.0.0.1#5335 -ipset=/.jamyangnorbu.com/gfwlist -server=/.jandyx.com/127.0.0.1#5335 -ipset=/.jandyx.com/gfwlist -server=/.janwongphoto.com/127.0.0.1#5335 -ipset=/.janwongphoto.com/gfwlist -server=/.japan-whores.com/127.0.0.1#5335 -ipset=/.japan-whores.com/gfwlist -server=/.japantimes.co.jp/127.0.0.1#5335 -ipset=/.japantimes.co.jp/gfwlist -server=/.jav.com/127.0.0.1#5335 -ipset=/.jav.com/gfwlist -server=/.jav101.com/127.0.0.1#5335 -ipset=/.jav101.com/gfwlist -server=/.jav2be.com/127.0.0.1#5335 -ipset=/.jav2be.com/gfwlist -server=/.jav68.tv/127.0.0.1#5335 -ipset=/.jav68.tv/gfwlist -server=/.javakiba.org/127.0.0.1#5335 -ipset=/.javakiba.org/gfwlist -server=/.javbus.com/127.0.0.1#5335 -ipset=/.javbus.com/gfwlist -server=/.javfor.me/127.0.0.1#5335 -ipset=/.javfor.me/gfwlist -server=/.javhd.com/127.0.0.1#5335 -ipset=/.javhd.com/gfwlist -server=/.javhip.com/127.0.0.1#5335 -ipset=/.javhip.com/gfwlist -server=/.javhub.net/127.0.0.1#5335 -ipset=/.javhub.net/gfwlist -server=/.javhuge.com/127.0.0.1#5335 -ipset=/.javhuge.com/gfwlist -server=/.javlibrary.com/127.0.0.1#5335 -ipset=/.javlibrary.com/gfwlist -server=/.javmobile.net/127.0.0.1#5335 -ipset=/.javmobile.net/gfwlist -server=/.javmoo.com/127.0.0.1#5335 -ipset=/.javmoo.com/gfwlist -server=/.javmoo.xyz/127.0.0.1#5335 -ipset=/.javmoo.xyz/gfwlist -server=/.javseen.com/127.0.0.1#5335 -ipset=/.javseen.com/gfwlist -server=/.javtag.com/127.0.0.1#5335 -ipset=/.javtag.com/gfwlist -server=/.javzoo.com/127.0.0.1#5335 -ipset=/.javzoo.com/gfwlist -server=/.jbtalks.cc/127.0.0.1#5335 -ipset=/.jbtalks.cc/gfwlist -server=/.jbtalks.com/127.0.0.1#5335 -ipset=/.jbtalks.com/gfwlist -server=/.jbtalks.my/127.0.0.1#5335 -ipset=/.jbtalks.my/gfwlist -server=/.jcpenney.com/127.0.0.1#5335 -ipset=/.jcpenney.com/gfwlist -server=/.jdwsy.com/127.0.0.1#5335 -ipset=/.jdwsy.com/gfwlist -server=/.jeanyim.com/127.0.0.1#5335 -ipset=/.jeanyim.com/gfwlist -server=/.jetos.com/127.0.0.1#5335 -ipset=/.jetos.com/gfwlist -server=/.jex.com/127.0.0.1#5335 -ipset=/.jex.com/gfwlist -server=/.jfqu36.club/127.0.0.1#5335 -ipset=/.jfqu36.club/gfwlist -server=/.jfqu37.xyz/127.0.0.1#5335 -ipset=/.jfqu37.xyz/gfwlist -server=/.jgoodies.com/127.0.0.1#5335 -ipset=/.jgoodies.com/gfwlist -server=/.jiangweiping.com/127.0.0.1#5335 -ipset=/.jiangweiping.com/gfwlist -server=/.jiaoyou8.com/127.0.0.1#5335 -ipset=/.jiaoyou8.com/gfwlist -server=/.jiehua.cz/127.0.0.1#5335 -ipset=/.jiehua.cz/gfwlist -server=/.jieshibaobao.com/127.0.0.1#5335 -ipset=/.jieshibaobao.com/gfwlist -server=/.jigglegifs.com/127.0.0.1#5335 -ipset=/.jigglegifs.com/gfwlist -server=/.jigong1024.com/127.0.0.1#5335 -ipset=/.jigong1024.com/gfwlist -server=/.jihadintel.meforum.org/127.0.0.1#5335 -ipset=/.jihadintel.meforum.org/gfwlist -server=/.jihadology.net/127.0.0.1#5335 -ipset=/.jihadology.net/gfwlist -server=/.jiji.com/127.0.0.1#5335 -ipset=/.jiji.com/gfwlist -server=/.jims.net/127.0.0.1#5335 -ipset=/.jims.net/gfwlist -server=/.jinbushe.org/127.0.0.1#5335 -ipset=/.jinbushe.org/gfwlist -server=/.jingpin.org/127.0.0.1#5335 -ipset=/.jingpin.org/gfwlist -server=/.jingsim.org/127.0.0.1#5335 -ipset=/.jingsim.org/gfwlist -server=/.jinpianwang.com/127.0.0.1#5335 -ipset=/.jinpianwang.com/gfwlist -server=/.jinroukong.com/127.0.0.1#5335 -ipset=/.jinroukong.com/gfwlist -server=/.jintian.net/127.0.0.1#5335 -ipset=/.jintian.net/gfwlist -server=/.jinx.com/127.0.0.1#5335 -ipset=/.jinx.com/gfwlist -server=/.jitouch.com/127.0.0.1#5335 -ipset=/.jitouch.com/gfwlist -server=/.jizzthis.com/127.0.0.1#5335 -ipset=/.jizzthis.com/gfwlist -server=/.jjgirls.com/127.0.0.1#5335 -ipset=/.jjgirls.com/gfwlist -server=/.jkb.cc/127.0.0.1#5335 -ipset=/.jkb.cc/gfwlist -server=/.jkforum.net/127.0.0.1#5335 -ipset=/.jkforum.net/gfwlist -server=/.jkub.com/127.0.0.1#5335 -ipset=/.jkub.com/gfwlist -server=/.jma.go.jp/127.0.0.1#5335 -ipset=/.jma.go.jp/gfwlist -server=/.jmscult.com/127.0.0.1#5335 -ipset=/.jmscult.com/gfwlist -server=/.joachims.org/127.0.0.1#5335 -ipset=/.joachims.org/gfwlist -server=/.jobnewera.wordpress.com/127.0.0.1#5335 -ipset=/.jobnewera.wordpress.com/gfwlist -server=/.jobso.tv/127.0.0.1#5335 -ipset=/.jobso.tv/gfwlist -server=/.joinmastodon.org/127.0.0.1#5335 -ipset=/.joinmastodon.org/gfwlist -server=/.journalchretien.net/127.0.0.1#5335 -ipset=/.journalchretien.net/gfwlist -server=/.journalofdemocracy.org/127.0.0.1#5335 -ipset=/.journalofdemocracy.org/gfwlist -server=/.joymiihub.com/127.0.0.1#5335 -ipset=/.joymiihub.com/gfwlist -server=/.joyourself.com/127.0.0.1#5335 -ipset=/.joyourself.com/gfwlist -server=/.jp.hao123.com/127.0.0.1#5335 -ipset=/.jp.hao123.com/gfwlist -server=/.jpl.nasa.gov/127.0.0.1#5335 -ipset=/.jpl.nasa.gov/gfwlist -server=/.jpopforum.net/127.0.0.1#5335 -ipset=/.jpopforum.net/gfwlist -server=/.jtvnw.net/127.0.0.1#5335 -ipset=/.jtvnw.net/gfwlist -server=/.jubushoushen.com/127.0.0.1#5335 -ipset=/.jubushoushen.com/gfwlist -server=/.juhuaren.com/127.0.0.1#5335 -ipset=/.juhuaren.com/gfwlist -server=/.jukujo-club.com/127.0.0.1#5335 -ipset=/.jukujo-club.com/gfwlist -server=/.juliepost.com/127.0.0.1#5335 -ipset=/.juliepost.com/gfwlist -server=/.juliereyc.com/127.0.0.1#5335 -ipset=/.juliereyc.com/gfwlist -server=/.junauza.com/127.0.0.1#5335 -ipset=/.junauza.com/gfwlist -server=/.june4commemoration.org/127.0.0.1#5335 -ipset=/.june4commemoration.org/gfwlist -server=/.junefourth-20.net/127.0.0.1#5335 -ipset=/.junefourth-20.net/gfwlist -server=/.jungleheart.com/127.0.0.1#5335 -ipset=/.jungleheart.com/gfwlist -server=/.juoaa.com/127.0.0.1#5335 -ipset=/.juoaa.com/gfwlist -server=/.justdied.com/127.0.0.1#5335 -ipset=/.justdied.com/gfwlist -server=/.justfreevpn.com/127.0.0.1#5335 -ipset=/.justfreevpn.com/gfwlist -server=/.justicefortenzin.org/127.0.0.1#5335 -ipset=/.justicefortenzin.org/gfwlist -server=/.justpaste.it/127.0.0.1#5335 -ipset=/.justpaste.it/gfwlist -server=/.justtristan.com/127.0.0.1#5335 -ipset=/.justtristan.com/gfwlist -server=/.juyuange.org/127.0.0.1#5335 -ipset=/.juyuange.org/gfwlist -server=/.juziyue.com/127.0.0.1#5335 -ipset=/.juziyue.com/gfwlist -server=/.jwmusic.org/127.0.0.1#5335 -ipset=/.jwmusic.org/gfwlist -server=/.jyxf.net/127.0.0.1#5335 -ipset=/.jyxf.net/gfwlist -server=/.k-doujin.net/127.0.0.1#5335 -ipset=/.k-doujin.net/gfwlist -server=/.ka-wai.com/127.0.0.1#5335 -ipset=/.ka-wai.com/gfwlist -server=/.kadokawa.co.jp/127.0.0.1#5335 -ipset=/.kadokawa.co.jp/gfwlist -server=/.kagyu.org/127.0.0.1#5335 -ipset=/.kagyu.org/gfwlist -server=/.kagyumonlam.org/127.0.0.1#5335 -ipset=/.kagyumonlam.org/gfwlist -server=/.kagyunews.com.hk/127.0.0.1#5335 -ipset=/.kagyunews.com.hk/gfwlist -server=/.kagyuoffice.org/127.0.0.1#5335 -ipset=/.kagyuoffice.org/gfwlist -server=/.kaiyuan.de/127.0.0.1#5335 -ipset=/.kaiyuan.de/gfwlist -server=/.kakao.com/127.0.0.1#5335 -ipset=/.kakao.com/gfwlist -server=/.kalachakralugano.org/127.0.0.1#5335 -ipset=/.kalachakralugano.org/gfwlist -server=/.kankan.today/127.0.0.1#5335 -ipset=/.kankan.today/gfwlist -server=/.kannewyork.com/127.0.0.1#5335 -ipset=/.kannewyork.com/gfwlist -server=/.kanshifang.com/127.0.0.1#5335 -ipset=/.kanshifang.com/gfwlist -server=/.kantie.org/127.0.0.1#5335 -ipset=/.kantie.org/gfwlist -server=/.kanzhongguo.com/127.0.0.1#5335 -ipset=/.kanzhongguo.com/gfwlist -server=/.kanzhongguo.eu/127.0.0.1#5335 -ipset=/.kanzhongguo.eu/gfwlist -server=/.kaotic.com/127.0.0.1#5335 -ipset=/.kaotic.com/gfwlist -server=/.karayou.com/127.0.0.1#5335 -ipset=/.karayou.com/gfwlist -server=/.karkhung.com/127.0.0.1#5335 -ipset=/.karkhung.com/gfwlist -server=/.karmapa-teachings.org/127.0.0.1#5335 -ipset=/.karmapa-teachings.org/gfwlist -server=/.karmapa.org/127.0.0.1#5335 -ipset=/.karmapa.org/gfwlist -server=/.kawaiikawaii.jp/127.0.0.1#5335 -ipset=/.kawaiikawaii.jp/gfwlist -server=/.kawase.com/127.0.0.1#5335 -ipset=/.kawase.com/gfwlist -server=/.kb.monitorware.com/127.0.0.1#5335 -ipset=/.kb.monitorware.com/gfwlist -server=/.kba-tx.org/127.0.0.1#5335 -ipset=/.kba-tx.org/gfwlist -server=/.kcoolonline.com/127.0.0.1#5335 -ipset=/.kcoolonline.com/gfwlist -server=/.kebrum.com/127.0.0.1#5335 -ipset=/.kebrum.com/gfwlist -server=/.kechara.com/127.0.0.1#5335 -ipset=/.kechara.com/gfwlist -server=/.keezmovies.com/127.0.0.1#5335 -ipset=/.keezmovies.com/gfwlist -server=/.kendatire.com/127.0.0.1#5335 -ipset=/.kendatire.com/gfwlist -server=/.kendincos.net/127.0.0.1#5335 -ipset=/.kendincos.net/gfwlist -server=/.kenengba.com/127.0.0.1#5335 -ipset=/.kenengba.com/gfwlist -server=/.keontech.net/127.0.0.1#5335 -ipset=/.keontech.net/gfwlist -server=/.kepard.com/127.0.0.1#5335 -ipset=/.kepard.com/gfwlist -server=/.kex.com/127.0.0.1#5335 -ipset=/.kex.com/gfwlist -server=/.keycdn.com/127.0.0.1#5335 -ipset=/.keycdn.com/gfwlist -server=/.khabdha.org/127.0.0.1#5335 -ipset=/.khabdha.org/gfwlist -server=/.khatrimaza.org/127.0.0.1#5335 -ipset=/.khatrimaza.org/gfwlist -server=/.khmusic.com.tw/127.0.0.1#5335 -ipset=/.khmusic.com.tw/gfwlist -server=/.kichiku-doujinko.com/127.0.0.1#5335 -ipset=/.kichiku-doujinko.com/gfwlist -server=/.kik.com/127.0.0.1#5335 -ipset=/.kik.com/gfwlist -server=/.killwall.com/127.0.0.1#5335 -ipset=/.killwall.com/gfwlist -server=/.kindleren.com/127.0.0.1#5335 -ipset=/.kindleren.com/gfwlist -server=/.kineox.free.fr/127.0.0.1#5335 -ipset=/.kineox.free.fr/gfwlist -server=/.kingdomsalvation.org/127.0.0.1#5335 -ipset=/.kingdomsalvation.org/gfwlist -server=/.kinghost.com/127.0.0.1#5335 -ipset=/.kinghost.com/gfwlist -server=/.kingstone.com.tw/127.0.0.1#5335 -ipset=/.kingstone.com.tw/gfwlist -server=/.kink.com/127.0.0.1#5335 -ipset=/.kink.com/gfwlist -server=/.kinmen.org.tw/127.0.0.1#5335 -ipset=/.kinmen.org.tw/gfwlist -server=/.kinmen.travel/127.0.0.1#5335 -ipset=/.kinmen.travel/gfwlist -server=/.kinokuniya.com/127.0.0.1#5335 -ipset=/.kinokuniya.com/gfwlist -server=/.kir.jp/127.0.0.1#5335 -ipset=/.kir.jp/gfwlist -server=/.kissbbao.cn/127.0.0.1#5335 -ipset=/.kissbbao.cn/gfwlist -server=/.kiwi.kz/127.0.0.1#5335 -ipset=/.kiwi.kz/gfwlist -server=/.kk-whys.co.jp/127.0.0.1#5335 -ipset=/.kk-whys.co.jp/gfwlist -server=/.kkbox.com/127.0.0.1#5335 -ipset=/.kkbox.com/gfwlist -server=/.kknews.cc/127.0.0.1#5335 -ipset=/.kknews.cc/gfwlist -server=/.kmuh.org.tw/127.0.0.1#5335 -ipset=/.kmuh.org.tw/gfwlist -server=/.kobo.com/127.0.0.1#5335 -ipset=/.kobo.com/gfwlist -server=/.kobobooks.com/127.0.0.1#5335 -ipset=/.kobobooks.com/gfwlist -server=/.kodingen.com/127.0.0.1#5335 -ipset=/.kodingen.com/gfwlist -server=/.kompozer.net/127.0.0.1#5335 -ipset=/.kompozer.net/gfwlist -server=/.konachan.com/127.0.0.1#5335 -ipset=/.konachan.com/gfwlist -server=/.kone.com/127.0.0.1#5335 -ipset=/.kone.com/gfwlist -server=/.koolsolutions.com/127.0.0.1#5335 -ipset=/.koolsolutions.com/gfwlist -server=/.koornk.com/127.0.0.1#5335 -ipset=/.koornk.com/gfwlist -server=/.koranmandarin.com/127.0.0.1#5335 -ipset=/.koranmandarin.com/gfwlist -server=/.korenan2.com/127.0.0.1#5335 -ipset=/.korenan2.com/gfwlist -server=/.ksdl.org/127.0.0.1#5335 -ipset=/.ksdl.org/gfwlist -server=/.ksnews.com.tw/127.0.0.1#5335 -ipset=/.ksnews.com.tw/gfwlist -server=/.kspcoin.com/127.0.0.1#5335 -ipset=/.kspcoin.com/gfwlist -server=/.ktzhk.com/127.0.0.1#5335 -ipset=/.ktzhk.com/gfwlist -server=/.kucoin.com/127.0.0.1#5335 -ipset=/.kucoin.com/gfwlist -server=/.kun.im/127.0.0.1#5335 -ipset=/.kun.im/gfwlist -server=/.kurashsultan.com/127.0.0.1#5335 -ipset=/.kurashsultan.com/gfwlist -server=/.kurtmunger.com/127.0.0.1#5335 -ipset=/.kurtmunger.com/gfwlist -server=/.kusocity.com/127.0.0.1#5335 -ipset=/.kusocity.com/gfwlist -server=/.kwcg.ca/127.0.0.1#5335 -ipset=/.kwcg.ca/gfwlist -server=/.kwongwah.com.my/127.0.0.1#5335 -ipset=/.kwongwah.com.my/gfwlist -server=/.kxsw.life/127.0.0.1#5335 -ipset=/.kxsw.life/gfwlist -server=/.kyofun.com/127.0.0.1#5335 -ipset=/.kyofun.com/gfwlist -server=/.kyohk.net/127.0.0.1#5335 -ipset=/.kyohk.net/gfwlist -server=/.kyoyue.com/127.0.0.1#5335 -ipset=/.kyoyue.com/gfwlist -server=/.kyzyhello.com/127.0.0.1#5335 -ipset=/.kyzyhello.com/gfwlist -server=/.kzeng.info/127.0.0.1#5335 -ipset=/.kzeng.info/gfwlist -server=/.la-forum.org/127.0.0.1#5335 -ipset=/.la-forum.org/gfwlist -server=/.labiennale.org/127.0.0.1#5335 -ipset=/.labiennale.org/gfwlist -server=/.ladbrokes.com/127.0.0.1#5335 -ipset=/.ladbrokes.com/gfwlist -server=/.lagranepoca.com/127.0.0.1#5335 -ipset=/.lagranepoca.com/gfwlist -server=/.lalulalu.com/127.0.0.1#5335 -ipset=/.lalulalu.com/gfwlist -server=/.lama.com.tw/127.0.0.1#5335 -ipset=/.lama.com.tw/gfwlist -server=/.lamayeshe.com/127.0.0.1#5335 -ipset=/.lamayeshe.com/gfwlist -server=/.lamnia.co.uk/127.0.0.1#5335 -ipset=/.lamnia.co.uk/gfwlist -server=/.lamrim.com/127.0.0.1#5335 -ipset=/.lamrim.com/gfwlist -server=/.lanterncn.cn/127.0.0.1#5335 -ipset=/.lanterncn.cn/gfwlist -server=/.lantosfoundation.org/127.0.0.1#5335 -ipset=/.lantosfoundation.org/gfwlist -server=/.laod.cn/127.0.0.1#5335 -ipset=/.laod.cn/gfwlist -server=/.laogai.org/127.0.0.1#5335 -ipset=/.laogai.org/gfwlist -server=/.laomiu.com/127.0.0.1#5335 -ipset=/.laomiu.com/gfwlist -server=/.laoyang.info/127.0.0.1#5335 -ipset=/.laoyang.info/gfwlist -server=/.laptoplockdown.com/127.0.0.1#5335 -ipset=/.laptoplockdown.com/gfwlist -server=/.laqingdan.net/127.0.0.1#5335 -ipset=/.laqingdan.net/gfwlist -server=/.larsgeorge.com/127.0.0.1#5335 -ipset=/.larsgeorge.com/gfwlist -server=/.lastcombat.com/127.0.0.1#5335 -ipset=/.lastcombat.com/gfwlist -server=/.lastfm.es/127.0.0.1#5335 -ipset=/.lastfm.es/gfwlist -server=/.latelinenews.com/127.0.0.1#5335 -ipset=/.latelinenews.com/gfwlist -server=/.latibet.org/127.0.0.1#5335 -ipset=/.latibet.org/gfwlist -server=/.lbank.info/127.0.0.1#5335 -ipset=/.lbank.info/gfwlist -server=/.ld.hao123img.com/127.0.0.1#5335 -ipset=/.ld.hao123img.com/gfwlist -server=/.le-vpn.com/127.0.0.1#5335 -ipset=/.le-vpn.com/gfwlist -server=/.leafyvpn.net/127.0.0.1#5335 -ipset=/.leafyvpn.net/gfwlist -server=/.lecloud.net/127.0.0.1#5335 -ipset=/.lecloud.net/gfwlist -server=/.lefora.com/127.0.0.1#5335 -ipset=/.lefora.com/gfwlist -server=/.left21.hk/127.0.0.1#5335 -ipset=/.left21.hk/gfwlist -server=/.legalporno.com/127.0.0.1#5335 -ipset=/.legalporno.com/gfwlist -server=/.legaltech.law.com/127.0.0.1#5335 -ipset=/.legaltech.law.com/gfwlist -server=/.legsjapan.com/127.0.0.1#5335 -ipset=/.legsjapan.com/gfwlist -server=/.leirentv.ca/127.0.0.1#5335 -ipset=/.leirentv.ca/gfwlist -server=/.leisurecafe.ca/127.0.0.1#5335 -ipset=/.leisurecafe.ca/gfwlist -server=/.leisurepro.com/127.0.0.1#5335 -ipset=/.leisurepro.com/gfwlist -server=/.lematin.ch/127.0.0.1#5335 -ipset=/.lematin.ch/gfwlist -server=/.lemonde.fr/127.0.0.1#5335 -ipset=/.lemonde.fr/gfwlist -server=/.lenwhite.com/127.0.0.1#5335 -ipset=/.lenwhite.com/gfwlist -server=/.lerosua.org/127.0.0.1#5335 -ipset=/.lerosua.org/gfwlist -server=/.lers.google/127.0.0.1#5335 -ipset=/.lers.google/gfwlist -server=/.lesoir.be/127.0.0.1#5335 -ipset=/.lesoir.be/gfwlist -server=/.letou.com/127.0.0.1#5335 -ipset=/.letou.com/gfwlist -server=/.letscorp.net/127.0.0.1#5335 -ipset=/.letscorp.net/gfwlist -server=/.lflink.com/127.0.0.1#5335 -ipset=/.lflink.com/gfwlist -server=/.lflinkup.com/127.0.0.1#5335 -ipset=/.lflinkup.com/gfwlist -server=/.lflinkup.net/127.0.0.1#5335 -ipset=/.lflinkup.net/gfwlist -server=/.lflinkup.org/127.0.0.1#5335 -ipset=/.lflinkup.org/gfwlist -server=/.lhakar.org/127.0.0.1#5335 -ipset=/.lhakar.org/gfwlist -server=/.lhasocialwork.org/127.0.0.1#5335 -ipset=/.lhasocialwork.org/gfwlist -server=/.liangyou.net/127.0.0.1#5335 -ipset=/.liangyou.net/gfwlist -server=/.liangzhichuanmei.com/127.0.0.1#5335 -ipset=/.liangzhichuanmei.com/gfwlist -server=/.lianyue.net/127.0.0.1#5335 -ipset=/.lianyue.net/gfwlist -server=/.liaowangxizang.net/127.0.0.1#5335 -ipset=/.liaowangxizang.net/gfwlist -server=/.liberal.org.hk/127.0.0.1#5335 -ipset=/.liberal.org.hk/gfwlist -server=/.libertytimes.com.tw/127.0.0.1#5335 -ipset=/.libertytimes.com.tw/gfwlist -server=/.lifemiles.com/127.0.0.1#5335 -ipset=/.lifemiles.com/gfwlist -server=/.lighten.org.tw/127.0.0.1#5335 -ipset=/.lighten.org.tw/gfwlist -server=/.lighti.me/127.0.0.1#5335 -ipset=/.lighti.me/gfwlist -server=/.lightnovel.cn/127.0.0.1#5335 -ipset=/.lightnovel.cn/gfwlist -server=/.lightyearvpn.com/127.0.0.1#5335 -ipset=/.lightyearvpn.com/gfwlist -server=/.lihkg.com/127.0.0.1#5335 -ipset=/.lihkg.com/gfwlist -server=/.like.com/127.0.0.1#5335 -ipset=/.like.com/gfwlist -server=/.limiao.net/127.0.0.1#5335 -ipset=/.limiao.net/gfwlist -server=/.line-apps.com/127.0.0.1#5335 -ipset=/.line-apps.com/gfwlist -server=/.line-scdn.net/127.0.0.1#5335 -ipset=/.line-scdn.net/gfwlist -server=/.line.me/127.0.0.1#5335 -ipset=/.line.me/gfwlist -server=/.line.naver.jp/127.0.0.1#5335 -ipset=/.line.naver.jp/gfwlist -server=/.linear-abematv.akamaized.net/127.0.0.1#5335 -ipset=/.linear-abematv.akamaized.net/gfwlist -server=/.linglingfa.com/127.0.0.1#5335 -ipset=/.linglingfa.com/gfwlist -server=/.lingvodics.com/127.0.0.1#5335 -ipset=/.lingvodics.com/gfwlist -server=/.link-o-rama.com/127.0.0.1#5335 -ipset=/.link-o-rama.com/gfwlist -server=/.linkideo.com/127.0.0.1#5335 -ipset=/.linkideo.com/gfwlist -server=/.linkuswell.com/127.0.0.1#5335 -ipset=/.linkuswell.com/gfwlist -server=/.linux.org.hk/127.0.0.1#5335 -ipset=/.linux.org.hk/gfwlist -server=/.lionsroar.com/127.0.0.1#5335 -ipset=/.lionsroar.com/gfwlist -server=/.lipuman.com/127.0.0.1#5335 -ipset=/.lipuman.com/gfwlist -server=/.liquidvpn.com/127.0.0.1#5335 -ipset=/.liquidvpn.com/gfwlist -server=/.listentoyoutube.com/127.0.0.1#5335 -ipset=/.listentoyoutube.com/gfwlist -server=/.listorious.com/127.0.0.1#5335 -ipset=/.listorious.com/gfwlist -server=/.liu-xiaobo.org/127.0.0.1#5335 -ipset=/.liu-xiaobo.org/gfwlist -server=/.liudejun.com/127.0.0.1#5335 -ipset=/.liudejun.com/gfwlist -server=/.liuhanyu.com/127.0.0.1#5335 -ipset=/.liuhanyu.com/gfwlist -server=/.liujianshu.com/127.0.0.1#5335 -ipset=/.liujianshu.com/gfwlist -server=/.liuxiaobo.net/127.0.0.1#5335 -ipset=/.liuxiaobo.net/gfwlist -server=/.liuxiaotong.com/127.0.0.1#5335 -ipset=/.liuxiaotong.com/gfwlist -server=/.livecoin.net/127.0.0.1#5335 -ipset=/.livecoin.net/gfwlist -server=/.livedoor.jp/127.0.0.1#5335 -ipset=/.livedoor.jp/gfwlist -server=/.liveleak.com/127.0.0.1#5335 -ipset=/.liveleak.com/gfwlist -server=/.livestation.com/127.0.0.1#5335 -ipset=/.livestation.com/gfwlist -server=/.livestream.com/127.0.0.1#5335 -ipset=/.livestream.com/gfwlist -server=/.livevideo.com/127.0.0.1#5335 -ipset=/.livevideo.com/gfwlist -server=/.livingonline.us/127.0.0.1#5335 -ipset=/.livingonline.us/gfwlist -server=/.livingstream.com/127.0.0.1#5335 -ipset=/.livingstream.com/gfwlist -server=/.liwangyang.com/127.0.0.1#5335 -ipset=/.liwangyang.com/gfwlist -server=/.lizhizhuangbi.com/127.0.0.1#5335 -ipset=/.lizhizhuangbi.com/gfwlist -server=/.lkcn.net/127.0.0.1#5335 -ipset=/.lkcn.net/gfwlist -server=/.load.to/127.0.0.1#5335 -ipset=/.load.to/gfwlist -server=/.lobsangwangyal.com/127.0.0.1#5335 -ipset=/.lobsangwangyal.com/gfwlist -server=/.localbitcoins.com/127.0.0.1#5335 -ipset=/.localbitcoins.com/gfwlist -server=/.localdomain.ws/127.0.0.1#5335 -ipset=/.localdomain.ws/gfwlist -server=/.localpresshk.com/127.0.0.1#5335 -ipset=/.localpresshk.com/gfwlist -server=/.lockestek.com/127.0.0.1#5335 -ipset=/.lockestek.com/gfwlist -server=/.logbot.net/127.0.0.1#5335 -ipset=/.logbot.net/gfwlist -server=/.login.target.com/127.0.0.1#5335 -ipset=/.login.target.com/gfwlist -server=/.logiqx.com/127.0.0.1#5335 -ipset=/.logiqx.com/gfwlist -server=/.londonchinese.ca/127.0.0.1#5335 -ipset=/.londonchinese.ca/gfwlist -server=/.longhair.hk/127.0.0.1#5335 -ipset=/.longhair.hk/gfwlist -server=/.longmusic.com/127.0.0.1#5335 -ipset=/.longmusic.com/gfwlist -server=/.longtermly.net/127.0.0.1#5335 -ipset=/.longtermly.net/gfwlist -server=/.longtoes.com/127.0.0.1#5335 -ipset=/.longtoes.com/gfwlist -server=/.lookpic.com/127.0.0.1#5335 -ipset=/.lookpic.com/gfwlist -server=/.looktoronto.com/127.0.0.1#5335 -ipset=/.looktoronto.com/gfwlist -server=/.lotuslight.org.hk/127.0.0.1#5335 -ipset=/.lotuslight.org.hk/gfwlist -server=/.lotuslight.org.tw/127.0.0.1#5335 -ipset=/.lotuslight.org.tw/gfwlist -server=/.lovetvshow.com/127.0.0.1#5335 -ipset=/.lovetvshow.com/gfwlist -server=/.lpsg.com/127.0.0.1#5335 -ipset=/.lpsg.com/gfwlist -server=/.lrfz.com/127.0.0.1#5335 -ipset=/.lrfz.com/gfwlist -server=/.lrip.org/127.0.0.1#5335 -ipset=/.lrip.org/gfwlist -server=/.lsd.org.hk/127.0.0.1#5335 -ipset=/.lsd.org.hk/gfwlist -server=/.lsforum.net/127.0.0.1#5335 -ipset=/.lsforum.net/gfwlist -server=/.lsm.org/127.0.0.1#5335 -ipset=/.lsm.org/gfwlist -server=/.lsmchinese.org/127.0.0.1#5335 -ipset=/.lsmchinese.org/gfwlist -server=/.lsmkorean.org/127.0.0.1#5335 -ipset=/.lsmkorean.org/gfwlist -server=/.lsmwebcast.com/127.0.0.1#5335 -ipset=/.lsmwebcast.com/gfwlist -server=/.lsxszzg.com/127.0.0.1#5335 -ipset=/.lsxszzg.com/gfwlist -server=/.ltn.com.tw/127.0.0.1#5335 -ipset=/.ltn.com.tw/gfwlist -server=/.luke54.com/127.0.0.1#5335 -ipset=/.luke54.com/gfwlist -server=/.luke54.org/127.0.0.1#5335 -ipset=/.luke54.org/gfwlist -server=/.lupm.org/127.0.0.1#5335 -ipset=/.lupm.org/gfwlist -server=/.lushstories.com/127.0.0.1#5335 -ipset=/.lushstories.com/gfwlist -server=/.luxebc.com/127.0.0.1#5335 -ipset=/.luxebc.com/gfwlist -server=/.lvhai.org/127.0.0.1#5335 -ipset=/.lvhai.org/gfwlist -server=/.lvv2.com/127.0.0.1#5335 -ipset=/.lvv2.com/gfwlist -server=/.lyfhk.net/127.0.0.1#5335 -ipset=/.lyfhk.net/gfwlist -server=/.lzmtnews.org/127.0.0.1#5335 -ipset=/.lzmtnews.org/gfwlist -server=/.m.hkgalden.com/127.0.0.1#5335 -ipset=/.m.hkgalden.com/gfwlist -server=/.m.me/127.0.0.1#5335 -ipset=/.m.me/gfwlist -server=/.m.plixi.com/127.0.0.1#5335 -ipset=/.m.plixi.com/gfwlist -server=/.m.slandr.net/127.0.0.1#5335 -ipset=/.m.slandr.net/gfwlist -server=/.ma.hao123.com/127.0.0.1#5335 -ipset=/.ma.hao123.com/gfwlist -server=/.macgamestore.com/127.0.0.1#5335 -ipset=/.macgamestore.com/gfwlist -server=/.macrovpn.com/127.0.0.1#5335 -ipset=/.macrovpn.com/gfwlist -server=/.macts.com.tw/127.0.0.1#5335 -ipset=/.macts.com.tw/gfwlist -server=/.mad-ar.ch/127.0.0.1#5335 -ipset=/.mad-ar.ch/gfwlist -server=/.madewithcode.com/127.0.0.1#5335 -ipset=/.madewithcode.com/gfwlist -server=/.madonna-av.com/127.0.0.1#5335 -ipset=/.madonna-av.com/gfwlist -server=/.madrau.com/127.0.0.1#5335 -ipset=/.madrau.com/gfwlist -server=/.madthumbs.com/127.0.0.1#5335 -ipset=/.madthumbs.com/gfwlist -server=/.magazines.sina.com.tw/127.0.0.1#5335 -ipset=/.magazines.sina.com.tw/gfwlist -server=/.magic-net.info/127.0.0.1#5335 -ipset=/.magic-net.info/gfwlist -server=/.mahabodhi.org/127.0.0.1#5335 -ipset=/.mahabodhi.org/gfwlist -server=/.maiio.net/127.0.0.1#5335 -ipset=/.maiio.net/gfwlist -server=/.mail-archive.com/127.0.0.1#5335 -ipset=/.mail-archive.com/gfwlist -server=/.maildns.xyz/127.0.0.1#5335 -ipset=/.maildns.xyz/gfwlist -server=/.maiplus.com/127.0.0.1#5335 -ipset=/.maiplus.com/gfwlist -server=/.maizhong.org/127.0.0.1#5335 -ipset=/.maizhong.org/gfwlist -server=/.makemymood.com/127.0.0.1#5335 -ipset=/.makemymood.com/gfwlist -server=/.makkahnewspaper.com/127.0.0.1#5335 -ipset=/.makkahnewspaper.com/gfwlist -server=/.makzhou.warehouse333.com/127.0.0.1#5335 -ipset=/.makzhou.warehouse333.com/gfwlist -server=/.malaysiakini.com/127.0.0.1#5335 -ipset=/.malaysiakini.com/gfwlist -server=/.mamingzhe.com/127.0.0.1#5335 -ipset=/.mamingzhe.com/gfwlist -server=/.manchukuo.net/127.0.0.1#5335 -ipset=/.manchukuo.net/gfwlist -server=/.mangafox.com/127.0.0.1#5335 -ipset=/.mangafox.com/gfwlist -server=/.mangafox.me/127.0.0.1#5335 -ipset=/.mangafox.me/gfwlist -server=/.maniash.com/127.0.0.1#5335 -ipset=/.maniash.com/gfwlist -server=/.manicur4ik.ru/127.0.0.1#5335 -ipset=/.manicur4ik.ru/gfwlist -server=/.mansion.com/127.0.0.1#5335 -ipset=/.mansion.com/gfwlist -server=/.mansionpoker.com/127.0.0.1#5335 -ipset=/.mansionpoker.com/gfwlist -server=/.manta.com/127.0.0.1#5335 -ipset=/.manta.com/gfwlist -server=/.maplew.com/127.0.0.1#5335 -ipset=/.maplew.com/gfwlist -server=/.marc.info/127.0.0.1#5335 -ipset=/.marc.info/gfwlist -server=/.marguerite.su/127.0.0.1#5335 -ipset=/.marguerite.su/gfwlist -server=/.martau.com/127.0.0.1#5335 -ipset=/.martau.com/gfwlist -server=/.martincartoons.com/127.0.0.1#5335 -ipset=/.martincartoons.com/gfwlist -server=/.martsangkagyuofficial.org/127.0.0.1#5335 -ipset=/.martsangkagyuofficial.org/gfwlist -server=/.marxist.com/127.0.0.1#5335 -ipset=/.marxist.com/gfwlist -server=/.marxist.net/127.0.0.1#5335 -ipset=/.marxist.net/gfwlist -server=/.mash.to/127.0.0.1#5335 -ipset=/.mash.to/gfwlist -server=/.maskedip.com/127.0.0.1#5335 -ipset=/.maskedip.com/gfwlist -server=/.mastodon.cloud/127.0.0.1#5335 -ipset=/.mastodon.cloud/gfwlist -server=/.mastodon.host/127.0.0.1#5335 -ipset=/.mastodon.host/gfwlist -server=/.mastodon.social/127.0.0.1#5335 -ipset=/.mastodon.social/gfwlist -server=/.matainja.com/127.0.0.1#5335 -ipset=/.matainja.com/gfwlist -server=/.material.io/127.0.0.1#5335 -ipset=/.material.io/gfwlist -server=/.mathable.io/127.0.0.1#5335 -ipset=/.mathable.io/gfwlist -server=/.mathiew-badimon.com/127.0.0.1#5335 -ipset=/.mathiew-badimon.com/gfwlist -server=/.matome-plus.com/127.0.0.1#5335 -ipset=/.matome-plus.com/gfwlist -server=/.matome-plus.net/127.0.0.1#5335 -ipset=/.matome-plus.net/gfwlist -server=/.matsushimakaede.com/127.0.0.1#5335 -ipset=/.matsushimakaede.com/gfwlist -server=/.matters.news/127.0.0.1#5335 -ipset=/.matters.news/gfwlist -server=/.mattwilcox.net/127.0.0.1#5335 -ipset=/.mattwilcox.net/gfwlist -server=/.maturejp.com/127.0.0.1#5335 -ipset=/.maturejp.com/gfwlist -server=/.maxing.jp/127.0.0.1#5335 -ipset=/.maxing.jp/gfwlist -server=/.mayimayi.com/127.0.0.1#5335 -ipset=/.mayimayi.com/gfwlist -server=/.mcadforums.com/127.0.0.1#5335 -ipset=/.mcadforums.com/gfwlist -server=/.mcaf.ee/127.0.0.1#5335 -ipset=/.mcaf.ee/gfwlist -server=/.mcfog.com/127.0.0.1#5335 -ipset=/.mcfog.com/gfwlist -server=/.mcreasite.com/127.0.0.1#5335 -ipset=/.mcreasite.com/gfwlist -server=/.md-t.org/127.0.0.1#5335 -ipset=/.md-t.org/gfwlist -server=/.me.me/127.0.0.1#5335 -ipset=/.me.me/gfwlist -server=/.me.youthwant.com.tw/127.0.0.1#5335 -ipset=/.me.youthwant.com.tw/gfwlist -server=/.meansys.com/127.0.0.1#5335 -ipset=/.meansys.com/gfwlist -server=/.media.nu.nl/127.0.0.1#5335 -ipset=/.media.nu.nl/gfwlist -server=/.media.org.hk/127.0.0.1#5335 -ipset=/.media.org.hk/gfwlist -server=/.mediachinese.com/127.0.0.1#5335 -ipset=/.mediachinese.com/gfwlist -server=/.mediafreakcity.com/127.0.0.1#5335 -ipset=/.mediafreakcity.com/gfwlist -server=/.medium.com/127.0.0.1#5335 -ipset=/.medium.com/gfwlist -server=/.meetav.com/127.0.0.1#5335 -ipset=/.meetav.com/gfwlist -server=/.meetup.com/127.0.0.1#5335 -ipset=/.meetup.com/gfwlist -server=/.mefeedia.com/127.0.0.1#5335 -ipset=/.mefeedia.com/gfwlist -server=/.mefound.com/127.0.0.1#5335 -ipset=/.mefound.com/gfwlist -server=/.mega.nz/127.0.0.1#5335 -ipset=/.mega.nz/gfwlist -server=/.megaproxy.com/127.0.0.1#5335 -ipset=/.megaproxy.com/gfwlist -server=/.megarotic.com/127.0.0.1#5335 -ipset=/.megarotic.com/gfwlist -server=/.megavideo.com/127.0.0.1#5335 -ipset=/.megavideo.com/gfwlist -server=/.megurineluka.com/127.0.0.1#5335 -ipset=/.megurineluka.com/gfwlist -server=/.meirixiaochao.com/127.0.0.1#5335 -ipset=/.meirixiaochao.com/gfwlist -server=/.meltoday.com/127.0.0.1#5335 -ipset=/.meltoday.com/gfwlist -server=/.meme.yahoo.com/127.0.0.1#5335 -ipset=/.meme.yahoo.com/gfwlist -server=/.memehk.com/127.0.0.1#5335 -ipset=/.memehk.com/gfwlist -server=/.memorybbs.com/127.0.0.1#5335 -ipset=/.memorybbs.com/gfwlist -server=/.memri.org/127.0.0.1#5335 -ipset=/.memri.org/gfwlist -server=/.memrijttm.org/127.0.0.1#5335 -ipset=/.memrijttm.org/gfwlist -server=/.mercatox.com/127.0.0.1#5335 -ipset=/.mercatox.com/gfwlist -server=/.mercyprophet.org/127.0.0.1#5335 -ipset=/.mercyprophet.org/gfwlist -server=/.mergersandinquisitions.org/127.0.0.1#5335 -ipset=/.mergersandinquisitions.org/gfwlist -server=/.meridian-trust.org/127.0.0.1#5335 -ipset=/.meridian-trust.org/gfwlist -server=/.meripet.biz/127.0.0.1#5335 -ipset=/.meripet.biz/gfwlist -server=/.meripet.com/127.0.0.1#5335 -ipset=/.meripet.com/gfwlist -server=/.merit-times.com.tw/127.0.0.1#5335 -ipset=/.merit-times.com.tw/gfwlist -server=/.meshrep.com/127.0.0.1#5335 -ipset=/.meshrep.com/gfwlist -server=/.messenger.com/127.0.0.1#5335 -ipset=/.messenger.com/gfwlist -server=/.metart.com/127.0.0.1#5335 -ipset=/.metart.com/gfwlist -server=/.metarthunter.com/127.0.0.1#5335 -ipset=/.metarthunter.com/gfwlist -server=/.meteorshowersonline.com/127.0.0.1#5335 -ipset=/.meteorshowersonline.com/gfwlist -server=/.metrolife.ca/127.0.0.1#5335 -ipset=/.metrolife.ca/gfwlist -server=/.metroradio.com.hk/127.0.0.1#5335 -ipset=/.metroradio.com.hk/gfwlist -server=/.meyou.jp/127.0.0.1#5335 -ipset=/.meyou.jp/gfwlist -server=/.meyul.com/127.0.0.1#5335 -ipset=/.meyul.com/gfwlist -server=/.mfxmedia.com/127.0.0.1#5335 -ipset=/.mfxmedia.com/gfwlist -server=/.mgoon.com/127.0.0.1#5335 -ipset=/.mgoon.com/gfwlist -server=/.mgstage.com/127.0.0.1#5335 -ipset=/.mgstage.com/gfwlist -server=/.mh4u.org/127.0.0.1#5335 -ipset=/.mh4u.org/gfwlist -server=/.mhradio.org/127.0.0.1#5335 -ipset=/.mhradio.org/gfwlist -server=/.michaelanti.com/127.0.0.1#5335 -ipset=/.michaelanti.com/gfwlist -server=/.michaelmarketl.com/127.0.0.1#5335 -ipset=/.michaelmarketl.com/gfwlist -server=/.microvpn.com/127.0.0.1#5335 -ipset=/.microvpn.com/gfwlist -server=/.middle-way.net/127.0.0.1#5335 -ipset=/.middle-way.net/gfwlist -server=/.mihr.com/127.0.0.1#5335 -ipset=/.mihr.com/gfwlist -server=/.mihua.org/127.0.0.1#5335 -ipset=/.mihua.org/gfwlist -server=/.mike.cz.cc/127.0.0.1#5335 -ipset=/.mike.cz.cc/gfwlist -server=/.mikesoltys.com/127.0.0.1#5335 -ipset=/.mikesoltys.com/gfwlist -server=/.milph.net/127.0.0.1#5335 -ipset=/.milph.net/gfwlist -server=/.milsurps.com/127.0.0.1#5335 -ipset=/.milsurps.com/gfwlist -server=/.mimiai.net/127.0.0.1#5335 -ipset=/.mimiai.net/gfwlist -server=/.mimivip.com/127.0.0.1#5335 -ipset=/.mimivip.com/gfwlist -server=/.mimivv.com/127.0.0.1#5335 -ipset=/.mimivv.com/gfwlist -server=/.mindrolling.org/127.0.0.1#5335 -ipset=/.mindrolling.org/gfwlist -server=/.mingdemedia.org/127.0.0.1#5335 -ipset=/.mingdemedia.org/gfwlist -server=/.minghui-a.org/127.0.0.1#5335 -ipset=/.minghui-a.org/gfwlist -server=/.minghui-b.org/127.0.0.1#5335 -ipset=/.minghui-b.org/gfwlist -server=/.minghui-school.org/127.0.0.1#5335 -ipset=/.minghui-school.org/gfwlist -server=/.minghui.or.kr/127.0.0.1#5335 -ipset=/.minghui.or.kr/gfwlist -server=/.minghui.org/127.0.0.1#5335 -ipset=/.minghui.org/gfwlist -server=/.minghuiyw.wordpress.com/127.0.0.1#5335 -ipset=/.minghuiyw.wordpress.com/gfwlist -server=/.mingjinglishi.com/127.0.0.1#5335 -ipset=/.mingjinglishi.com/gfwlist -server=/.mingjingnews.com/127.0.0.1#5335 -ipset=/.mingjingnews.com/gfwlist -server=/.mingjingtimes.com/127.0.0.1#5335 -ipset=/.mingjingtimes.com/gfwlist -server=/.mingpao.com/127.0.0.1#5335 -ipset=/.mingpao.com/gfwlist -server=/.mingpaocanada.com/127.0.0.1#5335 -ipset=/.mingpaocanada.com/gfwlist -server=/.mingpaomonthly.com/127.0.0.1#5335 -ipset=/.mingpaomonthly.com/gfwlist -server=/.mingpaonews.com/127.0.0.1#5335 -ipset=/.mingpaonews.com/gfwlist -server=/.mingpaony.com/127.0.0.1#5335 -ipset=/.mingpaony.com/gfwlist -server=/.mingpaosf.com/127.0.0.1#5335 -ipset=/.mingpaosf.com/gfwlist -server=/.mingpaotor.com/127.0.0.1#5335 -ipset=/.mingpaotor.com/gfwlist -server=/.mingpaovan.com/127.0.0.1#5335 -ipset=/.mingpaovan.com/gfwlist -server=/.mingshengbao.com/127.0.0.1#5335 -ipset=/.mingshengbao.com/gfwlist -server=/.minhhue.net/127.0.0.1#5335 -ipset=/.minhhue.net/gfwlist -server=/.miniforum.org/127.0.0.1#5335 -ipset=/.miniforum.org/gfwlist -server=/.ministrybooks.org/127.0.0.1#5335 -ipset=/.ministrybooks.org/gfwlist -server=/.minzhuhua.net/127.0.0.1#5335 -ipset=/.minzhuhua.net/gfwlist -server=/.minzhuzhanxian.com/127.0.0.1#5335 -ipset=/.minzhuzhanxian.com/gfwlist -server=/.minzhuzhongguo.org/127.0.0.1#5335 -ipset=/.minzhuzhongguo.org/gfwlist -server=/.miroguide.com/127.0.0.1#5335 -ipset=/.miroguide.com/gfwlist -server=/.mirrorbooks.com/127.0.0.1#5335 -ipset=/.mirrorbooks.com/gfwlist -server=/.mist.vip/127.0.0.1#5335 -ipset=/.mist.vip/gfwlist -server=/.mitao.com.tw/127.0.0.1#5335 -ipset=/.mitao.com.tw/gfwlist -server=/.mitbbs.com/127.0.0.1#5335 -ipset=/.mitbbs.com/gfwlist -server=/.mitbbsau.com/127.0.0.1#5335 -ipset=/.mitbbsau.com/gfwlist -server=/.mixero.com/127.0.0.1#5335 -ipset=/.mixero.com/gfwlist -server=/.mixpod.com/127.0.0.1#5335 -ipset=/.mixpod.com/gfwlist -server=/.mixx.com/127.0.0.1#5335 -ipset=/.mixx.com/gfwlist -server=/.mizzmona.com/127.0.0.1#5335 -ipset=/.mizzmona.com/gfwlist -server=/.mjib.gov.tw/127.0.0.1#5335 -ipset=/.mjib.gov.tw/gfwlist -server=/.mk5000.com/127.0.0.1#5335 -ipset=/.mk5000.com/gfwlist -server=/.mlcool.com/127.0.0.1#5335 -ipset=/.mlcool.com/gfwlist -server=/.mlzs.work/127.0.0.1#5335 -ipset=/.mlzs.work/gfwlist -server=/.mm-cg.com/127.0.0.1#5335 -ipset=/.mm-cg.com/gfwlist -server=/.mmaaxx.com/127.0.0.1#5335 -ipset=/.mmaaxx.com/gfwlist -server=/.mmmca.com/127.0.0.1#5335 -ipset=/.mmmca.com/gfwlist -server=/.mnewstv.com/127.0.0.1#5335 -ipset=/.mnewstv.com/gfwlist -server=/.mo.nightlife141.com/127.0.0.1#5335 -ipset=/.mo.nightlife141.com/gfwlist -server=/.mobatek.net/127.0.0.1#5335 -ipset=/.mobatek.net/gfwlist -server=/.mobile01.com/127.0.0.1#5335 -ipset=/.mobile01.com/gfwlist -server=/.mobileways.de/127.0.0.1#5335 -ipset=/.mobileways.de/gfwlist -server=/.moby.to/127.0.0.1#5335 -ipset=/.moby.to/gfwlist -server=/.mobypicture.com/127.0.0.1#5335 -ipset=/.mobypicture.com/gfwlist -server=/.moeaic.gov.tw/127.0.0.1#5335 -ipset=/.moeaic.gov.tw/gfwlist -server=/.moeerolibrary.com/127.0.0.1#5335 -ipset=/.moeerolibrary.com/gfwlist -server=/.mofa.gov.tw/127.0.0.1#5335 -ipset=/.mofa.gov.tw/gfwlist -server=/.mofaxiehui.com/127.0.0.1#5335 -ipset=/.mofaxiehui.com/gfwlist -server=/.mofos.com/127.0.0.1#5335 -ipset=/.mofos.com/gfwlist -server=/.mog.com/127.0.0.1#5335 -ipset=/.mog.com/gfwlist -server=/.mohu.club/127.0.0.1#5335 -ipset=/.mohu.club/gfwlist -server=/.mohu.ml/127.0.0.1#5335 -ipset=/.mohu.ml/gfwlist -server=/.mojim.com/127.0.0.1#5335 -ipset=/.mojim.com/gfwlist -server=/.mol.gov.tw/127.0.0.1#5335 -ipset=/.mol.gov.tw/gfwlist -server=/.molihua.org/127.0.0.1#5335 -ipset=/.molihua.org/gfwlist -server=/.mondex.org/127.0.0.1#5335 -ipset=/.mondex.org/gfwlist -server=/.money-link.com.tw/127.0.0.1#5335 -ipset=/.money-link.com.tw/gfwlist -server=/.moneyhome.biz/127.0.0.1#5335 -ipset=/.moneyhome.biz/gfwlist -server=/.monitorchina.org/127.0.0.1#5335 -ipset=/.monitorchina.org/gfwlist -server=/.monster.com/127.0.0.1#5335 -ipset=/.monster.com/gfwlist -server=/.moodyz.com/127.0.0.1#5335 -ipset=/.moodyz.com/gfwlist -server=/.moonbbs.com/127.0.0.1#5335 -ipset=/.moonbbs.com/gfwlist -server=/.moonbingo.com/127.0.0.1#5335 -ipset=/.moonbingo.com/gfwlist -server=/.morningsun.org/127.0.0.1#5335 -ipset=/.morningsun.org/gfwlist -server=/.moroneta.com/127.0.0.1#5335 -ipset=/.moroneta.com/gfwlist -server=/.mos.ru/127.0.0.1#5335 -ipset=/.mos.ru/gfwlist -server=/.motherless.com/127.0.0.1#5335 -ipset=/.motherless.com/gfwlist -server=/.motiyun.com/127.0.0.1#5335 -ipset=/.motiyun.com/gfwlist -server=/.motor4ik.ru/127.0.0.1#5335 -ipset=/.motor4ik.ru/gfwlist -server=/.mousebreaker.com/127.0.0.1#5335 -ipset=/.mousebreaker.com/gfwlist -server=/.movements.org/127.0.0.1#5335 -ipset=/.movements.org/gfwlist -server=/.moviefap.com/127.0.0.1#5335 -ipset=/.moviefap.com/gfwlist -server=/.mp3buscador.com/127.0.0.1#5335 -ipset=/.mp3buscador.com/gfwlist -server=/.mp3ye.eu/127.0.0.1#5335 -ipset=/.mp3ye.eu/gfwlist -server=/.mpettis.com/127.0.0.1#5335 -ipset=/.mpettis.com/gfwlist -server=/.mpfinance.com/127.0.0.1#5335 -ipset=/.mpfinance.com/gfwlist -server=/.mpinews.com/127.0.0.1#5335 -ipset=/.mpinews.com/gfwlist -server=/.mponline.hk/127.0.0.1#5335 -ipset=/.mponline.hk/gfwlist -server=/.mqxd.org/127.0.0.1#5335 -ipset=/.mqxd.org/gfwlist -server=/.mrbasic.com/127.0.0.1#5335 -ipset=/.mrbasic.com/gfwlist -server=/.mrbonus.com/127.0.0.1#5335 -ipset=/.mrbonus.com/gfwlist -server=/.mrface.com/127.0.0.1#5335 -ipset=/.mrface.com/gfwlist -server=/.mrslove.com/127.0.0.1#5335 -ipset=/.mrslove.com/gfwlist -server=/.mrtweet.com/127.0.0.1#5335 -ipset=/.mrtweet.com/gfwlist -server=/.msa-it.org/127.0.0.1#5335 -ipset=/.msa-it.org/gfwlist -server=/.msguancha.com/127.0.0.1#5335 -ipset=/.msguancha.com/gfwlist -server=/.msha.gov/127.0.0.1#5335 -ipset=/.msha.gov/gfwlist -server=/.mswe1.org/127.0.0.1#5335 -ipset=/.mswe1.org/gfwlist -server=/.mthruf.com/127.0.0.1#5335 -ipset=/.mthruf.com/gfwlist -server=/.mtw.tl/127.0.0.1#5335 -ipset=/.mtw.tl/gfwlist -server=/.mubi.com/127.0.0.1#5335 -ipset=/.mubi.com/gfwlist -server=/.muchosucko.com/127.0.0.1#5335 -ipset=/.muchosucko.com/gfwlist -server=/.mullvad.net/127.0.0.1#5335 -ipset=/.mullvad.net/gfwlist -server=/.multiply.com/127.0.0.1#5335 -ipset=/.multiply.com/gfwlist -server=/.multiproxy.org/127.0.0.1#5335 -ipset=/.multiproxy.org/gfwlist -server=/.multiupload.com/127.0.0.1#5335 -ipset=/.multiupload.com/gfwlist -server=/.mummysgold.com/127.0.0.1#5335 -ipset=/.mummysgold.com/gfwlist -server=/.murmur.tw/127.0.0.1#5335 -ipset=/.murmur.tw/gfwlist -server=/.musicade.net/127.0.0.1#5335 -ipset=/.musicade.net/gfwlist -server=/.muslimvideo.com/127.0.0.1#5335 -ipset=/.muslimvideo.com/gfwlist -server=/.muzi.com/127.0.0.1#5335 -ipset=/.muzi.com/gfwlist -server=/.muzi.net/127.0.0.1#5335 -ipset=/.muzi.net/gfwlist -server=/.muzu.tv/127.0.0.1#5335 -ipset=/.muzu.tv/gfwlist -server=/.mvdis.gov.tw/127.0.0.1#5335 -ipset=/.mvdis.gov.tw/gfwlist -server=/.mvg.jp/127.0.0.1#5335 -ipset=/.mvg.jp/gfwlist -server=/.mx.hao123.com/127.0.0.1#5335 -ipset=/.mx.hao123.com/gfwlist -server=/.mx981.com/127.0.0.1#5335 -ipset=/.mx981.com/gfwlist -server=/.my-formosa.com/127.0.0.1#5335 -ipset=/.my-formosa.com/gfwlist -server=/.my-private-network.co.uk/127.0.0.1#5335 -ipset=/.my-private-network.co.uk/gfwlist -server=/.my-proxy.com/127.0.0.1#5335 -ipset=/.my-proxy.com/gfwlist -server=/.my.mail.ru/127.0.0.1#5335 -ipset=/.my.mail.ru/gfwlist -server=/.my.pcloud.com/127.0.0.1#5335 -ipset=/.my.pcloud.com/gfwlist -server=/.my03.com/127.0.0.1#5335 -ipset=/.my03.com/gfwlist -server=/.myanniu.com/127.0.0.1#5335 -ipset=/.myanniu.com/gfwlist -server=/.myaudiocast.com/127.0.0.1#5335 -ipset=/.myaudiocast.com/gfwlist -server=/.mybbs.us/127.0.0.1#5335 -ipset=/.mybbs.us/gfwlist -server=/.mybet.com/127.0.0.1#5335 -ipset=/.mybet.com/gfwlist -server=/.myca168.com/127.0.0.1#5335 -ipset=/.myca168.com/gfwlist -server=/.mycanadanow.com/127.0.0.1#5335 -ipset=/.mycanadanow.com/gfwlist -server=/.mychinamyhome.com/127.0.0.1#5335 -ipset=/.mychinamyhome.com/gfwlist -server=/.mychinanet.com/127.0.0.1#5335 -ipset=/.mychinanet.com/gfwlist -server=/.mychinanews.com/127.0.0.1#5335 -ipset=/.mychinanews.com/gfwlist -server=/.mychinese.news/127.0.0.1#5335 -ipset=/.mychinese.news/gfwlist -server=/.mycnnews.com/127.0.0.1#5335 -ipset=/.mycnnews.com/gfwlist -server=/.mydad.info/127.0.0.1#5335 -ipset=/.mydad.info/gfwlist -server=/.myddns.com/127.0.0.1#5335 -ipset=/.myddns.com/gfwlist -server=/.myeasytv.com/127.0.0.1#5335 -ipset=/.myeasytv.com/gfwlist -server=/.myeclipseide.com/127.0.0.1#5335 -ipset=/.myeclipseide.com/gfwlist -server=/.myforum.com.hk/127.0.0.1#5335 -ipset=/.myforum.com.hk/gfwlist -server=/.myforum.com.uk/127.0.0.1#5335 -ipset=/.myforum.com.uk/gfwlist -server=/.myfreecams.com/127.0.0.1#5335 -ipset=/.myfreecams.com/gfwlist -server=/.myfreepaysite.com/127.0.0.1#5335 -ipset=/.myfreepaysite.com/gfwlist -server=/.myfreshnet.com/127.0.0.1#5335 -ipset=/.myfreshnet.com/gfwlist -server=/.myftp.info/127.0.0.1#5335 -ipset=/.myftp.info/gfwlist -server=/.myftp.name/127.0.0.1#5335 -ipset=/.myftp.name/gfwlist -server=/.myiphide.com/127.0.0.1#5335 -ipset=/.myiphide.com/gfwlist -server=/.mykomica.org/127.0.0.1#5335 -ipset=/.mykomica.org/gfwlist -server=/.mylftv.com/127.0.0.1#5335 -ipset=/.mylftv.com/gfwlist -server=/.mymoe.moe/127.0.0.1#5335 -ipset=/.mymoe.moe/gfwlist -server=/.mymom.info/127.0.0.1#5335 -ipset=/.mymom.info/gfwlist -server=/.mymusic.net.tw/127.0.0.1#5335 -ipset=/.mymusic.net.tw/gfwlist -server=/.mynetav.net/127.0.0.1#5335 -ipset=/.mynetav.net/gfwlist -server=/.mynetav.org/127.0.0.1#5335 -ipset=/.mynetav.org/gfwlist -server=/.mynumber.org/127.0.0.1#5335 -ipset=/.mynumber.org/gfwlist -server=/.myparagliding.com/127.0.0.1#5335 -ipset=/.myparagliding.com/gfwlist -server=/.mypicture.info/127.0.0.1#5335 -ipset=/.mypicture.info/gfwlist -server=/.mypop3.net/127.0.0.1#5335 -ipset=/.mypop3.net/gfwlist -server=/.mypop3.org/127.0.0.1#5335 -ipset=/.mypop3.org/gfwlist -server=/.mypopescu.com/127.0.0.1#5335 -ipset=/.mypopescu.com/gfwlist -server=/.myreadingmanga.info/127.0.0.1#5335 -ipset=/.myreadingmanga.info/gfwlist -server=/.mysecondarydns.com/127.0.0.1#5335 -ipset=/.mysecondarydns.com/gfwlist -server=/.mysinablog.com/127.0.0.1#5335 -ipset=/.mysinablog.com/gfwlist -server=/.mysite.verizon.net/127.0.0.1#5335 -ipset=/.mysite.verizon.net/gfwlist -server=/.myspace.com/127.0.0.1#5335 -ipset=/.myspace.com/gfwlist -server=/.myspacecdn.com/127.0.0.1#5335 -ipset=/.myspacecdn.com/gfwlist -server=/.mytalkbox.com/127.0.0.1#5335 -ipset=/.mytalkbox.com/gfwlist -server=/.mytizi.com/127.0.0.1#5335 -ipset=/.mytizi.com/gfwlist -server=/.mywww.biz/127.0.0.1#5335 -ipset=/.mywww.biz/gfwlist -server=/.myz.info/127.0.0.1#5335 -ipset=/.myz.info/gfwlist -server=/.naacoalition.org/127.0.0.1#5335 -ipset=/.naacoalition.org/gfwlist -server=/.naitik.net/127.0.0.1#5335 -ipset=/.naitik.net/gfwlist -server=/.nakido.com/127.0.0.1#5335 -ipset=/.nakido.com/gfwlist -server=/.nalandabodhi.org/127.0.0.1#5335 -ipset=/.nalandabodhi.org/gfwlist -server=/.nalandawest.org/127.0.0.1#5335 -ipset=/.nalandawest.org/gfwlist -server=/.namgyal.org/127.0.0.1#5335 -ipset=/.namgyal.org/gfwlist -server=/.namgyalmonastery.org/127.0.0.1#5335 -ipset=/.namgyalmonastery.org/gfwlist -server=/.namsisi.com/127.0.0.1#5335 -ipset=/.namsisi.com/gfwlist -server=/.nanyang.com/127.0.0.1#5335 -ipset=/.nanyang.com/gfwlist -server=/.nanyangpost.com/127.0.0.1#5335 -ipset=/.nanyangpost.com/gfwlist -server=/.nanzao.com/127.0.0.1#5335 -ipset=/.nanzao.com/gfwlist -server=/.naol.ca/127.0.0.1#5335 -ipset=/.naol.ca/gfwlist -server=/.naol.cc/127.0.0.1#5335 -ipset=/.naol.cc/gfwlist -server=/.nat.gov.tw/127.0.0.1#5335 -ipset=/.nat.gov.tw/gfwlist -server=/.nat.moe/127.0.0.1#5335 -ipset=/.nat.moe/gfwlist -server=/.national-lottery.co.uk/127.0.0.1#5335 -ipset=/.national-lottery.co.uk/gfwlist -server=/.nationalawakening.org/127.0.0.1#5335 -ipset=/.nationalawakening.org/gfwlist -server=/.nationwide.com/127.0.0.1#5335 -ipset=/.nationwide.com/gfwlist -server=/.naughtyamerica.com/127.0.0.1#5335 -ipset=/.naughtyamerica.com/gfwlist -server=/.navyfamily.navy.mil/127.0.0.1#5335 -ipset=/.navyfamily.navy.mil/gfwlist -server=/.navyreserve.navy.mil/127.0.0.1#5335 -ipset=/.navyreserve.navy.mil/gfwlist -server=/.naweeklytimes.com/127.0.0.1#5335 -ipset=/.naweeklytimes.com/gfwlist -server=/.nbtvpn.com/127.0.0.1#5335 -ipset=/.nbtvpn.com/gfwlist -server=/.nccwatch.org.tw/127.0.0.1#5335 -ipset=/.nccwatch.org.tw/gfwlist -server=/.nch.com.tw/127.0.0.1#5335 -ipset=/.nch.com.tw/gfwlist -server=/.ncn.org/127.0.0.1#5335 -ipset=/.ncn.org/gfwlist -server=/.nde.de/127.0.0.1#5335 -ipset=/.nde.de/gfwlist -server=/.ndr.de/127.0.0.1#5335 -ipset=/.ndr.de/gfwlist -server=/.ned.org/127.0.0.1#5335 -ipset=/.ned.org/gfwlist -server=/.nekoslovakia.net/127.0.0.1#5335 -ipset=/.nekoslovakia.net/gfwlist -server=/.neo-miracle.com/127.0.0.1#5335 -ipset=/.neo-miracle.com/gfwlist -server=/.nepusoku.com/127.0.0.1#5335 -ipset=/.nepusoku.com/gfwlist -server=/.net-fits.pro/127.0.0.1#5335 -ipset=/.net-fits.pro/gfwlist -server=/.netbirds.com/127.0.0.1#5335 -ipset=/.netbirds.com/gfwlist -server=/.netcolony.com/127.0.0.1#5335 -ipset=/.netcolony.com/gfwlist -server=/.netflix.com/127.0.0.1#5335 -ipset=/.netflix.com/gfwlist -server=/.netme.cc/127.0.0.1#5335 -ipset=/.netme.cc/gfwlist -server=/.netsneak.com/127.0.0.1#5335 -ipset=/.netsneak.com/gfwlist -server=/.network54.com/127.0.0.1#5335 -ipset=/.network54.com/gfwlist -server=/.networkedblogs.com/127.0.0.1#5335 -ipset=/.networkedblogs.com/gfwlist -server=/.networktunnel.net/127.0.0.1#5335 -ipset=/.networktunnel.net/gfwlist -server=/.neverforget8964.org/127.0.0.1#5335 -ipset=/.neverforget8964.org/gfwlist -server=/.new-3lunch.net/127.0.0.1#5335 -ipset=/.new-3lunch.net/gfwlist -server=/.new-akiba.com/127.0.0.1#5335 -ipset=/.new-akiba.com/gfwlist -server=/.new96.ca/127.0.0.1#5335 -ipset=/.new96.ca/gfwlist -server=/.newcenturymc.com/127.0.0.1#5335 -ipset=/.newcenturymc.com/gfwlist -server=/.newcenturynews.com/127.0.0.1#5335 -ipset=/.newcenturynews.com/gfwlist -server=/.newchen.com/127.0.0.1#5335 -ipset=/.newchen.com/gfwlist -server=/.newgrounds.com/127.0.0.1#5335 -ipset=/.newgrounds.com/gfwlist -server=/.newipnow.com/127.0.0.1#5335 -ipset=/.newipnow.com/gfwlist -server=/.newlandmagazine.com.au/127.0.0.1#5335 -ipset=/.newlandmagazine.com.au/gfwlist -server=/.newnews.ca/127.0.0.1#5335 -ipset=/.newnews.ca/gfwlist -server=/.news.cnyes.com/127.0.0.1#5335 -ipset=/.news.cnyes.com/gfwlist -server=/.news.hk.msn.com/127.0.0.1#5335 -ipset=/.news.hk.msn.com/gfwlist -server=/.news.hkpeanut.com/127.0.0.1#5335 -ipset=/.news.hkpeanut.com/gfwlist -server=/.news.msn.com.tw/127.0.0.1#5335 -ipset=/.news.msn.com.tw/gfwlist -server=/.news.now.com/127.0.0.1#5335 -ipset=/.news.now.com/gfwlist -server=/.news.omy.sg/127.0.0.1#5335 -ipset=/.news.omy.sg/gfwlist -server=/.news.seehua.com/127.0.0.1#5335 -ipset=/.news.seehua.com/gfwlist -server=/.news.sina.com.hk/127.0.0.1#5335 -ipset=/.news.sina.com.hk/gfwlist -server=/.news.sina.com.tw/127.0.0.1#5335 -ipset=/.news.sina.com.tw/gfwlist -server=/.news.sinchew.com.my/127.0.0.1#5335 -ipset=/.news.sinchew.com.my/gfwlist -server=/.news.singtao.ca/127.0.0.1#5335 -ipset=/.news.singtao.ca/gfwlist -server=/.news.tvbs.com.tw/127.0.0.1#5335 -ipset=/.news.tvbs.com.tw/gfwlist -server=/.news100.com.tw/127.0.0.1#5335 -ipset=/.news100.com.tw/gfwlist -server=/.newsancai.com/127.0.0.1#5335 -ipset=/.newsancai.com/gfwlist -server=/.newschinacomment.org/127.0.0.1#5335 -ipset=/.newschinacomment.org/gfwlist -server=/.newscn.org/127.0.0.1#5335 -ipset=/.newscn.org/gfwlist -server=/.newsdetox.ca/127.0.0.1#5335 -ipset=/.newsdetox.ca/gfwlist -server=/.newsdh.com/127.0.0.1#5335 -ipset=/.newsdh.com/gfwlist -server=/.newstamago.com/127.0.0.1#5335 -ipset=/.newstamago.com/gfwlist -server=/.newstapa.org/127.0.0.1#5335 -ipset=/.newstapa.org/gfwlist -server=/.newstarnet.com/127.0.0.1#5335 -ipset=/.newstarnet.com/gfwlist -server=/.newtaiwan.com.tw/127.0.0.1#5335 -ipset=/.newtaiwan.com.tw/gfwlist -server=/.newtalk.tw/127.0.0.1#5335 -ipset=/.newtalk.tw/gfwlist -server=/.newyorktimes.com/127.0.0.1#5335 -ipset=/.newyorktimes.com/gfwlist -server=/.nexon.com/127.0.0.1#5335 -ipset=/.nexon.com/gfwlist -server=/.next11.co.jp/127.0.0.1#5335 -ipset=/.next11.co.jp/gfwlist -server=/.nextmag.com.tw/127.0.0.1#5335 -ipset=/.nextmag.com.tw/gfwlist -server=/.nextmedia.com/127.0.0.1#5335 -ipset=/.nextmedia.com/gfwlist -server=/.nexton-net.jp/127.0.0.1#5335 -ipset=/.nexton-net.jp/gfwlist -server=/.nexttv.com.tw/127.0.0.1#5335 -ipset=/.nexttv.com.tw/gfwlist -server=/.nf.id.au/127.0.0.1#5335 -ipset=/.nf.id.au/gfwlist -server=/.nfjtyd.com/127.0.0.1#5335 -ipset=/.nfjtyd.com/gfwlist -server=/.nflxext.com/127.0.0.1#5335 -ipset=/.nflxext.com/gfwlist -server=/.nflximg.com/127.0.0.1#5335 -ipset=/.nflximg.com/gfwlist -server=/.nflximg.net/127.0.0.1#5335 -ipset=/.nflximg.net/gfwlist -server=/.nflxso.net/127.0.0.1#5335 -ipset=/.nflxso.net/gfwlist -server=/.nflxvideo.net/127.0.0.1#5335 -ipset=/.nflxvideo.net/gfwlist -server=/.nga.mil/127.0.0.1#5335 -ipset=/.nga.mil/gfwlist -server=/.ngensis.com/127.0.0.1#5335 -ipset=/.ngensis.com/gfwlist -server=/.nhentai.net/127.0.0.1#5335 -ipset=/.nhentai.net/gfwlist -server=/.nhi.gov.tw/127.0.0.1#5335 -ipset=/.nhi.gov.tw/gfwlist -server=/.nhk-ondemand.jp/127.0.0.1#5335 -ipset=/.nhk-ondemand.jp/gfwlist -server=/.nic.cz.cc/127.0.0.1#5335 -ipset=/.nic.cz.cc/gfwlist -server=/.nic.google/127.0.0.1#5335 -ipset=/.nic.google/gfwlist -server=/.nic.gov/127.0.0.1#5335 -ipset=/.nic.gov/gfwlist -server=/.nicovideo.jp/127.0.0.1#5335 -ipset=/.nicovideo.jp/gfwlist -server=/.nighost.org/127.0.0.1#5335 -ipset=/.nighost.org/gfwlist -server=/.nikkei.com/127.0.0.1#5335 -ipset=/.nikkei.com/gfwlist -server=/.ninecommentaries.com/127.0.0.1#5335 -ipset=/.ninecommentaries.com/gfwlist -server=/.ninjacloak.com/127.0.0.1#5335 -ipset=/.ninjacloak.com/gfwlist -server=/.ninjaproxy.ninja/127.0.0.1#5335 -ipset=/.ninjaproxy.ninja/gfwlist -server=/.nintendium.com/127.0.0.1#5335 -ipset=/.nintendium.com/gfwlist -server=/.ninth.biz/127.0.0.1#5335 -ipset=/.ninth.biz/gfwlist -server=/.nitter.net/127.0.0.1#5335 -ipset=/.nitter.net/gfwlist -server=/.niu.moe/127.0.0.1#5335 -ipset=/.niu.moe/gfwlist -server=/.niusnews.com/127.0.0.1#5335 -ipset=/.niusnews.com/gfwlist -server=/.njactb.org/127.0.0.1#5335 -ipset=/.njactb.org/gfwlist -server=/.njuice.com/127.0.0.1#5335 -ipset=/.njuice.com/gfwlist -server=/.nko.navy.mil/127.0.0.1#5335 -ipset=/.nko.navy.mil/gfwlist -server=/.nlfreevpn.com/127.0.0.1#5335 -ipset=/.nlfreevpn.com/gfwlist -server=/.no-ip.org/127.0.0.1#5335 -ipset=/.no-ip.org/gfwlist -server=/.nobel.se/127.0.0.1#5335 -ipset=/.nobel.se/gfwlist -server=/.nobodycanstop.us/127.0.0.1#5335 -ipset=/.nobodycanstop.us/gfwlist -server=/.nofile.io/127.0.0.1#5335 -ipset=/.nofile.io/gfwlist -server=/.nokogiri.org/127.0.0.1#5335 -ipset=/.nokogiri.org/gfwlist -server=/.nokola.com/127.0.0.1#5335 -ipset=/.nokola.com/gfwlist -server=/.noodlevpn.com/127.0.0.1#5335 -ipset=/.noodlevpn.com/gfwlist -server=/.norbulingka.org/127.0.0.1#5335 -ipset=/.norbulingka.org/gfwlist -server=/.nordstrom.com/127.0.0.1#5335 -ipset=/.nordstrom.com/gfwlist -server=/.nordstromimage.com/127.0.0.1#5335 -ipset=/.nordstromimage.com/gfwlist -server=/.nordstromrack.com/127.0.0.1#5335 -ipset=/.nordstromrack.com/gfwlist -server=/.nordvpn.com/127.0.0.1#5335 -ipset=/.nordvpn.com/gfwlist -server=/.notify.dropboxapi.com/127.0.0.1#5335 -ipset=/.notify.dropboxapi.com/gfwlist -server=/.nottinghampost.com/127.0.0.1#5335 -ipset=/.nottinghampost.com/gfwlist -server=/.novelasia.com/127.0.0.1#5335 -ipset=/.novelasia.com/gfwlist -server=/.now.com/127.0.0.1#5335 -ipset=/.now.com/gfwlist -server=/.now.im/127.0.0.1#5335 -ipset=/.now.im/gfwlist -server=/.nownews.com/127.0.0.1#5335 -ipset=/.nownews.com/gfwlist -server=/.nowtorrents.com/127.0.0.1#5335 -ipset=/.nowtorrents.com/gfwlist -server=/.noypf.com/127.0.0.1#5335 -ipset=/.noypf.com/gfwlist -server=/.npa.go.jp/127.0.0.1#5335 -ipset=/.npa.go.jp/gfwlist -server=/.npa.gov.tw/127.0.0.1#5335 -ipset=/.npa.gov.tw/gfwlist -server=/.npnt.me/127.0.0.1#5335 -ipset=/.npnt.me/gfwlist -server=/.nps.gov/127.0.0.1#5335 -ipset=/.nps.gov/gfwlist -server=/.npsboost.com/127.0.0.1#5335 -ipset=/.npsboost.com/gfwlist -server=/.nradio.me/127.0.0.1#5335 -ipset=/.nradio.me/gfwlist -server=/.nrk.no/127.0.0.1#5335 -ipset=/.nrk.no/gfwlist -server=/.ns01.biz/127.0.0.1#5335 -ipset=/.ns01.biz/gfwlist -server=/.ns01.info/127.0.0.1#5335 -ipset=/.ns01.info/gfwlist -server=/.ns01.us/127.0.0.1#5335 -ipset=/.ns01.us/gfwlist -server=/.ns02.biz/127.0.0.1#5335 -ipset=/.ns02.biz/gfwlist -server=/.ns02.info/127.0.0.1#5335 -ipset=/.ns02.info/gfwlist -server=/.ns02.us/127.0.0.1#5335 -ipset=/.ns02.us/gfwlist -server=/.ns1.name/127.0.0.1#5335 -ipset=/.ns1.name/gfwlist -server=/.ns2.name/127.0.0.1#5335 -ipset=/.ns2.name/gfwlist -server=/.ns3.name/127.0.0.1#5335 -ipset=/.ns3.name/gfwlist -server=/.nsc.gov.tw/127.0.0.1#5335 -ipset=/.nsc.gov.tw/gfwlist -server=/.ntbk.gov.tw/127.0.0.1#5335 -ipset=/.ntbk.gov.tw/gfwlist -server=/.ntbna.gov.tw/127.0.0.1#5335 -ipset=/.ntbna.gov.tw/gfwlist -server=/.ntbt.gov.tw/127.0.0.1#5335 -ipset=/.ntbt.gov.tw/gfwlist -server=/.ntd.tv/127.0.0.1#5335 -ipset=/.ntd.tv/gfwlist -server=/.ntdtv.ca/127.0.0.1#5335 -ipset=/.ntdtv.ca/gfwlist -server=/.ntdtv.co.kr/127.0.0.1#5335 -ipset=/.ntdtv.co.kr/gfwlist -server=/.ntdtv.com/127.0.0.1#5335 -ipset=/.ntdtv.com/gfwlist -server=/.ntdtv.cz/127.0.0.1#5335 -ipset=/.ntdtv.cz/gfwlist -server=/.ntdtv.org/127.0.0.1#5335 -ipset=/.ntdtv.org/gfwlist -server=/.ntdtv.ru/127.0.0.1#5335 -ipset=/.ntdtv.ru/gfwlist -server=/.ntdtvla.com/127.0.0.1#5335 -ipset=/.ntdtvla.com/gfwlist -server=/.ntrfun.com/127.0.0.1#5335 -ipset=/.ntrfun.com/gfwlist -server=/.ntsna.gov.tw/127.0.0.1#5335 -ipset=/.ntsna.gov.tw/gfwlist -server=/.nubiles.net/127.0.0.1#5335 -ipset=/.nubiles.net/gfwlist -server=/.nuexpo.com/127.0.0.1#5335 -ipset=/.nuexpo.com/gfwlist -server=/.nukistream.com/127.0.0.1#5335 -ipset=/.nukistream.com/gfwlist -server=/.nurgo-software.com/127.0.0.1#5335 -ipset=/.nurgo-software.com/gfwlist -server=/.nusatrip.com/127.0.0.1#5335 -ipset=/.nusatrip.com/gfwlist -server=/.nutaku.net/127.0.0.1#5335 -ipset=/.nutaku.net/gfwlist -server=/.nuuvem.com/127.0.0.1#5335 -ipset=/.nuuvem.com/gfwlist -server=/.nuvid.com/127.0.0.1#5335 -ipset=/.nuvid.com/gfwlist -server=/.nuzcom.com/127.0.0.1#5335 -ipset=/.nuzcom.com/gfwlist -server=/.nvdst.com/127.0.0.1#5335 -ipset=/.nvdst.com/gfwlist -server=/.nvquan.org/127.0.0.1#5335 -ipset=/.nvquan.org/gfwlist -server=/.nvtongzhisheng.org/127.0.0.1#5335 -ipset=/.nvtongzhisheng.org/gfwlist -server=/.nwtca.org/127.0.0.1#5335 -ipset=/.nwtca.org/gfwlist -server=/.ny.stgloballink.com/127.0.0.1#5335 -ipset=/.ny.stgloballink.com/gfwlist -server=/.ny.visiontimes.com/127.0.0.1#5335 -ipset=/.ny.visiontimes.com/gfwlist -server=/.nyaa.eu/127.0.0.1#5335 -ipset=/.nyaa.eu/gfwlist -server=/.nyaa.si/127.0.0.1#5335 -ipset=/.nyaa.si/gfwlist -server=/.nydus.ca/127.0.0.1#5335 -ipset=/.nydus.ca/gfwlist -server=/.nylon-angel.com/127.0.0.1#5335 -ipset=/.nylon-angel.com/gfwlist -server=/.nylonstockingsonline.com/127.0.0.1#5335 -ipset=/.nylonstockingsonline.com/gfwlist -server=/.nyt.com/127.0.0.1#5335 -ipset=/.nyt.com/gfwlist -server=/.nytchina.com/127.0.0.1#5335 -ipset=/.nytchina.com/gfwlist -server=/.nytcn.me/127.0.0.1#5335 -ipset=/.nytcn.me/gfwlist -server=/.nytco.com/127.0.0.1#5335 -ipset=/.nytco.com/gfwlist -server=/.nytimes.com/127.0.0.1#5335 -ipset=/.nytimes.com/gfwlist -server=/.nytimes.map.fastly.net/127.0.0.1#5335 -ipset=/.nytimes.map.fastly.net/gfwlist -server=/.nytimg.com/127.0.0.1#5335 -ipset=/.nytimg.com/gfwlist -server=/.nytstyle.com/127.0.0.1#5335 -ipset=/.nytstyle.com/gfwlist -server=/.nzchinese.com/127.0.0.1#5335 -ipset=/.nzchinese.com/gfwlist -server=/.nzchinese.net.nz/127.0.0.1#5335 -ipset=/.nzchinese.net.nz/gfwlist -server=/.observechina.net/127.0.0.1#5335 -ipset=/.observechina.net/gfwlist -server=/.obutu.com/127.0.0.1#5335 -ipset=/.obutu.com/gfwlist -server=/.ocaspro.com/127.0.0.1#5335 -ipset=/.ocaspro.com/gfwlist -server=/.occupytiananmen.com/127.0.0.1#5335 -ipset=/.occupytiananmen.com/gfwlist -server=/.oclp.hk/127.0.0.1#5335 -ipset=/.oclp.hk/gfwlist -server=/.ocreampies.com/127.0.0.1#5335 -ipset=/.ocreampies.com/gfwlist -server=/.ocry.com/127.0.0.1#5335 -ipset=/.ocry.com/gfwlist -server=/.october-review.org/127.0.0.1#5335 -ipset=/.october-review.org/gfwlist -server=/.oculus.com/127.0.0.1#5335 -ipset=/.oculus.com/gfwlist -server=/.oculuscdn.com/127.0.0.1#5335 -ipset=/.oculuscdn.com/gfwlist -server=/.oex.com/127.0.0.1#5335 -ipset=/.oex.com/gfwlist -server=/.offbeatchina.com/127.0.0.1#5335 -ipset=/.offbeatchina.com/gfwlist -server=/.officeoftibet.com/127.0.0.1#5335 -ipset=/.officeoftibet.com/gfwlist -server=/.ofile.org/127.0.0.1#5335 -ipset=/.ofile.org/gfwlist -server=/.ogaoga.org/127.0.0.1#5335 -ipset=/.ogaoga.org/gfwlist -server=/.ogate.org/127.0.0.1#5335 -ipset=/.ogate.org/gfwlist -server=/.oiktv.com/127.0.0.1#5335 -ipset=/.oiktv.com/gfwlist -server=/.oizoblog.com/127.0.0.1#5335 -ipset=/.oizoblog.com/gfwlist -server=/.ok.ru/127.0.0.1#5335 -ipset=/.ok.ru/gfwlist -server=/.okayfreedom.com/127.0.0.1#5335 -ipset=/.okayfreedom.com/gfwlist -server=/.okex.com/127.0.0.1#5335 -ipset=/.okex.com/gfwlist -server=/.okk.tw/127.0.0.1#5335 -ipset=/.okk.tw/gfwlist -server=/.old-cat.net/127.0.0.1#5335 -ipset=/.old-cat.net/gfwlist -server=/.old.nabble.com/127.0.0.1#5335 -ipset=/.old.nabble.com/gfwlist -server=/.olumpo.com/127.0.0.1#5335 -ipset=/.olumpo.com/gfwlist -server=/.olympicwatch.org/127.0.0.1#5335 -ipset=/.olympicwatch.org/gfwlist -server=/.omgili.com/127.0.0.1#5335 -ipset=/.omgili.com/gfwlist -server=/.omni7.jp/127.0.0.1#5335 -ipset=/.omni7.jp/gfwlist -server=/.omnitalk.com/127.0.0.1#5335 -ipset=/.omnitalk.com/gfwlist -server=/.omnitalk.org/127.0.0.1#5335 -ipset=/.omnitalk.org/gfwlist -server=/.on.cc/127.0.0.1#5335 -ipset=/.on.cc/gfwlist -server=/.on2.com/127.0.0.1#5335 -ipset=/.on2.com/gfwlist -server=/.onapp.com/127.0.0.1#5335 -ipset=/.onapp.com/gfwlist -server=/.onedrive.live.com/127.0.0.1#5335 -ipset=/.onedrive.live.com/gfwlist -server=/.onedumb.com/127.0.0.1#5335 -ipset=/.onedumb.com/gfwlist -server=/.onejav.com/127.0.0.1#5335 -ipset=/.onejav.com/gfwlist -server=/.onion.city/127.0.0.1#5335 -ipset=/.onion.city/gfwlist -server=/.online.recoveryversion.org/127.0.0.1#5335 -ipset=/.online.recoveryversion.org/gfwlist -server=/.onlinecha.com/127.0.0.1#5335 -ipset=/.onlinecha.com/gfwlist -server=/.onlineyoutube.com/127.0.0.1#5335 -ipset=/.onlineyoutube.com/gfwlist -server=/.onlytweets.com/127.0.0.1#5335 -ipset=/.onlytweets.com/gfwlist -server=/.onmoon.com/127.0.0.1#5335 -ipset=/.onmoon.com/gfwlist -server=/.onmoon.net/127.0.0.1#5335 -ipset=/.onmoon.net/gfwlist -server=/.onmypc.biz/127.0.0.1#5335 -ipset=/.onmypc.biz/gfwlist -server=/.onmypc.info/127.0.0.1#5335 -ipset=/.onmypc.info/gfwlist -server=/.onmypc.net/127.0.0.1#5335 -ipset=/.onmypc.net/gfwlist -server=/.onmypc.org/127.0.0.1#5335 -ipset=/.onmypc.org/gfwlist -server=/.onmypc.us/127.0.0.1#5335 -ipset=/.onmypc.us/gfwlist -server=/.onthehunt.com/127.0.0.1#5335 -ipset=/.onthehunt.com/gfwlist -server=/.ontrac.com/127.0.0.1#5335 -ipset=/.ontrac.com/gfwlist -server=/.oopsforum.com/127.0.0.1#5335 -ipset=/.oopsforum.com/gfwlist -server=/.open.com.hk/127.0.0.1#5335 -ipset=/.open.com.hk/gfwlist -server=/.openallweb.com/127.0.0.1#5335 -ipset=/.openallweb.com/gfwlist -server=/.opendemocracy.net/127.0.0.1#5335 -ipset=/.opendemocracy.net/gfwlist -server=/.opendn.xyz/127.0.0.1#5335 -ipset=/.opendn.xyz/gfwlist -server=/.openervpn.in/127.0.0.1#5335 -ipset=/.openervpn.in/gfwlist -server=/.openid.net/127.0.0.1#5335 -ipset=/.openid.net/gfwlist -server=/.openleaks.org/127.0.0.1#5335 -ipset=/.openleaks.org/gfwlist -server=/.opensource.google/127.0.0.1#5335 -ipset=/.opensource.google/gfwlist -server=/.openvpn.net/127.0.0.1#5335 -ipset=/.openvpn.net/gfwlist -server=/.openvpn.org/127.0.0.1#5335 -ipset=/.openvpn.org/gfwlist -server=/.openwebster.com/127.0.0.1#5335 -ipset=/.openwebster.com/gfwlist -server=/.openwrt.org.cn/127.0.0.1#5335 -ipset=/.openwrt.org.cn/gfwlist -server=/.opml.radiotime.com/127.0.0.1#5335 -ipset=/.opml.radiotime.com/gfwlist -server=/.opus-gaming.com/127.0.0.1#5335 -ipset=/.opus-gaming.com/gfwlist -server=/.organcare.org.tw/127.0.0.1#5335 -ipset=/.organcare.org.tw/gfwlist -server=/.organharvestinvestigation.net/127.0.0.1#5335 -ipset=/.organharvestinvestigation.net/gfwlist -server=/.organiccrap.com/127.0.0.1#5335 -ipset=/.organiccrap.com/gfwlist -server=/.orgasm.com/127.0.0.1#5335 -ipset=/.orgasm.com/gfwlist -server=/.orgfree.com/127.0.0.1#5335 -ipset=/.orgfree.com/gfwlist -server=/.orient-doll.com/127.0.0.1#5335 -ipset=/.orient-doll.com/gfwlist -server=/.orientaldaily.com.my/127.0.0.1#5335 -ipset=/.orientaldaily.com.my/gfwlist -server=/.orn.jp/127.0.0.1#5335 -ipset=/.orn.jp/gfwlist -server=/.orzistic.org/127.0.0.1#5335 -ipset=/.orzistic.org/gfwlist -server=/.osfoora.com/127.0.0.1#5335 -ipset=/.osfoora.com/gfwlist -server=/.otcbtc.com/127.0.0.1#5335 -ipset=/.otcbtc.com/gfwlist -server=/.otnd.org/127.0.0.1#5335 -ipset=/.otnd.org/gfwlist -server=/.otto.de/127.0.0.1#5335 -ipset=/.otto.de/gfwlist -server=/.otzo.com/127.0.0.1#5335 -ipset=/.otzo.com/gfwlist -server=/.ourdearamy.com/127.0.0.1#5335 -ipset=/.ourdearamy.com/gfwlist -server=/.ourhobby.com/127.0.0.1#5335 -ipset=/.ourhobby.com/gfwlist -server=/.oursogo.com/127.0.0.1#5335 -ipset=/.oursogo.com/gfwlist -server=/.oursteps.com.au/127.0.0.1#5335 -ipset=/.oursteps.com.au/gfwlist -server=/.oursweb.net/127.0.0.1#5335 -ipset=/.oursweb.net/gfwlist -server=/.ourtv.hk/127.0.0.1#5335 -ipset=/.ourtv.hk/gfwlist -server=/.overplay.net/127.0.0.1#5335 -ipset=/.overplay.net/gfwlist -server=/.oversea.istarshine.com/127.0.0.1#5335 -ipset=/.oversea.istarshine.com/gfwlist -server=/.ow.ly/127.0.0.1#5335 -ipset=/.ow.ly/gfwlist -server=/.owl.li/127.0.0.1#5335 -ipset=/.owl.li/gfwlist -server=/.oyax.com/127.0.0.1#5335 -ipset=/.oyax.com/gfwlist -server=/.ozvoice.org/127.0.0.1#5335 -ipset=/.ozvoice.org/gfwlist -server=/.ozxw.com/127.0.0.1#5335 -ipset=/.ozxw.com/gfwlist -server=/.ozyoyo.com/127.0.0.1#5335 -ipset=/.ozyoyo.com/gfwlist -server=/.pachosting.com/127.0.0.1#5335 -ipset=/.pachosting.com/gfwlist -server=/.pacificpoker.com/127.0.0.1#5335 -ipset=/.pacificpoker.com/gfwlist -server=/.packetix.net/127.0.0.1#5335 -ipset=/.packetix.net/gfwlist -server=/.pacopacomama.com/127.0.0.1#5335 -ipset=/.pacopacomama.com/gfwlist -server=/.padmanet.com/127.0.0.1#5335 -ipset=/.padmanet.com/gfwlist -server=/.page.bid.yahoo.com/127.0.0.1#5335 -ipset=/.page.bid.yahoo.com/gfwlist -server=/.page2rss.com/127.0.0.1#5335 -ipset=/.page2rss.com/gfwlist -server=/.pagodabox.com/127.0.0.1#5335 -ipset=/.pagodabox.com/gfwlist -server=/.palacemoon.com/127.0.0.1#5335 -ipset=/.palacemoon.com/gfwlist -server=/.paldengyal.com/127.0.0.1#5335 -ipset=/.paldengyal.com/gfwlist -server=/.paljorpublications.com/127.0.0.1#5335 -ipset=/.paljorpublications.com/gfwlist -server=/.paltalk.com/127.0.0.1#5335 -ipset=/.paltalk.com/gfwlist -server=/.panamapapers.sueddeutsche.de/127.0.0.1#5335 -ipset=/.panamapapers.sueddeutsche.de/gfwlist -server=/.pandapow.co/127.0.0.1#5335 -ipset=/.pandapow.co/gfwlist -server=/.pandapow.net/127.0.0.1#5335 -ipset=/.pandapow.net/gfwlist -server=/.pandavpn-jp.com/127.0.0.1#5335 -ipset=/.pandavpn-jp.com/gfwlist -server=/.pandora.com/127.0.0.1#5335 -ipset=/.pandora.com/gfwlist -server=/.pandora.tv/127.0.0.1#5335 -ipset=/.pandora.tv/gfwlist -server=/.panluan.net/127.0.0.1#5335 -ipset=/.panluan.net/gfwlist -server=/.panoramio.com/127.0.0.1#5335 -ipset=/.panoramio.com/gfwlist -server=/.pao-pao.net/127.0.0.1#5335 -ipset=/.pao-pao.net/gfwlist -server=/.paper.li/127.0.0.1#5335 -ipset=/.paper.li/gfwlist -server=/.paperb.us/127.0.0.1#5335 -ipset=/.paperb.us/gfwlist -server=/.paradisehill.cc/127.0.0.1#5335 -ipset=/.paradisehill.cc/gfwlist -server=/.paradisepoker.com/127.0.0.1#5335 -ipset=/.paradisepoker.com/gfwlist -server=/.parkansky.com/127.0.0.1#5335 -ipset=/.parkansky.com/gfwlist -server=/.parler.com/127.0.0.1#5335 -ipset=/.parler.com/gfwlist -server=/.parsevideo.com/127.0.0.1#5335 -ipset=/.parsevideo.com/gfwlist -server=/.partycasino.com/127.0.0.1#5335 -ipset=/.partycasino.com/gfwlist -server=/.partypoker.com/127.0.0.1#5335 -ipset=/.partypoker.com/gfwlist -server=/.passion.com/127.0.0.1#5335 -ipset=/.passion.com/gfwlist -server=/.passiontimes.hk/127.0.0.1#5335 -ipset=/.passiontimes.hk/gfwlist -server=/.paste.ee/127.0.0.1#5335 -ipset=/.paste.ee/gfwlist -server=/.pastebin.com/127.0.0.1#5335 -ipset=/.pastebin.com/gfwlist -server=/.pastie.org/127.0.0.1#5335 -ipset=/.pastie.org/gfwlist -server=/.pbwiki.com/127.0.0.1#5335 -ipset=/.pbwiki.com/gfwlist -server=/.pbworks.com/127.0.0.1#5335 -ipset=/.pbworks.com/gfwlist -server=/.pbxes.com/127.0.0.1#5335 -ipset=/.pbxes.com/gfwlist -server=/.pbxes.org/127.0.0.1#5335 -ipset=/.pbxes.org/gfwlist -server=/.pcanywhere.net/127.0.0.1#5335 -ipset=/.pcanywhere.net/gfwlist -server=/.pcc.gov.tw/127.0.0.1#5335 -ipset=/.pcc.gov.tw/gfwlist -server=/.pcdvd.com.tw/127.0.0.1#5335 -ipset=/.pcdvd.com.tw/gfwlist -server=/.pchome.com.tw/127.0.0.1#5335 -ipset=/.pchome.com.tw/gfwlist -server=/.pcij.org/127.0.0.1#5335 -ipset=/.pcij.org/gfwlist -server=/.pcstore.com.tw/127.0.0.1#5335 -ipset=/.pcstore.com.tw/gfwlist -server=/.pct.org.tw/127.0.0.1#5335 -ipset=/.pct.org.tw/gfwlist -server=/.pdetails.com/127.0.0.1#5335 -ipset=/.pdetails.com/gfwlist -server=/.pdproxy.com/127.0.0.1#5335 -ipset=/.pdproxy.com/gfwlist -server=/.pds.nasa.gov/127.0.0.1#5335 -ipset=/.pds.nasa.gov/gfwlist -server=/.peace.ca/127.0.0.1#5335 -ipset=/.peace.ca/gfwlist -server=/.peacefire.org/127.0.0.1#5335 -ipset=/.peacefire.org/gfwlist -server=/.peacehall.com/127.0.0.1#5335 -ipset=/.peacehall.com/gfwlist -server=/.pearlher.org/127.0.0.1#5335 -ipset=/.pearlher.org/gfwlist -server=/.peeasian.com/127.0.0.1#5335 -ipset=/.peeasian.com/gfwlist -server=/.pekingduck.org/127.0.0.1#5335 -ipset=/.pekingduck.org/gfwlist -server=/.pemulihan.or.id/127.0.0.1#5335 -ipset=/.pemulihan.or.id/gfwlist -server=/.pen.io/127.0.0.1#5335 -ipset=/.pen.io/gfwlist -server=/.penchinese.com/127.0.0.1#5335 -ipset=/.penchinese.com/gfwlist -server=/.penchinese.net/127.0.0.1#5335 -ipset=/.penchinese.net/gfwlist -server=/.pengyulong.com/127.0.0.1#5335 -ipset=/.pengyulong.com/gfwlist -server=/.penisbot.com/127.0.0.1#5335 -ipset=/.penisbot.com/gfwlist -server=/.penthouse.com/127.0.0.1#5335 -ipset=/.penthouse.com/gfwlist -server=/.peoplebookcafe.com/127.0.0.1#5335 -ipset=/.peoplebookcafe.com/gfwlist -server=/.peoplenews.tw/127.0.0.1#5335 -ipset=/.peoplenews.tw/gfwlist -server=/.peopo.org/127.0.0.1#5335 -ipset=/.peopo.org/gfwlist -server=/.percy.in/127.0.0.1#5335 -ipset=/.percy.in/gfwlist -server=/.perfectgirls.net/127.0.0.1#5335 -ipset=/.perfectgirls.net/gfwlist -server=/.perfectvpn.net/127.0.0.1#5335 -ipset=/.perfectvpn.net/gfwlist -server=/.periscope.tv/127.0.0.1#5335 -ipset=/.periscope.tv/gfwlist -server=/.persecutionblog.com/127.0.0.1#5335 -ipset=/.persecutionblog.com/gfwlist -server=/.persiankitty.com/127.0.0.1#5335 -ipset=/.persiankitty.com/gfwlist -server=/.pfd.org.hk/127.0.0.1#5335 -ipset=/.pfd.org.hk/gfwlist -server=/.phapluan.org/127.0.0.1#5335 -ipset=/.phapluan.org/gfwlist -server=/.phayul.com/127.0.0.1#5335 -ipset=/.phayul.com/gfwlist -server=/.philborges.com/127.0.0.1#5335 -ipset=/.philborges.com/gfwlist -server=/.philly.com/127.0.0.1#5335 -ipset=/.philly.com/gfwlist -server=/.phmsociety.org/127.0.0.1#5335 -ipset=/.phmsociety.org/gfwlist -server=/.phncdn.com/127.0.0.1#5335 -ipset=/.phncdn.com/gfwlist -server=/.phosphation13.rssing.com/127.0.0.1#5335 -ipset=/.phosphation13.rssing.com/gfwlist -server=/.photodharma.net/127.0.0.1#5335 -ipset=/.photodharma.net/gfwlist -server=/.photofocus.com/127.0.0.1#5335 -ipset=/.photofocus.com/gfwlist -server=/.phuquocservices.com/127.0.0.1#5335 -ipset=/.phuquocservices.com/gfwlist -server=/.picacomic.com/127.0.0.1#5335 -ipset=/.picacomic.com/gfwlist -server=/.picacomiccn.com/127.0.0.1#5335 -ipset=/.picacomiccn.com/gfwlist -server=/.picasaweb.com/127.0.0.1#5335 -ipset=/.picasaweb.com/gfwlist -server=/.picidae.net/127.0.0.1#5335 -ipset=/.picidae.net/gfwlist -server=/.pictures.playboy.com/127.0.0.1#5335 -ipset=/.pictures.playboy.com/gfwlist -server=/.picturesocial.com/127.0.0.1#5335 -ipset=/.picturesocial.com/gfwlist -server=/.pin-cong.com/127.0.0.1#5335 -ipset=/.pin-cong.com/gfwlist -server=/.pin6.com/127.0.0.1#5335 -ipset=/.pin6.com/gfwlist -server=/.pincong.rocks/127.0.0.1#5335 -ipset=/.pincong.rocks/gfwlist -server=/.ping.fm/127.0.0.1#5335 -ipset=/.ping.fm/gfwlist -server=/.pinimg.com/127.0.0.1#5335 -ipset=/.pinimg.com/gfwlist -server=/.pinkrod.com/127.0.0.1#5335 -ipset=/.pinkrod.com/gfwlist -server=/.pinoy-n.com/127.0.0.1#5335 -ipset=/.pinoy-n.com/gfwlist -server=/.pinterest.at/127.0.0.1#5335 -ipset=/.pinterest.at/gfwlist -server=/.pinterest.ca/127.0.0.1#5335 -ipset=/.pinterest.ca/gfwlist -server=/.pinterest.co.kr/127.0.0.1#5335 -ipset=/.pinterest.co.kr/gfwlist -server=/.pinterest.co.uk/127.0.0.1#5335 -ipset=/.pinterest.co.uk/gfwlist -server=/.pinterest.com/127.0.0.1#5335 -ipset=/.pinterest.com/gfwlist -server=/.pinterest.de/127.0.0.1#5335 -ipset=/.pinterest.de/gfwlist -server=/.pinterest.dk/127.0.0.1#5335 -ipset=/.pinterest.dk/gfwlist -server=/.pinterest.fr/127.0.0.1#5335 -ipset=/.pinterest.fr/gfwlist -server=/.pinterest.jp/127.0.0.1#5335 -ipset=/.pinterest.jp/gfwlist -server=/.pinterest.nl/127.0.0.1#5335 -ipset=/.pinterest.nl/gfwlist -server=/.pinterest.se/127.0.0.1#5335 -ipset=/.pinterest.se/gfwlist -server=/.pioneer-worker.forums-free.com/127.0.0.1#5335 -ipset=/.pioneer-worker.forums-free.com/gfwlist -server=/.pipii.tv/127.0.0.1#5335 -ipset=/.pipii.tv/gfwlist -server=/.piposay.com/127.0.0.1#5335 -ipset=/.piposay.com/gfwlist -server=/.piraattilahti.org/127.0.0.1#5335 -ipset=/.piraattilahti.org/gfwlist -server=/.piring.com/127.0.0.1#5335 -ipset=/.piring.com/gfwlist -server=/.pixelqi.com/127.0.0.1#5335 -ipset=/.pixelqi.com/gfwlist -server=/.pixiv.net/127.0.0.1#5335 -ipset=/.pixiv.net/gfwlist -server=/.pixnet.net/127.0.0.1#5335 -ipset=/.pixnet.net/gfwlist -server=/.pk.com/127.0.0.1#5335 -ipset=/.pk.com/gfwlist -server=/.pki.goog/127.0.0.1#5335 -ipset=/.pki.goog/gfwlist -server=/.placemix.com/127.0.0.1#5335 -ipset=/.placemix.com/gfwlist -server=/.playboy.com/127.0.0.1#5335 -ipset=/.playboy.com/gfwlist -server=/.playboyplus.com/127.0.0.1#5335 -ipset=/.playboyplus.com/gfwlist -server=/.player.fm/127.0.0.1#5335 -ipset=/.player.fm/gfwlist -server=/.playno1.com/127.0.0.1#5335 -ipset=/.playno1.com/gfwlist -server=/.playpcesor.com/127.0.0.1#5335 -ipset=/.playpcesor.com/gfwlist -server=/.plays.com.tw/127.0.0.1#5335 -ipset=/.plays.com.tw/gfwlist -server=/.plm.org.hk/127.0.0.1#5335 -ipset=/.plm.org.hk/gfwlist -server=/.plunder.com/127.0.0.1#5335 -ipset=/.plunder.com/gfwlist -server=/.plurk.com/127.0.0.1#5335 -ipset=/.plurk.com/gfwlist -server=/.plus.codes/127.0.0.1#5335 -ipset=/.plus.codes/gfwlist -server=/.plus28.com/127.0.0.1#5335 -ipset=/.plus28.com/gfwlist -server=/.plusbb.com/127.0.0.1#5335 -ipset=/.plusbb.com/gfwlist -server=/.pmatehunter.com/127.0.0.1#5335 -ipset=/.pmatehunter.com/gfwlist -server=/.pmates.com/127.0.0.1#5335 -ipset=/.pmates.com/gfwlist -server=/.po2b.com/127.0.0.1#5335 -ipset=/.po2b.com/gfwlist -server=/.pobieramy.top/127.0.0.1#5335 -ipset=/.pobieramy.top/gfwlist -server=/.podictionary.com/127.0.0.1#5335 -ipset=/.podictionary.com/gfwlist -server=/.pokerstars.com/127.0.0.1#5335 -ipset=/.pokerstars.com/gfwlist -server=/.pokerstars.net/127.0.0.1#5335 -ipset=/.pokerstars.net/gfwlist -server=/.politicalchina.org/127.0.0.1#5335 -ipset=/.politicalchina.org/gfwlist -server=/.politicalconsultation.org/127.0.0.1#5335 -ipset=/.politicalconsultation.org/gfwlist -server=/.politiscales.net/127.0.0.1#5335 -ipset=/.politiscales.net/gfwlist -server=/.poloniex.com/127.0.0.1#5335 -ipset=/.poloniex.com/gfwlist -server=/.polymer-project.org/127.0.0.1#5335 -ipset=/.polymer-project.org/gfwlist -server=/.polymerhk.com/127.0.0.1#5335 -ipset=/.polymerhk.com/gfwlist -server=/.popo.tw/127.0.0.1#5335 -ipset=/.popo.tw/gfwlist -server=/.popvote.hk/127.0.0.1#5335 -ipset=/.popvote.hk/gfwlist -server=/.popyard.com/127.0.0.1#5335 -ipset=/.popyard.com/gfwlist -server=/.popyard.org/127.0.0.1#5335 -ipset=/.popyard.org/gfwlist -server=/.porn.com/127.0.0.1#5335 -ipset=/.porn.com/gfwlist -server=/.porn2.com/127.0.0.1#5335 -ipset=/.porn2.com/gfwlist -server=/.porn5.com/127.0.0.1#5335 -ipset=/.porn5.com/gfwlist -server=/.pornbase.org/127.0.0.1#5335 -ipset=/.pornbase.org/gfwlist -server=/.pornerbros.com/127.0.0.1#5335 -ipset=/.pornerbros.com/gfwlist -server=/.pornhd.com/127.0.0.1#5335 -ipset=/.pornhd.com/gfwlist -server=/.pornhost.com/127.0.0.1#5335 -ipset=/.pornhost.com/gfwlist -server=/.pornhub.com/127.0.0.1#5335 -ipset=/.pornhub.com/gfwlist -server=/.pornhubdeutsch.net/127.0.0.1#5335 -ipset=/.pornhubdeutsch.net/gfwlist -server=/.pornmm.net/127.0.0.1#5335 -ipset=/.pornmm.net/gfwlist -server=/.pornoxo.com/127.0.0.1#5335 -ipset=/.pornoxo.com/gfwlist -server=/.pornrapidshare.com/127.0.0.1#5335 -ipset=/.pornrapidshare.com/gfwlist -server=/.pornsharing.com/127.0.0.1#5335 -ipset=/.pornsharing.com/gfwlist -server=/.pornsocket.com/127.0.0.1#5335 -ipset=/.pornsocket.com/gfwlist -server=/.pornstarclub.com/127.0.0.1#5335 -ipset=/.pornstarclub.com/gfwlist -server=/.porntube.com/127.0.0.1#5335 -ipset=/.porntube.com/gfwlist -server=/.porntubenews.com/127.0.0.1#5335 -ipset=/.porntubenews.com/gfwlist -server=/.porntvblog.com/127.0.0.1#5335 -ipset=/.porntvblog.com/gfwlist -server=/.pornvisit.com/127.0.0.1#5335 -ipset=/.pornvisit.com/gfwlist -server=/.port25.biz/127.0.0.1#5335 -ipset=/.port25.biz/gfwlist -server=/.portablevpn.nl/127.0.0.1#5335 -ipset=/.portablevpn.nl/gfwlist -server=/.poskotanews.com/127.0.0.1#5335 -ipset=/.poskotanews.com/gfwlist -server=/.post01.com/127.0.0.1#5335 -ipset=/.post01.com/gfwlist -server=/.post76.com/127.0.0.1#5335 -ipset=/.post76.com/gfwlist -server=/.post852.com/127.0.0.1#5335 -ipset=/.post852.com/gfwlist -server=/.postadult.com/127.0.0.1#5335 -ipset=/.postadult.com/gfwlist -server=/.postimg.org/127.0.0.1#5335 -ipset=/.postimg.org/gfwlist -server=/.potato.im/127.0.0.1#5335 -ipset=/.potato.im/gfwlist -server=/.potvpn.com/127.0.0.1#5335 -ipset=/.potvpn.com/gfwlist -server=/.power.com/127.0.0.1#5335 -ipset=/.power.com/gfwlist -server=/.powercx.com/127.0.0.1#5335 -ipset=/.powercx.com/gfwlist -server=/.powerphoto.org/127.0.0.1#5335 -ipset=/.powerphoto.org/gfwlist -server=/.prayforchina.net/127.0.0.1#5335 -ipset=/.prayforchina.net/gfwlist -server=/.premeforwindows7.com/127.0.0.1#5335 -ipset=/.premeforwindows7.com/gfwlist -server=/.premproxy.com/127.0.0.1#5335 -ipset=/.premproxy.com/gfwlist -server=/.presentationzen.com/127.0.0.1#5335 -ipset=/.presentationzen.com/gfwlist -server=/.presidentlee.tw/127.0.0.1#5335 -ipset=/.presidentlee.tw/gfwlist -server=/.prestige-av.com/127.0.0.1#5335 -ipset=/.prestige-av.com/gfwlist -server=/.pride.google/127.0.0.1#5335 -ipset=/.pride.google/gfwlist -server=/.prism-break.org/127.0.0.1#5335 -ipset=/.prism-break.org/gfwlist -server=/.prisoneralert.com/127.0.0.1#5335 -ipset=/.prisoneralert.com/gfwlist -server=/.pritunl.com/127.0.0.1#5335 -ipset=/.pritunl.com/gfwlist -server=/.privacybox.de/127.0.0.1#5335 -ipset=/.privacybox.de/gfwlist -server=/.privateinternetaccess.com/127.0.0.1#5335 -ipset=/.privateinternetaccess.com/gfwlist -server=/.privatepaste.com/127.0.0.1#5335 -ipset=/.privatepaste.com/gfwlist -server=/.privatetunnel.com/127.0.0.1#5335 -ipset=/.privatetunnel.com/gfwlist -server=/.privatevpn.com/127.0.0.1#5335 -ipset=/.privatevpn.com/gfwlist -server=/.procopytips.com/127.0.0.1#5335 -ipset=/.procopytips.com/gfwlist -server=/.prosiben.de/127.0.0.1#5335 -ipset=/.prosiben.de/gfwlist -server=/.protonvpn.com/127.0.0.1#5335 -ipset=/.protonvpn.com/gfwlist -server=/.provideocoalition.com/127.0.0.1#5335 -ipset=/.provideocoalition.com/gfwlist -server=/.provpnaccounts.com/127.0.0.1#5335 -ipset=/.provpnaccounts.com/gfwlist -server=/.proxfree.com/127.0.0.1#5335 -ipset=/.proxfree.com/gfwlist -server=/.proxifier.com/127.0.0.1#5335 -ipset=/.proxifier.com/gfwlist -server=/.proxomitron.info/127.0.0.1#5335 -ipset=/.proxomitron.info/gfwlist -server=/.proxpn.com/127.0.0.1#5335 -ipset=/.proxpn.com/gfwlist -server=/.proxyanonimo.es/127.0.0.1#5335 -ipset=/.proxyanonimo.es/gfwlist -server=/.proxydns.com/127.0.0.1#5335 -ipset=/.proxydns.com/gfwlist -server=/.proxylist.org.uk/127.0.0.1#5335 -ipset=/.proxylist.org.uk/gfwlist -server=/.proxynetwork.org.uk/127.0.0.1#5335 -ipset=/.proxynetwork.org.uk/gfwlist -server=/.proxypy.net/127.0.0.1#5335 -ipset=/.proxypy.net/gfwlist -server=/.proxyroad.com/127.0.0.1#5335 -ipset=/.proxyroad.com/gfwlist -server=/.proxytunnel.net/127.0.0.1#5335 -ipset=/.proxytunnel.net/gfwlist -server=/.proyectoclubes.com/127.0.0.1#5335 -ipset=/.proyectoclubes.com/gfwlist -server=/.prozz.net/127.0.0.1#5335 -ipset=/.prozz.net/gfwlist -server=/.psblog.name/127.0.0.1#5335 -ipset=/.psblog.name/gfwlist -server=/.pscp.tv/127.0.0.1#5335 -ipset=/.pscp.tv/gfwlist -server=/.pshvpn.com/127.0.0.1#5335 -ipset=/.pshvpn.com/gfwlist -server=/.psiphon.ca/127.0.0.1#5335 -ipset=/.psiphon.ca/gfwlist -server=/.psiphon.civisec.org/127.0.0.1#5335 -ipset=/.psiphon.civisec.org/gfwlist -server=/.psiphon3.com/127.0.0.1#5335 -ipset=/.psiphon3.com/gfwlist -server=/.psiphontoday.com/127.0.0.1#5335 -ipset=/.psiphontoday.com/gfwlist -server=/.pts.org.tw/127.0.0.1#5335 -ipset=/.pts.org.tw/gfwlist -server=/.ptt.cc/127.0.0.1#5335 -ipset=/.ptt.cc/gfwlist -server=/.pttvan.org/127.0.0.1#5335 -ipset=/.pttvan.org/gfwlist -server=/.pubu.com.tw/127.0.0.1#5335 -ipset=/.pubu.com.tw/gfwlist -server=/.puffinbrowser.com/127.0.0.1#5335 -ipset=/.puffinbrowser.com/gfwlist -server=/.puffstore.com/127.0.0.1#5335 -ipset=/.puffstore.com/gfwlist -server=/.pullfolio.com/127.0.0.1#5335 -ipset=/.pullfolio.com/gfwlist -server=/.pulse.yahoo.com/127.0.0.1#5335 -ipset=/.pulse.yahoo.com/gfwlist -server=/.pure18.com/127.0.0.1#5335 -ipset=/.pure18.com/gfwlist -server=/.pureconcepts.net/127.0.0.1#5335 -ipset=/.pureconcepts.net/gfwlist -server=/.pureinsight.org/127.0.0.1#5335 -ipset=/.pureinsight.org/gfwlist -server=/.purepdf.com/127.0.0.1#5335 -ipset=/.purepdf.com/gfwlist -server=/.purevpn.com/127.0.0.1#5335 -ipset=/.purevpn.com/gfwlist -server=/.purplelotus.org/127.0.0.1#5335 -ipset=/.purplelotus.org/gfwlist -server=/.pursuestar.com/127.0.0.1#5335 -ipset=/.pursuestar.com/gfwlist -server=/.pushchinawall.com/127.0.0.1#5335 -ipset=/.pushchinawall.com/gfwlist -server=/.pussyspace.com/127.0.0.1#5335 -ipset=/.pussyspace.com/gfwlist -server=/.putihome.org/127.0.0.1#5335 -ipset=/.putihome.org/gfwlist -server=/.putty.org/127.0.0.1#5335 -ipset=/.putty.org/gfwlist -server=/.puuko.com/127.0.0.1#5335 -ipset=/.puuko.com/gfwlist -server=/.pwned.com/127.0.0.1#5335 -ipset=/.pwned.com/gfwlist -server=/.python.com/127.0.0.1#5335 -ipset=/.python.com/gfwlist -server=/.pytorch.org/127.0.0.1#5335 -ipset=/.pytorch.org/gfwlist -server=/.qanote.com/127.0.0.1#5335 -ipset=/.qanote.com/gfwlist -server=/.qgirl.com.tw/127.0.0.1#5335 -ipset=/.qgirl.com.tw/gfwlist -server=/.qhigh.com/127.0.0.1#5335 -ipset=/.qhigh.com/gfwlist -server=/.qi-gong.me/127.0.0.1#5335 -ipset=/.qi-gong.me/gfwlist -server=/.qiandao.today/127.0.0.1#5335 -ipset=/.qiandao.today/gfwlist -server=/.qiangyou.org/127.0.0.1#5335 -ipset=/.qiangyou.org/gfwlist -server=/.qidian.ca/127.0.0.1#5335 -ipset=/.qidian.ca/gfwlist -server=/.qienkuen.org/127.0.0.1#5335 -ipset=/.qienkuen.org/gfwlist -server=/.qiwen.lu/127.0.0.1#5335 -ipset=/.qiwen.lu/gfwlist -server=/.qixianglu.cn/127.0.0.1#5335 -ipset=/.qixianglu.cn/gfwlist -server=/.qkshare.com/127.0.0.1#5335 -ipset=/.qkshare.com/gfwlist -server=/.qoos.com/127.0.0.1#5335 -ipset=/.qoos.com/gfwlist -server=/.qpoe.com/127.0.0.1#5335 -ipset=/.qpoe.com/gfwlist -server=/.qq.co.za/127.0.0.1#5335 -ipset=/.qq.co.za/gfwlist -server=/.qstatus.com/127.0.0.1#5335 -ipset=/.qstatus.com/gfwlist -server=/.qtrac.eu/127.0.0.1#5335 -ipset=/.qtrac.eu/gfwlist -server=/.qtweeter.com/127.0.0.1#5335 -ipset=/.qtweeter.com/gfwlist -server=/.quannengshen.org/127.0.0.1#5335 -ipset=/.quannengshen.org/gfwlist -server=/.quantumbooter.net/127.0.0.1#5335 -ipset=/.quantumbooter.net/gfwlist -server=/.questvisual.com/127.0.0.1#5335 -ipset=/.questvisual.com/gfwlist -server=/.quitccp.net/127.0.0.1#5335 -ipset=/.quitccp.net/gfwlist -server=/.quitccp.org/127.0.0.1#5335 -ipset=/.quitccp.org/gfwlist -server=/.quora.com/127.0.0.1#5335 -ipset=/.quora.com/gfwlist -server=/.quoracdn.net/127.0.0.1#5335 -ipset=/.quoracdn.net/gfwlist -server=/.quran.com/127.0.0.1#5335 -ipset=/.quran.com/gfwlist -server=/.quranexplorer.com/127.0.0.1#5335 -ipset=/.quranexplorer.com/gfwlist -server=/.qusi8.net/127.0.0.1#5335 -ipset=/.qusi8.net/gfwlist -server=/.qvodzy.org/127.0.0.1#5335 -ipset=/.qvodzy.org/gfwlist -server=/.qxbbs.org/127.0.0.1#5335 -ipset=/.qxbbs.org/gfwlist -server=/.qz.com/127.0.0.1#5335 -ipset=/.qz.com/gfwlist -server=/.r18.com/127.0.0.1#5335 -ipset=/.r18.com/gfwlist -server=/.ra.gg/127.0.0.1#5335 -ipset=/.ra.gg/gfwlist -server=/.radicalparty.org/127.0.0.1#5335 -ipset=/.radicalparty.org/gfwlist -server=/.radiko.jp/127.0.0.1#5335 -ipset=/.radiko.jp/gfwlist -server=/.radio.garden/127.0.0.1#5335 -ipset=/.radio.garden/gfwlist -server=/.radioaustralia.net.au/127.0.0.1#5335 -ipset=/.radioaustralia.net.au/gfwlist -server=/.radiohilight.net/127.0.0.1#5335 -ipset=/.radiohilight.net/gfwlist -server=/.radiovaticana.org/127.0.0.1#5335 -ipset=/.radiovaticana.org/gfwlist -server=/.radiovncr.com/127.0.0.1#5335 -ipset=/.radiovncr.com/gfwlist -server=/.rael.org/127.0.0.1#5335 -ipset=/.rael.org/gfwlist -server=/.raggedbanner.com/127.0.0.1#5335 -ipset=/.raggedbanner.com/gfwlist -server=/.raidcall.com.tw/127.0.0.1#5335 -ipset=/.raidcall.com.tw/gfwlist -server=/.raidtalk.com.tw/127.0.0.1#5335 -ipset=/.raidtalk.com.tw/gfwlist -server=/.raizoji.or.jp/127.0.0.1#5335 -ipset=/.raizoji.or.jp/gfwlist -server=/.ramcity.com.au/127.0.0.1#5335 -ipset=/.ramcity.com.au/gfwlist -server=/.rangwang.biz/127.0.0.1#5335 -ipset=/.rangwang.biz/gfwlist -server=/.rangzen.com/127.0.0.1#5335 -ipset=/.rangzen.com/gfwlist -server=/.rangzen.net/127.0.0.1#5335 -ipset=/.rangzen.net/gfwlist -server=/.rangzen.org/127.0.0.1#5335 -ipset=/.rangzen.org/gfwlist -server=/.ranyunfei.com/127.0.0.1#5335 -ipset=/.ranyunfei.com/gfwlist -server=/.rapbull.net/127.0.0.1#5335 -ipset=/.rapbull.net/gfwlist -server=/.rapidmoviez.com/127.0.0.1#5335 -ipset=/.rapidmoviez.com/gfwlist -server=/.rapidvpn.com/127.0.0.1#5335 -ipset=/.rapidvpn.com/gfwlist -server=/.rarbgprx.org/127.0.0.1#5335 -ipset=/.rarbgprx.org/gfwlist -server=/.raremovie.cc/127.0.0.1#5335 -ipset=/.raremovie.cc/gfwlist -server=/.raremovie.net/127.0.0.1#5335 -ipset=/.raremovie.net/gfwlist -server=/.rawgit.com/127.0.0.1#5335 -ipset=/.rawgit.com/gfwlist -server=/.rawgithub.com/127.0.0.1#5335 -ipset=/.rawgithub.com/gfwlist -server=/.razyboard.com/127.0.0.1#5335 -ipset=/.razyboard.com/gfwlist -server=/.rcam.target.com/127.0.0.1#5335 -ipset=/.rcam.target.com/gfwlist -server=/.rcinet.ca/127.0.0.1#5335 -ipset=/.rcinet.ca/gfwlist -server=/.rconversation.blogs.com/127.0.0.1#5335 -ipset=/.rconversation.blogs.com/gfwlist -server=/.rd.com/127.0.0.1#5335 -ipset=/.rd.com/gfwlist -server=/.rdio.com/127.0.0.1#5335 -ipset=/.rdio.com/gfwlist -server=/.read01.com/127.0.0.1#5335 -ipset=/.read01.com/gfwlist -server=/.read100.com/127.0.0.1#5335 -ipset=/.read100.com/gfwlist -server=/.readingtimes.com.tw/127.0.0.1#5335 -ipset=/.readingtimes.com.tw/gfwlist -server=/.readmoo.com/127.0.0.1#5335 -ipset=/.readmoo.com/gfwlist -server=/.readydown.com/127.0.0.1#5335 -ipset=/.readydown.com/gfwlist -server=/.realcourage.org/127.0.0.1#5335 -ipset=/.realcourage.org/gfwlist -server=/.realforum.zkiz.com/127.0.0.1#5335 -ipset=/.realforum.zkiz.com/gfwlist -server=/.realitykings.com/127.0.0.1#5335 -ipset=/.realitykings.com/gfwlist -server=/.realraptalk.com/127.0.0.1#5335 -ipset=/.realraptalk.com/gfwlist -server=/.realsexpass.com/127.0.0.1#5335 -ipset=/.realsexpass.com/gfwlist -server=/.reason.com/127.0.0.1#5335 -ipset=/.reason.com/gfwlist -server=/.rebatesrule.net/127.0.0.1#5335 -ipset=/.rebatesrule.net/gfwlist -server=/.recordhistory.org/127.0.0.1#5335 -ipset=/.recordhistory.org/gfwlist -server=/.recovery.org.tw/127.0.0.1#5335 -ipset=/.recovery.org.tw/gfwlist -server=/.recoveryversion.com.tw/127.0.0.1#5335 -ipset=/.recoveryversion.com.tw/gfwlist -server=/.red-lang.org/127.0.0.1#5335 -ipset=/.red-lang.org/gfwlist -server=/.redballoonsolidarity.org/127.0.0.1#5335 -ipset=/.redballoonsolidarity.org/gfwlist -server=/.redchinacn.net/127.0.0.1#5335 -ipset=/.redchinacn.net/gfwlist -server=/.redchinacn.org/127.0.0.1#5335 -ipset=/.redchinacn.org/gfwlist -server=/.redd.it/127.0.0.1#5335 -ipset=/.redd.it/gfwlist -server=/.reddit.com/127.0.0.1#5335 -ipset=/.reddit.com/gfwlist -server=/.redditlist.com/127.0.0.1#5335 -ipset=/.redditlist.com/gfwlist -server=/.redditmedia.com/127.0.0.1#5335 -ipset=/.redditmedia.com/gfwlist -server=/.redditstatic.com/127.0.0.1#5335 -ipset=/.redditstatic.com/gfwlist -server=/.redhotlabs.com/127.0.0.1#5335 -ipset=/.redhotlabs.com/gfwlist -server=/.redtube.com/127.0.0.1#5335 -ipset=/.redtube.com/gfwlist -server=/.referer.us/127.0.0.1#5335 -ipset=/.referer.us/gfwlist -server=/.reflectivecode.com/127.0.0.1#5335 -ipset=/.reflectivecode.com/gfwlist -server=/.registry.google/127.0.0.1#5335 -ipset=/.registry.google/gfwlist -server=/.relaxbbs.com/127.0.0.1#5335 -ipset=/.relaxbbs.com/gfwlist -server=/.relay.com.tw/127.0.0.1#5335 -ipset=/.relay.com.tw/gfwlist -server=/.releaseinternational.org/127.0.0.1#5335 -ipset=/.releaseinternational.org/gfwlist -server=/.religioustolerance.org/127.0.0.1#5335 -ipset=/.religioustolerance.org/gfwlist -server=/.renminbao.com/127.0.0.1#5335 -ipset=/.renminbao.com/gfwlist -server=/.renyurenquan.org/127.0.0.1#5335 -ipset=/.renyurenquan.org/gfwlist -server=/.resilio.com/127.0.0.1#5335 -ipset=/.resilio.com/gfwlist -server=/.resistchina.org/127.0.0.1#5335 -ipset=/.resistchina.org/gfwlist -server=/.retweeteffect.com/127.0.0.1#5335 -ipset=/.retweeteffect.com/gfwlist -server=/.retweetist.com/127.0.0.1#5335 -ipset=/.retweetist.com/gfwlist -server=/.retweetrank.com/127.0.0.1#5335 -ipset=/.retweetrank.com/gfwlist -server=/.reuters.com/127.0.0.1#5335 -ipset=/.reuters.com/gfwlist -server=/.reutersmedia.net/127.0.0.1#5335 -ipset=/.reutersmedia.net/gfwlist -server=/.revleft.com/127.0.0.1#5335 -ipset=/.revleft.com/gfwlist -server=/.revver.com/127.0.0.1#5335 -ipset=/.revver.com/gfwlist -server=/.rfa.org/127.0.0.1#5335 -ipset=/.rfa.org/gfwlist -server=/.rfachina.com/127.0.0.1#5335 -ipset=/.rfachina.com/gfwlist -server=/.rfalive1.akacast.akamaistream.net/127.0.0.1#5335 -ipset=/.rfalive1.akacast.akamaistream.net/gfwlist -server=/.rfamobile.org/127.0.0.1#5335 -ipset=/.rfamobile.org/gfwlist -server=/.rfaweb.org/127.0.0.1#5335 -ipset=/.rfaweb.org/gfwlist -server=/.rferl.org/127.0.0.1#5335 -ipset=/.rferl.org/gfwlist -server=/.rfi.fr/127.0.0.1#5335 -ipset=/.rfi.fr/gfwlist -server=/.rightbtc.com/127.0.0.1#5335 -ipset=/.rightbtc.com/gfwlist -server=/.rigpa.org/127.0.0.1#5335 -ipset=/.rigpa.org/gfwlist -server=/.rileyguide.com/127.0.0.1#5335 -ipset=/.rileyguide.com/gfwlist -server=/.riseup.net/127.0.0.1#5335 -ipset=/.riseup.net/gfwlist -server=/.ritouki.jp/127.0.0.1#5335 -ipset=/.ritouki.jp/gfwlist -server=/.ritter.vg/127.0.0.1#5335 -ipset=/.ritter.vg/gfwlist -server=/.rixcloud.com/127.0.0.1#5335 -ipset=/.rixcloud.com/gfwlist -server=/.rixcloud.us/127.0.0.1#5335 -ipset=/.rixcloud.us/gfwlist -server=/.rlwlw.com/127.0.0.1#5335 -ipset=/.rlwlw.com/gfwlist -server=/.rmjdw.com/127.0.0.1#5335 -ipset=/.rmjdw.com/gfwlist -server=/.rmjdw132.info/127.0.0.1#5335 -ipset=/.rmjdw132.info/gfwlist -server=/.roadshow.hk/127.0.0.1#5335 -ipset=/.roadshow.hk/gfwlist -server=/.roboforex.com/127.0.0.1#5335 -ipset=/.roboforex.com/gfwlist -server=/.robustnessiskey.com/127.0.0.1#5335 -ipset=/.robustnessiskey.com/gfwlist -server=/.rocket-inc.net/127.0.0.1#5335 -ipset=/.rocket-inc.net/gfwlist -server=/.rocksdb.org/127.0.0.1#5335 -ipset=/.rocksdb.org/gfwlist -server=/.rojo.com/127.0.0.1#5335 -ipset=/.rojo.com/gfwlist -server=/.rolia.net/127.0.0.1#5335 -ipset=/.rolia.net/gfwlist -server=/.ronjoneswriter.com/127.0.0.1#5335 -ipset=/.ronjoneswriter.com/gfwlist -server=/.roodo.com/127.0.0.1#5335 -ipset=/.roodo.com/gfwlist -server=/.rosechina.net/127.0.0.1#5335 -ipset=/.rosechina.net/gfwlist -server=/.rotten.com/127.0.0.1#5335 -ipset=/.rotten.com/gfwlist -server=/.rsdlmonitor.com/127.0.0.1#5335 -ipset=/.rsdlmonitor.com/gfwlist -server=/.rsf-chinese.org/127.0.0.1#5335 -ipset=/.rsf-chinese.org/gfwlist -server=/.rsf.org/127.0.0.1#5335 -ipset=/.rsf.org/gfwlist -server=/.rsgamen.org/127.0.0.1#5335 -ipset=/.rsgamen.org/gfwlist -server=/.rssmeme.com/127.0.0.1#5335 -ipset=/.rssmeme.com/gfwlist -server=/.rtalabel.org/127.0.0.1#5335 -ipset=/.rtalabel.org/gfwlist -server=/.rthk.hk/127.0.0.1#5335 -ipset=/.rthk.hk/gfwlist -server=/.rthk.org.hk/127.0.0.1#5335 -ipset=/.rthk.org.hk/gfwlist -server=/.rthklive2-lh.akamaihd.net/127.0.0.1#5335 -ipset=/.rthklive2-lh.akamaihd.net/gfwlist -server=/.rti.org.tw/127.0.0.1#5335 -ipset=/.rti.org.tw/gfwlist -server=/.rtycminnesota.org/127.0.0.1#5335 -ipset=/.rtycminnesota.org/gfwlist -server=/.rukor.org/127.0.0.1#5335 -ipset=/.rukor.org/gfwlist -server=/.runbtx.com/127.0.0.1#5335 -ipset=/.runbtx.com/gfwlist -server=/.rushbee.com/127.0.0.1#5335 -ipset=/.rushbee.com/gfwlist -server=/.ruten.com.tw/127.0.0.1#5335 -ipset=/.ruten.com.tw/gfwlist -server=/.rutube.ru/127.0.0.1#5335 -ipset=/.rutube.ru/gfwlist -server=/.ruyiseek.com/127.0.0.1#5335 -ipset=/.ruyiseek.com/gfwlist -server=/.rxhj.net/127.0.0.1#5335 -ipset=/.rxhj.net/gfwlist -server=/.s-cute.com/127.0.0.1#5335 -ipset=/.s-cute.com/gfwlist -server=/.s-dragon.org/127.0.0.1#5335 -ipset=/.s-dragon.org/gfwlist -server=/.s1.nudezz.com/127.0.0.1#5335 -ipset=/.s1.nudezz.com/gfwlist -server=/.s1heng.com/127.0.0.1#5335 -ipset=/.s1heng.com/gfwlist -server=/.s1s1s1.com/127.0.0.1#5335 -ipset=/.s1s1s1.com/gfwlist -server=/.s3-ap-northeast-1.amazonaws.com/127.0.0.1#5335 -ipset=/.s3-ap-northeast-1.amazonaws.com/gfwlist -server=/.s3-ap-southeast-2.amazonaws.com/127.0.0.1#5335 -ipset=/.s3-ap-southeast-2.amazonaws.com/gfwlist -server=/.s8forum.com/127.0.0.1#5335 -ipset=/.s8forum.com/gfwlist -server=/.sa.hao123.com/127.0.0.1#5335 -ipset=/.sa.hao123.com/gfwlist -server=/.sacks.com/127.0.0.1#5335 -ipset=/.sacks.com/gfwlist -server=/.sacom.hk/127.0.0.1#5335 -ipset=/.sacom.hk/gfwlist -server=/.sadistic-v.com/127.0.0.1#5335 -ipset=/.sadistic-v.com/gfwlist -server=/.sadpanda.us/127.0.0.1#5335 -ipset=/.sadpanda.us/gfwlist -server=/.safervpn.com/127.0.0.1#5335 -ipset=/.safervpn.com/gfwlist -server=/.safety.google/127.0.0.1#5335 -ipset=/.safety.google/gfwlist -server=/.saintyculture.com/127.0.0.1#5335 -ipset=/.saintyculture.com/gfwlist -server=/.saiq.me/127.0.0.1#5335 -ipset=/.saiq.me/gfwlist -server=/.sakuralive.com/127.0.0.1#5335 -ipset=/.sakuralive.com/gfwlist -server=/.sakya.org/127.0.0.1#5335 -ipset=/.sakya.org/gfwlist -server=/.salvation.org.hk/127.0.0.1#5335 -ipset=/.salvation.org.hk/gfwlist -server=/.sambhota.org/127.0.0.1#5335 -ipset=/.sambhota.org/gfwlist -server=/.sanmin.com.tw/127.0.0.1#5335 -ipset=/.sanmin.com.tw/gfwlist -server=/.sapikachu.net/127.0.0.1#5335 -ipset=/.sapikachu.net/gfwlist -server=/.saveliuxiaobo.com/127.0.0.1#5335 -ipset=/.saveliuxiaobo.com/gfwlist -server=/.savemedia.com/127.0.0.1#5335 -ipset=/.savemedia.com/gfwlist -server=/.savethedate.foo/127.0.0.1#5335 -ipset=/.savethedate.foo/gfwlist -server=/.savethesounds.info/127.0.0.1#5335 -ipset=/.savethesounds.info/gfwlist -server=/.savetibet.de/127.0.0.1#5335 -ipset=/.savetibet.de/gfwlist -server=/.savetibet.fr/127.0.0.1#5335 -ipset=/.savetibet.fr/gfwlist -server=/.savetibet.nl/127.0.0.1#5335 -ipset=/.savetibet.nl/gfwlist -server=/.savetibet.org/127.0.0.1#5335 -ipset=/.savetibet.org/gfwlist -server=/.savetibet.ru/127.0.0.1#5335 -ipset=/.savetibet.ru/gfwlist -server=/.savetibetstore.org/127.0.0.1#5335 -ipset=/.savetibetstore.org/gfwlist -server=/.savevid.com/127.0.0.1#5335 -ipset=/.savevid.com/gfwlist -server=/.say2.info/127.0.0.1#5335 -ipset=/.say2.info/gfwlist -server=/.sbme.me/127.0.0.1#5335 -ipset=/.sbme.me/gfwlist -server=/.scache.vzw.com/127.0.0.1#5335 -ipset=/.scache.vzw.com/gfwlist -server=/.scache1.vzw.com/127.0.0.1#5335 -ipset=/.scache1.vzw.com/gfwlist -server=/.scache2.vzw.com/127.0.0.1#5335 -ipset=/.scache2.vzw.com/gfwlist -server=/.scasino.com/127.0.0.1#5335 -ipset=/.scasino.com/gfwlist -server=/.schema.org/127.0.0.1#5335 -ipset=/.schema.org/gfwlist -server=/.sciencenets.com/127.0.0.1#5335 -ipset=/.sciencenets.com/gfwlist -server=/.scieron.com/127.0.0.1#5335 -ipset=/.scieron.com/gfwlist -server=/.scmp.com/127.0.0.1#5335 -ipset=/.scmp.com/gfwlist -server=/.scmpchinese.com/127.0.0.1#5335 -ipset=/.scmpchinese.com/gfwlist -server=/.scramble.io/127.0.0.1#5335 -ipset=/.scramble.io/gfwlist -server=/.scratch.mit.edu/127.0.0.1#5335 -ipset=/.scratch.mit.edu/gfwlist -server=/.scribd.com/127.0.0.1#5335 -ipset=/.scribd.com/gfwlist -server=/.scriptspot.com/127.0.0.1#5335 -ipset=/.scriptspot.com/gfwlist -server=/.seapuff.com/127.0.0.1#5335 -ipset=/.seapuff.com/gfwlist -server=/.search.aol.com/127.0.0.1#5335 -ipset=/.search.aol.com/gfwlist -server=/.search.yahoo.co.jp/127.0.0.1#5335 -ipset=/.search.yahoo.co.jp/gfwlist -server=/.search.yahoo.com/127.0.0.1#5335 -ipset=/.search.yahoo.com/gfwlist -server=/.searchtruth.com/127.0.0.1#5335 -ipset=/.searchtruth.com/gfwlist -server=/.secretchina.com/127.0.0.1#5335 -ipset=/.secretchina.com/gfwlist -server=/.secretgarden.no/127.0.0.1#5335 -ipset=/.secretgarden.no/gfwlist -server=/.secretsline.biz/127.0.0.1#5335 -ipset=/.secretsline.biz/gfwlist -server=/.secure.hustler.com/127.0.0.1#5335 -ipset=/.secure.hustler.com/gfwlist -server=/.secure.logmein.com/127.0.0.1#5335 -ipset=/.secure.logmein.com/gfwlist -server=/.secure.raxcdn.com/127.0.0.1#5335 -ipset=/.secure.raxcdn.com/gfwlist -server=/.securetunnel.com/127.0.0.1#5335 -ipset=/.securetunnel.com/gfwlist -server=/.securityinabox.org/127.0.0.1#5335 -ipset=/.securityinabox.org/gfwlist -server=/.securitykiss.com/127.0.0.1#5335 -ipset=/.securitykiss.com/gfwlist -server=/.seed4.me/127.0.0.1#5335 -ipset=/.seed4.me/gfwlist -server=/.seesmic.com/127.0.0.1#5335 -ipset=/.seesmic.com/gfwlist -server=/.seevpn.com/127.0.0.1#5335 -ipset=/.seevpn.com/gfwlist -server=/.seezone.net/127.0.0.1#5335 -ipset=/.seezone.net/gfwlist -server=/.sejie.com/127.0.0.1#5335 -ipset=/.sejie.com/gfwlist -server=/.sellclassics.com/127.0.0.1#5335 -ipset=/.sellclassics.com/gfwlist -server=/.sendsmtp.com/127.0.0.1#5335 -ipset=/.sendsmtp.com/gfwlist -server=/.sendspace.com/127.0.0.1#5335 -ipset=/.sendspace.com/gfwlist -server=/.servehttp.com/127.0.0.1#5335 -ipset=/.servehttp.com/gfwlist -server=/.serveuser.com/127.0.0.1#5335 -ipset=/.serveuser.com/gfwlist -server=/.serveusers.com/127.0.0.1#5335 -ipset=/.serveusers.com/gfwlist -server=/.sesawe.net/127.0.0.1#5335 -ipset=/.sesawe.net/gfwlist -server=/.sesawe.org/127.0.0.1#5335 -ipset=/.sesawe.org/gfwlist -server=/.sethwklein.net/127.0.0.1#5335 -ipset=/.sethwklein.net/gfwlist -server=/.setn.com/127.0.0.1#5335 -ipset=/.setn.com/gfwlist -server=/.settv.com.tw/127.0.0.1#5335 -ipset=/.settv.com.tw/gfwlist -server=/.sevenload.com/127.0.0.1#5335 -ipset=/.sevenload.com/gfwlist -server=/.sex-11.com/127.0.0.1#5335 -ipset=/.sex-11.com/gfwlist -server=/.sex.com/127.0.0.1#5335 -ipset=/.sex.com/gfwlist -server=/.sex3.com/127.0.0.1#5335 -ipset=/.sex3.com/gfwlist -server=/.sex8.cc/127.0.0.1#5335 -ipset=/.sex8.cc/gfwlist -server=/.sexandsubmission.com/127.0.0.1#5335 -ipset=/.sexandsubmission.com/gfwlist -server=/.sexbot.com/127.0.0.1#5335 -ipset=/.sexbot.com/gfwlist -server=/.sexhu.com/127.0.0.1#5335 -ipset=/.sexhu.com/gfwlist -server=/.sexhuang.com/127.0.0.1#5335 -ipset=/.sexhuang.com/gfwlist -server=/.sexidude.com/127.0.0.1#5335 -ipset=/.sexidude.com/gfwlist -server=/.sexinsex.net/127.0.0.1#5335 -ipset=/.sexinsex.net/gfwlist -server=/.sextvx.com/127.0.0.1#5335 -ipset=/.sextvx.com/gfwlist -server=/.sexxxy.biz/127.0.0.1#5335 -ipset=/.sexxxy.biz/gfwlist -server=/.sfileydy.com/127.0.0.1#5335 -ipset=/.sfileydy.com/gfwlist -server=/.sfshibao.com/127.0.0.1#5335 -ipset=/.sfshibao.com/gfwlist -server=/.sftindia.org/127.0.0.1#5335 -ipset=/.sftindia.org/gfwlist -server=/.sftuk.org/127.0.0.1#5335 -ipset=/.sftuk.org/gfwlist -server=/.shadeyouvpn.com/127.0.0.1#5335 -ipset=/.shadeyouvpn.com/gfwlist -server=/.shadow.ma/127.0.0.1#5335 -ipset=/.shadow.ma/gfwlist -server=/.shadowsky.xyz/127.0.0.1#5335 -ipset=/.shadowsky.xyz/gfwlist -server=/.shadowsocks-r.com/127.0.0.1#5335 -ipset=/.shadowsocks-r.com/gfwlist -server=/.shadowsocks.asia/127.0.0.1#5335 -ipset=/.shadowsocks.asia/gfwlist -server=/.shadowsocks.be/127.0.0.1#5335 -ipset=/.shadowsocks.be/gfwlist -server=/.shadowsocks.com/127.0.0.1#5335 -ipset=/.shadowsocks.com/gfwlist -server=/.shadowsocks.org/127.0.0.1#5335 -ipset=/.shadowsocks.org/gfwlist -server=/.shadowsocks9.com/127.0.0.1#5335 -ipset=/.shadowsocks9.com/gfwlist -server=/.shambalapost.com/127.0.0.1#5335 -ipset=/.shambalapost.com/gfwlist -server=/.shambhalasun.com/127.0.0.1#5335 -ipset=/.shambhalasun.com/gfwlist -server=/.shangfang.org/127.0.0.1#5335 -ipset=/.shangfang.org/gfwlist -server=/.shapeservices.com/127.0.0.1#5335 -ipset=/.shapeservices.com/gfwlist -server=/.share.america.gov/127.0.0.1#5335 -ipset=/.share.america.gov/gfwlist -server=/.share.dmhy.org/127.0.0.1#5335 -ipset=/.share.dmhy.org/gfwlist -server=/.share.youthwant.com.tw/127.0.0.1#5335 -ipset=/.share.youthwant.com.tw/gfwlist -server=/.sharebee.com/127.0.0.1#5335 -ipset=/.sharebee.com/gfwlist -server=/.sharecool.org/127.0.0.1#5335 -ipset=/.sharecool.org/gfwlist -server=/.sharpdaily.com.hk/127.0.0.1#5335 -ipset=/.sharpdaily.com.hk/gfwlist -server=/.sharpdaily.hk/127.0.0.1#5335 -ipset=/.sharpdaily.hk/gfwlist -server=/.sharpdaily.tw/127.0.0.1#5335 -ipset=/.sharpdaily.tw/gfwlist -server=/.shat-tibet.com/127.0.0.1#5335 -ipset=/.shat-tibet.com/gfwlist -server=/.shattered.io/127.0.0.1#5335 -ipset=/.shattered.io/gfwlist -server=/.sheikyermami.com/127.0.0.1#5335 -ipset=/.sheikyermami.com/gfwlist -server=/.shellfire.de/127.0.0.1#5335 -ipset=/.shellfire.de/gfwlist -server=/.shenshou.org/127.0.0.1#5335 -ipset=/.shenshou.org/gfwlist -server=/.shenyun.com/127.0.0.1#5335 -ipset=/.shenyun.com/gfwlist -server=/.shenyunperformingarts.org/127.0.0.1#5335 -ipset=/.shenyunperformingarts.org/gfwlist -server=/.shenzhoufilm.com/127.0.0.1#5335 -ipset=/.shenzhoufilm.com/gfwlist -server=/.sherabgyaltsen.com/127.0.0.1#5335 -ipset=/.sherabgyaltsen.com/gfwlist -server=/.shiatv.net/127.0.0.1#5335 -ipset=/.shiatv.net/gfwlist -server=/.shicheng.org/127.0.0.1#5335 -ipset=/.shicheng.org/gfwlist -server=/.shiksha.com/127.0.0.1#5335 -ipset=/.shiksha.com/gfwlist -server=/.shinychan.com/127.0.0.1#5335 -ipset=/.shinychan.com/gfwlist -server=/.shipcamouflage.com/127.0.0.1#5335 -ipset=/.shipcamouflage.com/gfwlist -server=/.shireyishunjian.com/127.0.0.1#5335 -ipset=/.shireyishunjian.com/gfwlist -server=/.shitaotv.org/127.0.0.1#5335 -ipset=/.shitaotv.org/gfwlist -server=/.shixiao.org/127.0.0.1#5335 -ipset=/.shixiao.org/gfwlist -server=/.shizhao.org/127.0.0.1#5335 -ipset=/.shizhao.org/gfwlist -server=/.shodanhq.com/127.0.0.1#5335 -ipset=/.shodanhq.com/gfwlist -server=/.shooshtime.com/127.0.0.1#5335 -ipset=/.shooshtime.com/gfwlist -server=/.shop2000.com.tw/127.0.0.1#5335 -ipset=/.shop2000.com.tw/gfwlist -server=/.shopee.tw/127.0.0.1#5335 -ipset=/.shopee.tw/gfwlist -server=/.shopping.com/127.0.0.1#5335 -ipset=/.shopping.com/gfwlist -server=/.showbiz.omy.sg/127.0.0.1#5335 -ipset=/.showbiz.omy.sg/gfwlist -server=/.showhaotu.com/127.0.0.1#5335 -ipset=/.showhaotu.com/gfwlist -server=/.showtime.jp/127.0.0.1#5335 -ipset=/.showtime.jp/gfwlist -server=/.shutterstock.com/127.0.0.1#5335 -ipset=/.shutterstock.com/gfwlist -server=/.shwchurch.org/127.0.0.1#5335 -ipset=/.shwchurch.org/gfwlist -server=/.shwchurch3.com/127.0.0.1#5335 -ipset=/.shwchurch3.com/gfwlist -server=/.siddharthasintent.org/127.0.0.1#5335 -ipset=/.siddharthasintent.org/gfwlist -server=/.sidelinesnews.com/127.0.0.1#5335 -ipset=/.sidelinesnews.com/gfwlist -server=/.sidelinessportseatery.com/127.0.0.1#5335 -ipset=/.sidelinessportseatery.com/gfwlist -server=/.sierrafriendsoftibet.org/127.0.0.1#5335 -ipset=/.sierrafriendsoftibet.org/gfwlist -server=/.sijihuisuo.club/127.0.0.1#5335 -ipset=/.sijihuisuo.club/gfwlist -server=/.sijihuisuo.com/127.0.0.1#5335 -ipset=/.sijihuisuo.com/gfwlist -server=/.silkbook.com/127.0.0.1#5335 -ipset=/.silkbook.com/gfwlist -server=/.simbolostwitter.com/127.0.0.1#5335 -ipset=/.simbolostwitter.com/gfwlist -server=/.simplecd.org/127.0.0.1#5335 -ipset=/.simplecd.org/gfwlist -server=/.simpleproductivityblog.com/127.0.0.1#5335 -ipset=/.simpleproductivityblog.com/gfwlist -server=/.singaporepools.com.sg/127.0.0.1#5335 -ipset=/.singaporepools.com.sg/gfwlist -server=/.singfortibet.com/127.0.0.1#5335 -ipset=/.singfortibet.com/gfwlist -server=/.singpao.com.hk/127.0.0.1#5335 -ipset=/.singpao.com.hk/gfwlist -server=/.singtao.com/127.0.0.1#5335 -ipset=/.singtao.com/gfwlist -server=/.singtaousa.com/127.0.0.1#5335 -ipset=/.singtaousa.com/gfwlist -server=/.sino-monthly.com/127.0.0.1#5335 -ipset=/.sino-monthly.com/gfwlist -server=/.sinoants.com/127.0.0.1#5335 -ipset=/.sinoants.com/gfwlist -server=/.sinocast.com/127.0.0.1#5335 -ipset=/.sinocast.com/gfwlist -server=/.sinocism.com/127.0.0.1#5335 -ipset=/.sinocism.com/gfwlist -server=/.sinomontreal.ca/127.0.0.1#5335 -ipset=/.sinomontreal.ca/gfwlist -server=/.sinonet.ca/127.0.0.1#5335 -ipset=/.sinonet.ca/gfwlist -server=/.sinopitt.info/127.0.0.1#5335 -ipset=/.sinopitt.info/gfwlist -server=/.sinoquebec.com/127.0.0.1#5335 -ipset=/.sinoquebec.com/gfwlist -server=/.sis.xxx/127.0.0.1#5335 -ipset=/.sis.xxx/gfwlist -server=/.sis001.com/127.0.0.1#5335 -ipset=/.sis001.com/gfwlist -server=/.sis001.us/127.0.0.1#5335 -ipset=/.sis001.us/gfwlist -server=/.site2unblock.com/127.0.0.1#5335 -ipset=/.site2unblock.com/gfwlist -server=/.site90.net/127.0.0.1#5335 -ipset=/.site90.net/gfwlist -server=/.sitebro.tw/127.0.0.1#5335 -ipset=/.sitebro.tw/gfwlist -server=/.sitekreator.com/127.0.0.1#5335 -ipset=/.sitekreator.com/gfwlist -server=/.siteks.uk.to/127.0.0.1#5335 -ipset=/.siteks.uk.to/gfwlist -server=/.sitemaps.org/127.0.0.1#5335 -ipset=/.sitemaps.org/gfwlist -server=/.six-degrees.io/127.0.0.1#5335 -ipset=/.six-degrees.io/gfwlist -server=/.sixth.biz/127.0.0.1#5335 -ipset=/.sixth.biz/gfwlist -server=/.sjrt.org/127.0.0.1#5335 -ipset=/.sjrt.org/gfwlist -server=/.sjum.cn/127.0.0.1#5335 -ipset=/.sjum.cn/gfwlist -server=/.sketchappsources.com/127.0.0.1#5335 -ipset=/.sketchappsources.com/gfwlist -server=/.skimtube.com/127.0.0.1#5335 -ipset=/.skimtube.com/gfwlist -server=/.skybet.com/127.0.0.1#5335 -ipset=/.skybet.com/gfwlist -server=/.skyking.com.tw/127.0.0.1#5335 -ipset=/.skyking.com.tw/gfwlist -server=/.skyvegas.com/127.0.0.1#5335 -ipset=/.skyvegas.com/gfwlist -server=/.skyxvpn.com/127.0.0.1#5335 -ipset=/.skyxvpn.com/gfwlist -server=/.slacker.com/127.0.0.1#5335 -ipset=/.slacker.com/gfwlist -server=/.slaytizle.com/127.0.0.1#5335 -ipset=/.slaytizle.com/gfwlist -server=/.sleazydream.com/127.0.0.1#5335 -ipset=/.sleazydream.com/gfwlist -server=/.slheng.com/127.0.0.1#5335 -ipset=/.slheng.com/gfwlist -server=/.slickvpn.com/127.0.0.1#5335 -ipset=/.slickvpn.com/gfwlist -server=/.slideshare.net/127.0.0.1#5335 -ipset=/.slideshare.net/gfwlist -server=/.slinkset.com/127.0.0.1#5335 -ipset=/.slinkset.com/gfwlist -server=/.slutload.com/127.0.0.1#5335 -ipset=/.slutload.com/gfwlist -server=/.slutmoonbeam.com/127.0.0.1#5335 -ipset=/.slutmoonbeam.com/gfwlist -server=/.slyip.com/127.0.0.1#5335 -ipset=/.slyip.com/gfwlist -server=/.slyip.net/127.0.0.1#5335 -ipset=/.slyip.net/gfwlist -server=/.sm-miracle.com/127.0.0.1#5335 -ipset=/.sm-miracle.com/gfwlist -server=/.smartdnsproxy.com/127.0.0.1#5335 -ipset=/.smartdnsproxy.com/gfwlist -server=/.smarthide.com/127.0.0.1#5335 -ipset=/.smarthide.com/gfwlist -server=/.smchbooks.com/127.0.0.1#5335 -ipset=/.smchbooks.com/gfwlist -server=/.smhric.org/127.0.0.1#5335 -ipset=/.smhric.org/gfwlist -server=/.smyxy.org/127.0.0.1#5335 -ipset=/.smyxy.org/gfwlist -server=/.snapchat.com/127.0.0.1#5335 -ipset=/.snapchat.com/gfwlist -server=/.snaptu.com/127.0.0.1#5335 -ipset=/.snaptu.com/gfwlist -server=/.sndcdn.com/127.0.0.1#5335 -ipset=/.sndcdn.com/gfwlist -server=/.sneakme.net/127.0.0.1#5335 -ipset=/.sneakme.net/gfwlist -server=/.snowlionpub.com/127.0.0.1#5335 -ipset=/.snowlionpub.com/gfwlist -server=/.sobees.com/127.0.0.1#5335 -ipset=/.sobees.com/gfwlist -server=/.soc.mil/127.0.0.1#5335 -ipset=/.soc.mil/gfwlist -server=/.socialwhale.com/127.0.0.1#5335 -ipset=/.socialwhale.com/gfwlist -server=/.socks-proxy.net/127.0.0.1#5335 -ipset=/.socks-proxy.net/gfwlist -server=/.sockscap64.com/127.0.0.1#5335 -ipset=/.sockscap64.com/gfwlist -server=/.sockslist.net/127.0.0.1#5335 -ipset=/.sockslist.net/gfwlist -server=/.socrec.org/127.0.0.1#5335 -ipset=/.socrec.org/gfwlist -server=/.sod.co.jp/127.0.0.1#5335 -ipset=/.sod.co.jp/gfwlist -server=/.softether-download.com/127.0.0.1#5335 -ipset=/.softether-download.com/gfwlist -server=/.softether.co.jp/127.0.0.1#5335 -ipset=/.softether.co.jp/gfwlist -server=/.softether.org/127.0.0.1#5335 -ipset=/.softether.org/gfwlist -server=/.softfamous.com/127.0.0.1#5335 -ipset=/.softfamous.com/gfwlist -server=/.softsmirror.cf/127.0.0.1#5335 -ipset=/.softsmirror.cf/gfwlist -server=/.softwarebychuck.com/127.0.0.1#5335 -ipset=/.softwarebychuck.com/gfwlist -server=/.softwaredownload.gitbooks.io/127.0.0.1#5335 -ipset=/.softwaredownload.gitbooks.io/gfwlist -server=/.sogclub.com/127.0.0.1#5335 -ipset=/.sogclub.com/gfwlist -server=/.sogrady.me/127.0.0.1#5335 -ipset=/.sogrady.me/gfwlist -server=/.soh.tw/127.0.0.1#5335 -ipset=/.soh.tw/gfwlist -server=/.sohcradio.com/127.0.0.1#5335 -ipset=/.sohcradio.com/gfwlist -server=/.sohfrance.org/127.0.0.1#5335 -ipset=/.sohfrance.org/gfwlist -server=/.sokamonline.com/127.0.0.1#5335 -ipset=/.sokamonline.com/gfwlist -server=/.sokmil.com/127.0.0.1#5335 -ipset=/.sokmil.com/gfwlist -server=/.solarsystem.nasa.gov/127.0.0.1#5335 -ipset=/.solarsystem.nasa.gov/gfwlist -server=/.solidaritetibet.org/127.0.0.1#5335 -ipset=/.solidaritetibet.org/gfwlist -server=/.solidfiles.com/127.0.0.1#5335 -ipset=/.solidfiles.com/gfwlist -server=/.somee.com/127.0.0.1#5335 -ipset=/.somee.com/gfwlist -server=/.songjianjun.com/127.0.0.1#5335 -ipset=/.songjianjun.com/gfwlist -server=/.sonicbbs.cc/127.0.0.1#5335 -ipset=/.sonicbbs.cc/gfwlist -server=/.sonidodelaesperanza.org/127.0.0.1#5335 -ipset=/.sonidodelaesperanza.org/gfwlist -server=/.sopcast.com/127.0.0.1#5335 -ipset=/.sopcast.com/gfwlist -server=/.sopcast.org/127.0.0.1#5335 -ipset=/.sopcast.org/gfwlist -server=/.sorazone.net/127.0.0.1#5335 -ipset=/.sorazone.net/gfwlist -server=/.sorting-algorithms.com/127.0.0.1#5335 -ipset=/.sorting-algorithms.com/gfwlist -server=/.sos.org/127.0.0.1#5335 -ipset=/.sos.org/gfwlist -server=/.sosreader.com/127.0.0.1#5335 -ipset=/.sosreader.com/gfwlist -server=/.sostibet.org/127.0.0.1#5335 -ipset=/.sostibet.org/gfwlist -server=/.soubory.com/127.0.0.1#5335 -ipset=/.soubory.com/gfwlist -server=/.soul-plus.net/127.0.0.1#5335 -ipset=/.soul-plus.net/gfwlist -server=/.soulcaliburhentai.net/127.0.0.1#5335 -ipset=/.soulcaliburhentai.net/gfwlist -server=/.soumo.info/127.0.0.1#5335 -ipset=/.soumo.info/gfwlist -server=/.soundcloud.com/127.0.0.1#5335 -ipset=/.soundcloud.com/gfwlist -server=/.soundofhope.kr/127.0.0.1#5335 -ipset=/.soundofhope.kr/gfwlist -server=/.soundofhope.org/127.0.0.1#5335 -ipset=/.soundofhope.org/gfwlist -server=/.soup.io/127.0.0.1#5335 -ipset=/.soup.io/gfwlist -server=/.soupofmedia.com/127.0.0.1#5335 -ipset=/.soupofmedia.com/gfwlist -server=/.sourcewadio.com/127.0.0.1#5335 -ipset=/.sourcewadio.com/gfwlist -server=/.southnews.com.tw/127.0.0.1#5335 -ipset=/.southnews.com.tw/gfwlist -server=/.sowers.org.hk/127.0.0.1#5335 -ipset=/.sowers.org.hk/gfwlist -server=/.soylentnews.org/127.0.0.1#5335 -ipset=/.soylentnews.org/gfwlist -server=/.spaces.hightail.com/127.0.0.1#5335 -ipset=/.spaces.hightail.com/gfwlist -server=/.spankbang.com/127.0.0.1#5335 -ipset=/.spankbang.com/gfwlist -server=/.spankingtube.com/127.0.0.1#5335 -ipset=/.spankingtube.com/gfwlist -server=/.spankwire.com/127.0.0.1#5335 -ipset=/.spankwire.com/gfwlist -server=/.spb.com/127.0.0.1#5335 -ipset=/.spb.com/gfwlist -server=/.speakerdeck.com/127.0.0.1#5335 -ipset=/.speakerdeck.com/gfwlist -server=/.specxinzl.jigsy.com/127.0.0.1#5335 -ipset=/.specxinzl.jigsy.com/gfwlist -server=/.speedify.com/127.0.0.1#5335 -ipset=/.speedify.com/gfwlist -server=/.spem.at/127.0.0.1#5335 -ipset=/.spem.at/gfwlist -server=/.spencertipping.com/127.0.0.1#5335 -ipset=/.spencertipping.com/gfwlist -server=/.spendee.com/127.0.0.1#5335 -ipset=/.spendee.com/gfwlist -server=/.spicevpn.com/127.0.0.1#5335 -ipset=/.spicevpn.com/gfwlist -server=/.spideroak.com/127.0.0.1#5335 -ipset=/.spideroak.com/gfwlist -server=/.spike.com/127.0.0.1#5335 -ipset=/.spike.com/gfwlist -server=/.sports.williamhill.com/127.0.0.1#5335 -ipset=/.sports.williamhill.com/gfwlist -server=/.spotflux.com/127.0.0.1#5335 -ipset=/.spotflux.com/gfwlist -server=/.spotify.com/127.0.0.1#5335 -ipset=/.spotify.com/gfwlist -server=/.spreadshirt.es/127.0.0.1#5335 -ipset=/.spreadshirt.es/gfwlist -server=/.spring4u.info/127.0.0.1#5335 -ipset=/.spring4u.info/gfwlist -server=/.springboardplatform.com/127.0.0.1#5335 -ipset=/.springboardplatform.com/gfwlist -server=/.sprite.org/127.0.0.1#5335 -ipset=/.sprite.org/gfwlist -server=/.sproutcore.com/127.0.0.1#5335 -ipset=/.sproutcore.com/gfwlist -server=/.sproxy.info/127.0.0.1#5335 -ipset=/.sproxy.info/gfwlist -server=/.squirly.info/127.0.0.1#5335 -ipset=/.squirly.info/gfwlist -server=/.srocket.us/127.0.0.1#5335 -ipset=/.srocket.us/gfwlist -server=/.ss-link.com/127.0.0.1#5335 -ipset=/.ss-link.com/gfwlist -server=/.ss.carryzhou.com/127.0.0.1#5335 -ipset=/.ss.carryzhou.com/gfwlist -server=/.ss.levyhsu.com/127.0.0.1#5335 -ipset=/.ss.levyhsu.com/gfwlist -server=/.ss7.vzw.com/127.0.0.1#5335 -ipset=/.ss7.vzw.com/gfwlist -server=/.ssglobal.co/127.0.0.1#5335 -ipset=/.ssglobal.co/gfwlist -server=/.ssglobal.me/127.0.0.1#5335 -ipset=/.ssglobal.me/gfwlist -server=/.ssh91.com/127.0.0.1#5335 -ipset=/.ssh91.com/gfwlist -server=/.ssl.webpack.de/127.0.0.1#5335 -ipset=/.ssl.webpack.de/gfwlist -server=/.ssl443.org/127.0.0.1#5335 -ipset=/.ssl443.org/gfwlist -server=/.sspanel.net/127.0.0.1#5335 -ipset=/.sspanel.net/gfwlist -server=/.sspro.ml/127.0.0.1#5335 -ipset=/.sspro.ml/gfwlist -server=/.ssr.tools/127.0.0.1#5335 -ipset=/.ssr.tools/gfwlist -server=/.ssrshare.com/127.0.0.1#5335 -ipset=/.ssrshare.com/gfwlist -server=/.sss.camp/127.0.0.1#5335 -ipset=/.sss.camp/gfwlist -server=/.sstmlt.moe/127.0.0.1#5335 -ipset=/.sstmlt.moe/gfwlist -server=/.sstmlt.net/127.0.0.1#5335 -ipset=/.sstmlt.net/gfwlist -server=/.stage64.hk/127.0.0.1#5335 -ipset=/.stage64.hk/gfwlist -server=/.standupfortibet.org/127.0.0.1#5335 -ipset=/.standupfortibet.org/gfwlist -server=/.standwithhk.org/127.0.0.1#5335 -ipset=/.standwithhk.org/gfwlist -server=/.starfishfx.com/127.0.0.1#5335 -ipset=/.starfishfx.com/gfwlist -server=/.starp2p.com/127.0.0.1#5335 -ipset=/.starp2p.com/gfwlist -server=/.startpage.com/127.0.0.1#5335 -ipset=/.startpage.com/gfwlist -server=/.startuplivingchina.com/127.0.0.1#5335 -ipset=/.startuplivingchina.com/gfwlist -server=/.stat.gov.tw/127.0.0.1#5335 -ipset=/.stat.gov.tw/gfwlist -server=/.static-economist.com/127.0.0.1#5335 -ipset=/.static-economist.com/gfwlist -server=/.static.comico.tw/127.0.0.1#5335 -ipset=/.static.comico.tw/gfwlist -server=/.static.shemalez.com/127.0.0.1#5335 -ipset=/.static.shemalez.com/gfwlist -server=/.static01.nyt.com/127.0.0.1#5335 -ipset=/.static01.nyt.com/gfwlist -server=/.staticflickr.com/127.0.0.1#5335 -ipset=/.staticflickr.com/gfwlist -server=/.statueofdemocracy.org/127.0.0.1#5335 -ipset=/.statueofdemocracy.org/gfwlist -server=/.stc.com.sa/127.0.0.1#5335 -ipset=/.stc.com.sa/gfwlist -server=/.steamcommunity.com/127.0.0.1#5335 -ipset=/.steamcommunity.com/gfwlist -server=/.steel-storm.com/127.0.0.1#5335 -ipset=/.steel-storm.com/gfwlist -server=/.steemit.com/127.0.0.1#5335 -ipset=/.steemit.com/gfwlist -server=/.steganos.com/127.0.0.1#5335 -ipset=/.steganos.com/gfwlist -server=/.steganos.net/127.0.0.1#5335 -ipset=/.steganos.net/gfwlist -server=/.stepchina.com/127.0.0.1#5335 -ipset=/.stepchina.com/gfwlist -server=/.stephaniered.com/127.0.0.1#5335 -ipset=/.stephaniered.com/gfwlist -server=/.sthoo.com/127.0.0.1#5335 -ipset=/.sthoo.com/gfwlist -server=/.stickam.com/127.0.0.1#5335 -ipset=/.stickam.com/gfwlist -server=/.stileproject.com/127.0.0.1#5335 -ipset=/.stileproject.com/gfwlist -server=/.sto.cc/127.0.0.1#5335 -ipset=/.sto.cc/gfwlist -server=/.stoporganharvesting.org/127.0.0.1#5335 -ipset=/.stoporganharvesting.org/gfwlist -server=/.stoptibetcrisis.net/127.0.0.1#5335 -ipset=/.stoptibetcrisis.net/gfwlist -server=/.storagenewsletter.com/127.0.0.1#5335 -ipset=/.storagenewsletter.com/gfwlist -server=/.stories.google/127.0.0.1#5335 -ipset=/.stories.google/gfwlist -server=/.storify.com/127.0.0.1#5335 -ipset=/.storify.com/gfwlist -server=/.storm.mg/127.0.0.1#5335 -ipset=/.storm.mg/gfwlist -server=/.stormmediagroup.com/127.0.0.1#5335 -ipset=/.stormmediagroup.com/gfwlist -server=/.stoweboyd.com/127.0.0.1#5335 -ipset=/.stoweboyd.com/gfwlist -server=/.stranabg.com/127.0.0.1#5335 -ipset=/.stranabg.com/gfwlist -server=/.straplessdildo.com/127.0.0.1#5335 -ipset=/.straplessdildo.com/gfwlist -server=/.streamingthe.net/127.0.0.1#5335 -ipset=/.streamingthe.net/gfwlist -server=/.strikingly.com/127.0.0.1#5335 -ipset=/.strikingly.com/gfwlist -server=/.strongvpn.com/127.0.0.1#5335 -ipset=/.strongvpn.com/gfwlist -server=/.strongwindpress.com/127.0.0.1#5335 -ipset=/.strongwindpress.com/gfwlist -server=/.studentsforafreetibet.org/127.0.0.1#5335 -ipset=/.studentsforafreetibet.org/gfwlist -server=/.stumbleupon.com/127.0.0.1#5335 -ipset=/.stumbleupon.com/gfwlist -server=/.stupidvideos.com/127.0.0.1#5335 -ipset=/.stupidvideos.com/gfwlist -server=/.subacme.rerouted.org/127.0.0.1#5335 -ipset=/.subacme.rerouted.org/gfwlist -server=/.successfn.com/127.0.0.1#5335 -ipset=/.successfn.com/gfwlist -server=/.sugarsync.com/127.0.0.1#5335 -ipset=/.sugarsync.com/gfwlist -server=/.sugobbs.com/127.0.0.1#5335 -ipset=/.sugobbs.com/gfwlist -server=/.sugumiru18.com/127.0.0.1#5335 -ipset=/.sugumiru18.com/gfwlist -server=/.suissl.com/127.0.0.1#5335 -ipset=/.suissl.com/gfwlist -server=/.sujiatun.wordpress.com/127.0.0.1#5335 -ipset=/.sujiatun.wordpress.com/gfwlist -server=/.sukebei.nyaa.si/127.0.0.1#5335 -ipset=/.sukebei.nyaa.si/gfwlist -server=/.sulian.me/127.0.0.1#5335 -ipset=/.sulian.me/gfwlist -server=/.summify.com/127.0.0.1#5335 -ipset=/.summify.com/gfwlist -server=/.sumrando.com/127.0.0.1#5335 -ipset=/.sumrando.com/gfwlist -server=/.sun1911.com/127.0.0.1#5335 -ipset=/.sun1911.com/gfwlist -server=/.sunmedia.ca/127.0.0.1#5335 -ipset=/.sunmedia.ca/gfwlist -server=/.sunporno.com/127.0.0.1#5335 -ipset=/.sunporno.com/gfwlist -server=/.sunskyforum.com/127.0.0.1#5335 -ipset=/.sunskyforum.com/gfwlist -server=/.sunta.com.tw/127.0.0.1#5335 -ipset=/.sunta.com.tw/gfwlist -server=/.sunvpn.net/127.0.0.1#5335 -ipset=/.sunvpn.net/gfwlist -server=/.sunwinism.joinbbs.net/127.0.0.1#5335 -ipset=/.sunwinism.joinbbs.net/gfwlist -server=/.suoluo.org/127.0.0.1#5335 -ipset=/.suoluo.org/gfwlist -server=/.supchina.com/127.0.0.1#5335 -ipset=/.supchina.com/gfwlist -server=/.superfreevpn.com/127.0.0.1#5335 -ipset=/.superfreevpn.com/gfwlist -server=/.superokayama.com/127.0.0.1#5335 -ipset=/.superokayama.com/gfwlist -server=/.superpages.com/127.0.0.1#5335 -ipset=/.superpages.com/gfwlist -server=/.supervpn.net/127.0.0.1#5335 -ipset=/.supervpn.net/gfwlist -server=/.superzooi.com/127.0.0.1#5335 -ipset=/.superzooi.com/gfwlist -server=/.suppig.net/127.0.0.1#5335 -ipset=/.suppig.net/gfwlist -server=/.suprememastertv.com/127.0.0.1#5335 -ipset=/.suprememastertv.com/gfwlist -server=/.surfeasy.com/127.0.0.1#5335 -ipset=/.surfeasy.com/gfwlist -server=/.suroot.com/127.0.0.1#5335 -ipset=/.suroot.com/gfwlist -server=/.surrenderat20.net/127.0.0.1#5335 -ipset=/.surrenderat20.net/gfwlist -server=/.sustainability.google/127.0.0.1#5335 -ipset=/.sustainability.google/gfwlist -server=/.suyangg.com/127.0.0.1#5335 -ipset=/.suyangg.com/gfwlist -server=/.svsfx.com/127.0.0.1#5335 -ipset=/.svsfx.com/gfwlist -server=/.swagbucks.com/127.0.0.1#5335 -ipset=/.swagbucks.com/gfwlist -server=/.swissinfo.ch/127.0.0.1#5335 -ipset=/.swissinfo.ch/gfwlist -server=/.swissvpn.net/127.0.0.1#5335 -ipset=/.swissvpn.net/gfwlist -server=/.switch1.jp/127.0.0.1#5335 -ipset=/.switch1.jp/gfwlist -server=/.switchvpn.net/127.0.0.1#5335 -ipset=/.switchvpn.net/gfwlist -server=/.sydneytoday.com/127.0.0.1#5335 -ipset=/.sydneytoday.com/gfwlist -server=/.sylfoundation.org/127.0.0.1#5335 -ipset=/.sylfoundation.org/gfwlist -server=/.syncback.com/127.0.0.1#5335 -ipset=/.syncback.com/gfwlist -server=/.synergyse.com/127.0.0.1#5335 -ipset=/.synergyse.com/gfwlist -server=/.sysresccd.org/127.0.0.1#5335 -ipset=/.sysresccd.org/gfwlist -server=/.sytes.net/127.0.0.1#5335 -ipset=/.sytes.net/gfwlist -server=/.szbbs.net/127.0.0.1#5335 -ipset=/.szbbs.net/gfwlist -server=/.szetowah.org.hk/127.0.0.1#5335 -ipset=/.szetowah.org.hk/gfwlist -server=/.t-g.com/127.0.0.1#5335 -ipset=/.t-g.com/gfwlist -server=/.t.co/127.0.0.1#5335 -ipset=/.t.co/gfwlist -server=/.t.me/127.0.0.1#5335 -ipset=/.t.me/gfwlist -server=/.t.orzdream.com/127.0.0.1#5335 -ipset=/.t.orzdream.com/gfwlist -server=/.t35.com/127.0.0.1#5335 -ipset=/.t35.com/gfwlist -server=/.t66y.com/127.0.0.1#5335 -ipset=/.t66y.com/gfwlist -server=/.taa-usa.org/127.0.0.1#5335 -ipset=/.taa-usa.org/gfwlist -server=/.taaze.tw/127.0.0.1#5335 -ipset=/.taaze.tw/gfwlist -server=/.tabtter.jp/127.0.0.1#5335 -ipset=/.tabtter.jp/gfwlist -server=/.tacc.cwb.gov.tw/127.0.0.1#5335 -ipset=/.tacc.cwb.gov.tw/gfwlist -server=/.tacem.org/127.0.0.1#5335 -ipset=/.tacem.org/gfwlist -server=/.taconet.com.tw/127.0.0.1#5335 -ipset=/.taconet.com.tw/gfwlist -server=/.taedp.org.tw/127.0.0.1#5335 -ipset=/.taedp.org.tw/gfwlist -server=/.tafm.org/127.0.0.1#5335 -ipset=/.tafm.org/gfwlist -server=/.tagwa.org.au/127.0.0.1#5335 -ipset=/.tagwa.org.au/gfwlist -server=/.tagwalk.com/127.0.0.1#5335 -ipset=/.tagwalk.com/gfwlist -server=/.tahr.org.tw/127.0.0.1#5335 -ipset=/.tahr.org.tw/gfwlist -server=/.taipei.gov.tw/127.0.0.1#5335 -ipset=/.taipei.gov.tw/gfwlist -server=/.taipeisociety.org/127.0.0.1#5335 -ipset=/.taipeisociety.org/gfwlist -server=/.taiwan-sex.com/127.0.0.1#5335 -ipset=/.taiwan-sex.com/gfwlist -server=/.taiwanbible.com/127.0.0.1#5335 -ipset=/.taiwanbible.com/gfwlist -server=/.taiwancon.com/127.0.0.1#5335 -ipset=/.taiwancon.com/gfwlist -server=/.taiwandaily.net/127.0.0.1#5335 -ipset=/.taiwandaily.net/gfwlist -server=/.taiwandc.org/127.0.0.1#5335 -ipset=/.taiwandc.org/gfwlist -server=/.taiwanjobs.gov.tw/127.0.0.1#5335 -ipset=/.taiwanjobs.gov.tw/gfwlist -server=/.taiwanjustice.com/127.0.0.1#5335 -ipset=/.taiwanjustice.com/gfwlist -server=/.taiwanjustice.net/127.0.0.1#5335 -ipset=/.taiwanjustice.net/gfwlist -server=/.taiwankiss.com/127.0.0.1#5335 -ipset=/.taiwankiss.com/gfwlist -server=/.taiwannation.50webs.com/127.0.0.1#5335 -ipset=/.taiwannation.50webs.com/gfwlist -server=/.taiwannation.com/127.0.0.1#5335 -ipset=/.taiwannation.com/gfwlist -server=/.taiwanncf.org.tw/127.0.0.1#5335 -ipset=/.taiwanncf.org.tw/gfwlist -server=/.taiwannews.com.tw/127.0.0.1#5335 -ipset=/.taiwannews.com.tw/gfwlist -server=/.taiwantp.net/127.0.0.1#5335 -ipset=/.taiwantp.net/gfwlist -server=/.taiwantt.org.tw/127.0.0.1#5335 -ipset=/.taiwantt.org.tw/gfwlist -server=/.taiwanus.net/127.0.0.1#5335 -ipset=/.taiwanus.net/gfwlist -server=/.taiwanyes.com/127.0.0.1#5335 -ipset=/.taiwanyes.com/gfwlist -server=/.taiwanyes.ning.com/127.0.0.1#5335 -ipset=/.taiwanyes.ning.com/gfwlist -server=/.talk853.com/127.0.0.1#5335 -ipset=/.talk853.com/gfwlist -server=/.talkboxapp.com/127.0.0.1#5335 -ipset=/.talkboxapp.com/gfwlist -server=/.talkcc.com/127.0.0.1#5335 -ipset=/.talkcc.com/gfwlist -server=/.talkonly.net/127.0.0.1#5335 -ipset=/.talkonly.net/gfwlist -server=/.tamiaode.tk/127.0.0.1#5335 -ipset=/.tamiaode.tk/gfwlist -server=/.tanc.org/127.0.0.1#5335 -ipset=/.tanc.org/gfwlist -server=/.tangben.com/127.0.0.1#5335 -ipset=/.tangben.com/gfwlist -server=/.tangren.us/127.0.0.1#5335 -ipset=/.tangren.us/gfwlist -server=/.taoism.net/127.0.0.1#5335 -ipset=/.taoism.net/gfwlist -server=/.taolun.info/127.0.0.1#5335 -ipset=/.taolun.info/gfwlist -server=/.tapanwap.com/127.0.0.1#5335 -ipset=/.tapanwap.com/gfwlist -server=/.tapatalk.com/127.0.0.1#5335 -ipset=/.tapatalk.com/gfwlist -server=/.tascn.com.au/127.0.0.1#5335 -ipset=/.tascn.com.au/gfwlist -server=/.taup.net/127.0.0.1#5335 -ipset=/.taup.net/gfwlist -server=/.taweet.com/127.0.0.1#5335 -ipset=/.taweet.com/gfwlist -server=/.tbcollege.org/127.0.0.1#5335 -ipset=/.tbcollege.org/gfwlist -server=/.tbi.org.hk/127.0.0.1#5335 -ipset=/.tbi.org.hk/gfwlist -server=/.tbicn.org/127.0.0.1#5335 -ipset=/.tbicn.org/gfwlist -server=/.tbjyt.org/127.0.0.1#5335 -ipset=/.tbjyt.org/gfwlist -server=/.tbpic.info/127.0.0.1#5335 -ipset=/.tbpic.info/gfwlist -server=/.tbrc.org/127.0.0.1#5335 -ipset=/.tbrc.org/gfwlist -server=/.tbs-rainbow.org/127.0.0.1#5335 -ipset=/.tbs-rainbow.org/gfwlist -server=/.tbsec.org/127.0.0.1#5335 -ipset=/.tbsec.org/gfwlist -server=/.tbskkinabalu.page.tl/127.0.0.1#5335 -ipset=/.tbskkinabalu.page.tl/gfwlist -server=/.tbsmalaysia.org/127.0.0.1#5335 -ipset=/.tbsmalaysia.org/gfwlist -server=/.tbsn.org/127.0.0.1#5335 -ipset=/.tbsn.org/gfwlist -server=/.tbsseattle.org/127.0.0.1#5335 -ipset=/.tbsseattle.org/gfwlist -server=/.tbssqh.org/127.0.0.1#5335 -ipset=/.tbssqh.org/gfwlist -server=/.tbswd.org/127.0.0.1#5335 -ipset=/.tbswd.org/gfwlist -server=/.tbtemple.org.uk/127.0.0.1#5335 -ipset=/.tbtemple.org.uk/gfwlist -server=/.tbthouston.org/127.0.0.1#5335 -ipset=/.tbthouston.org/gfwlist -server=/.tccwonline.org/127.0.0.1#5335 -ipset=/.tccwonline.org/gfwlist -server=/.tcewf.org/127.0.0.1#5335 -ipset=/.tcewf.org/gfwlist -server=/.tchrd.org/127.0.0.1#5335 -ipset=/.tchrd.org/gfwlist -server=/.tcnynj.org/127.0.0.1#5335 -ipset=/.tcnynj.org/gfwlist -server=/.tcpspeed.co/127.0.0.1#5335 -ipset=/.tcpspeed.co/gfwlist -server=/.tcpspeed.com/127.0.0.1#5335 -ipset=/.tcpspeed.com/gfwlist -server=/.tcsofbc.org/127.0.0.1#5335 -ipset=/.tcsofbc.org/gfwlist -server=/.tcsovi.org/127.0.0.1#5335 -ipset=/.tcsovi.org/gfwlist -server=/.tdm.com.mo/127.0.0.1#5335 -ipset=/.tdm.com.mo/gfwlist -server=/.teachparentstech.org/127.0.0.1#5335 -ipset=/.teachparentstech.org/gfwlist -server=/.teamamericany.com/127.0.0.1#5335 -ipset=/.teamamericany.com/gfwlist -server=/.techviz.net/127.0.0.1#5335 -ipset=/.techviz.net/gfwlist -server=/.teck.in/127.0.0.1#5335 -ipset=/.teck.in/gfwlist -server=/.teco-hk.org/127.0.0.1#5335 -ipset=/.teco-hk.org/gfwlist -server=/.teco-mo.org/127.0.0.1#5335 -ipset=/.teco-mo.org/gfwlist -server=/.teddysun.com/127.0.0.1#5335 -ipset=/.teddysun.com/gfwlist -server=/.teeniefuck.net/127.0.0.1#5335 -ipset=/.teeniefuck.net/gfwlist -server=/.teensinasia.com/127.0.0.1#5335 -ipset=/.teensinasia.com/gfwlist -server=/.telecomspace.com/127.0.0.1#5335 -ipset=/.telecomspace.com/gfwlist -server=/.telegra.ph/127.0.0.1#5335 -ipset=/.telegra.ph/gfwlist -server=/.telegram.dog/127.0.0.1#5335 -ipset=/.telegram.dog/gfwlist -server=/.telegram.me/127.0.0.1#5335 -ipset=/.telegram.me/gfwlist -server=/.telegram.org/127.0.0.1#5335 -ipset=/.telegram.org/gfwlist -server=/.telegramdownload.com/127.0.0.1#5335 -ipset=/.telegramdownload.com/gfwlist -server=/.telegraph.co.uk/127.0.0.1#5335 -ipset=/.telegraph.co.uk/gfwlist -server=/.telesco.pe/127.0.0.1#5335 -ipset=/.telesco.pe/gfwlist -server=/.tellme.pw/127.0.0.1#5335 -ipset=/.tellme.pw/gfwlist -server=/.tenacy.com/127.0.0.1#5335 -ipset=/.tenacy.com/gfwlist -server=/.tensorflow.org/127.0.0.1#5335 -ipset=/.tensorflow.org/gfwlist -server=/.tenzinpalmo.com/127.0.0.1#5335 -ipset=/.tenzinpalmo.com/gfwlist -server=/.tew.org/127.0.0.1#5335 -ipset=/.tew.org/gfwlist -server=/.textnow.me/127.0.0.1#5335 -ipset=/.textnow.me/gfwlist -server=/.tfhub.dev/127.0.0.1#5335 -ipset=/.tfhub.dev/gfwlist -server=/.th.hao123.com/127.0.0.1#5335 -ipset=/.th.hao123.com/gfwlist -server=/.thaicn.com/127.0.0.1#5335 -ipset=/.thaicn.com/gfwlist -server=/.thb.gov.tw/127.0.0.1#5335 -ipset=/.thb.gov.tw/gfwlist -server=/.theatrum-belli.com/127.0.0.1#5335 -ipset=/.theatrum-belli.com/gfwlist -server=/.thebcomplex.com/127.0.0.1#5335 -ipset=/.thebcomplex.com/gfwlist -server=/.theblemish.com/127.0.0.1#5335 -ipset=/.theblemish.com/gfwlist -server=/.thebobs.com/127.0.0.1#5335 -ipset=/.thebobs.com/gfwlist -server=/.thebodyshop-usa.com/127.0.0.1#5335 -ipset=/.thebodyshop-usa.com/gfwlist -server=/.thecenter.mit.edu/127.0.0.1#5335 -ipset=/.thecenter.mit.edu/gfwlist -server=/.thechinabeat.org/127.0.0.1#5335 -ipset=/.thechinabeat.org/gfwlist -server=/.thedalailamamovie.com/127.0.0.1#5335 -ipset=/.thedalailamamovie.com/gfwlist -server=/.thedw.us/127.0.0.1#5335 -ipset=/.thedw.us/gfwlist -server=/.thefacebook.com/127.0.0.1#5335 -ipset=/.thefacebook.com/gfwlist -server=/.thegly.com/127.0.0.1#5335 -ipset=/.thegly.com/gfwlist -server=/.thehots.info/127.0.0.1#5335 -ipset=/.thehots.info/gfwlist -server=/.thehousenews.com/127.0.0.1#5335 -ipset=/.thehousenews.com/gfwlist -server=/.thehun.net/127.0.0.1#5335 -ipset=/.thehun.net/gfwlist -server=/.theinitium.com/127.0.0.1#5335 -ipset=/.theinitium.com/gfwlist -server=/.thenewslens.com/127.0.0.1#5335 -ipset=/.thenewslens.com/gfwlist -server=/.thepiratebay.org/127.0.0.1#5335 -ipset=/.thepiratebay.org/gfwlist -server=/.theporndude.com/127.0.0.1#5335 -ipset=/.theporndude.com/gfwlist -server=/.theportalwiki.com/127.0.0.1#5335 -ipset=/.theportalwiki.com/gfwlist -server=/.thereallove.kr/127.0.0.1#5335 -ipset=/.thereallove.kr/gfwlist -server=/.therock.net.nz/127.0.0.1#5335 -ipset=/.therock.net.nz/gfwlist -server=/.thespeeder.com/127.0.0.1#5335 -ipset=/.thespeeder.com/gfwlist -server=/.thestandnews.com/127.0.0.1#5335 -ipset=/.thestandnews.com/gfwlist -server=/.thetibetcenter.org/127.0.0.1#5335 -ipset=/.thetibetcenter.org/gfwlist -server=/.thetibetconnection.org/127.0.0.1#5335 -ipset=/.thetibetconnection.org/gfwlist -server=/.thetibetmuseum.org/127.0.0.1#5335 -ipset=/.thetibetmuseum.org/gfwlist -server=/.thetibetpost.com/127.0.0.1#5335 -ipset=/.thetibetpost.com/gfwlist -server=/.thetinhat.com/127.0.0.1#5335 -ipset=/.thetinhat.com/gfwlist -server=/.thetrotskymovie.com/127.0.0.1#5335 -ipset=/.thetrotskymovie.com/gfwlist -server=/.thevivekspot.com/127.0.0.1#5335 -ipset=/.thevivekspot.com/gfwlist -server=/.thewgo.org/127.0.0.1#5335 -ipset=/.thewgo.org/gfwlist -server=/.theync.com/127.0.0.1#5335 -ipset=/.theync.com/gfwlist -server=/.thinkgeek.com/127.0.0.1#5335 -ipset=/.thinkgeek.com/gfwlist -server=/.thinkingtaiwan.com/127.0.0.1#5335 -ipset=/.thinkingtaiwan.com/gfwlist -server=/.thinkwithgoogle.com/127.0.0.1#5335 -ipset=/.thinkwithgoogle.com/gfwlist -server=/.thisav.com/127.0.0.1#5335 -ipset=/.thisav.com/gfwlist -server=/.thlib.org/127.0.0.1#5335 -ipset=/.thlib.org/gfwlist -server=/.thomasbernhard.org/127.0.0.1#5335 -ipset=/.thomasbernhard.org/gfwlist -server=/.thongdreams.com/127.0.0.1#5335 -ipset=/.thongdreams.com/gfwlist -server=/.threatchaos.com/127.0.0.1#5335 -ipset=/.threatchaos.com/gfwlist -server=/.throughnightsfire.com/127.0.0.1#5335 -ipset=/.throughnightsfire.com/gfwlist -server=/.thumbzilla.com/127.0.0.1#5335 -ipset=/.thumbzilla.com/gfwlist -server=/.thywords.com/127.0.0.1#5335 -ipset=/.thywords.com/gfwlist -server=/.tiananmenduizhi.com/127.0.0.1#5335 -ipset=/.tiananmenduizhi.com/gfwlist -server=/.tiananmenmother.org/127.0.0.1#5335 -ipset=/.tiananmenmother.org/gfwlist -server=/.tiananmenuniv.com/127.0.0.1#5335 -ipset=/.tiananmenuniv.com/gfwlist -server=/.tiananmenuniv.net/127.0.0.1#5335 -ipset=/.tiananmenuniv.net/gfwlist -server=/.tiandixing.org/127.0.0.1#5335 -ipset=/.tiandixing.org/gfwlist -server=/.tianhuayuan.com/127.0.0.1#5335 -ipset=/.tianhuayuan.com/gfwlist -server=/.tianlawoffice.com/127.0.0.1#5335 -ipset=/.tianlawoffice.com/gfwlist -server=/.tianti.io/127.0.0.1#5335 -ipset=/.tianti.io/gfwlist -server=/.tiantibooks.org/127.0.0.1#5335 -ipset=/.tiantibooks.org/gfwlist -server=/.tianyantong.org.cn/127.0.0.1#5335 -ipset=/.tianyantong.org.cn/gfwlist -server=/.tianzhu.org/127.0.0.1#5335 -ipset=/.tianzhu.org/gfwlist -server=/.tibet-envoy.eu/127.0.0.1#5335 -ipset=/.tibet-envoy.eu/gfwlist -server=/.tibet-foundation.org/127.0.0.1#5335 -ipset=/.tibet-foundation.org/gfwlist -server=/.tibet-house-trust.co.uk/127.0.0.1#5335 -ipset=/.tibet-house-trust.co.uk/gfwlist -server=/.tibet-initiative.de/127.0.0.1#5335 -ipset=/.tibet-initiative.de/gfwlist -server=/.tibet-munich.de/127.0.0.1#5335 -ipset=/.tibet-munich.de/gfwlist -server=/.tibet.a.se/127.0.0.1#5335 -ipset=/.tibet.a.se/gfwlist -server=/.tibet.at/127.0.0.1#5335 -ipset=/.tibet.at/gfwlist -server=/.tibet.ca/127.0.0.1#5335 -ipset=/.tibet.ca/gfwlist -server=/.tibet.com/127.0.0.1#5335 -ipset=/.tibet.com/gfwlist -server=/.tibet.fr/127.0.0.1#5335 -ipset=/.tibet.fr/gfwlist -server=/.tibet.net/127.0.0.1#5335 -ipset=/.tibet.net/gfwlist -server=/.tibet.nu/127.0.0.1#5335 -ipset=/.tibet.nu/gfwlist -server=/.tibet.org/127.0.0.1#5335 -ipset=/.tibet.org/gfwlist -server=/.tibet.sk/127.0.0.1#5335 -ipset=/.tibet.sk/gfwlist -server=/.tibet.to/127.0.0.1#5335 -ipset=/.tibet.to/gfwlist -server=/.tibet3rdpole.org/127.0.0.1#5335 -ipset=/.tibet3rdpole.org/gfwlist -server=/.tibetaction.net/127.0.0.1#5335 -ipset=/.tibetaction.net/gfwlist -server=/.tibetaid.org/127.0.0.1#5335 -ipset=/.tibetaid.org/gfwlist -server=/.tibetalk.com/127.0.0.1#5335 -ipset=/.tibetalk.com/gfwlist -server=/.tibetan-alliance.org/127.0.0.1#5335 -ipset=/.tibetan-alliance.org/gfwlist -server=/.tibetan.fr/127.0.0.1#5335 -ipset=/.tibetan.fr/gfwlist -server=/.tibetanaidproject.org/127.0.0.1#5335 -ipset=/.tibetanaidproject.org/gfwlist -server=/.tibetanarts.org/127.0.0.1#5335 -ipset=/.tibetanarts.org/gfwlist -server=/.tibetanbuddhistinstitute.org/127.0.0.1#5335 -ipset=/.tibetanbuddhistinstitute.org/gfwlist -server=/.tibetancommunity.org/127.0.0.1#5335 -ipset=/.tibetancommunity.org/gfwlist -server=/.tibetancommunityuk.net/127.0.0.1#5335 -ipset=/.tibetancommunityuk.net/gfwlist -server=/.tibetanculture.org/127.0.0.1#5335 -ipset=/.tibetanculture.org/gfwlist -server=/.tibetanfeministcollective.org/127.0.0.1#5335 -ipset=/.tibetanfeministcollective.org/gfwlist -server=/.tibetanjournal.com/127.0.0.1#5335 -ipset=/.tibetanjournal.com/gfwlist -server=/.tibetanlanguage.org/127.0.0.1#5335 -ipset=/.tibetanlanguage.org/gfwlist -server=/.tibetanliberation.org/127.0.0.1#5335 -ipset=/.tibetanliberation.org/gfwlist -server=/.tibetanpaintings.com/127.0.0.1#5335 -ipset=/.tibetanpaintings.com/gfwlist -server=/.tibetanphotoproject.com/127.0.0.1#5335 -ipset=/.tibetanphotoproject.com/gfwlist -server=/.tibetanpoliticalreview.org/127.0.0.1#5335 -ipset=/.tibetanpoliticalreview.org/gfwlist -server=/.tibetanreview.net/127.0.0.1#5335 -ipset=/.tibetanreview.net/gfwlist -server=/.tibetansports.org/127.0.0.1#5335 -ipset=/.tibetansports.org/gfwlist -server=/.tibetanwomen.org/127.0.0.1#5335 -ipset=/.tibetanwomen.org/gfwlist -server=/.tibetanyouth.org/127.0.0.1#5335 -ipset=/.tibetanyouth.org/gfwlist -server=/.tibetanyouthcongress.org/127.0.0.1#5335 -ipset=/.tibetanyouthcongress.org/gfwlist -server=/.tibetcharity.dk/127.0.0.1#5335 -ipset=/.tibetcharity.dk/gfwlist -server=/.tibetcharity.in/127.0.0.1#5335 -ipset=/.tibetcharity.in/gfwlist -server=/.tibetchild.org/127.0.0.1#5335 -ipset=/.tibetchild.org/gfwlist -server=/.tibetcity.com/127.0.0.1#5335 -ipset=/.tibetcity.com/gfwlist -server=/.tibetcollection.com/127.0.0.1#5335 -ipset=/.tibetcollection.com/gfwlist -server=/.tibetcorps.org/127.0.0.1#5335 -ipset=/.tibetcorps.org/gfwlist -server=/.tibetexpress.net/127.0.0.1#5335 -ipset=/.tibetexpress.net/gfwlist -server=/.tibetfocus.com/127.0.0.1#5335 -ipset=/.tibetfocus.com/gfwlist -server=/.tibetfund.org/127.0.0.1#5335 -ipset=/.tibetfund.org/gfwlist -server=/.tibetgermany.com/127.0.0.1#5335 -ipset=/.tibetgermany.com/gfwlist -server=/.tibetgermany.de/127.0.0.1#5335 -ipset=/.tibetgermany.de/gfwlist -server=/.tibethaus.com/127.0.0.1#5335 -ipset=/.tibethaus.com/gfwlist -server=/.tibetheritagefund.org/127.0.0.1#5335 -ipset=/.tibetheritagefund.org/gfwlist -server=/.tibethouse.jp/127.0.0.1#5335 -ipset=/.tibethouse.jp/gfwlist -server=/.tibethouse.org/127.0.0.1#5335 -ipset=/.tibethouse.org/gfwlist -server=/.tibethouse.us/127.0.0.1#5335 -ipset=/.tibethouse.us/gfwlist -server=/.tibetinfonet.net/127.0.0.1#5335 -ipset=/.tibetinfonet.net/gfwlist -server=/.tibetjustice.org/127.0.0.1#5335 -ipset=/.tibetjustice.org/gfwlist -server=/.tibetkomite.dk/127.0.0.1#5335 -ipset=/.tibetkomite.dk/gfwlist -server=/.tibetlibre.free.fr/127.0.0.1#5335 -ipset=/.tibetlibre.free.fr/gfwlist -server=/.tibetmuseum.org/127.0.0.1#5335 -ipset=/.tibetmuseum.org/gfwlist -server=/.tibetnetwork.org/127.0.0.1#5335 -ipset=/.tibetnetwork.org/gfwlist -server=/.tibetoffice.ch/127.0.0.1#5335 -ipset=/.tibetoffice.ch/gfwlist -server=/.tibetoffice.com.au/127.0.0.1#5335 -ipset=/.tibetoffice.com.au/gfwlist -server=/.tibetoffice.eu/127.0.0.1#5335 -ipset=/.tibetoffice.eu/gfwlist -server=/.tibetoffice.org/127.0.0.1#5335 -ipset=/.tibetoffice.org/gfwlist -server=/.tibetonline.com/127.0.0.1#5335 -ipset=/.tibetonline.com/gfwlist -server=/.tibetonline.tv/127.0.0.1#5335 -ipset=/.tibetonline.tv/gfwlist -server=/.tibetoralhistory.org/127.0.0.1#5335 -ipset=/.tibetoralhistory.org/gfwlist -server=/.tibetpolicy.eu/127.0.0.1#5335 -ipset=/.tibetpolicy.eu/gfwlist -server=/.tibetrelieffund.co.uk/127.0.0.1#5335 -ipset=/.tibetrelieffund.co.uk/gfwlist -server=/.tibetsites.com/127.0.0.1#5335 -ipset=/.tibetsites.com/gfwlist -server=/.tibetsociety.com/127.0.0.1#5335 -ipset=/.tibetsociety.com/gfwlist -server=/.tibetsun.com/127.0.0.1#5335 -ipset=/.tibetsun.com/gfwlist -server=/.tibetsupportgroup.org/127.0.0.1#5335 -ipset=/.tibetsupportgroup.org/gfwlist -server=/.tibetswiss.ch/127.0.0.1#5335 -ipset=/.tibetswiss.ch/gfwlist -server=/.tibettelegraph.com/127.0.0.1#5335 -ipset=/.tibettelegraph.com/gfwlist -server=/.tibettimes.net/127.0.0.1#5335 -ipset=/.tibettimes.net/gfwlist -server=/.tibetwrites.org/127.0.0.1#5335 -ipset=/.tibetwrites.org/gfwlist -server=/.ticket.com.tw/127.0.0.1#5335 -ipset=/.ticket.com.tw/gfwlist -server=/.tigervpn.com/127.0.0.1#5335 -ipset=/.tigervpn.com/gfwlist -server=/.tiltbrush.com/127.0.0.1#5335 -ipset=/.tiltbrush.com/gfwlist -server=/.timdir.com/127.0.0.1#5335 -ipset=/.timdir.com/gfwlist -server=/.time.com/127.0.0.1#5335 -ipset=/.time.com/gfwlist -server=/.times.hinet.net/127.0.0.1#5335 -ipset=/.times.hinet.net/gfwlist -server=/.timsah.com/127.0.0.1#5335 -ipset=/.timsah.com/gfwlist -server=/.tinc-vpn.org/127.0.0.1#5335 -ipset=/.tinc-vpn.org/gfwlist -server=/.tineye.com/127.0.0.1#5335 -ipset=/.tineye.com/gfwlist -server=/.tintuc101.com/127.0.0.1#5335 -ipset=/.tintuc101.com/gfwlist -server=/.tiny.cc/127.0.0.1#5335 -ipset=/.tiny.cc/gfwlist -server=/.tinychat.com/127.0.0.1#5335 -ipset=/.tinychat.com/gfwlist -server=/.tinypaste.com/127.0.0.1#5335 -ipset=/.tinypaste.com/gfwlist -server=/.tipo.gov.tw/127.0.0.1#5335 -ipset=/.tipo.gov.tw/gfwlist -server=/.tistory.com/127.0.0.1#5335 -ipset=/.tistory.com/gfwlist -server=/.tkcs-collins.com/127.0.0.1#5335 -ipset=/.tkcs-collins.com/gfwlist -server=/.tma.co.jp/127.0.0.1#5335 -ipset=/.tma.co.jp/gfwlist -server=/.tmagazine.com/127.0.0.1#5335 -ipset=/.tmagazine.com/gfwlist -server=/.tmdfish.com/127.0.0.1#5335 -ipset=/.tmdfish.com/gfwlist -server=/.tmi.me/127.0.0.1#5335 -ipset=/.tmi.me/gfwlist -server=/.tmpp.org/127.0.0.1#5335 -ipset=/.tmpp.org/gfwlist -server=/.tn1.shemalez.com/127.0.0.1#5335 -ipset=/.tn1.shemalez.com/gfwlist -server=/.tn2.shemalez.com/127.0.0.1#5335 -ipset=/.tn2.shemalez.com/gfwlist -server=/.tn3.shemalez.com/127.0.0.1#5335 -ipset=/.tn3.shemalez.com/gfwlist -server=/.tnaflix.com/127.0.0.1#5335 -ipset=/.tnaflix.com/gfwlist -server=/.tngrnow.com/127.0.0.1#5335 -ipset=/.tngrnow.com/gfwlist -server=/.tngrnow.net/127.0.0.1#5335 -ipset=/.tngrnow.net/gfwlist -server=/.tnp.org/127.0.0.1#5335 -ipset=/.tnp.org/gfwlist -server=/.to-porno.com/127.0.0.1#5335 -ipset=/.to-porno.com/gfwlist -server=/.togetter.com/127.0.0.1#5335 -ipset=/.togetter.com/gfwlist -server=/.toh.info/127.0.0.1#5335 -ipset=/.toh.info/gfwlist -server=/.tokyo-247.com/127.0.0.1#5335 -ipset=/.tokyo-247.com/gfwlist -server=/.tokyo-hot.com/127.0.0.1#5335 -ipset=/.tokyo-hot.com/gfwlist -server=/.tokyo-porn-tube.com/127.0.0.1#5335 -ipset=/.tokyo-porn-tube.com/gfwlist -server=/.tokyocn.com/127.0.0.1#5335 -ipset=/.tokyocn.com/gfwlist -server=/.tongil.or.kr/127.0.0.1#5335 -ipset=/.tongil.or.kr/gfwlist -server=/.tono-oka.jp/127.0.0.1#5335 -ipset=/.tono-oka.jp/gfwlist -server=/.tonyyan.net/127.0.0.1#5335 -ipset=/.tonyyan.net/gfwlist -server=/.toodoc.com/127.0.0.1#5335 -ipset=/.toodoc.com/gfwlist -server=/.toonel.net/127.0.0.1#5335 -ipset=/.toonel.net/gfwlist -server=/.top.tv/127.0.0.1#5335 -ipset=/.top.tv/gfwlist -server=/.top10vpn.com/127.0.0.1#5335 -ipset=/.top10vpn.com/gfwlist -server=/.top81.ws/127.0.0.1#5335 -ipset=/.top81.ws/gfwlist -server=/.topbtc.com/127.0.0.1#5335 -ipset=/.topbtc.com/gfwlist -server=/.topic.youthwant.com.tw/127.0.0.1#5335 -ipset=/.topic.youthwant.com.tw/gfwlist -server=/.topnews.in/127.0.0.1#5335 -ipset=/.topnews.in/gfwlist -server=/.toppornsites.com/127.0.0.1#5335 -ipset=/.toppornsites.com/gfwlist -server=/.topshareware.com/127.0.0.1#5335 -ipset=/.topshareware.com/gfwlist -server=/.topsy.com/127.0.0.1#5335 -ipset=/.topsy.com/gfwlist -server=/.toptip.ca/127.0.0.1#5335 -ipset=/.toptip.ca/gfwlist -server=/.tor.blingblingsquad.net/127.0.0.1#5335 -ipset=/.tor.blingblingsquad.net/gfwlist -server=/.tor.updatestar.com/127.0.0.1#5335 -ipset=/.tor.updatestar.com/gfwlist -server=/.tora.to/127.0.0.1#5335 -ipset=/.tora.to/gfwlist -server=/.torcn.com/127.0.0.1#5335 -ipset=/.torcn.com/gfwlist -server=/.torguard.net/127.0.0.1#5335 -ipset=/.torguard.net/gfwlist -server=/.torproject.org/127.0.0.1#5335 -ipset=/.torproject.org/gfwlist -server=/.torrentprivacy.com/127.0.0.1#5335 -ipset=/.torrentprivacy.com/gfwlist -server=/.torrentproject.se/127.0.0.1#5335 -ipset=/.torrentproject.se/gfwlist -server=/.torrenty.org/127.0.0.1#5335 -ipset=/.torrenty.org/gfwlist -server=/.torrentz.eu/127.0.0.1#5335 -ipset=/.torrentz.eu/gfwlist -server=/.torvpn.com/127.0.0.1#5335 -ipset=/.torvpn.com/gfwlist -server=/.tosh.comedycentral.com/127.0.0.1#5335 -ipset=/.tosh.comedycentral.com/gfwlist -server=/.totalvpn.com/127.0.0.1#5335 -ipset=/.totalvpn.com/gfwlist -server=/.toutiaoabc.com/127.0.0.1#5335 -ipset=/.toutiaoabc.com/gfwlist -server=/.towngain.com/127.0.0.1#5335 -ipset=/.towngain.com/gfwlist -server=/.toypark.in/127.0.0.1#5335 -ipset=/.toypark.in/gfwlist -server=/.toythieves.com/127.0.0.1#5335 -ipset=/.toythieves.com/gfwlist -server=/.toytractorshow.com/127.0.0.1#5335 -ipset=/.toytractorshow.com/gfwlist -server=/.tparents.org/127.0.0.1#5335 -ipset=/.tparents.org/gfwlist -server=/.tpi.org.tw/127.0.0.1#5335 -ipset=/.tpi.org.tw/gfwlist -server=/.tracfone.com/127.0.0.1#5335 -ipset=/.tracfone.com/gfwlist -server=/.traffichaus.com/127.0.0.1#5335 -ipset=/.traffichaus.com/gfwlist -server=/.transparency.org/127.0.0.1#5335 -ipset=/.transparency.org/gfwlist -server=/.treemall.com.tw/127.0.0.1#5335 -ipset=/.treemall.com.tw/gfwlist -server=/.trendsmap.com/127.0.0.1#5335 -ipset=/.trendsmap.com/gfwlist -server=/.trialofccp.org/127.0.0.1#5335 -ipset=/.trialofccp.org/gfwlist -server=/.trickip.net/127.0.0.1#5335 -ipset=/.trickip.net/gfwlist -server=/.trickip.org/127.0.0.1#5335 -ipset=/.trickip.org/gfwlist -server=/.trouw.nl/127.0.0.1#5335 -ipset=/.trouw.nl/gfwlist -server=/.trt.net.tr/127.0.0.1#5335 -ipset=/.trt.net.tr/gfwlist -server=/.trtc.com.tw/127.0.0.1#5335 -ipset=/.trtc.com.tw/gfwlist -server=/.truebuddha-md.org/127.0.0.1#5335 -ipset=/.truebuddha-md.org/gfwlist -server=/.trulyergonomic.com/127.0.0.1#5335 -ipset=/.trulyergonomic.com/gfwlist -server=/.truth101.co.tv/127.0.0.1#5335 -ipset=/.truth101.co.tv/gfwlist -server=/.truthontour.org/127.0.0.1#5335 -ipset=/.truthontour.org/gfwlist -server=/.truveo.com/127.0.0.1#5335 -ipset=/.truveo.com/gfwlist -server=/.tryheart.jp/127.0.0.1#5335 -ipset=/.tryheart.jp/gfwlist -server=/.tsctv.net/127.0.0.1#5335 -ipset=/.tsctv.net/gfwlist -server=/.tsdr.uspto.gov/127.0.0.1#5335 -ipset=/.tsdr.uspto.gov/gfwlist -server=/.tsemtulku.com/127.0.0.1#5335 -ipset=/.tsemtulku.com/gfwlist -server=/.tsquare.tv/127.0.0.1#5335 -ipset=/.tsquare.tv/gfwlist -server=/.tsu.org.tw/127.0.0.1#5335 -ipset=/.tsu.org.tw/gfwlist -server=/.tsunagarumon.com/127.0.0.1#5335 -ipset=/.tsunagarumon.com/gfwlist -server=/.tt1069.com/127.0.0.1#5335 -ipset=/.tt1069.com/gfwlist -server=/.tttan.com/127.0.0.1#5335 -ipset=/.tttan.com/gfwlist -server=/.ttvnw.net/127.0.0.1#5335 -ipset=/.ttvnw.net/gfwlist -server=/.tu8964.com/127.0.0.1#5335 -ipset=/.tu8964.com/gfwlist -server=/.tubaholic.com/127.0.0.1#5335 -ipset=/.tubaholic.com/gfwlist -server=/.tube.com/127.0.0.1#5335 -ipset=/.tube.com/gfwlist -server=/.tube8.com/127.0.0.1#5335 -ipset=/.tube8.com/gfwlist -server=/.tube911.com/127.0.0.1#5335 -ipset=/.tube911.com/gfwlist -server=/.tubecup.com/127.0.0.1#5335 -ipset=/.tubecup.com/gfwlist -server=/.tubegals.com/127.0.0.1#5335 -ipset=/.tubegals.com/gfwlist -server=/.tubeislam.com/127.0.0.1#5335 -ipset=/.tubeislam.com/gfwlist -server=/.tubepornclassic.com/127.0.0.1#5335 -ipset=/.tubepornclassic.com/gfwlist -server=/.tubestack.com/127.0.0.1#5335 -ipset=/.tubestack.com/gfwlist -server=/.tubewolf.com/127.0.0.1#5335 -ipset=/.tubewolf.com/gfwlist -server=/.tui.orzdream.com/127.0.0.1#5335 -ipset=/.tui.orzdream.com/gfwlist -server=/.tuibeitu.net/127.0.0.1#5335 -ipset=/.tuibeitu.net/gfwlist -server=/.tuidang.net/127.0.0.1#5335 -ipset=/.tuidang.net/gfwlist -server=/.tuidang.org/127.0.0.1#5335 -ipset=/.tuidang.org/gfwlist -server=/.tuidang.se/127.0.0.1#5335 -ipset=/.tuidang.se/gfwlist -server=/.tuitwit.com/127.0.0.1#5335 -ipset=/.tuitwit.com/gfwlist -server=/.tumblr.com/127.0.0.1#5335 -ipset=/.tumblr.com/gfwlist -server=/.tumutanzi.com/127.0.0.1#5335 -ipset=/.tumutanzi.com/gfwlist -server=/.tumview.com/127.0.0.1#5335 -ipset=/.tumview.com/gfwlist -server=/.tunein.com/127.0.0.1#5335 -ipset=/.tunein.com/gfwlist -server=/.tunnelbear.com/127.0.0.1#5335 -ipset=/.tunnelbear.com/gfwlist -server=/.tunnelr.com/127.0.0.1#5335 -ipset=/.tunnelr.com/gfwlist -server=/.tuo8.blue/127.0.0.1#5335 -ipset=/.tuo8.blue/gfwlist -server=/.tuo8.cc/127.0.0.1#5335 -ipset=/.tuo8.cc/gfwlist -server=/.tuo8.club/127.0.0.1#5335 -ipset=/.tuo8.club/gfwlist -server=/.tuo8.fit/127.0.0.1#5335 -ipset=/.tuo8.fit/gfwlist -server=/.tuo8.hk/127.0.0.1#5335 -ipset=/.tuo8.hk/gfwlist -server=/.tuo8.in/127.0.0.1#5335 -ipset=/.tuo8.in/gfwlist -server=/.tuo8.ninja/127.0.0.1#5335 -ipset=/.tuo8.ninja/gfwlist -server=/.tuo8.org/127.0.0.1#5335 -ipset=/.tuo8.org/gfwlist -server=/.tuo8.pw/127.0.0.1#5335 -ipset=/.tuo8.pw/gfwlist -server=/.tuo8.red/127.0.0.1#5335 -ipset=/.tuo8.red/gfwlist -server=/.tuo8.space/127.0.0.1#5335 -ipset=/.tuo8.space/gfwlist -server=/.turansam.org/127.0.0.1#5335 -ipset=/.turansam.org/gfwlist -server=/.turbobit.net/127.0.0.1#5335 -ipset=/.turbobit.net/gfwlist -server=/.turbohide.com/127.0.0.1#5335 -ipset=/.turbohide.com/gfwlist -server=/.turbotwitter.com/127.0.0.1#5335 -ipset=/.turbotwitter.com/gfwlist -server=/.turkistantimes.com/127.0.0.1#5335 -ipset=/.turkistantimes.com/gfwlist -server=/.turntable.fm/127.0.0.1#5335 -ipset=/.turntable.fm/gfwlist -server=/.tushycash.com/127.0.0.1#5335 -ipset=/.tushycash.com/gfwlist -server=/.tuvpn.com/127.0.0.1#5335 -ipset=/.tuvpn.com/gfwlist -server=/.tuzaijidi.com/127.0.0.1#5335 -ipset=/.tuzaijidi.com/gfwlist -server=/.tv.com/127.0.0.1#5335 -ipset=/.tv.com/gfwlist -server=/.tvants.com/127.0.0.1#5335 -ipset=/.tvants.com/gfwlist -server=/.tvboxnow.com/127.0.0.1#5335 -ipset=/.tvboxnow.com/gfwlist -server=/.tvider.com/127.0.0.1#5335 -ipset=/.tvider.com/gfwlist -server=/.tvmost.com.hk/127.0.0.1#5335 -ipset=/.tvmost.com.hk/gfwlist -server=/.tvplayvideos.com/127.0.0.1#5335 -ipset=/.tvplayvideos.com/gfwlist -server=/.tvunetworks.com/127.0.0.1#5335 -ipset=/.tvunetworks.com/gfwlist -server=/.tw-blog.com/127.0.0.1#5335 -ipset=/.tw-blog.com/gfwlist -server=/.tw-npo.org/127.0.0.1#5335 -ipset=/.tw-npo.org/gfwlist -server=/.tw.answers.yahoo.com/127.0.0.1#5335 -ipset=/.tw.answers.yahoo.com/gfwlist -server=/.tw.bid.yahoo.com/127.0.0.1#5335 -ipset=/.tw.bid.yahoo.com/gfwlist -server=/.tw.gigacircle.com/127.0.0.1#5335 -ipset=/.tw.gigacircle.com/gfwlist -server=/.tw.hao123.com/127.0.0.1#5335 -ipset=/.tw.hao123.com/gfwlist -server=/.tw.iqiyi.com/127.0.0.1#5335 -ipset=/.tw.iqiyi.com/gfwlist -server=/.tw.jiepang.com/127.0.0.1#5335 -ipset=/.tw.jiepang.com/gfwlist -server=/.tw.knowledge.yahoo.com/127.0.0.1#5335 -ipset=/.tw.knowledge.yahoo.com/gfwlist -server=/.tw.mall.yahoo.com/127.0.0.1#5335 -ipset=/.tw.mall.yahoo.com/gfwlist -server=/.tw.mobi.yahoo.com/127.0.0.1#5335 -ipset=/.tw.mobi.yahoo.com/gfwlist -server=/.tw.money.yahoo.com/127.0.0.1#5335 -ipset=/.tw.money.yahoo.com/gfwlist -server=/.tw.myblog.yahoo.com/127.0.0.1#5335 -ipset=/.tw.myblog.yahoo.com/gfwlist -server=/.tw.news.yahoo.com/127.0.0.1#5335 -ipset=/.tw.news.yahoo.com/gfwlist -server=/.tw.streetvoice.com/127.0.0.1#5335 -ipset=/.tw.streetvoice.com/gfwlist -server=/.tw.tomonews.net/127.0.0.1#5335 -ipset=/.tw.tomonews.net/gfwlist -server=/.tw.voa.mobi/127.0.0.1#5335 -ipset=/.tw.voa.mobi/gfwlist -server=/.tw.yahoo.com/127.0.0.1#5335 -ipset=/.tw.yahoo.com/gfwlist -server=/.tw01.org/127.0.0.1#5335 -ipset=/.tw01.org/gfwlist -server=/.twaitter.com/127.0.0.1#5335 -ipset=/.twaitter.com/gfwlist -server=/.twapperkeeper.com/127.0.0.1#5335 -ipset=/.twapperkeeper.com/gfwlist -server=/.twaud.io/127.0.0.1#5335 -ipset=/.twaud.io/gfwlist -server=/.twavi.com/127.0.0.1#5335 -ipset=/.twavi.com/gfwlist -server=/.twbbs.net.tw/127.0.0.1#5335 -ipset=/.twbbs.net.tw/gfwlist -server=/.twbbs.org/127.0.0.1#5335 -ipset=/.twbbs.org/gfwlist -server=/.twbbs.tw/127.0.0.1#5335 -ipset=/.twbbs.tw/gfwlist -server=/.twblogger.com/127.0.0.1#5335 -ipset=/.twblogger.com/gfwlist -server=/.tweepguide.com/127.0.0.1#5335 -ipset=/.tweepguide.com/gfwlist -server=/.tweeplike.me/127.0.0.1#5335 -ipset=/.tweeplike.me/gfwlist -server=/.tweepmag.com/127.0.0.1#5335 -ipset=/.tweepmag.com/gfwlist -server=/.tweepml.org/127.0.0.1#5335 -ipset=/.tweepml.org/gfwlist -server=/.tweetbackup.com/127.0.0.1#5335 -ipset=/.tweetbackup.com/gfwlist -server=/.tweetboard.com/127.0.0.1#5335 -ipset=/.tweetboard.com/gfwlist -server=/.tweetboner.biz/127.0.0.1#5335 -ipset=/.tweetboner.biz/gfwlist -server=/.tweetcs.com/127.0.0.1#5335 -ipset=/.tweetcs.com/gfwlist -server=/.tweetdeck.com/127.0.0.1#5335 -ipset=/.tweetdeck.com/gfwlist -server=/.tweetedtimes.com/127.0.0.1#5335 -ipset=/.tweetedtimes.com/gfwlist -server=/.tweetmylast.fm/127.0.0.1#5335 -ipset=/.tweetmylast.fm/gfwlist -server=/.tweetphoto.com/127.0.0.1#5335 -ipset=/.tweetphoto.com/gfwlist -server=/.tweetrans.com/127.0.0.1#5335 -ipset=/.tweetrans.com/gfwlist -server=/.tweetree.com/127.0.0.1#5335 -ipset=/.tweetree.com/gfwlist -server=/.tweettunnel.com/127.0.0.1#5335 -ipset=/.tweettunnel.com/gfwlist -server=/.tweetwally.com/127.0.0.1#5335 -ipset=/.tweetwally.com/gfwlist -server=/.tweetymail.com/127.0.0.1#5335 -ipset=/.tweetymail.com/gfwlist -server=/.tweez.net/127.0.0.1#5335 -ipset=/.tweez.net/gfwlist -server=/.twelve.today/127.0.0.1#5335 -ipset=/.twelve.today/gfwlist -server=/.twerkingbutt.com/127.0.0.1#5335 -ipset=/.twerkingbutt.com/gfwlist -server=/.twftp.org/127.0.0.1#5335 -ipset=/.twftp.org/gfwlist -server=/.twgreatdaily.com/127.0.0.1#5335 -ipset=/.twgreatdaily.com/gfwlist -server=/.twibase.com/127.0.0.1#5335 -ipset=/.twibase.com/gfwlist -server=/.twibble.de/127.0.0.1#5335 -ipset=/.twibble.de/gfwlist -server=/.twibbon.com/127.0.0.1#5335 -ipset=/.twibbon.com/gfwlist -server=/.twibs.com/127.0.0.1#5335 -ipset=/.twibs.com/gfwlist -server=/.twicountry.org/127.0.0.1#5335 -ipset=/.twicountry.org/gfwlist -server=/.twicsy.com/127.0.0.1#5335 -ipset=/.twicsy.com/gfwlist -server=/.twiends.com/127.0.0.1#5335 -ipset=/.twiends.com/gfwlist -server=/.twifan.com/127.0.0.1#5335 -ipset=/.twifan.com/gfwlist -server=/.twiffo.com/127.0.0.1#5335 -ipset=/.twiffo.com/gfwlist -server=/.twiggit.org/127.0.0.1#5335 -ipset=/.twiggit.org/gfwlist -server=/.twilightsex.com/127.0.0.1#5335 -ipset=/.twilightsex.com/gfwlist -server=/.twilog.org/127.0.0.1#5335 -ipset=/.twilog.org/gfwlist -server=/.twimbow.com/127.0.0.1#5335 -ipset=/.twimbow.com/gfwlist -server=/.twimg.com/127.0.0.1#5335 -ipset=/.twimg.com/gfwlist -server=/.twindexx.com/127.0.0.1#5335 -ipset=/.twindexx.com/gfwlist -server=/.twip.me/127.0.0.1#5335 -ipset=/.twip.me/gfwlist -server=/.twipple.jp/127.0.0.1#5335 -ipset=/.twipple.jp/gfwlist -server=/.twishort.com/127.0.0.1#5335 -ipset=/.twishort.com/gfwlist -server=/.twistar.cc/127.0.0.1#5335 -ipset=/.twistar.cc/gfwlist -server=/.twister.net.co/127.0.0.1#5335 -ipset=/.twister.net.co/gfwlist -server=/.twisterio.com/127.0.0.1#5335 -ipset=/.twisterio.com/gfwlist -server=/.twisternow.com/127.0.0.1#5335 -ipset=/.twisternow.com/gfwlist -server=/.twistory.net/127.0.0.1#5335 -ipset=/.twistory.net/gfwlist -server=/.twit2d.com/127.0.0.1#5335 -ipset=/.twit2d.com/gfwlist -server=/.twitbrowser.net/127.0.0.1#5335 -ipset=/.twitbrowser.net/gfwlist -server=/.twitcause.com/127.0.0.1#5335 -ipset=/.twitcause.com/gfwlist -server=/.twitch.tv/127.0.0.1#5335 -ipset=/.twitch.tv/gfwlist -server=/.twitchcdn.net/127.0.0.1#5335 -ipset=/.twitchcdn.net/gfwlist -server=/.twitgether.com/127.0.0.1#5335 -ipset=/.twitgether.com/gfwlist -server=/.twitgoo.com/127.0.0.1#5335 -ipset=/.twitgoo.com/gfwlist -server=/.twitiq.com/127.0.0.1#5335 -ipset=/.twitiq.com/gfwlist -server=/.twitlonger.com/127.0.0.1#5335 -ipset=/.twitlonger.com/gfwlist -server=/.twitmania.com/127.0.0.1#5335 -ipset=/.twitmania.com/gfwlist -server=/.twitoaster.com/127.0.0.1#5335 -ipset=/.twitoaster.com/gfwlist -server=/.twitonmsn.com/127.0.0.1#5335 -ipset=/.twitonmsn.com/gfwlist -server=/.twitpic.com/127.0.0.1#5335 -ipset=/.twitpic.com/gfwlist -server=/.twitstat.com/127.0.0.1#5335 -ipset=/.twitstat.com/gfwlist -server=/.twittbot.net/127.0.0.1#5335 -ipset=/.twittbot.net/gfwlist -server=/.twitter.com/127.0.0.1#5335 -ipset=/.twitter.com/gfwlist -server=/.twitter.jp/127.0.0.1#5335 -ipset=/.twitter.jp/gfwlist -server=/.twitter4j.org/127.0.0.1#5335 -ipset=/.twitter4j.org/gfwlist -server=/.twittercounter.com/127.0.0.1#5335 -ipset=/.twittercounter.com/gfwlist -server=/.twitterfeed.com/127.0.0.1#5335 -ipset=/.twitterfeed.com/gfwlist -server=/.twittergadget.com/127.0.0.1#5335 -ipset=/.twittergadget.com/gfwlist -server=/.twitterkr.com/127.0.0.1#5335 -ipset=/.twitterkr.com/gfwlist -server=/.twittermail.com/127.0.0.1#5335 -ipset=/.twittermail.com/gfwlist -server=/.twitterrific.com/127.0.0.1#5335 -ipset=/.twitterrific.com/gfwlist -server=/.twittertim.es/127.0.0.1#5335 -ipset=/.twittertim.es/gfwlist -server=/.twitthat.com/127.0.0.1#5335 -ipset=/.twitthat.com/gfwlist -server=/.twitturk.com/127.0.0.1#5335 -ipset=/.twitturk.com/gfwlist -server=/.twitturly.com/127.0.0.1#5335 -ipset=/.twitturly.com/gfwlist -server=/.twitvid.com/127.0.0.1#5335 -ipset=/.twitvid.com/gfwlist -server=/.twitzap.com/127.0.0.1#5335 -ipset=/.twitzap.com/gfwlist -server=/.twiyia.com/127.0.0.1#5335 -ipset=/.twiyia.com/gfwlist -server=/.twnorth.org.tw/127.0.0.1#5335 -ipset=/.twnorth.org.tw/gfwlist -server=/.twskype.com/127.0.0.1#5335 -ipset=/.twskype.com/gfwlist -server=/.twstar.net/127.0.0.1#5335 -ipset=/.twstar.net/gfwlist -server=/.twt.tl/127.0.0.1#5335 -ipset=/.twt.tl/gfwlist -server=/.twtkr.com/127.0.0.1#5335 -ipset=/.twtkr.com/gfwlist -server=/.twtr2src.ogaoga.org/127.0.0.1#5335 -ipset=/.twtr2src.ogaoga.org/gfwlist -server=/.twtrland.com/127.0.0.1#5335 -ipset=/.twtrland.com/gfwlist -server=/.twttr.com/127.0.0.1#5335 -ipset=/.twttr.com/gfwlist -server=/.twurl.nl/127.0.0.1#5335 -ipset=/.twurl.nl/gfwlist -server=/.twyac.org/127.0.0.1#5335 -ipset=/.twyac.org/gfwlist -server=/.txxx.com/127.0.0.1#5335 -ipset=/.txxx.com/gfwlist -server=/.tycool.com/127.0.0.1#5335 -ipset=/.tycool.com/gfwlist -server=/.typepad.com/127.0.0.1#5335 -ipset=/.typepad.com/gfwlist -server=/.u15.info/127.0.0.1#5335 -ipset=/.u15.info/gfwlist -server=/.u9un.com/127.0.0.1#5335 -ipset=/.u9un.com/gfwlist -server=/.ub0.cc/127.0.0.1#5335 -ipset=/.ub0.cc/gfwlist -server=/.ubddns.org/127.0.0.1#5335 -ipset=/.ubddns.org/gfwlist -server=/.uberproxy.net/127.0.0.1#5335 -ipset=/.uberproxy.net/gfwlist -server=/.uc-japan.org/127.0.0.1#5335 -ipset=/.uc-japan.org/gfwlist -server=/.ucdc1998.org/127.0.0.1#5335 -ipset=/.ucdc1998.org/gfwlist -server=/.uderzo.it/127.0.0.1#5335 -ipset=/.uderzo.it/gfwlist -server=/.udn.com/127.0.0.1#5335 -ipset=/.udn.com/gfwlist -server=/.uforadio.com.tw/127.0.0.1#5335 -ipset=/.uforadio.com.tw/gfwlist -server=/.ufreevpn.com/127.0.0.1#5335 -ipset=/.ufreevpn.com/gfwlist -server=/.ugo.com/127.0.0.1#5335 -ipset=/.ugo.com/gfwlist -server=/.uhdwallpapers.org/127.0.0.1#5335 -ipset=/.uhdwallpapers.org/gfwlist -server=/.uhrp.org/127.0.0.1#5335 -ipset=/.uhrp.org/gfwlist -server=/.uighur.narod.ru/127.0.0.1#5335 -ipset=/.uighur.narod.ru/gfwlist -server=/.uighur.nl/127.0.0.1#5335 -ipset=/.uighur.nl/gfwlist -server=/.uighurbiz.net/127.0.0.1#5335 -ipset=/.uighurbiz.net/gfwlist -server=/.ukcdp.co.uk/127.0.0.1#5335 -ipset=/.ukcdp.co.uk/gfwlist -server=/.ukliferadio.co.uk/127.0.0.1#5335 -ipset=/.ukliferadio.co.uk/gfwlist -server=/.uku.im/127.0.0.1#5335 -ipset=/.uku.im/gfwlist -server=/.ulike.net/127.0.0.1#5335 -ipset=/.ulike.net/gfwlist -server=/.ulop.net/127.0.0.1#5335 -ipset=/.ulop.net/gfwlist -server=/.ultravpn.fr/127.0.0.1#5335 -ipset=/.ultravpn.fr/gfwlist -server=/.ultraxs.com/127.0.0.1#5335 -ipset=/.ultraxs.com/gfwlist -server=/.unblock-us.com/127.0.0.1#5335 -ipset=/.unblock-us.com/gfwlist -server=/.unblock.cn.com/127.0.0.1#5335 -ipset=/.unblock.cn.com/gfwlist -server=/.unblockdmm.com/127.0.0.1#5335 -ipset=/.unblockdmm.com/gfwlist -server=/.unblocker.yt/127.0.0.1#5335 -ipset=/.unblocker.yt/gfwlist -server=/.unblocksit.es/127.0.0.1#5335 -ipset=/.unblocksit.es/gfwlist -server=/.uncyclomedia.org/127.0.0.1#5335 -ipset=/.uncyclomedia.org/gfwlist -server=/.uncyclopedia.hk/127.0.0.1#5335 -ipset=/.uncyclopedia.hk/gfwlist -server=/.uncyclopedia.tw/127.0.0.1#5335 -ipset=/.uncyclopedia.tw/gfwlist -server=/.underwoodammo.com/127.0.0.1#5335 -ipset=/.underwoodammo.com/gfwlist -server=/.unholyknight.com/127.0.0.1#5335 -ipset=/.unholyknight.com/gfwlist -server=/.uni.cc/127.0.0.1#5335 -ipset=/.uni.cc/gfwlist -server=/.unification.net/127.0.0.1#5335 -ipset=/.unification.net/gfwlist -server=/.unification.org.tw/127.0.0.1#5335 -ipset=/.unification.org.tw/gfwlist -server=/.unirule.cloud/127.0.0.1#5335 -ipset=/.unirule.cloud/gfwlist -server=/.unitedsocialpress.com/127.0.0.1#5335 -ipset=/.unitedsocialpress.com/gfwlist -server=/.unix100.com/127.0.0.1#5335 -ipset=/.unix100.com/gfwlist -server=/.unknownspace.org/127.0.0.1#5335 -ipset=/.unknownspace.org/gfwlist -server=/.unodedos.com/127.0.0.1#5335 -ipset=/.unodedos.com/gfwlist -server=/.unpo.org/127.0.0.1#5335 -ipset=/.unpo.org/gfwlist -server=/.unseen.is/127.0.0.1#5335 -ipset=/.unseen.is/gfwlist -server=/.untraceable.us/127.0.0.1#5335 -ipset=/.untraceable.us/gfwlist -server=/.uocn.org/127.0.0.1#5335 -ipset=/.uocn.org/gfwlist -server=/.upcoming.yahoo.com/127.0.0.1#5335 -ipset=/.upcoming.yahoo.com/gfwlist -server=/.updates.tdesktop.com/127.0.0.1#5335 -ipset=/.updates.tdesktop.com/gfwlist -server=/.upholdjustice.org/127.0.0.1#5335 -ipset=/.upholdjustice.org/gfwlist -server=/.upload4u.info/127.0.0.1#5335 -ipset=/.upload4u.info/gfwlist -server=/.upmedia.mg/127.0.0.1#5335 -ipset=/.upmedia.mg/gfwlist -server=/.upornia.com/127.0.0.1#5335 -ipset=/.upornia.com/gfwlist -server=/.uproxy.org/127.0.0.1#5335 -ipset=/.uproxy.org/gfwlist -server=/.uptodown.com/127.0.0.1#5335 -ipset=/.uptodown.com/gfwlist -server=/.upwill.org/127.0.0.1#5335 -ipset=/.upwill.org/gfwlist -server=/.ur7s.com/127.0.0.1#5335 -ipset=/.ur7s.com/gfwlist -server=/.uraban.me/127.0.0.1#5335 -ipset=/.uraban.me/gfwlist -server=/.urbansurvival.com/127.0.0.1#5335 -ipset=/.urbansurvival.com/gfwlist -server=/.urchin.com/127.0.0.1#5335 -ipset=/.urchin.com/gfwlist -server=/.urlborg.com/127.0.0.1#5335 -ipset=/.urlborg.com/gfwlist -server=/.urlparser.com/127.0.0.1#5335 -ipset=/.urlparser.com/gfwlist -server=/.us.to/127.0.0.1#5335 -ipset=/.us.to/gfwlist -server=/.usacn.com/127.0.0.1#5335 -ipset=/.usacn.com/gfwlist -server=/.usaip.eu/127.0.0.1#5335 -ipset=/.usaip.eu/gfwlist -server=/.userapi.nytlog.com/127.0.0.1#5335 -ipset=/.userapi.nytlog.com/gfwlist -server=/.usfk.mil/127.0.0.1#5335 -ipset=/.usfk.mil/gfwlist -server=/.ushuarencity.echainhost.com/127.0.0.1#5335 -ipset=/.ushuarencity.echainhost.com/gfwlist -server=/.usinfo.state.gov/127.0.0.1#5335 -ipset=/.usinfo.state.gov/gfwlist -server=/.usma.edu/127.0.0.1#5335 -ipset=/.usma.edu/gfwlist -server=/.usmc.mil/127.0.0.1#5335 -ipset=/.usmc.mil/gfwlist -server=/.usno.navy.mil/127.0.0.1#5335 -ipset=/.usno.navy.mil/gfwlist -server=/.usocctn.com/127.0.0.1#5335 -ipset=/.usocctn.com/gfwlist -server=/.ustream.tv/127.0.0.1#5335 -ipset=/.ustream.tv/gfwlist -server=/.usunitednews.com/127.0.0.1#5335 -ipset=/.usunitednews.com/gfwlist -server=/.usus.cc/127.0.0.1#5335 -ipset=/.usus.cc/gfwlist -server=/.utopianpal.com/127.0.0.1#5335 -ipset=/.utopianpal.com/gfwlist -server=/.uu-gg.com/127.0.0.1#5335 -ipset=/.uu-gg.com/gfwlist -server=/.uukanshu.com/127.0.0.1#5335 -ipset=/.uukanshu.com/gfwlist -server=/.uvwxyz.xyz/127.0.0.1#5335 -ipset=/.uvwxyz.xyz/gfwlist -server=/.uwants.com/127.0.0.1#5335 -ipset=/.uwants.com/gfwlist -server=/.uwants.net/127.0.0.1#5335 -ipset=/.uwants.net/gfwlist -server=/.uyghur-j.org/127.0.0.1#5335 -ipset=/.uyghur-j.org/gfwlist -server=/.uyghur.co.uk/127.0.0.1#5335 -ipset=/.uyghur.co.uk/gfwlist -server=/.uyghuramerican.org/127.0.0.1#5335 -ipset=/.uyghuramerican.org/gfwlist -server=/.uyghurcanadiansociety.org/127.0.0.1#5335 -ipset=/.uyghurcanadiansociety.org/gfwlist -server=/.uyghurcongress.org/127.0.0.1#5335 -ipset=/.uyghurcongress.org/gfwlist -server=/.uyghurensemble.co.uk/127.0.0.1#5335 -ipset=/.uyghurensemble.co.uk/gfwlist -server=/.uyghurpen.org/127.0.0.1#5335 -ipset=/.uyghurpen.org/gfwlist -server=/.uyghurpress.com/127.0.0.1#5335 -ipset=/.uyghurpress.com/gfwlist -server=/.uyghurstudies.org/127.0.0.1#5335 -ipset=/.uyghurstudies.org/gfwlist -server=/.uygur.org/127.0.0.1#5335 -ipset=/.uygur.org/gfwlist -server=/.v2ex.com/127.0.0.1#5335 -ipset=/.v2ex.com/gfwlist -server=/.v2ray.com/127.0.0.1#5335 -ipset=/.v2ray.com/gfwlist -server=/.van001.com/127.0.0.1#5335 -ipset=/.van001.com/gfwlist -server=/.van698.com/127.0.0.1#5335 -ipset=/.van698.com/gfwlist -server=/.vanemu.cn/127.0.0.1#5335 -ipset=/.vanemu.cn/gfwlist -server=/.vanilla-jp.com/127.0.0.1#5335 -ipset=/.vanilla-jp.com/gfwlist -server=/.vanpeople.com/127.0.0.1#5335 -ipset=/.vanpeople.com/gfwlist -server=/.vansky.com/127.0.0.1#5335 -ipset=/.vansky.com/gfwlist -server=/.vaticannews.va/127.0.0.1#5335 -ipset=/.vaticannews.va/gfwlist -server=/.vatn.org/127.0.0.1#5335 -ipset=/.vatn.org/gfwlist -server=/.vcf-online.org/127.0.0.1#5335 -ipset=/.vcf-online.org/gfwlist -server=/.vcfbuilder.org/127.0.0.1#5335 -ipset=/.vcfbuilder.org/gfwlist -server=/.vegas.williamhill.com/127.0.0.1#5335 -ipset=/.vegas.williamhill.com/gfwlist -server=/.vegasred.com/127.0.0.1#5335 -ipset=/.vegasred.com/gfwlist -server=/.velkaepocha.sk/127.0.0.1#5335 -ipset=/.velkaepocha.sk/gfwlist -server=/.venbbs.com/127.0.0.1#5335 -ipset=/.venbbs.com/gfwlist -server=/.venchina.com/127.0.0.1#5335 -ipset=/.venchina.com/gfwlist -server=/.venetianmacao.com/127.0.0.1#5335 -ipset=/.venetianmacao.com/gfwlist -server=/.ventureswell.com/127.0.0.1#5335 -ipset=/.ventureswell.com/gfwlist -server=/.veoh.com/127.0.0.1#5335 -ipset=/.veoh.com/gfwlist -server=/.vermonttibet.org/127.0.0.1#5335 -ipset=/.vermonttibet.org/gfwlist -server=/.versavpn.com/127.0.0.1#5335 -ipset=/.versavpn.com/gfwlist -server=/.verybs.com/127.0.0.1#5335 -ipset=/.verybs.com/gfwlist -server=/.vevo.com/127.0.0.1#5335 -ipset=/.vevo.com/gfwlist -server=/.vft.com.tw/127.0.0.1#5335 -ipset=/.vft.com.tw/gfwlist -server=/.viber.com/127.0.0.1#5335 -ipset=/.viber.com/gfwlist -server=/.vica.info/127.0.0.1#5335 -ipset=/.vica.info/gfwlist -server=/.victimsofcommunism.org/127.0.0.1#5335 -ipset=/.victimsofcommunism.org/gfwlist -server=/.vid.me/127.0.0.1#5335 -ipset=/.vid.me/gfwlist -server=/.vidble.com/127.0.0.1#5335 -ipset=/.vidble.com/gfwlist -server=/.video.aol.com/127.0.0.1#5335 -ipset=/.video.aol.com/gfwlist -server=/.video.ap.org/127.0.0.1#5335 -ipset=/.video.ap.org/gfwlist -server=/.video.fdbox.com/127.0.0.1#5335 -ipset=/.video.fdbox.com/gfwlist -server=/.video.foxbusiness.com/127.0.0.1#5335 -ipset=/.video.foxbusiness.com/gfwlist -server=/.video.pbs.org/127.0.0.1#5335 -ipset=/.video.pbs.org/gfwlist -server=/.video.yahoo.com/127.0.0.1#5335 -ipset=/.video.yahoo.com/gfwlist -server=/.videobam.com/127.0.0.1#5335 -ipset=/.videobam.com/gfwlist -server=/.videodetective.com/127.0.0.1#5335 -ipset=/.videodetective.com/gfwlist -server=/.videomega.tv/127.0.0.1#5335 -ipset=/.videomega.tv/gfwlist -server=/.videomo.com/127.0.0.1#5335 -ipset=/.videomo.com/gfwlist -server=/.videopediaworld.com/127.0.0.1#5335 -ipset=/.videopediaworld.com/gfwlist -server=/.videopress.com/127.0.0.1#5335 -ipset=/.videopress.com/gfwlist -server=/.vietdaikynguyen.com/127.0.0.1#5335 -ipset=/.vietdaikynguyen.com/gfwlist -server=/.vijayatemple.org/127.0.0.1#5335 -ipset=/.vijayatemple.org/gfwlist -server=/.vimeo.com/127.0.0.1#5335 -ipset=/.vimeo.com/gfwlist -server=/.vimperator.org/127.0.0.1#5335 -ipset=/.vimperator.org/gfwlist -server=/.vincnd.com/127.0.0.1#5335 -ipset=/.vincnd.com/gfwlist -server=/.vine.co/127.0.0.1#5335 -ipset=/.vine.co/gfwlist -server=/.vinniev.com/127.0.0.1#5335 -ipset=/.vinniev.com/gfwlist -server=/.vip-enterprise.com/127.0.0.1#5335 -ipset=/.vip-enterprise.com/gfwlist -server=/.virtualrealporn.com/127.0.0.1#5335 -ipset=/.virtualrealporn.com/gfwlist -server=/.visibletweets.com/127.0.0.1#5335 -ipset=/.visibletweets.com/gfwlist -server=/.vital247.org/127.0.0.1#5335 -ipset=/.vital247.org/gfwlist -server=/.viu.com/127.0.0.1#5335 -ipset=/.viu.com/gfwlist -server=/.vivahentai4u.net/127.0.0.1#5335 -ipset=/.vivahentai4u.net/gfwlist -server=/.vivatube.com/127.0.0.1#5335 -ipset=/.vivatube.com/gfwlist -server=/.vivthomas.com/127.0.0.1#5335 -ipset=/.vivthomas.com/gfwlist -server=/.vizvaz.com/127.0.0.1#5335 -ipset=/.vizvaz.com/gfwlist -server=/.vjav.com/127.0.0.1#5335 -ipset=/.vjav.com/gfwlist -server=/.vjmedia.com.hk/127.0.0.1#5335 -ipset=/.vjmedia.com.hk/gfwlist -server=/.vllcs.org/127.0.0.1#5335 -ipset=/.vllcs.org/gfwlist -server=/.vlog.xuite.net/127.0.0.1#5335 -ipset=/.vlog.xuite.net/gfwlist -server=/.vmixcore.com/127.0.0.1#5335 -ipset=/.vmixcore.com/gfwlist -server=/.vmpsoft.com/127.0.0.1#5335 -ipset=/.vmpsoft.com/gfwlist -server=/.vn.hao123.com/127.0.0.1#5335 -ipset=/.vn.hao123.com/gfwlist -server=/.vnet.link/127.0.0.1#5335 -ipset=/.vnet.link/gfwlist -server=/.voa-11.akacast.akamaistream.net/127.0.0.1#5335 -ipset=/.voa-11.akacast.akamaistream.net/gfwlist -server=/.voacantonese.com/127.0.0.1#5335 -ipset=/.voacantonese.com/gfwlist -server=/.voachinese.com/127.0.0.1#5335 -ipset=/.voachinese.com/gfwlist -server=/.voachineseblog.com/127.0.0.1#5335 -ipset=/.voachineseblog.com/gfwlist -server=/.voagd.com/127.0.0.1#5335 -ipset=/.voagd.com/gfwlist -server=/.voanews.com/127.0.0.1#5335 -ipset=/.voanews.com/gfwlist -server=/.voatibetan.com/127.0.0.1#5335 -ipset=/.voatibetan.com/gfwlist -server=/.voatibetanenglish.com/127.0.0.1#5335 -ipset=/.voatibetanenglish.com/gfwlist -server=/.vocativ.com/127.0.0.1#5335 -ipset=/.vocativ.com/gfwlist -server=/.vocn.tv/127.0.0.1#5335 -ipset=/.vocn.tv/gfwlist -server=/.vod-abematv.akamaized.net/127.0.0.1#5335 -ipset=/.vod-abematv.akamaized.net/gfwlist -server=/.vod.wwe.com/127.0.0.1#5335 -ipset=/.vod.wwe.com/gfwlist -server=/.vot.org/127.0.0.1#5335 -ipset=/.vot.org/gfwlist -server=/.vovo2000.com/127.0.0.1#5335 -ipset=/.vovo2000.com/gfwlist -server=/.voxer.com/127.0.0.1#5335 -ipset=/.voxer.com/gfwlist -server=/.voy.com/127.0.0.1#5335 -ipset=/.voy.com/gfwlist -server=/.vpn.ac/127.0.0.1#5335 -ipset=/.vpn.ac/gfwlist -server=/.vpn.cjb.net/127.0.0.1#5335 -ipset=/.vpn.cjb.net/gfwlist -server=/.vpn.cmu.edu/127.0.0.1#5335 -ipset=/.vpn.cmu.edu/gfwlist -server=/.vpn.sv.cmu.edu/127.0.0.1#5335 -ipset=/.vpn.sv.cmu.edu/gfwlist -server=/.vpn4all.com/127.0.0.1#5335 -ipset=/.vpn4all.com/gfwlist -server=/.vpnaccount.org/127.0.0.1#5335 -ipset=/.vpnaccount.org/gfwlist -server=/.vpnaccounts.com/127.0.0.1#5335 -ipset=/.vpnaccounts.com/gfwlist -server=/.vpnbook.com/127.0.0.1#5335 -ipset=/.vpnbook.com/gfwlist -server=/.vpncomparison.org/127.0.0.1#5335 -ipset=/.vpncomparison.org/gfwlist -server=/.vpncoupons.com/127.0.0.1#5335 -ipset=/.vpncoupons.com/gfwlist -server=/.vpncup.com/127.0.0.1#5335 -ipset=/.vpncup.com/gfwlist -server=/.vpndada.com/127.0.0.1#5335 -ipset=/.vpndada.com/gfwlist -server=/.vpnfan.com/127.0.0.1#5335 -ipset=/.vpnfan.com/gfwlist -server=/.vpnfire.com/127.0.0.1#5335 -ipset=/.vpnfire.com/gfwlist -server=/.vpnfires.biz/127.0.0.1#5335 -ipset=/.vpnfires.biz/gfwlist -server=/.vpnforgame.net/127.0.0.1#5335 -ipset=/.vpnforgame.net/gfwlist -server=/.vpngate.jp/127.0.0.1#5335 -ipset=/.vpngate.jp/gfwlist -server=/.vpngate.net/127.0.0.1#5335 -ipset=/.vpngate.net/gfwlist -server=/.vpngratis.net/127.0.0.1#5335 -ipset=/.vpngratis.net/gfwlist -server=/.vpnhq.com/127.0.0.1#5335 -ipset=/.vpnhq.com/gfwlist -server=/.vpninja.net/127.0.0.1#5335 -ipset=/.vpninja.net/gfwlist -server=/.vpnintouch.com/127.0.0.1#5335 -ipset=/.vpnintouch.com/gfwlist -server=/.vpnintouch.net/127.0.0.1#5335 -ipset=/.vpnintouch.net/gfwlist -server=/.vpnjack.com/127.0.0.1#5335 -ipset=/.vpnjack.com/gfwlist -server=/.vpnmaster.com/127.0.0.1#5335 -ipset=/.vpnmaster.com/gfwlist -server=/.vpnmentor.com/127.0.0.1#5335 -ipset=/.vpnmentor.com/gfwlist -server=/.vpnpick.com/127.0.0.1#5335 -ipset=/.vpnpick.com/gfwlist -server=/.vpnpop.com/127.0.0.1#5335 -ipset=/.vpnpop.com/gfwlist -server=/.vpnpronet.com/127.0.0.1#5335 -ipset=/.vpnpronet.com/gfwlist -server=/.vpnreactor.com/127.0.0.1#5335 -ipset=/.vpnreactor.com/gfwlist -server=/.vpnreviewz.com/127.0.0.1#5335 -ipset=/.vpnreviewz.com/gfwlist -server=/.vpnsecure.me/127.0.0.1#5335 -ipset=/.vpnsecure.me/gfwlist -server=/.vpnshazam.com/127.0.0.1#5335 -ipset=/.vpnshazam.com/gfwlist -server=/.vpnshieldapp.com/127.0.0.1#5335 -ipset=/.vpnshieldapp.com/gfwlist -server=/.vpnsp.com/127.0.0.1#5335 -ipset=/.vpnsp.com/gfwlist -server=/.vpntraffic.com/127.0.0.1#5335 -ipset=/.vpntraffic.com/gfwlist -server=/.vpntunnel.com/127.0.0.1#5335 -ipset=/.vpntunnel.com/gfwlist -server=/.vpnuk.info/127.0.0.1#5335 -ipset=/.vpnuk.info/gfwlist -server=/.vpnunlimitedapp.com/127.0.0.1#5335 -ipset=/.vpnunlimitedapp.com/gfwlist -server=/.vpnvip.com/127.0.0.1#5335 -ipset=/.vpnvip.com/gfwlist -server=/.vpnworldwide.com/127.0.0.1#5335 -ipset=/.vpnworldwide.com/gfwlist -server=/.vporn.com/127.0.0.1#5335 -ipset=/.vporn.com/gfwlist -server=/.vpser.net/127.0.0.1#5335 -ipset=/.vpser.net/gfwlist -server=/.vraiesagesse.net/127.0.0.1#5335 -ipset=/.vraiesagesse.net/gfwlist -server=/.vrmtr.com/127.0.0.1#5335 -ipset=/.vrmtr.com/gfwlist -server=/.vrsmash.com/127.0.0.1#5335 -ipset=/.vrsmash.com/gfwlist -server=/.vtunnel.com/127.0.0.1#5335 -ipset=/.vtunnel.com/gfwlist -server=/.vuku.cc/127.0.0.1#5335 -ipset=/.vuku.cc/gfwlist -server=/.vultryhw.com/127.0.0.1#5335 -ipset=/.vultryhw.com/gfwlist -server=/.w3schools.com/127.0.0.1#5335 -ipset=/.w3schools.com/gfwlist -server=/.waffle1999.com/127.0.0.1#5335 -ipset=/.waffle1999.com/gfwlist -server=/.wahas.com/127.0.0.1#5335 -ipset=/.wahas.com/gfwlist -server=/.waigaobu.com/127.0.0.1#5335 -ipset=/.waigaobu.com/gfwlist -server=/.wailaike.net/127.0.0.1#5335 -ipset=/.wailaike.net/gfwlist -server=/.waiwaier.com/127.0.0.1#5335 -ipset=/.waiwaier.com/gfwlist -server=/.wallmama.com/127.0.0.1#5335 -ipset=/.wallmama.com/gfwlist -server=/.wallornot.org/127.0.0.1#5335 -ipset=/.wallornot.org/gfwlist -server=/.wallpapercasa.com/127.0.0.1#5335 -ipset=/.wallpapercasa.com/gfwlist -server=/.wallproxy.com/127.0.0.1#5335 -ipset=/.wallproxy.com/gfwlist -server=/.waltermartin.com/127.0.0.1#5335 -ipset=/.waltermartin.com/gfwlist -server=/.waltermartin.org/127.0.0.1#5335 -ipset=/.waltermartin.org/gfwlist -server=/.wanderinghorse.net/127.0.0.1#5335 -ipset=/.wanderinghorse.net/gfwlist -server=/.wangafu.net/127.0.0.1#5335 -ipset=/.wangafu.net/gfwlist -server=/.wangjinbo.org/127.0.0.1#5335 -ipset=/.wangjinbo.org/gfwlist -server=/.wanglixiong.com/127.0.0.1#5335 -ipset=/.wanglixiong.com/gfwlist -server=/.wango.org/127.0.0.1#5335 -ipset=/.wango.org/gfwlist -server=/.wangruoshui.net/127.0.0.1#5335 -ipset=/.wangruoshui.net/gfwlist -server=/.want-daily.com/127.0.0.1#5335 -ipset=/.want-daily.com/gfwlist -server=/.wanz-factory.com/127.0.0.1#5335 -ipset=/.wanz-factory.com/gfwlist -server=/.warbler.iconfactory.net/127.0.0.1#5335 -ipset=/.warbler.iconfactory.net/gfwlist -server=/.waselpro.com/127.0.0.1#5335 -ipset=/.waselpro.com/gfwlist -server=/.washeng.net/127.0.0.1#5335 -ipset=/.washeng.net/gfwlist -server=/.washingtonpost.com/127.0.0.1#5335 -ipset=/.washingtonpost.com/gfwlist -server=/.watch8x.com/127.0.0.1#5335 -ipset=/.watch8x.com/gfwlist -server=/.watchinese.com/127.0.0.1#5335 -ipset=/.watchinese.com/gfwlist -server=/.watchmygf.net/127.0.0.1#5335 -ipset=/.watchmygf.net/gfwlist -server=/.wattpad.com/127.0.0.1#5335 -ipset=/.wattpad.com/gfwlist -server=/.wav.tv/127.0.0.1#5335 -ipset=/.wav.tv/gfwlist -server=/.waveprotocol.org/127.0.0.1#5335 -ipset=/.waveprotocol.org/gfwlist -server=/.waymo.com/127.0.0.1#5335 -ipset=/.waymo.com/gfwlist -server=/.wda.gov.tw/127.0.0.1#5335 -ipset=/.wda.gov.tw/gfwlist -server=/.wdf5.com/127.0.0.1#5335 -ipset=/.wdf5.com/gfwlist -server=/.wearehairy.com/127.0.0.1#5335 -ipset=/.wearehairy.com/gfwlist -server=/.wearn.com/127.0.0.1#5335 -ipset=/.wearn.com/gfwlist -server=/.web.dev/127.0.0.1#5335 -ipset=/.web.dev/gfwlist -server=/.web2project.net/127.0.0.1#5335 -ipset=/.web2project.net/gfwlist -server=/.webbang.net/127.0.0.1#5335 -ipset=/.webbang.net/gfwlist -server=/.webevader.org/127.0.0.1#5335 -ipset=/.webevader.org/gfwlist -server=/.webfreer.com/127.0.0.1#5335 -ipset=/.webfreer.com/gfwlist -server=/.webjb.org/127.0.0.1#5335 -ipset=/.webjb.org/gfwlist -server=/.weblagu.com/127.0.0.1#5335 -ipset=/.weblagu.com/gfwlist -server=/.webmproject.org/127.0.0.1#5335 -ipset=/.webmproject.org/gfwlist -server=/.webrtc.org/127.0.0.1#5335 -ipset=/.webrtc.org/gfwlist -server=/.webrush.net/127.0.0.1#5335 -ipset=/.webrush.net/gfwlist -server=/.webs-tv.net/127.0.0.1#5335 -ipset=/.webs-tv.net/gfwlist -server=/.website.informer.com/127.0.0.1#5335 -ipset=/.website.informer.com/gfwlist -server=/.webwarper.net/127.0.0.1#5335 -ipset=/.webwarper.net/gfwlist -server=/.webworkerdaily.com/127.0.0.1#5335 -ipset=/.webworkerdaily.com/gfwlist -server=/.weekmag.info/127.0.0.1#5335 -ipset=/.weekmag.info/gfwlist -server=/.wefightcensorship.org/127.0.0.1#5335 -ipset=/.wefightcensorship.org/gfwlist -server=/.wefong.com/127.0.0.1#5335 -ipset=/.wefong.com/gfwlist -server=/.wego.here.com/127.0.0.1#5335 -ipset=/.wego.here.com/gfwlist -server=/.weiboleak.com/127.0.0.1#5335 -ipset=/.weiboleak.com/gfwlist -server=/.weiboscope.jmsc.hku.hk/127.0.0.1#5335 -ipset=/.weiboscope.jmsc.hku.hk/gfwlist -server=/.weihuo.org/127.0.0.1#5335 -ipset=/.weihuo.org/gfwlist -server=/.weijingsheng.org/127.0.0.1#5335 -ipset=/.weijingsheng.org/gfwlist -server=/.weiming.info/127.0.0.1#5335 -ipset=/.weiming.info/gfwlist -server=/.weiquanwang.org/127.0.0.1#5335 -ipset=/.weiquanwang.org/gfwlist -server=/.weisuo.ws/127.0.0.1#5335 -ipset=/.weisuo.ws/gfwlist -server=/.welovecock.com/127.0.0.1#5335 -ipset=/.welovecock.com/gfwlist -server=/.wemigrate.org/127.0.0.1#5335 -ipset=/.wemigrate.org/gfwlist -server=/.wengewang.com/127.0.0.1#5335 -ipset=/.wengewang.com/gfwlist -server=/.wengewang.org/127.0.0.1#5335 -ipset=/.wengewang.org/gfwlist -server=/.wenhui.ch/127.0.0.1#5335 -ipset=/.wenhui.ch/gfwlist -server=/.wenxuecity.com/127.0.0.1#5335 -ipset=/.wenxuecity.com/gfwlist -server=/.wenyunchao.com/127.0.0.1#5335 -ipset=/.wenyunchao.com/gfwlist -server=/.wenzhao.ca/127.0.0.1#5335 -ipset=/.wenzhao.ca/gfwlist -server=/.westca.com/127.0.0.1#5335 -ipset=/.westca.com/gfwlist -server=/.westernshugdensociety.org/127.0.0.1#5335 -ipset=/.westernshugdensociety.org/gfwlist -server=/.westernwolves.com/127.0.0.1#5335 -ipset=/.westernwolves.com/gfwlist -server=/.westkit.net/127.0.0.1#5335 -ipset=/.westkit.net/gfwlist -server=/.westpoint.edu/127.0.0.1#5335 -ipset=/.westpoint.edu/gfwlist -server=/.wetplace.com/127.0.0.1#5335 -ipset=/.wetplace.com/gfwlist -server=/.wetpussygames.com/127.0.0.1#5335 -ipset=/.wetpussygames.com/gfwlist -server=/.wexiaobo.org/127.0.0.1#5335 -ipset=/.wexiaobo.org/gfwlist -server=/.wezhiyong.org/127.0.0.1#5335 -ipset=/.wezhiyong.org/gfwlist -server=/.wezone.net/127.0.0.1#5335 -ipset=/.wezone.net/gfwlist -server=/.wforum.com/127.0.0.1#5335 -ipset=/.wforum.com/gfwlist -server=/.wha.la/127.0.0.1#5335 -ipset=/.wha.la/gfwlist -server=/.whatblocked.com/127.0.0.1#5335 -ipset=/.whatblocked.com/gfwlist -server=/.whatbrowser.org/127.0.0.1#5335 -ipset=/.whatbrowser.org/gfwlist -server=/.whatsapp.com/127.0.0.1#5335 -ipset=/.whatsapp.com/gfwlist -server=/.whatsapp.net/127.0.0.1#5335 -ipset=/.whatsapp.net/gfwlist -server=/.wheatseeds.org/127.0.0.1#5335 -ipset=/.wheatseeds.org/gfwlist -server=/.wheelockslatin.com/127.0.0.1#5335 -ipset=/.wheelockslatin.com/gfwlist -server=/.whereiswerner.com/127.0.0.1#5335 -ipset=/.whereiswerner.com/gfwlist -server=/.wheretowatch.com/127.0.0.1#5335 -ipset=/.wheretowatch.com/gfwlist -server=/.whippedass.com/127.0.0.1#5335 -ipset=/.whippedass.com/gfwlist -server=/.whitebear.freebearblog.org/127.0.0.1#5335 -ipset=/.whitebear.freebearblog.org/gfwlist -server=/.whodns.xyz/127.0.0.1#5335 -ipset=/.whodns.xyz/gfwlist -server=/.whoer.net/127.0.0.1#5335 -ipset=/.whoer.net/gfwlist -server=/.whotalking.com/127.0.0.1#5335 -ipset=/.whotalking.com/gfwlist -server=/.whylover.com/127.0.0.1#5335 -ipset=/.whylover.com/gfwlist -server=/.whyx.org/127.0.0.1#5335 -ipset=/.whyx.org/gfwlist -server=/.widevine.com/127.0.0.1#5335 -ipset=/.widevine.com/gfwlist -server=/.wikaba.com/127.0.0.1#5335 -ipset=/.wikaba.com/gfwlist -server=/.wiki.cnitter.com/127.0.0.1#5335 -ipset=/.wiki.cnitter.com/gfwlist -server=/.wiki.gamerp.jp/127.0.0.1#5335 -ipset=/.wiki.gamerp.jp/gfwlist -server=/.wiki.jqueryui.com/127.0.0.1#5335 -ipset=/.wiki.jqueryui.com/gfwlist -server=/.wiki.moegirl.org/127.0.0.1#5335 -ipset=/.wiki.moegirl.org/gfwlist -server=/.wiki.oauth.net/127.0.0.1#5335 -ipset=/.wiki.oauth.net/gfwlist -server=/.wiki.phonegap.com/127.0.0.1#5335 -ipset=/.wiki.phonegap.com/gfwlist -server=/.wikileaks-forum.com/127.0.0.1#5335 -ipset=/.wikileaks-forum.com/gfwlist -server=/.wikileaks.ch/127.0.0.1#5335 -ipset=/.wikileaks.ch/gfwlist -server=/.wikileaks.com/127.0.0.1#5335 -ipset=/.wikileaks.com/gfwlist -server=/.wikileaks.de/127.0.0.1#5335 -ipset=/.wikileaks.de/gfwlist -server=/.wikileaks.eu/127.0.0.1#5335 -ipset=/.wikileaks.eu/gfwlist -server=/.wikileaks.lu/127.0.0.1#5335 -ipset=/.wikileaks.lu/gfwlist -server=/.wikileaks.org/127.0.0.1#5335 -ipset=/.wikileaks.org/gfwlist -server=/.wikileaks.pl/127.0.0.1#5335 -ipset=/.wikileaks.pl/gfwlist -server=/.wikimapia.org/127.0.0.1#5335 -ipset=/.wikimapia.org/gfwlist -server=/.wikipedia.org/127.0.0.1#5335 -ipset=/.wikipedia.org/gfwlist -server=/.wikiwiki.jp/127.0.0.1#5335 -ipset=/.wikiwiki.jp/gfwlist -server=/.wildammo.com/127.0.0.1#5335 -ipset=/.wildammo.com/gfwlist -server=/.williamhill.com/127.0.0.1#5335 -ipset=/.williamhill.com/gfwlist -server=/.willw.net/127.0.0.1#5335 -ipset=/.willw.net/gfwlist -server=/.windowsphoneme.com/127.0.0.1#5335 -ipset=/.windowsphoneme.com/gfwlist -server=/.windscribe.com/127.0.0.1#5335 -ipset=/.windscribe.com/gfwlist -server=/.wingamestore.com/127.0.0.1#5335 -ipset=/.wingamestore.com/gfwlist -server=/.wingy.site/127.0.0.1#5335 -ipset=/.wingy.site/gfwlist -server=/.winning11.com/127.0.0.1#5335 -ipset=/.winning11.com/gfwlist -server=/.winwhispers.info/127.0.0.1#5335 -ipset=/.winwhispers.info/gfwlist -server=/.wionews.com/127.0.0.1#5335 -ipset=/.wionews.com/gfwlist -server=/.wire.com/127.0.0.1#5335 -ipset=/.wire.com/gfwlist -server=/.wiredbytes.com/127.0.0.1#5335 -ipset=/.wiredbytes.com/gfwlist -server=/.wiredpen.com/127.0.0.1#5335 -ipset=/.wiredpen.com/gfwlist -server=/.wisdompubs.org/127.0.0.1#5335 -ipset=/.wisdompubs.org/gfwlist -server=/.wisevid.com/127.0.0.1#5335 -ipset=/.wisevid.com/gfwlist -server=/.withgoogle.com/127.0.0.1#5335 -ipset=/.withgoogle.com/gfwlist -server=/.withyoutube.com/127.0.0.1#5335 -ipset=/.withyoutube.com/gfwlist -server=/.witnessleeteaching.com/127.0.0.1#5335 -ipset=/.witnessleeteaching.com/gfwlist -server=/.witopia.net/127.0.0.1#5335 -ipset=/.witopia.net/gfwlist -server=/.wizcrafts.net/127.0.0.1#5335 -ipset=/.wizcrafts.net/gfwlist -server=/.wjbk.org/127.0.0.1#5335 -ipset=/.wjbk.org/gfwlist -server=/.wlcnew.jigsy.com/127.0.0.1#5335 -ipset=/.wlcnew.jigsy.com/gfwlist -server=/.wlx.sowiki.net/127.0.0.1#5335 -ipset=/.wlx.sowiki.net/gfwlist -server=/.wn.com/127.0.0.1#5335 -ipset=/.wn.com/gfwlist -server=/.wnacg.com/127.0.0.1#5335 -ipset=/.wnacg.com/gfwlist -server=/.wnacg.org/127.0.0.1#5335 -ipset=/.wnacg.org/gfwlist -server=/.wo.tc/127.0.0.1#5335 -ipset=/.wo.tc/gfwlist -server=/.wo3ttt.wordpress.com/127.0.0.1#5335 -ipset=/.wo3ttt.wordpress.com/gfwlist -server=/.woeser.com/127.0.0.1#5335 -ipset=/.woeser.com/gfwlist -server=/.wokar.org/127.0.0.1#5335 -ipset=/.wokar.org/gfwlist -server=/.wolfax.com/127.0.0.1#5335 -ipset=/.wolfax.com/gfwlist -server=/.woolyss.com/127.0.0.1#5335 -ipset=/.woolyss.com/gfwlist -server=/.woopie.jp/127.0.0.1#5335 -ipset=/.woopie.jp/gfwlist -server=/.woopie.tv/127.0.0.1#5335 -ipset=/.woopie.tv/gfwlist -server=/.wordpress.com/127.0.0.1#5335 -ipset=/.wordpress.com/gfwlist -server=/.workatruna.com/127.0.0.1#5335 -ipset=/.workatruna.com/gfwlist -server=/.workerdemo.org.hk/127.0.0.1#5335 -ipset=/.workerdemo.org.hk/gfwlist -server=/.workerempowerment.org/127.0.0.1#5335 -ipset=/.workerempowerment.org/gfwlist -server=/.workersthebig.net/127.0.0.1#5335 -ipset=/.workersthebig.net/gfwlist -server=/.worldcat.org/127.0.0.1#5335 -ipset=/.worldcat.org/gfwlist -server=/.worldjournal.com/127.0.0.1#5335 -ipset=/.worldjournal.com/gfwlist -server=/.worldvpn.net/127.0.0.1#5335 -ipset=/.worldvpn.net/gfwlist -server=/.wow-life.net/127.0.0.1#5335 -ipset=/.wow-life.net/gfwlist -server=/.wow.com/127.0.0.1#5335 -ipset=/.wow.com/gfwlist -server=/.wowgirls.com/127.0.0.1#5335 -ipset=/.wowgirls.com/gfwlist -server=/.wowlegacy.ml/127.0.0.1#5335 -ipset=/.wowlegacy.ml/gfwlist -server=/.wowporn.com/127.0.0.1#5335 -ipset=/.wowporn.com/gfwlist -server=/.wowrk.com/127.0.0.1#5335 -ipset=/.wowrk.com/gfwlist -server=/.woxinghuiguo.com/127.0.0.1#5335 -ipset=/.woxinghuiguo.com/gfwlist -server=/.woyaolian.org/127.0.0.1#5335 -ipset=/.woyaolian.org/gfwlist -server=/.wozy.in/127.0.0.1#5335 -ipset=/.wozy.in/gfwlist -server=/.wp.com/127.0.0.1#5335 -ipset=/.wp.com/gfwlist -server=/.wpoforum.com/127.0.0.1#5335 -ipset=/.wpoforum.com/gfwlist -server=/.wqyd.org/127.0.0.1#5335 -ipset=/.wqyd.org/gfwlist -server=/.wrchina.org/127.0.0.1#5335 -ipset=/.wrchina.org/gfwlist -server=/.wretch.cc/127.0.0.1#5335 -ipset=/.wretch.cc/gfwlist -server=/.writer.zoho.com/127.0.0.1#5335 -ipset=/.writer.zoho.com/gfwlist -server=/.wsj.com/127.0.0.1#5335 -ipset=/.wsj.com/gfwlist -server=/.wsj.net/127.0.0.1#5335 -ipset=/.wsj.net/gfwlist -server=/.wsjhk.com/127.0.0.1#5335 -ipset=/.wsjhk.com/gfwlist -server=/.wtbn.org/127.0.0.1#5335 -ipset=/.wtbn.org/gfwlist -server=/.wtfpeople.com/127.0.0.1#5335 -ipset=/.wtfpeople.com/gfwlist -server=/.wuerkaixi.com/127.0.0.1#5335 -ipset=/.wuerkaixi.com/gfwlist -server=/.wufafangwen.com/127.0.0.1#5335 -ipset=/.wufafangwen.com/gfwlist -server=/.wufi.org.tw/127.0.0.1#5335 -ipset=/.wufi.org.tw/gfwlist -server=/.wuguoguang.com/127.0.0.1#5335 -ipset=/.wuguoguang.com/gfwlist -server=/.wujie.net/127.0.0.1#5335 -ipset=/.wujie.net/gfwlist -server=/.wujieliulan.com/127.0.0.1#5335 -ipset=/.wujieliulan.com/gfwlist -server=/.wukangrui.net/127.0.0.1#5335 -ipset=/.wukangrui.net/gfwlist -server=/.wuw.red/127.0.0.1#5335 -ipset=/.wuw.red/gfwlist -server=/.wuyanblog.com/127.0.0.1#5335 -ipset=/.wuyanblog.com/gfwlist -server=/.wwitv.com/127.0.0.1#5335 -ipset=/.wwitv.com/gfwlist -server=/.www.abclite.net/127.0.0.1#5335 -ipset=/.www.abclite.net/gfwlist -server=/.www.ajsands.com/127.0.0.1#5335 -ipset=/.www.ajsands.com/gfwlist -server=/.www.americorps.gov/127.0.0.1#5335 -ipset=/.www.americorps.gov/gfwlist -server=/.www.antd.org/127.0.0.1#5335 -ipset=/.www.antd.org/gfwlist -server=/.www.aolnews.com/127.0.0.1#5335 -ipset=/.www.aolnews.com/gfwlist -server=/.www.citizenlab.org/127.0.0.1#5335 -ipset=/.www.citizenlab.org/gfwlist -server=/.www.cmoinc.org/127.0.0.1#5335 -ipset=/.www.cmoinc.org/gfwlist -server=/.www.dwheeler.com/127.0.0.1#5335 -ipset=/.www.dwheeler.com/gfwlist -server=/.www.gmiddle.com/127.0.0.1#5335 -ipset=/.www.gmiddle.com/gfwlist -server=/.www.gmiddle.net/127.0.0.1#5335 -ipset=/.www.gmiddle.net/gfwlist -server=/.www.hustlercash.com/127.0.0.1#5335 -ipset=/.www.hustlercash.com/gfwlist -server=/.www.idlcoyote.com/127.0.0.1#5335 -ipset=/.www.idlcoyote.com/gfwlist -server=/.www.kindleren.com/127.0.0.1#5335 -ipset=/.www.kindleren.com/gfwlist -server=/.www.klip.me/127.0.0.1#5335 -ipset=/.www.klip.me/gfwlist -server=/.www.lamenhu.com/127.0.0.1#5335 -ipset=/.www.lamenhu.com/gfwlist -server=/.www.linksalpha.com/127.0.0.1#5335 -ipset=/.www.linksalpha.com/gfwlist -server=/.www.m-sport.co.uk/127.0.0.1#5335 -ipset=/.www.m-sport.co.uk/gfwlist -server=/.www.monlamit.org/127.0.0.1#5335 -ipset=/.www.monlamit.org/gfwlist -server=/.www.moztw.org/127.0.0.1#5335 -ipset=/.www.moztw.org/gfwlist -server=/.www.orchidbbs.com/127.0.0.1#5335 -ipset=/.www.orchidbbs.com/gfwlist -server=/.www.owind.com/127.0.0.1#5335 -ipset=/.www.owind.com/gfwlist -server=/.www.oxid.it/127.0.0.1#5335 -ipset=/.www.oxid.it/gfwlist -server=/.www.powerpointninja.com/127.0.0.1#5335 -ipset=/.www.powerpointninja.com/gfwlist -server=/.www.s4miniarchive.com/127.0.0.1#5335 -ipset=/.www.s4miniarchive.com/gfwlist -server=/.www.shadowsocks.com/127.0.0.1#5335 -ipset=/.www.shadowsocks.com/gfwlist -server=/.www.shwchurch.org/127.0.0.1#5335 -ipset=/.www.shwchurch.org/gfwlist -server=/.www.taup.org.tw/127.0.0.1#5335 -ipset=/.www.taup.org.tw/gfwlist -server=/.www.wan-press.org/127.0.0.1#5335 -ipset=/.www.wan-press.org/gfwlist -server=/.www.wangruowang.org/127.0.0.1#5335 -ipset=/.www.wangruowang.org/gfwlist -server=/.www.websnapr.com/127.0.0.1#5335 -ipset=/.www.websnapr.com/gfwlist -server=/.www1.biz/127.0.0.1#5335 -ipset=/.www1.biz/gfwlist -server=/.wwwhost.biz/127.0.0.1#5335 -ipset=/.wwwhost.biz/gfwlist -server=/.x-art.com/127.0.0.1#5335 -ipset=/.x-art.com/gfwlist -server=/.x-berry.com/127.0.0.1#5335 -ipset=/.x-berry.com/gfwlist -server=/.x-wall.org/127.0.0.1#5335 -ipset=/.x-wall.org/gfwlist -server=/.x.company/127.0.0.1#5335 -ipset=/.x.company/gfwlist -server=/.x1949x.com/127.0.0.1#5335 -ipset=/.x1949x.com/gfwlist -server=/.x24hr.com/127.0.0.1#5335 -ipset=/.x24hr.com/gfwlist -server=/.x365x.com/127.0.0.1#5335 -ipset=/.x365x.com/gfwlist -server=/.xa.yimg.com/127.0.0.1#5335 -ipset=/.xa.yimg.com/gfwlist -server=/.xanga.com/127.0.0.1#5335 -ipset=/.xanga.com/gfwlist -server=/.xbabe.com/127.0.0.1#5335 -ipset=/.xbabe.com/gfwlist -server=/.xbookcn.com/127.0.0.1#5335 -ipset=/.xbookcn.com/gfwlist -server=/.xbtce.com/127.0.0.1#5335 -ipset=/.xbtce.com/gfwlist -server=/.xcafe.in/127.0.0.1#5335 -ipset=/.xcafe.in/gfwlist -server=/.xcity.jp/127.0.0.1#5335 -ipset=/.xcity.jp/gfwlist -server=/.xcritic.com/127.0.0.1#5335 -ipset=/.xcritic.com/gfwlist -server=/.xerotica.com/127.0.0.1#5335 -ipset=/.xerotica.com/gfwlist -server=/.xfinity.com/127.0.0.1#5335 -ipset=/.xfinity.com/gfwlist -server=/.xfm.pp.ru/127.0.0.1#5335 -ipset=/.xfm.pp.ru/gfwlist -server=/.xgmyd.com/127.0.0.1#5335 -ipset=/.xgmyd.com/gfwlist -server=/.xhamster.com/127.0.0.1#5335 -ipset=/.xhamster.com/gfwlist -server=/.xianba.net/127.0.0.1#5335 -ipset=/.xianba.net/gfwlist -server=/.xianchawang.net/127.0.0.1#5335 -ipset=/.xianchawang.net/gfwlist -server=/.xianjian.tw/127.0.0.1#5335 -ipset=/.xianjian.tw/gfwlist -server=/.xianqiao.net/127.0.0.1#5335 -ipset=/.xianqiao.net/gfwlist -server=/.xiaobaiwu.com/127.0.0.1#5335 -ipset=/.xiaobaiwu.com/gfwlist -server=/.xiaochuncnjp.com/127.0.0.1#5335 -ipset=/.xiaochuncnjp.com/gfwlist -server=/.xiaod.in/127.0.0.1#5335 -ipset=/.xiaod.in/gfwlist -server=/.xiaohexie.com/127.0.0.1#5335 -ipset=/.xiaohexie.com/gfwlist -server=/.xiaolan.me/127.0.0.1#5335 -ipset=/.xiaolan.me/gfwlist -server=/.xiaoma.org/127.0.0.1#5335 -ipset=/.xiaoma.org/gfwlist -server=/.xiezhua.com/127.0.0.1#5335 -ipset=/.xiezhua.com/gfwlist -server=/.xihua.es/127.0.0.1#5335 -ipset=/.xihua.es/gfwlist -server=/.xijie.wordpress.com/127.0.0.1#5335 -ipset=/.xijie.wordpress.com/gfwlist -server=/.xing.com/127.0.0.1#5335 -ipset=/.xing.com/gfwlist -server=/.xinhuanet.org/127.0.0.1#5335 -ipset=/.xinhuanet.org/gfwlist -server=/.xinmiao.com.hk/127.0.0.1#5335 -ipset=/.xinmiao.com.hk/gfwlist -server=/.xinqimeng.over-blog.com/127.0.0.1#5335 -ipset=/.xinqimeng.over-blog.com/gfwlist -server=/.xinsheng.net/127.0.0.1#5335 -ipset=/.xinsheng.net/gfwlist -server=/.xinshijue.com/127.0.0.1#5335 -ipset=/.xinshijue.com/gfwlist -server=/.xinyubbs.net/127.0.0.1#5335 -ipset=/.xinyubbs.net/gfwlist -server=/.xiongpian.com/127.0.0.1#5335 -ipset=/.xiongpian.com/gfwlist -server=/.xiuren.org/127.0.0.1#5335 -ipset=/.xiuren.org/gfwlist -server=/.xizang-zhiye.org/127.0.0.1#5335 -ipset=/.xizang-zhiye.org/gfwlist -server=/.xjp.cc/127.0.0.1#5335 -ipset=/.xjp.cc/gfwlist -server=/.xjtravelguide.com/127.0.0.1#5335 -ipset=/.xjtravelguide.com/gfwlist -server=/.xlfmtalk.com/127.0.0.1#5335 -ipset=/.xlfmtalk.com/gfwlist -server=/.xlfmwz.info/127.0.0.1#5335 -ipset=/.xlfmwz.info/gfwlist -server=/.xm.com/127.0.0.1#5335 -ipset=/.xm.com/gfwlist -server=/.xml-training-guide.com/127.0.0.1#5335 -ipset=/.xml-training-guide.com/gfwlist -server=/.xmovies.com/127.0.0.1#5335 -ipset=/.xmovies.com/gfwlist -server=/.xn--4gq171p.com/127.0.0.1#5335 -ipset=/.xn--4gq171p.com/gfwlist -server=/.xn--czq75pvv1aj5c.org/127.0.0.1#5335 -ipset=/.xn--czq75pvv1aj5c.org/gfwlist -server=/.xn--i2ru8q2qg.com/127.0.0.1#5335 -ipset=/.xn--i2ru8q2qg.com/gfwlist -server=/.xn--ngstr-lra8j.com/127.0.0.1#5335 -ipset=/.xn--ngstr-lra8j.com/gfwlist -server=/.xn--oiq.cc/127.0.0.1#5335 -ipset=/.xn--oiq.cc/gfwlist -server=/.xn--p8j9a0d9c9a.xn--q9jyb4c/127.0.0.1#5335 -ipset=/.xn--p8j9a0d9c9a.xn--q9jyb4c/gfwlist -server=/.xnxx.com/127.0.0.1#5335 -ipset=/.xnxx.com/gfwlist -server=/.xpdo.net/127.0.0.1#5335 -ipset=/.xpdo.net/gfwlist -server=/.xpud.org/127.0.0.1#5335 -ipset=/.xpud.org/gfwlist -server=/.xrentdvd.com/127.0.0.1#5335 -ipset=/.xrentdvd.com/gfwlist -server=/.xskywalker.com/127.0.0.1#5335 -ipset=/.xskywalker.com/gfwlist -server=/.xskywalker.net/127.0.0.1#5335 -ipset=/.xskywalker.net/gfwlist -server=/.xtube.com/127.0.0.1#5335 -ipset=/.xtube.com/gfwlist -server=/.xuchao.net/127.0.0.1#5335 -ipset=/.xuchao.net/gfwlist -server=/.xuchao.org/127.0.0.1#5335 -ipset=/.xuchao.org/gfwlist -server=/.xuehua.us/127.0.0.1#5335 -ipset=/.xuehua.us/gfwlist -server=/.xuzhiyong.net/127.0.0.1#5335 -ipset=/.xuzhiyong.net/gfwlist -server=/.xvideo.cc/127.0.0.1#5335 -ipset=/.xvideo.cc/gfwlist -server=/.xvideos.com/127.0.0.1#5335 -ipset=/.xvideos.com/gfwlist -server=/.xvideos.es/127.0.0.1#5335 -ipset=/.xvideos.es/gfwlist -server=/.xxbbx.com/127.0.0.1#5335 -ipset=/.xxbbx.com/gfwlist -server=/.xxlmovies.com/127.0.0.1#5335 -ipset=/.xxlmovies.com/gfwlist -server=/.xxuz.com/127.0.0.1#5335 -ipset=/.xxuz.com/gfwlist -server=/.xxx.com/127.0.0.1#5335 -ipset=/.xxx.com/gfwlist -server=/.xxx.xxx/127.0.0.1#5335 -ipset=/.xxx.xxx/gfwlist -server=/.xxxfuckmom.com/127.0.0.1#5335 -ipset=/.xxxfuckmom.com/gfwlist -server=/.xxxx.com.au/127.0.0.1#5335 -ipset=/.xxxx.com.au/gfwlist -server=/.xxxy.biz/127.0.0.1#5335 -ipset=/.xxxy.biz/gfwlist -server=/.xxxy.info/127.0.0.1#5335 -ipset=/.xxxy.info/gfwlist -server=/.xxxymovies.com/127.0.0.1#5335 -ipset=/.xxxymovies.com/gfwlist -server=/.xys.dxiong.com/127.0.0.1#5335 -ipset=/.xys.dxiong.com/gfwlist -server=/.xys.org/127.0.0.1#5335 -ipset=/.xys.org/gfwlist -server=/.xysblogs.org/127.0.0.1#5335 -ipset=/.xysblogs.org/gfwlist -server=/.xyy69.com/127.0.0.1#5335 -ipset=/.xyy69.com/gfwlist -server=/.xyy69.info/127.0.0.1#5335 -ipset=/.xyy69.info/gfwlist -server=/.yahoo.com.hk/127.0.0.1#5335 -ipset=/.yahoo.com.hk/gfwlist -server=/.yakbutterblues.com/127.0.0.1#5335 -ipset=/.yakbutterblues.com/gfwlist -server=/.yam.com/127.0.0.1#5335 -ipset=/.yam.com/gfwlist -server=/.yam.org.tw/127.0.0.1#5335 -ipset=/.yam.org.tw/gfwlist -server=/.yanghengjun.com/127.0.0.1#5335 -ipset=/.yanghengjun.com/gfwlist -server=/.yangjianli.com/127.0.0.1#5335 -ipset=/.yangjianli.com/gfwlist -server=/.yasni.co.uk/127.0.0.1#5335 -ipset=/.yasni.co.uk/gfwlist -server=/.ydy.com/127.0.0.1#5335 -ipset=/.ydy.com/gfwlist -server=/.yeahteentube.com/127.0.0.1#5335 -ipset=/.yeahteentube.com/gfwlist -server=/.yecl.net/127.0.0.1#5335 -ipset=/.yecl.net/gfwlist -server=/.yeelou.com/127.0.0.1#5335 -ipset=/.yeelou.com/gfwlist -server=/.yeeyi.com/127.0.0.1#5335 -ipset=/.yeeyi.com/gfwlist -server=/.yegle.net/127.0.0.1#5335 -ipset=/.yegle.net/gfwlist -server=/.yes-news.com/127.0.0.1#5335 -ipset=/.yes-news.com/gfwlist -server=/.yes.xxx/127.0.0.1#5335 -ipset=/.yes.xxx/gfwlist -server=/.yes123.com.tw/127.0.0.1#5335 -ipset=/.yes123.com.tw/gfwlist -server=/.yesasia.com/127.0.0.1#5335 -ipset=/.yesasia.com/gfwlist -server=/.yespornplease.com/127.0.0.1#5335 -ipset=/.yespornplease.com/gfwlist -server=/.yeyeclub.com/127.0.0.1#5335 -ipset=/.yeyeclub.com/gfwlist -server=/.ygto.com/127.0.0.1#5335 -ipset=/.ygto.com/gfwlist -server=/.yhcw.net/127.0.0.1#5335 -ipset=/.yhcw.net/gfwlist -server=/.yibada.com/127.0.0.1#5335 -ipset=/.yibada.com/gfwlist -server=/.yibaochina.com/127.0.0.1#5335 -ipset=/.yibaochina.com/gfwlist -server=/.yidio.com/127.0.0.1#5335 -ipset=/.yidio.com/gfwlist -server=/.yigeni.com/127.0.0.1#5335 -ipset=/.yigeni.com/gfwlist -server=/.yilubbs.com/127.0.0.1#5335 -ipset=/.yilubbs.com/gfwlist -server=/.yingsuoss.com/127.0.0.1#5335 -ipset=/.yingsuoss.com/gfwlist -server=/.yipub.com/127.0.0.1#5335 -ipset=/.yipub.com/gfwlist -server=/.yizhihongxing.com/127.0.0.1#5335 -ipset=/.yizhihongxing.com/gfwlist -server=/.yobit.net/127.0.0.1#5335 -ipset=/.yobit.net/gfwlist -server=/.yobt.com/127.0.0.1#5335 -ipset=/.yobt.com/gfwlist -server=/.yobt.tv/127.0.0.1#5335 -ipset=/.yobt.tv/gfwlist -server=/.yogichen.org/127.0.0.1#5335 -ipset=/.yogichen.org/gfwlist -server=/.yolasite.com/127.0.0.1#5335 -ipset=/.yolasite.com/gfwlist -server=/.yomiuri.co.jp/127.0.0.1#5335 -ipset=/.yomiuri.co.jp/gfwlist -server=/.yong.hu/127.0.0.1#5335 -ipset=/.yong.hu/gfwlist -server=/.yorkbbs.ca/127.0.0.1#5335 -ipset=/.yorkbbs.ca/gfwlist -server=/.you-get.org/127.0.0.1#5335 -ipset=/.you-get.org/gfwlist -server=/.youdontcare.com/127.0.0.1#5335 -ipset=/.youdontcare.com/gfwlist -server=/.youjizz.com/127.0.0.1#5335 -ipset=/.youjizz.com/gfwlist -server=/.youmaker.com/127.0.0.1#5335 -ipset=/.youmaker.com/gfwlist -server=/.youngpornvideos.com/127.0.0.1#5335 -ipset=/.youngpornvideos.com/gfwlist -server=/.youngspiration.hk/127.0.0.1#5335 -ipset=/.youngspiration.hk/gfwlist -server=/.youpai.org/127.0.0.1#5335 -ipset=/.youpai.org/gfwlist -server=/.youporn.com/127.0.0.1#5335 -ipset=/.youporn.com/gfwlist -server=/.youporngay.com/127.0.0.1#5335 -ipset=/.youporngay.com/gfwlist -server=/.your-freedom.net/127.0.0.1#5335 -ipset=/.your-freedom.net/gfwlist -server=/.yourepeat.com/127.0.0.1#5335 -ipset=/.yourepeat.com/gfwlist -server=/.yourlisten.com/127.0.0.1#5335 -ipset=/.yourlisten.com/gfwlist -server=/.yourlust.com/127.0.0.1#5335 -ipset=/.yourlust.com/gfwlist -server=/.yourprivatevpn.com/127.0.0.1#5335 -ipset=/.yourprivatevpn.com/gfwlist -server=/.yourtrap.com/127.0.0.1#5335 -ipset=/.yourtrap.com/gfwlist -server=/.yousendit.com/127.0.0.1#5335 -ipset=/.yousendit.com/gfwlist -server=/.youshun12.com/127.0.0.1#5335 -ipset=/.youshun12.com/gfwlist -server=/.youtu.be/127.0.0.1#5335 -ipset=/.youtu.be/gfwlist -server=/.youtube-nocookie.com/127.0.0.1#5335 -ipset=/.youtube-nocookie.com/gfwlist -server=/.youtube.com/127.0.0.1#5335 -ipset=/.youtube.com/gfwlist -server=/.youtubecn.com/127.0.0.1#5335 -ipset=/.youtubecn.com/gfwlist -server=/.youtubeeducation.com/127.0.0.1#5335 -ipset=/.youtubeeducation.com/gfwlist -server=/.youtubegaming.com/127.0.0.1#5335 -ipset=/.youtubegaming.com/gfwlist -server=/.youversion.com/127.0.0.1#5335 -ipset=/.youversion.com/gfwlist -server=/.youwin.com/127.0.0.1#5335 -ipset=/.youwin.com/gfwlist -server=/.youxu.info/127.0.0.1#5335 -ipset=/.youxu.info/gfwlist -server=/.yt.be/127.0.0.1#5335 -ipset=/.yt.be/gfwlist -server=/.ytht.net/127.0.0.1#5335 -ipset=/.ytht.net/gfwlist -server=/.ytimg.com/127.0.0.1#5335 -ipset=/.ytimg.com/gfwlist -server=/.ytn.co.kr/127.0.0.1#5335 -ipset=/.ytn.co.kr/gfwlist -server=/.yuanming.net/127.0.0.1#5335 -ipset=/.yuanming.net/gfwlist -server=/.yuanzhengtang.org/127.0.0.1#5335 -ipset=/.yuanzhengtang.org/gfwlist -server=/.yulghun.com/127.0.0.1#5335 -ipset=/.yulghun.com/gfwlist -server=/.yunchao.net/127.0.0.1#5335 -ipset=/.yunchao.net/gfwlist -server=/.yuntipub.com/127.0.0.1#5335 -ipset=/.yuntipub.com/gfwlist -server=/.yuvutu.com/127.0.0.1#5335 -ipset=/.yuvutu.com/gfwlist -server=/.yvesgeleyn.com/127.0.0.1#5335 -ipset=/.yvesgeleyn.com/gfwlist -server=/.yx51.net/127.0.0.1#5335 -ipset=/.yx51.net/gfwlist -server=/.yyii.org/127.0.0.1#5335 -ipset=/.yyii.org/gfwlist -server=/.yzzk.com/127.0.0.1#5335 -ipset=/.yzzk.com/gfwlist -server=/.zacebook.com/127.0.0.1#5335 -ipset=/.zacebook.com/gfwlist -server=/.zalmos.com/127.0.0.1#5335 -ipset=/.zalmos.com/gfwlist -server=/.zannel.com/127.0.0.1#5335 -ipset=/.zannel.com/gfwlist -server=/.zaobao.com/127.0.0.1#5335 -ipset=/.zaobao.com/gfwlist -server=/.zaozon.com/127.0.0.1#5335 -ipset=/.zaozon.com/gfwlist -server=/.zapto.org/127.0.0.1#5335 -ipset=/.zapto.org/gfwlist -server=/.zattoo.com/127.0.0.1#5335 -ipset=/.zattoo.com/gfwlist -server=/.zb.com/127.0.0.1#5335 -ipset=/.zb.com/gfwlist -server=/.zdnet.com.tw/127.0.0.1#5335 -ipset=/.zdnet.com.tw/gfwlist -server=/.zello.com/127.0.0.1#5335 -ipset=/.zello.com/gfwlist -server=/.zengjinyan.org/127.0.0.1#5335 -ipset=/.zengjinyan.org/gfwlist -server=/.zenmate.com/127.0.0.1#5335 -ipset=/.zenmate.com/gfwlist -server=/.zeronet.io/127.0.0.1#5335 -ipset=/.zeronet.io/gfwlist -server=/.zeutch.com/127.0.0.1#5335 -ipset=/.zeutch.com/gfwlist -server=/.zfreet.com/127.0.0.1#5335 -ipset=/.zfreet.com/gfwlist -server=/.zgsddh.com/127.0.0.1#5335 -ipset=/.zgsddh.com/gfwlist -server=/.zgzcjj.net/127.0.0.1#5335 -ipset=/.zgzcjj.net/gfwlist -server=/.zh.bitterwinter.org/127.0.0.1#5335 -ipset=/.zh.bitterwinter.org/gfwlist -server=/.zh.ecdm.wikia.com/127.0.0.1#5335 -ipset=/.zh.ecdm.wikia.com/gfwlist -server=/.zh.pokerstrategy.com/127.0.0.1#5335 -ipset=/.zh.pokerstrategy.com/gfwlist -server=/.zh.uncyclopedia.wikia.com/127.0.0.1#5335 -ipset=/.zh.uncyclopedia.wikia.com/gfwlist -server=/.zh.wikinews.org/127.0.0.1#5335 -ipset=/.zh.wikinews.org/gfwlist -server=/.zh.wikisource.org/127.0.0.1#5335 -ipset=/.zh.wikisource.org/gfwlist -server=/.zhanbin.net/127.0.0.1#5335 -ipset=/.zhanbin.net/gfwlist -server=/.zhangboli.net/127.0.0.1#5335 -ipset=/.zhangboli.net/gfwlist -server=/.zhangtianliang.com/127.0.0.1#5335 -ipset=/.zhangtianliang.com/gfwlist -server=/.zhanlve.org/127.0.0.1#5335 -ipset=/.zhanlve.org/gfwlist -server=/.zhao.1984.city/127.0.0.1#5335 -ipset=/.zhao.1984.city/gfwlist -server=/.zhao.jinhai.de/127.0.0.1#5335 -ipset=/.zhao.jinhai.de/gfwlist -server=/.zhenghui.org/127.0.0.1#5335 -ipset=/.zhenghui.org/gfwlist -server=/.zhengjian.org/127.0.0.1#5335 -ipset=/.zhengjian.org/gfwlist -server=/.zhengwunet.org/127.0.0.1#5335 -ipset=/.zhengwunet.org/gfwlist -server=/.zhenlibu.info/127.0.0.1#5335 -ipset=/.zhenlibu.info/gfwlist -server=/.zhenlibu1984.com/127.0.0.1#5335 -ipset=/.zhenlibu1984.com/gfwlist -server=/.zhenxiang.biz/127.0.0.1#5335 -ipset=/.zhenxiang.biz/gfwlist -server=/.zhinengluyou.com/127.0.0.1#5335 -ipset=/.zhinengluyou.com/gfwlist -server=/.zhongguo.ca/127.0.0.1#5335 -ipset=/.zhongguo.ca/gfwlist -server=/.zhongguorenquan.org/127.0.0.1#5335 -ipset=/.zhongguorenquan.org/gfwlist -server=/.zhongguotese.net/127.0.0.1#5335 -ipset=/.zhongguotese.net/gfwlist -server=/.zhongmeng.org/127.0.0.1#5335 -ipset=/.zhongmeng.org/gfwlist -server=/.zhoushuguang.com/127.0.0.1#5335 -ipset=/.zhoushuguang.com/gfwlist -server=/.zhreader.com/127.0.0.1#5335 -ipset=/.zhreader.com/gfwlist -server=/.zhuangbi.me/127.0.0.1#5335 -ipset=/.zhuangbi.me/gfwlist -server=/.zhuanxing.cn/127.0.0.1#5335 -ipset=/.zhuanxing.cn/gfwlist -server=/.zhuatieba.com/127.0.0.1#5335 -ipset=/.zhuatieba.com/gfwlist -server=/.zhuichaguoji.org/127.0.0.1#5335 -ipset=/.zhuichaguoji.org/gfwlist -server=/.zillionk.com/127.0.0.1#5335 -ipset=/.zillionk.com/gfwlist -server=/.zim.vn/127.0.0.1#5335 -ipset=/.zim.vn/gfwlist -server=/.zinio.com/127.0.0.1#5335 -ipset=/.zinio.com/gfwlist -server=/.ziporn.com/127.0.0.1#5335 -ipset=/.ziporn.com/gfwlist -server=/.zippyshare.com/127.0.0.1#5335 -ipset=/.zippyshare.com/gfwlist -server=/.zkaip.com/127.0.0.1#5335 -ipset=/.zkaip.com/gfwlist -server=/.zmw.cn/127.0.0.1#5335 -ipset=/.zmw.cn/gfwlist -server=/.zodgame.us/127.0.0.1#5335 -ipset=/.zodgame.us/gfwlist -server=/.zomobo.net/127.0.0.1#5335 -ipset=/.zomobo.net/gfwlist -server=/.zonaeuropa.com/127.0.0.1#5335 -ipset=/.zonaeuropa.com/gfwlist -server=/.zonghexinwen.com/127.0.0.1#5335 -ipset=/.zonghexinwen.com/gfwlist -server=/.zonghexinwen.net/127.0.0.1#5335 -ipset=/.zonghexinwen.net/gfwlist -server=/.zoogvpn.com/127.0.0.1#5335 -ipset=/.zoogvpn.com/gfwlist -server=/.zootool.com/127.0.0.1#5335 -ipset=/.zootool.com/gfwlist -server=/.zoozle.net/127.0.0.1#5335 -ipset=/.zoozle.net/gfwlist -server=/.zorrovpn.com/127.0.0.1#5335 -ipset=/.zorrovpn.com/gfwlist -server=/.zozotown.com/127.0.0.1#5335 -ipset=/.zozotown.com/gfwlist -server=/.zpn.im/127.0.0.1#5335 -ipset=/.zpn.im/gfwlist -server=/.zspeeder.me/127.0.0.1#5335 -ipset=/.zspeeder.me/gfwlist -server=/.zsrhao.com/127.0.0.1#5335 -ipset=/.zsrhao.com/gfwlist -server=/.zuo.la/127.0.0.1#5335 -ipset=/.zuo.la/gfwlist -server=/.zuobiao.me/127.0.0.1#5335 -ipset=/.zuobiao.me/gfwlist -server=/.zuola.com/127.0.0.1#5335 -ipset=/.zuola.com/gfwlist -server=/.zvereff.com/127.0.0.1#5335 -ipset=/.zvereff.com/gfwlist -server=/.zynaima.com/127.0.0.1#5335 -ipset=/.zynaima.com/gfwlist -server=/.zynamics.com/127.0.0.1#5335 -ipset=/.zynamics.com/gfwlist -server=/.zyns.com/127.0.0.1#5335 -ipset=/.zyns.com/gfwlist -server=/.zyzc9.com/127.0.0.1#5335 -ipset=/.zyzc9.com/gfwlist -server=/.zzcartoon.com/127.0.0.1#5335 -ipset=/.zzcartoon.com/gfwlist -server=/.zzcloud.me/127.0.0.1#5335 -ipset=/.zzcloud.me/gfwlist -server=/.zzux.com/127.0.0.1#5335 -ipset=/.zzux.com/gfwlist diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/netflix_domain.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/netflix_domain.list deleted file mode 100644 index 40ad124b30..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/netflix_domain.list +++ /dev/null @@ -1,22 +0,0 @@ -fast.com -netflix.ca -netflix.com -netflix.net -netflixinvestor.com -netflixtechblog.com -nflxext.com -nflximg.com -nflximg.net -nflxsearch.net -nflxso.net -nflxvideo.net -netflixdnstest0.com -netflixdnstest1.com -netflixdnstest2.com -netflixdnstest3.com -netflixdnstest4.com -netflixdnstest5.com -netflixdnstest6.com -netflixdnstest7.com -netflixdnstest8.com -netflixdnstest9.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/netflix_ip.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/netflix_ip.list deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/oversea_list.conf b/package/ctcgfw/luci-app-vssr/root/etc/vssr/oversea_list.conf deleted file mode 100644 index ae50fb90d0..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/oversea_list.conf +++ /dev/null @@ -1,192 +0,0 @@ -server=/v.youku.com/127.0.0.1#5335 -server=/api.youku.com/127.0.0.1#5335 -server=/v2.tudou.com/127.0.0.1#5335 -server=/www.tudou.com/127.0.0.1#5335 -server=/s.plcloud.music.qq.com/127.0.0.1#5335 -server=/i.y.qq.com/127.0.0.1#5335 -server=/hot.vrs.sohu.com/127.0.0.1#5335 -server=/live.tv.sohu.com/127.0.0.1#5335 -server=/pad.tv.sohu.com/127.0.0.1#5335 -server=/my.tv.sohu.com/127.0.0.1#5335 -server=/hot.vrs.letv.com/127.0.0.1#5335 -server=/data.video.qiyi.com/127.0.0.1#5335 -server=/cache.video.qiyi.com/127.0.0.1#5335 -server=/cache.vip.qiyi.com/127.0.0.1#5335 -server=/vv.video.qq.com/127.0.0.1#5335 -server=/tt.video.qq.com/127.0.0.1#5335 -server=/ice.video.qq.com/127.0.0.1#5335 -server=/tjsa.video.qq.com/127.0.0.1#5335 -server=/a10.video.qq.com/127.0.0.1#5335 -server=/xyy.video.qq.com/127.0.0.1#5335 -server=/vcq.video.qq.com/127.0.0.1#5335 -server=/vsh.video.qq.com/127.0.0.1#5335 -server=/vbj.video.qq.com/127.0.0.1#5335 -server=/bobo.video.qq.com/127.0.0.1#5335 -server=/flvs.video.qq.com/127.0.0.1#5335 -server=/bkvv.video.qq.com/127.0.0.1#5335 -server=/info.zb.qq.com/127.0.0.1#5335 -server=/geo.js.kankan.xunlei.com/127.0.0.1#5335 -server=/web-play.pptv.com/127.0.0.1#5335 -server=/web-play.pplive.cn/127.0.0.1#5335 -server=/dyn.ugc.pps.tv/127.0.0.1#5335 -server=/v.pps.tv/127.0.0.1#5335 -server=/inner.kandian.com/127.0.0.1#5335 -server=/ipservice.163.com/127.0.0.1#5335 -server=/so.open.163.com/127.0.0.1#5335 -server=/zb.s.qq.com/127.0.0.1#5335 -server=/ip.kankan.xunlei.com/127.0.0.1#5335 -server=/vxml.56.com/127.0.0.1#5335 -server=/music.sina.com.cn/127.0.0.1#5335 -server=/play.baidu.com/127.0.0.1#5335 -server=/v.iask.com/127.0.0.1#5335 -server=/tv.weibo.com/127.0.0.1#5335 -server=/wtv.v.iask.com/127.0.0.1#5335 -server=/video.sina.com.cn/127.0.0.1#5335 -server=/www.yinyuetai.com/127.0.0.1#5335 -server=/api.letv.com/127.0.0.1#5335 -server=/live.gslb.letv.com/127.0.0.1#5335 -server=/static.itv.letv.com/127.0.0.1#5335 -server=/ip.apps.cntv.cn/127.0.0.1#5335 -server=/vdn.apps.cntv.cn/127.0.0.1#5335 -server=/vdn.live.cntv.cn/127.0.0.1#5335 -server=/vip.sports.cntv.cn/127.0.0.1#5335 -server=/a.play.api.3g.youku.com/127.0.0.1#5335 -server=/i.play.api.3g.youku.com/127.0.0.1#5335 -server=/api.3g.youku.com/127.0.0.1#5335 -server=/tv.api.3g.youku.com/127.0.0.1#5335 -server=/play.api.3g.youku.com/127.0.0.1#5335 -server=/play.api.3g.tudou.com/127.0.0.1#5335 -server=/tv.api.3g.tudou.com/127.0.0.1#5335 -server=/api.3g.tudou.com/127.0.0.1#5335 -server=/api.tv.sohu.com/127.0.0.1#5335 -server=/access.tv.sohu.com/127.0.0.1#5335 -server=/iface.iqiyi.com/127.0.0.1#5335 -server=/iface2.iqiyi.com/127.0.0.1#5335 -server=/cache.m.iqiyi.com/127.0.0.1#5335 -server=/dynamic.app.m.letv.com/127.0.0.1#5335 -server=/dynamic.meizi.app.m.letv.com/127.0.0.1#5335 -server=/dynamic.search.app.m.letv.com/127.0.0.1#5335 -server=/dynamic.live.app.m.letv.com/127.0.0.1#5335 -server=/listso.m.areainfo.ppstream.com/127.0.0.1#5335 -server=/epg.api.pptv.com/127.0.0.1#5335 -server=/play.api.pptv.com/127.0.0.1#5335 -server=/m.letv.com/127.0.0.1#5335 -server=/interface.bilibili.com/127.0.0.1#5335 -server=/3g.music.qq.com/127.0.0.1#5335 -server=/mqqplayer.3g.qq.com/127.0.0.1#5335 -server=/proxy.music.qq.com/127.0.0.1#5335 -server=/proxymc.qq.com/127.0.0.1#5335 -server=/ip2.kugou.com/127.0.0.1#5335 -server=/ip.kugou.com/127.0.0.1#5335 -server=/client.api.ttpod.com/127.0.0.1#5335 -server=/mobi.kuwo.cn/127.0.0.1#5335 -server=/mobilefeedback.kugou.com/127.0.0.1#5335 -server=/tingapi.ting.baidu.com/127.0.0.1#5335 -server=/music.baidu.com/127.0.0.1#5335 -server=/serviceinfo.sdk.duomi.com/127.0.0.1#5335 -server=/music.163.com/127.0.0.1#5335 -server=/www.xiami.com/127.0.0.1#5335 -server=/spark.api.xiami.com/127.0.0.1#5335 -server=/iplocation.geo.qiyi.com/127.0.0.1#5335 -server=/sns.video.qq.com/127.0.0.1#5335 -server=/v5.pc.duomi.com/127.0.0.1#5335 -server=/tms.is.ysten.com/127.0.0.1#5335 -server=/internal.check.duokanbox.com/127.0.0.1#5335 -server=/openapi.youku.com/127.0.0.1#5335 -server=/y.qq.com/127.0.0.1#5335 -ipset=/v.youku.com/oversea -ipset=/api.youku.com/oversea -ipset=/v2.tudou.com/oversea -ipset=/www.tudou.com/oversea -ipset=/s.plcloud.music.qq.com/oversea -ipset=/i.y.qq.com/oversea -ipset=/hot.vrs.sohu.com/oversea -ipset=/live.tv.sohu.com/oversea -ipset=/pad.tv.sohu.com/oversea -ipset=/my.tv.sohu.com/oversea -ipset=/hot.vrs.letv.com/oversea -ipset=/data.video.qiyi.com/oversea -ipset=/cache.video.qiyi.com/oversea -ipset=/cache.vip.qiyi.com/oversea -ipset=/vv.video.qq.com/oversea -ipset=/tt.video.qq.com/oversea -ipset=/ice.video.qq.com/oversea -ipset=/tjsa.video.qq.com/oversea -ipset=/a10.video.qq.com/oversea -ipset=/xyy.video.qq.com/oversea -ipset=/vcq.video.qq.com/oversea -ipset=/vsh.video.qq.com/oversea -ipset=/vbj.video.qq.com/oversea -ipset=/bobo.video.qq.com/oversea -ipset=/flvs.video.qq.com/oversea -ipset=/bkvv.video.qq.com/oversea -ipset=/info.zb.qq.com/oversea -ipset=/geo.js.kankan.xunlei.com/oversea -ipset=/web-play.pptv.com/oversea -ipset=/web-play.pplive.cn/oversea -ipset=/dyn.ugc.pps.tv/oversea -ipset=/v.pps.tv/oversea -ipset=/inner.kandian.com/oversea -ipset=/ipservice.163.com/oversea -ipset=/so.open.163.com/oversea -ipset=/zb.s.qq.com/oversea -ipset=/ip.kankan.xunlei.com/oversea -ipset=/vxml.56.com/oversea -ipset=/music.sina.com.cn/oversea -ipset=/play.baidu.com/oversea -ipset=/v.iask.com/oversea -ipset=/tv.weibo.com/oversea -ipset=/wtv.v.iask.com/oversea -ipset=/video.sina.com.cn/oversea -ipset=/www.yinyuetai.com/oversea -ipset=/api.letv.com/oversea -ipset=/live.gslb.letv.com/oversea -ipset=/static.itv.letv.com/oversea -ipset=/ip.apps.cntv.cn/oversea -ipset=/vdn.apps.cntv.cn/oversea -ipset=/vdn.live.cntv.cn/oversea -ipset=/vip.sports.cntv.cn/oversea -ipset=/a.play.api.3g.youku.com/oversea -ipset=/i.play.api.3g.youku.com/oversea -ipset=/api.3g.youku.com/oversea -ipset=/tv.api.3g.youku.com/oversea -ipset=/play.api.3g.youku.com/oversea -ipset=/play.api.3g.tudou.com/oversea -ipset=/tv.api.3g.tudou.com/oversea -ipset=/api.3g.tudou.com/oversea -ipset=/api.tv.sohu.com/oversea -ipset=/access.tv.sohu.com/oversea -ipset=/iface.iqiyi.com/oversea -ipset=/iface2.iqiyi.com/oversea -ipset=/cache.m.iqiyi.com/oversea -ipset=/dynamic.app.m.letv.com/oversea -ipset=/dynamic.meizi.app.m.letv.com/oversea -ipset=/dynamic.search.app.m.letv.com/oversea -ipset=/dynamic.live.app.m.letv.com/oversea -ipset=/listso.m.areainfo.ppstream.com/oversea -ipset=/epg.api.pptv.com/oversea -ipset=/play.api.pptv.com/oversea -ipset=/m.letv.com/oversea -ipset=/interface.bilibili.com/oversea -ipset=/3g.music.qq.com/oversea -ipset=/mqqplayer.3g.qq.com/oversea -ipset=/proxy.music.qq.com/oversea -ipset=/proxymc.qq.com/oversea -ipset=/ip2.kugou.com/oversea -ipset=/ip.kugou.com/oversea -ipset=/client.api.ttpod.com/oversea -ipset=/mobi.kuwo.cn/oversea -ipset=/mobilefeedback.kugou.com/oversea -ipset=/tingapi.ting.baidu.com/oversea -ipset=/music.baidu.com/oversea -ipset=/serviceinfo.sdk.duomi.com/oversea -ipset=/music.163.com/oversea -ipset=/www.xiami.com/oversea -ipset=/spark.api.xiami.com/oversea -ipset=/iplocation.geo.qiyi.com/oversea -ipset=/sns.video.qq.com/oversea -ipset=/v5.pc.duomi.com/oversea -ipset=/tms.is.ysten.com/oversea -ipset=/internal.check.duokanbox.com/oversea -ipset=/openapi.youku.com/oversea -ipset=/y.qq.com/oversea diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/prime_domain.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/prime_domain.list deleted file mode 100644 index a5d1446e6c..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/prime_domain.list +++ /dev/null @@ -1,12 +0,0 @@ -aiv-cdn.net -amazonaws.com -amazonvideo.com -llnwd.net -amazonprimevideos.com -amazonvideo.cc -prime-video.com -primevideo.cc -primevideo.com -primevideo.info -primevideo.org -primevideo.tv \ No newline at end of file diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/prime_ip.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/prime_ip.list deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/tvb_domain.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/tvb_domain.list deleted file mode 100644 index 7e7accf408..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/tvb_domain.list +++ /dev/null @@ -1,2 +0,0 @@ -tvsuper.com -tvb.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/tvb_ip.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/tvb_ip.list deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/tw_video_domain.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/tw_video_domain.list deleted file mode 100644 index 854bf3a531..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/tw_video_domain.list +++ /dev/null @@ -1,12 +0,0 @@ -vidol.tv -hinet.net -books.com -litv.tv -pstatic.net -app-measurement.com -kktv.com.tw -gamer.com.tw -wetv.vip -kktv.me -myvideo.net.tw -kk.stream \ No newline at end of file diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/tw_video_ip.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/tw_video_ip.list deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/white.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/white.list deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/youtube_domain.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/youtube_domain.list deleted file mode 100644 index 4b309748e5..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/etc/vssr/youtube_domain.list +++ /dev/null @@ -1,14 +0,0 @@ -youtube -ggpht.com -googlevideo.com -withyoutube.com -youtu.be -youtube-nocookie.com -youtube.com -youtubeeducation.com -youtubegaming.com -youtubei.googleapis.com -youtubekids.com -youtubemobilesupport.com -yt.be -ytimg.com \ No newline at end of file diff --git a/package/ctcgfw/luci-app-vssr/root/etc/vssr/youtube_ip.list b/package/ctcgfw/luci-app-vssr/root/etc/vssr/youtube_ip.list deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-ad b/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-ad deleted file mode 100755 index 3ab01ad671..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-ad +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -if [ -f /tmp/adnew.conf ]; then - cat /tmp/adnew.conf | grep ^\|\|[^\*]*\^$ | sed -e 's:||:address\=\/:' -e 's:\^:/0\.0\.0\.0:' > /tmp/ad.conf -fi diff --git a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-gfw b/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-gfw deleted file mode 100755 index dffebbaca2..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-gfw +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -e - -generate_china_banned() -{ - - cat $1 | base64 -d > /tmp/gfwlist.txt - rm -f $1 - sed -i '/^@@|/d' /tmp/gfwlist.txt - - cat /tmp/gfwlist.txt | sort -u | - sed 's#!.\+##; s#|##g; s#@##g; s#http:\/\/##; s#https:\/\/##;' | - sed '/\*/d; /apple\.com/d; /sina\.cn/d; /sina\.com\.cn/d; /baidu\.com/d; /byr\.cn/d; /jlike\.com/d; /weibo\.com/d; /zhongsou\.com/d; /youdao\.com/d; /sogou\.com/d; /so\.com/d; /soso\.com/d; /aliyun\.com/d; /taobao\.com/d; /jd\.com/d; /qq\.com/d' | - sed '/^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$/d' | - grep '^[0-9a-zA-Z\.-]\+$' | grep '\.' | sed 's#^\.\+##' | sort -u | - awk ' -BEGIN { prev = "________"; } { - cur = $0; - if (index(cur, prev) == 1 && substr(cur, 1 + length(prev) ,1) == ".") { - } else { - print cur; - prev = cur; - } -}' | sort -u - -} - -generate_china_banned /tmp/gfw.b64 > /tmp/gfw.txt -rm -f /tmp/gfwlist.txt -sed '/.*/s/.*/server=\/\.&\/127.0.0.1#5335\nipset=\/\.&\/gfwlist/' /tmp/gfw.txt >/tmp/gfwnew.txt -rm -f /tmp/gfw.txt - diff --git a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-monitor b/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-monitor deleted file mode 100755 index ba85f51ab2..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-monitor +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2017 openwrt-ssr -# Copyright (C) 2017 yushi studio -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# - -NAME=vssr - -uci_get_by_name() { - local ret=$(uci get $NAME.$1.$2 2>/dev/null) - echo ${ret:=$3} -} - -uci_get_by_type() { - local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null) - echo ${ret:=$3} -} - -server_process_count=$1 -redir_tcp_process=$2 -redir_udp_process=$3 -tunnel_process=$4 -kcp_process=$5 -local_process=$6 -pdnsd_process=$7 -if [ -z "$pdnsd_process" ]; then - pdnsd_process=0 -fi - -i=0 - -GLOBAL_SERVER=$(uci_get_by_type global global_server) -server=$(uci_get_by_name $GLOBAL_SERVER server) -lkcp_port=$(uci_get_by_name $GLOBAL_SERVER kcp_port) -server_port=$(uci_get_by_name $GLOBAL_SERVER server_port) -password=$(uci_get_by_name $GLOBAL_SERVER kcp_password) -kcp_param=$(uci_get_by_name $GLOBAL_SERVER kcp_param) -[ "$password" != "" ] && password="--key "${password} - -sock5_port=$(uci_get_by_type socks5_proxy local_port 1080) - -if echo $server | grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then - server=${server} -else - server=$(cat /etc/ssr_ip) -fi - -while [ "1" = "1" ]; do #这里是个死循环 - sleep 30 - #redir tcp - if [ $redir_tcp_process -gt 0 ]; then - icount=$(busybox ps -w | grep vssr_t | grep -v grep | wc -l) - if [ $icount = 0 ]; then - logger -t "$NAME" "ssr redir tcp error.restart!" - /etc/init.d/vssr restart - exit 0 - fi - fi - #redir udp - if [ $redir_udp_process -gt 0 ]; then - icount=$(busybox ps -w | grep vssr_u | grep -v grep | wc -l) - if [ $icount = 0 ]; then - logger -t "$NAME" "ssr redir udp error.restart!" - /etc/init.d/vssr restart - exit 0 - fi - fi - #tunnel - if [ $tunnel_process -gt 0 ]; then - icount=$(busybox ps -w | grep ssr-tunnel | grep -v grep | wc -l) - if [ $icount = 0 ]; then - logger -t "$NAME" "ssr tunnel error.restart!" - /etc/init.d/vssr restart - exit 0 - fi - fi - #server - if [ $server_process_count -gt 0 ]; then - icount=$(busybox ps -w | grep ssr-server | grep -v grep | wc -l) - if [ $icount -lt $server_process_count ]; then - logger -t "$NAME" "ssr server error.restart!" - killall -q -9 ssr-server - for i in $(seq $server_process_count); do - /usr/bin/ssr-server -c /var/etc/vssr_$i.json -u -f /var/run/ssr-server$i.pid - done - fi - fi - #kcptun - if [ $kcp_process -gt 0 ]; then - icount=$(busybox ps -w | grep kcptun-client | grep -v grep | wc -l) - if [ $icount -lt $kcp_process ]; then - logger -t "$NAME" "ssr kcptun error.restart!" - killall -q -9 kcptun-client - - (/usr/bin/kcptun-client -r $server:$kcp_port -l :$server_port $password $kcp_param &) - fi - fi - #local - # if [ $local_process -gt 0 ] ;then - # icount=`busybox ps -w | grep ssr-local |grep -v grep| wc -l` - # if [ $icount -lt $local_process ] - # then - # logger -t "$NAME" "ssr local error.restart!" - # killall -q -9 ssr-local - - # ( /usr/bin/ssr-local -c /var/etc/vssr_s.json -u -l $sock5_port -f /var/run/ssr-local.pid &) - # fi - # fi - #pdnsd - if [ $pdnsd_process -gt 0 ]; then - icount=$(busybox ps -w | grep pdnsd | grep -v grep | wc -l) - if [ $icount -lt $pdnsd_process ]; then #如果进程挂掉就重启它 - logger -t "$NAME" "pdnsd tunnel error.restart!" - if [ -f /var/run/pdnsd.pid ]; then - kill $(cat /var/run/pdnsd.pid) >/dev/null 2>&1 - else - kill -9 $(ps | grep pdnsd | grep -v grep | awk '{print $1}') >/dev/null 2>&1 - fi - - (/usr/sbin/pdnsd -c /var/etc/pdnsd.conf -d &) - fi - fi -done diff --git a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-qucikswitch b/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-qucikswitch deleted file mode 100755 index 10a2231ea0..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-qucikswitch +++ /dev/null @@ -1,180 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2019 vssr -# Copyright (C) 2019 jerrykuku -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# - -NAME=vssr - -#定义配置文件名称 -CONFIG_FILE=/var/etc/${NAME}_t.json -CONFIG_UDP_FILE=/var/etc/${NAME}_u.json -CONFIG_SOCK5_FILE=/var/etc/${NAME}_s.json - -switch_server=$1 - -uci_get_by_name() { - local ret=$(uci get $NAME.$1.$2 2>/dev/null) - echo ${ret:=$3} -} - -uci_get_by_type() { - local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null) - echo ${ret:=$3} -} - -gen_config_file() { - local host=$(uci_get_by_name $1 server) - if echo $host | grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then - hostip=${host} - elif [ "$host" != "${host#*:[0-9a-fA-F]}" ]; then - hostip=${host} - else - hostip=$(ping ${host} -s 1 -c 1 | grep PING | cut -d'(' -f 2 | cut -d')' -f1) - if echo $hostip | grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then - hostip=${hostip} - else - hostip=$(cat /etc/ssr_ip) - fi - fi - [ $2 = "0" -a $kcp_flag = "1" ] && hostip="127.0.0.1" - - if [ $2 = "0" ]; then - re_type="tcp" - config_file=$CONFIG_FILE - server_obj=$GLOBAL_SERVER - elif [ $2 = "1" ]; then - re_type="udp" - config_file=$CONFIG_UDP_FILE - server_obj=$UDP_RELAY_SERVER - fi - if [ $(uci_get_by_name $1 fast_open 0) = "1" ]; then - fastopen="true" - else - fastopen="false" - fi - - local stype=$(uci_get_by_name $1 type) - local port=$(uci_get_by_name $1 local_port) - if [ "$stype" == "trojan" ]; then - if [ "$re_type" == "udp" ]; then - re_type="client" - port="10801" - else - re_type="nat" - fi - fi - lua /usr/share/vssr/genconfig_${stype}.lua ${server_obj} ${re_type} ${port} ${hostip} >${config_file} - sed -i 's/\\//g' $config_file - -} -start_local() { - local local_server=$(uci_get_by_type socks5_proxy enable_server) - local local_port=$(uci_get_by_type socks5_proxy local_port) - local Socks_user=$(uci_get_by_type socks5_proxy Socks_user) - local Socks_pass=$(uci_get_by_type socks5_proxy Socks_pass) - [ "$local_server" = "0" ] && return 1 - mkdir -p /var/run /var/etc - - lua /usr/share/vssr/genconfig_v2ray_s.lua "socks" ${local_port} ${Socks_user} ${Socks_pass} >$CONFIG_SOCK5_FILE - sed -i 's/\\//g' $config_file - - /usr/bin/v2ray/v2ray -config $CONFIG_SOCK5_FILE >/dev/null 2>&1 & -} - -killall -q -9 ssr-redir -killall -q -9 v2ray -killall -q -9 trojan -killall -q -9 ipt2socks - -case "$(uci_get_by_name $GLOBAL_SERVER auth_enable)" in -1 | on | true | yes | enabled) ARG_OTA="-A" ;; -*) ARG_OTA="" ;; -esac - -if [ -z "$switch_server" ]; then - GLOBAL_SERVER=$(uci_get_by_type global global_server) -else - GLOBAL_SERVER=$switch_server -fi - -gen_config_file $GLOBAL_SERVER 0 -stype=$(uci_get_by_name $GLOBAL_SERVER type) -local stype=$(uci_get_by_name $GLOBAL_SERVER type) -if [ "$stype" == "ss" -o "$stype" == "v2ray" ]; then - sscmd="/usr/bin/v2ray/v2ray" - [ ! -f "$sscmd" ] && sscmd="/usr/bin/v2ray" -elif [ "$stype" == "ssr" ]; then - sscmd="/usr/bin/ssr-redir" -elif [ "$stype" == "trojan" ]; then - sscmd="/usr/sbin/trojan" -fi - -local utype=$(uci_get_by_name $UDP_RELAY_SERVER type) -if [ "$utype" == "ss" -o "$utype" == "v2ray" ]; then - ucmd="/usr/bin/v2ray/v2ray" - [ ! -f "$ucmd" ] && ucmd="/usr/bin/v2ray" -elif [ "$utype" == "ssr" ]; then - ucmd="/usr/bin/ssr-redir" -elif [ "$utype" == "trojan" ]; then - ucmd="/usr/sbin/trojan" -fi - -if [ "$(uci_get_by_type global threads 0)" = "0" ]; then - threads=$(cat /proc/cpuinfo | grep 'processor' | wc -l) -else - threads=$(uci_get_by_type global threads) -fi - -#转发TCP -if [ "$(uci_get_by_type global threads 0)" = "0" ]; then - threads=$(cat /proc/cpuinfo | grep 'processor' | wc -l) -else - threads=$(uci_get_by_type global threads) -fi -#转发TCP -redir_tcp=1 -local last_config_file=$CONFIG_FILE -if [ "$stype" == "ssr" ]; then - local pid_file="/var/run/ssr-retcp.pid" - for i in $(seq 1 $threads); do - $sscmd -c $last_config_file $ARG_OTA -f /var/run/ssr-retcp_$i.pid >/dev/null 2>&1 - done - echo "$(date "+%Y-%m-%d %H:%M:%S") SSR $threads 线程 已启动!" >>/tmp/vssr.log -elif [ "$stype" == "v2ray" -o "$stype" == "ss" ]; then - $sscmd -config $last_config_file >/dev/null 2>&1 & - - echo "$(date "+%Y-%m-%d %H:%M:%S") $($sscmd -version | head -1) 已启动!" >>/tmp/vssr.log - -elif [ "$stype" == "trojan" ]; then - $sscmd -c $last_config_file >/dev/null 2>&1 & - echo "$(date "+%Y-%m-%d %H:%M:%S") $($sscmd -V 2>&1 | head -1) 已启动!" >>/tmp/vssr.log -fi - -#转发UDP -if [ -n "$UDP_RELAY_SERVER" ]; then - redir_udp=1 - gen_config_file $UDP_RELAY_SERVER 1 - last_config_file=$CONFIG_UDP_FILE - echo $utype - if [ "$utype" == "ssr" ]; then - - case "$(uci_get_by_name $UDP_RELAY_SERVER auth_enable)" in - 1 | on | true | yes | enabled) ARG_OTA="-A" ;; - *) ARG_OTA="" ;; - esac - pid_file="/var/run/ssr-reudp.pid" - #echo $ucmd >> /tmp/vssr.log - $ucmd -c $last_config_file $ARG_OTA -U -f /var/run/ssr-reudp.pid >/tmp/vssr.log 2>&1 - #echo "$(date "+%Y-%m-%d %H:%M:%S") $($sscmd -version | head -1) UDP已启动!" >> /tmp/vssr.log - elif [ "$utype" == "ss" -o "$utype" == "v2ray" ]; then - $ucmd -config $last_config_file >/dev/null 2>&1 & - elif [ "$stype" == "trojan" ]; then - $ucmd --config $last_config_file >/dev/null 2>&1 & - ipt2socks -U -4 -b 0.0.0.0 -s 127.0.0.1 -p 10801 -l $(uci_get_by_name $UDP_RELAY_SERVER local_port) >/dev/null 2>&1 & - fi -fi -start_local diff --git a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-rules b/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-rules deleted file mode 100755 index ddf79f2206..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-rules +++ /dev/null @@ -1,385 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2017 openwrt-ssr -# Copyright (C) 2017 yushi studio -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# - -TAG="_SS_SPEC_RULE_" # comment tag -IPT="iptables -t nat" # alias of iptables -FWI=$(uci get firewall.vssr.path 2>/dev/null) # firewall include file - -usage() { - cat <<-EOF - Usage: vssr-rules [options] - - Valid options are: - - -s ip address of vssr remote server - -l port number of vssr local server - -S ip address of vssr remote UDP server - -L port number of vssr local UDP server - -i a file content is bypassed ip list - -a lan ip of access control, need a prefix to - define access control mode - -b wan ip of will be bypassed - -w wan ip of will be forwarded - -p lan ip of will be global proxy - -G lan ip of will be game mode proxy - -D proxy ports - -e extra options for iptables - -o apply the rules to the OUTPUT chain - -O apply the global rules to the OUTPUT chain - -u enable udprelay mode, TPROXY is required - -U enable udprelay mode, using different IP - and ports for TCP and UDP - -f flush the rules - -g gfw list mode - -r return china mode - -h show this help message and exit - EOF - exit $1 -} - -loger() { - # 1.alert 2.crit 3.err 4.warn 5.notice 6.info 7.debug - logger -st vssr-rules[$$] -p$1 $2 -} - -flush_r() { - flush_iptables() { - local ipt="iptables -t $1" - local DAT=$(iptables-save -t $1) - eval $(echo "$DAT" | grep "$TAG" | sed -e 's/^-A/$ipt -D/' -e 's/$/;/') - for chain in $(echo "$DAT" | awk '/^:SS_SPEC/{print $1}'); do - $ipt -F ${chain:1} 2>/dev/null && $ipt -X ${chain:1} - done - } - flush_iptables nat - flush_iptables mangle - ip rule del fwmark 0x01/0x01 table 100 2>/dev/null - ip route del local 0.0.0.0/0 dev lo table 100 2>/dev/null - ipset -X ss_spec_lan_ac 2>/dev/null - ipset -X ss_spec_wan_ac 2>/dev/null - ipset -X ssr_gen_router 2>/dev/null - ipset -X fplan 2>/dev/null - ipset -X gmlan 2>/dev/null - ipset -X oversea 2>/dev/null - ipset -X whitelist 2>/dev/null - ipset -X blacklist 2>/dev/null - [ -n "$FWI" ] && echo '#!/bin/sh' >$FWI - return 0 -} - -ipset_r() { - ipset -N gmlan hash:net 2>/dev/null - $IPT -N SS_SPEC_WAN_AC - $IPT -I SS_SPEC_WAN_AC -p tcp ! --dport 53 -d $server -j RETURN - for ip in $LAN_GM_IP; do ipset -! add gmlan $ip; done - case "$RUNMODE" in - router) - ipset -! -R <<-EOF || return 1 - create ss_spec_wan_ac hash:net - $(gen_iplist | sed -e "s/^/add ss_spec_wan_ac /") - EOF - ipset -N gfwlist hash:net 2>/dev/null - $IPT -A SS_SPEC_WAN_AC -m set --match-set ss_spec_wan_ac dst -j RETURN - $IPT -A SS_SPEC_WAN_AC -m set --match-set gmlan src -m set ! --match-set china dst -j SS_SPEC_WAN_FW - $IPT -A SS_SPEC_WAN_AC -m set --match-set china dst -j RETURN - $IPT -A SS_SPEC_WAN_AC -j SS_SPEC_WAN_FW - ;; - gfw) - ipset -N gfwlist hash:net 2>/dev/null - $IPT -A SS_SPEC_WAN_AC -m set --match-set gfwlist dst -j SS_SPEC_WAN_FW - $IPT -A SS_SPEC_WAN_AC -m set --match-set gmlan src -m set ! --match-set china dst -j SS_SPEC_WAN_FW - $IPT -A SS_SPEC_WAN_AC -m set --match-set china dst -j RETURN - ;; - oversea) - ipset -N oversea hash:net 2>/dev/null - $IPT -I SS_SPEC_WAN_AC -m set --match-set oversea dst -j SS_SPEC_WAN_FW - $IPT -A SS_SPEC_WAN_AC -m set --match-set gmlan src -j SS_SPEC_WAN_FW - $IPT -A SS_SPEC_WAN_AC -m set --match-set china dst -j SS_SPEC_WAN_FW - ;; - all) - $IPT -A SS_SPEC_WAN_AC -j SS_SPEC_WAN_FW - ;; - esac - - ipset -N fplan hash:net 2>/dev/null - for ip in $LAN_FP_IP; do ipset -! add fplan $ip; done - $IPT -I SS_SPEC_WAN_AC -m set --match-set fplan src -j SS_SPEC_WAN_FW - - ipset -N whitelist hash:net 2>/dev/null - ipset -N blacklist hash:net 2>/dev/null - $IPT -I SS_SPEC_WAN_AC -m set --match-set blacklist dst -j SS_SPEC_WAN_FW - $IPT -I SS_SPEC_WAN_AC -m set --match-set whitelist dst -j RETURN - - for ip in $WAN_BP_IP; do ipset -! add whitelist $ip; done - for ip in $WAN_FW_IP; do ipset -! add blacklist $ip; done - - return $? -} - -fw_rule() { - $IPT -N SS_SPEC_WAN_FW - $IPT -A SS_SPEC_WAN_FW -d 0.0.0.0/8 -j RETURN - $IPT -A SS_SPEC_WAN_FW -d 10.0.0.0/8 -j RETURN - $IPT -A SS_SPEC_WAN_FW -d 127.0.0.0/8 -j RETURN - $IPT -A SS_SPEC_WAN_FW -d 169.254.0.0/16 -j RETURN - $IPT -A SS_SPEC_WAN_FW -d 172.16.0.0/12 -j RETURN - $IPT -A SS_SPEC_WAN_FW -d 192.168.0.0/16 -j RETURN - $IPT -A SS_SPEC_WAN_FW -d 224.0.0.0/4 -j RETURN - $IPT -A SS_SPEC_WAN_FW -d 240.0.0.0/4 -j RETURN - $IPT -A SS_SPEC_WAN_FW -p tcp $PROXY_PORTS \ - -j REDIRECT --to-ports $local_port 2>/dev/null || { - loger 3 "Can't redirect, please check the iptables." - exit 1 - } - return $? -} - -ac_rule() { - if [ -n "$LAN_AC_IP" ]; then - case "${LAN_AC_IP:0:1}" in - w | W) - MATCH_SET="-m set --match-set ss_spec_lan_ac src" - ;; - b | B) - MATCH_SET="-m set ! --match-set ss_spec_lan_ac src" - ;; - *) - loger 3 "Bad argument \`-a $LAN_AC_IP\`." - return 2 - ;; - esac - fi - IFNAME=$(uci get -P/var/state network.lan.ifname 2>/dev/null) - ipset -! -R <<-EOF || return 1 - create ss_spec_lan_ac hash:net - $(for ip in ${LAN_AC_IP:1}; do echo "add ss_spec_lan_ac $ip"; done) - EOF - $IPT -I PREROUTING 1 ${IFNAME:+-i $IFNAME} -p tcp $EXT_ARGS $MATCH_SET \ - -m comment --comment "$TAG" -j SS_SPEC_WAN_AC - if [ "$OUTPUT" = 1 ]; then - $IPT -I OUTPUT 1 -p tcp $EXT_ARGS \ - -m comment --comment "$TAG" -j SS_SPEC_WAN_AC - elif [ "$OUTPUT" = 2 ]; then - ipset -! -R <<-EOF || return 1 - create ssr_gen_router hash:net - $(gen_spec_iplist | sed -e "s/^/add ssr_gen_router /") - EOF - $IPT -N SS_SPEC_ROUTER && - $IPT -A SS_SPEC_ROUTER -m set --match-set ssr_gen_router dst -j RETURN && - $IPT -A SS_SPEC_ROUTER -j SS_SPEC_WAN_FW - $IPT -I OUTPUT 1 -p tcp -m comment --comment "$TAG" -j SS_SPEC_ROUTER - fi - return $? -} - -tp_rule() { - [ -n "$TPROXY" ] || return 0 - ip rule add fwmark 0x01/0x01 table 100 - ip route add local 0.0.0.0/0 dev lo table 100 - local ipt="iptables -t mangle" - $ipt -N SS_SPEC_TPROXY - $ipt -A SS_SPEC_TPROXY -p udp --dport 443 -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp --dport 80 -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp --dport 53 -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp -d 0.0.0.0/8 -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp -d 10.0.0.0/8 -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp -d 127.0.0.0/8 -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp -d 169.254.0.0/16 -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp -d 172.16.0.0/12 -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp -d 192.168.0.0/16 -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp -d 224.0.0.0/4 -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp -d 240.0.0.0/4 -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp ! --dport 53 -d $server -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp $PROXY_PORTS -m set --match-set fplan src \ - -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 - case "$RUNMODE" in - router) - $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set gmlan src -m set ! --match-set china dst \ - -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 - $ipt -A SS_SPEC_TPROXY -p udp $PROXY_PORTS -m set ! --match-set ss_spec_wan_ac dst \ - -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 - ;; - gfw) - $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set china dst -j RETURN - $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set gmlan src -m set ! --match-set china dst \ - -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 - $ipt -A SS_SPEC_TPROXY -p udp -m set $PROXY_PORTS --match-set gfwlist dst \ - -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 - ;; - oversea) - $ipt -A SS_SPEC_TPROXY -p udp $PROXY_PORTS -m set --match-set china dst \ - -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 - ;; - all) - $ipt -A SS_SPEC_TPROXY -p udp $PROXY_PORTS -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 - ;; - esac - $ipt -I PREROUTING 1 ${IFNAME:+-i $IFNAME} -p udp $EXT_ARGS $MATCH_SET \ - -m comment --comment "$TAG" -j SS_SPEC_TPROXY - return $? -} - -get_wan_ip() { - cat <<-EOF | grep -E "^([0-9]{1,3}\.){3}[0-9]{1,3}" - $server - $SERVER - $WAN_BP_IP -EOF -} - -gen_iplist() { - cat <<-EOF - 0.0.0.0/8 - 10.0.0.0/8 - 100.64.0.0/10 - 127.0.0.0/8 - 169.254.0.0/16 - 172.16.0.0/12 - 192.0.0.0/24 - 192.0.2.0/24 - 192.88.99.0/24 - 192.168.0.0/16 - 198.18.0.0/15 - 198.51.100.0/24 - 203.0.113.0/24 - 224.0.0.0/4 - 240.0.0.0/4 - 255.255.255.255 - $(get_wan_ip) - $(cat ${IGNORE_LIST:=/dev/null} 2>/dev/null) -EOF -} - -gen_spec_iplist() { - cat <<-EOF - 0.0.0.0/8 - 10.0.0.0/8 - 100.64.0.0/10 - 127.0.0.0/8 - 169.254.0.0/16 - 172.16.0.0/12 - 192.0.0.0/24 - 192.0.2.0/24 - 192.88.99.0/24 - 192.168.0.0/16 - 198.18.0.0/15 - 198.51.100.0/24 - 203.0.113.0/24 - 224.0.0.0/4 - 240.0.0.0/4 - 255.255.255.255 - $(get_wan_ip) -EOF -} - -gen_include() { - [ -n "$FWI" ] || return 0 - extract_rules() { - echo "*$1" - iptables-save -t $1 | grep SS_SPEC_ | - sed -e "s/^-A \(OUTPUT\|PREROUTING\)/-I \1 1/" - echo 'COMMIT' - } - cat <<-EOF >>$FWI - iptables-save -c | grep -v "SS_SPEC" | iptables-restore -c - iptables-restore -n <<-EOT - $(extract_rules nat) - $(extract_rules mangle) - EOT - EOF - return 0 -} - -while getopts ":s:l:S:L:i:e:a:b:w:p:G:D:oOuUfgrczh" arg; do - case "$arg" in - s) - server=$OPTARG - ;; - l) - local_port=$OPTARG - ;; - S) - SERVER=$OPTARG - ;; - L) - LOCAL_PORT=$OPTARG - ;; - i) - IGNORE_LIST=$OPTARG - ;; - e) - EXT_ARGS=$OPTARG - ;; - a) - LAN_AC_IP=$OPTARG - ;; - b) - WAN_BP_IP=$(for ip in $OPTARG; do echo $ip; done) - ;; - w) - WAN_FW_IP=$OPTARG - ;; - p) - LAN_FP_IP=$OPTARG - ;; - G) - LAN_GM_IP=$OPTARG - ;; - D) - PROXY_PORTS=$OPTARG - ;; - o) - OUTPUT=1 - ;; - O) - OUTPUT=2 - ;; - u) - TPROXY=1 - ;; - U) - TPROXY=2 - ;; - g) - RUNMODE=gfw - ;; - r) - RUNMODE=router - ;; - c) - RUNMODE=oversea - ;; - z) - RUNMODE=all - ;; - f) - flush_r - exit 0 - ;; - h) - usage 0 - ;; - esac -done - -if [ -z "$server" -o -z "$local_port" ]; then - usage 2 -fi - -if [ "$TPROXY" == 1 ]; then - SERVER=$server - LOCAL_PORT=$local_port -elif [ "$TPROXY" == 2 ]; then - : ${SERVER:?"You must assign an ip for the udp relay server."} - : ${LOCAL_PORT:?"You must assign a port for the udp relay server."} -fi - -flush_r && fw_rule && ipset_r && ac_rule && tp_rule && gen_include -[ "$?" == 0 ] || loger 3 "Start failed!" -exit $? diff --git a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-switch b/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-switch deleted file mode 100755 index 5ffdb5dcb1..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/usr/bin/vssr-switch +++ /dev/null @@ -1,175 +0,0 @@ -#!/bin/sh /etc/rc.common -# -# Copyright (C) 2017 openwrt-ssr -# Copyright (C) 2017 yushi studio -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# - -cycle_time=60 -switch_time=3 -normal_flag=0 -server_locate=0 -server_count=0 -NAME=vssr -ENABLE_SERVER=nil -CONFIG_SWTICH_FILE=/var/etc/${NAME}_t.json - -[ -n "$1" ] && cycle_time=$1 -[ -n "$2" ] && switch_time=$2 - -uci_get_by_name() { - local ret=$(uci get $NAME.$1.$2 2>/dev/null) - echo ${ret:=$3} -} - -uci_get_by_type() { - local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null) - echo ${ret:=$3} -} - -DEFAULT_SERVER=$(uci_get_by_type global global_server) -CURRENT_SERVER=$DEFAULT_SERVER - -#判断代理是否正常 -check_proxy() { - local result=0 - local try_count=$(uci_get_by_type global switch_try_count 3) - for i in $(seq 1 $try_count); do - /usr/bin/ssr-check www.google.com 80 $switch_time 1 - if [ "$?" == "0" ]; then - result=0 - break - else - /usr/bin/ssr-check www.baidu.com 80 $switch_time 1 - if [ "$?" == "0" ]; then - result=1 - else - result=2 - fi - fi - sleep 1 - done - return $result -} - -test_proxy() { - local servername=$(uci_get_by_name $1 server) - local serverport=$(uci_get_by_name $1 server_port) - ret=$(ping -c 3 $servername | grep 'loss' | awk -F ',' '{ print $3 }' | awk -F "%" '{ print $1 }') - [ -z "$ret" ] && return 1 - [ "$ret" -gt "50" ] && return 1 - ipset add ss_spec_wan_ac $servername 2>/dev/null - ret=$? - /usr/bin/ssr-check $servername $serverport $switch_time - local ret2=$? - if [ "$ret" = "0" ]; then - ipset del ss_spec_wan_ac $servername 2>/dev/null - fi - if [ "$ret2" = "0" ]; then - return 0 - else - return 1 - fi -} - -search_proxy() { - let server_count=server_count+1 - [ "$normal_flag" = "1" -a "$server_count" -le "$server_locate" ] && return 0 - [ "$(uci_get_by_name $1 switch_enable)" != "1" ] && return 1 - [ $ENABLE_SERVER != nil ] && return 0 - [ "$1" = "$CURRENT_SERVER" ] && return 0 - local servername=$(uci_get_by_name $1 server) - local serverport=$(uci_get_by_name $1 server_port) - ipset add ss_spec_wan_ac $servername 2>/dev/null - ret=$? - /usr/bin/ssr-check $servername $serverport $switch_time - local ret2=$? - if [ "$ret" = "0" ]; then - ipset del ss_spec_wan_ac $servername 2>/dev/null - fi - if [ "$ret2" = "0" ]; then - server_locate=$server_count - ENABLE_SERVER=$1 - return 0 - else - return 1 - fi - -} -#选择可用的代理 -select_proxy() { - - config_load $NAME - ENABLE_SERVER=nil - mkdir -p /var/run /var/etc - server_count=0 - config_foreach search_proxy servers - -} - -#切换代理 -switch_proxy() { - /etc/init.d/vssr restart $1 - return 0 -} - -start() { - #不支持kcptun启用时的切换 - [ $(uci_get_by_name $DEFAULT_SERVER kcp_enable) = "1" ] && return 1 - - while [ "1" = "1" ]; do #死循环 - sleep $cycle_time - - LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") - - #判断当前代理是否为缺省服务器 - if [ "$CURRENT_SERVER" != "$DEFAULT_SERVER" ]; then - #echo "not default proxy" - echo "$(date "+%Y-%m-%d %H:%M:%S") 当前为备用节点,尝试切换为主节点。" >>/tmp/vssr.log - - #检查缺省服务器是否正常 - if test_proxy $DEFAULT_SERVER; then - #echo "switch to default proxy" - echo "$(date "+%Y-%m-%d %H:%M:%S") 主节点不可用." >>/tmp/vssr.log - #缺省服务器正常,切换回来 - CURRENT_SERVER=$DEFAULT_SERVER - switch_proxy $CURRENT_SERVER - echo "$(date "+%Y-%m-%d %H:%M:%S") 切换为默认节点 ["$(uci_get_by_name $CURRENT_SERVER server)"]" >>/tmp/vssr.log - continue - else - echo "$(date "+%Y-%m-%d %H:%M:%S") 主节点不可用,继续使用当前备用节点。" >>/tmp/vssr.log - fi - fi - - #判断当前代理是否正常 - check_proxy - current_ret=$? - - if [ "$current_ret" = "1" ]; then - #当前代理错误,判断有无可用的服务器 - #echo "current error" - echo "$(date "+%Y-%m-%d %H:%M:%S") 当前节点不可用,尝试切换其他节点。" >>/tmp/vssr.log - select_proxy - if [ "$ENABLE_SERVER" != nil ]; then - #有其他服务器可用,进行切换 - #echo $(uci_get_by_name $new_proxy server) - echo "$(date "+%Y-%m-%d %H:%M:%S") 另外一个节点可用,即将切换节点。" >>/tmp/vssr.log - CURRENT_SERVER=$ENABLE_SERVER - switch_proxy $CURRENT_SERVER - normal_flag=1 - echo "$(date "+%Y-%m-%d %H:%M:%S") 切换节点成功。" >>/tmp/vssr.log - else - switch_proxy $CURRENT_SERVER - normal_flag=1 - echo "$(date "+%Y-%m-%d %H:%M:%S") 尝试重启当前节点。" >>/tmp/vssr.log - fi - else - normal_flag=0 - #echo "$(date "+%Y-%m-%d %H:%M:%S") vssr No Problem." >> /tmp/vssr.log - fi - - done - -} diff --git a/package/ctcgfw/luci-app-vssr/root/usr/share/lua/vssrutil.lua b/package/ctcgfw/luci-app-vssr/root/usr/share/lua/vssrutil.lua deleted file mode 100644 index 064eea7420..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/usr/share/lua/vssrutil.lua +++ /dev/null @@ -1,164 +0,0 @@ -#!/usr/bin/lua - ------------------------------------------------- --- This file is converter ip to country iso code --- @author Jerryk ------------------------------------------------- -local _M = {} -local icount = 0 --- Get country iso code with remark or host --- Return String:iso_code -function _M.get_flag(remark, host) - local nixio = require "nixio" - local iso_table = { - "US", "US", "US", "US", "US", "HK", "HK", "TW", "TW", "TW", "TW", "TW", - "JP", "JP", "JP", "GB", "GB", "DE", "DE", "FR", "IN", "TR", "SG", "SG", - "KR", "KR", "KR", "KR", "RU", "IE", "CA", "CA", "AU", "CH", "AU", "AR","RU", - "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", - "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", - "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", - "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", - "CN", "CO", "CP", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DG", - "DJ", "DK", "DM", "DO", "DZ", "EA", "EC", "EE", "EG", "EH", "ER", "ES", - "ET", "EU", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", - "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", - "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "IC", "ID", "IE", - "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", - "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", - "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", - "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", - "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", - "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", - "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", - "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", - "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", - "SX", "SY", "SZ", "TA", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", - "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "UN", - "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", - "XK", "YE", "YT", "ZA", "ZM", "ZW" - } - - local emoji_table = { - "美国", "US", "洛杉矶","芝加哥","达拉斯", "香港","HK", "台湾", "TW", "TAIWAN","彰化","台北", - "日本", "JP", "JAPAN", "英国", "UK", "德国", "DE", "法国", "印度", "土耳其", "新加坡", "SG", - "韩国", "首尔", "KR", "KOREA", "俄罗斯", "爱尔兰", "CANADA", "加拿大","SYDNEY", "瑞士", "澳大利亚", "阿根廷","RU", - "🇦🇨", "🇦🇩", "🇦🇪", "🇦🇫", "🇦🇬", "🇦🇮", - "🇦🇱", "🇦🇲", "🇦🇴", "🇦🇶", "🇦🇷", "🇦🇸", - "🇦🇹", "🇦🇺", "🇦🇼", "🇦🇽", "🇦🇿", "🇧🇦", - "🇧🇧", "🇧🇩", "🇧🇪", "🇧🇫", "🇧🇬", "🇧🇭", - "🇧🇮", "🇧🇯", "🇧🇱", "🇧🇲", "🇧🇳", "🇧🇴", - "🇧🇶", "🇧🇷", "🇧🇸", "🇧🇹", "🇧🇻", "🇧🇼", - "🇧🇾", "🇧🇿", "🇨🇦", "🇨🇨", "🇨🇩", "🇨🇫", - "🇨🇬", "🇨🇭", "🇨🇮", "🇨🇰", "🇨🇱", "🇨🇲", - "🇨🇳", "🇨🇴", "🇨🇵", "🇨🇷", "🇨🇺", "🇨🇻", - "🇨🇼", "🇨🇽", "🇨🇾", "🇨🇿", "🇩🇪", "🇩🇬", - "🇩🇯", "🇩🇰", "🇩🇲", "🇩🇴", "🇩🇿", "🇪🇦", - "🇪🇨", "🇪🇪", "🇪🇬", "🇪🇭", "🇪🇷", "🇪🇸", - "🇪🇹", "🇪🇺", "🇫🇮", "🇫🇯", "🇫🇰", "🇫🇲", - "🇫🇴", "🇫🇷", "🇬🇦", "🇬🇧", "🇬🇩", "🇬🇪", - "🇬🇫", "🇬🇬", "🇬🇭", "🇬🇮", "🇬🇱", "🇬🇲", - "🇬🇳", "🇬🇵", "🇬🇶", "🇬🇷", "🇬🇸", "🇬🇹", - "🇬🇺", "🇬🇼", "🇬🇾", "🇭🇰", "🇭🇲", "🇭🇳", - "🇭🇷", "🇭🇹", "🇭🇺", "🇮🇨", "🇮🇩", "🇮🇪", - "🇮🇱", "🇮🇲", "🇮🇳", "🇮🇴", "🇮🇶", "🇮🇷", - "🇮🇸", "🇮🇹", "🇯🇪", "🇯🇲", "🇯🇴", "🇯🇵", - "🇰🇪", "🇰🇬", "🇰🇭", "🇰🇮", "🇰🇲", "🇰🇳", - "🇰🇵", "🇰🇷", "🇰🇼", "🇰🇾", "🇰🇿", "🇱🇦", - "🇱🇧", "🇱🇨", "🇱🇮", "🇱🇰", "🇱🇷", "🇱🇸", - "🇱🇹", "🇱🇺", "🇱🇻", "🇱🇾", "🇲🇦", "🇲🇨", - "🇲🇩", "🇲🇪", "🇲🇫", "🇲🇬", "🇲🇭", "🇲🇰", - "🇲🇱", "🇲🇲", "🇲🇳", "🇲🇴", "🇲🇵", "🇲🇶", - "🇲🇷", "🇲🇸", "🇲🇹", "🇲🇺", "🇲🇻", "🇲🇼", - "🇲🇽", "🇲🇾", "🇲🇿", "🇳🇦", "🇳🇨", "🇳🇪", - "🇳🇫", "🇳🇬", "🇳🇮", "🇳🇱", "🇳🇴", "🇳🇵", - "🇳🇷", "🇳🇺", "🇳🇿", "🇴🇲", "🇵🇦", "🇵🇪", - "🇵🇫", "🇵🇬", "🇵🇭", "🇵🇰", "🇵🇱", "🇵🇲", - "🇵🇳", "🇵🇷", "🇵🇸", "🇵🇹", "🇵🇼", "🇵🇾", - "🇶🇦", "🇷🇪", "🇷🇴", "🇷🇸", "🇷🇺", "🇷🇼", - "🇸🇦", "🇸🇧", "🇸🇨", "🇸🇩", "🇸🇪", "🇸🇬", - "🇸🇭", "🇸🇮", "🇸🇯", "🇸🇰", "🇸🇱", "🇸🇲", - "🇸🇳", "🇸🇴", "🇸🇷", "🇸🇸", "🇸🇹", "🇸🇻", - "🇸🇽", "🇸🇾", "🇸🇿", "🇹🇦", "🇹🇨", "🇹🇩", - "🇹🇫", "🇹🇬", "🇹🇭", "🇹🇯", "🇹🇰", "🇹🇱", - "🇹🇲", "🇹🇳", "🇹🇴", "🇹🇷", "🇹🇹", "🇹🇻", - "🇹🇼", "🇹🇿", "🇺🇦", "🇺🇬", "🇺🇲", "🇺🇳", - "🇺🇸", "🇺🇾", "🇺🇿", "🇻🇦", "🇻🇨", "🇻🇪", - "🇻🇬", "🇻🇮", "🇻🇳", "🇻🇺", "🇼🇫", "🇼🇸", - "🇽🇰", "🇾🇪", "🇾🇹", "🇿🇦", "🇿🇲", "🇿🇼" - } - - local iso_code = nil - if (remark ~= nil) then - remark = string.gsub(remark, "NETWORKS", "") - for i, v in pairs(emoji_table) do - if (string.find(string.lower(remark), string.lower(v)) ~= nil) then - iso_code = string.lower(iso_table[i]) - break - end - end - end - - if (iso_code == nil ) then - if( host ~= "") then - local ret = nixio.getaddrinfo(_M.trim(host), "any") - if(ret == nil) then - iso_code = "un" - else - local hostip = ret[1].address - local status,code = pcall(_M.get_iso,hostip) - if(status) then - iso_code = code - else - iso_code = "un" - end - end - else - iso_code = "un" - end - end - return string.gsub(iso_code, '\n', '') -end - -function _M.get_iso(ip) - local mm = require 'maxminddb' - local db = mm.open('/usr/share/vssr/GeoLite2-Country.mmdb') - local res = db:lookup(ip) - return string.lower(res:get("country", "iso_code")) -end - -function _M.get_cname(ip) - local mm = require 'maxminddb' - local db = mm.open('/usr/share/vssr/GeoLite2-Country.mmdb') - local res = db:lookup(ip) - return string.lower(res:get("country", "names", "zh-CN")) -end - - --- Get status of conncet to any site with host and port --- Return String:true or nil -function _M.check_site(host, port) - local nixio = require "nixio" - local socket = nixio.socket("inet", "stream") - socket:setopt("socket", "rcvtimeo", 2) - socket:setopt("socket", "sndtimeo", 2) - local ret = socket:connect(host, port) - socket:close() - return ret -end - -function _M.trim(text) - if not text or text == "" then return "" end - return (string.gsub(text, "^%s*(.-)%s*$", "%1")) -end - -function _M.wget(url) - local sys = require "luci.sys" - local stdout = sys.exec( - 'wget-ssl -q --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36" --no-check-certificate -t 3 -T 10 -O- "' .. - url .. '"') - return _M.trim(stdout) -end - - -return _M - diff --git a/package/ctcgfw/luci-app-vssr/root/usr/share/rpcd/acl.d/luci-app-vssr.json b/package/ctcgfw/luci-app-vssr/root/usr/share/rpcd/acl.d/luci-app-vssr.json deleted file mode 100644 index 15d4d37882..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/usr/share/rpcd/acl.d/luci-app-vssr.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-vssr": { - "description": "Grant UCI access for luci-app-vssr", - "read": { - "uci": [ "vssr" ] - }, - "write": { - "uci": [ "vssr" ] - } - } -} diff --git a/package/ctcgfw/luci-app-vssr/root/usr/share/vssr/GeoLite2-Country.mmdb b/package/ctcgfw/luci-app-vssr/root/usr/share/vssr/GeoLite2-Country.mmdb deleted file mode 100755 index c61b4e3bd005bf8c931477fd09c3312d50d8fde6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3938415 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�PpPkd%`McK0YY8?c*u=DdogQhB zUL0&jusd>nVXzIs76e-=TJey`fq~?xi$Kd@ff`$ha2lV)*!?eo-v2^yu%&kSOJJA31oCp6lv3C<-LN^k0XAqoCa3;a<*2sJGJWp`epii!AjeM##@=d+fNRNwKPYKQ=5O&TdxP;&Wf{O_* zRLP8#<}Q+AOlWpKEx3vxB5(-Y#wrLrf5PvNh!H++eMF7F>AwU|>9`*}P4G->)Kslev$sYq z*81P{1kVw?Byjg0(f)|^kt&)>Tq^nvCn21ka8knQ2qzQr2q)LJ!YM4Z z@gkI%P)eq@bdaQ$X%UL^Z}QVhMy>+azcMt0GZ4-wb7VD=FV|8|!j~!}T##^H!UYKDYXn6&zl1uiQRdK;s)Yy_RyQc` zb*dz#WKqIp2p1z zl~f_zTEBrX>P!RMR%4rRJHlNF2OE#-{|R@n)ck)q;QzxRR=6{vI)C}KPI`9Gw=ak> z5bjR6AK@N^dlT+SDE?no2E>3RmB0HC?yFUFAhWlM!u<&kCp>`g5HlND0y>EB;6Xp{ zH|Xc>TSKO9jT%9Cr~<129Hy_v$d~=XBM6VwC{EO^rxr!pM-g35cr?*8gu@8$Bs_*N zBs`W-;Ey9bh46U76A6VWIUcF!Fk8nmMPrP88sq;H)FLgnIe!Yf3TCL){5gjW%Igbtzjf9WO~0O%rQ=o8Az_!2ySu7SO* zO@$HRXu_DVO_&hogejq%|9n9{Z_*mNu*izAAS?}ue78YfqPdQ+LnzkXC9D+xFZ=4D z?y$DDZXz5>C~tbo*JF%jId2(`A(UEU39lv`M>t;PBkYSiQUzT@cx|6Z8E&*6iBbg5 z4TLuuQ+iz1D7l&NHbPzZ(AimdYim@Zv$IgA0EBl~`6h<*F2eT-1?E{o5%0r<_Yyut zcpu^Y>Iqfm4+t5A8he;*Um%=7s2_jO66v!l+eZi=Cw!FfF{N33ek1cI2%j+kVf-n= zr(2`+H8-6K>4Z*XE>t~7_$uM^gf9~c@|TRr7yCn)oUWIVMZt6l$hdxu@J+(k3E!}H zaLnMgdY-qL--Nlr-UC9exiN++X+hf z$6`pI5q@bl`MEXsh0!T;*7Y9~+Sig=PZ7p{ApDN-d#&4i=td%q@JGU*v_w{SRp6r8 zUkHC~A_}E&)R~086HQJio%(OWKMDWRR)j%$hefOWLxhfZl8+|QxG|cPXfjyqVR`#oUFf$&gNRz@QDquCRtb)#B|4aBI-*sHrYBm2Xa=HriDo34 zi)bdIIf-T_nvG}{qFJ>c2_<4n+WPE7b7&`Ov?h#8kC13Hnww}I1(Oj(tX)gyBU+GX zexe0hyI!M@gd=$~D_Tg!7%kkC$Z9arqD0FOEk?8?(c(n%{fBLu0Y&4qXelC_&uT|r zRZlfX%Mz_bv>eg$rVCpfi&h|7vC*uqwMHuwt)kYbVw7dTJ&9H$+LmZ_qK%2xAX=Mf zO`^40qi)f8mb{B6Jv3T}Xni7CTs?xw;#gr*n3aikv;onEL>tLI1#YGTMbmxY(6QWT?GN*whz5qCJ$DQQs?7BIMtGCEAW|d(646kiqgs2)VX~bhYSK4e|Cp#CUYI(O zNW^#&(aHMS*GaQ0*(ZrP3H%vCInilW_w@c+Wpt*=ZMbws1(q>1I-BScqH~DOCpwqt zJng4qD$=vG(F=%Vt@2xm`H3zvm0hd=R-NclqRWX!5Xq+j#ClcER_h9)E6s|Y)MX0A z;}CU-T%wf7BMOLo1rXio(~u~Vj8&1pu~D9=OiCS-f(B6^YN9io?rUMG6lxPC>) zwdhr%*W_<&^s+jF{489H7~j+`rk&_5gOnkl9}N<{OY{NJdqnRK`fYDjsH};}UW~T* zq1BSi$HbzePl&!F`jqGkqR)ub^NVnl5tZMyjlMqi$JSp)M#FG(Eu9$^K>B~|#o|0IDf2CF!6#pL&BA!NtAIqR7zPd#`E%9_} zND`~a`=kmp1MwQfGZHUGJQML8#4{7mMm!7gtU8)V7c=&W^Xo{Lys z=#ZdMhHqIg{~z(Z#0#pq#`6)+PrN|u_;1Yht=k&C1@S_}i&*uATcdZ?T4HALqK$(h zUYvM&;w6ZeCSHj)HLXip262IPIrOq4@K7 z6=E6g#VHAGpA)Y}yt+Oz(kqn6EbG0ocoLDrrk3ieII&I#EVG5BTM}%lqo>} z-5Hb8KEyT!FqVn;CqAGNj_zP8cLxz4PJA%2%m`%ODiSzUwaYZcDilAy@A!cN=&ej^;HaBRKUnNpHwSMf5cpUL<#N&x?AikRT8s+!9rHHRJ z%7u*UWr4ai`kL10yCp+>Bk`>!)tiWKCcZ_!?xl-ema4Z@YI=b9ec}g+UnG8rSl}lRKSDf__+jleg518S zM*Jx8V@jv?$9r@OK7N8&Qjx|}s_S9@sNCc|^!OR#7esf&&k{>_etzJ)8S;AgFREzu zDlZYgN&GVLYs9Y*%NpQ4ta{i&Tp z5EZ;mK%Rb{0*^u|5FH) zroV19t8B`OQ~VvV*!lOwKkAjf@ehqx7xQbKC{E^QV)6V!r-UEk)}+t=Mlu=k?<5fa zLHrN#pT_TB#OC}5))E!J>_a7!kW8v0zBoFG=S4Ef$+t`cao;ej{c9MY4-WvJlClBn#_P zvHxTd-RqIzLt+W>Kgr@GE08QfvMkAxBugon^qOR8jan0R{`!+4BUz3_;(yr@7Bl!o zC_%1yN>(9RiNrqWXA;)PDiM<8{a;(;mxiP_C2NpuMzSW!`Xp0NXmwg7a@&SP z7cSII2^XrP!6bW;Y)`U-f{8_GyS4R&bMIz^a4ktN~$hNDeVF4mO`4^c*UG2WFOMU+cM}jD{0PB!m#&Pb4{s zUB9Y+#$o@!|oI!Fv$(bZ)lME+0OC@X?Q9DujoI`T1O=*ST^BQa< z7m!>`av{k@{r)JuKqYVqN#p#R=}C{|GLkmQk_03PiLC#Nr9~uhvznw|G#aytQFtUtMv`j)uS6D7NK&d=`+Dh+j3Mcg2n`j9 ztbg94ZAq$@Kaxa8gw~jiNJeXTCcQ~J*I1HkNXC&|O)_5P@a=4^F*}--iW?DB*Xoz_ zl+)`;{v^49BolSuOCBV7h-5;47gg5ij7>>N9wB*}vb$Ueul?Uy)68AxQmg^0K75;*q>c z@)gNzB=3^EPVyFsboMvRkW?}n#w2f(G~c_>Nur=7d5`2%lJ`kI(q)R|19M6r4%q+4 zR#6luqk!0$WIiML(kgyV@)*?Nl2$8 zos@KP(#aHq{A7|P@olPG02*=}WXFEesYwUv*e9(E<7ta@nt$mhosM)y(&0+eIkSCEME`$Sr(9Wk<&!6GO6~;*2(i|tf=g-M!G)f z>ZI$Cu0guC;arn+Ej=D!Cj_*v=rmoIw7>hHG7;^h8<1{Hx*_RCrnR0PACf+sZbG`b zvAn6S|D>Dg$IWySCt47Kw4Cz9F3O31r3<77lOCcP7qUf((nHh3NQaRg zPCArS1ahQ46?Mo@C3zI-(dwX@5{c{5V@OXRJ(g6od0cBuj$F}b+f|ab#*8-xPb57_ zo9OTR2tB8eUP>yNvq?`Q6@E`AJwuu>1D26puni|YOXEo$G0!zT=a61RdM>G~_K4ih zBR!w=0__5Fuu~&j9hxQTCcT*S5+za^l@i&lOGl8pq?eIiNqRY{tp7{sD+YO$N%AUE ziT_1+Htwq>c%&hzPbvYwbP%;eGYO$N()dSwU7C~RZn31dh{k%~q}laA4DqVCZmjdUF8c-7Yg znXpTtDEb=G+exn_y@6EB;Cfx>6g7zkwO8IqdJE}ItrO)mmssY_Dx4GVBfV8SlnVB? z#`BZjK`LC_Nh(x*(HbLCy4wKm`B#IaQt|%Q7+IhYbFx+F^g+_sNgpB=!y$BT_U~oMbcMDUm|_kR*m*jHq{PaC4EgDX5W~%A$^1NL((^q+vL-?NZ%#Z^FO5T z=)n&$Md=P|51*61Px^t%Q`iyBsvbWg{eo0PCr>{SFjDDvpY>x2S!+EkL29eD`Ch`CDWYefMX48^QC!Z#3jcv8Y&fOZjR9~mrjAS!eq-URv%4Q~; zg-q6e%x*u9l!a_|vbo6SAe&R|Q*HqedbCj)0tB--+k468m6Co`md#JL9N7Y7i<2!# zwg}lmWDBd6YQ@=`5|G=C>ty$W|v?n`{lTwaC^K-SzdWdfbg{ z9Wwh2qy5z{mS^je9YVGN+4f``l5It{5!t3>8+m&o5vRwwraGVVx z+qsWN&YlUp_}ffK-Q9>+^E1f{S7|wmk_G{wmW+{p60J4M04pjLo zJqKwI26Jvh9)$z%mA$ykWIb~n=jO?_PNnRLy zk?b|Hm&jfvllA|`0A5i@-J274DrWpT*&7_I8v2av3nN~{BGI70e@XT|*;i!WkbNzr z_U8_nH2U5DM}MExAIbh8`-$vVvY*L*QJ8^a+ho6yiN7+kg%=g|pX8H}{Y5T5UsUsV zYwYo4|H#D?l2PlDc}+ekxdi`WU{CkGcRmIAeB@J-PftD-`5+ZSKDE*;eJXE}tMk|8 z2(h$$TJq^yW6v?1=aA1pJ~R1@&%E3tTc~m~R`2V1F)V8{MoX=0b6!`+=i;^!$zK{-K3bU{(S9(ysNWYKdi;*v` zh9_%W`4aYM$^VGIC8+np^W%5;o zDixRb1hJ5OHS&ynb@HL)Ymf_fYm#qBz83j<v5PkY7Vyk_#~+ z-io|KF7JPxq8y2iWZo)o?a4$>yq3ypB>5O}F}cygtc}Q@8!=*G(O7kiRJ-k?y%@LvNA4Z5de)m%r~?`ktllTl#^eA4=Mc zUk&@@pOAm5GPhyf#Qr(OndDzkEJyw&#kAyKk&C1Ln*1m7Z^*wV7e>_oTdfOCVn2}o zsDX_Xs$@ilKa>AP{tLO@{Gy7GR@4%HC;vnF(nww++x5u*qL`fgZ;DCC|Dm8YR`w+| z!qHX1Vp599j9Rl&IjmSrK`}MOloa-6lR!4nLNSP98VU*Z*Hqst(WWdfh%}1nDCVP> zo?=dl87O9^n2};89Uw$ClK$SIn1w?8{Dl;=Qp`pno?l*Xo-q*#GsBZ?I%)}UC4VpR%3yNb%kme;h87pqaM zKIqG>lssuyC9o#N`V?zXtVgl7o<=U#p;*^Cvc|?XEj4FSY(OFRzepc{TB|Ex8&hmW zu?fZI6q{0PW?px|Zx>roY^ev;)WXeHi>)bkpb!?er`WbN_A`p@C11Jt`js3NC?1!y!Qx5t@GQ1z^3#@bCv)Lq7{$pH$55O=aV*7gYSk(q9S%f*6pdpPoF`Jq zXFPS*rrK2bi&9Rbkgj1iEH+=9PH~3*HRI9ga50?X35v5QuBJGfqM$g3!lgKu;sT2E zD9%@$;&XJxRV?8`3P&6u#YINO#T1uVMz;VcMp!ETU-B{>NP2~(G6j&lPUUp+sN@}~ zV`$+~q!d0yM4{sjg`WR!zO8D1V~WJOwn#~2n^EM(_&X{wrN5*YNztaLD5OJml{+Sah9I1N^#oZLwQrtpu9mS0l z*Hhe}t?Tl_p0XB7aTCSO+TX1pN_ zidQYzlN$#lNEW@nPVpAS8x-RI#hhgQR=Xa>+Z6BUYLdliQcm$6#TOLsQ+!160mX*~ zyqmr?Bg1R)F@?nWr%-%C@hQb;!bKAbDm%iy`YZAOBLA-_zM=S9_-djZ1rSeOd`I!U z>PUnj@w{5akCc;9{6z65#m^MKQT#&jtJ;`oN@^*czf=4n-CQe5E6U?vlu-Ol@sF&x ztHFqoNSszqLOH3Kki4#|fd}Q}l+#g8fxN*`PDwe4aw^3my|0|QiCFrrl+#d7t9g}% zzN0}oJ>^W4Gf>W`+L2DJ@;rrdW=f0m%ULLArJU{m^HdGZ<(zb0p`45M4wQ3K-bFbN z!ALVkC^HVNKxd7#2lnYWWLb(v-!ggo(;{T?Ui)#MxD=4*)atZr8*z!wR zy0n$Zqh;joa>`}xufQ))xd!D5l&ey%NVziQN)2Rd#6+vON&{(mx&K`-tga=BWKBx> zyB6iTlxtJ!&F^-7xm_<_>UHn~kb3_+<%arqoRUhpG35}-O(?gc+>~-F%FQU{&UbnA zpL^2FEn9MFpcd*C@RZw7Zrif^&E;?Z683U1<@S_%=R4&NO*!RG0|3I~&XoI5?n1dc zrQMBQ+WqfFE#)4Rdn&L>Z!gNdoBTj^!MQKxepV>?<`#Hq@jyzS@*v7{C=aF_MtKP3 zP|8Co52rlL;D<{}dBi|nxdndU{`c}Idvvrtl6H@w6q`AgQm=idJkEF=PASHDGUW-B zCmN(6l){r*BQ`g&G;%(b@(jw;D4YA=ni#;QC>uO zzLi`+d7)%vgJGE+M`Pv$|*-sUS>}R4+y_$=t@eL@+wNFDOZ>g6Dd8*G&UJf zj;9PMM^Z+V9m<$8rA!oN+^UjNW|ReG-WSw}L#?nhuG@OGz3Qk-SyNV8t50W7Gb2VC z@F>c$mKjYcUs6&=EEVMAG&4e4znb!9%4;ZZpuEG{`19e}ur$WQ)lJnIqhj_PeFT-VrWk(7-&zWl(eU|CZw=MdzvP%73Ch=_H+h3J?$B+M1?GZqCFGs zIcd*Kdo}}@h4!rWNPB^m%uag_%c}rsi~pb3GILuxPhVf{`DialdwwfiK+?t&+TVrr zuadV2?X_qxN_%i#%hW4*QV9Ot6qeL6_9)CHM63n zG6Y;PK*lPxSEaq$z~9wruhFkAzNo!szgM=`roAccb!ay{u4{N~2vC`9Kzk!A*|4dL z+*7a3Z6fIa=FMntLt6y9740o(i|1e5C^W$;@YV{fTyINzFzxN^uT;OqP;IZ2Xj?nd znV0rXv@6;}Xdgp+XWIK4%r3NdrM(aB-DvMYd-nkhA~YQWXvIM`#{^C(LmPPG;%KWftYP0M zKbH2zw2z~Gsy#ZM_Wx*~Nc)6-tr54-K8dz`x>krhStV)e6A92hjkbCFwvGa{&(JDb zKAiT2w9le_0qwJCpG*53WkkXN1v`)S`K@sWt4kSoLTj811P#|0X?5$Nv@f9@(7u%R zm9$6DzT7I>D4?7+hP117nXBxPL))kAw#NDP_unC)!5q>~Xh-%amQ);|Z>YMP_M5ctq5T@|d#(C?_DJCGr~Lr!r)WP&d!n%*V}URtL%{IXIHCVx`}>Ig z)$&JaKV}*6|MK?L@4N@ogXr!$$APj12yfGHaQ zE1a6nEOZ9ZnVwFI&a`x<(Wm+|v>hD+l%viJbY`M6qy4oAvorGm6r8H%wy#Z^7-hTLT7$Dn<6)fcb28IARU2R$dD{dXHm;6(szKJ z#f++^?h0yZ zoz3a&MrR8;+tb;S&USRRq9dMPkO(S4vJIVW2U?d}iev!84s>=loH7@Fm`9wgJTo_o1^do&B1Kt8a&$1Lzz@=Ri7#&^gG! z4%UjzNZL7+&f!)lQvjh^+HL&5WR9dW)Cz@WY5izA|D!XE&T({(p>wQ05>Fznt3MHd z;~NX7a{_XCdgnxKMH>?9J-MG(uv6(=OXoB?A)V9dTtepzI_J|llg>Ftz;HTeS>|l5 z)i|rpxpdAmBtm3E=LK}s?bEqX%e6xZ@{0#Dm(sbC&Ime})49wF8@p0p(ZJKW3fYM4 zICMNZt|2!(I*uz09d#6vrxVfX(TVA_=_GUtI;jC0D3eE;={RQ4de& zMmjec63O38=N3A*8p6c~WGK#G9^FCbP6acqS;^gW?xS;$uhA71yiRv>I&aVwH}xi+pXj_r=VLl=)A@kT zJ9OSN%rYW0*3wJ?8ZJJxM;|HL{?kwBd_(6`I$zNF%*utT&n+Xod`ahPtMZk3n88+S zUpn8?`GL-NbiV)B^T;DQI!x$K_4qU0Y3ckz=XW|X1PEH48Vt1i2c5s@H2%MV{~P%d zPUoKn16}A&GLY9P0Nu&xPCigF1>GsFaH@flsWmfBhatKxy3?o(n|WDxI=VB{o!%bl z6o9V!f4Va%G3pJ5)15_1tZ>%G6zR@RcV)VB&|Mt4-?_U0-MQ$_Ls$KO!!_M`t;&2F zzjf!gFl=yZywJHI-G%MZLah-$S!NNdC5?*5kmeS%Rsy<9&|Q}9l61xGUqM&K0@GSo zoWEq6{Bm?xq`N%b6&l}VsD>L_9ShXYbXTFfF5Ok>u0?k>x@*w=*Z)hSYg!e>X0_I) zyN*?q&LxemM|Tst&7%$IZfr0c8dDoJrf8H5rn~6?hRrM^b+@2<9NjJH?niekxF&_rG0Jzc{9vPGXS#dQ-G%P%bcLziR7z5@=?>jJ z=wXzT0eGR{`&`4~5x<}AGfbPL`4>TC{|N0Zl>>fh*FywyWrlfJRT^S3S zx<}GIn(k1mb(Fyf0k_!SVRVn7EB?RVkW`_2Jl*r@{*SJ3cLLp$>7Hl+BKDIs)5m`b z-BanFZg@`n7X#fh=<0M}pmp>A-LvVQYmnzO<(BV{0(38+EA3uLcLd#w=w4z^FIFVY zftm`W^}~`<#Z>|E$H4tx1@V5-8S8>A@8V;v|m(oud$MvZqICBq)ck)j0U?oCc}2Ur8m&M(YPKy!28WoZhE<2HL9;*s7_2sM!t`db6X`xn_hGt^(G~wM zPo=K-f0aMo$LUJgFC{h#sJ%U9f1hrR7bhT1KckSEd5-SObk+aUeZdMP^P>HIX~31e zLiaT*Y1V%P;B|$RxM;*kx^L3`iSAo;Kco9L-4E%$W5Dmy{lGFd7IfdY(NpQPT8;k~ zR39T}BdveYwfJ9FoVuUW{hsa@bibwhCEc&IRx=6heognAz6{ltzSBpFQwB}J_JgHA zDu6!ynQ9WcztH`Y?yq!zr~7~Y-yr|cy6O}DqWcfszwNJ-SU0TbKdmOEnu2Pw<|$P( z1PrH|l4@!y^Z!j3s|HcE3~XScS4~T`F4c5Yi&ITcH80f+RI^ddNHw!SQppgYEmF-w zC7!>}iY4<8BGr6U3)-XksTQzD%7T?FM71!LczbDL z5h@89bpqblsueClwHnouRLfI|^B0nqrV{5rcmTt)D$Hs*o53}bS%GRrD)an`c4ewn z3|R83DpfMqlm1n$PPLXHT*K1-5J0u|0OoZDYOP1L1C=zrHPr@G8&hp)RW@oMMZZ*= zP;Fs_n^JA2{kqci6Kzi0+LCIk2AicyJk>T-68}qPJ1S#GdPlW=<4X<0j#T?n?L;Nz zL#TGvx{U{`b}>A{(QZ_G7?RxwO7^7Mhib2ZzcK`fe-@FdKd0J{>JX~^sScz%z+n2C zqB_U`4j%Aw0(>adVGRtG_v#8ECgsN-p zt<||y7gL>QRnDinkm>>h5We=c!i$=^mcNARQmV_SMktI5Q}Iw;ZcRw$N~)UbDylY> zLlxOmm&&8^6=uBJ5>;SnXntcjRZNvzNkWxM#`2kF)c%Wsl5)@&vZ$-09#zNEE>+b$ zHTm?YZln^XuBIAAHHK=mK5g7fHMW7I8b>u=^ZkB(4b^p2*J_EGhh(U(r@BG86BxC| zo2YK5x|!-$d#dC00PnZ`Cw~XkohH@0EWKOOew0|_2TiLG>in(^5huL%^`c2~(;6r+QYatA3xSdV@;+ zKh=v=66(K1_40p^ztS{H^%~Xd#;;g=Bjh)!-lKYp%G`eSwnyq-SW~w^T<2 zlhsF5KT~~7^)1yWRG(9QY5<=ZfLbHf7gS$UeMx2h->k@}{YGKT^--z+r~01iN6V=H zZ^)+lNi&M)7plLgel>vKsQ#e(-M|!*>d$^&v8N&>v&LG70P4x9 zr?AYF{ij+uHT6-{gQz#AZc#5uJq`67)YDSWL_Hn#4Aj#b{4lFKqvZ#vt!Jj5g?d&s z2E{g;J{4zG&)%Qc*K<-YLOmDtLIyB5^}ynPJumfqt?`@4k9vMf7oc9SDQQ|kF7i`^ zBdHgqUfeLqh@d5wUt-|tQq-$cFHOB7wG075$+FZE^G~E+j(T|o>({!%o~}f_D)q|L z(r49{44`?mT9c<C{}reCe`Rw$>J6!-xec_ISopuatlp^KH*4W; z7wS!^w>E5>QEyJYCG{58&_GwMx3cQO={D4Zsn!1*{C1WR0=B2#(MopE66v|M#s5mi z5c|8cq+(#yQX(Jo-;H`tgWsKck3Nqo$-Suev2yYM|LSpHlY`*gpZXB$1E|I4OQQ#B zd7l#T|BZ+ar9RRy97cV(VHU_Etk(>;@}XKq+d3M#fu$ZseL3|p)TdCZ|EE5V+PYz_ zLjd*vs866i(Q0k3sW$z8Ljd)u)aO#4Mtvsr>D1!+wYtGeE5h*`{Hs>z`kjkf^Zd+m5z*DR9Z-}R^sPCq(sjs8% zQIDl=%zl(r5&tiQjZtRDi4TN}}#r@lk^YQ|!16vkZ({6QAUYqW<{5Pp!(Q19d;A{?bam7^wRd_18^)0OnijKd8T> z{)PH`>Yu28p#HHBV`Lzgn;0>YQvXW*+rLk#e;>f}C%s9i|DyhTpsj!C@oz;f6b5^f z(wpr6s`sX#H#fa0>CH-SDtgn?o0{G<^ajyu={ttwkCUIutv4+_z5nq)B{R^QN&eE) zTOchnGrd_F_r_dUG1U9L-b9&(-AV%|mYydh^l~S1;J+qc=aj1sV(km>04~ z3rjjsYf*Yj(p${R7pJ#GQ$Fx?DSFG;qotdY0X)mm+k@Wn^n{}oOdu=LTbR%HliqN87aEv|@oakM(L1Msr+4nZl+!z( z-UU+Ll+e3~-sSWzrZpy$xLascM4|KN0`ke(;0K?d~hmHzvX3tal|pnoL&x0f;|KdO?ylm2_?zl;96 z2XvMM{r3)V=)b>W*65Gucj<4^U#H)z^fV?@?pqcC{b9+h(#G`X^tb45)1T0v{%>qH znT8Jidh-|k#bnF}N}B$M=zo>|hv|Qs{zvG4LiqGQO8;Z@KR#fyC4Z9s(eyu6G6#_U zXXt<4Qax*^SAZGu0{t)3|04Y_4G0@w_J0Oi?KS$}NB+*Me+>O^2;T(WECuL)i~e`$ zf4k(168gpezgNaqG9S?YDg7VP|FLlB|ES9SlL0aM$I?HJ{?F+Dyku4~HnJA;`Dz*P2A?U^#4cycl1x7|9kp>aQv$se-!;c(*Kj=H=Hx1>{6M})BiL5 z6Y2kj{$EX-h+Qp&JoL*HAf5Af`v0)xLjP$T@&7{qP5(a?e-i!w8ZE`Vni|xmp*97z zsi;j^s_p5lO)Ubdyf!VhK5ElZn|?sR(mK>;_+QRU)aIi$GqpLX%|dNq%at^>6{xLDZAEG;mHMk(R-v|PDI-6iP?uXE4XJHLZ6j*p`9;IVRqUn%sikkJ~JC@o()P`6_2UlqiL9QS%8A(M= zYUXeg5a%!U9BC;2U+AL^#rX>@6Mn4F?K(?)ZDr^6WfEiFNbP27Hwir%^OlmP zb{n<(sEwp{H?`ZT-C;>aRk3$c)B7JMOL$Keb#F!7Pt6sYT0ga#2v;`LsWqv2)EZ7O zhZFRMjKortDL~6eEyP_Dxr(ATfm%%MHJveQEouq1(bQ6E4^eAV>r%_8bu39i;e3)gE6<@jA6PsC_~0O==%f8$<0KlaW_|w|iom#kAT^lUE0$m)4yQ*TJ10x9@*7%rKeEOt|yl z&Wt;oFmd%lcHC?VnJMS`=WE9k|VS! zUsNl^UCeNC++}f>z+D=5N#PiCDJ9C~uDeW0<1UB0GVb!YE8?zDO6rQ&U8$5bdKKK& zaaYA%t*611SkxMm>0AqUZQLty*TEGH>*DT$yB_XVxa;F?f-5z!k&Z`q!`>)!)%jZ~ zgt;m17Py)f?;SMhKRN4-}J;+oYSaA-<9a73yoI`QXz i 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

    UcEl9K|(LzKE>u`@-Q^T`p5iK(I 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

    t0sR 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

    QXIH zwZ%VGTl`bi#XowEZzqw+1fw9;uc&@URi4*3RKK?1;|mu`Lf;x6RXBeR)$ghPMD+)%KNe)$Ta9YG zY-~&QXVsZ;pvChmRnh#7>fcmnQk_NhcdC*^P>}ukXB?(yMOFW#`j?!D)QNe*9aR6J zDu+Zoo=K?A?&_fj=urKaP;9<#{%kRfk}OF)S}Y-iJqTAM>`Ay7;R1vU6D}w-13Ebn zE~H22DCtGmWkfy!Tx(WPB>TgDRBy zf5GJ?Ho_GMdy8^c4;`fvu0*&F;mU-o5w2otGXF36xmJ=RT%B-D!Zj?mEOm)zEyA^B z_u8%=uUUla5^i7t*E3u{%d_zf39~!eSWf~9H_>=B=9dXKBkVKp*qN}eZ@uC_Dn6G{}1~U=JP+H&i@eF98tIn;ja2>hr1E( zrH7G)yA$p~xTn6hzb&4<_-Y5j0fc+&2H>)5x+b?TwRZ^zQjH zVW@7kR~XuxaEwfG6o$&Gp$iF5COnPs6hhhg;laYu0}F=?)pJ@yNlyL+ex@*Xp#C2% z|3Qc22rnQ!lTZreEW)!3W92{P#R@~^zRoF(9bFi5AK|%#=MzpKJWqdN9y(S2$ku%z z!-Q2)9OFD1N8|G<@Bo)3{ooRzK-w)i}QL-TI0Nt@TR$OT5PujCu?&}`YxmQrU1kHKB;RBhFP->t|`#&tt#nz9>6M2;IX~M?{pCEi(AEoXM zdmG`CgimFEBFkQ{g=3`-JVPi`J>utWP>oAYqpYVM`hwuaWYr8O1s_}<{_D^?6 zSS*a)l+YE_f4W1TuuK>bmh{JSsd#^!FMpR4RtUwnYJX&3E`MQ5?Io-c){R7S<%CVb zp9ouo9}&icDPfy1kzcS2hkw;;mi&VKHet6ew^Kgc3V$l$G{P?lKPLQ)@DsvMrDQr~ zsD<-6;TKYLy1Y~V>DE%6PWUz9SA;Y4mw6ScKH)cnQV3EB<&XHOQm|Pl!XF6bCk_pp z=@b5(ug0`SGyIkCH~mZ|`(B1K4S(0UQ<2yiDE4;$N%$Ax-<=seTfjj0KWeKJ&ZgFr za1ON|g#T*uBxmP^w*P-^K5Fx8@EW$^f44?xD<7yWKy4WPt6RM5y`hKn06L2XGROBpULD2uO*FKdx6M{Q+l%TrsC+6vTqYYnkqrOf_3NNpu0 z*{amqD%4h`wwle9${+M^>yQ7nHK?sc%_jfljmUQFtgWr_NdKX>F0~CTq4lV(uR^)} z$EaqiTRCh>Z8NPfdgFblZK1}kwz*+n`Tm%_Q`EN9r%>BUQ1V8t zAGK?#Z9{DgwQZ^GNNqc6YWAsZuQAL2dbR#S^wM1IMD0XsX8dcrP&-IWI<;L5ccZqu zkv-JTt9(ytdl?yEsP?~5--p^hhSCHKG_s%J{)Pt_9w;c6>gyvunA#!K22(rKoP($x zPVF$^dYyLwwId4WzE15(K_jxf$5$?==hTj-HiX(x3wVs`pT8)zW3#Z-hEbDJI^KMT z8;;24_O&xs8%ga1)y!u5Ym$@E(%;acn6a-QwUelwW8`FNr%*ea+Nt6!$eOy^X|n2! z+E{9*QyXUw?hFm6WqzhP&nkSQ-&M6TWOLfJ@zk!i*v_Rk!N_^kCQ&<|+7;9$TJ|oW zc8Q!ZMD0RDIsZ}k#e&jhqIRh{FEhM66B@o=m|$JF+LhFDvOQU{nQ?z_5ihqL`dyH>Fs9|{?s1M%j8jNa$owrEPs`rFy$wyJ#WN@ z05u%~PZ_Vd&HDc}>;KoZ|4&Vu zKO<#o*7;YVjVx;Ne$~v&`v0}acq7+unzLmX3u=bt8%HO$lv+2nkJJW=P(G&Ui!+Vd zCq_ONw1A&d``yTA)IK-z1-0L(eMxP)MkOoNYhPtHoZ1X(Uz^T1>ZSSomfCklzBl|K zm;XrZCzJea_>1AMnXkn;a~}SO`OY%@(@?+vQu|xb$UlY|pG|F!%Cmj9YX4DRgZg~b zd#Fx*e(GxR_xp`q$`&%LVeMkFJ@kgQ(wZ! zl7>qeE-h$e8S2Ysydc}()tArHT7i0R>MKeEArk5<g(BktxtVJ>Kpu@X{v7|@{V1qZ(=%|Qs0L9X4JPbXCLaD zQ{RGm-?^G5-%^*dXjyHoawYxpc($d!U009PgxjmHENH3kK)pZp9kYcinNUVR)OV)7 ziw=d9?`pW4;qHceP}h&YHYyQ?0o3=UzBgjh^{tfMkF|>0Z4S)KVSnmxQa^zD6Vwl+ zeiikDsGm>$VCv_Y<{^fMQXiy2w2%*@emHgO?bMH;u1z8JqYMWd9&IQ?fP1MQW8C`x zb?g7DvW+I{*4tF)2*OP7|t^1+3M7!tsSY4r+%(EC#c-4P4b4Mmzml{)Gs!2iS{$= zmsT33>U#+X7m0W9hoi<+e>#2**4b*R?eq+ZP z)Ni7Gv+3L-D3^AI>$g#tvb~-96zX?Szl*x||J7#7c0={Mm1qBt*YD9FL)0u&zt8Y~ z^;PEs*>+6Sts$sCY{EwjAEo}dc9!aoNw--y8nW>n^(U#nO8qJ7lFHN4)@xL<15Eu{ z>Y7AeXx2v5U!eY?3N@{lsK0FFl}wU9$JeO8PF*&C7@%@lfuqWA5xq(MZ6c|Y?+^{4 z{w~o$<|R$Q`$WB|e?a{c>K{_CPWGB;y(_{F0Op^|DHonDMXc z>tLa3)aynfwVd^amcNoFb$K7VsmJDQ=W;P_X~s1M)%=M1)ZBL(^^cWzygnrooB0{_ zU#Ndh{VVEUQ2$c5x|$^qak?Eps)GpXGqmei|JpMAjXp%p`L~AOQU5-dhza+CrmHcV=7qXVMBl*W9TK^?Ky6d3UrGJU$ zqyC=`aBTlN9rMbz)e%HX5%nNilBg%q;zSD&Ek?AU&HzLU3CbZFL<<%BWJ#7z$LV@DVO;KaW1VRvS=Bi<%yQncP&~@o1~fNNR^hbL@RV&J*hU) zibN|B?MbvU(b`0-5UoM9D$(k?mshl!mbN|)>q|sy60Ic@3;J`VY`i81zeej2ZBMi= z(Y8eE5%nRGoLC)*HqhrAZAi3HF4@>5n-Fc9OE&8~>qt8PS*X55G91YGmZrZI(bl=7 zpGmgKLdp1!Xge9x8PT^uE~5TKJIed6uY9x<(auJ8$tAm*b2r1?4fhbVfO`=QBpN`p zj}_Y9wrklrMEhECg;sR?nb-bA2V{LMq65`ek~SndnCK9q!-x*e^D{^@uNga>=t!-2 z(Ggj#GvQHMf1<%eYX9|8g=2{H$DfX6h>j&1Ml^xwI3mfQ_=y9S4?B3-8J!0e`qKCD(>(>Vv1xHWXojzswG|@{$&ls0d zGMgVgm%m>x5WT2%Lz^UR`z#MH8@^)rs^M!yGGLUfz9FcCCgpDteMls4oLGQ&h~Cxu zBLhIWWSwgCKG6qRb?TrNzGK-a61f(GM!fXJGF zC^Cr-0f?H0EkSKHqBhNbLKM;K{RaYm9=i8F# zM?vLBNvNNRR9Ki#BK$QYh55vw%_RDZ=y#%77UU067P$q{UjSq!Jkj4olI?#qlq{#0 zI8``1a}xbaV^yO6XskeEJ{pT_*v9-CTLT(BX!N4dQ`2fJpfM|1kj6qr7S1Gvvj>~A zK%>jZB8H1*zBCrg6eM*TOIZ9%n!-{vmNv3XuDL9Y_0|hH5!t!)oH9nV+|T>7Gx*SKX)mNk(^7RiPzc|q1@EEG}f1Z zG}be(gGH0Z2DzH>{b+1VV>=p~(C8;}8k^GC%t#-@%_U|UeFcqdVJK=_<&v!nW0n?f z%G(%jD`;xl)7Xc`4m1YP=ucxW8arBMcCt+FY$yRG!@C;pMq>{ny9*XZ|3PC6!)ib7>xsH9Bj%58XlxU^ezseF-Yq}<4`Hvtl~+L(m0&P zQKor>;gN#&;N)=(p>ec2Ee5TSjbrS|4yAD{jgx5%vzU*gG1ACz8Y6@lKRzoN8Yj>g zZITlWM`d#3V+>EqHBT|;se(pMqcJw;r{_B3Xxv2OOd6NaIE%&wG|r|mfyOx&WIT;? z<)^BwKm=)=M`NPp{Cq90(KD-pGgoLG zvsYD6E*e+Sn4DESb6!K^IvUqz@mRXo)3}kw4JJ8Q@}{Y4qBqlchQ=*4?x%4pjk{^w zM&nKzx6`=8>iofq`ug0Zr1KU`p>ZD#5#F0g^osOT9j>uGOXFo4&so^#X}n0|1x;)8483=) zKQD=wkyk8~1bNkzUo+=AY9SkM7`{p4EhDxIS>qk!?;6S+zV`iSyl*I<0EB-iUPg*E z=cD1$sL}9flxV2^r=iAQS`Zy!HOe%s+uzV8Kt{@@V0|8GSsHa3KhcP2d{3i6L%WMK znlxPicHb z<1-px(2&2p50Znf1ZjLpV|o@U)2A_m#ecK)vnNei{I9(ry`&_Y3(+jlT$pCBP8*&59jW?VTI{mazqu&QC21~3 za|w%Q@&7wxQD#J&OVM10=F%FWwEprzp}Fil@h?wvJqxvhVQ-o%8d)jRp}Dd-S20}G za5cl#X|7>pO~bWlTHR}|EzZuIWK(N}ep+g-FT~U~pt+%ujdF?PXA_fbO0y45>->wd z9Du0zxVd3pnp+sz(r_!otp)Xx&s)uHh^6SZrFjC)?PwlPb9~6S+;hu(j2^twdbMKt*Lvvpf4m8})aR1!*0GbEp{2(FO z#H@BvnupRHMspC&!)YFt>4;ni%_9ttq%w>c*AoICm5b*c)p;Ki8L?B`Gqoc%DGJeH7}ugDa|Ws zUPki@nlf&+POoNQl4^Et_9~iJ)10gl8-c3HYF?w`T-CfTkMsJxU~i=PCC!^?enj(T znzyKetj}rQO7k@favROtX+B5u4w?_pywikt(Y)8l-884ryeEra!^+sXsq;VPYg0fn zzHZu#LGvM+Ptbgr=A-8Oh@gC(r1=<4nFX?AZL@J-^GTY|(0q#K(|TXJOSV2Wn$HSq zC>c3Nj%_2=T{xr4oFPBa)G~JBT^d#pr{f=>KmT1N_%cftUSvOKO%x?)nM)Mn*KhXS^rnW@-Qs~?9eO5zE?MIqF8Tpy!FG6%mq4}##BV1(i znTEg9l>MKx7j{-o{-pVr2GP5-mZJHOadFPh<#SA8O+fQM<*oT>&7b+|u%*>QcqhWv z0<^ZFwIHp&v=*XecD1!ItzNX2p(Tq*f1%Z7XzSlvvi{ThMXkkX$>Pt9FF{Kde~RW( zhO++im%>0(bhsmNhP|^*c|nwSn9ttqo~yWQlG}s}C)+|E*1F zZPtlXmrp!1*FK0rqqPOCt!SzJ*GpQl*4DK8b$;3siL~9VZE5{SYdcz2+O6$r?O>_& zr}YM{9ci6JYbRO*Y3bpQmXlp*=@xLtcQf3b)*eRo%;kI08eo#W4fo0A`*wESY3)aA zD6Rcz9ZBl|S_jcO&~$W99t$G3d`Qj@r8Ow$b_8VWa9Y_G(4u@VE!_gtLJc-N+Hi>B zF@@tV5n}vU!(p^^^EXtcTC}g&5fK)>nd8O z&^njasU|tiaIE3!hWcgG$T(Wr7SNLDStdE#@Els>Gab8&2_`&`*2T2W&*Zcw(z+n$ z7t*@Oxb0ljntNZD(z?vT>WQ&NuAnt3=T{n$QkqQbQCe4E@s2`-I_>w4S2%BCV%$`73tXo8CbA_$>n&OyE$jcc-l6p#t#>p1TupWXmDoNo{E(Joq?qZ@a&tAG zRzxevoL4MJm6q*dq_NdZQa6PxGYwkJT)#ytHifofVwmQ>-LyV3$<$mj&4@hl zPiTql`jpn!v_8vyKd1FY&cCEJT{x|;3}=`;%fL6e&bQ|E9W6Efw07# z&hPqHecg_~gw}6{GYx+?{KIgT;h(hr5@P&sTK^dNUoM&5)pHq>sPWJ274dw;+W8^2 zCP3_4toC0OBvt*87baeexEJvv#0BE6Of&20Sv-q&POFI*&*C9o zLWztH;-!d}C0;t0FC#=!5hPxYc==2&Lk8mB#D@{DNG#oHYZT&@iTe?&{U=`4a5cl# ziMJ$PgLnhtHHp{J-H+q7h}X6i(MQQDXySE=*Xuadcm2ZOONx_tL*mVdHzMA|LdpNX zvW{95HnpYHgN^qg?rX}M>%5wf}DlqJOuMDY-=QaIZ=3BYxP({lpLCzVgJaBPzkA zrxa`FpI8S1Mjj)6TzNKTQLiV7pE9qfa~(_z!Ig>x1%U>|(i^MMx%R_nDoUahS zs;6COTCeGP-S~ClH!_JSyh*J6f8w_dwf`@^#P4>_$cW!3E)jn~>}rQ9{*c%qF6s)9 z@|F6>wCw5@%NB4Fk1rD9Krr(qE=zsT^@M6+s>DAKOWlZwt@E#m)+M=uS~JPm=fq9o z&xmdR2lb6DOEv_E6XKM3nn}8eKQb~^P%a&b#2=gF6T?qcXs6W+(LR6tg~`7(lovre z|DBF&Y(s$fYxDZX@LOV=jEcV(XJ-%;|44gv^R*#B{4?<{v==1))r7y%p3jI40pj0{ z|6w@G@K3|Ph^_M&17o*+Fyb8IFwgR*lF3rD*5&zpeJ4_Oi5>6JlJO0NN|i z?rmg6!<7tI7BsR7ZMFZ#SJMy88e|RHXV6}g_HMM-qP?yO*QTul7P<84x7VY+E$#Jb zZ$*0p+MChdkoLy<7eIR>S@3UU6WX%P(T;`5w-~NVyASOxXm3utue56_JaMA_Q_z+V zE5hZn-yhmr3#Z+W_BI{)NWXc z+Pm8=>_Ph|+I!MIfc9Rr_n|$&)b>_2OP%(J#(=q)!Xy2(qy(a2ZPy24#Q)oN1 z@3EZUYj_`RN%4N#&(l`>Py0dIPtaETPg|P?BahI|?SK0*+A;+cs+UIlq$#NVH}W)X zHU6}pHGFO!%@=6DWWpB(Ev(u9_ABbtAg|JXE%P$x8-{NhzGbNP-^e?(-_7}Zv}N*N za-!@1X@59RibYd)X?N51Xg6s4d8oj=N`_^_3hip{EAgoPr!DLMg-7$m*)(}8*Nkbm zbDo%2s!k21_TMB^4W}7e6VU!dy|Rh2_Gh#|r~Mmkwg0ALO+b4(ZEFHF8#8E|@o$^) zZ-1L>en z4{gck%_f;mdyaBxdE5We{!d9VUq_P6Pl8E$81~HN3z$=u0EzNK8fO+;(u<@(vH?jK z$s*d!sluWp%NSYAaB-3)a(zAjon$Ezv;Q`+rrArDHC&Elc_S+r_9j__#HN5$XC)J^ zY`6-^szQwGUjQVlt5fZ^|GM?nzOjCU|Kj)F0ugcka7>(@$l8Z?$B)O;~7fp@x5_Os;$z>!rl3Y%5 zHOUnuSCUMc$M-6d$(d%Ze+|iXB-hTPb3Mro|G&;nBzKTV^}CJa7Lr>t->#nhg^=7n zPuM$2rjXo4a(AvX(C+1)uAT$sGJYS4M{+;OYa|blJW28($z$gAkVW_~$s;6>%CqR) z`y9#P<0MaHab`&J6v+!DPm?^ObwGa8`1=%+XGxwTdA{)E1u8Tod6DF$Oo!xUT@#hO zLh`BxkdJZOOlYB~&kYp7v)v}s> z5y?j+pO8$o!kk9(u@<1z#<{2^`5DOY4RDNM-*|?Fy1EM7kL1 z!lYfKy-4NHU+J+(UqyUHe-TpI{8RcW>XgnW>Eb3|f^^Bk6Ti0GNwqkBHe{_YtkJ^`;l%-x{a2$7WjLl+mVX#@AP?0(w}rE zi)zQYa?+hMeL;!Se0L+=opd1S9;5@bX-oIimMhgJKv(dldy|^YPh~CWgDTV%A0*w6 zR1H4q{-kRE^-_H^{;5W;U+A)aOL{2jAkx94hh>_ihm#&5ob*V;qf~C^kLz~&>CuKm z439A!N_wmi15LE z6}X!88dF=htEY_=((6dI^KX|#BAL9C^d{2VNN*M)=`EzUX8+WSv#Y0$0!VK+yhCPa zjod|gkCD4ACsTy$|LLjJiu+A|Una?FwcK6dig)bZAL>kbrH|14E9s+j??w6;>Bppx zlU7NeAT5zTNg9x9|DW_}(zi*a!n{QKEa~&4&zVVIPIqukUm$%^|9QD+Aw{(wl8rY= zZSiMni$BxXv}sVU*Hul)o1|~)zcBWvs{RO*zC-GezME^lXKL@0eqiLoOs?r_@S>qD z0Zlzpf3C02nCWvblUB0Xv(6k^8j@<)owP<;*9qG+B27peq)n~-GKDCU9;tr+C5?4C zdfL`Lp$17wyS2_s2UXRiR!k+Gmc=Ydo6aY6uVv&@($DC&$&>VR{qUE5LHZ@>Y|`nZ zzma}L`Yq`UQ?~wpD(nB>6Q?d;ProBIgP(p+`hyDP*~v-J=})9;_DQt~=o|^1s{OZj zd?x8E(%*G8ORAGUdg<+${ZIcQ{fG2#&A;lOLuv|{Q{$XthU;JPCH;?XolwfAD^=1B z-96}Dn(m(FT!8My>0XfTf;ktWdtnXU-AkMuW7XY7_hNJ}VhW22W?s4P5}AbVCFx#D zd1idNm!W$_x|hv;m!o@m;dHNH*juo3zDf5=bgyQ@mFZr^$g0^g13|i17l{eipnFXr zofQb(Yty|w-Rsc3ojg0b*QI+sBkR+>Dcu_w-_TIcf2UiHWmpG7u{QBr(n?C&%CxV+*TDvtsy8?v{P-mcd&f+H{6l#o#@_! zZZrOR@fYxmCg2Jm{@- zy9q_^Bwr+d7kM-Lcbmi)kzCyP+hsZzdV@iHPHpUr$ z#78<8K1Titk;i?+v0*Xq%VK`m%3=O#@-L8ohWvBVc{Uv%#h?EVe^HW`(#0p~ycJCK>R8MzMlyLSZtGEexSB zRAh43(Fj6eN(!q|7)D`k3ONchQW#EQ8VXZ+n-??%NEa{*(^8n8!gRU{>OTel5KtPV zFcXE@Da=e^RwcA4z?d|a!fXToyfBBN=A>XB|F@*o(q}6!xaDABBA^io(9Gpf*=)NB@M!b1mcb772v zhkH~y*DD-J;cW^>QMiG^(G%@SBnrn-IDx|P()aw8{KTxRu?n92|HqD# z@Kg$?Q8+!-l!BewnG`Ofa2AF0DV$B=TxrVxA5`Af|NYuYu9-sN!mM{)OyNoj*4pm& zQ@Avf+v2|k{h>gX@G1(|Qn;GJHUE}=p`FNe6t0(TOi#qJx{<;|6mFt$yD}M1;bsc% z^HaD*O=mhj5y*1BgTlQO?xb)x1#eg#_>iZSHjLg6I}FDpY!n>ORC6kf}oi=`)Sg}y<-ihIj8gk;L=xI^Wp>0Ju% zi@fJ=vAN^}3g3%-NZ}(2H3}b7_=3VGs?4Xt&nSHEC0c(=zhhSTl0uQfR}}ITzNYX^ zI_{)nladtDqA8Rp1Qg01RDCE^C{)wf>@4aOdK5wm4GNKx`wUJ=?EY#}=ul`$o(S8% zMlo@vqR`Fq=_~eIPw0*RofEs2(svRIKT`OWg0KHj_?f~lM%+EK<47p{M#1F2Q*h&- zHkZ$m3bOwNxBp7`H-&#FPBPK+_hu@rZx*j z9|iQ(RsEqjyPtT`?Y|$t>_BlYit|#OTk?4Za_g%_@46J{r)Z-<+H)*VlPpAW8Hx*w zFG6uCii=WQf?{g_$56DjpfSUTd@Y3~2OdH(`~I8fuq?$DC@yCT(lPsQB(2_x6j!3? zqd@wQRA;d&#gP#WbI_J(b<*#dRsJ=lv~PLzCtP6gQ-} zvA7KZgZwFOl5&chQQVfIKmVn;1;wo?Zb@+~kIilqirYvzt?G6ZM^M~e`ey%4&9kCt zO}aD19Vyy4mA2cSN@Y>I46HDc(uZGIs}_;-$jNgqKsi!icy} z0VrN2yjpmT@LG!38A-qGAju6BZxnIoUu3-SW{UFji}L@Ang3tBU9ooz-Wf0Yl#Sxu z!g~xw?iJog@%~KmfFutJAEG!x#m5E`TLCCOLGd+;PfGJC;nNgf z6?ul@v#BP<=O{j(am(k$jK4(j<&3}LJMi#}JxY^P z>{I-OqW%BT*CHtDBdEpi#eWd~NYQ@&lE&IkKlL}y;;$6{r1%@f-}U9v^KC?+_($&K z*(urp@vee@QJT!Zy;J;~;y;7$@RTOWov{j~Nh#ryGgfhh(vaLqN>Un{ruEvIy)8{i z`5#Kd{1i$#O7l`0E-w3Da{Etd8dtW`OVd)CPGoxF48j?OGYS3Ub(DOePh?i%Y?Njf znIn_WNolT(&#kC=2Frt``6wMqX?{wZ`U~2n1%wMyT8PrRloqD6h*idy_)3eaZi@*Q z7cL=OlG3u2mNKs3(v+5Qp1#FXT8`2hk}oe@fzpa1D+yN?TI;PwY1K4|qZhaOAm|OU zCZ)BcxwfImI!;W}>%5+DeM%b`5#Nx~Mj{&vH!;i|^{x13l(wL>xpB`yNNGz-TT$Ab z($-o2+o+Unh1*fuUPS9Zr4iyg7>evD+)3z5K$Lb7juh@H+->j_z+?B2WKT-6|0UV~ zlG}euzWzhW?Z1eYfJ*yO+CP&VKtUnN*7bM3wjCVVU#YV^g5->C_PE(a!Pklx`L9M zcS^GVCE5Sd)so2mmwf%l*LX`BK1w$z>PF#B9_4ArQ@T0hw@|t@{= zO(nZ$@22FYo{|p%l)=xA%M~=lr(UZUbCPdUjH{JnK68mQi;-Als={8 z1A+A4p`=d$d0GttrS~bh{a5UVls*#qSon#{CqDfteMaeXN?$AL3*nbS`vlM}B5wRe z^1=e8Vk$8ON@Yq-$pcCiN+BiL|58oDx@!*dapNyxOsO$ZE{W`aDWTNPbUKu}DOV|d zO210;TT0($I^R?JA>%(P_9sd|i~Qp9f6wtZW%4_vKPV5O(c@fIf{mSyDlk=LHX|Vu_NVsDc>)N+5cBOmB&7i#XdyY%AG*jwtbrX;s5A7n&~{ArFtTh zJf(u3rtHQ)6Fy7%Im)jq>UrS{!WV@v316nHI(TE+7EmkEwt%{X@*9RCZwlX{{IKkbY@r5q~w8RgH7h<`y@#=rbkCizv zJ#jAgGtF-)f0yy^DZBlr{9`8hiL&f}`4`E5&E&sP{ypP=Q1%K);ZMqciMahAv{En$ z!9@goRM83<ss_J3{s}d|uusp#M z1WWr%C4p6PDXXFXr_W1ShG02@Wi8d9CW8~PsFes-G@VqLU}dYhlB|+y60An>KZ4Z> zwjx-AU~_^s2{uxd)*@J2HCacvu5dl!`oax_8yaT0ZR{_)g1rciCfJ+c2!ef5Il;ct+)uba!2tw^6S(~+IEdg-k%I{a_J8myM{t@;Xz>Ee>QI4e>Sx5KWly(oJ(+?BrI~81S#A| z;P#(jyzpj2Kg=TyZY6N1oxq0xg4+r1Ab5b_PJ(;<=|PfADjKX}^J?58uT8^N=R zdQSK}!3zW>f)@!sB6x}5ZGx8xUL$yg;MLrT`LsRl+u8)L6WDH_cM0Ag@XbHIdD7e8 z+nnGXg7*n5_Pw0_EyaJ8@~q?^5PWEH`YFWem+5gplH8n@t>-U-CRk^1Ra8apg~X}2nnhL zb%I)&XYPUfa^t4XjU7f15yZ;JI+%S~eO-bkK|;{d2l4K6q1T};@-9J_;8%hk!OsMJ z0{i*PyZ(Lk;5&jJa(_-j@V#sP-w1*q34R)EB~ACo2EU}asT4aMmFNxl2Z0_9oHDil zCg#NZbS=`0>q7v+KfcYoG6|JQsVqwcDl<@-j7pBm5Gqqp8A@ex&)gf?>r7=zD#HdX zdCJz345woGThvs8maj}hWm>pvA=|M5D+=TVuF${bW?qB1L$nW@a;f6Vb8 z?p&`-W}`B@Z8Gs9{BJlTsmw`bUMh1@nTN{U!-rTq+&2-a%tvK@FUu>ifK`CXf>f5W z+^8%>WnpiV$|Ax=g^PJ{E?k_-5*c68$nYV*O1`vk8LyA4Ek|WDD$7&ZfXWI~OtK=C zmHc$ZK1*d~mAFdor2D9>YACXraCPAtRMr$(%TQ!(D(j?t_)u%%^{A}xxtSrdK6a8- zdqXN4Q`tyG4AXgSLS@t3*xz&3CG1SSR-04Vp2`+fwxzNqm2IeO<@(+Teo?HQy>Gjw z|363xt%m=T!U!t%@qf$8^^H*3iFj2iJ5&2VD!WjfpNcj6HB@$`axsOUpZC5(+vI9Z`biDK+aZcD`&aTC1(qL3P9yt z;d#RIskr|y?o$9N7Y$zftytx+q$20Pav2r*{1r_BY#lFsq*A#`N!pk%|u!e%O#*xrxgCiW)DxS$GSTTdCYbCG-C)w^O-;%3WsFsod$d-CjLz9!=$L zCoa6#GxXZtH<-1(J1vz5s60sJGb#^Jd4OTw4`BY&03J5*ky@`j>bpI8c&H>tcO zq5J>2ePbe#eJIJfVD8UOS@^3SP!P2~%dD9M*pzWPt> zH&j9@c`6ku1uDffib{z}Im<0b)8_0~?0)W5Dm9V8_aE$|4OAj3Eh;e;cl)U{4AbO> zROJ6x-2YdsPXVZC3CQM{l|EH7gWpmeM&&yyzfk#J3O`Vh^KavRzg3f2Z<~?VX_VhtPI^8UNEiz*YIno?%h>Tf2)dp*jiG$*4~154J3}N-7^d)E>xg zR3{gig6foMtSeiF)g0BSsSfv=RHriZ%GlXer;%h@s?&>1=W^SvTAjg&Br{T- zNn~c>EW%k0bECauD>ysVIh@;yM|Dm~<`T{=oQLYX9_vNV=fv8ix&XDCsV+$M5vmJO z-H__SRM)4v2-WqdE=qM(=`Tigagim2OA40~E-hR}xU6tF;qt;2gewYHG89>v>MAKu zD^GPb$ycYkhRB*}EY-CXT$}1TRM#D>sB7KZELEnnftdoSZA5hok&T6$2sfp=nGx~L z2feYnCDnbYZk5TmrfQdFB-L%Hj-a}ol(!f9J(8wUa0jY8itHrZnW}yH*?+*~KfSX5 zWL0;iI*RIUirw8%WDntHZ(f!Jhw4%*`JGQ$3C9>286mXQTTc+o@hg^*XATQ@u*DS5Upu6$VMJmhc*?*DBSM zY5l2QPxU56-5|U%Ynky>Z>4%O)mx;$h-12yrFxqrb{2O~y`SoxRPRw*licl52kt4f z^SzhqeJRhX@c`8asZNmoLlfJO>cdjAwtbYEox)?(_MrMWwJE7SLA65lNva=FeTwR9 zRG(JzXQ)0WV!MgPi9ApBRr}u!)ffDQ?&^zFU(&OC<1bTvCFR41F6x!>tMEG2cc{KW z^(`fT^FQ@@Tl;gYKJQZffa-fxZ5ODQqQm4L{)c}|)e8ND>gQB_|BoG1KT|22Q2pXR znqN`PQ~f&A`6g?Y0@V`L;(s*DRD;2F*QP0|RjNNytx^4!YMpA6YDhI!S+)ge&n(Y| z*VB7Ni)x!{;_`HlYqgWtntoq+Ch4~esQyI_s((|PgsKe?YB$TRX7*p)^lOt*8%k}+e8n%|mS=YV%T?pPII=rF%PTX8&#T=Qe3> zw(HCYwS|ScQ>^`Ki&0xjlEtYlLCrodzoP34sVz-yS!&C;WRT}_&OM*y{li4H6+CEv zima_fZ7XUkQ`>;rD%94XwyM-tqqe$|SZ97yk~OKVO>M1#(6h2*-84vTJrR?vuU|bPVGc$M^HP4 zng)W}QPgZkU=91_pg-4+rFOh>u(80hP0!l)|5$E!Q9Fs+sno_&^F2S*PIkHHJWdMM zC5)d&?JR1iQ}dla)XvE6JFlc9XAA8~{jSt}6!0l??R=g41wuLhwTr|rHWax;s3}10 zGUMhOP`iTKO_EI zMQ)>ZJ2lN>YIm5#Uq`CBFX4y%@}PE))b6F`>j3`6r`r8SY*moj1JoY$Sw`(4Y7w;w z)V`r+Nj_BUBSISj%>KVDwa0}|P zDEKP1w?$qPzE1585&r}bHUB7(9hRGd?+D+e_MXW5!Ve5Hg^wipSon$XQ{iXA&kaSs zp!Q|Pzmnu@L)AI2U_n?EmV{+tAgla%5hc1h--J}32gsmuAV&rMw) ze^A0yQ#s6^rCNacg47rC>Ad|j*YjN1(0$SRqSUXYz8G~m`Sr!AFChi_|8@8O2T$ed z%TOOfeOc=JP+yMvMp9dz`U=$7p)UWw?*6~cyr{2CeHA0(s|r`6zPiX7!Zi&=))KCr zC0tk8t|weyxB>MIb9+~e+hK(I#?(hrm-AoWl=@E8-TzlUn^WIHWJ^Plt*CD;vW;+C z;dazVh-@$XpP_QzLBSo;^ zt-~Be{dnp}Q+J=A`Y~?v<%CoBxq!Qu^%JO%rG6sylRQ>7JSEgm9(a%San#SGekyhA znWsr7v-b5f(vd~^pGEy_>gNm;Qh%U+9`!4!pHKY~>K9O#&tJdLbp{IN|68pVp?)d# z%c)bbXFB(_yCE?4$SA?%pf6a)v ze*%d58|f}q7uxHM^|z^;5qpRFZ`9wVo=|^}`sdPrpZW(P9|}JbeoXySkx$(6csqP% z=zVNZ$`=yq6QK34sDDk}KmI9Uo_avNkZBgFmn1K{B;CDGx7#zOUZoyVucc2|sMlQ~ z-7!`7Pk<^_!-ZY}-vUa#m3~*BdYk%B)H{mm3VWGmpZd3wd?)-qlmDRLj~?`URP!!E+ia9cmd&P!s7||B0P+6Z^DBJ z_aWS$a9_gx(kWP0`T>Nt_`i(@2X*%Kf5Jlu4^1VR<`}}G2z~!Q;Soaj|25OMo^v#z z?0;zX-%j5fhcLDO7JCAry#4S*LK_0)!-r!DQ|Eu2zl#)(BRrGvRKnAh_B55AHj$Qq zF1(BIEW+~$&n7&VFdYKY3QVlV`6}Hsttsv#yom5R!ix#7Ahc?@*(bczb<%}`@N(zg z^RFbln$SB*cD~mTUYl|)hFHSu32!01f$%268(nkIV&e&K&Vp%$Zza5)@HXXUYEK#= zykqc=QfSqCobYbKhY0T>ypQl+X{KrKCwxG;nc9OQi}>t5oIv;p;lo*#_9T3i@Ue*r ztulm95I#-l#o0mll#*N9K0~PWpYT~p>`b3eb#(485*xLq45Wbmm-xU+SO=Je)9l~!3-z6*(zDM|}N`Ig51HzBQKg_zs$Aq8wDfnj_)ARj| z@N4OOPWT1kmxJ{gn_P!qSwX(85`IHikWSukU_HD)ln7gdWx|LsAgmHrTw#!NjW8sv znj*xwONM)*D9KZHLJ{!I9z z68_{mH@`0a3*n!HzY_jI_?yeU#NYkIZOI}u<8LRjiO$aK|KEdqExmD~Ne24Sq@F5b z;7~90$)0nvIy z>krnTJb$|Z(>iZNw5erCw6V}T!(gR1+Kk8-f^^tfZ%H(YXe*)-L|YSWN90$BXj>_a zOErl!7DP4#r1|eav@6k$L_144?S7WqE<__eiFXe-)I_@x?Lm~T|9D#I@0sN@n&>d1 zy@>WF+M8%!UFd!Ob0Yg?)jojeV4?$w4sz>cXKLTK@m_HVk=cLukX5cp#t^7aW|Fgr&L%qNUp0G2GCGgwN}}_LE++EzA3KOHB)TZ&{vKsy z&3Ku}rT@wQa%o=SYOdq!KayNcl&$|n*AiXla{Ga)XRC=obR&_k8oBEjjrVn%=w_l@ zQXew)Fr|DO(d|Uf65T=c2=;-a=m8>YOg}-QyNTTY_rpu~iG$?#r!^#ckjOp%ESOf{ z;Vk$l(Ua1DO!zp_6RteSZQ%bCJ*`;x|5eI!L|+pm&X29b=vT_9Z}BD4SROY{ePn04E?b03q_g#ADR45#r`GyTlkM-EayL-R2<=C!Xd(;!pVic z_+y8!9>l|(Hx44sxx{*AJk_vfhj?n@d5NbXo}GAF;+cu3Bc6eHdcRN8=Rxs|#4}~@ zdfR>NmWOy2;#rAjOKpXeFCm^oQF9W{O+1%`W_H|45YOZLTg>Li^ARsiJU{Uw#0wBF zL~M@$OeeEcv1S3TxhU}x#ETIx{;z^r@_0#QxRjxvi}?WYGQ=wqFH5|Xy@DrtNAX5b`1M#c4_WPyql5SJ;x}x2eDoB zJ$*|_JZe~U4)JJ1k-da_6YoR3zxcky`{gcv%Xo^!2S|RP;qak$ItTlodE-NfFC#vb zcr5W@#K#biAwH7$aN;AplF^CQ)1-M6@zK7r_t(RYcKgJ~5?iaZa2D|e z#Ag$qKdfyhYiD{cwyWx&7d&C(?%eIadL0^eeJ>=wRF%1i_+sKqOgMb#enQi%4~t(S zzMS}W;wy-6Aik3LS_!WrzS>K4g=-9l{c2b0I^yfS!ABlor>r)=k$61uO)Ac7NPIK# zEnW?88M{EYs`T52^`9Hoe}MQ7;`@oMBi%!M7xCS`E2;6MqxY_RiSP4oCRkd_p>-dz zC7D3{An`+{liPLGG!}bg5IRB4i^Q+s=lk-oe$Hd94XqmAt)yl*wb!KldhRQ$p_TY1 z@#n;E5!)4foA^EAcTAJ`UFCd&3VnZA!-}x}V97tkHlV7{5PwYkDe))6`m=lH&5o5w z{F#^A*pm1Q;v(^v#0BE7h`%BJ+SKf;J8Gr8>T`~#@Q zv;E2{u6Yalog4c26-TPAi)V(3yoP_M?aLLF`H7&PGb&{IcY3HV=nQzh4TpK zrLiE5`NZcp%#FT;#sY?tETrJVsa%pp4Mi5CvAD<*nZ%cXXjl!Grm?INE|cZ69E}l@ zEKg$v8XMABk%qm-Wo4~IV`Unv(^y5pRfVe=+F=1Na0rbtG!D(=hZ(Ub8iz~&h*U1gQM4|naWu^ZXdGh_36G_5oXGJs-olJS<0={_ z(m0pKNigvL1GslwB8-_DhLXD%9N&^Sw3otb-U7m>4R zoRj_l(Sr7ni^h30E>_g}G%lcV5seG|aY^>X#2vYYT{x@fr8F+fjUJa9RrEs5QEXg6 zIf2wnj$T>9bQx5m%Mo;O- z?z_==kj7&)9-?9Ie3`<8+?)1Nm=Rz9m$E+s$VETWc$~%)xzT%?hdJ!0BNg=&jhARV zP2&X`&(L_*lbD;`cuuj;=k~GRw;h=~a(Wss=0?r#`HZ@S#>+HbqwxxjS92pqxp1GE zb31=U<8>PL^RJox(V;zGYrN^tgZxb2rtuSvcW9WMd6$N1zDMIz8t>DvSoiZM&5|Q+@Qvpz#HbFLSpreCUu+^7j?voG)gqe#)l8RBlpI&!-ra1RcKUAVh8JPDI*k^MkVdSat^ZG+d&jIw zgGSR%KR4cs&b_r6jfBScG}<(JI>!!;Ztl+y{aXBK@2^?2_i21f<2!px%buTF{{C&B z#t$@pv^LM};vd!b9eRzQX%46H3(ZMs{7S>>@EeUk{1-e8eFD_C^KGok{7K`l+^D1c znXJ7l*Z7;pKQt$?XBoMD&(H1sTkeP-X+m>Knv>C-g60rwMw&xuy7AAwb)I+Hef)C! z45&GbX3npR2S3b>+K1*;G-shXHO=X0PD69r+^EYu;V65_v_o@xnlniGMVd3_Mw-G* zH0@4&F?YZi$K4O6IV;UMY0CIFXCL;XrJBPB7keOR=iZ!)<~(-q(40HHD3%+|d1=l^ zbAG=ld)%74<+I!^N6}o6W}fCkG*6+qFwOO7E<#hr|Az+6#b~bTTR55;0-8(ET$1K0 zG?${eJk6zPE~}iE@!F;@5;m91$O<%9qPgOKqE?>BjrgT(+V?+Cpt(BDb!e_(LYiv| z*K$n{uKn*5sOGxq{GI0dG`FMa#-HYfs@_JzjfI=g+>+*|G&iTYnMsCy{&;yW8=^%-e=@YJli z8_m6>ush8?Xzn?9{?!~sbF_0kT+4)eXF2Rk)2``$G!LM;e=0Pjd7$U)rtZW}_HuhD#y=Ib=yNTdFL{kI1} zuim>fKc)E|&5xDU`|c+v{}G+*{OYEI;!VqH2vp~gU7GUFEWL%JZI1LYntDr zJc}yOEYgyb+$_;7)3kyDnhDJc&6uYD|B+@*$?G(I@n`T}K+~W98mHNy=}&&`y#T5C zFCazQ*!1DwUaIw8TGP>*oYvH|rod*(ttn{@ z8+0n~61UJAPHQUnD-^T~N6UWx;_n;Mns)e5d#&5Z^t5KBH3O}gY0XG$CO@zAokY9t zty!E~a_6(rnnOw4Pw=6tH7BjPjQdF8pVqP5=ApGXt$ArJLTf%+3(}gO)&f}_UUbi@ zwGb^i|D)QzE6K9*)AUh*)?(hf%r9y!L2G$hOVV0~)>5>V_EL74&h8zlElX=TBk2Uk zcQLhAptTaMf&KSUthF+&RfZ4s4(5l~Z8chZ(psI?rnJ_ewH~cCX{|$REm~{ar?hgT z+7tUWt#$1~5bm_J)~B@*tqo{x==qpOG3s=+?Z&h=$=z~A?#OGEzqQ6@w6>+SIjyZ| zZ9!{G+pe!DzcFcTO=}ykaO#fQS0h^6(b|pH_O$+Ir<@zVBCQe9bo(!|BQ3Z8;ywh> z+J%o8iQY3)yIFIxN3vf}n}KVkgQ!-rP94(7JC z_VZJAasaJ^X&p%GAYTj3d}dmQ&^pu#vUZTBwV@SvCauG1okr^jT1UDoIDQ1Jqg1P- z{p%U6V`!a3>sU3Q1&@>Pcv|-HXKPZEoH%^ww<2SOCkw4%(^zxMP3KfYQ=?@U_l)$q z_`bCfR)Mop>;K_cW7Nh>jhfZ(t4DZbzQrsuBSDg)(y07^p>&riCR814E_e& za{ph!|IxY?TZr(BbsMeQY28Ijw~|ZlbTz+2@0P+nwC*)e&xLmQopnF03A8j2v>r_5 zv>r--*rX&63m>uZMZ{kIk_Br$PU{I;Pf2M1|LqwulSS)kTF=mWj+TD@JANh!pU*w{ zVODef|F`uLtv6`BOzTxzGX6@g-1Pt7*6V48lDsK=OZfJ{Ft*;M^((FSXa(-)wBD!X z_c*N&X?;PD9gu30bhJe7A3iZWHFM>NfswrnPdr)rAU@c2SFbZlBG$O@xjQs z{{o&wLx9(Cd6E@KQsZy(m3%O=oLy%Xk~K(HC0Wg{bvj5T_7^aXGRc}G8{CzILSFJITIEvY&8&;Q?8O2a+5l$-#yqhdA-8e;CPFk})JlOD_LE zIYQj$o+Lg5=;|D!;ISm`c#s@Na=ekj&oYt|UCreurEN=cGRdVRR+tDqo?Jt6J;}8s*O@%M!F~B6xxv+J*~;6~?LWzQl3Ph` z#vXI{^2n|OYmnSVa=YjD<6~(HNcm2ZyGULjxtl~|L~;+wyUMBaGJVWw;o6zJz z;X}d+!iR;A2p<(bW+n@7Q93c_W^!*}CLCk`GDV zCvoF%=E7HvoLEQt$km*DLh?1qrzBsHd`4pbf4M{MhhJ8bFG;?#?-koJUDi*&At{pN zNeZ_9<3jgT?OrR9l-;u$NGw<(`GurP@-0b?q)SpK>8N5MNu*S+_+B4FgkG8G<&p~@; z+OvA)+q0;)d()nc_U!JY?Qyvzr_-L3_B^!bqCL0gi)h8oYXx~Tw&$n4DD4Gk zFGPDm6Pi!%9(#LX+KaeOS_iM;Vzif}y*TY9wE+H25W zj`oVQm-ig3+1o1^+7Lr~CEBafUYWN2{P9Kes|Q|jdo|jtr&rKdHLaJn*QC8Z?X_sH zOM7kF>*%7Gg|~jVw+dR%=2JdfZ*M@`Y`&e&hH9}BXm9N0`gCA|O5c?BW-hVAo*=ik zpxvasCGCf3Z$*1|>1<7V8`|>Z+uPE1`!D(S!v6_J(9Z0Cdq>)`|7s=LyV%58IwO4^ z-QHEWTW+PtMfRY5AniR(K{}&o%lLcC>?Mh{@Fw5?67&Ud8}@q2{#3hfcF#ojM`fcAsA+g8opeuE#kS+AZzJEHwC?JDg@XuqcG z_$Y0SkL|}5d_wr7@F_!)r-jeZcKa{xLjdjPX}^$3+!?0*lJI4rS%z0VR(CgTcm8R= zA$(IP=fCaiKeXSW{RQoJ#orUYFVqm=3Lh%yCY1Kav_BE~RQQ?jU;kghFNI&x{#xW4 zVP04;6e-d!iIg)*pkT%C<$+F(cAa+ULGO@vri6Cv5AoX#>)1-tqBAe;g!W(lLPxu; z4&R~Obp_Y#`GeGUpSFMhnYKRu+}6jR+xqx(`$x&M??1Qw`_Ht0q5Z27@!x3M^IsGG zA@pxI(f-qL@TaQw-*hIW{f`&jv0niAP7-mg6m=%^!P=vS&>8A=?o96I;$#XsQ;H0u zGY6dl=f4WoH&T zvw9KcWp!qA;%c)SajV#wlg`}k0(Itc-^Lo;jA~~dshvP)J~|uFnV-(8blm^9gU*6< z7Q#L;=X_z|B6NK5M|?5i;;P;fgI?EJiq493mZq~jon@r3Y^J}Q6F-*~Qf2X#q_eV1 zJjw<;ADif`CR|;(hHy>cT0-~#Mb@FSZpPQ6v%YinB|00@If>3jbath)ai+5golWVC zptBjBZRl)HXG=O;c&zOT@N&1J{4t92<D)}` zWIA%rJJylLS*$cq6`m$MU3iA@Ogd+YoNXv#9rE0apGU|2e>xWk<@|f_B6onDTq3+w zc$x5WLy;@!T$%B!B)M96jqqAJJ_QiJp3V&-Hwtgc|Xnk&aHIrp>tand%Kj= zuIMI+&RxR0UBNr*y>yAXtkHI-$-*S!?4>KiU`lk!$pt_k0v^Bx_y|879cS?at`$G-gekp%~H|BeYir}Hr# znf=Zu%J~FCIz9xr)7ANc&R3Fr=@NUe*m3*sX3Ev_beePubgFcUbOJghI%P9Qs+;Rb z&Fp{LZEAEPI(0g-|8Cs;-08%08fkN7jnJagr<2g>&}pan$hdXs^wQE*gq^~-biSwa zo#_mmVRNTDKX@?R4AA+B&d+rIq4Nu!zv%o*=eP7uSKWU1C6Ue_nErlCi~pIf!YTIe zflcU6LU%H{le(~rp&z!puRDb9&_Qksp-x| zcN!^AE1XU^y>JGh?f;pD?o8q{8xH1!-C60*DdB8%-T2d;!_W_Nu+tf9cW%k&p}UEn zQFmUt^U+<1?)<4H-36quprK8a=q^lmeMuG(E=pI%zq>eH^Y(9{y9C`OMV9jJWLC?C z%LtbhE+<@`uC3=-)CzQ0G$OtdUHkug%2%Pgs)V)#u#LhWy)|HwH<^z3U~5q__c5yx+8_V(%qfzZvTbU*Mu+ZUSsf0iZ!LTTz4PcE zN%wQQN722TuJuN1tIYm)k5yXP|E}zRS9f~XhXA@K(H%?o^Zy9br#Q z+H@ZkKIW6Pz9ogXh3^R8rTYop_vn61_kFr@{ypu77Au91yyoJ{^HaK?{r{3L z=r*M3_MfiCg6`LJzfmwRbpM}jQCJd|g@LeQC{m?c6R8U|1bD(o!8m=3nQoJwcOkkh zx``2SYuFB5H}Z75!XDjz7W-{lXS&}j>IZtMefyE_PxQ=?{!I5Dy1&r|Sr0EC)9Q^roXXJv}%6zJ6ujxOU-8^yU?rncgh)=AbvL z1tpn{-s~wiWqNbcn_Kd^Jpa^5?#+`D$>$T!KP>%QZf`+)yU|;S-b(ZqrnjVG7ooSP zh}(aW#f3{`87@U{SxJ_rw~Xtg-OsDKoaD>XTfyZn(GcKdWqO;_TZP{G^j4*}2EEnj zt?p`G)wDI%q_?(G*%nZ@ob=YAXL~;Pq-Xm-U1EoV8_?U7-iGuxmYQt=9mLYx#G7uA ze6y_1ThQBFp=^KJ@lY8G0Ae zlS%JgMDJpHm(#n1o*Vy6`LdMLyW&5>tLR;w$*-aJG`(x--9_&@6Vkh$-mUa*pf}!) zWba0LJ`lJy7_|1yQnOm^EpnU3dcxc3-9hipiM`jo@!s9^9-(&+y$9&sOYeSqvj3Kq zb#nDmTlS>)pmKPK-UNEK^T%`6iCgeddQZ@MjNaoCPH>;ZT=d?P^q!JL1Dtu_=_fIJ z&(gCi^_((%o}L?jYYlG@TX*WcMDJZiy-e>Fdau!YHC2%Cb)gRd^xmZR4!yTLq4`C< zxBc|ZHL|TfI^V3g_oe&+y$|XAPVXanMS368`;^`%siu;DM$gv&?P^+^d_nIUdSBA} zDqZqb4qyA6#mmjpbK`HtrJEkRVZgP6RdL5kn=6j5t{6T*%djCg%Dtdp?A42ah`jaT?Z+icv`aVYY zC#COZpFW0z266dN`cu-MocP z{WV?LGhfTlzueVdhyHr>*HzFB@2kl>TP)x1ztf z1tr;n{+1~pKKU||Y)yX~k!@2s{p}RoUTELuwR}d<-yw_LarorxNVqfo(e!t*;#A^D z`nwM9ul{b5>`s3V5n1W}s8rMKKz}d#`zp%%%s#2y?pgZ#rJTOoe@PCcFI(L|i2lJ! zatQsS=pRbo9DW}ZBpl<*p#y#d{mlN`N@o9PDaii!-T6;vsq~Mhe=hwK=$}Sk_P>9U zG{Ewi&Z2)d{c|QtOs-QnkN)}eFQb2fMM?8Q z;YGrWg_qF(cL-1_>-JYzlwvhr^sl1tLje72Qn^_h`q%NTb(`zy7wF$W|26tI(!ZPj zP4umu$4g(vzkiGPt@Ljj3<~|*J)d-d=--*~iN#PTwA+4))ec!EX6MFQxyOBt8nze}ev#^k1R>|ET&3@GFY%{oVISeD25Y z#P06IZZQEB1H~2v3ls}G!4AaWD~gGU-Gz#ZqJoJnh#-7+@4Xv$Z|wfhdH1eA|If3} z`eM*jvAk3E;|APJ;UDMH}jl|48x~Aotqw6bleNCAK zcFwL{3p3F54Z6N9WWHmN?+f1_3jR!Z>!Rx?cnhKHXLS9Iu3ykKo5H^me?u4TzoqyG zy8cAhEamIFtwm*Z`WL$97>C8Eh_1Ql`UhR}Ou!!P(VYBuEr92st4o>a@`%<8&_(;- zRY6y^D5U^hHFSmajcnZMqW$M~1#~6oYN4x6ex8Iz(k#NJ8j1n4Hpg?@91rkpAh1XK zwbu>a67aegzCDzH*Ard`yhY)a;4KV~#$V-iyzmxjht0c{w;1IYx7mUP)bn37_})_R zmbPU~-Ttb34?MH~6j%=4^6=J#XF~wI6$}1K@Kz>gm4efY&Q;-Y^6#1bhqp%VYu4T~ z`wwqzc#D@Os1BmBDu=?qXt7RbV%GyXW7G;O$X_ zZNb}1=_1a3;Pr#IF9YreZ~uaSKrRoj54{c~9t7{;f`14(hZ3zL!?XE+;oBeH;qZ=z zcLclv@Y?pDg>aP06sa7;fX5OC!n+jSaq!NilkWoFAb8pU29t9lyp!OaO8R8tDc0F7 z>C=d(E9M+J&wzI(i6O+H@XjW2mZI4TkM_SE!+G#7hDZDF4L1Rc_I!936!ZvqwEv#j ze|y>iFELtI)y~?Hxw{PhNO+gS^Wa?p?<06u!n+!t4FpB5uTdJF4FT}3v*1Qt5AOze zwBg>32bs_$GM^yj$~7MTEB(#GTaPE_i0N;oS{y47~eE>ku#&-hJ@y zRi`cX=6m?9KRy8OL3rcxIN`NlhZ$2_bR;C zI)a(XY`k4zrg#A^shF(Z>RYCf9OBq&4TwAyxHdae=>96{awhP5E@!_8akM`fIC=*^4UXw%sFD&FEc(nf}P@```tixmER0CcM{=V>1_-f5E_-nv- z;4f^Fz6}BJ0iWN0ja~?TH!=(R@6-PKJ<05VUn0?|`0u`A_=~__6#gpk7lXen{Kerf z1%C;%_G;?=CEGj1eA<8GEYmULXL>CMe?|DqlU^a0FZF$d&XwS=tVC(d-gMgK5Aatd zuBJ$0_0pKDNvsKf9r$MdsovVAp3WTnb=zIfUyuCti5tM*Pzll-!QYs~CIx3x_?sD> z8xVgB`fdq-XXrt1e;fF;|LV&shQBTR?cnbSe|z{lSSamN?XWw+*TsKY-TVc_-v$0| z@NGCS#ir6I`Mbk!+kg0b+SJJ33;y2l_u(72?F*$2`@ugI{{Ey7fZwNm*{OdZd^7v- z56Yv3e+c{|;U5aWANhw7`C z9%o)U?)!t_pG3|H#1nH#_$Qly>2r#4biY$Rwf1TMjXxOv8HEgo0DlPOhr&1G58nm? z66e4_x1i4>XBhn9B+e(A{fBS;5kBp|Z}uPl#fl`%{=>In$i5Bvm!aGP{^jsLgMS75 zo9*D9eie|$-=F*$yoBK(KpPf((>`{2&* zBPjD|$JEuC&||g<#Pae4oli0^6Nyim@|Lxy;Xjkpr7N}JJ;z*V$vh8#68sOSOw%2lh8ejWZBO5_~)Z;|;n@g4Z@!GAaRQY7>JBH(2EhnoK( z{Ey*(l>1WWDeyljO8C>#p!+(zUuPEtS=~*A|2acxng6C)hCdDdm+)u8|H@>Nf8c)& ze>(ghSPL`Ye?#J1vmsV5-@*T0GiaUh1kK=&nxZ)sE&iY2|4bczu`N3OubMi&G&yxH zpw}Pp|Aepg!uucm+0^H+(&@e7&w)P|{@)gA>hG3o3$9^RtNEoteV8d__F+6-@ICld z_`Y`SQs1@Vm(>e?#RNY0;Rh(I=~gos!;dtxc?|Gt@EeRlw*YA)tmjI?Z^F;ux8SFm z+0vjTwTjiN?OS%OxXM6Tte~vjjzD=Kl)Ita-3mWvY7v!tT8_#cD6fff3FS^rMcX{e z3!}U!%Dn$UyFfbztVokLsAZFZEvw<+V}X2jz8`yLD0C8|C#( z;i>zgygtespu9868=|}kGqq7^)N&|qtWh!erYP^I>Y=> z@V6mnTa>pWv3b-43cu+y6;oB+8c+^yMhq z{!j943utHeM^V1oZX7CKgYx|-UyJgMb{$RmI+U+R`G$_<7`+sTL6kWP<=Z>{((H^z z`6hj(MfqlwZ$wOha#cGUtmZzl8E9D8Jlcz3CO= zt0;en@@pu+gYxSrzm4)69kXV#Y~Lill{*XOyC}cMl2n4V~W-zcXe_Ezb{y?~f?Yq}NZxp9}skDF147eoa>Sca-N);187lEM#Vp zGn@EVNAusX+Sle5GV@UWr=aJfyr7`FjA%9#QP!d^qvE1mLAi!o+H|fgSMZldWrc!Xk&-JBS2ku| z;FVsetV-r;#MRBq;#>ojH4AzzBbp6V)!GqfDjTD+LBZJ&m5q#U^)EP^ zpt5N}Z>9t)n|CyIk8YmImZ)q+=GMe*h}#mkQzWsy5v>v`JECIIqOubzy;13d%Fd|l zjmj>CFithhcVgM=wNgRcW-Ty}V7*vimI&YSh5e0oAy)Mcd4CzaVm!dL~#AU?GiB~B8 zNAfB%uO?nYycU(~NL)|6LD8P(&!~(-kiV=ZTYuFQD?G682cneVNQxh_4b~ zBfhRk;tf>ZB=HvUZQ?tM_E_rgk@J4eLFEHFClfzJ<)ecCF*#FE`Gmx$1z+!f(A-V! z?4GOl1u6k5(@^;vl`m2G36;YBSH4Dt_P;U%l^;?0rikHNRK6?d?@{?7r}M%@W#)fM z^=GE_3o5@B^1q?-JDGnJoIg>Sh00%K&NgOCZO)wBH#Z}w%td7$1@KfC`Pj zF+FZouKshItzZ;P0sk{MBTPz4EB zv7>b!X~_xF-H6?ZJy7jQqC=5H3Dr)cbF*As1l46xU6fvn5zYRSSc14Ds%HODU7EOz zVi9&Za+W8qV0;r>5mht(q|N@Lx(cejjMFO7xf-f{QC%I?15sVWrm596QQZmEwQPD& zT^rRcQC$bs4N+Ye)%EPkKAp%_*GF{&n@i}dkMo?;q_L=OgzCnqZc;j9H@!wu5!FqJ zo1wb7a!}pkKVDm*x{Xbus$27_Kqae$=rvyFLA%ZcYit$AofwzIGOQ-R1H)Q zM)eTWXa29K9*XK=HlMU+sXFvSRVTx$c7Ig$=1eUsEnA)PDd$L32cUXVM^Zyo`A4HV z5Y=Ni2DGVKbr9>~1XNE{qBN|JnKHEu)ss=xJ3m$66e|bS z&1#UZ0Qvl_Iv7=*|7)UWqIy26Lr^^r)uE`KOUbiPJsZ_?SbEb-!`~@AmcL4<{4i99 zvuw2zwQN<-3s5y0x)x_;uEa&CUd)qUN?)S$*v{_L$RCO7C#YVA>g%Xpj_U2GUV-X$ zsOlAebL?I$dV0Uc+l1b+&&Y%k6qpZ$RCWGuwoY%VMD-q2wWWH#;g0s&ApHE$3}=-hnP=YE4;7(EB;H0M-8c9o|}~>il0bH5t_pQT>=+ z`U=2b7@OFX(%{$BiR!1QeqZXV9qluAsHv!aZkM&{=fCOB^bKT-V^ z)jv@E4OKP%zJ1En#-JCgDq;DZh3XtsXQTR;)jQvq7*C15a}jKh>O2ISK`%NBRzh_? zm0W;oWS@hpU8s7f2B>NQmbFY6szR(CqQ&egH0|$ZIUZW0xpc8?#*Gq$iY`rw#CxE~{0U+S|f6x;_2c5S5 zuh$zI>Q^dVtPU1IKrxbPs&6s=c8Ht07ny!Rq9!fnY5J zYZkFxh+u65>sUKfyEp4-Yqx<0SwFvI6~PA9Jc11oY-A0?YI!~NLa>Q754C>5rg`ex zL=kLmMkd$-!Iq3?D^o+8bg(sX8wA_x-MI+1>+HTjIf@8&KzJ8|9T8L!?1bPU1icZc zRy!j&7QrqE_C~NPg55P01iM);(3@$4J*+B&JrV3>soQ|1sQi5p9E@OJ1P3D64?!OU z`y)7@)ORLjbRe6|e)N_if`jZbWDBU8AA;ae1X^N;A?S~wZ%6hSf_{qnl!l&3=i$U7 zat?w4bRI=K8o@CgS!`Zse?!hd1cMPAhu|ax$3xfugF#e&GOJAUa$@d8a54f_;1sHK zs@4mF)2w#N3$wZ{cL>fva4rH}P||=y5DcZ-c~P9jAZN2+&(UJBK_Sp8yTB}SFbu(P zTe&s*{EjaZqb{tQwV#^p(%u@3LNMBbD975*%?xr2f;$l0ir_X2 zs0j_wD$tc8U7q4N72JtHn}@DY=~c{E>Vsemf_q5l$r^RuOT15!#Qg{!ATh4s=q=DH z_8@V59uIAqJ9j);|OT#gC|&SPa?4UAMDWrv>a&>J%fPV z!RY4@ynx_&1d~{&YO8IC%n`v$2;N5UGJ@9;yn^6WYfdVl7AAO&rb)}{4aWH<^y60^ zkR^cN9RyPlyo=yHi`mNUeFPt~;yys2jrlqRA0qfjyPMUH_D!{Wy6mQ{|qO|FdbR$!YwS zg&z_8fnX+rpBev8CSYaq3xeMe=q1=zs(B~`zmq-y!Ji1`A((|=E`r%iUB`vI#^)gT zJEuFMAr??ae7znsC?lAUU;(eH)(AC;E(D$$L)t@M4Xn{tL>2aHH6sDS9T0>Fmq8FA z6a+B>+Wf#~1qc!Zbp(1#|6~ixtRZM2bg5E`AVa8!){89UMH<3N*fKR4;X(+zAuJ*6 zPRsGF3+ zB@r%#aOsZuW_xo)xGci;5H5#sb%e_!Tm|6@2v)l@EOpZpZkyr_-1ScSLv;!krNILD(DN z?g)2AsMcPi-GyrJYQlP_ect=RJrM4Pa8HE$AlwV#-g(`rOzF&t`XJo*KauZ`Ft_tG zT;YKT`yxDu=^l*mP=tq=u<4d7qptuXG^YsrAsm3PKf)sr9!`M~ROU$bFDnOo)Vzd8 zBOHeC7=%Nq^RbM4Aj0Dio`Udrgu2?V`5J`q1Pfy8!xIpmWacG2*_x|Xv^L1_RD@?B zJPqOLrD3|(eSi($;b3hTymVa)O27YV5$X5eK1|{)gy$eU+jKMiwfX7#ztISFLZuw7 zpy3FwL3lpGD-d3QP`y||?Xgcw_#%YbFh)}IOQ7H4=S(eqrx&oR*JZ@Z6+64Lo zs~EHTUfnKsU3v|#MR*exxDMgJeqY#cR9jBfOQlyM?jsM9JF_ z-fm7E1j9QJ>iR!R*vjf|MCT$LgK!SQdk}tta4f<{5#EdNA%yoKyx)W^;}0Nw5aBq4 z|6|OWS=PRJjW-1>UpoI+r$(zY{|oK*enqSC#}Iyi@NtCCQQ!%LI{DAbb0Wg05I)`6 zW8u=*N<4$m=E>G)D{3MJBYYm=>j)J-Z=7vawo&g*F zt+e6)wd67@v4XIQFfe1KwPTG(mw+^QWKRA37uFDF2oow$N2vBc&wi7f7IT`ii0-o4 zZ{#2XA{!J~$n6$|Xdy(4BkG1|5epb~C-xxrMAU((6H!THD2+dY@#z0wc=G^%i-2fR zL}~{#POc9`OBl^05G{phOGHZ}S`E=Mh*n0lETR<G}_6FIwq3lZ-Y% zv|(xZX&mtnC=I_8(Z-Bz6Px8mn`+S^+Kimd5$TKkKPIVf6FNVSG}`SD>Eh31L~8%p z^`dQ=u5z|VbO@py7W!AD#OnI-ub6G2*9_5Yhfe2U~>te-mva(V>XWLUb6S;}P{m zbQGd~h_nRyBRbr=fWGgTRw{WUq5;;7tpHEgcN|1VBN~Y47({CMH9{TnbrPs0bDRw(RqkwAR2~9&E{}KS0Fkc(WQtkKy(oz zs|XgLZ2_`eSYhh?XELHo%u9QEr1$@*9oFn$hUjvoOTYJ1-4I=g=nh0zA-WmS)rf9H zbPXc4^BVSAMAtF6($`yXreg1vRurQUjYf16qt&H=x0FD13!>W*X#uj*nY2w}wLj*@ zB)SvPU3r|8AA{&w=(TUr{}7EubU&hd5#85Lh-M1W1Gy8CZUMD2v5jrfgNVi>dJ@q? zh#o^k`yWj}q>KN$N}zAPy`j}%6{mTBocM(4pwmKKH!$WzMEX)-T?Wz9L|y+^^P;(U z4$4bgOyv>@LgR^#w3;^h#1hp2|=dqfKm{eVdG`=iZ&qM5{> zh(8l`jY#>w5`QE9PW*%TCvg^WwxXs>dJdv_h}8biHIC&aSM?u6^KF6h!?gv z<3$wnwG_mQAzso7IbNK&gf0K7RgafKybR){b1|#Ucv%}e)C6h1;^h&qh#V8m+s5J@5buF_N4t_M-l=qyCfb|0GjSK0i{K8W|unT%XBqVs=R^>}~EXzd(GLZ{6W^e0e=4?>(9|EY{;9^yk0>zd4D z#D^j7%L?s>SPQVf_7TK~|66OUf+Gx0g_HKRQinS@ej#xX$i-?~@`~u>M zh@ZCoKXE<;=&#ly#Lpmp7O{T$rL~Elw_P`;=cH2KJxq;!=vM<3zl8W@#IMr#6)P4K zd(C8Q%(@ow8;E~oJ-&%pJG<)kHsTKu>*jwA{%+~V+Y!Hq_>+VcqW}cAy&zsOJ{1LztF;{DVtlG*+Bdo;@_1Z z{Ri<+;w<89qSo3RB}o6R$Qb731ex;@R}e2itkv3uSik(5hKQ-Bj@|y+g<@62Hrq!W zAP$YGPxWEuG)7!QoES%gv}0(XwhZDX8&%5|K=jLCoFdLpbMm>UdDUFhfZF1y32F&9f409O);1@93)Hs!|M^=Z(URE)wQ;Cv?v6ukJJkBy zuOVyOqqYNT`;y)fwVhDgowOFF{lb#;F2r4lyOGJC^VaqtXHV4jB2#1I&!B7jYgxbj@PAPm(MNNMJ zuVUJ??C0-{B+v4hsM#;tQ5%BV&_ez!)XpZ8KLW0uOWJ+`jM^}w{r?xW^NAM_M<|le zN-zHZUc0#TWR*<&H9U!t#LG~-oWvDG`}sR+SCyXBlG#}iwQGzp=C!C@N8)`)J7>mdNlDS;?1btlJoT^%trt=-tCX;xV_#SHSldyl9^BGC!hp2r-;^Ul;+7y=9NYp+>?I(JDMx2V;=cs){ z`U}*ik@%AMl_H6+iPMQQO8ogO>2HbO5x*z?K>QK4nM&}{oc@g3Eb@OL+ArWy`;GWJ z@ekskip=S3BTVKm)aH=*JLj~2hFhCQ=0C*ws4YOEMz{;LCTbpPc}4s5Eu&V+!=jcq z=AdW^5d~smjhGPYiX<9&`zPH(EhUi|CXONrw{2Szp>rW(x7=3~Lec}twn%y+*$7Do zk~NT&kgR~DladP)7a=Z+WGNDh5f>*efn-S~{?8&MOCwo^UdtNalvxhR@;Pm#m+=3; z$x8HEnYc>si=-ElRSSAGB&+9iyDKGYB3X;_YZKQYu1j1`k%avP7|8}mHZ%_V6ge9c zH$k!~iOq=o5pc4F(sXW#WUGSSnw)Jc=~0Ix*$&AONVZ3^7x_CN*^$If#NLV|a-{uF zc15yV!QUOp9!U12Qw^g&11Y~ZaUUf6A~}pShk#^%BnQyhhj<{8Lr5G%Y}iS!DBu64S(SFOG3_x;}H3_4SMsf_rls*>8K<4x~#&A4w z5Rwz}!q*=t+rQ&2)JaHAwsx+OoOTeBQw298ISuJ`NKQw(5R$>DUykGqB$pvM(}wJ1 z2q&>haQ>g1h2-pla}JVo3tAWbRAv})IFj=V{srWWK*INHlevhTi;0&IFD2$zK+i*R zIqJiZT!G|EBv&Gth~z3Hw;{P2$&E;^L2^BkYmr=6I`;+poTST}7OgG{>1QCDP9PbD zMDsNo$xSwW)p@VZ9CY0*xdq9s_6nIVr0e`7xgE(^BzGXW8_AtW?y?!O&dhb5W^s-| za*xrTO3OSlAN({)=^LGl!m_mMn}^eU^-qy}j^r~Wy7HqL>CLI5*8Uerrj=e8 zW2xAqS^f(34Ul||q=IBRl0T5lKr$1_H%Pu`oZoiTmPXS41dQYdBtJ4j)~2QP6Ovz% z{EXz6c3N7qrtNP?bc(C*-P#y>>v92-Kaps=nuTNzlG#Y~MTW0J_Q6y$^*55aR_S@k z=ms!7m6mu&<|A2PwXaK6NteDi*&@I=Z6{iE<#zdK9!--f>dPYuQ16Z;glO zfcl!KuZa3;sIP?js;IB5m5%xtBS z8})T;qmEWhUV8QQP+#8`MYVA3)7Z7BZ-{z-)HgzXAJjKSeOJ^sLA^KXo1(5_N1(nL z>N@|o9ZINgfx5l|UCB8Ih|>uD{S?hQQswhp|+CL zI<4=9`ktuoj`|*^n`VT~1NFU7-W86z26)Cbx7X1-9S-x=#CqJ9!}9>EgUu&1Ct1ocxb45Rw?FG#sGouQndInt2)A6;hoXKC>Sv*Tw)J$aJ8gBE}qC8%Gj95P1|FDniBmBbZj%|!i5w0=PSDzv^w{c0^V)UQEv zeblc-LmSw2sQ-xi^{9V{`VFW*j{1$L-;MexPm~ZT-^LEtl zFpf#yiTYjiZO}Oe_3JO3sFwvHm zQP)oZijNW>Q|xHwX+44ZYh*r&`a}{>5uZkV66(76uc7q&uc9siDL${*-ltuEft(kO zV_q*2Uq<~E60aIR-$q`49rbs}e1rHV>Tj8^g?ihFW&?HI0;`>R%~sCoC-5=|o)u%H_X7{o8{6 zj$T^(Kja*H_pi?+^C#5jqyBRt`3vg5qCOk--{`AbK=auCpz}}Std7>+b{3}oSK&Jc z^}h>xF6#3N`k(f0_WA-efO;3|S~4E$0pro$T`nYf1fX91Pm5A}qRT;=ub5aPCWX9Z zxhTday;{T+^~{Kd8B8=>MXR;eNoWWfi=eR(`Q40f0^Nx{h&|EhDEK8bZ2vzR3mYdt zqS9Ctjb+eSjQqukOPH^TEs4fb1-*2hYw~poNPU+>V|fxQps_L1V=Xi`L1S%7u0ve6kY5jt^$XgTfY8_wjg1P<##U>_ z+!T$&(AW%(?a|nroGpl37LscJRZQ)_;x=e(i-uZ$)pLa$(bxfvz0ueaja@0j(WKFv z^v=Xx+I_0A8yb6}vAYGd*!D0&j|(;S$~o4G8vD>|Uo;LTu^$>{|IyIp$~;sbI&~CK z=0SO-lRgBELvxvSOK9{ZzaJX?NgR&Gkt7P`ErtPT9A%;MLrINe(6|JRW6>Cn#y~WN zpm7`;r=W2>0}djdKs?bxSq$2iPByw-ai@~0i~s7SLqIMw7>zT?Iny|_PIL}MB9

    ZvJFDG7s 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

    r-Z-&mPIUVwKo-i3GW1kbrDv0KLNi?8r5 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 z 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

    \n').replace(/(^|\n)\s*/g,""),yt=function(t){var e,n,o,i,r,a,c,s,u,l,d,p,f,m,h,g=!!(e=Q())&&(e.parentNode.removeChild(e),ht([document.documentElement,document.body],[Y["no-backdrop"],Y["toast-shown"],Y["has-column"]]),!0);ut()?F("SweetAlert2 requires document to initialize"):((n=document.createElement("div")).className=Y.container,g&&mt(n,Y["no-transition"]),H(n,bt),(o="string"==typeof(i=t.target)?document.querySelector(i):i).appendChild(n),r=t,(a=$()).setAttribute("role",r.toast?"alert":"dialog"),a.setAttribute("aria-live",r.toast?"polite":"assertive"),r.toast||a.setAttribute("aria-modal","true"),c=o,"rtl"===window.getComputedStyle(c).direction&&mt(Q(),Y.rtl),s=P(),u=gt(s,Y.input),l=gt(s,Y.file),d=s.querySelector(".".concat(Y.range," input")),p=s.querySelector(".".concat(Y.range," output")),f=gt(s,Y.select),m=s.querySelector(".".concat(Y.checkbox," input")),h=gt(s,Y.textarea),u.oninput=lt,l.onchange=lt,f.onchange=lt,m.onchange=lt,h.oninput=lt,d.oninput=function(t){lt(t),p.value=d.value},d.onchange=function(t){lt(t),d.nextSibling.value=d.value})},wt=function(t,e){t.jquery?Ct(e,t):H(e,t.toString())},Ct=function(t,e){if(t.textContent="",0 in e)for(var n=0;n in e;n++)t.appendChild(e[n].cloneNode(!0));else t.appendChild(e.cloneNode(!0))},kt=function(){if(ut())return!1;var t=document.createElement("div"),e={WebkitAnimation:"webkitAnimationEnd",OAnimation:"oAnimationEnd oanimationend",animation:"animationend"};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&void 0!==t.style[n])return e[n];return!1}();function xt(t,e,n){var o;rt(t,n["show".concat((o=e).charAt(0).toUpperCase()+o.slice(1),"Button")],"inline-block"),H(t,n["".concat(e,"ButtonText")]),t.setAttribute("aria-label",n["".concat(e,"ButtonAriaLabel")]),t.className=Y[e],N(t,n,"".concat(e,"Button")),mt(t,n["".concat(e,"ButtonClass")])}function Pt(t,e){var n,o,i,r,a,c,s,u,l=Q();l&&(n=l,"string"==typeof(o=e.backdrop)?n.style.background=o:o||mt([document.documentElement,document.body],Y["no-backdrop"]),!e.backdrop&&e.allowOutsideClick&&_('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),i=l,(r=e.position)in Y?mt(i,Y[r]):(_('The "position" parameter is not valid, defaulting to "center"'),mt(i,Y.center)),a=l,!(c=e.grow)||"string"!=typeof c||(s="grow-".concat(c))in Y&&mt(a,Y[s]),N(l,e,"container"),(u=document.body.getAttribute("data-swal2-queue-step"))&&(l.setAttribute("data-queue-step",u),document.body.removeAttribute("data-swal2-queue-step")))}function At(t,e){t.placeholder&&!e.inputPlaceholder||(t.placeholder=e.inputPlaceholder)}var Bt={promise:new WeakMap,innerParams:new WeakMap,domCache:new WeakMap},St=["input","file","range","select","radio","checkbox","textarea"],Et=function(t){if(!jt[t.input])return F('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "'.concat(t.input,'"'));var e=Lt(t.input),n=jt[t.input](e,t);ot(n),setTimeout(function(){tt(n)})},Ot=function(t,e){var n=G(P(),t);if(n)for(var o in!function(t){for(var e=0;e=s.progressSteps.length&&_("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),s.progressSteps.forEach(function(t,e){var n,o,i,r,a,c=(n=t,o=document.createElement("li"),mt(o,Y["progress-step"]),H(o,n),o);u.appendChild(c),e===l&&mt(c,Y["active-progress-step"]),e!==s.progressSteps.length-1&&(r=s,a=document.createElement("li"),mt(a,Y["progress-step-line"]),r.progressStepsDistance&&(a.style.width=r.progressStepsDistance),i=a,u.appendChild(i))})}function Mt(t,e){var n,o,i,r,a,c,s,u,l=L();N(l,e,"header"),Vt(0,e),n=t,o=e,(r=Bt.innerParams.get(n))&&o.icon===r.icon&&k()?N(k(),o,"icon"):(Dt(),o.icon&&(-1!==Object.keys(Z).indexOf(o.icon)?(i=C(".".concat(Y.icon,".").concat(Z[o.icon])),ot(i),Ut(i,o),Nt(),N(i,o,"icon"),mt(i,o.showClass.icon)):F('Unknown icon! Expected "success", "error", "warning", "info" or "question", got "'.concat(o.icon,'"')))),function(t){var e=A();if(!t.imageUrl)return it(e);ot(e,""),e.setAttribute("src",t.imageUrl),e.setAttribute("alt",t.imageAlt),nt(e,"width",t.imageWidth),nt(e,"height",t.imageHeight),e.className=Y.image,N(e,t,"image")}(e),a=e,c=x(),rt(c,a.title||a.titleText),a.title&&dt(a.title,c),a.titleText&&(c.innerText=a.titleText),N(c,a,"title"),s=e,u=I(),H(u,s.closeButtonHtml),N(u,s,"closeButton"),rt(u,s.showCloseButton),u.setAttribute("aria-label",s.closeButtonAriaLabel)}function Rt(t,e){var n,o,i,r;n=e,o=$(),nt(o,"width",n.width),nt(o,"padding",n.padding),n.background&&(o.style.background=n.background),zt(o,n),Pt(0,e),Mt(t,e),qt(t,e),pt(0,e),i=e,r=j(),rt(r,i.footer),i.footer&&dt(i.footer,r),N(r,i,"footer"),"function"==typeof e.onRender&&e.onRender($())}function Ht(){return E()&&E().click()}var Dt=function(){for(var t=n(),e=0;e\n \n
    \n
    \n '):"error"===e.icon?H(t,'\n \n \n \n \n '):H(t,_t({question:"?",warning:"!",info:"i"}[e.icon]))},_t=function(t){return'
    ').concat(t,"
    ")},Ft=[],zt=function(t,e){t.className="".concat(Y.popup," ").concat(vt(t)?e.showClass.popup:""),e.toast?(mt([document.documentElement,document.body],Y["toast-shown"]),mt(t,Y.toast)):mt(t,Y.modal),N(t,e,"popup"),"string"==typeof e.customClass&&mt(t,e.customClass),e.icon&&mt(t,Y["icon-".concat(e.icon)])};function Wt(){var t=$();t||sn.fire(),t=$();var e=T(),n=E();ot(e),ot(n,"inline-block"),mt([t,e],Y.loading),n.disabled=!0,t.setAttribute("data-loading",!0),t.setAttribute("aria-busy",!0),t.focus()}function Kt(){return new Promise(function(t){var e=window.scrollX,n=window.scrollY;Xt.restoreFocusTimeout=setTimeout(function(){Xt.previousActiveElement&&Xt.previousActiveElement.focus?(Xt.previousActiveElement.focus(),Xt.previousActiveElement=null):document.body&&document.body.focus(),t()},100),void 0!==e&&void 0!==n&&window.scrollTo(e,n)})}function Yt(){if(Xt.timeout)return function(){var t=q(),e=parseInt(window.getComputedStyle(t).width);t.style.removeProperty("transition"),t.style.width="100%";var n=parseInt(window.getComputedStyle(t).width),o=parseInt(e/n*100);t.style.removeProperty("transition"),t.style.width="".concat(o,"%")}(),Xt.timeout.stop()}function Zt(){if(Xt.timeout){var t=Xt.timeout.start();return st(t),t}}function Qt(t){return Object.prototype.hasOwnProperty.call(Gt,t)}function $t(t){return ee[t]}function Jt(t){for(var e in t)Qt(i=e)||_('Unknown parameter "'.concat(i,'"')),t.toast&&(o=e,-1!==ne.indexOf(o)&&_('The parameter "'.concat(o,'" is incompatible with toasts'))),$t(n=e)&&g(n,$t(n));var n,o,i}var Xt={},Gt={title:"",titleText:"",text:"",html:"",footer:"",icon:void 0,iconHtml:void 0,toast:!1,animation:!0,showClass:{popup:"swal2-show",backdrop:"swal2-backdrop-show",icon:"swal2-icon-show"},hideClass:{popup:"swal2-hide",backdrop:"swal2-backdrop-hide",icon:"swal2-icon-hide"},customClass:void 0,target:"body",backdrop:!0,heightAuto:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,stopKeydownPropagation:!0,keydownListenerCapture:!1,showConfirmButton:!0,showCancelButton:!1,preConfirm:void 0,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:void 0,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:void 0,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusCancel:!1,showCloseButton:!1,closeButtonHtml:"×",closeButtonAriaLabel:"Close this dialog",showLoaderOnConfirm:!1,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:"",timer:void 0,timerProgressBar:!1,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:"",inputValue:"",inputOptions:{},inputAutoTrim:!0,inputAttributes:{},inputValidator:void 0,validationMessage:void 0,grow:!1,position:"center",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,onBeforeOpen:void 0,onOpen:void 0,onRender:void 0,onClose:void 0,onAfterClose:void 0,onDestroy:void 0,scrollbarPadding:!0},te=["title","titleText","text","html","footer","icon","hideClass","customClass","allowOutsideClick","allowEscapeKey","showConfirmButton","showCancelButton","confirmButtonText","confirmButtonAriaLabel","confirmButtonColor","cancelButtonText","cancelButtonAriaLabel","cancelButtonColor","buttonsStyling","reverseButtons","showCloseButton","closeButtonHtml","closeButtonAriaLabel","imageUrl","imageWidth","imageHeight","imageAlt","progressSteps","currentProgressStep","onClose","onAfterClose","onDestroy"],ee={animation:'showClass" and "hideClass'},ne=["allowOutsideClick","allowEnterKey","backdrop","focusConfirm","focusCancel","heightAuto","keydownListenerCapture"],oe=Object.freeze({isValidParameter:Qt,isUpdatableParameter:function(t){return-1!==te.indexOf(t)},isDeprecatedParameter:$t,argsToParams:function(o){var i={};return"object"!==r(o[0])||w(o[0])?["title","html","icon"].forEach(function(t,e){var n=o[e];"string"==typeof n||w(n)?i[t]=n:void 0!==n&&F("Unexpected type of ".concat(t,'! Expected "string" or "Element", got ').concat(r(n)))}):s(i,o[0]),i},isVisible:function(){return vt($())},clickConfirm:Ht,clickCancel:function(){return O()&&O().click()},getContainer:Q,getPopup:$,getTitle:x,getContent:P,getHtmlContainer:function(){return e(Y["html-container"])},getImage:A,getIcon:k,getIcons:n,getCloseButton:I,getActions:T,getConfirmButton:E,getCancelButton:O,getHeader:L,getFooter:j,getTimerProgressBar:q,getFocusableElements:V,getValidationMessage:S,isLoading:R,fire:function(){for(var t=arguments.length,e=new Array(t),n=0;nwindow.innerHeight&&(X.previousBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight="".concat(X.previousBodyPadding+function(){var t=document.createElement("div");t.className=Y["scrollbar-measure"],document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e}(),"px"))}function ae(){return!!window.MSInputMethodContext&&!!document.documentMode}function ce(){var t=Q(),e=$();t.style.removeProperty("align-items"),e.offsetTop<0&&(t.style.alignItems="flex-start")}var se=function(){navigator.userAgent.match(/(CriOS|FxiOS|EdgiOS|YaBrowser|UCBrowser)/i)||$().scrollHeight>window.innerHeight-44&&(Q().style.paddingBottom="".concat(44,"px"))},ue=function(){var e,t=Q();t.ontouchstart=function(t){e=le(t.target)},t.ontouchmove=function(t){e&&(t.preventDefault(),t.stopPropagation())}},le=function(t){var e=Q();return t===e||!(at(e)||"INPUT"===t.tagName||at(P())&&P().contains(t))},de={swalPromiseResolve:new WeakMap};function pe(t,e,n,o){var i;n?he(t,o):(Kt().then(function(){return he(t,o)}),Xt.keydownTarget.removeEventListener("keydown",Xt.keydownHandler,{capture:Xt.keydownListenerCapture}),Xt.keydownHandlerAdded=!1),e.parentNode&&!document.body.getAttribute("data-swal2-queue-step")&&e.parentNode.removeChild(e),M()&&(null!==X.previousBodyPadding&&(document.body.style.paddingRight="".concat(X.previousBodyPadding,"px"),X.previousBodyPadding=null),D(document.body,Y.iosfix)&&(i=parseInt(document.body.style.top,10),ht(document.body,Y.iosfix),document.body.style.top="",document.body.scrollTop=-1*i),"undefined"!=typeof window&&ae()&&window.removeEventListener("resize",ce),h(document.body.children).forEach(function(t){t.hasAttribute("data-previous-aria-hidden")?(t.setAttribute("aria-hidden",t.getAttribute("data-previous-aria-hidden")),t.removeAttribute("data-previous-aria-hidden")):t.removeAttribute("aria-hidden")})),ht([document.documentElement,document.body],[Y.shown,Y["height-auto"],Y["no-backdrop"],Y["toast-shown"],Y["toast-column"]])}function fe(t){var e,n,o,i=$();i&&(e=Bt.innerParams.get(this))&&!D(i,e.hideClass.popup)&&(n=de.swalPromiseResolve.get(this),ht(i,e.showClass.popup),mt(i,e.hideClass.popup),o=Q(),ht(o,e.showClass.backdrop),mt(o,e.hideClass.backdrop),function(t,e,n){var o=Q(),i=kt&&ct(e),r=n.onClose,a=n.onAfterClose;if(r!==null&&typeof r==="function"){r(e)}if(i){me(t,e,o,a)}else{pe(t,o,J(),a)}}(this,i,e),void 0!==t?(t.isDismissed=void 0!==t.dismiss,t.isConfirmed=void 0===t.dismiss):t={isDismissed:!0,isConfirmed:!1},n(t||{}))}var me=function(t,e,n,o){Xt.swalCloseEventFinishedCallback=pe.bind(null,t,n,J(),o),e.addEventListener(kt,function(t){t.target===e&&(Xt.swalCloseEventFinishedCallback(),delete Xt.swalCloseEventFinishedCallback)})},he=function(t,e){setTimeout(function(){"function"==typeof e&&e(),t._destroy()})};function ge(t,e,n){var o=Bt.domCache.get(t);e.forEach(function(t){o[t].disabled=n})}function ve(t,e){if(!t)return!1;if("radio"===t.type)for(var n=t.parentNode.parentNode.querySelectorAll("input"),o=0;o")),yt(t)}function Ce(t){var e=Q(),n=$();"function"==typeof t.onBeforeOpen&&t.onBeforeOpen(n);var o=window.getComputedStyle(document.body).overflowY;je(e,n,t),Te(e,n),M()&&(Le(e,t.scrollbarPadding,o),h(document.body.children).forEach(function(t){t===Q()||function(t,e){if("function"==typeof t.contains)return t.contains(e)}(t,Q())||(t.hasAttribute("aria-hidden")&&t.setAttribute("data-previous-aria-hidden",t.getAttribute("aria-hidden")),t.setAttribute("aria-hidden","true"))})),J()||Xt.previousActiveElement||(Xt.previousActiveElement=document.activeElement),"function"==typeof t.onOpen&&setTimeout(function(){return t.onOpen(n)}),ht(e,Y["no-transition"])}function ke(t){var e,n=$();t.target===n&&(e=Q(),n.removeEventListener(kt,ke),e.style.overflowY="auto")}function xe(t,e){"select"===e.input||"radio"===e.input?Me(t,e):-1!==["text","email","number","tel","textarea"].indexOf(e.input)&&(v(e.inputValue)||y(e.inputValue))&&Re(t,e)}function Pe(t,e){t.disableButtons(),e.input?Ne(t,e):Ue(t,e,!0)}function Ae(t,e){t.disableButtons(),e(K.cancel)}function Be(t,e){t.closePopup({value:e})}function Se(e,t,n,o){t.keydownTarget&&t.keydownHandlerAdded&&(t.keydownTarget.removeEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!1),n.toast||(t.keydownHandler=function(t){return ze(e,t,o)},t.keydownTarget=n.keydownListenerCapture?window:$(),t.keydownListenerCapture=n.keydownListenerCapture,t.keydownTarget.addEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!0)}function Ee(t,e,n){var o=V(),i=0;if(i:first-child,.swal2-container.swal2-bottom-left>:first-child,.swal2-container.swal2-bottom-right>:first-child,.swal2-container.swal2-bottom-start>:first-child,.swal2-container.swal2-bottom>:first-child{margin-top:auto}.swal2-container.swal2-grow-fullscreen>.swal2-modal{display:flex!important;flex:1;align-self:stretch;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-grow-column{flex:1;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-bottom-start,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-center-start,.swal2-container.swal2-grow-column.swal2-top-left,.swal2-container.swal2-grow-column.swal2-top-start{align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-end,.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-end,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-end,.swal2-container.swal2-grow-column.swal2-top-right{align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-no-transition{transition:none!important}.swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen)>.swal2-modal{margin:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-container .swal2-modal{margin:0!important}}.swal2-popup{display:none;position:relative;box-sizing:border-box;flex-direction:column;justify-content:center;width:32em;max-width:100%;padding:1.25em;border:none;border-radius:.3125em;background:#fff;font-family:inherit;font-size:1rem}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-header{display:flex;flex-direction:column;align-items:center;padding:0 1.8em}.swal2-title{position:relative;max-width:100%;margin:0 0 .4em;padding:0;color:#595959;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-actions{display:flex;z-index:1;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;margin:1.25em auto 0}.swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}.swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2))}.swal2-actions.swal2-loading .swal2-styled.swal2-confirm{box-sizing:border-box;width:2.5em;height:2.5em;margin:.46875em;padding:0;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border:.25em solid transparent;border-radius:100%;border-color:transparent;background-color:transparent!important;color:transparent!important;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-actions.swal2-loading .swal2-styled.swal2-cancel{margin-right:30px;margin-left:30px}.swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after{content:\"\";display:inline-block;width:15px;height:15px;margin-left:5px;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border:3px solid #999;border-radius:50%;border-right-color:transparent;box-shadow:1px 1px 1px #fff}.swal2-styled{margin:.3125em;padding:.625em 2em;box-shadow:none;font-weight:500}.swal2-styled:not([disabled]){cursor:pointer}.swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#3085d6;color:#fff;font-size:1.0625em}.swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#aaa;color:#fff;font-size:1.0625em}.swal2-styled:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(50,100,150,.4)}.swal2-styled::-moz-focus-inner{border:0}.swal2-footer{justify-content:center;margin:1.25em 0 0;padding:1em 0 0;border-top:1px solid #eee;color:#545454;font-size:1em}.swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;height:.25em;overflow:hidden;border-bottom-right-radius:.3125em;border-bottom-left-radius:.3125em}.swal2-timer-progress-bar{width:100%;height:.25em;background:rgba(0,0,0,.2)}.swal2-image{max-width:100%;margin:1.25em auto}.swal2-close{position:absolute;z-index:2;top:0;right:0;align-items:center;justify-content:center;width:1.2em;height:1.2em;padding:0;overflow:hidden;transition:color .1s ease-out;border:none;border-radius:0;background:0 0;color:#ccc;font-family:serif;font-size:2.5em;line-height:1.2;cursor:pointer}.swal2-close:hover{transform:none;background:0 0;color:#f27474}.swal2-close::-moz-focus-inner{border:0}.swal2-content{z-index:1;justify-content:center;margin:0;padding:0 1.6em;color:#545454;font-size:1.125em;font-weight:400;line-height:normal;text-align:center;word-wrap:break-word}.swal2-checkbox,.swal2-file,.swal2-input,.swal2-radio,.swal2-select,.swal2-textarea{margin:1em auto}.swal2-file,.swal2-input,.swal2-textarea{box-sizing:border-box;width:100%;transition:border-color .3s,box-shadow .3s;border:1px solid #d9d9d9;border-radius:.1875em;background:inherit;box-shadow:inset 0 1px 1px rgba(0,0,0,.06);color:inherit;font-size:1.125em}.swal2-file.swal2-inputerror,.swal2-input.swal2-inputerror,.swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-file:focus,.swal2-input:focus,.swal2-textarea:focus{border:1px solid #b4dbed;outline:0;box-shadow:0 0 3px #c4e6f5}.swal2-file::-moz-placeholder,.swal2-input::-moz-placeholder,.swal2-textarea::-moz-placeholder{color:#ccc}.swal2-file:-ms-input-placeholder,.swal2-input:-ms-input-placeholder,.swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-file::-ms-input-placeholder,.swal2-input::-ms-input-placeholder,.swal2-textarea::-ms-input-placeholder{color:#ccc}.swal2-file::placeholder,.swal2-input::placeholder,.swal2-textarea::placeholder{color:#ccc}.swal2-range{margin:1em auto;background:#fff}.swal2-range input{width:80%}.swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}.swal2-range input,.swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}.swal2-input{height:2.625em;padding:0 .75em}.swal2-input[type=number]{max-width:10em}.swal2-file{background:inherit;font-size:1.125em}.swal2-textarea{height:6.75em;padding:.75em}.swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:inherit;color:inherit;font-size:1.125em}.swal2-checkbox,.swal2-radio{align-items:center;justify-content:center;background:#fff;color:inherit}.swal2-checkbox label,.swal2-radio label{margin:0 .6em;font-size:1.125em}.swal2-checkbox input,.swal2-radio input{margin:0 .4em}.swal2-validation-message{display:none;align-items:center;justify-content:center;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}.swal2-validation-message::before{content:\"!\";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}.swal2-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:1.25em auto 1.875em;border:.25em solid transparent;border-radius:50%;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474;color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.swal2-icon.swal2-error.swal2-icon-show{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark{-webkit-animation:swal2-animate-error-x-mark .5s;animation:swal2-animate-error-x-mark .5s}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-success{border-color:#a5dc86;color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip{-webkit-animation:swal2-animate-success-line-tip .75s;animation:swal2-animate-success-line-tip .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long{-webkit-animation:swal2-animate-success-line-long .75s;animation:swal2-animate-success-line-long .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right{-webkit-animation:swal2-rotate-success-circular-line 4.25s ease-in;animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-progress-steps{align-items:center;margin:0 0 1.25em;padding:0;background:inherit;font-weight:600}.swal2-progress-steps li{display:inline-block;position:relative}.swal2-progress-steps .swal2-progress-step{z-index:20;width:2em;height:2em;border-radius:2em;background:#3085d6;color:#fff;line-height:2em;text-align:center}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#3085d6}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}.swal2-progress-steps .swal2-progress-step-line{z-index:10;width:2.5em;height:.4em;margin:0 -1px;background:#3085d6}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{-webkit-animation:swal2-show .3s;animation:swal2-show .3s}.swal2-hide{-webkit-animation:swal2-hide .15s forwards;animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{right:auto;left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@-moz-document url-prefix(){.swal2-close:focus{outline:2px solid rgba(50,100,150,.4)}}@-webkit-keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@-webkit-keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@-webkit-keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@-webkit-keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@-webkit-keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@-webkit-keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@-webkit-keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@-webkit-keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@-webkit-keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@-webkit-keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@-webkit-keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@-webkit-keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-container{top:auto;right:auto;bottom:auto;left:auto;max-width:calc(100% - .625em * 2);background-color:transparent!important}body.swal2-no-backdrop .swal2-container>.swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}body.swal2-no-backdrop .swal2-container.swal2-top{top:0;left:50%;transform:translateX(-50%)}body.swal2-no-backdrop .swal2-container.swal2-top-left,body.swal2-no-backdrop .swal2-container.swal2-top-start{top:0;left:0}body.swal2-no-backdrop .swal2-container.swal2-top-end,body.swal2-no-backdrop .swal2-container.swal2-top-right{top:0;right:0}body.swal2-no-backdrop .swal2-container.swal2-center{top:50%;left:50%;transform:translate(-50%,-50%)}body.swal2-no-backdrop .swal2-container.swal2-center-left,body.swal2-no-backdrop .swal2-container.swal2-center-start{top:50%;left:0;transform:translateY(-50%)}body.swal2-no-backdrop .swal2-container.swal2-center-end,body.swal2-no-backdrop .swal2-container.swal2-center-right{top:50%;right:0;transform:translateY(-50%)}body.swal2-no-backdrop .swal2-container.swal2-bottom{bottom:0;left:50%;transform:translateX(-50%)}body.swal2-no-backdrop .swal2-container.swal2-bottom-left,body.swal2-no-backdrop .swal2-container.swal2-bottom-start{bottom:0;left:0}body.swal2-no-backdrop .swal2-container.swal2-bottom-end,body.swal2-no-backdrop .swal2-container.swal2-bottom-right{right:0;bottom:0}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static!important}}body.swal2-toast-shown .swal2-container{background-color:transparent}body.swal2-toast-shown .swal2-container.swal2-top{top:0;right:auto;bottom:auto;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{top:0;right:0;bottom:auto;left:auto}body.swal2-toast-shown .swal2-container.swal2-top-left,body.swal2-toast-shown .swal2-container.swal2-top-start{top:0;right:auto;bottom:auto;left:0}body.swal2-toast-shown .swal2-container.swal2-center-left,body.swal2-toast-shown .swal2-container.swal2-center-start{top:50%;right:auto;bottom:auto;left:0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{top:50%;right:0;bottom:auto;left:auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-left,body.swal2-toast-shown .swal2-container.swal2-bottom-start{top:auto;right:auto;bottom:0;left:0}body.swal2-toast-shown .swal2-container.swal2-bottom{top:auto;right:auto;bottom:0;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{top:auto;right:0;bottom:0;left:auto}body.swal2-toast-column .swal2-toast{flex-direction:column;align-items:stretch}body.swal2-toast-column .swal2-toast .swal2-actions{flex:1;align-self:stretch;height:2.2em;margin-top:.3125em}body.swal2-toast-column .swal2-toast .swal2-loading{justify-content:center}body.swal2-toast-column .swal2-toast .swal2-input{height:2em;margin:.3125em auto;font-size:1em}body.swal2-toast-column .swal2-toast .swal2-validation-message{font-size:1em}"); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/vssr.js b/package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/vssr.js deleted file mode 100644 index 3164226bed..0000000000 --- a/package/ctcgfw/luci-app-vssr/root/www/luci-static/vssr/vssr.js +++ /dev/null @@ -1,16 +0,0 @@ - - -var Vssr = { - init: function () { - - } -} - - -$(document).ready(function () { - Vssr.init(); -}); - -$(window).load(function () { - -}); \ No newline at end of file diff --git a/package/ctcgfw/luci-app-xunlei/Makefile b/package/ctcgfw/luci-app-xunlei/Makefile deleted file mode 100644 index 84a6717e5d..0000000000 --- a/package/ctcgfw/luci-app-xunlei/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# -# Copyright (C) 2008-2014 The LuCI Team -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI Support for Xware downloading app. -LUCI_DEPENDS:=@arm +wget -PKG_VERSION:=1.0 -PKG_RELEASE:=2 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-xunlei/luasrc/controller/xunlei.lua b/package/ctcgfw/luci-app-xunlei/luasrc/controller/xunlei.lua deleted file mode 100644 index b0d15cd136..0000000000 --- a/package/ctcgfw/luci-app-xunlei/luasrc/controller/xunlei.lua +++ /dev/null @@ -1,13 +0,0 @@ - -module("luci.controller.xunlei", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/xunlei") then - return - end - - local page - page = entry({"admin", "services", "xunlei"}, cbi("xunlei"), _("迅雷远程下载"), 199) - page.i18n = "xunlei" - page.dependent = true -end diff --git a/package/ctcgfw/luci-app-xunlei/luasrc/model/cbi/xunlei.lua b/package/ctcgfw/luci-app-xunlei/luasrc/model/cbi/xunlei.lua deleted file mode 100644 index fd3bec29a0..0000000000 --- a/package/ctcgfw/luci-app-xunlei/luasrc/model/cbi/xunlei.lua +++ /dev/null @@ -1,106 +0,0 @@ -local fs = require "nixio.fs" -local util = require "nixio.util" - -local running=(luci.sys.call("pidof EmbedThunderManager > /dev/null") == 0) -local button="" -local xunleiinfo="" -local tblXLInfo={} -local detailInfo = "
    启动后会看到类似如下信息:

    [ 0, 1, 1, 0, “7DHS94”,1, “201_2.1.3.121”, “shdixang”, 1 ]

    其中有用的几项为:

    第一项: 0表示返回结果成功;

    第二项: 1表示检测网络正常,0表示检测网络异常;

    第四项: 1表示已绑定成功,0表示未绑定;

    第五项: 未绑定的情况下,为绑定的需要的激活码;

    第六项: 1表示磁盘挂载检测成功,0表示磁盘挂载检测失败。" - -if running then - xunleiinfo = luci.sys.exec("wget-ssl http://127.0.0.1:9000/getsysinfo -O - 2>/dev/null") - m = Map("xunlei", translate("Xware"), translate("迅雷远程下载 运行中")) - string.gsub(string.sub(xunleiinfo, 2, -2),'[^,]+',function(w) table.insert(tblXLInfo, w) end) - - detailInfo = [[

    启动信息:]] .. xunleiinfo .. [[

    ]] - if tonumber(tblXLInfo[1]) == 0 then - detailInfo = detailInfo .. [[

    状态正常

    ]] - else - detailInfo = detailInfo .. [[

    执行异常

    ]] - end - - if tonumber(tblXLInfo[2]) == 0 then - detailInfo = detailInfo .. [[

    网络异常

    ]] - else - detailInfo = detailInfo .. [[

    网络正常

    ]] - end - - if tonumber(tblXLInfo[4]) == 0 then - detailInfo = detailInfo .. [[

    未绑定]].. [[  激活码:]].. tblXLInfo[5] ..[[

    ]] - else - detailInfo = detailInfo .. [[

    已绑定

    ]] - end - - if tonumber(tblXLInfo[6]) == 0 then - detailInfo = detailInfo .. [[

    磁盘挂载检测失败

    ]] - else - detailInfo = detailInfo .. [[

    磁盘挂载检测成功

    ]] - end -else - m = Map("xunlei", translate("Xware"), translate("迅雷远程下载 未运行")) -end - ------------ ---Xware-- ------------ - -s = m:section(TypedSection, "xunlei","Xware 设置") -s.anonymous = true - -s:tab("basic", translate("Settings")) - -enable = s:taboption("basic", Flag, "enable", "启用 迅雷远程下载") -enable.rmempty = false - -vod = s:taboption("basic", Flag, "vod", "删除迅雷VOD服务器", "删除迅雷VOD服务器,减少上传流量。") -vod.rmempty = false - -s:taboption("basic", DummyValue,"opennewwindow" ,"

    ", detailInfo) - -s:taboption("basic", DummyValue,"opennewwindow" ,"

    ", "
    打开迅雷远程下载页面。首次运行将激活码填进网页即可绑定。") - - -s:tab("editconf_etm", translate("Xware 配置")) -editconf_etm = s:taboption("editconf_etm", Value, "_editconf_etm", - translate("Xware 配置:"), - translate("注释用“ ; ”")) -editconf_etm.template = "cbi/tvalue" -editconf_etm.rows = 20 -editconf_etm.wrap = "off" - -function editconf_etm.cfgvalue(self, section) - return fs.readfile("/tmp/etc/etm.cfg") or "" -end -function editconf_etm.write(self, section, value2) - if value2 then - value2 = value2:gsub("\r\n?", "\n") - fs.writefile("/tmp/etm.cfg", value2) - if (luci.sys.call("cmp -s /tmp/etm.cfg /tmp/etc/etm.cfg") == 1) then - fs.writefile("/tmp/etc/etm.cfg", value2) - end - fs.remove("/tmp/etm.cfg") - end -end - -s:tab("editconf_download", translate("下载配置")) -editconf_download = s:taboption("editconf_download", Value, "_editconf_download", - translate("下载配置"), - translate("注释用“ ; ”")) -editconf_download.template = "cbi/tvalue" -editconf_download.rows = 20 -editconf_download.wrap = "off" - -function editconf_download.cfgvalue(self, section) - return fs.readfile("/tmp/etc/download.cfg") or "" -end -function editconf_download.write(self, section, value3) - if value3 then - value3 = value3:gsub("\r\n?", "\n") - fs.writefile("/tmp/download.cfg", value3) - if (luci.sys.call("cmp -s /tmp/download.cfg /tmp/etc/download.cfg") == 1) then - fs.writefile("/tmp/etc/download.cfg", value3) - end - fs.remove("/tmp/download.cfg") - end -end -return m diff --git a/package/ctcgfw/luci-app-xunlei/root/app/xunlei/ETMDaemon b/package/ctcgfw/luci-app-xunlei/root/app/xunlei/ETMDaemon deleted file mode 100755 index fe0d100a017de0a1d7f19817aa38643ad1bce0b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99656 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⁣!JxB(b*{JIEg}x8?FXne z(U}py_-~e_a*VgVAjG+BDo=2^vdCNdqL5df4N|VoW>&c>6WQr^`SL_hf!cU#X>40| z3iMOtnY8-UhNsc{RmygVeOpmOK40&XeqVNVvZopo+nRNBE_sGMQ9=5U&SUa;hbJFc zK70TEz$C_@&Kr{oS6IM{XFSftsp^p}|HbHgb{5#4(dqBfHY+0=(iI7Rog+;C_mD>s zco_oBi)lCYUC~CU_v-~kRW}A6?tP;)RCVLf-uN4(HulSm_M6=A+Il5474K$z-)tk# zJAc|%e&cDkQ*G~{v_K8KTwBQTOe|f(fI6h0cPG1T?g5HLPVjICnmG)6H z_d|YQKg#UbhAi_1#$@m++gcyCQeYicz&!1%#JxF}&q(rAxb!GG>)NM1*~hnKHsYsq zr*vNpb%zJ!d7sAbZ6oOi_MYjqqxw>=oC>qGKz3(pBWSw#GnC`SbiX#bM{rf2!vXYK zCjFsgOW?L=6Ss)Ez`G8Z82hEbf1vZZ4E)T&H;-`Eknk7%uN+p;%Q{6oZpB0AkR}xV zan>d_Gf!u|k+K|2(5el8V`K$wYiL_{K2#1)ozntd%Sz(1?Y%UG3^7N~lkv;LdIqqn zE*`uVzsw}~G3R$=D^;iX;W|xsb-GlxSp9X9E>e6ulwiG@G@SFDoJ6}s5}aYlx6Y5v z;b@O#Ea|z-OP)mAiJpKpB^YLrub%1`A^ccxI$(R$H`$NFnyJ!0SCsOVt#vp~sCQO545bfei0j6!!8{MLXV_H6Q)@V%B;e?hcHwTv zUyx4$j`gqu(DDJ%0N3Jwwsa^YycqkuQdC-s z`iRD3;umX8LFxBJVtt=-aaQu}uO$G`@6=~Buf=iJ#zh%m+$??n;9MAG6whaT(s#J3 z5nCPU?{#*T&N(-4ZKQ1!e-rCk1)gLD`c-0EA2{x_?Ac&lY;pm1X(~tbvpG&bqa5g@ z92}lHfBIJBzsj`6(U|Q@s?Vujfy9pefkbS72%VYioR~jPE_V3hnd1Za!>Bef#M?R$7jU)(xkhw zc57O76@A}Ow<%c=ji*%RZ1E%NEto@`#ia9qL*Y$*sxL5?6)fvY-pIP??5YjfpAjEo zVBOXqW3`6p#)K2VOI{8ECQQE%xizdc*bsAev+7)?^pdgm z;wS#FO|T*}jAH-xT+VPV3CFTQ!m)pF{J0Ifg#0?raN5dN5eD3xIRIT&J3LxwsEPb! zFQ@Yplz)J{MW2F4@{sT?`KSOG9L<`IY33Ae-AJ&Nh;ZnFi9L(jBBoACU zZU$~1ZW*o)cNLB!YXaMFcjF$yJ&Ah>m%{xa>GH6hy??UXaChS#>iv`IU_0aZ;qJyg z6nB0mNnOX%zVyKo>WzI$dKzO|WpY<`F=Lt19WPGJe<9AA|13^qYkKZ~7RTF~ZagMV zk+)AggLZf4{*(>WH}BHl$PRa)m&k^oYwo@8L&g^WVoZqOXRP2g$>Dt$^U)))hC_-{#ZE7ctW36 z{W~44GagH>M`no?r4xb?`7DGiRB49yhp9fn*xGPWtlN~turVdCgAtRC!BZT33w_@I zZQu@7#!`WSD>4s&&k#BnrB(i+F3x9SexR~{MIThZy9-zX14m^v)+gW}J-PgbFef>I zHetS{zUO2IeEYHo@EaKmvk)}%i5@q@v71tlzlKfG~I^3(j%L3hjf)Y_e%B4 zm#Z+r5vYu3)&qm`SS6egKOE{#4q%;z^Bh3_1Iu(pIYbH-D#y)T*Xs< z+T;4j5ingqx*_2HAUM((r#KcEkd+Vo3I9i_N3hZa22_TIT8}j?Z^KaH*Z^xr_T;W0 z@9sW^z{y=Y4>k2U(j`bkoywl29N|lFOIAL%9LAbVU}ATQGhGh+{D`=x5LbBmjPMj0 znm#3mCwOdTJo*0-xKu^~{zEEFTKNE%gS~iCSLPk^dyf3TlPh}!`Kf+ky0b~&|G~HN z9N@i@MJI^fjeK%p^M1=1LY%XCo{->NlHbBZdzYpU{@|n!;Wy?Q+!rR)Pj&yj3H5Vw z|JT)f6FR;)$5Wguu4!#*Z@6N0OLJq>nmJx$OSGYRjyIugir3KE+T7xuNxEsoo6vUV zg!&VTO+$0ts&x%lG_SZzS2wiI@!DEeU)j)pbPk^w zx1n9pTcYihTK`{5)6}xMeci{Se+cUU+Ep6Sunmet@wII3@I z^&0D%)-@>SwrR$NO`p&<9h|fir&Tzc45I1uSG2cYNBvu(Lfahg%BFSe4%bzHf#55m zb**jrcDRBjA!1YW)phHd>b<(wH6804n%mV5$BU=(kLSO-uGwpDY4;kbzjyMPCx24< zj^-;{u4(pEsCV*&HWx2fpN@Qe$Sa?fDhyeD5%@e|MA?GNrZvrV>#kT^*Id6&M6jlz z-Sho&H6#vxSJbU)1J?GnM^%psD37DV9bUkwP-q;fx#Aky+C-Zzty7@Z)+>){1>!+Z zpzO$|IVSDuwX~hzXrGjCf0VzLPYwnV0|+@f<|n{g-w~ZDY#bB$xOHo|wqfee)<8s4Ini@c>5o_obPOO`J3mM>bkWci{6EBvo%)20;{8%1bp z^V-)oc#R#hm@6Ko}%_Uf{cC2PM-0^5}Rz zY0=1zZtK>yHq>3`t*yJd!J|7iHPhJ5s~cc+*EXp``(4DVUUKe|3s&TsTV)^iU$JQU z`G*4z`!86$bm3wD<8%cdceyBeg3rV6)7*MG6PWh=8minY0Jr`>9}Y}?UBmj8W?G&R zfCg>3lEk^r-#;KQ5;Ux9SPf@CdMx>Pyt>t^8#Ds^XYraFuJIVEn#mNhQCETqw6?%2 zX&ax9`V8m@7}{G}y!Ca>*Bz0N(QWm*mNs=C$9q4P=95O4yv@F<6P2%UVQRbz$`in$aw1X=V&-pSrZ6 zd5xH@{20D*`b$0h@kZpWvD@d@bv}Q{QNpK4z1=` zVIuFZ)^4LO9T{27X+k}GiR!jDHFvahw0W-EPVuhMcUJJtIr|dNpS~yJzOC9PpD_dgirVCz22JE zy44NhsMk$1D=sxPD;Aj1bLZM=wqTk?S7^AY>-<^MW=xArIe$iE+G*1we4jdPru&{D zf8xNwR!=9fd#-C)UAL~iX?+9PH8q;CW5+2Y!+gm}Q!(WjpU@0*K z+y)g6FP!!>zzird*4hvY*ZQqpxAbqm)PB{aCJ-t@M&`dIe87-!>Cj>5*o_GzrIRY) z@(CI^|xl`S3hO^xR?ELwAJ-Mj_Wt2MkE?=z99<4;~nJF&IT$}Va2`xgi&?Yp=SQ9qa zn=kXX#|&pD_GEDU@iu5)-S!1z$d*|^b5lFUsyWA$1mDR{IXTmfd?(t2HgNUq7C$aWgJBdX!UZ!Zt(Ux$CRqkTH^ z1P`AK`jh(2t8DA)>*<_rW?oJ-_9U}2F1L8=TAJ6GMMyPy0(X>T=GP&0A-&ME+g7(W zMFC0Ku3p>3Y$yj(Lz`LN(ALt?y1K!Ge4;I_b*)Y7uJbyY>#klp^AT$K>e)+T(^H#9ea2o;!zaz2r-BtXOoQ@N@Gq|}>*{x`LuDt@V}I@+!?=Lk#~ zOj~rsgY;!3m%3UfmJcUeb2-=P^?Wvm!q#IzdL5X_GwfH^lKm z0i`YqqN1%$s<#^*pzX_V_)su(y_X|qZKi? zA3=FAa;4?RpoVK#13L|n_fVH$s8yBoeREMRj+01)nY!kd`j4kreWYjGx)!G1uBRhJ z_(bH7a{0a{DWXoGHq@%owUuIPsN*>=>xvl z2Q^E2X>Mr0hWV(es#|@fWNMY=#C=G--dwoqZ{UMUqV{WV@R7Z?uFYH306DkOVB!h$ z>Up*|wZQ;10GjI7^(`IL#s6B+vVMI>GX(D#uk%x1YC|1i`rF8ldcMZ_wJlMPb`k-S z_wsY9y|!q>YRG7HE<@oeM{?$(x^*2ndRLdt^=-xjXwc!w5#j~v6sj6<&}b??UvbB` z4mY9L$tv=9q8NQmwa#-y_^t>5BF?EOe36j0X>Mqs1A1+1>qPtOnpVMsuQT)9pd(SQ z4gs-$)HpiQG-87bze`eh-8A)y{^(|&j|t_%1WtWUAgY7A>A_J&HZ`>6S-ob+BATNL z%W>Lu*Y(pdoUo~Rb&I%whJ}7H3;%22DXKBzB10Z2jyv#CLQ4mO(JBoQPVNLh)s9q| zH^c67ZPw37I+(S!nQEtO(|j~H9;-!Kny30oI0(NDaoQ)C+;Bwpxe@66-1M)X$@LS_ zH82d&1nY5hkjtz;*!83SZhn+^TSt_EQ}mXD%w?hkheM7Q9uE8WXVh4?UIXvZspk1( zJ`>uH2YRcn(QE;BQWFfVZH7RNu*sNMb5XC)c5p zqW6PijRGqdU9e=Or$OEyV_jO|-w$YOSYH=i+d|1l3=m5sRUMlo$J&-mzcANB7dEwB z>0Q;)!q~!4=NOvurJ$yc_4Fr{ROVvW!E#=Xvl>$%!M+$N-lx2_Y0{@@?}>7W1Q zU;oFy{qf)b62lp#Y0mK2UI8^jtMKkrj#O#bYw z$Y-ZjeD#{4&OVVTeW0r&BLqr*j`PntT3 zScAvqBme*4dHM`vN{dH~`L9;xzk$>L52Law{r~cB^k}T8{wIEYeSI(Da=(32ah07` zQ*&0$-@IpPTCT1+{JXU8t@mm!E0V{O(++!A_x16SE4ij-=-K0IY9>wi+}^2XX0Ybx z=7&}1@;&j)%nM_UN3>5Zoy2#|oR_DC%o+NwsUBHVbMA%JrLXlFGsYZ|^Wid%cyr+^ zYvx_FvgS$^I(^)r(`KFc#4pc#uLd&(^f+etz?vUdpSSRcG&MEq>%*N-bi+7Znh^f4n7?!>-shY*5;%|dTe{xV)HLI+G&M^n^VF{v{H0$}F=Xh9;Lll)Umbl_ zF!^!x7d>E2&2ssD(vR@!eTsF~@naBDbMB015;f6F68RYNTke-~ir#CMyT8ZHBNxI$ z)pWn5;ZtiCP0W8Ce$LLno|S(Ak%wP%Z%cgAN#=n0SU4Vw^MLX^ZaAJluBlneL+)e0 zBN6toK<9Bd#__}DTkW9umgV+CH^!K)JS4Lmky?gfqr(d^e z)25A&KCTY>;;Sm}tTkpkzt3#{DsdXVbk$c@)m+tDr}q9yv@hCs#cz!ZSDeGYZS{xW zw{OY4-*H!)d%OSk_UI_S*dK-O-mM6mHYtal z&-*#v@l8E@wmkME^zb&w zwUlRtNN?w zF1_a6#?=enyz-7u;(zE`Z6@Q`ovSdAEne>(uevc_v?ep?IX|Z zkdSH+J9qtuJrdv>`_OcJ_z+@scOy*SDetv-D!8$pRE5Td^|#g(5|3A+ml|35m-1c8`-wcu zZ7DJM*Vt$pl^j22GAdLtt(6OtRcR?Pabb(&S!!^lww8Dl8Dfcz)TXeu(G-#uvBEB< zZ6rrNl(Li+5z>UoUzHK?I04RgAx{5JY;+)6!YCV8i?Lj3DRrP|oSrT-)xbp{5&=Gh zf{4iYb3;!qvLXsp6^+yHMBGAL9j=j2+^qS07W!UwgxBE*oI{B*wA@coPI=`+$C2_x zq8gW4(U|*{f&&~$@NaA^R8m}{l9HlyDEOhFI4iEPQHA3gNAvWUBbF1VTtCeh0hQ?G z<4VhUQrOUn!f~__AqE$~4aMoVYTT;EM%?@3C};ev`SUBtzoN9FyrOjB{0crOQmz!I z-@*#unn=P*{g|N68(*<-9{%&@&!0b!@A;(_3+K-tSHWihH-G-Zp$q5ZvoI7|xKIh^ zSK#K4Texr>ZlS@2a1}WH>K87oW&T@Vh+Bng<_nFRPU8l{6@e}>|IO$vw z%7plSVp2n;ekPQ7q8!CdBu*{wB!JWo_0j^EV-nn=^c+wHf@-QM&9@9(|v zf>Z(j7%Ch9)cwB#t=Il<`~}={^8dyH|4%F`kemK2TekeLF!AW?dUQ>=A@I#%2=8ACb{2?@RZ5!WoGHLQzx7@Ts{{p?AyJXRM120_g`GrddRw?djlO_VefMKV9 zc95BU2D_M#^OJ>xes<2_lSYjhGIm_~=SVr%oORYo{KoP-^GxM6zF2=JO$vWTe@`Ai zNm>Up90qo_83Bu$r_UpP7xTO55`HU>@cf^Cosmn42=0EDU+y0HE*s-Cp;vAu znv-4p1^!RWS3h%3?%%n_{UfJbj*Q+%WS{rc^R&}XKb_KCc)r-&Gye$bW%e0o0M=)n zpK73=p170r95&*_k$&Ce=fC;S{NGVT^WR-CU%996Ikup%@Prfa9XzBEHAO)o@kftV zSlNIgKgvM=Q5-HPJOT5V;hCIAyW}Z}L>kJM}gd>qb3i&YWpZHM3^T z`5Yf}&opP9J=Ro0G-v02Zk*#!9<90O0w23>jB~H&oTJ=~aZmaoPuITZxSziL-?{E* zjQ`Z%3oooP%lNK#lfrXRQCvhmix)59ciwrQ|NPRW=bz8+7k*XvUwrY(m3m&5`+YI@ zyFB;1;tB%!U6K3Mx*y|e?pNo2jHkJuAKNoY)T{exa?DcrS&k#t^Nd5I-1CM*ul_~f zFXMiNdl4rSoab@B#QoZ6j5g?g4LV@Xkws6fpC&Tw0z?mN&;v_1Zcv;b;}| zTmttb?kU{QaWCPX$L+@T;?VIQio2(<8ZrBLe+E~iAoIsV=kZtVQICt^qPVZ%2I80j z67$~npJ_{a%2WBY!2eX)(7*xdrmTM=ov9Hj3Y&J znmOHk7G#}aob?gR&qQ$I#_=qHH+m~Qz(xX zJ;}%SAT$4E-ub5Ld^4fWo3P58fX(9KITOyGGojj>aEY0)e)@#^=@YIqc~3K8Nj@~{ zl3)}}s!O~Ht=@!7^YKa8YRu(dxbBiK^0)Z{{pEeyWdDoj|C*oJDXSB~0|7NRgMf-)sj7VtjM3^FH}A$3P)>+4irAoiINuRwq#12aGM_SIO}QCQFFe`E7*cr`<21St z#)WYzmA&CPH=L*7Ir6FZJAIGQaTLLBrgG*+O)L|HscgIlmOko-!?V>Ib182e8(XEIQq53jk@ zTy9n|ulXC(%np~U&6nUeU1k$2d|zW7uaWh;2UxFrloh#W;k$3ZSKnjW{m*8+{gatu znNS?_Q_J~nR{(ZTfG$S37_>0$*%g}4SAppr6mriHT&~tmzNjm-K^_;}zpOi?jrxaw z-SQ{xu~hf}3`?hgr_X>X#^s}Mb(k5>F`vVplo1*ZUuou<`DTGxh%j{yg3V&H#GGe7 z&nZCXGwfbyG@>p?|GvW1fYFQ1N^=Q#{erp7(DBU`rk3$)m01l}Zvdlf%v#d~zOOXv z%zCii0++uE+_#x_(?JVdW3FXf{F3=wY&`#t*0>%V{U5#(ONR;ApbbH9g?0d^f)BLC zc91QxC)mMu2zsSbJJb%d!|e!rq8({R+0nMlo@B?^PuWk~vDUNYcAOn=E9?Y2(VlE4 z*;DLf`x!gMPQ|pFQ#0)hJJX(OXW7&2>GrdBwmrknv7fVZ?V0v0d$z5#^Xz=Pz%I0l z>^b&ayVx$V=h@HOrS^P#fxXaH*=2UQt+p#{4L8iLd%3;B*4jF| z%C5Hcw!t>qHFm9SvVUW*wCn78+iY8G)LvyzTx z{JsDG+n&#PzUOz=I{WOi&$FNBoM+ZL=VSj9f1|(2|J47?-|Tlm;>+oqd~p#m8QPD^QF%(D{iy;SKo#jg zI*2M!WjdIu&>>Wns!?^SK{e@6szrxUZK^|uQ(a1?dUOQUrv}uJj-*DELXD{jHKk_M zoKop1N~0E(PAw^eT2X7c!pNjH)Rx*&d+IP>wpkNQ$S>Q4h`ARSA`(I6U3L+E%KN+-~XG>r0TIE|o_Xe5oI(R4D6p|Nxdol4{A zG&-He(*&AGlV~zcp{aBRok`Q^EIOOcq3LukokugMfM(JxI-h3K1#}@@M04n3x`ZyJ zLb{ADrz>bKT}fBb)pQMAOV`o$R75w>jdT;uqnqg#x|QbBZM1-Hr((K;?xcmZi0-1h z=^k24_tJfIKP{o9w2U60<@6vuL=V#=^e8<>kJAczf}W(OsDz%TXXsg4Nvr5NdY)dO z7wIK>nO4&)^eVkZYv^@)gWjaI^cKBM@6bAWm)@iIX+3>FAJV^Q1ARmv(Z)pd8N8i&Aw3B|MUGx*}rl08-vhvaIGcn`DhRbnz zPU8K!0w2H?`9MC1D{*B$n5*z1T$QVFb*{lR`B1LKhjDGL!-sQSPUd=i1lQ*V+>npt zMx4Tpxd}JrX55@p`6y1~7M#v4IfGkqYd)GYxed4FcHEvja7XUMG0x&+IGb}gmpgM8 z?#kV`JNMw8+>3j2AI{^x+>iV703OK4@^L(f2lEg=Yd?F9yd>+mt_#__5qj)r* z%wu>gpTei|I6jR}=kYv&C-Nko%u{$OpTTGHG(L;Z=5u&DpUda*3@+fAJd4lg*?a+C z$QSV(zL+oJOSzCQfchkf4G`&o3)5qkQzNVk)Zw8ow=2&x_8Ds{V zA?A29)SO^WG{a238E!_Hlgvmn%8WKAn=xjrImMi6#+lR1>1Mo{U?!SLX0n-LrkXR% znP!?f%bab_G1JYt<~%dQ6quQ2R&X9vc3!k^?mxK)aJKu;|KYkF*FcF^Yk%jw`JdmT zf2IW~a*es~df}e`JCU3Ft{3)QFZ{<{FZ`7&hJDuz;cEupJKr>shr)W^FEfHaD?iT2 z5ApK*e!y=_9KTbhC>txAD4QyqDVr-(l}9Pllr5C$%9hFuWh-TC<JtO9} zlcDuz#N2*n#F7JhEA?*`tESr7TgB=Hy0zL{Ydx*CKU-^ktz)j8t+n3PT5oG@XX}`2 z=h0eEW+~nNWNJN`x?X0?wY!b_wNZN;ZBJWW-d5YwR@>87{n~1K+Uowa)&6X&?P;s+ zxkCG`oz~Y**Ke=7y{_M0+tWdpchK#2(EaV8?dnkK=lZpy`gba&JFcCy-cDLiC#|QG zu78!bE2itk#2@dUnEJ;84odb^g=ji+v^yO+}KXLsFBcinCewfE3=_0abB(D!9ewPPGt2*z;@ zWld!*WnE<*Wo_l5%KFL%0Wp4W((#LWF@7D7P`d44{JQ0bDU$M6=wa&F7P z`OuVDmB2nVc8JpTYcH>={Ql&X^p^i;$0`4<7hOqpCH(hZ^uekRRvlljYM}dQJs|wS za!QGUDalhi2s;Qn2zy_(gRu8g4aPP6q2b?O?I7$R>>%s|)DFT9!VbbdQ0*Y>AnYLQ z$EqEK9fTc({W!IQu!FFJun$r@2s;Qn2>W2QgRl=#4MHEU8iXFI8iYPUH3)s8Y7lyu zY7jbKH5k`u4>Z~{T(PgD)YHTH(h$_>AgjRIgIKO7%k33j=+Id_Kx=5hZ6Trzy`;o~=AbIbC_K@;v1X zWr1?0a+dOZZ?oX z&Lgi;eT|+cU#t3BUGF;8*Qxz_)z_=NNc9b+blbZjc4V;K8+G}Oy8ex^>cR4xboo5x z&B|Mpx0ce?H(&K_$_1r#`>{alyN~Z*g{l{-UZi@F){lNaQ0ha!gXnk1Y5~#z(CBv%{q5-d(cjSMZxH?M=Bhadhp*ae>BhaCH7S9?&=*AdZ8hv*S2G<2ZnK#oT$# z-O78Ei=x-4H4Whq6^f!q92GQRj`Wr-lgXnJ%{SBhOLG(9>{sz(CAo?3b ze}m|65d96Jzd`gji2erA-yr%MM1O^!t_|{81e%V2P*+kF}ZDLtew1eie<`cEU-!zp3GOkdft>+FL|vh zwaC20MasPVNhT(~W#tfBNc3xp*HB_#hj{f% zm;csGn#A5By4jV(LT-59h0D=i1Br2NF0sp*5}BJVk+^@R$T{C%D2dr(F88BeP)n`S zx+GCZO8i)*moCQ)j$*ttjnDiEO5mGBc@Oe3ytWcwoFrGsb!9y4=OufHsqVkmnrcgG zM<WpK8Qy|{2^iy5i6LuCgwknE{Nza<=$5)TjlOo(GriD zj4qGsWWQ0cXZ8Jt5=$LlTE=*MW!aMO+;h^}S0qkwt?)ycHcPZ$q6f0U!jb=F*7lL@ zWkz(zh;A3rh>ExU^*k3%oESwMjvlTd5!lrv^18M}ULP*;*L5W3{91`O zzeVE9(SpOxcM{EtSk~PV$LdK8tC7gnvZ&R%5+(ns#KV6j@$ZOt_atWJK#6Cs5=5{k zQ(2^H^B_VsLt;}AnTohnM5Q*-W8X}&81~c$F2cQqM6|aH;?@zh-kWxME&Lz7BPBPW z`5vR5;}Op}+*0x<5Z8aWWJdfH+(GYkzaD+#t#(j$QnpnhYa*ueiS0W& zZV#erJD0}OMx$x7CEFrL@+}hAO`Ol&OC)xl@8ZZ^3^@hS<4HVF@-v1=ZpJWwphWD) zoHhbcf3r<^gx~mvOGph zjt4S4_7({~ls5W9V*>7Pv7Bxhul{T#QhgZ zyuXX~Z|u*LIQ}I;B>z(qr{9`>JJQ@mmXD$B{zUpQ*ur@F!Jj}o{nP1te=7a#Podp= z%uta}j?x?z7r8v8G-f#(v3v&o;-5*@KTGmA&Xx?0nUc40zT|CSFJ?&wM`Emdc+Wf! zG4Amkn5ZqTe;pYgkBWEE@CA}7GF!4lE|e^hIg%q%S+XV$k(`O@k~>jVGAH(yJ#%eo z6n!*$-nHOn$t1Z|GD&WiERs7Ui=>YmV0%z%9FV?}36dvAanCsdWqb0Z|B>fQ-j*ksTj~BT zuYu$YzVC1M(){=39-HrZPwgSI=wFgw*i`bej`BbDo|in6mnFyKHOVh|Q*uk*k-U<4 zrWLmGf@GnrmJF0Nl6|sPGEde?)=AmczES%i<3rxC$i3qGQA^{ z_4)_-N24U)2>C_RB&X;C$sf8n$QinhDsc65&kUA}nUOM0lc||p&J+r-lBr0hEYS;u zugbJbrmmv%psiA-0?G&i{L(8GX0bcxKBLK2ydGV1hU zdULw{Mva;}X}njiQmrFX+w{yHmOWr_UaluIy$ANn?bj_Ev%UKC&K;1|Z!qQubn6wE zv-|YynKdAo?UmcVe^!^={vPkI_r&eizfbeb%vNoh$8VewYUh8QAo)2Z^q0)Zk{gG= z@bW#Ye80r}-ru^UU;l;u-%2X`TP627{v&^hHN2fv_V=9JEBTN7#n<;jpA7$X$6j{0 zz|OR@?D=-Ky}({*FS2v&#r6_=sV%gZ*~{$}cCNkBUS+Sg*Vt?Ab@qB&WN)xH+MDb= zd$Ya8-YWO4xXmuGx7%WShrQD-w2SOr_HKKRU2N~Q_u2dH61&tcvk%zi_CfoQeb_!? zAGMF!$L$LHgniOJWlQYS_8I%EU1?X@=j`+L1^c3X$-Zn?+gI$X_BFf4zHZ;JZ`!r? zE&H~8$F8&Q+V|}HcD?<;erW$?H`tHt$MzGu(QdMz+RyA}`?>wXerdPZuk2R4&2G0} z+i&c*c8C4Wes6!UJME8lm;Ff|wf(dG#o`Vla)Ry2X}J7?f?p1C?}ERR4fE%-LWci^ zEbx6<-U_w(NO{{N@n|5@_OV)oy-i^5-7f8SjccI*A@mzI~OxZ5l6?-g%pqq6x0 z%Vd7Z{lQ6Erz0^xY&Lw7mSSFR|NlGldDZNUMb^$3Ae858&ln^`MGYp~8B6Xr1)HY` zmnVxaK|pWHW${EX}&C*BP`K>T&$c# z-Xk(USC&_mx>96nCexr)_9_cs5PO>V8`%b?Eh}(;xw22a2{J$7anD;X%RRC06#o?Q z&zJhv2{+2}p2DG0U)6>38-VC(VuSAzSzc4NQBmeIWFE_Ei;fpL?Y3oGa!V8SwsU-M zt4t_z3qg!yE3SSfw7@=%#Tnc%ZX?ATB26Z!#tzNb>Q z2hN(fP24pNI;gv`ZbP<%?I+3fx9gXUN4Fnu-Qk($iYV<8{*;Cuhjxc3XN`xOLv}QNu@!_55U+-S6n; zSzfsc<+GCf{i%w<9iZg?FY>!uGv7;{JVu`MCr?86Qt|jDFLjDM(9%oAvzWZpN#pSZ zJTEn?U$0bI3@0}`cH}fKb<~()qbJF8q}-arhEJL#cO?wgjL)BP(j+exRisMOr8Y11 zWO-C!u*6FpAPtV1f7*h+q3@BDBQg zaTpswj`b<>UWhvh3f-C#u z%7KAyHeaP2UD$_4bYVoVi0Ca5UHdjqi>q%(MAu#rwl|CDp%J|(qSr-q#oNR6#Ugq_ zL>EW&+K4VJ4%av6&alS!tSfH+(jt0gMB^O871!Te^g9*r4)iz9BNFWmrei6Jv!~tX z6hw`YYu;#1*&yRpmUu759EB z!7ZDE;@007(bHZH+iSiS*7GB}!J4prQAD?YJ#63oW>`;K8`gPmh4t)+PJ26Sk45x` zh?ajPYH|CUAJJ1Hx+tQTMD&J;Zm=#~e_ljSkLcov-Wbstk>jpl$Kk2>j_NGVl z?uc&oe%OC#L>ET%iiqAG(aGz>^{tNR%n!nLT;sUn-j9W!hV6x)h4tDm!g}1cu-*`< zZ_4(teRo7Bm7Z_8{;M3(IT5`^&Z%5+{l4jqQ~tDufI5= zi2tI9 zUKi0xe!MqaZ;$9?3U7ZvM9+@s->xpHnfc=SAK>Dmzz-=?S&#&(-q$oy7iK7twR8gzYO23F|pk!+J+VCszyGQ)+~DNo4;r>xJz- z8;AACCSg5Be)n<3_3t$iU9)-I?)G;{#J)PBuSpO4S8N&9UPf4_MRZANh^^b+mWWP@ zhyLk!&xq&&5slxq68EntVqX){nDpi6t?3x#gKht*pA;DL-xUwf+kjZjX%c=$U4tv~|5`M*EK{%ZKtxAKFuQ+b|hp1CVxzO?^1 zGa<}h>R*4gUXT5&B|&W*H|UnepPTcm_`s6#_*YN-)v@JX@jc*rrs#U{)V71iIc_QL z%<JDRe6pTq^=KN|lc_#goZ_F|; zQFyr7(Kqk(A=yk_Gwyf^(jpG+IJ_qf+awL(*(>#(8~U$+)~Cwy%hM(G8ymV)9S{q=3DQn%)=v#rqzv} zmU3;r$+)F2pHeqwOxBB}3RB`KHxj2^m3u$s3iQ_i?_TPwzk+ck@S1NjV|zlFX}*nd zz0=RC8ymlH&adkCUr+s=ZJPkbBFm8umzrUwEe(S>{5$Zy{?a=Ok%$j$8Ui(I=fP{}h;Y&eOwn?z*Be7kR$~ud{eQ5w;aE>&oB>+8tBD zwebMy6M-`k7#8OXA0D~y%(~GDX}9zkZL2>&q8+>YDW@^2l&cNPT|_z2U*)=wDf9Bn;<2oEUf5n8w0*BJ7RLpoT>(xr z>5J%d>B73Pm*D^V?u0hrvxq#C>hu4J{DtpSG1O`gX4 zD#m*?aQevKALhr&e>3?vlKv9%OzHFZ)|{RQtnRSQgOahdIh(u^Wmkvk`@{5Er2m}s z8^iR6!gPo9pOEhIeFLyt`PO`X;mo?Rt?BLlR^eg#{JEqH|BVg7yhu8(cca1BYO|=dx>9s`Yf}O-;PzRaZHT;yvI+TWt#b| z;FsgKlHc|G`uXL_Z{wNa+01Vd?*lx0`5ol9K{CE9CS6zljE{(>A$`m@OsMffMk9klNO8y zyt`t8X+#FMY=(AszqW3ypXZd{l80PijZaRCe$q4fVoYQE9CVl#&3n)=_6+aWWZ=mx zIAlBhTfkLv`-{!dv0C`779Pq1E9-3c-zA;{UOd}b1Dwb{WVK26TluEBW7`1c_ennp z+!nPjUQc)Wf8={Fv^gO9@SDxr+I~ya+<0TuXiZ%L4)GAyL|_emKR(8|Q2z-0c>mbYZ zPGa4^VbdHl!1$>=x`kbDs`D1SvCfMZ=lFBd8R<5xJr|TCgNzUS7==b=M%0@Gy=FP& zJ3anc;27sw@3^J8aWkgzHsEPe&<}YP=rrJiE)p|KOYp>lmG%K#a z#JQ>%Va%Y-Q}pZc1auVanCTyJSVLo`W5l6*S6~0_5KrHP(RwB z;{%Vvf9K5k)zwS4`|H6qhfMo+sTN(%^@iY|R@3FT@&4(Uc&W>m{M-ke!r8{k&&PRR zK-wOjKRd&WrFs7@?}_wAI}Rs8d&$wkFs&XPL3*WRK|SdYk}jRCEz>oXxtxrNj_EG{ z`hSUzJx&{`5RUZLLHMA_Y_RoPf%CNG?~Q&hxIIRn$Ip3q$TS)#0&lmW`XU;NB{ATjY@VkPa_+I=j8V=GfyO zzMh}tc@unkH*LQGT3Gp$!yZ!EY_{A0ZKa!4^YK#Tvf$P@?<RWJs5W)@Srn{T< zVD##6&ZDn09|GBWG%c9-dFW}fZmF64-WK>XlP#YN4YdBKpXb0|;@Ns+dn@TRR|aF+ zrLv@_NPmsWgZl(Wvhc0tkI&M)T88EJS{c~(X&M^3Ij2wfkqSxR5iMJu~% z(yNA5F3$RthxWE!*7g2CKhAm+Iz3iPSwFHQ>?8C2o6zZ=c&_Wd_>~>s z5+1iECV7V^U+C%Gq;J!D2mCo!z91J^C#?NSTjs%(d3Z#!G@jXjeZ9d~JN3wn*g5Nm z>9eo=r4ciF=&b?G;kQyWkNuc)OOCtEpNS3mht^;WMC)3!Wh9;MEIWgp@L0#lWV4yy z`Vr~UP0;%d;TS--(n7{TawTIr%aIdZ?<~P7*!l3F#zk}z-^@IT^nm9d)cDFa7?9pe zn);w}hq@jf(Gz-mzXwht*X3gmjaJfrqqIVo|NAg4mT^nJB29880X^a-11!mYw}U?R zi6(!m&)*iV@Er^NU+r^sA0B^g(1(d3zDa0N4%5)Dj`Zu(f1_UySM_T_I0s%94Di6u z0v$H`0k5!@Aa})gKMQpl=<+quVgWo+;mbJrQOjH6_kLS`ALUg}{CRh4^vJji)*nMy zm)o{XOA~Eqek76YO{_tT!RGTiCwnGS^bX&8p>$H44o$rqSeLC$2k&T2>w-Kp_R79tm2Gu5`TZfk)6b;rg)2{_-_((;z5u%D`2=YmsCs^pJElZqD zes*w^|LEE318dAQ$e}Q}DHB>Rr09=1YoowZ@?h)*;PdJRf5-POlr2-Ebr8jQCi5+Y~;(_S&fR zV~EC*m2W*E;KAASjdjkO0L*y4<6xXI)Uz`Ze)Def9ezBs#$Q04TKX*6lrU@j>C}x= z?u~+_`9gX<=_d##ddU>zXM*vH6c&{ujDPK5Fo#WV5qWxEIcipvu(#;L=Y|u5>&rV+ zkCt}ut4((uU)$SN8fkNCqze6gT4N^LFSqpy?>olj7`=!XM6qnOfPyY&nx?f*Ee(xuV30# ztYy4*IN!Bv+fF?PSNZjGJBL%bg4U*|ng$Es<+*!2l%bNf5p$iFNcB#ALt=7_yhh}3 ztYhw~)DCBNgT}_n<3YESw>VtqshrBlSC&Xg7iZ37w)&~uR`lzwe#i7x@KAfHBeH6E zhk3NLlV9x0uHjUAJ#Cp}K5RRZUQ|Yp$3JGC?r6Ae7=IA*Q$92^no3Ra6VAEhFZGcB zEs^wjDl31{9tu1RT;_1)P?nNbh z1TDSUo^srID|ub`*p8;Ba!Nm+^fj+YZ*nDPI_cwO-e-^@iDJJWgBCG|b*~p3!1eB^ zTbh=Nluu|tmcwUJ)9StN-+RjMyR~PE8SF;oy}6iJ)jBm&=x#`?s-N1uD&?EOem|1x zE_F8;KjN$|C*bF(xeT6Xts^gH?t&g!4<3O$S7>~w<3hg9n#3S>-#o|=Bx!66>>_-M}E_DwieEg5h*(}uS%ce zop4J}dGIv1)Ms`V&zo^o@x`-UukUkL7JH}n_Z(F+;d2Q^-aEd6H; zW2ue9F{i5-$#h!!h!?c>ngQ2)-)DNtI|m*uz3;0%<;37^{K6bp{y{pwr7ngp1`0y9@L$~_DZT^ds(c$V%@oxP1;(cW6Xp_VEK!b=`#W-e5 z=tGYu(tUnmS0Ceeg}17qLwgEI&8HM|E|FSg`I&FpE7&^pA9DvEmF8UdOkgXoiU@}E z2DedpHf?T4ai@8z1kCcWX)wuOq%ntVT0QV0z*8ORaV8hY*)i-P>Gh{;{++{EqKild z`ATP;5~j<4gJ_>(J~?jbr!xZI>9b*eJ^8b$@_!WO|0K*$k$+NE{`bQCePMnR`4#f4fgvrAL|>g zX;?p8GreQ@1I&R0`pE=SDAq(ehU57_&zFrQK29S`8M`mMJ3ZMueD;N24BXR4WOCpi zVeWrHd=;6yf$p}9L4qy{fuQ0FE?+nvfyprdUesvmM!*RXN z86AFiRo+7K7KeG=g2nNy@9+`Sg)5n(WgJwX?<`jvE!{?d(L*h zf1dDTT(WK>_Hj$^41HhZNzYgxzH1J2hwn3Z?+oADcrS$Sk`uu2q>J>^Kha4#@JiZ^ zq+D+^xZM9#V28`+vlF^i$`mQ1eU3B!v9r8AEQ9Ye`DMzm|An79$X@}B+r#{)$-j?$ z_Pj<9g>5V(|JE=c|8#O2`Qo2*k$o}X%a^w{%ttOJHq{1o($?ac5$h{UutqQV zCH;n{9yoK7xAe6=Wz8MQQuQDIrk}{1Uv9oP;>Da*!=F9{*(H9&W=o}?@fR1i`b+X# z{mJPV>q)2IKw88!q94S{(6w>F%t&K2)p`7N#ozvND7Lq>f9781$h*C4ajW0Xn){;Z zEICaP??0W+QrmpmD0B|b)-&HZoYu40IXs_d#Bm#AgPp@m&+42K;MFnpn7nlId!X`i)4d6O9{DHf3x(m;} zTKc_Vy6P(b=ySXO>DQXkJ)b|rXze_3CHphWM5pDRbn^G$3zU4qhmqJkFQ8vUbO4V0 z8gt-%*}Yegb_RG)i(W6E3`1UwDZd*T()>E($)Bb5=U*9PJ%9NaPtp?fKb5}QzZ#$F z{T*g3#<$Y<&cEAlC+!~6RCfvQt-LR8*zPapeaCA2xV&e0{~GTqBY$pVSYH0zRQTS; z`*FM{-y+?%vpfwN)}P+#e-|9u_^t=ee?E;I<=yc98{Sv)ekirwALG57ckQi>@P0q< z2YL5--^2S5?`7Ucc;CzWbG)BBxwAaT`!l@1o%aWL{~7Q1@*JJKru`#! z$nzea!hg~n)(mJf9~yN#!T#c&Wo!Jc^VZ;lS`GiM_75)z#^X+SO!SS1^xw|+&Cp+C z!TwlFeVY0Xv;>}Hk;+PriJ#K1n`M^pTgmU>tXZa$=VpEb{PyrG^2Vc=6-%J z@e?mf=E?T`O{*C@G(YK`0Uh_pnG3)c|5T@)3QtwOhvFTUzr}Y)(*hr2<@*3|s`=8c zKhUI&ez0zodSiY5{3n^y^e@Kz)SkWgq(~n}4hB4B*Ax1vy%}Id;?z~WwkK4VZQ;^~5HOsi|8tR2W4WDGSHf~9el{S(P^P)>DNZ_%qy_GeP(y_8qHjMZrzH%5MJKRyAi+2{Z^7DaF}e*=!9tenMX zoxFS!@{DrmHZ4t#)-CiCVD6c}+Am>eropc=m!-$|X1Du$=LKs|cW!%)d}f6lX)`6S zFY>UzlN!&nZt5z_523Pwj=QXcpx&Z#(s!}%w#X+DOJ7}#&Fw1gpQkZg=HdUr*L3^v zgCUOW$tFjpnz3p)ta%wOZnCaB=3btR?!!5s8WVcSwB3Qc0n>#N24(11D3 z-Zp+n){PWnDS1`TIK?TiSg-NS?oynXj09ue|FdAez?TuNy&C_Oz!9IykF2pf(kAUh zXh&_T?I<|B?SIgwctve4Ha)+(p{hOUrfP3V*d98^sCZ8NtGQ$ML1|O^i@{cI2Trr; z8F{~8&`+(MmA%hkPrT0`a(0)#8PZmEK!pypHL5a0W;c3ZpZ|lSJklb)RyU+fR|^O~vK2~H}fGR!;Hlt8DEJW~HFu&$>} z{uo#m-zr!i1D49Y8Z7ly^Hi}B_^HOQU&rQCHXXv8SivtZy4~(iWS>Pk?3Kg|Y41_E zUJ88G5qx;w;;K1T(GM$pFq<}x``=^hgmRtlM7B__&#^8s#=^b2uj=D@l-Kiyke0&r zdp|)RlFprDAD6x=?Sc@l`mDarr=Lp4ejCe~MP^LAt#Z!Y%_~V21_*@( zFNybS!}U}$QtJZvmCzr(r)NdSmM|XDi_U(O^(K_ZGqEp@l%?E$%1ORS=REyY%2mS` zf7L@Tt2<@c%c0)kUA1E`pFJ6woh==2%(@#Hi&o}iQ;PjVd@EYtB(G{%Q;_Q|@+Vim zl_wvf%CYXXNR|kX2Jo=F#(F$6-B}}DPV-UEKE_aa?7tk5jn(?xm7$XNR#m{-zH9z@lz{&v{+` zUVayq*&mmFoy(R#6fw!1+f#1O;1B-dy7Gz)zI9?^vu+RlG@~!hHhycAk9uDqzHC-LV{HbFd1PHrc|w~Z7V}#pm;bt_eAzzM(W^K6Guhv{ zzH_rb*?a|lxqXCvA;#sFk&%PMK$=I`7yi;nt+|We`Vo9?G1<8_XLgnqm$RR>=RN}gYU8*B3)C@v}XOkJ4o@jpPh%a22EaQb}*zjDoqo#o`+ zg`$IxHs~k;gU8 zTYcGlzxnTg$FE^dh);*!w8>AIr-+AwF3crt@$vwBl$IBnQ;{!FX4V#e1u+8Rt?i_x zQcwEh=?J>5>G9W~&uENW8Q*^33I5H%R$4P@pH>?2GS`u2aRjeZsZ%o% zUu`Pj3-QN(chK(riU%}K8ly;#=ddHhE0VR^6UydTLkCxv+o)eh`2l?-YCdnec3S zu*d%tWBknfHru`_|CtG!{auXnA6~{Mb#>B{{(MF*<6W@}T|I7nE2TH%gPzQ|oz7m1 zNfG}seSJ}TgL~(#_xCrhw(SUx^vwqBCHeZ+GH#pD6}q5@#%btHcQHPF{*Od6#`Wo! z72o-n{Pbq=6X`1`D|%x&x3r_Hi60}WbIR?h9)BbF>iYvH%I~nre?2hu{T7~9PEFY0 zpG}#iwEb+z!;&BEjH~6f_ucFd@ryvyc4+b~`aW&S_lGT?rXKZ|hd7J3UI$FYp4Nu` zqiD_b!;53(-fc{g9Qt+GEFICS_BMQH-?~o_I?T3$e`N z_$J}VS~>x|=0S6l>GKDsA1F>l8Z6eZ|0TmaLcm^))lTH{8IPos>D?8|Izl(>;m>f!|P0 zt(|eK{3?X`?0wmM>2D^z*1wSSOsEG;roYllweM0N((^^eu!c4D37%?CI8@sF5Osy) zD*CdIe9^ic{{!o!-D8p7DgVoT`=B{~A@sPUbhx`ior1AC5+|#1JNGo%u>Jlr`m5*d zVL932$`>CU3txVpo@3z4Z=yMMEc`>zRB+D>;eX~;;EPWbJDY&d6}Q6pv=EnI`BC4t z503cpBCA6=&~Ep?ALXgnRry=0-$fh2mTrHGEg#yWd_PlF-|AA7(|S>fe~;#n30eFa z_)^82H&H%2mvxi1DGG1GQ>Vo9S{E+yEH9!D#<67rTadMaah?e6rR()RCtS1MRK8Wm zmg8G|_zCD};m~%RI*|;q3&cE#S1uKeSp#OM9%C*T?As?lKzg;@fIg!ZZkqPtcWmXP zOCRNf|0H;mCHyU2$ly67nR zva1C@?(jpN?xv4QQ-3FfX^$$6{<7~rYRl3G&h~f@gy~-+eMo*(#_0;ie*_=eJO5F! z(HF^2lQe_OVb%o0zKt=8543xh>@}cYEB$C%GQqx)>aqWBZAI%#Bfr|ms&=ehnxm~n zoBVfvWDWD9J+RU8@M%_KD8Ev`CzI{ibfNF!$KhQzkILhxfL7c6cUU?GF}H%PzKs7J zK6?I<|93um`4@kkj}Gqr>wNTm@?MRP{)6=YDIfXZUE!k(Lq7TwX`&SZ=I`>+{}B%V z13sGjDtwgwD||GoijPLB_~;OPbm9NUd?fp@0M8y;RB5Zdgq&y3H?WtrziC)c6|=-% zaKN+5BRx#B_ON2CDm*J2ufl)wi+xlyvvMKe!4L7RbxOR~VQC-Oi{d@oe{fm?Zy$oU zFZ?^ay+W|^0o>)hAIsbQA^bz&bOe652eK#L=kJ{_S&h%axbq^$ouPSF+1ofKzmNP5 zv^*ZTZ7nM>q9f-qVZ_duk5O%62*caKH!XG&~jBzN~eRTBHK7WDiCVU546NtrP z-CtqPA11;zV0>~AS8Ukp>|V99*bY4+uIqIZH)L(2f!o<%UR4~L@%_@C{!M<{K&Kxc zU|)2w(@*w(wm3iA>CaZ0i;gq+AO0cdG0LrBzq!8r%)M*y$F3UI9(u*sD}CyQ4CgB5 zGq%WHbY_mu5?4x$hWeMI&t?$WgiLHhW-UO^R@_&O@JG*2F()+sl|2KkxrIosxWGXk zrLdnO9mQ*Y!QLD2Bcweuv(v(r-+IsdKo1lBgpc;!(RsXs^jYgz9KBq=?mhE2`OR7B zR2PXyPib=35IehEF?;Ax>?;+p?U8ZY+22+yvSj@p>g}ao96yZe!H?_IA1edcw^e=g zl%PI!d&9c;hpqogaUgNl{jKv9*W2&ksb{{^?je8f$KqqHgKp_^>IG{9F>kypZOxw! zkJa1tG|=Db^PN+j8=_JijczpD+&UyItd<^B(5?UiRL!KC@1q68P_r?zw1< zQ9Sw{cvoX3-;8{e2D--6vV)HBm(@A6-y^;972{(9{#rf#s-ozz`kc<vYp}YSF{OFtlxEwe3+#+a9!Wf zQ5<_#@-*DX3ddh@F_rdAx=^Fo&IM|VI>ssZlV00VZbN^udn8WZR6Cajd#6U7^(pc> zr@ZWlU)av)5U%=CO*g^T`kbwXz3(V&{O-y5YKJv>h@a$Lv(r~&GQBlXr_<0@joPlK zJ>m)NdaZc>>Nfv3eQEvwxi7T$zv_#00*`$%baPMp?b(#xrmB6?Zg*eH_Pr zedvvvf1CX8=$T#PV{4Wk{ZVj+sIzgK|1Z-Ov(fJ1*F+w*+t`(Q>@VTK+S6E{UNbdL zy5gAxfBPZn`L5?-t4gPoJ)OlSTTS_y>FqTUd>;4C=%@j=QI(fIn5PY5LhSduvCTLu zZ{_E)F&^0N7ekATKTdcNJiCGP0DwBmB07wf#vCdtS91Ts!B`?AZ5;_>_%zm7Jo{KUT3 zTDYfQbMaEo^scUv{>`3@m1k|($WFyhE`WCiJtFItwgUH7?cXCSh}n6I;*S(d+np!2 zCw04@rtMnwKj+45U*I?KRd5z(qkjeU)qnBQ#9Un;edvnh=o`=Y-0rpPk*>Z6ylvb) zcuSURFY;R3W|yz=l$}aleDtiV_;NmUOrG$T46NM!@K7)EX8>A5^ZA84{B-YU%S2ib zGX)KE%m>D2LWWp<`UhRH`2wH&D)6Wi{pi2^D<-|!kGp+-5*+@^3Dzlij5TSCpEw0y zO{O1tyahVlSG3=`O~pmRG5>Ex!TfL)JYoS_YSR5`FB$BOyWV)_ho$k{?jz&##wuG} z{jvRm2f;ZQk32ErE;cvz;VI#maHgFxx!A)`k$j1M&mXAt_wo{XN%|t*8I`Yi2;3G| za2jw+ud{u;6FCb{u%4vwb&bPY_%rQ1jId9@c^B>X+Vyn@G^k--biZ*;5qpgN2lN`o zm3h2Hz5-)5`1{X)v~)i@M|X71uymzEncbY_c+z)>FHe~cY}qIMEO<1hI(*?YnHaMs z=HSUyc>Rp_q=TBmT03VB!Mm;0`89i;6Vt>18f;eLCt{3?^3+G!j}<Tx8e7^R7NTVj_4fitFu3>UEr(_%y?T6)XE+(JIlaNs zPdF+TQSwIgL7Ls2amvzf(P2Jt zuHl#Gm*pq=d<(oq?++bk#wH?zWQ*xMvBv6NaI1_P{tHX%tvTYZob5HltkqO#_!atF z!(3NfN+s=!q+R23HkvVRE@*64SYOvYv}f<5DX>>2I%Sb{nay_0AEYljccJ}y;dDyq zKU0i~c?mh6(9y>m6>9iNcPp>Q|-c`BB!n;oH{YLjx#mI=> z(*Lz@-xS)05zQ<5BO7n~`vaL{Z7BMS?DCqh=T2`|dQe6%6z{57*Z$biIM?7iu#+qK zn~%xgjE`2jQzd`vG5K4=eBr2=mlVD}(cNU+QY-Dp)6@Mk_DHV%Wvr6$S4`02)OP=Q z%|Yg{e1+0`;+Y_3>HWkvn2bFqYu78$M0H}M>nXU{ILSBBMjZO-jDun@Q`~1E89Dcv z3(Bq1^-{$8uJ0*}|C(9DVwc%?s?zI^uN!-my)xxz9rCcHPbO_{J!yl&zffLEKKtAU z6XfYx4?pO6Xhy`-)9mW=~w;e0Mf`HPGVfgyJNYl~ydc&CfO8=EqX2 zidQUPUoRE+7d2zMrwheII!>%Y+|TlT@4}75a>V@}_U*Ng*y_anX7VHKUw(siIiBj& zoa>0B+>W^E>;k7g%~$EnD~QvHKHgIX=U{yWEenzR zvhQR!L>%rpF(jzOU5U z%X&$>_0&%QSA86h?!y=DmNLwz;%l}8yT_jm%o+8%A1a`+_M!?^X92{k;)AWTtzXeQ zjd2}lc&aqH&3I8Kf=+yq)fY5wTW4?8_;@E%M!J}EDCJ`hG%`*tQ%GZ7K61{WsRGMM zSXk&`gY$yxrfr@Gf6I63O}InQQ$Y1EX7Me0NhW25lqhbMWWm7yHlcw` z-Y1OFuYEruggo1zvGV0l5dUj#W?A1)dri>iI(Q|P#)e~#qZ`_oRncP4jJ19fZMMO? zL!3pQfXv1wZu}ECD8K(Y=>YxyYp#ioRo0~$%pa|pn!h*Hu%=zmU0#x9|2LQLZYNgE z&P{Yey+Pi|jn5r<`I=Cy+C#h)R~4u0EN8j&l~c^mNP3xn8t^92mrB_Usy7GzW2_S5?ewF=mAsqDyKqjdFEtq?iIoL zsAl+5{O}W}16!uo?}jJFXAhQUG3Mf&#$LIE7soQ zs%ShkV|VF=lNXhK)L<-rl36PINAz!7FZ_P%#b)diedAu;wm- zmKECl=5?e2Khn$D*^dVK9_8i3k#2X=gyr6IFCX5b`kSvaW6yxQ_8ewhPk+E0`7`pl>X-!R~pg{Chuow0zWA?L||rr`Utng>*Rt+zK5eE1DQf)%&Gn z0k9_nTi#Opwugb3r^VQy?_$D>SHHV)3Mtp4d zubEra9dh1TiY3vJIA=GAj9JWi{@+nvG&m`w;g*o5C!=rQPF}@F{?g1@W`wwuJ;%4% zvji32UL~GadtHIg>STW&K1-c#mOe2p`f-o3WXUMT>p4Z=&~I^^ssEoRSD zdeVQhhN#@cIm|O+AhNa|J|_8}`M#g;%D&O#YELww{U6!*7--3yc~bH~XEe=ajnq%p zOoV4CmtZd3i5!?n?B(0BM{7>(DG#KdU<{Xe=L7fa&J(4>Hs1H5(z$%^%qnlWceY@B zh!{H;IM^ahxi#fxbbRPJx^vZ&r9^@CE4#dWI_1<(oOZ+;1<9OKp--y2ykqW@=tSq? zGd}!F$$E79b<+1`r+z}^z-2bDcg%ePepsfxxRz9U3pBEKvLu_GEq;ArogXW77af~^ zk=ImMH#J)5PBl5}YE-V3Z}L;E>2)=tp=^lxjP-xO2l{?swmCwt)uK^aeo66Er~e)7 zvFfqBE~F=O%e#qp*}CWc0=wsF<~(AcG-Yl|bB>nr*Zi3fj?2m_ zIM?t#A@Ay5UW-pJ_-IUTuyeKF*SBD4OfOTtTyTCGx{fBY!5XhT;aqbw{F!sTdx$-B zpquEILPjO>ZNB(da1Q0pDSeN1iEqmzAJ<(_IpCAGiP(F=(t03xQyBw|Sug3ry^?+u!nJw};%;QfuTf0x_-psQ8&YbN<>PqY`^-zB<> zmZXW6Q`K+YMR$jH{6eD|7xk|>&KYU?_`y#Ea!T`Ac}o8yY3Q58r3SD>iy`Nn((mar zzKYRtD{o}y_xjep&g#B^9{kP3^YUv*AHZHYI$!bEw6q@2_z>q-Ip-{WsTDrb`J(h= z0S<2_ts;L~k;&u8o=%4t6vq+;VCx2rrag&!d2RthoR;i;k zAWHe_n40fUPx;k!xF0%jH`C}N*8l@Kh~3fh0DaO~K+Zv1e9j2*(OAkKB3d08v)s`! z6D@WwJ@5)Tyc0Z%1?b$1U&ZbB$Mg7)Bh+EM9^1`$4P?tYk8$i+zl$`{Jj5yaW0lny zi9f=0?9+(WsXgS$R<&boeZ$KwZJQk8!qRT(>#3)T+*MPa$hsL%tv<*aWaZq0+{0i7 zq_4T9Z}Hw#v@v0t2l!^zl(i3$B+p>`))bj*JnI>E-A(-Qs8b@@uNrP%a>_WJeC8_UA!-N6~5>T z+xiCftnj>*a)!N1;jX#SiY@X@&C}j&xr4Hm@e)tIi#Df4KZQ>-(3x(dZd!66dokx&520I%H&kXm^6MIYd45@bXRIWTIi|e*><1iR z|2mrPEA^%ytC{?tjEf24NTj!^%$z?;ZgOW9m@JeoMxJMkS(0oK+lqn5h-xzCbq2Brly6T^`(O~qi+cB)Qz9@hq>2IW3POb^Z3?& zg7u>y+baGY`E0PM8)wmw(o`NHI&A>=)#h;O0UHqfUo_QYYGBT**Ge|GP zci=YKIHR=NA)O0Uo%EV3U0mw@6Eto{r-7DUy|cQQ%CkN>oRJ$qH*mo} z6ZrVG-<~j+mk0>hGIRbNe&U?I;luMHUJAKr_p$P;i^=@jVvM_36vq%7T+6+8x(hS# zBVVU>DXY0~DSRw^25-=MoGnWyv;Glelgaxd*2 z-W|bjaEb1oT&KFttYM53cFC&Z3+(^s4kwkrgR-oxqpAEhKRGBmZ1WGzxWm^Rixh}? z#9o;_(2YKJdFkx1UHNC~X;*Z9GjI;Y?!eD4x=SaxrFdG=^~4+E31ik5n+LJGOpkxg zq|cTUz1#e{;@;sXe4_L=(_LN(KEh39)6oCq5Vvc=Es1QLu6BXHka82bb5CVY2+Mqc zGA9UsUJ@~(9w&sr)QUH7I(a-0_#L{?_% z%hzY**KPMs3-todg(h2(w~8H@XzJ!gOlBT>z*|xoe4Lp$KF)UJL3^Xg5YLcNya#vh zaVGc1LBY8qjL~BLIBw~AWcDb$ZS8mDXr6VYy6gn%f=~Hfn%nRRy8jVZy<5RnlHzG>gp2@q;+@4PMH4l{*ZyX3GzQjpRKF z+#Ts>OOlU@ncwL=d&I8RUe<$Qp3W=OQ!l}JTJhix>OEvsFRTBn((*`HPUk}FGo4cm zcaZBI=;y$#S~tEzJ_~SbM_*go>v zYrg`Y#OR)1@xOieIitqh&##&H8DXEVfbLqmMpy^qg+f{Fwu>*JrBO@}bkMpqGu7k2 zM7)d{2+oiGiT9bvlv+pfm-CnD@c+By*gGxs_z!WW^{?4Diu)LMwoF|T>bV>2nWjLd zew91#q`%!tzm}Llk4FYZ4nW^$IAbPk3X4BxR>b#(hJ)Q|KzU z4{T$eu>UCB>5KZMzWjjiMGo-6dogo04d2T)cLum0XvSkD)g7O)ucY=KQQh8v4&ULu z&Ve@cSvG>~Yr!Y}*uRlJzaPKBVEAC`vpE;rEi-A8$2p~+rYQ_q`obJhH2pn4zrC zxDN#K1v($GVW(40YkchFy2{#K|8GjqT%Hp zFeRp#Cg@ zH#4*=yIpd6K>fr1Ccj2L!OED+#`psLnHIf)J-)z}-B#5X?ZK<;^e~=JeNms3R^2C+ zTN(BTUD@)uXkWqYGoqd9P+w(5tFuCX0{yq;tH<^_^@Y7++Oo2=LX((<8Sv8wtIAaK zTXmT$DKqfSHuHL9u(eCGl9g^BHsfZUF_CWC23@sQk6C#jc^&-U6s5_ww0B-Hmb@pL zk@0O#SJ^?X*E^lIY@1V<(!_leQKt)kaVI9jQm@t7t~iktcM?pAWxG;QXxo}yJ+(Ep zx`y|N;P$dtAw59*1L!7J571g0&FQY>;B1I=0QrQa0|?gyxb6ba9R;oBE2M+GLI=6~@(}t!wGW*!-13O~Y$=&q zThtvD(yQ;GUTyllMGJ?0dB$c&B<;=<4BmGOwrEF;TuY3$ehlp;=O0NuTfzr3_Cvmp zZ3mrx1Nt_zUbgZ@jiN;~kG%j5OsKP&g3G;!_#>QPt(SeSyQjXYxIJPKMKk6ax}Muu z;Wx!UfKy{6Z6M_`-N%?TuIA)rirH+L$vlz#6|R;4vw~iP&a}}_(vI%lin)W_{jkxW zD!$NMb_b_6OU_bHdn--iPizSquyGc#)T6^nQ(UF)*ByV`!y`9*HBR5M9<*rDI7+wF zQ#^U3&)hq!F^{Mpl|Dm*WTnsaS94l@zE*uM1Z%(SzISu3M|>b%(84B`-1?(4z{+y( zE&5w3_Y;3|ZUXetzS_l&CI?-JXFr*7Z%F^d&zM*_Z=??g=V=|jYrvSW2hPBG#4I77cktZFPkgnIF`1u(Cayi7$KE3T zTGa>60_5j$1-Gk9EGnRriCxq32 z{guJ~s@Q9cbK?W>sNji@zNxte{lp7jXB-5h0{13jQ7d${8tDBFfCR9VsF zCiNNITQhy=in8_0mIvM#*hkn>Ef1c2)IJjL?40*3;}_6ZwAH;B+Bdu}#6kB~eU|;u zeSAL>!a<%URgUwEw(RU&XZa5D>pA;kc?X##eo4bWk&I;2GVk@KuCEPVig2L<_cv{6 z&FdbBOG+OBr=}cdPr&`5li?|NDVAGP{6y~XFCV!I9#CK43GsrR|Fql27*EJ`5DVp& zKL0TNg?=BSFBRP*Eq+6$)C0?wrQG(goYsf7G&G0j=DYN}7k(P#UPxzmNjU7}Ibe2| zcJPzmV0Oq);E$JG+>p~uoY}EHh`JMo-6<*T0{x-&+J*BCl zvv{fwo~mVybl|m#z)^lZJ{rY0iQguW*2K5`<&w2A{x>Ll#x1R+>AOb!2Hdxkrn=2x zy+fS0XshDWZ=-7nr!zww7poq$el)bx^#vx~y@I_pUF`cGs6X!!qhe z8~sS8JBm^2#(>?5eE2-@ggHMhav zK^*DMDf>ze^F#aa@GG|GnkgyPQO!%y?a_yrFR!v5%+~y5eQU}eT@R!ey#xHjgPNN= ziC^7uPOu(4!1F&cId5S7a}Hx1;flDG(g&?u$B`!3@>i)Zf|nr8%0kxPiRdl(E$sM-CJ)k=N1UT_ zeJ9^v2N&fLA7JqoueCZo7MF`yqrReX4%hlL<1C)FK4!+*WW<;F6!>Y+#HorOt@s&r zKVOPC(n^f#1hceJccfOw2&&9D_P6{fttsv_ru})eZGGL$8R?0lb)5d~SL_vY_SNJM z@{`!JV4aLm=iG3tG?%o$SKTIa0NpHTvqT?d|0{-Ins^a;q4B>(s@|Bspr z;2~bnKD>ODT7Ovk{ZFK@8G%8)03XWf+{Rxke|%V8enjS&^&=|oX+E?zgT%v}i4T~4 z5XE_GE+`JF`V2wMsjMxWA!vH+7VFEf@9f>_srjOF1urMLSB>{}?BLIFhoJ7ft8uWM z%oB{;sxrRc^4pW>mB`TZp`+qI5-#={=R%X_($YE5Bas1?xx+tx6kex)*8Ya4Maw`I z^!tkjH~5Pf!wCO3i1ApbG0Cv!nt?VtqlNOmMSLTFyYM*$Tlp67w#cn5dRQs*QMJIRNn97X{{{i@f_w5bQv1^K)N5XDdIf%W= z|5lT4GlzXSX;Aih;7gM~?2{(=f4x35(ijQ1_#pfA#G=Y4s#ryn5AK%RM(mRCzMg$- ztts>2t;#)FIy0g>y%j@v;DRbT~t+ z?}+HmQ#!kzcfYHrJQLbU=e&L~|0@-KG?@b>C>zn?w31Niu6B44D#+j~f>=FY#=!F%~^`DVsd z=VB7>nsQxkNJ1N(XsL$%>+vuO2iy2~y;St5d+}*=CQcv-0+D}tm{ZBCMf!7S;-#Z50 z5d9O(ac56yk^0S#1anaNEosrQ*@8%(vvv(F@q?xO*FOugE$M4+^jSg&$bj9$K}pv>Totil7TP zZN*6XAGp|hL&?g*&`+RPy@QO|pp_Br-b2WUI(VBgDoIvIMtlib(MG?;!)>&oGc~5b zSu1D~hqj{0O77TH{!i=b#zZI1$=J9d{ZC=Z4#f_k3zdeP#ic~1$M5-K-0poK7rgh- zC&hBrX512SJ)@$xXsUiy`czF{@sP&M>RiqbES(j%_zJnBeL!<%(cWL7eX<<)u4QeU zREuQ6A!NgXJa-dhZf7r{9s8Ow%5s+!Jh0hxmAg5UDA~?FF!Ek!9D{pxkug@5sQv@^ z->mNqxz$-f#%9q2SgU4$-wlRu`X>KUo_5|{%RItg7RLwE&st&SRvKLs+4HXJk%hfk z{SVw^JbnAH%9xzaf1=yDef|e;h>WGtv+EcW$?K#O@M#p93zqy*(nal^b=YzGAAp^0 z{0{|aa6eD!Evay?Q1gdzh@^BM4mw4I`4WL1e2?H?qtE^RsUHtyb4#)Snw>Sua|a`y z?g*?O>>WP$fjPthDQD&6BNUdibENuV<^MoV?xjQ{y%T0nMG zcWCIoFx{DfeM>yQVpW&fdzTV{KFwSV?rFl0gU+xOeMm9h+*73T+&`u^57GA&eV0D? zyKggQtlKu9K2`4UOVCa|F;B7dZTep<$rWpi{lBdBz*Ec(yu&&W*v!&Pl`maKvD%tz zCfh+=BJgq@eto{ful-Wcj<4}D+x$`5MQ0h^@#BQO6JyR`Mt3MkFZALA+&vAQBJjv` zNBpqW?}azw1@2UExBEjA^grFqsK!zHU_85J*z|G^FUS9PqV1;?v!1@W2+!NSImt%N zJ@LpF?qZza>)(RMj5e9gV@z*+z-$%Q!ZG>5JNj_xS||EI-&@=5D|qsPzb zDE7lg@JWHs_x_joH2e*Gk|92R=zDnI z-@!-sI%v$qd(gcU%?2?6>%dLpE*{*E&*;+USW{f?$V{%AqPrQCx4D9MLAtO>UJVU3 zhpXv{Zrsuv(rkT5vl90hYdzuIn0>Op2hF(G0-Ig;XBoGPInI1=`F{+gh4&McvSIxv zs4rb#@$eRp{|?TL8~%@|zOVgLU_%)Gj~#rLOp+!zT2H?QPa>miTN)RQiN+>4zmYB1 zP`;UVrZVronXvymk@eP{r#nw$z|pgx@|FM9QGM@xt84>kpf)S^kLHX1FNb(ha$oU+ zioGy7e4FpUu9vOAysY^b{$J)b9n70x&Pqp25WA!P{DO6WcmnIoP`YUMGtv%i;D4q= z16!7~1Eg)n?ocdN;+pkVZy!2YzLtPahIRMH$c8RcYm0t zd2YztMV{U-_^9F!vZa4wT-ArkUzEPKt~{Zj{Q+cdA^2Z~?zI6e&Qm#T=?G=#@~-|o z`;j0|?~?5|0#oll3)8uGrDX#2*WOcvyC{$!w$FcLO*2lmj0^=P=cVaa0^QQMJ^s7y z4%S2DVawz*iBWGfUOoCy1UM>t8vLy1GuUvN+izw46mKi-=}!fDb)*lHZ`Vv{wOB9* zga6U2Io>B@AReXjol(U@BhQ555etwPb3U6q= zQ2V;Oc?s>Z)|I5wouYO#S^ZA{+s`=pY4YRB&-C~wlP`N_Hhd<2!=KWEEVF&7S2@a8 z${rt-^!O)zq^y>xkzZCXaI9^X)1O2y6%%%4bImxSELi2 zaV>o!Kj1T+vD;m${Y5C7&?}iQNp$p4$xYcH@tkZG?%MmF8T+PLgDmbs_VoMzxGh|- z;4ySd=Fm2u^97?d;HCW}eg9PW!J9*T=PP}pKi#Y|lIgFh!lfIS!sXzzX3VaGx$1TB zV%EWn?K-$OjeMa$dl&<)b=PsMO2Ex2+$kQBto4xCWIy@_7)t;Rn!1`rX zoATKxZ$hPi;Hmw$>h%K#Z&^fJ)$8%nu&vo)TVJ+qby>WmOQ>v9h}Zd)MMs98T>F3D zs@LLbI(3G0+WWDiW7ZkcX$v@40b=fwKuMG zY(;N~{{y`yOqUL+boj^HKmEIy` zP-bswJhQK~l{Tw=wz`*1upYPPCWw>6Azm)sdI9oj5+3s&nuc0qJ{w~h7={#&D zK2&EIf~L=fXAo2a!o)tp{(kOch{+0$fMdDRr(L^JUV|FtBCBeK<+I^ z{w{Bj+>;$uLwkyI*1T*C`SdsJmuSpB3ct1_yUOxGHicy?axXzyF>~9^+fwq zkDd_Nl)?`_EJMRcWvP^-NzSGbKO2C|wc%rFchl(VdJ2{0`7> z&BZ^#D;j63<2&S^^YF-0;^b2B>%f~PdJmi*+$j}txLYZc(R?l~XzTDF{x{|T`ftkc ze~nTZZ^Z7)BQF?7)wT5~ul)PMedgr-f&QQ}vQv!fmR9ERb>-yiy0|1e*)8yYe6pMD zIb`V`=U&iNz8-ocdN&Tsw-aZt1AQLWy~F?dH?bFb@4z0rRQC(pe*7nRsoocrm)m6F zN}g+NRxE*hV|thWO~1-JcBxG}r1O&n{J<{rAz;q@rOAh)dsZL+sC3Ou{&QQ7 z`U)yGZb9?W33R3!#)N#DZll*4(e{$sH$6^gaW(?40>8+J}i?x?)GFlgc z_=Z?|gKYN}mzeEykHdCMGnV-9%^>SCx^|4bGohz^ZThzNUpf^(T;NL^avm+|er?^W zb0c)qQ?hc1w0Ha*{NeE^?Y1P>;{QW$hR;=|7C9<8c>}hl_K2p1WffOe$&Zo0BFsNN z%tw~AGz@aiwn}EfpSF&4tTxJ5Y>uR@qj9-JXL4IM7rHomLQL5AYR7aYS>vdF!81>D zE*jfC@PUox+{a4x1u$otXdxpk~GT4uv;6D!zIv;%?Y+wDlpL*)k zPq??@fw>3p+XsDmoc~!rVsXnA1%sF_3q!a)7Pg7Kz@4`IKcFyAIE}ELemBhDPrlm4 z*TQ)A`+o@2fo;=|ugs4Ed*9$%t-Iq0hOdITvQ={ie!S{Wfxql5_TD559^on9&kdrv z`bqnhzG}a5OW4oH$hZH$guclp6s!w@#ky(jpt$&)bw@CvZ)xY;rx@2uB#*xE0(h@I zd38~D`Vwb627isVsyuS#GTycC_=@>dHILNJb9SFF_+Qcg+qtu(YVP1OVK3{|=T0v) z{_;m6V-3y$J9qT`gUGC#FU|26@8 zO_(m*L+RqzcIZ=?aYuD>^d0Ezi%-<@(F5QDm@p%$b~R|1PuB(sxhz3 zPr({NPt@}!VD4m2RQTf6c%m7eke}vujWaxdH8;S?~RB=-I zrs8jZY0SIrc>~oE->gJ#PGbIP-|ZpQ8I;_-!fQ#cpQ7_yl1cp9$}%?L<}EmxXONrMa60 z++T3C|JCE)qB`mWdsZ#UjwufaZ}{G+x>swNXq`SPQ^%o|WNLR6-k+zQ;8kR%bpFN2 z>`#O^$xk7fuKPSHYegUL63ddcA~ftE^F1hV6cx{3+&umBr7H zuQp#3dG!A>cm8o!Rn^}=_s7g!hC#0|$T*T+1aVZQikNWrda;ptT-Z$Y7E_+vQsbqce zmG1S$6xJ704wL=;Y{pVJmMzS(W9cn?C2E{Jk1eX+S1>NMmvOCyTkr_i31AaEqf{qh zMqgKk&lvHi+BT`pTAQdIe{E8r9?m4bkMHi+7)#N2+W&*^&XJwDWS2B|E~FEoiR!nU zWEXr^vL`0l1sSwIvS!Y^@_uWP}geOTSa@N7p=c}0dOpF@3FZ3 zmc^|@+p;m_X|0u#cXY^qoP1LWR_s*pk0UwsvVzvV(!&ZT+7I1N|GxMTa&%NWM|>yT zgWOIT%CB|%3BUCGoM^8(X5koC2FG0B(0b9Q*~j?yd7btsv=^eYm|7c-mCsImkZLRq z0ngGm3xC4~t#X_3DXFhA`6yvLKr)UQl_R+p|hckb`Cr)H7L_65)ol_h$W}f>wd@QSs8^Pha;jE=% ziBhB$9~Z1y8mRNzx8cKqe&)<`G19Jm4*EQWuW!acmiZ}Gxyt<;d~Gmqh2;tREC1Wh z@NlL%aIABu``e}7Sd@GuU9ap_jJ(|=jvO{9Ou(w1ekQ+2JF8Q}cjo$iCSPU%<~qor+U%yVU{XJ7+XrIFpF!r#a_ zUHiv4rN27!%zmHZ-Xbh`#&c#aiN{;%(9R`VPmY zf5nDN&WN7!WOsOp@Brz>PgH)urhmzX)2F6XLvX}ggD{m zdxR}H8yWzQhuW|k-{f9fzMTwu9MW9)7w{BK7QYEU-aQJv9_MHxvFwAjvF!I^PGj*} z=qGCPE~h-_j2GO>Bb?H@p{v{nodxDhpy&VS(gDea1#XTp1%EHJ;h%E9kzdf^9pQu? zbmj$u(Afd(^CH0cQ()?E%Wb0E>7)<$*=WYpKqEURi=i`~tO$_jFXRdJc@p0oUb|+I zejwj9edZY&xQYM6`JZ6_)BF$Of1>@rhW|S(9_nlvCxZw7`?c3R9I)?O9cRqsgZN!% z5B~_8b{hHX`CbSN!r4Xq-(|{MP&m@2nMl~OSkw22bk34xQ_%`=vz;k7LB3l&sSw(hT4v#3w{_X4srN>E@p2MeSmN41no?*k_ zKlL-IU%X4UzFV-v%$qcvkG5$r?yQ#|aPhKa9X27%U60FNlQ8JCP?KBfjt*%4_v~A+ zlXXXYud0i)4n{}7Tp?Y>@}2M+)uD1DyielYPMV4Mx7Hk@`GR>4eT(dVnZKy#7}7}Z zF_gDxdI)dLKfaxh_#FHGX5YD;xo+%?dG0joo<+Gz-^x7qA;ti7g>4M>uhACwhC8hs z1nfGW^&MzVJa_=&h8!=ED&)muT*i zjn$7xH;?e-!li~D9(dI0+Tkp8GlaFTJ<)Lg7x--`>U0;8v=X+p+nvw9jc*Ax;;AA>IBqlx)56!Yw+MnOa7 zjz#8N*%hBmI^D6zITj;Jl&?pRp?psc+Q`{QY%HPcXzV#d*ZM#D=xpK5=b>xxcP!=9 zUzI6-7JrH$%i_}0T|YuO`%d?C*L#r_gv;sRNOSEu*0)}cw{)b^(@Xbvuy%zgi@xcm ztxCV0#tv+nXwBGxiS8sDInb@!a*rn4@oaQjaJwsg1#$i)v z;xvz$d_%Gwzp!zS+c?c-CLeJR**NWqt4z&jChq8L$Ne^Ljg8ZsX5v`a-(%x`M4ZAj zuk9GRvG6S$&KV#Ru6b?Su#JVU+3@cYZtVGNS+UqW>^`~Q+{SZ8%;eMjwsy#Kg+(@; zwTTJW{I-tpCL7*j!!^Iv0{=H{_yQZQxorU9vuyYr8?HHRFtqt48~$}0uDNRp;WKUc zmu>iAgij^>b2j`28?HHN+X)*B<81inZTJAf*HQ0PHvBU-TyxU45gQAq+VHDwxaOyA zCvGg9Y{Rdx;hLu=Qtw0?KG}wAzM4e%cpHA94c8o%Bz&w5KhK71ZqnZEARB&;4Zq?J z)(T1HcIfTx(H_meUF*^O4_=RSksmum@wZD$vRT}H&nh>cMsBuxYxpht*gM>1txe{v z^lt2kB`Zj#mEE3r?q984k;XzK{z8X*T~pow@lUN2q{IFb@c8=6<5VX!_4sw(K7!zuJa2zyW8n|>dj#$1_&hd=yaTom);{O)Ai?VMpeJb0OXTSf&1lRk zy~g}zn^w9H#c9kdPGf$(jT7#~=QQROCx7~n*f{Au6sIw-IPt)r**LAi{W0&?_hTEk z!^UaM`}O_6#yxH0H0Dh{_(;~qNw2ChHSSG5;_k9>vddANWLlFC9<$iSVQ*yOH1174 z;%>EZKeKTf`z9a!r^&|s*v4u6n|#E5!^VjRDNH;-ylJWp7Y|ancz}4*B{rP7)$k_q z0LA;f=@c6;9;9&b0`aEL*l_V6g^L%6H(hPR#e)&~K2Ps^W@QZD@!fVrM=ZOJO()`knwohYw~%Bj?~xDqMNC9^4zZ$yBnG6ZX;85 z>y7%c7LT(QH+x^i*}X5xPyXIlT=^wqS=mGK#*PGgUy0uq63Cmsni1&I+sS#h0^)a? zn`J9-qs5tTE8y>gX%A5RO8K;I_?FUHz4{xJukc?lc~_T*exuA*z|-ZiZm8E?q|&kJ zE+6sp$X`9#6-IAl*XiIwx;&%%NdQw4nxMaW>gN9O7wug)6`$|Xmj}b~vVS9vCxDCT z;8^e8a9sC)z_IcP$HRNzSmB@jFW~qm;7aR)MHa_>|3w^s_k(ck-TiCq5Cd8EM>8HR zpWOq`(jon4Y5B}DTGoE~!Dx9R_^1ZY%bfYeocv9&_C&TAg}$E0Io{YlVoyCWM?b_C zYJ*w?Q^b z-TPpym&(_U<#4X~e*kB{4}g=o4Efjdt*CiGxV%*`B5Sf=6>(D9GrJR9a<6r{EyC70 z;PQ44m&k-ZE|Gb=amifb;nLB1_OdcP{uAabgJj!u;#YgFeiImC&;q=eeNqEYT=P;A z{%qIXpA$^1yP0PK$C}#zx||#!l~_CnJZT zznCGPUO7*XJ*5|$z@@qw?SS0d1VU!E2+xFDtrwLw=tBjdV5ljsG)UZ4*qEu1@$b z&{eFAt_<&q^^iZx=n5TjN%yQgBc5&PD%A_l17$d8ofly3X6*K4-&u=)6X~KiQbup| zRf4`|Z|R-B?)ZPu)}>`_o!(1Zp8zI*3>~bki$0*Ot+uVkt_uDYU_J<@JU(`%+RL1P zUKL+l;$yeN$GE$%oR4wt(aZ_jk4$>HPt6HFACoS$n~&u=NsRh+pWxzVGWpM-G%HM10QeB%$5$^ zaB-=+=Dgw!vb~MxOS91ztc}krjQ(t(OW%_7Br8iF7JM36ID?-|&ev-XSZiJB#GMQ> zORHxmtvo@}iysVB`fQSOgW1E-v;!_27J2cNwrA@pT2`)X#ar`>w9w0>aSm7jzGC8h#}o1+q85 z$iTC~px$s29R#)lYq`5q=hT}r+$$dEu5#=U<oma7WXzgcn5(H@;C8+V^KW=3d_2AhjV z$iFUgmxpiC^(DW`U6XSbQG!ioPAsmOLu?Kh9pi z1;g`0qR8!#*1PbqsaWlzs=et`1Lnm2CFzZJA52($n3){kjl5<0|2morDz5oov~ z!Cmi^)%9`OOFv+T*{uVVO{VZ#Oa2Mi$3UxQ&sX7U`!*igFX>!__HV~T*c*>!iaHOW zvjpnzuRiDXZ~2~s`m_Pvnd3CFXGJ`7fq1BRu;Rv(r`&#DVVjT%HLna-KFQB%h2Gm2P5f$4*K_RS0P}k4fSyaw@IHa(Tjbdd zyb8;(E(pDNplkb%16>)O@A5rt*MY8`JgZA8+iR1`QToToU(fSJQ*XA^&iB)0Z5Phx zaCeN_1l}T<1bq)3zz59#oB0D>lX%we@y;{D@1X;oJBUK7&@XWxNqBde%2p}DokYU_ z_o(M>>RHQ!j3p^-EWK4RA_^5-#@vn_2tA0|L-p z5L(pO?iXV|NO}Aq0#A@%64{F0^G|f#Y0vMf15a{*Mf}D;AEhy=GsD-s>7|1Yvlp$l zUQ*(_TJ{sN(Q{&RXdm`!(q&Vg+5fXR;oLjzU+JbOL*<>$Tk9>8moc-2wwP~cfuXzp z++Tc0^s$cq(Z^l!HsxKUzM$OE)Gs@Zs3YHUjYZMvq4+7g$ijELji1UKE&K@I@4agX zz6`v>p##k~74#YNk%8}r3QH!7^jH0)sP;A|8+!oNFInSr2Lc|PamqGNllxQPyBGM` zr^AQo`{5d|HWS_r4}L5eht(Bn?#rP*m7S$+df)WM0dtO?`L{R+zbfK^3Lizi{`cvE zfiTHA;J>z$byoNsf7wQ^SgX?D!rP?*@h9sk`e?!Kn2g*f>q zkhV69e*x0$Xxza0Bl$@qe*V@%g7|d%R(B@pXAr+_-i8AAn7Hyog&##x7S+9Wx7zCchaK6bAIT?MYdPZ%H4uZkwY$M3f* zZJWt!{In!IJRE-zcs2r$t$%q1<&w8Ta0*88BGtdKm-^vF)!!1qOV`t`Y405Yj?P<=FYG?+#m2(nwxD|I=iL+B4fm-64Bn7$6w~SpQaoqDx10a>@7ac9>eYC{)Y%-W5Q_c zl4J8b4kJ9^3@9Pn*Y7y@u|nNF0rs!Ct2T4HI|W;=N%`B|WbStNABp*e*n~jo_1OGE zgYstPcZ|?GKffcccW!>iXuX~J9m0#sEx#L=xqHCmk7Nf>=b+`{w;4}2KjIRzCbHt^E+JpLsi7?>w_)XFGj}GlIjb+s*^nJE4 zih5NKyaqmkukEt>?t2m5i=3K}+?{6qkn-kUtyL1h(U0^;zv=l0>X*nCE)<>8?>_(W z99A)baz*oM4y7;qS$L$Pc@<+cir%u-ip&#Q@(4?4jxga1nY zt70wrL_AfLU4h`fTK;ILTVt&JE>O{<%KN)~ZZKb{os4;%cW!iI^X9?-8u81qh;QU$ z>IN4#QnzSDvU+&D^#hf#d^U+qgxVQ@x1Hj%;w7SQGcP;+yW1(=N?e`%#zxEh#sX(O zKEO-VZ+IZ}0_`C6peB|GK!kWAkbLIv$ zw#=Ol*jj-%&LBO5j29~27!}Oi!A;olJ@7rWmwBlCe$&^Txv)*A{;$@~0eGuLZxyuX zIQV$(3yd8*U-g82p&$2-r$JAU&`yc_XFzs!oPqg`J89` z4e-ZbH(i3K@;2{@E*{v|_N{;Cst>#RQvR!=z0lwjmIj6E@_fvZ^`dS00@vIpek$J$ zk{#Bf&yd^_O}DvY)rRDI$J9xNw%&X1fZqnmBmv#uVda;h^iwo;hbuq%qEYFf)Tn8`(>rR+2o|9^Ylk7yk*@gv^-s_uhBJwiF)9>?&*vY$?=b@tK&zjwcB&QVZNz zV8JW@(=xt^zKn z`r#CJy(1S@@EyoaE5`7($~qD|rY7WePgfhdy)nNn@OVM%)LZ7v%ir?dc^%=@LU&(a z6MeAQ-9cQ0|5$dRyPq)RolePR0opIVdb`?KMyvY`Up)w&rlC{({nM5Kq^pamZ=f&y zZXyreF;MpxGuPm!DiPuw^kJ+I29nP6>p*=q8ODd^U+}Ckqp_kj$gdeYH~4U5;MJK# zD4c1kV8VbO_X10%&j1Ji(SadqzQIV6WKVQ39lic@5x4(&9*D)}i{Jf1%F?+;Y}YAxrr*{L3MZ&lZb4D()wc`wss zd}FE1wTC^!ygXSt*J|}&qv}d=|3dnCH<7L?el;yVensgz!q*OYzM%5uXB)xl_}3k+ zYd!h;0B5gE-N+}%gl=OHJr(x@ln57W*OI>+9-YY(9N1)b`ZDcC+B^3O!n5;S?8rM! z`O$1?F7~9KgZJ&T^)WY8t6ce-7tX!C%S*WX0hw&bdgepX;P~R}=%#1q;7jyj0DF_> z95M)S{WNuZAqWjhXWpK=&FJRDi_Q^^WEh*G5oFLipkK+Hio02UwG{`<-v+kB&?_XO zf$n*3pR;&i$nrvslQ92dfWzRQzQ<0qTK2&0xow4Z_@mAlIMHkX*(#*D=mhkJ54FBl zcqsQ5WZWykG5%vY8~D}qftPh28yza9NmrGyq2LauD+;m`Eyw37;hA=7U3V?;31;C% zIO=2DrSyVdFv%8pvFQWoI?WvkX?$?E5q_y+b8 zXK79RL_1f1fpUEsjG&(opMdsDkCM*pdjO-aPxjZ(QDhG3mVI5)(r4%gWXke6+{k3C zWz0PQW#^QAKRonV1+s0u8B@r%^0zPFwdV>iv{!v9J+#(Ck};(N8H_yho1(`T6kkC< zNT+Z5jPH*LKdg0)PMmcU=aH~|L65@N(>-y2Ez8Rp%6j#0ApRBcj8RUSGv@SDD4iV= zNH>mhGFM=`?v>xy%0KEWQx`I@?6^*{^=$=Ll8L3~ZeQ!2D+;Bb=uqEDHkQs%^SSUB zV1B8IHWd$XZl}%J!WVzvTeGC!T}+Ev;-gP&RG`5NF+mxEWe7d&
    7N-LLAk%inVUPB9SRJ`fTgRYN)VNSO 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�t(Ut|gZ@v7Xgu#&flu;oZbyWU&wAmJ*Ls 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

    m6`95USc9T9i8m_) z*n${lok=>4Jo5X^hJVi0Gq}_kkxIYd&t@N?ax4sSFg3Cl#eqR^X`EalyAi=x!{Psm+0$MJsnEBLosxBAdB6Ro05%KQ9zRKb z>>v(LIMh5uyr;ce%j>OUjqQGlb7HG=_{CE;^EjRR$~vwTcFI(^A1-Am&R+YXicb<* zY%A|q}aBiv&{O8i?$~YFh%C9)iyeG5jwK*zke&NUoo1JEhEF&e(f=%I;5K(F(A$S%Ub1>wIdEr zYn+H{n|LVll4jyj%J0VS?6NOE@-3F{@E^KpNAaDE^s95dNal}omTS)IL%Fd

    YsYJHaW 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

    Va5v1w?w9N>2R!s{i^mVphVrYg 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 z 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 z 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%0Db6? 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 z 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 ^F` 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

    _q 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�kosd1I-i~ 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
    _`x#N`h(o4(W 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
    =Fp2KEYLf-q%jnsDeJqDh})Rc0AH@O_i zLxb3jj9be=+Kd=_M2?$SaLG)`r*F;ykM95KcWJ-0m8Vy-KdVChYtFFsqqmMo*WMBB z7}c}euI21le2QMi%I4?ZUpP9Q?LB%n@OJ21N;EdVb^-6c$!lfYJ9y94z0c!)aoziT z-j~+BU(Wlox_6z$BAjZk$^Oe?weMyQ?nmr0v@IIt%r0o<&wLN}$1%^fFS-2SyLf8- z*O3JpBgRMLokvF=s7ph?A6ZxT9#-I7@VQJmY*-{P%N8W6vBkrEkzWPrheX1@d{! z$Y96uJ04z;FJIq>Vy|+(d8zUZ+4u#U78&49UEZ|^?m6OpBwHja#n(DZp)J=>eQqxt z@pwGrgZQ1yxYBT z;(@uEtBJp_Y`6R3nw=i5y>Z;#xaXyZpc~pz{D;O;eYt$O-RrpKm=146E4nlBQEBkj z0iNWK3;i{5pSZR(Yorc$W1r^!Hu@r*HJN8mAX<&nPFis3JWlq+gnk?YzrTK1>!zU} zCyW)Bze%w$gKxF+Q+|7VohFv_Mwe#RD#bV2+l{=z_B3)oe8<*qpVn{poXgj6KjS4` z3z|3QSgG$9yEJH~g*XI5n|b;4$uHZ&*i^aFs9kPs^6WvI{07EadXrgi$Xc5`gb z+VqQWL=ONTjqHCmcKr}~KpOmj1In`n*T!5L9i4j2Iy(Lytx2VsgF+upr}Ni@v9j_l zef4d2K1HszG^YEG3vI6%O_nAz&}0|%2+!2fB=neGT{ZsTBhck+=t#8L#JcRC`OG9^}FVS7IqcP%R4Bbh_d*QOFN4#=b;Z8Sn(qD{up#8FE>kuDG) z(wt-EnPOxc1S4fsR%7@Hqko`3n=vdNcNOKks5`7rGEME?#d=JA+%9!DO0TkXWNE0; zD-Qd0WwpOsz7WAK{ZTMQ(%3iKtiG=}QpwpFz$F+BT)@-}Y^iNFZeu_2DYl_;Tk$x~ zR7)-k>vyr_@aQJhuX@8it4`HdhGxV5E+5lR=$>=2ka5^a$opFEWMp=_Fx=suzI!fn z&o1{|?4HCfjN~@NYU9vLg!c{btKz5zjm*>hT&~^u7Ap(?jxP0-rRn))X4e|jOs$byDo4eh66Yrnn{ZZaC<2t;d26!#e z;oX<)FlSfn!!N0Q#xa$-vND}I_fu>aVCXw53D8MrbcyN<4ySL~BbIO|a{8KO*+Zeper5W7s_{@_i)0^?vLZ z=~PkhD&L#zkfo$+&Is#$>QqY`n+J+f_^4g}g|p63TB#;|m~=x!O8>meEC0!H-$I@; zzB{<%OMPEHkuw@6VQ-YIFZ)IKRAv5|xO36c9>#b@WJ@slQRWri8K2~G-rwlnwQkZO zy(F*s>53Y@y!LnhU4L~Vuxd<1r!5z-p3SqZ)L*^g&j&bH5uCbj1K>jWBHi{5&L;AD z#6C6>f3Y9_^L(pk{faewt-0)BOjrNd%FP32T|Zm<_N%WxFTG6mfn?~ZifsedZvfl; zlk8gcX|yXC5+@P^!2jkmW3}ZKXm&{F%3;4775=+!rscmFvQX!Ji08t&I<)cAz+bI$9f3A zeN(ra`(I~LHe46G7CKmfpCUHEI?KS7)yM#60pL%eju!s3YmQM~=^KhCh*O`|`=YEd zSvl7?Y~@&=lXrc?R^IhdhBXS8*UG#;V1)t|LqR4zK&94sRyU@HdV1tsHd;UyuID(&^s-XFc59wHK9+#WgHN%6KKtt?(i(AEiH{ z2`e}HhFJp}nf4`HMm(c3<*-b_-0PH7y6}6A!>#tx*5g((svf6<4yR|4uCl`46_m{q zD;Uzz1JHN6w9@>Kb&{V;}KDrHeJaXQqS?AQaM9MwY9n{fWW(|+=6TeDU=y>I(^NQM8 zF`ZZg^c1zFebth|I z`9fWt)H892dh2OIbuXt(xbCVoSFODsam}pG#``0E8*Ae&75_0GXbw4OEIPntTF)~tHhsNRLp{K0xz3u=#^K0$f)Lv3qKNNxY>SG0Yf+9u9EUxegJEf0=q_Yuk|e?829J*Hjct7#XR+x`z~ zSAC~`_51$A!2Q;`K1b{NtobMUMc3#1`h$B8Q+7x&ZxqZ|8hnL)?xU<}lXCrsDRLO-F+g|*+o_kvU3u5{ms_Zx*(el)>W|4e}c&Fc@Qq;r&XhqmdXY_%|! zGX;zh^2DioXR26*PWO6#7!!H$?m*>Jp2x`Zq^pNMnlpt|emCi1d@*@P_}7A1s7d~JM!dF~j#YJKod)8L7Xs zM)3xM`;&qhKhbv8ohSCXP>M9>N)hd8s9#gIeoV#|9y$KqR^OZsOb<^Q3?7`$9dlXs z7!pqz;||jgkHU2sK4Zom8rw>q9aj~Do%{qJ`4jl(+yA;QFEr5pKHldQ3V~=~QN9pd zq4%`n?Jlherb~I3ZoiN_ojwNcMAN|5^d8a|g8OAAZ2@>J_3*pX^9sF!{X%`G9o2T%C1lXHQmvglZRtW4 zIR#HIu=j`-7~4r3!S%-A;oG^F7<)Lz-Dlv$&_a@XHhuaueoWbY;Ix4>om-^4JyY2N zWm$^>=FhW_XM-0j-!-MD{Mpm`h#R`Hvh^!#dZC+M_8+bNd-q**Wb<5P^2E}mDagUo zw@zOZ;Aa^5b)5N){>-C4KkvYH&A~^cE5>}7Z!^K;MZ%+e{fr^=jfo8}s~mU|E}{7m z5Be3Yzf)(zx$n5UTMcb5ug z4*q#&W6(LUraINYU~TEi{BOt=%5&0d@TF@1>4M5M(JJz?Y1?41B#S&t^#|_+2eiR_ zvPEY?Z(3mX5gMBizxMiId`9DF_Tk{WXI<9US-zyP2g>j+ctPe@&S9M11^l8{bed6l zFkUi}?-AzqtKM$Q#3>`)f%xh6NrKsxL5DKDtXNd}Q(oG(F_@8GQ(ZvclH4`^2kP}w z_h4h)GYbFlb?_^GI)ooOi%?%OZ2NrIw$@2Scak?zwT=8?-O9}Wf@vJ-PilN5mt5a8 zZ?w3+J;At8x7o*6FK?a!cFF6ToeYx<&8bYLRQUkUc`0HySOfT!i#r`F!%uSQf296R zGc+dIn)Xp$Oj*&-dw7Pl0gQ+p$wDhPpdWMY|BbF~=|G~X5TBt8pG_U&6OAWyYUV=8 zgEL8orVY>2SJr%?5z23!PF%e5=K794wXS`^B{`0NGx;Xc1>e-V@A4;2Qk~FysxUAr zvjt~353ZSQ&p(hH(HJ#|uQ(HK$MwDIcSL%7CsKX~vOeXb*AfqyLZ&s77Q+7{+KA*X zuOipYJfL$b#P?bw-0$`TN%p*o-12jpv(&E*K@)det6y4QBPKBV2fkapUT)4KlI#m{ zv!58{-|$^@p!?WgH~|<-?2~YH?x`!w+AQNaPNRA}cI;b}4FM!dZOE(*l7^M5w~ z@z0hqCMr84tJm-Rht<75p`M+TtMBVGq=kLeI!`2fS@oytEAVTsQ%w02$^%@Y72Vwz zr~l}ghIZ=dOL6A^GA3_~ybrp(nwS20%=akYvFA-)sym!NRF^Nh^YP0AgWLB~Y4&wq zUW@KuYH!Z=S9eST=jbi+vEL~_BRUC-{z>YsXbmV$Jv*pJd0VC5Wc!0lF0%QU)7y7^ zM>-yI4!=qq-9+{14%LFGi#@O4U^EZ5CU*&&I+~%CjH#!jy~`u72P?i(1M6bi-wC{G zV~O*L$|n}WxzoY9jC>LLEm+^AHo&`J-B}0g;yPF_qb})@qu+sZ8Q;S?1gp+bmc1gH zos)O^F0|5VWcvcEmT#GV{IdIMRe}wA{VmU(DS`XKj!@#xa zb>Pyt8vPhNi0*`wFFATe-nEH#bpHRpf?K2eF;?~IiYW-oKReZqC47%uJ-D}HfOu5Z zbN-lmvAxaMhxJ|K-u>x=3G}b1KfRdX+aA^bi>Q^4FYpZIw|w;V@>@27xn$A>0Zw=wpl0}>iKuh5$^Ro1Dj0w>t%=f5#H;ma&yMq>-n=^ zAy-q`DsndxPvgsHKiDqPlvgt9NcUrgFv_NX=r4e?{(j8yM}RZ#6`60iM|}*O+N1WB zF>osF%MMQ22_FOZp)8fY{l@8*ChBpax$^&zFOo0SGKGNv1AXK}b>-wk_0YvM@1^s- zK~CS8Z<}%((aSI3j;BKKKGL*?F%zA!`U}g84e*udO!8<3JgV`YPd??rcC08KKy<10 z^{dxA^sck2FC>36JbHm^Q+hRJde|qt=53@&57B!0Im!o2i7ay}dz#Nue#)J}Gfuk7 z!ArA#i;qsUAUPP)4t4E0g?wL}m8|9bf#CjG@2cH-bWeH8bo@2xo^lUy`RL=x$>dRc zzN=IBG$~f8gLk#n?$Xs3IGlB?OK;T^7`9S2mR@Y;{JR|O({@|4`yS8qlyw*Dx!V5+ zjQZBEe3@*OI4k2{6RaNjUk_I1(e^(?EUf>@Q~ejLil6!qr86IBTyj2pAc<+uvDZ!Y zO7Aacpmp>l=|^vM{49MV4o;i+iPz88_wkVQSSvjbx$be6)ouKb zb3TgR*D0OvO}sZ}SKD{eTgjKo_StvZp3C<|oToC6^Hg#?7wc>lemjVz`MtwUJ^k(n z_TwEs`9C_RD}5>Sr8%M5@#0gABV#!-4_?aC-`{1`-}ON{b0=rs^;Dybo#uM*jo!81 z%unj)sfMPxqlq!J`JA5yJp9hVq;{m6hjf*v{S5WaL>7o9@IAKw#O2le`d|9b*y=nO zwWTqqOw%7;!e&M0Xp9ukrFueGgy&=(EVk~;b?=Iiy?=TgSnBUJQk}xVJmlWlx__Fu z*tuR0Fj!sl(DXYGIRjvxa7JIXM^U&FjKAJ4x>6s&H*_UDesNl|hu@v|PkUDnzdP?} zEf)9+2e+DE)PM2Yx_=kH z9XfwWU;XZ%tehCD$ASN(8DFzU!n(e0j1&pNEo?d@h&;?mGgw7L&s-7 zutdOz>WwpZgkz-o7g4|Npw}4_l2d->4xZ%}jdR>nnmtoOeO6h~B6E=8j}t``hiOag zsEru?58Lv=pJ>_mYy>~!LEXl0p*}}k--U-R;aWW8@?)1Jx1xKiEO+D{gPc8@JCf!5 zHuzE*qvzC>(VA~qhH>I9O51kCKmWC59lfkUUdv|^$wG_xLv%mPTwmuET~c8zBc{%X z=D)1QKDp4>eTSFuzcf*Lp?nf)`Yqq*zqq-vUbey~BXRV5)vG(?W6-9DEbj7F;g9PL zf)^}pVkfra-!yVH?Out>l7?qOh& z?2x`1%D5$&JA(rz&fVw{Qy4?Duen~vECKJD7nk@wuaQ6Y+xdt8<~cbjT1dfn@Kqc8 zKUi0^_6}oj&a?psO_R*|RE$xfEWWGfA<;%XJi6Oaw52hGeohDGDTl~K*RJ~c@t=8n zMOSHXZ_cq{yl|$LfBcV(6Jsb`w+TM_ma3a8`M)RswX?nD{Fd<(pUqSqS(UjAo-IWZ zjMoRLzti>ab}v#Uz48ooxB6<2{-I}hob4hWQeCQ3^({Yryq#y%mpUF=N?n?Vy`1Jc zeOplb=-haVXjAetPd(8F=Eb@3ui>M8MDqSTV33TI{QUB9_%1xo`&Alz-I=>LxYLVq z20&kMmP^yS>SCSS%%ve*3&FE+CY`REy!jADaBb?)c+nq&8{pLZpuCX+u;v8o-Bu%7=|>ax9^rbkt`9O_5aVBJ0$yuBFO%%y~i9KR&z~Bea{wy zi_jMn^i_Qc@fz_mRn5b+S8ju@%v_gdtbtAQ0Ckq*P9{jF7GFd2r^ixP`SEn&4E#b< z!@8QVBdp!Qxlq_E5!N)sv%0hQaOwMKci~)gu}r46e9HLRGSMRYnx?mkw0(ihyIv@-aE zHsV9pZ{NhYH-qOe7V}zgV|>*HH}?jckn2m}6+{1pQsrUf0=6Q39|-)M#^)ll*DeO$ zo}wLd4>IF}-B9uT)fyA6g{E3cHG_ScS>go{ROXfs! zrAm>$_*wdpzR>u^J+G&Hci0EujxeeJ98KkzQGiXTeu`Y1#KyF+X2g>ExWPE@-1Iw<_q!a?Td}8xrtL z3Y|dm!0=s){Uqdt?~MH|8Ef0V-uOOc?}^4_)50SW-BYCTk&f^U?5L-~tvfn12YGsawB zD>}DeD?I;`j~>{&g0>boz6LHcF94I77u4pltdZ$?4^PqCua38|8nUmHp3mT~YV<~) zp4>%D$b4ko{1!9z8EBLI;D&xF-JP`wj#Op}_iOr+&EN@LlsvuFKKf3*BMW3tLqBow zBY7h^8Wn%i9zG2N&*fStKwe2Mh4!H4krm*BH8*sUf7$c!8$2_x`ut4Hln*WB&;U_9~C^mS}rLW-$2RPx12z2HF~! z+*95+`7z;;wJ^zj!P8TYAafgmPkE46l{RQXG^TpqeIRR=)YVn3L#`O&ZWi!q z1m_*anLzM>+8+7&e;FG2D9-|GXKSeIiJ>Ag zygq}qn4v+V z6VZ=KCNG?C3N~{Nh2($bm)_ooj(LH(Xujr9Y#H`a-Ed%UKK<&8`Yyfxp)Jyx$qO!6D<~Z6!z$6!;udFYBbKma&lT3%^aXn@KfjrJ659r4ubR5Gce(-I#Am!V zksc&IdrLqJr#V;mOTegg%ZF!0Yl_R$-p!fFu6>iYS9W}ccb2! zWAw`P2TaVr##-?XVV|BYtf|b*^jFmv(bWFJ_R5p=C*}?A5nf|n&z>wWNmhKr^+jXc z#T{1a&mQ*ge2w}vr|T?VWIQ?_vLg>&F;-ebmz)*U=4qyMV*z?K$>bIspT{-!z zDE?Mr_TnEwsS;+cD%1-E2+J}VzNcrEm!n=?NEuf|;cQM;;7 zW4w(z?>|woT#S#aYbAB5oul&P$F~7INy$;+Soqahk{b6v;_nlDmq91W-<2yKjgui+ zpN8(m{8g$fM4l^s0eMAVKYGr#fxK!VezV<2c4{9F>vm@D>|+kAFdiyS*X>r{;^|NC zE;3)}UHg6XE_%@WQ6=z^{xo{ZV&O<$F+HTyEEeX1=1Tv&lnd@y3_sDUrgn@r|;RCFB+lWdGymy z|LuXj4`?46^)yk3+DWI}-jlz<$2eed8twR0^*PQRR2{!VxAVvsNlS+kzDku(F`qH_ z*Jg>{csJ?fiIb=D5gXf|^b#$KwGYosS>bIUo;p!mH(vcn)T9^OeaI_F3-96;@r>x=RQN^D_3gGFw^LTIHalKG zp1}tj3?EFUtj=yh*VrUJ6`h<3o%{efuR0!M9p-7^RUew@!~5t%6Mc~URxHuqzR|{x zGbYCno7k>=s09$9!nc>#yDltfE=wTq7^eg?67t=lB73u-d)Roe2}_E8^eqY@(E+p+1_2meUjnhT_7{R47C`(C!93vOJ{;cfl@ze8~FAo$q9@1-$#`CZ+6 z+hyz%;+N&OjGu70j^{3ZzvI_&d54$gH%z(H>~&a-0ui)^5a0 z(o;fPB$V;eDO$06B(G)Pi7)EEt#;pt3mfrrWt|gyNS?=Kd*-rLVt38FIgdL<6r)pL z&&ORIN>dCNu}_D5{}0V6v@e^#zT7me=TSFu!PNahCv)oaoMrNubEOX{dy{E1TSX^r z|MPv+gM2~eV87sdLzc~Nv~WM{>W&~MCd+OG4(W!{2e5x@|3n$J*W>!|fP?V?-j)8) zPpv(34o}s+z|_lL2A5Cr=Ol1Ky*1fd^{~Ii!G716^iMi`+)jE32W#O5j&N+g?aHnh zQSgPT)Fs)P$No?sPrBLaTcK=C)yY=Xp?XJkBI*uh>wM~!TwM+B z&xLle8#ett|4-pRv1Xe-!+*_9pXDk0O7^DcTK!@(q5AS4&>c3>A!8>z50O`UcIwAe=^4^BPt~VCNE$I9 zhonIxd!g+^(mcjq_E3Gu9~5opLc5u5R>a$9qDnG z$Mfyk>N)p*lmG1(RpwT`D=+P+AE(ieHv+%TnOxd#+c)RE^G&oPcn(Z@!RTLqqj&7D zCd#*=)2?9sogMt{;egyJ9BGkOUAG&a~n!F3MC6CKVv-TOR;qpNriainuxgo70> zkM35{`*EZ1WrNoldZ&-Vk;e6xz<4aMiD##@Tb!74*ZJ1u%KqNrXe#e3yt{)2%FBm! z9{4e~mhNtL_%S+B7Jsp4@0JbmlP|3gzPtqeb0Awi)+@!lj9n*t0^dW#>>b)P+?MI7 zwr6@)iJrN;t$Lksg-l1+Gk7oK!BWF!6ba@vph>d0fjt1>V9 zn@pQ!>i#0 zz2@H#Z*OCtO+NGO7ln_uEOD@Wo8oAw-nVDYRq1uO0Wa~A#f|n+YMf1d+5TWBZ7Z$C zFB-o7JNK?USAw6XdB6YEzN+#FFG?3~UUd0{6QzB|y{kWZm+kTbX)8SFjx^!z8~C|* zsh`ewqP{ZjW^AE>nxS+0EB?tB27_PKEN{pMJ37X>{_3&WQcdG5TioDLW$4R4(4NxF zIRwD4$h}|e#`$jE?>}{oS#wbzR91cZnt>BPq=WPCfYZ_`NYTH0)0U9joUa+uW*~8)oWZoMe{4b@cQ(tGC4oCkLV5q16&F+1H8>gT0 zemMGnnRKnMg!KO-;2foYyLW;$xPd@ALqua$VsAQfwT++7Svo~FI5vakkb$dLm&O14 za@#Bav=sTC+fa_=|FNv|2P1jL(AOFY=gz~^QSZiDJWo6u^1FkvmCYd?D4u>H5zDWx z+?4;#i;4|+3-iN8+RvLSMW{p1i7!^IY|tLF4$3QEYtHVc*FL?rEc*yDht8vS(@&$5 z_!m_rHy60~cYq(g-|q0EF;_mx2&I3~<&$4a?-#lEM&Ifo=Z|@Rn|s%KkMhqN^ZiWT zm992a$7#H;@HUxwv;#T$QSfi{4CHs%4+A%4#GfB>^(9pBLcsyqyoUmMz?f_QJXCMEa|ArD;ys z1w7&VO5Tq#c(UjJD^G~0w~}7Z591jRGjE9(vZdM#>3sQ8Mdu01pWn^g)5WiopU-av z=ec+VY!vEz4?2$cO6Nc{@P5t&Z?Df7>)VI<_RyqV#=o|J?=$MYUCp;RFlJo2Q|rDh z;+yp3F8A%^x^I{9Ey}l)`*u>@x4+_>V9^;nf~BqQ+dKFsnCA0rlFnM9U*KPO8Lu(O zW~*;ve7fN^`f1K+6Tb`Rs;eta{|o)Wkm!K)7&@xbZ*lK}N$(H4_qp!a3;Z89UGg;TM%r-rs-dz+U-8n>xF^KVRMD zd5gQeIKRT(Cwo8t;mMx#(*tNU-+wCpTJnT+r}6`&OQ%%&%gi@QdpBuDrzA~h zqSu<09P%y~A4 z*dgj$1NBKiyNI?!e%IJVc$W+&-l08Azk>AH2F4ANZM4lDFTkk%O<|tPNI#uC;%Q?u zWUv+RpBTH!LnrXqM~3~Vvo^8Yg1pwKi3JPojIH<$nxXZ(8E=gZW1bwJ-w{m6H&%%o ztDVd`{?WNoODnO+4W-gVei7l1Gs>z&lbAB-)0*e4Ot5FfB!N+B z1AJ3@1Ml~rsym{wM@bLI&?jB(vQK#}@#)DTYv+-nQtgqmcN&^*^_Z)Mz+cMxrez<* zO6!M@Ev>C4bM|gojlb%A*S!%<HZ*7AU=a< zy2P22JiGXH^3xq9Z)XkSQP#&E;n#~TDfk%6QJvs@z$BfZo4QozIpop%Z1;XS?}|;7 zJ=hE$yGU;^YtjYIcNT4RalZ^>L)mWS<*B^0$oCH3yXe38?~&7AFfx3_V)!z>C={=MQgY0H6tzn-QeKeVRLraxxlAP zC+$6QwUrHHbqF8$HCKH9_pjoo!G}PtY5IQ?{!IA>Okd2|>oIe_HS4A^#x(g>^_hO+%f_#;G04le%KHLub%Jt9 z`Lad-I=jcqFg7`8SK~z8p$}E-p8uD&_kokTs`vjtGqVfBGU6aht?ODJWYtZnM%@yL zbhx5X(scw>GPP0B$V?~yUn3pZ1rb?WU{xg0G5`PRM#?p_wDDiz9~A$FrZs>30Pc2k zExVB=e4nrLIfothuHNqb^?N*K9y90v`@GNlywCf*&-=X3V)pEBfm7*1JNd8ln{%C& zXWj|pR@ykdvAC5u(VbaW{X+RR^(i0fQUr5cIAgA?ri|)ST|cKxp(gxm!n2VbG)}5( zvg$xCxIgvM=m!pYZ1e+}mqsrEAL@(lj*5?qcca^wr2IZ*Kdmypy-V*eAKS^kV^=@A z+ade!=#!6*o5$n(j<58TlCyH%))oNz_llCsy8^Gk9H9ROP9K_COBk49xlk4mu5`vL z*{qGc8my zLc*fO;VIRRJd|T@0hjS1#{USmx$*<9vE8^=vD{MX4o3OQu@k!qoAw!H-FwzNo`4Ns zB6&*bhm60GU)aC;HSK=Brrjpu4wM&}EOrtGcf7qQ99Ub6eJt)| zTO`{8;Y;~dUcSzzQARiu|7e6amXO~(c!cRIJbocQ<_(P#C;F3qIt5(vacgWqsM9OK zQ;Onq@H^_Pg-be0y_{LuP z4foZZ1MXl~bGdHr^Ql~@xA&lAW z(ola5e8Q<)XYOaM(Ym9xN$b*~@Z((WTFHclHq5vd!nyV{X#CDSLw{Tjr%N49v!yZW zlX#Qi@ywUnwdqHH!pALZh4$SYN$e>jGs;Jhzhm@irO0Sx66W5Kgk#D1*jmnz&w%C_ zzO^{BStZ>=4E+Md&{34m|B%S1`i6c1r|5V)sA#dimn~j?F1}!vn09t0m_YyMjj;LxUT51vV8+erU$? zgleQv7=w?9X33tn6BqTrR5{mwYqNaRVo$x~{+e-j^JE?As24ZW;<_ls?&TLY4nZ28sq z7RJbzGN8AI^9R0SIZfvX4dT$r67|FZX>zX^MOSmTmiLtJ9aVHAAG(hLF z^>uMka1I@>N_wk<#?0yT-;}l^=sb%jErd`G#SMQS~A~3e`X`U>#ji|ruNNQGdQk;E*m*djuZ;j`!9)B zKLJie&++7nAW8W~>e-lo6d5L8ilt61#qujlUiTf9tHFhtx3sDKuEz6_U7~%BdCi}N zL0w^SuvGX`UEbp0*ZDLs77#n#Ot&TEOGAJoN3`m07p2dJ1TotL-}}| zt>@8(a^WCM~@^6)u)~bdC=bUOK`gTKkL4O zZ%`k4B~J1RcjYSX&VhKT_G3Bj(|qw+=mMB!D-R7s($HeuTNZ4Dcjz3z%iUIy46=`x z-|b^wKHBKb9}C|f!*6{8nQ}PmZ~to{?}0aQ9u5!nkzcrrpgV)Q*V_nB(OnF+Y3_LB zLb>yC@=2a4Ad{+`lW!zTiN5Onf2qtSP4Pdld9Nlc9ggC(F1s_q9}TKwqyK2R&Bmz> z<&PJk1>zHaDA)ToeIM#h`W=RUA8P2x@*{Y-(_eERvsd!A>Zw{-&K=ZdE!_K&ro2bm zyk93g6x{O%)ghj{hmCV^yL+@Te?h6yrhUx9EZu{APBG5h<$+J7(GkO^bazU3F&g1* z$3_?*_I%oNN3g}zoPyq9mxY+tsTS5Qtxsb|F%EVe)4iax#a~4`@K~*VS})m$FejOx zl+)cg_g_3xviZhaHkdVReUvzOa+6TgKG<+N;>;G?VqJJ$rG_ksUt z-q-oaZuCdzQJ=AS;fKu|r{MdZbe(JTr#F<1Jr(s}8w=gBX97m88Omeo`|^WZKTjX# zws9Ygeqirij--v>xCY%}$eUSbjW7`$}&_li|8&|>L(XM!29c$Tyl>Ff@sLVme#7+hN z+3`GU`l}vv$p4D^r#+AEj2=mw&x5m0?)WX`+bMrTI8C?R`@jcVWI7$oj2;g@HY#2G0uDtjcU$3qqZ0a-7nUiV#$h59u%E4kypOU9xjLb zI^B1B_%~iJ`;wjhsZz{ETOaz0ux{jm2IbukTfECx(}v<{Cq@0ri`--OqROK)Xw604 zrxl!%~a(pX*zL#Oon0d@0`z024=5QT@CGsJ|aFe zlIaQ_7C%a5Dtf=R_O3NF$voriopn(2?q9#Qy?0hN)RDy!l<~toy6p5!ebk+%Zq<3W z>I5d~Pecctd6cKKuC3ks#n2Bp^*tNWT)8?J9RGykKlMpZ^RS-#qwv{_-*jiF8Wmbb;FZhP&*nYFAKe9bWaZanD^k05g&?s@E`d#*8MQi zgqiEqFF9BINq6fGp)JBY=cB2Qac|6qd#eazueBO}($K>AYY)^^#OG0l_aBpskSW=_ z_{fx6H@Iu*#%DeK+5IW@R$1l)^v_-i-z$2{rY9(klHMr8`F>Bm^oj#AOon}M#_0MT zjiieB(_<{({WN;vx#TS= z@RT~W)J8uJgpW-iO>&9GNPK~PaeaNJ!$StBm(F?rUEpElVXjtNvNkWWTMoKxGdl3& zbPv3tEh!!rz9TC5zCnNFzcZN(_rcO#{){-;#YXT2A^fOKwf*_Gcl5R7I`zho>5rjD z@;h4t#ti=573`Ya5RBrh`+2(KQ^(k=O^v^wT*i3vKUs+EL)h$1vYfXR*(YQ|J58+> zy6Y>whIlshzWJHALVM%K>3fwoL$zPfof+lTIRBpYL%#}-qTDCQZ|?NrC*r^nGpn3R zFOj^g@zi`7<-Z;r$(pz?|9`+QItg@Dr<8;f?5>Tjhk3ly7GJi`w5$D8LmWKU`%}z( zsYibJ@jGFD^^ta(N0C?d&qo3$xI*tRfZI8?Zmlu(+_O=87fN;k?h0|kY}~hP9P4=R z$EcSvYG?x2%0JWA@iJ-qkfw7E-=8BQi_uoGtKF3_Sf4?ZQ<-J?#*js82ySeOs!CyGH;iEs;C12576K1aa-ND72 ztE$g2Z~2xTU)|oDBhMXkw)aMX>-FDl@0Hvjdo_h`{T+4|JNHr{A3}DMUe2tu)Kk6a zsnCwy$p%j#3+Y~f?)$`%wfsfgP2tFUShOD*(ghwduV zf$oX>VD$TQS{r@w71?_)2qwTY!+hwv(7Psb_{Yh1paW zefEl)gC`;{OFr%n{?+iO?%;dT@P5Del5`^x`Va-T;-`|4JjPivCGsl wJ>rEZT zM}XE9v+oz5`kBy><+7+H2FOvlov3&@J@0lg3Vss`l| zzf(R3yLh1Zv)Ru>pVBF6uFIazD|Q4O;t$Ah;>EQxoctP#KPvCnp~*!bpI>>1yzdCV2%7ye2&5Qq{-!0PjVj=cX?qBOob?F|t4^5lcf}pcAx-!N&M}(>4$dDV`8Z+s3UTB@*LT70>=1^k zCvNLuui1Mnw34K(?grpLxq@=W>`S+V+x5 zS@)KfPEz~S^DFYH{TO4Kqz%DgdtwA!}Z*r}}Aa{I-MIBV7TE8W3*6min? zJ6`sm=a84VDqUM^P5dEehw zibh#)v%oD}=zI&A9GPV=#<(ZAi@MF+qA%eZ5c(K!uq)3}>eTtJ>u+5u|Hgd=hD`NO z@KnK6_oUY+|Ep?Oed!nN)1J=ZqG|X7IM7*}_9C)rN<+JAeoa4;8SLDJw*mVYoxSyg zH{`KCmv_0%3lDF8jlCgsQI&nqIA}$`4}Deoh=rW-t_d7$T8kaM$mReaI+feZy}-~n zYdpu<5irg|_j5h*@gh7X1#f0-q>nUv6l9W(y0b{1*z==rQy%&H;=Cx`5i~*zE=_Yv zw3B8`vW&^owE6Mqg|dr*O_ySv{{X|9V6|Wnud(BIEP17SSK1Fr6R&mSmjjPl8=Eq; z3m#c3%kaH&jIx5=_{B_j1*b|bWnT-gXUz=#&VGz>Q~HZ0jj;!>qW=%8Q)A}p{PGZW zj<9u_JDQAPZJmNI37oYs3ZJTPv%%r};rlPq9%*-5_#AAiM|J27PJB6<;SI_m%5S#i zSJ#wJTAq71cR7Yyvy=4S$cOmkiFvwvv0$s>R8Dx-{16Td49pYhGc;GqUk_;@Cg#7J%RQpI{VZd(wtjLyyVIy@sMAMR~fk{8MYUt&zFBdJHn0l z2eecc4`JUI?0)?KA4&Mk32?2p4r7ee&iUPFvfybGQX{H$rB4RtOvIB9iZpWvxdgh? zJoki?56Sn+nKk)X3te4KJ~2L0saJI_A5>>D1>do0SCaM@;OhJyci;IorZ{t>%+0rW zy*i6Cd;D(3zCb_L7RseH>|ZmU8INJiZQ1F0-WBu{8HsP#%Zzc}+1FjHb2Ky0%wB=> zRWG$F&^d-zye@d`)593EW2@r3Cy$?I&SJoS%+yuH7AuP$sV~H*&JZ>K<7xB?>@)OV z<-~7OgdYH|;$gr-Sbo=TnvAVz`mN16vrxXv{HU?LlpnS8uvO4rMQ_f-AD4`zE-$$X zK5<>{(*{(`UmVR_IC(=vb$mW=%{E8OPy9M

    dq<6}$Z+~lf-fFj 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ਐ?l$0$ zDzN4NUURf2!J5x@^oZkq3jcXnl}?!h4C#ZBX!3%}|KhICq%*vNJ|+Htb|`*I&aMK#sUCCm0(;4jXW{n{W4r$4bC*r~ zZ0XS&J_@7Dq=OlMniCP9YOg_?xJ~2h+JjAyNkT`-vuN4kMD+ZU&Cj`U*t?yat;-$t zwpi$hS{b}|{Wa=?Wqqe!Q{G==`az4cJgt6s8F^_hbd2mzV>3|4JPYG*7RHx= zq4HX{YAKXzbNGHHFg=I(JaB6Q-==Qidrj~$=-NI&9%48#4Q{NXf!dz~o?wYj(wB3A zK^%0S(f8eKrNcpq=)NN3i;l>b36CHvjLyr18`oQ9N(G_@$E>y9e$8+@=xo0b;WkM`E&5& zpBJLQI$ZcK9c%nT^i^!6(A*`D4HWyL6IMp_{&L>wbM5{S>S7#b;NQ-xK}NZ_p;0eW+J> z2=2Y$5$A2>9Ombhm-+HjO4r!ISp;gg+C&?NIi+&*W9sKw+C-ZL-z^b8oSj~Ez0<0S zv39cUwVzTxZcj|#<7_*KZ|K{D&#hl)tRW|6t(-ba(BM_;=Uc?NFMGvD(r+MrT}jV# z!-YI|Q@8wj+g-(FNArw5@7P>f51k)W`&d7bKVZ8pe-+O!+UJh~x1D^;l@GmKpufm> zcEA08nc(w0&g!QRJI;o9j8nd7jn3E#nYDT0#J)k&?_`f*3o<8NH)@7-uKZhOt+X`= zln=eu!#}dM-D|JD=(p1+pj8oDsi(6x89(0rz}r>a4ByVHd<>Xwp&U+vw(Py{TL(_* zvSfC4I0E~v$=Oi*6}sj{XO%hIErI<0T<^4PdzQ1;kuBF>MBiIny9}PnkEU;lI$v9& zwCM=aN662XC~oTARZx6?g!ft0UypaA&sw|AbpU_iEu2%}EFYnG^c*@u`J2e2c2aM3 zyR(Y5654F@@4^069X0r00+(g9Nj$ilb>LAv3l8(A%qgsy#jy|xp0O?Z{({W)TiLjt z=RcAro&3qyuvPGXzDhaKB8C6+{(O6_o1gl02Q<-`EWhYdo>S08x*4B1`@SOF!6#$r zcJ=0pXeWPT|78zXTA-WKUHXmka-LbuDQ&84N7l?559^hef=3!WH1Cq$8;`!DUxYe) z)XhPwe5C8pd12Or*YHy^qBBW3gTJP@p+8*?Ueuf9d$+Sq->MJfwpEC0Vh==T^+D#Z zszYa}Du(GNxhE?R+!y&y66hDjD>bl&EMKbfNq?!X&)Gca)B9#N>-_1i+IXv16MR?R zanh~eko=arTk|`OQ)_KG#;vud+j1Ji%os|0MmYG-6cYp;sk7D8c?|HQvGl%wQWBy^myW;()EeheJvGywrN&>x+A^?+{h=KFi2V8Rku#j6{6>sP z;rEF-r)-#bM~N}~j@kn@Zk;}kTeckH&oQ`ww<}+i+NNxVY3+~0MGw&+ z`mQ!9u19z|JrVxGO>4i3sf_6$SgPl-I4|D?JEB#-ivJv(@2GvHuCA9Pd+1V~#i?^3 zIajeNIwEtGL@A=LbU*S{X+bWvC+0#Ua|iHvTKt0+EP&kih;T0p_lrXMS!M|TZaGM1 zz}KARiVt?3_makN<}!>C4lz~UW0midmLhh_(2e)Y2hj2oOH2G%hL*R8miP?S7uDul zc~@VPeC%&C-;FPtHh;LT%`ebq<+-pf?M{ogd`z;R&H3bos4s{fqQPOb;jkQMMXCMF zKfAr>Di0K%Gw~+R?udH^tx;ntpQy}Ue^hd z@}aAKa~88td#L+p`teAIAGH6;dD6(dN0VIJ`Y+tahKBqzievc|=k$+Y1&mvL4Y zwEl_vk~wR&e1x+*0qh4{VhqVE+|;&iU{}f8J^3YUaN5KF1N`e;H^pJZx?ZM z(ba}-DyNu*A(n1>)?FB)TehbhYVTo_WSKf$>Pt|c`jhx5Uth8u?V&@5R=-Z04PO2& z2A2_axM;7AzNzhL%4t0z>vrxs+v39-2IrtjjwO4yU_&6sUI%f4TPi={`2qgL7u}^4 z<0>BiSM+#w*Z~>v?9@FCi-Z$tR zaeuY(FNjx9*5Nkf5cJ8{(I=)&d^bTo9VF|*G1fiOGqHTc{F2U@25yoA$t(M}s=p#W z(CVBG>!7ph==LA3eBaRg;fi!i3j0NMs(+O&&T;>GGj$#_pw8|8%{tra>U`$isqnR* zm&42a>EX)JZNb=+Xbb1I>rCr4&7Z)hs562kL&Pt`lQoAo1tZ{3((ep3zd4>*Q?=Kn zzkS@o)tS3GyZwIxyQL0xa~k;=kGyV2kp;#?lAd z{p;YlA;xcd9UbB}n=|Htn*fhgc5F1i07k!s0YC3iTTdK-kN7Mf$w+8{j8-0Na@u%b zXyVSiyBU_t&5t)Z$>gv_M=0L{=GF`1crJHkFEnJ1SZ+4o>eBTt`(?XLOZBYW>GYIp z31qH`xu)XgT(3MC8jMaNgKI9;SRVNvV%tq)res&TG?|aaPmLE>4pm>i!01?Puwm}V za`H)&X5v6Y_GKrqrE0QEq+7LD0$Hdm7)`lCo|rxEF~VOUxSE^F|Kav<2L*Cu;_LAJ z%qT3X%>$xNo&^Ia9>gm)CbhXL*@80^n+1@-ky$46~1XBWyb3 zVn+KR(z$4CQknVVjy3DwPKiC7z*1XW+Jam)pYU&q=E=4_`}B?WXx%$*kJ`MyJ;kU! z`mVaQ_Z$C?Y0p@2*EqIQ?J1NiCE8=w87V)?wyW2|*B(%{^EC552fi~ND(1fsBqeKF zQ*WtjPh1zU_qUVzO$IxxPqaLH8F(Yp%oj4JW+mV3N3w9#_IW40G4}GndlXOPOLpj6 zn)lNNc!+(Vc0h|E;3nA=zK$nds`0I}HgVMJ#@0_d?YlJ3ksN7`=p$o-!TC^;ZB3su zvVtxkrUU=fwISns>oDPoJ%^9d*k+=cV&`a2n4o_3^_tdaveEs^W}NbX1w7S%n600R zP2GxJ(wL<3FR5sG9Wxg)R0-Yx2;kA{g7ZSO({m+z{5 zT{s}CTGRR9jI_>o7k?^eoc_Mh=|tXWpXerADdm?d1@0a1FFjc~l2|aw6LutPpL|13 zvGFtgr7Z@}wcse*N$+XOOOL5;);+NQ8Fzq-t!wNu_F@~_sUFQooyo{GYmD-HNcOeX z$b6yoV&p=&U4zcO(}x%QPk2j`I3@H7w#A)=&f4|-ZsJ$s*WZD!pFA_^8=^BlsLXQc za|ZT|Ex6n`>Yl2?w?clR&R?rlY1F`OYPj_Jz05~^#$1_&mNr$x96TTIJabH zgzePX4t%Xsq;hkEbpG*Rd9Jh8mG8vQfjw{vu?753rhb>X=MQMZHR20(i+0}wpON4) z2s(_ixEu!_-v*EMSC4n*&3>1&?n}&oui@-2erNJC^YI*G6tw&&%RBL4-!MnM?8+^R zBRzJ^QLh_4r#ZIrPF7y%tUQ`mDqXfLx`(j@d!=Y?`vQIn<<&UtEY;bKt+MBZqss0E zuIzdA$$js#GN$>G<`1&v1?w%8R~e`0K)HC%t32w*@jSrj|D1sxx`oKz7cTqkdMoFI zAp(rI%s0`q+hcoPxD2Cz%6H8CbwipxRgHxu@L+y`GxR>EBz-bh`$0FTKI!Pg>hR@# zq;v&v!anK}T;ZGcqISmks+{}`F^qop;K`<%n!^VQzOu~|dG=PfJz0@0!`RF?D4b`7 zBSkylKVjPc6S48aSs%_YS@RZ*W#$8;H03O2T{Y5~o?V%OL8%%i@j>+K)Tw74_MF74FbK!u@)D zGC@*fMU217uN;8C%1Wn*&c?q{GBK=X4Khv_?)du*Y>m4u^pV&H%eb2njAgB_@8&$V zKJ^jB;_TmhRfd0FXYDnOSH*nwH0Y{53z@FPfn*}teO2Igf57OtQRr9MGtKyM1yeCL z&78j`dm>GHTX>co0F5*2CU4`riSf-W(-{}wC_b3A?LrA#%iImFJ|SJ*RQ;wBQga(EGVB7=;J@SJsSmvwWkH4O5j@-A?6?#RP-tYm#R zJ&-H7>iY zkuTw^?GcW$e}%K)JSG_+kL=h4-<6gEUw20|7N2}L{V?BE+w%|LE~|sfe$}LWAcFIS zI@r70{vP%McrTh2t^FYX&S5=~KWC`35}N>zHAacsGRNyMus{l(`V|Tyy`-3 zkJo-Im6IG88;<#_6VRUv;FN z=M?rD;Va#2&aF;5n|mGBv15C$xzRQ9;Pk9Cd$N+$!CfutQ;eP5PmqmhO&>fy!QNZh zhzUn}2wAcGPC1YC>V9>7lT1y2>D;O>xuUNoZp0oe0JD`gm1N&6;^Wfd|HVQV4nduhI)2{jPPO@%#Py1wrf85X+CD3p6Z{Fl zHRGNi$*15*CnI-#?&{9!^lt+jxbvZn4==DcE00lUqjw5>VItQZnJ%zxAYKf09fjsdFB9A4a<-fXm|d=q_x&SzMaHCGO+s zj{UeSc{!S&$;L_?g%6!Ff6*8Z&RTy+jlZk5ui3#DH%segTbdptj$*F#!#vGFGjHQ8 z)TUG0Dk~ES;sfBD*Iv`v_os1AYU9+q%=mVbcnJSwd${Nh?5+;=^`2wcKm4|~;P%O5 zgE1rIccL9fEuH zba4uc)4+E54Ks65+a~Q}77v#W;Ne@Ki(5ozBdyx3yAoPowSAw&?Yp-d8^b6&L z>oJLI>8H`SB|SUng-Fk;jxShTB?H1$^SD7bMzoS%*FAiV==H|J8P!qLCAxfteV6gL z6zlYi)o1nNlKQoHCLR3wMUn2n4|v}fhD7~ddRum}^fCRqRe7}roSEi8QxpG%8BlJ1 z3OH(C;$m>2?GX*4_Fo1r!YOa-CoagqQJn=_CwnOFQ+yS+MOfh9uN&h;dyQdcjAIOw zzBD=-n9}$E$rvF0tvX~E#QOU?#@5c0F8Y2NSvo*p>24n#BAs8cGO6zxqm=eGaFtzf zFg#Sh#?n})DZlXe@geZ&6dus(U}I^FLk~ElefJGCm2Yie{i-vIOsKwB{u0R#x~x_7 zG40kE4?e38fy+C@gM2J=2d9bPJ$SG`^t4gT&a2lR@*ORqd&+ngMrSC~Kb#WWjk+a8a(f^)CRG0!sk z1bRi~55$aOtM-X*D)Sj=AUOcnVfYbSKV{{B`0wc6)FO61y3?Wk)(3uIef#>(+UcT6 zDPJ9p?8<&qU26Bo&6y<8Tou2JY&Hl5li zyY3h8?_hS_Rca@7M|wB%az``$yifercwlUM(ls~JobqFnBHV6zOXTYZcO!4{x6jyg`8eJx znwGj0|JgTqxfA|~f8F0Cz4?KXyZZ;c-;dw4A30nYkJAN%d)S12Xf?EC4a8yITO=Ky z2=bV8azPS$n|kHDif#IAKI(@l#x2oMyj}(k8~o>(_eN_@rhgq(4(E9IaiNiek1i=X zza!GWF8aHP*fKLGLza-a)+WZ`<&0q}yM=x&TPlW=t%LJ>@Ri-sjvrzbzbx&tHa~mC zz!TW1+?d)&=o=~Qd&wSS8SS{MwgC8ypXMBwEPY6^LgVaw)1~bR=t4gaIb&5aDSMQ= z1MrzoXKxh$Gwm1<$$T{583%227xF0JYn|Y6E3@)*imxNfox|ZZcThQfid#vRmT}+0 z`PjnFYMs5Mxx^q3UpM6&%hZK0eY?hT=z{&2QTiFYOQtmr>-{u+rycmr%=>$IS09k< ziO(}%I=4D4o=02#sykkgJ^ZCJ4By=R0X@553ObhGHT-n;(@b=&cq_dl9ps}gzG3%D z$i9)BEJ!V?MSAzM>{$(x>K8Xbi!@_qKeRRTe_%-WPDRJ=gKvT>o=SJeI%O(4FORpXIfeY(Ej~&l$X0^I45A^ilcSRZmla{BzdS7I2P~`oBy2gwJkZ%CD-l z1`qs56KzhQpEe+a%fN96x( z9;>sT4yNxuZuhDDPv)_ow`JpbthuW!)-^u;sBmCxmpmk)lja6DfQ#&Z$yqE9n#XEx z@SyryAs*Wg%w6`+1@H?C*8AiWKu-_qqMv`ObGYKt)fcW(I^~odhen0keTEi=XANuI#_Y|r_!AE{O=De%L+aci2Tsrs=xGx3whGJWA4Ra38 zI1h?mDo*e~i~S#;m&-JvujZyKYG! zUzuj^=EL7hTsQ6Q>8xF)^Ec3|jZSCH>A9;mJo^lM<=m#MIZr#IwypS_7o@ZftJlpeF6Vjn(%CTK&w*f_H)Nn&N5rvGU@v_AE4+M+Z#N+~jllugIULz(V)OcKpYyuVX`J(g4))|EZ(%z<>PV-kk=Vh5&wNg*$ zjlZi#UBS@f6V*(Hwqxna~%1{H1>RuaTJ^O@9Jett_)-B)7<7q ze?muK|H=nEaBg$?A#nJH#UX>N#s0e3XX!I;3HG-H*N^mgJeL;je|EFGTYfsTMhqT_ z9P&{tR~~0AJX(*P)2u#*Up~p2ZllUX`z1?(#sU0G9fJzoDdV4S_L9hs&{#2nb#CM` zd_=O$`@aLv*#2IGLyw6oz}F9c#^=v}*IQT%M+PRzZewok;@6nOPqAM-o47L4?Z4(H zGn-A!Lu}u5(SJ&Fs;=5mMla9~)*+hlgO9wO`dyuoRnXZWtXW{IXpKTXa^Wlgv}~5) z(0EYpVfN4ftFW}D??x{F8+G0AChPh$G#FTyY@Piw*@H}CXQ+RruqmX&#UIJBP#1U zdefy+@NMjG&42jjDpp7KU+kOGJWsqng*+OkpmFB-2J8spAXJyex%hs~zDP{tI>E z;0x%Ycs=)p{o|nSifEQx7o_t!Thx;*upR*Y8na8#r_zm^dyUVTJgTd6KwXNPQu;5| zMr`49_vYS5NmJRsenDyZa1-s(*!JJiFV|QeN*3esNIZO9wl^^UEB(^NxTSSjGj1|B zSL}jxnwx{St@x%`Ym%NxTe}87R+7GI&Y3cEp&bW!v)9UvzN=kj;lQ|to@h;6W$ahv zl6#Z*rnwOPyfR!mh&=cqTTOl5ZDu^duaMDu6YFJ7tSNRSoL~)msFW95zcqpVC>Twg zg(P^KZBa8ZA$)&7_1D8X9eL7vRbw|ljbVjo>>pghhAE1dPTx;7egjYZ*Se&8^^)p4 zEu1EBZUisJNA6vARu85=*#qwJ$axp{bgqPd_FZE}LwC8dgf!u`n6pDZq+xXZ_wPrFIOIh-zwAOtYA&Lvo;U9%5J#D%AWiWw*Q9ko;wgOjcn2! zbjx!uvXw39#vTa9Z^m9@XF%r+Iz;jlpQ}ZT7V}Q+KV>f?{aE7)ch&0dvDH^LIXXAA zFEhmKCp}*8^5JEr%cyIn^}%bsM&%uJc$V^G2ca8SW6`r>NhcE1Al<@#q>-cSw|IZ; zja^aSV(dmN%gu56b2c5g8w6MBht-ueIKb2S>JQ-3b7KSty^*9$>wMax`o$~R>vu37 zM*2RA)zn=s`c}#=3?HW~_~Dx>pM>3J<~5p^*6#&LLpSv~*|bUExgDL=c~h3vI9H>3 z9l9r;FRCu(9Yr7aR!_C-hu8}nG@ny_ zsg^aSFE!2KY_82~YHL{6aSPEJ&uwWpSaZaLAn7kZ=o*dI34WZ8_@cSE#v_e8CcYf{ z3eJjGqrT4kpS>5lvjx0z{E)FR$c$uEcQu?G(JOQ~3qgCZL|1o;)}>g}g@@8R{m>q} zH*5oD?0-_9h;5YB78ltlaZDWT58ZsZQWPG*Y>@m?M*Z`in<5#SiVWRq%kr#wRd^No zO&|8rv9=CW#n9aR9X(MxUXJ)R-uPIwuuCxWNT zye;!?;0b5>6LtTso)ueR;xgC^#M(;VIAVOp^$_QSzH~U>LH$*8j+EDyb~T6LpL6Nc zviGha-fP;46P+uFH%8~0^Ij8zNvylhB%@5t z91|8t^a}V=78vz7>b%;N6P-V+Hbw7(8R2!s*mNkI-{s{D-dWDP(YJNkP0?NH+CN#q zZ#DgH_RKK%h3{FruQt-(?2iQpm-0I6SbdYYjL?~Sj=2|VFYV0peVwN>Y|kfc6??vy z5N>~782Hh?j5NGl=RY%yeLBO;ULe-^MO&BlCp~lkef^d-*8VHP3-Zeco#gu^*glMN zW^bkX@5R;@O3?4)If>TTl~>5Se z^@BB*YK-jUjKK)b{n~$0ifpxcCJuaVNV}8Hw6l}khn2<-%iwqEi+OcF{?%AE8ZAE# zydU6)>q9%*9-rH-am3B3&0V!4{)o?2-&xbnA_w~B@a^k=*th$u{8F?}`z#LoBl=Tu zTF|Pga7RshI0e%!Lrb-RJ&HQd37>j}3D5B@rOxVh?(Iu>mj_Pv%kZDG>NxkSv4kHW z|MhB;J^b>eE~ftIydciy@#Lpj6lCdZ(7H8-hd=q02*(cUrSId7>j@X8$NarZuYmJV{D?M-KAd)Z6(lT}|yp}B@J}XY!*eHcAVrB4) ziB7p7bU2F?J;685E6TdnuV_3iN4ho(jdebe&JMutBL+?ImSP8LT!S|FbaW3!vb>@q zS$DEaYnqejEHs^6rWgmt7-IZrlYAdMn|%u9vd+ioOE3?{_FnC9*Y_3oJK>k4d(B?q zWoAD-?UuiEbt5tL@B2V>=f+6lKb2qm53dNC_Tcl_dpaL$l<=nfMC?^V z1MtQ#)2Fh6fl+SSIhuAw=dX8G|M}0Pq1zt^hT65=eT4b$YuJ@tlnPc zPQnikMb2k&M(3tr--kXFj=mil=7TWB9aD-CNpsKC5d2r}e=IlU|DEy~V&T4L+j}ML zon6=7Z(7_wsI=U&+C9AAOBwNCq-_g6rjENw-$`F=`8YqXtF~-vI!yl4X(s+t{Y-a{ z*!UIv%&X`N(RsS+f74$%(El_(D(x@**w31ms_)b9;W2k!w43u=M-sEDF(l!$*9-ol z=PKu1{Z~UH@@=9|ZX)l)zsrn0RE>7s*dMF@itd_54wP z-5=A^l*5*lZZ61%XTM-xXCRzM>>zu}3_c4-Xw6#ZYcz32M2hnVntC+8f*<4e4Zq*F z+xPA^`wSfBLuxZ^N;aZrTXezpgcqSv z4`sYdg9dmQ_3`Dw2=Hto-S|p@YtHN^#>>sN1;l&?I@eq0I*50oCF=lNBqMJ#@5c5) zUq-k{7e#zsMxSRL6TDR4$h`DPTOgUKehismUds0!Ys4pqI#q9vc*Pu@_9-uZ#Nc%*wswDxW6dTfuMqHpAXiTe05=^yFETUi$>c|c zhqc`V&vBO3IPcNuQNca&sJ|Ltx@6+b@*-Eqi_;Fmi!snFXL*4hME}eVb!SXWKjM^* zKNyeZ(=Y3Jq%(#UhgZ)d&K23uqcl8H+l=2}e}7(7Yj237(iot5nvMQ zbNH#WPxHn1(LU+eQFn=0cBiOPk?0s5@0?t8K_{s&FT|!GU`B zuk;Eq3JEb`oh$fithryFU^RhtO>r)71v)ud^wuGww9TrDVtCAL>;d#&_~2Xyv^LTD5?u zUq>s!Zg>;0|L`erL;hnPAB+$36C61J_70Uhh#VO|Aas575OC%16Msd=CgASNM?Np5 z*Yo#=H^JX~EDryOzhAO>4#i)!P5iAGJl@FP)88b2pQh}=_`BYFsv=~A zcHPf!Grw*8M4vqQN80@L^-0%F<=gKpY-~1DSK{2LE{#>H>oVJxfqGK#RgdaZz1Vn_ ze&)!6jBtNs>XeD)A9R4(o(rQF@MGoAM8Z+}bMuq!;CJC2yKG+Qn^B$5)O{CDYMarG z1>&42f5jXpe2hGd1%3J#jD^5Z*@t*P2i&FOgx8henr6PKZ<=T6-k&iR7p1KyzholP zGY8gYqz8qg{#C#5(ET-@a~tDV!Q4+SdTu~IAN00X+#%RxLuNNSJ;XNjl#>`WnMBiU zb5DxSbRWXIVt~Zw=ROhfbRZAc6%VA#X1_@L-mETz|7OiOwu6vsS99n+CvHRjv8lZB zCf6%J<2u*rndT5b<*<4AXhvp>iCQj^;Ug<`CpEZedDH+#&+7ivBiEXDo)(2L9@Y)Dx z;+Xf_8qmFO12!!5387OnhFh~@fpu1KpQVNRlKSdp2583qAKD%M<;LwZEMZ(M&Yi6`&uuPd3~0Mb>_2SEf+6)>J%v z5gu#7;Db)%%yiAul}?(AeB*z}X#GNEq&pgcp;#`-U7Rm2OWrq>#V2gaD!f~6J#1s6phrgi zLq3`wo5mV$yl>c?cQeVv4#=K1_w6E^*U{%A+fMSPG5*)5qc3y0&_~YBz*mdxRpsmd z!h5+JmhW-jlYN#bn6bsx9*7%>>0DotX~fDvAY7!Q)8Tp z`>o1MuxAu7IAu(H3b0(BV>>ur-*cT$%XiY6DpGg;j-6wu*HeA;OV!ap+e{t!8{bJC zHPM8$eoGVDxgVx{6~b+p{T2!?c|UA*5PLx~TGvanE}Ens&BdgHd*(-NtslFjBkxD& zX7lY;>C8!%f9QbLkvZ9ya}-Nv?&F%^J!kq0KK9o2W1hn&um1GYU#bs{!;idv_#+#Q zKFi`0%?8b7_@?rj2g|8`ksvgX}^-U?UJ zPQk%v1DVTaf45|BFF!N3*j-`Xrq`~-iPrmbBu>x^)}Zoq5Kr=Y>lDvfjZvhC3N*l z(fuQ~e?ZIqHiYQ99{v8eS=%btWksWzA-9lGaRdqh1CnZf6zwJG`-z611ueNXef5nE4riTh~PdV$)k_+Hr`v@hHS zT%{>~RR7AOKCON%nyN2roo5Dp`Ke#i@BMN(jlMaR-xPj6zX|-t>t}Vy+%xV@f6?Wv zHRhM`-m;~N&9iA!No%obb8MRKhZ$WRHjT99=g}9O z#nlU;llsF2{Cm8g$NyCLFZsR!I!|N1A^({0{tWLv`(R!~PVtK%gR{datPOks{!IJy z-8J943!2?k%W-GIv;y;RkF_P}H#L7(ZA#Z&HTjGFjd{VhZGXOxa>K1mdBx7eeBPZ> zIlKbc=+K&1!e5WfC%dsp;J>+V!kJyY3_MP;<=mXsOYn(yUtIkc(xqRXw!C-+{h;&f z;cdm}DL+X1;Hwy^oQEHQdPezU%sQOL53N^kwSI^aFx6-OWZyr>yXf?aeZPix#c%!A zzJG#uok`AMV(5M;?^)jIeCD0?vsU#h(d>KRHJ|6Cr#%tvoQth7Jo1;lI`;0`HH?>{ zx$2AIJwf@Ktjs*Z^W*F(5l?z}-uv~YSUmZPvhvy;MZ$+N(D!-LQ=?x!yAHDlHO_ajOBTeebzZu*blUOY3;2%vuBC3tRpf4OA>yztFk;JQ@Ra?ilwF$iJvqnT&8?os{$YJ9q6sE;z@3*A#CJ z`dDMaWhKVFHelVx|4Oa>thcbR?+p#u+uQ0EFQ_VpzNHw^>Ii73`gV{eyi@#-qHHWb z3ss+`>$iB8+-(Hzg?2B~xt324l6JQJ{zIOp+vo4|e5!r^9?$Qz&)qy@TN!xY=J}`G z>mu0q@%#h({7s&}W1qDj^PBehYdqg=pTElU9rpPvJa^gWJ9+M~&$sj3W}jE^e4~B- z63+{GZovjo-M8|74eyQcQ1tl$_-S177?;fawukdf$U7x3`%LGOai&flA3|Pn=}uk^Q+wJOFWTAL&|bR+{Wc}vUTdXaFVI+c1o{!47k%yp=!^QCY|+?m6O0z8 z9KK_B)W4;NUK9WM&ycU^tg8J*<=`83Kv<-X$mTs@n+nF64bE=aqg5BGJrmoqn&;&T(b-tSJAv%W-jEG4#V^i|x~F>@@1u90A>izmql>%1L7Vli<=C`^FVR=@jro^Lye` zQOu{#&PZnQ_c(Xe-tp-J@l1L@j(638@51EKdc~N!JbFLc=3zYCAV0roWnu++W*x7l zc*>9bbuVzZJCJADNLK;zu7!l?nL<8YY~6gXREcT3~Bpu zG_lm+Z_4?jYhO!P*p}a-6Ee0V###8EYx7_y-`8tlqwmdK47bPSsW-6S#J^8P|Al{ij+@SK8|o}aMuTV2Ydf;oe{VZ+Q7|;0uBP*gf^2rS?8GqZooCj5 z68Mmu?B<%woJcV)x|2vatigw@IZi)yC=Nq3r|p|kJ>`w)l`X{4F=w5vx!{hb{MO!7 zaZw=Id)q9@@_FIOg~gnSuy}=2c(kVPy4zAX=o{%(zAw^Q(y78jz01L$v2}}R(r@ec z{aiJ^^AI_{4V-SfRB6m7b?4;;PHu(Lrq`vNOd2rSg#RAxugOiXnzNgrk@}?UYw(WR zQY03sT;AAFirPazW6$Kp^3m*QaGvc=aPA3vf_FPz(AU{fV=SjXSfl!65N9U3`* zjD3;S-&?%*U{_|K*B<0W^1;}%rIB}Z)DDMpfqihMZtRz+U+zI3;&k~f&=VEKiz2g; zZtw-;`Cid92~9Up{~+o|&zXCxp-DwBTwu=y_Vv!}W_${*{D-_ZCyJ#+qHsonxoJi| z73HI!p<|@KXEmpC6N!b2{G;+$DQ-sNh3uuQ<$?GQJu*&?xj4S3q;wGPe-yl2KX%kB zaaybRD}Lg$>TuyBb9?G4>wZ*Q=S<=(s84ZYtP#K?H`%kbH|agqtF>s|LCObWlV*qV zdkKd4C>Z+pp{sn@itR)fx#+oTR zieXHapmmq}@~S}dWyyw{=e}3&5Y>H;jUF-#{qOpy`sw+?0b8V;EOLgZbh30B^mow@ zjVDm|Dby=}6gZf)ZD%^W@hOB3aL`j3wL!W>I5sh^1n7krH>E#z1bq#-j2|xaWj^Ng zxx?wRV}@17G>r}t*`8sp_smZD6D(~^ta8N5na$>&=rV1J>6?Sb*iiC!I3?Qa(f^=v z<08QvSsgQKe2^$@9F}x0GG{erz*9PF{PmpEGjwR!IG^*C%KLuVFqb`Fr#ide!q4%R zR1#;FD`Vy^u4HoU$U$Vc=nTOa4|rSYccF0>dJ$6~U#-)F?Dw2gy(y>rMCXLaT8C4D zE(Pk$!Gk<=fTH+En|t;|dGX~8M)u%w$Et>f!5t$;2gJCsw_-{4iA%m_&VSj<3<3wF&TCKKk$w+E$JwX1fUO<5(K#1%J>De0%k{bg1w1&(b)o zK2mr_>>_jn($cDyV`WN|w z{o{f551fUp97lcfZvz9}G}D~@tMbCn!KdT*oL0RlFPfYeHeFV}je1v4S6YvB;k@u< z@3a*O(xG>UJ0SlcZ+X|j^0ODJ%kZLSR@Frhm^SmD^fvaIxH05~_B5+MCeT6HQS?de zH7qx4ZhUE7{g1rp3?I-a2^r=}miq8L&sM@6tNlHt8Gj zSkmXu^G$ndHEuVu*MNRt`b45wuJ|Ql&CA$zJ*-(ct9H4$Gpj@CI~v!quiGYq>mdL3 z3jZ0md^R{MOo#6|+UkNkWh(0#D;C)PkQ5x}ia_h9@bwhYD+eu$ zc3kNqugcH2`OziV8dn60i>BYKKCDox7RfV6Z71J{Z9c|n@VkONx#yX4DxCaBf*jvP zAI;s$`Z`}C}KgyM#+wyUlWt2&`&ZsJnYx6up9=!`c z<-6I|BV0eP{G^WtSMjx=KGON)U2o+*#dv|AqOX-aC$%zT5h-zCTH+bNsn zehSXj*{3xOaG($D_ig+RnkbLz*o#kDus_pFzV3W=wHb3S2>%!P-CqGe_+oWy`Dc~> z@}rfQpZC#s1vBMz*1k$UoewU%DO0*L;8>M#NY}px3EHbZ0q*EJY!M$Dk@Hqspp(|A z9LjQb7ADvE;jO^X-aN@x(rpVIm-FA=i5!8?jlw7RaxEJW!#=pPI*NFnzn;uD#(#}< z^HhHiddp+(0GY`g%63wKDG_tL`%hziwDAUFR>ZlerfAZgv39!@+mB8Dse-xG%!bb;5IS#ADG+X|nylE!yE% zF?yDLT!JSbZ~Q$8Bd>cud7z8ieJl4gMf7Q5zM{LEx*3xP=OURE&NqOw>d{!JdcJJn zmyN$#?f#V7WOZ9G$H&{JhEw`r%_w0>~dT7IH3 zk9XZyeuL7%UwF(VZxWbONmE?1i5F+SWBN}4e2d6}Kd$ye?wl5`P99xt@Zdb*T-n9` z+221jE-BVHRe}cPc0-Qh7^j{V^9Qt{_l$@Zm#M9m7So_b6YI~S#gE`gefhZq z%0F+*&mw)0EkA+sTQ&YtUOxZ&@@Ebx|EMj08tG}u%a1sUF>w{;p=0=!0p+I-DE|Xn z{=~Za*-N*2uC4!8%FF(U`J{Cz!zXm$b;$HMBx8T8os^N%KFFnwwJN} zRen49y~yv^{ABmYuMz2Qj-;}46_h9knGO?Ma)q)23}D?J=8%FWltoA#IaQQyY?XIIZQ|gZ5k8<~vFIflZ5XT1MIf zHZ8{KdeXja(_)9+?H-#J<8&rzU$trY*9@LhNs~?y{hzgI<4Id()3(~Q zk)(aeru~OaYb341rm2n4XFuKh(PM4)TinKgv@h7SxQ$y$`l97NW0Re#ceE+Rk_h!BwXTQbtUPsy(n-Airo!)==CA6!@e zJiay9Z*l$Ske0A%asAUsdwoXK*0}x&r0ub3as8u6`-4r3>(_YjTbnkp{#Vhpz4jY; zB^~?+Mz?)}*ld1H{IdK;@*Bm^<2Rn)1b$QaP31R@Uyk1le&_I;!*4FXdHf3euHbhK zzXklR=XVpo62EqS%lIwl*TruYzh766b?)SU4ZnN&t>t$=zixi(_^s#nAio}doB2J# zZ!5oT{I>IZkzc@XC%;|%e$B6+->dxg@Y~DJ`6TmpevSGu4m8~E?$-LjLhQ|Afi>D5 z?35gK1h$J=ufS#*>U^2?ip9GaU%p4|;|BSj@WtRW*PLrxukP-Z?^3apL$itMm@y@M z3?#RQa ztG}P4uujmohOu;6wzK-7oqR9lt0w|)IkxIDGseyi^*%I{SG?l!>U&+-Ppim({E5gX z`H7)u)je&3vkDt@nTOq+d$OWAz=T><=X~-g{Z8O&U-uQNBd0NZPIxKLE&0gb^D^T& z{k3u@c?IhQ`>r|5FL-XDEe#$%VQ3}0a5-}%)%yUrui{_$Nv|9UZW@PvXxn!m-(@@e zJMWrr3;)+9gMThx)!t+ANA{q6vv*?8YEB%tM=>?8i8jDy&fj`xo>;ETc_Fq}tIli? z+-`8wzi<}r-{w8(0TVp8H$GYEzBF2c6a0F(J1tz%IEFik=d`E!Tm)}5u(q$|o_M8! z%aF6#d%|A*c%Q!DX`jC8?k_)C`MF@yE|}FST+*DGh+m;KhPTAx`mdHYmy=(#`h+`2sY3zFxP=X>Ol?_jpg zGlM)X?;o=7xw(Wa0m2+-aVP)+zCoHNq<%x@C9-r-5$+-$E+517hQagEw zEibTNHs4OXb$hMFYv+4A-`j!1+!eVoYuWheBp=L`oBJDtBfQV^E3@WME+@4na02zq z26aoNU?TGj*C{3R4IQ0%hka*$Qqf*#r;GIo|E#Lk73Cv7Mt)LDk9Es?mCeUCU^Q^q2TB9^FMeb=3)=K@Wa;^r!aqB?{3$@*llJ z2c;iQAJ+dkQ)W5zEmy_`+6#!kAWxj9?gv6{6$d;H9?Di{evoN_AJPfx_nPacm}6hC z)ZIM}8H;GnJq?tV43FQ+oDyE>c@k%1$p=6mtfVNLB8KGOh|y3ScoSoRnGYy7-|IoA zZnXP{XN6|1XyY?AcjhxSe0~}6QtODSOKTfVg=c!x`6a=pS^G#ApXqHXZt6`JHt|n7 z`Q>j;mA3YNrtrI84kB-3;n*Nm*x0MN4Y6igQ|@p!ZUX+MTD&&&hWotA2Iny8NB2~@ z>``FNhO@SyW6}Dumb3n$JqUO=|1&gU z4z0LkbidJiuFiU+Ov*1;eqwx1oE68s+^iYrs3RYZjmZMf$_FiV?&J5AH@_4fP(HV$ zCcoQ%RpuK9DP!hlUOCKRn?UQzOQ)fiz37}N@$tQqdA|Qh=}zRwjpt)o$~+aNhuBW7 zN`LG_$2!~j39i;b1ykj}W%9{inAchLnXc(t?=-%|O>~WCR954t{*B+8a_#h2bEXG0 zh~|#07o(Txv#s&j8;a+5!E@T=yKB%soI0AbA=n3ZBlV^1+RRw;w-=%qt4~p{#xroL zNUlGxe3PS?-z0r-7dkKAJFfni1jlid|IuhCjN`FIbFFFR=_4uk!>G z*cVWj@x$1hY^QdjOY%4yu5JfO~Lq+`GK`Si>2_a5uaJqO#ah;4WJvHSOR zY5n0&$qzar30>;U3>LkVs+a9@0*4L?g8ly~%PP{IUJP(na^`JLcOEz}xL+!!P(?(Ut&6^OUdLAA| zJfc~XR~r%=p9r0vMZ}IoV}a?v(Bi>dga`enQMyWY@^toYc#NykH%H<}=I*^a1Yh{E zrq)4TGj0--6232G_S8IxmiW4n>d!f8iYbptJtJb6z=sdL2`C4l?a$wF9XPnadknmLA-%+RT zlhAY8Ulcg=Pp^HGcIf>kaB3vqmn~kAJY5kC_TOh{i68wG<&!UsJ{m5!`H%_fJCF}r z9?u=Sf!d?|qJi?4Z2s*=_mJP*;gqjD!<~%E|MYI#+H-HL~}e(j#ft|C4Ep^0MxOjyo^(RK|aHf4X3#2f%pzAHYyM`Z?pn zj87`ZyYw*kU~10rjLRCd`YP|u!_ApEI#WgVEV4n{2YJW~bkO_D=B$vY|NH3O9lVc^ z_-f$x*t0}pJ5}X>Y5S^t3-}WH0(5O7^)>l--=5ccn%maZ-jj}T^t-?AU(f%yfB!$~I26ut8{_}~*KHk$M_h0GFZmWeumA>!h;p+?>wBBNnK@`kRp#tsQdqdy#%tVjL++ z4>C_Kv;K(8#pmYfY&7BpIwXf?EzUzeyND4$z8cHiC&oD7c)y^ZX#eZ^x@&Ls+w|;h zK7xA)h7+qeoc`UK=)R>o#JiI9OyV-SZh877d@Zi?i<;}*Qq_9mrP*B7_i|<&k)9b0 z4ECS3sr}PQkK=5xlR6yl1@fO(ReX}h9og)P%Q=ug+Mlbq9AZd2v?p{K=NLNR?l>=? zXFF@{yz34F%_S4~b_9PMFa>WE;}~(^9sbbhEKzq@De#BgRx@Xaibk}zsf)EJ-7`xp zCN_1Sd6zxU`v%_iEy)?y=8S66=6Pu$MUL{#ROfr_3 zIep9v=@gBH(hUvp-~#D~(i?byzAa<>5<8e>T;-5at?d$BpAk=FYrcbj-4Ee;Ui6&rA$a(RMYcBEH44N5@uezglyZTcJSfpJ?*#!NOb+;{P>Ws@@KziD5 zCq{|6rgwVnRLbdD-#>5qV?H!vh2p^co)Joai1d`P^P+pM@DVUJMRusZyNuz2t3Ir8 zbq>!BG*YoTDeMJg0lOudFQXewT%huuO+L*}v<53U=TVRHVvF{<-uq0N`ugz$aDIyK zr;?^Q0dtZa!UdZu(*O*?JIl7?dHOr+5N5yhh=G?};yu$AEMRUDJikb`z(-_t;K(r`lG2o-yDebj)0h0mr|MXX2_d8cTXD z9g)e_lG7SCmNz%huM=)@skt8~RfcZJLt|H8?+~@edA^n?Eemw^Y07_z`PbqqdGW_@ zVITHOwFLh<$J{lseoL#eL&s28B1<{;#!BZM&HJT2r&s;*=_X$FhO)+pi)h!pXiUML zjbr-dOS`mZde!%*o4m14?m*t@`|~y$T?M}2)7TaEayMGl@i-rWv(OxGYc0Y5kH9VE zBOlQFMANPi|IDV^J9$=HR7Ux}dkDT<_J4^lKS%x##uxb?#g~PaFU&3Q$DM83sQ8Fe zXrn)gv5&aq}=HqYw-G3+hGh$nwsI6lk?7CstHvFDtzuvv9sX88T;jQ$E#w7YP{>{LQ zGoK^YP5Y29*ED$XQ6&3|^b7x>@zE-=m5ZS}>?;fy+&u^P<_Z=|~7$1a-eXMwL=GPsK zCt}Zf^i|e25@X7hu}3eeBu^CGJ4x%TJ<7StTfHY4FIEIS@4W{*kNUwu<@%jX<}Ps8 zSyq)zbC0FfCuxtHUs@Hu(G{4;0APlwf^| zI*y?1KhszKJT|&ZM7|c?2Q}&;_Q-2&%0+gu+qJd#Ecy~-6=T<$UBf=XT3vB-Z=xGq zOVF*{&br1D=vNDbxWZH3~{m#5TqxBWxo1`t86D-g-@YWmv zInRg|I-C6*m)OP6Me7Y({|{}xUy>(K9|gLc_0c}fpVlPD2CR>ExZdy4-`Wd5 z3%}rL)gp5p&B@Lj%{tn0;wJsT*l){x$< zwy{%Yj6;6t|Dn@;XU*-BtwejkO=l{nz)y0mySK8mT|8}v2xhnnjV<~q$ zcLq&eVaDv4)~A>x(eb#tcBlm4K+tCg`9x zh=2;xxl5LtT)o+ViDamV+o&^hiR(BnEkVExIElm&8I-E76p1&^my9|yj0^d_Kc}ja z<_Q=jBnCj(_@+_CMjEvVl!Lo>Be}W157>tZO+m5 zQvH&;ZWw}78}$Tc$A%$vTOY$C9>T!;c?-M*mf-&Bq?ghy2fWR|yK@NLZja&J4m{-f zplFwRC*v|`r}}3qQ^N*j45eWx_$~ZJe5m0^od;W3(G`A`JVR-@Vn|zF5!XSq%!2dJ zV%}fIchQn~gu!-jNND}f@&8MekN@bEBmb5E(fI#`@&6TZeN+$e!Y5y*9;1iQo%O^W zs)J~tdMI!GW$N;|A@pS&+#!0HvQ~74@&&cx?#8&KX@@gOJAwa+>@wpp$u8tp>Mw~i z(b!->w7;+^TyzFoW?`3^N4H)2Pru<&Ba_5yl3O|C)=$O1l36YCYB%4Kcj5Cm?|CPZ zcaqn77v3f0g!by@yjbJ&#l9ZAZ{bAi8Lk(&7QStwwV7)l*8<*47r#_)J;zyck`0>2 z7Y$}XvsSsJGw$^LvY2l&v0TDGV&sy>m@g-ncE@myT%umX!CiLTR`AwcyrFM4gKA7a>wl@xAm$H2LF2+qurz~2bDpQ9lycqLzv^E+4_3*``tvcrd*WD?=oj(6A);v%LoeL*^*bm=jdDpY*r}trt z_M-2W1@98RE5Z!G>@r97q%D@FVW zY+CGJ()Y9B1^FFU89Y`5pXQD)$iEDloJ-lV0VRh`tOsT4z4r(n%b3SD`1|i+9Ao^T z;Hfm{kmfz)7oNgh-)6StBbH9})|%Am@)aw->NLLPYS*(*#tq*55%LFhd-Bi87iN5O z#qRy@1pgWFH}TMu;vp-Fi&5Rj-bnlnbvF69n-~G^CO>ymckbhm(SjqoD7|cA(YXeW zx;Gd<=-ba&YbSr4`liyE_TesG5#G7d^V6SB$@S|Fh&%nX*lUe-@wU zj27In!v=H3_j~^}OZ8jCJToz@*n1HVE{ph}-o0P@#17>H$ri0igf}}r0i5|GdYWGq zzoUnQXM?iECtK<7S>bnGgrBJc__cxGH;3TY27Z|q{FvVc9=uv*j+|%OF-T}C8t0IW zqM>Lqj%VFP%Y=?^i0ODc;|6`}8A8Vlx=VRfU(tJ0j5B)H$o5b19?_=a+fLPVfxJC(bC_NW2rLnZTM2DpKnn=jlD$s zsfldC*4ADemdjY(bvK!Pl-%Aa@{=N0I+$!WefQtNb>$~ae2QA0zt8)YA%*aOS z^z=>bwd{0g$v5%r&v@7O<*GB^^!xxY^TN{sC#zfghZwo{jg2Me z9`xC+OugIKPi1gY|I=9TF7jxsu6NVF9b|lIEj-&7-oZc3AGQGb`(jJ=cCuFJ)be4Ful?c2kgU>px*aG?%=pq;g5(eO3KWV-Y zzINzOR_Q6~0xg+yrjLyN2>WmC$Aotmz)OcjTa^pn z>ib=B`~BC8QTyqi@;uj)PVILou;ItS_I~l^<-y>KM|o3ul;-Dg9`WQbhgc}yHHH)J z^WPKgzdICX=`_j7zW{#mB=kuMyudx9{WJKU!>=X%mqH%?n0@oagJn}s&Y1&ez0c)6 zJG>IG=kk~4e=2G>*)qcGYv3@2`iS3@c414sl;#A%isy*h`&}Dex1WIaN_(;?=L-Km zcst@pvo|XIwOldP#(t2j{sb@+`$6v?(Nr`yX^I2RasXkhhs?_ZzA*LaR~uzT#$IL!Zu+W?1H zzQ+H5<^K&W|Nkxie<5_z*}%mLm+T(mQMaGwNIOfNgX(dNHc^=KY#`7tFR6yG8I4yX8UPsNR%`USx0bxUZZ8y=24u zf$>>Fvj>5tGCxZmwdd*Zo8H|RhVoAn?dCx{Y!Fih|7CyNLz-6mNcP9R7TDM>gQd*< zVIS$Hv9>X)=S9u?W4cjxeggk{1SkIAW?j_0C;s0+uHcU`_=zUsZ?pCry@ziVUBkGJ zyc$be4L49Mr0iYR@OXLjmObYJV@nmWQ&Nqc`=1cpQl9F_7AK7?s1+Hj56MVAAu<_0#&C9jr&OaUQ6}{KA(EB{m%B3Ft;Drotqh1mJ zU*UiAPltC&4vA*zdd&B3w~1%J4H(9zrhflTziF+*plB82e(B9jQ)b=q~+r6F3gF8)|&B zW4UVdB=53EUKh(&jd?E8H`?L@f0Cc|a(`Iu`Vw=IXJX%!9{tndIm5}X_AZn5ElP_X zCPpQ1*Kcp4XJ;83tWN9@v6SDZ4u}7wu`26623#Ba+jfDg{3XUDqVFHn_5+pXBEH+T zb!Kiv-zAfu;-As^)ri0J?MbCCEpI|E>^+Tvmyedtl*}yu>F`$Uz-YWdoAyw)@_Yrm zJ?~)8DsQFIJcqLWai$e)CXP{OOnpK7Q($Xeqx7T`exlE}l%D$iIL2A@c~Rde_awe) zp8(N@*oHYjjLT9Su*&*jT-JEf>8ugz@Apy8Sn8&-WaB~)|4Kt2>;;#&2k688r5%^? z?eS+%HuDX#`NuHVFoA0-SB@*HH*0{{LuuJBu>H%7RTR@wflk;QHv5m!0A?Jp?3b~R zfqjQk!xsm{(an*5V9$l-0dOq17nwf!UT_oMjDHb1uPRMTs=Bo zTO6makv^F#wS_bGI(hy7z(1l`GUB81tYb3%%q+NkOgI#^u5(+6|FI*@H`Vhd>NdvM zSi}}qx9nG36C1QJ9$ms%278M&2TDgA*v2-;U8%X*u~+squNO^#rC2Hbm%I_oCFo%r zexTDaUlx6DXr9}O)_HWtvV1Rda>|pm&l2D%Uiim+Z;coJIdzk+Mz;+L-aS8y-~%uH z9QF7%-;a)WSxW%z;BONjWcI`=%XW--T>e|p+0c!C^;OC;bYpCk&@NjNU$aKZ;E5f@ z`KiCB9IbOz9pLl9muqwFE7IELZxFqaA>>h;=Udyko4A56vVXCB(eRk9`QBf)TL)=7 zv)AhO_@C@Vo#*khcI~%^jRfvyO%r@(bS8D%2YuB4NNf7B)>qiodQ*0!=mvd*ex)hB zmpNY6q@fEmp4UIof1>sZVr(kkv-GrNm-xO*d8!rdW0qH3{+%yVj_Dr`woUOm?-BNl z79RK%Mhk}-$e%;Bh4!MtK&Lvme@I%1O$&Pv>7l1GVQf z&`jlD8rMN_DydpDr!V<*Yy4g9$h&=W{H``)FH++V8ZOv%jY*LMs!vI}yNV4~Zl+16 zm`LG6tlHDIvm~@@%#D!d48Flj;A&#@46GMs9fkEDJPVG-67bEgq%NY<|5Cb2ROUgR zZKtOxn>*!HS*z*#yY=6S);D|$-6Q|fMZb*YU&#$Fcz0iOKJ(a`AIdanW3Q)qA@L%a z()uW_h`Zg7?BSkLJC;7VPvbeg&nDJqp!8$<-1^Wti?brQmU8{Y(-B?81LG7oMEUTC ze`TgG9Qm%k=7q%8q^%7H3Y4k&#Y^~}BF)!|KQ!&%xrh92rHRqOI<1cdmg}YS)a6>_ zfsO1{oRMIx$VBtPIxkW4AWMEqKJ+^AK^;ra+Qu0fOM>>QyOMdttrt-w6b28iop{!HH-%0JDrE|$Jb#$n6FBhYv>Fa`TW zV2PjL;|}|@zUIKppTLWw17fi|P9crbD&1(ML(fnT{5gMRVn4L^lk}+SGn~5p#>h9; zh_rlr27di@{Qc)V3)UZZM{yV?j*7gyfRoUId743``OfF9;5Ve}<^7L0v)2Mw6fdpy zx0f1!r^@~oy5)OTq}$InJdCU=(Z4yvL^7IwkUz3s7kM?I0na+Cn&ax?-OhcoRdk

    46GTDL<^r_Wh{fw$tOuPQ5DQe%%;Yj+A#<%(4 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%0D_H=&qYT+V&4R}(e54?l+Yyy+8^ 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
    O<Z9s08k=Ud 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 z

    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 diff --git a/package/ctcgfw/luci-app-xunlei/root/app/xunlei/portal b/package/ctcgfw/luci-app-xunlei/root/app/xunlei/portal deleted file mode 100755 index 7651b1a9278751f3c85081ce8ed85c304a658710..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203396 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≻n}xwb`UT;NxF%&SJw-uw;a@NWFC@$C(4UB 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

    d)mA}@aCyU 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 diff --git a/package/ctcgfw/luci-app-xunlei/root/etc/config/xunlei b/package/ctcgfw/luci-app-xunlei/root/etc/config/xunlei deleted file mode 100644 index 181ed73b60..0000000000 --- a/package/ctcgfw/luci-app-xunlei/root/etc/config/xunlei +++ /dev/null @@ -1,10 +0,0 @@ - -config xunlei 'config' - option device '/mnt/sda1' - option up '0' - option xware 'Xware_mipseb_32_uclibc.tar.gz' - option url 'http://dl.lazyzhu.com/file/Thunder/Xware' - option file '/app' - option vod '1' - option enable '0' - diff --git a/package/ctcgfw/luci-app-xunlei/root/etc/init.d/xunlei b/package/ctcgfw/luci-app-xunlei/root/etc/init.d/xunlei deleted file mode 100755 index b0aa473a59..0000000000 --- a/package/ctcgfw/luci-app-xunlei/root/etc/init.d/xunlei +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh /etc/rc.common -START=99 - -start() { - config_load "xunlei" - - config_get enable config enable 0 - config_get device config device - config_get up config up 0 - config_get file config file - - device=$(uci get xunlei.config.device) - file=$(uci get xunlei.config.file) - vod=$(uci get xunlei.config.vod) - mountpoint="`mount | grep "$device" | awk '{print $3;exit}'`" - - rm -f /tmp/etc/thunder_mounts.cfg - rm -f /tmp/etc/etm.cfg - rm -f /tmp/etc/download.cfg - - path1="$file/xunlei/cfg/thunder_mounts.cfg" - path2="$file/xunlei/cfg/etm.cfg" - path3="$file/xunlei/cfg/download.cfg" - - [ "$up" -eq 1 ] && /etc/xware/xlup && /etc/xware/cfg - [ "$vod" -eq 1 ] && rm -f $file/xunlei/lib/vod_httpserver - [ "$vod" -eq 1 ] && rm -f $file/xunlei/vod_httpserver - - [ "$enable" -eq 0 ] && exit 0 - - ln -s "$path1" /tmp/etc/thunder_mounts.cfg - ln -s "$path2" /tmp/etc/etm.cfg - ln -s "$path3" /tmp/etc/download.cfg - - $file/xunlei/portal - sleep 3 - renice -n 19 $(pidof EmbedThunderManager) -} - -stop() { - file=$(uci get xunlei.config.file) - $file/xunlei/portal -s -} - -restart() { - stop - sleep 1 - start -} diff --git a/package/ctcgfw/luci-app-xunlei/root/etc/uci-defaults/luci-xunlei b/package/ctcgfw/luci-app-xunlei/root/etc/uci-defaults/luci-xunlei deleted file mode 100755 index 3d2c0c992c..0000000000 --- a/package/ctcgfw/luci-app-xunlei/root/etc/uci-defaults/luci-xunlei +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@xunlei[-1] - add ucitrack xunlei - set ucitrack.@xunlei[-1].init=xunlei - commit ucitrack -EOF - -rm -f /tmp/luci-indexcahe -exit 0 diff --git a/package/ctcgfw/luci-app-xunlei/root/etc/xware/cfg b/package/ctcgfw/luci-app-xunlei/root/etc/xware/cfg deleted file mode 100755 index 9b76849061..0000000000 --- a/package/ctcgfw/luci-app-xunlei/root/etc/xware/cfg +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh /etc/rc.common - -device=$(uci get xunlei.config.device) -file=$(uci get xunlei.config.file) -mountpoint="`mount | grep "$device" | awk '{print $3;exit}'`" - -[ -f "$file/xunlei/cfg/thunder_mounts.cfg" ] && cfg="$file/xunlei/cfg/thunder_mounts.cfg" -[ ! -f "$cfg" ] && { - cfg="/$file/xunlei/cfg/thunder_mounts.cfg" - -cat > "$cfg" << EOF -avaliable_mount_path_pattern -{ -$mountpoint -} - -EOF - } diff --git a/package/ctcgfw/luci-app-xunlei/root/etc/xware/xlatest b/package/ctcgfw/luci-app-xunlei/root/etc/xware/xlatest deleted file mode 100755 index 9c76c5876f..0000000000 --- a/package/ctcgfw/luci-app-xunlei/root/etc/xware/xlatest +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh /etc/rc.common - -VERSION=`wget -qO- http://dl.lazyzhu.com/file/Thunder/Xware/latest` -sleep 3 && killall wget -xl_configfile="/tmp/etc/xlver" -[ ! -f "$xl_configfile" ] && touch "$xl_configfile" -cat > "$xl_configfile" << EOF -$VERSION -EOF - diff --git a/package/ctcgfw/luci-app-xunlei/root/etc/xware/xlup b/package/ctcgfw/luci-app-xunlei/root/etc/xware/xlup deleted file mode 100755 index ca2745539f..0000000000 --- a/package/ctcgfw/luci-app-xunlei/root/etc/xware/xlup +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh /etc/rc.common - -device=$(uci get xunlei.config.device) -file=$(uci get xunlei.config.file) -mountpoint="`mount | grep "$device" | awk '{print $3;exit}'`" -DIR=$file/xunlei -$DIR/portal -s -sleep 1 -mkdir -p ${DIR}/cfg -cd ${DIR} -FILES=$(uci get xunlei.config.xware) -ver=$(uci get xunlei.config.ver) -url=$(uci get xunlei.config.url) -zversion=$(uci get xunlei.config.zversion) -VERSION=$(wget --no-check-certificate -O- ${url}/latest) - -{ - if [ "$zversion" -eq 1 ];then - wget --no-check-certificate ${url}/${ver}/${FILES} - else - wget --no-check-certificate ${url}/${VERSION}/${FILES} - fi -} - -{ -xl_configfile="/tmp/etc/xlver" -[ ! -f "$xl_configfile" ] && touch "$xl_configfile" - -cat > "$xl_configfile" << EOF -$VERSION -EOF -} - -rm -rf $DIR/portal && rm -rf $DIR/lib && tar zxvf ${FILES} -chmod +x $DIR/* && chmod +x $DIR/lib/* -rm -rf ${FILES} -rm -rf $file/xunlei/cfg/thunder_mounts.cfg>> /dev/null 2>&1 -uci set xunlei.config.up=0>> /dev/null 2>&1 -uci commit 2>&1 > /dev/null -vod=$(uci get xunlei.config.vod) -[ "$vod" -eq 1 ] && rm -f "$file"/xunlei/vod_httpserver -[ "$vod" -eq 1 ] && rm -f "$file"/xunlei/lib/vod_httpserver -sleep 3 && killall wget diff --git a/package/ctcgfw/luci-app-xunlei/root/usr/share/rpcd/acl.d/luci-app-xunlei.json b/package/ctcgfw/luci-app-xunlei/root/usr/share/rpcd/acl.d/luci-app-xunlei.json deleted file mode 100644 index b44b901ba1..0000000000 --- a/package/ctcgfw/luci-app-xunlei/root/usr/share/rpcd/acl.d/luci-app-xunlei.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-xunlei": { - "description": "Grant UCI access for luci-app-xunlei", - "read": { - "uci": [ "xunlei" ] - }, - "write": { - "uci": [ "xunlei" ] - } - } -} diff --git a/package/ctcgfw/luci-proto-minieap/Makefile b/package/ctcgfw/luci-proto-minieap/Makefile deleted file mode 100644 index f1e0a1f1da..0000000000 --- a/package/ctcgfw/luci-proto-minieap/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-proto-minieap -PKG_VERSION:=2.1 -PKG_RELEASE:=1 -PKG_MAINTAINER:=Richard Yu -PKG_LICENSE:=GPLv3 -PKG_LICENSE_FILES:=LICENSE - -LUCI_TITLE:=LuCI support for MiniEAP -LUCI_DEPENDS:= -LUCI_PKGARCH:=all - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-proto-minieap/htdocs/luci-static/resources/protocol/minieap.js b/package/ctcgfw/luci-proto-minieap/htdocs/luci-static/resources/protocol/minieap.js deleted file mode 100644 index 78aeeee7a5..0000000000 --- a/package/ctcgfw/luci-proto-minieap/htdocs/luci-static/resources/protocol/minieap.js +++ /dev/null @@ -1,102 +0,0 @@ -'use strict'; -'require form'; -'require network'; - -network.registerErrorCode('MISSING_USER_OR_PASS', _('Missing username or password')); -network.registerErrorCode('EXIT_FAILURE', _('Program exited with failure. See system log for more information.')); - -return network.registerProtocol('minieap', { - getI18n: function() { - return _('MiniEAP client'); - }, - - getOpkgPackage: function() { - return 'minieap'; - }, - - renderFormOptions: function(s) { - var dev = this.getL2Device() || this.getDevice(), o; - - // remove firewall tab, add rjv3 tab - try { - s.tab('rjv3', _('RJv3 Plugin Settings'), null); - s.tab_names.splice(2, 0, s.tab_names.pop()); - } catch (e) {} - - o = s.taboption('general', form.Value, 'username', _('Username')); - - o = s.taboption('general', form.Value, 'password', _('Password')); - o.password = true; - - o = s.taboption('general', form.DynamicList, 'module', _('Packet plugins')); - o.rmempty = true; - o.datatype = 'list(string)'; - o.value('rjv3', 'rjv3'); - o.value('printer', 'printer'); - - o = s.taboption('advanced', form.Value, 'max_fail', _('Max fail')); - o.datatype = 'uinteger'; - o.placeholder = '3'; - - o = s.taboption('advanced', form.Value, 'max_retries', _('Max retries')); - o.datatype = 'uinteger'; - o.placeholder = '3'; - - o = s.taboption('advanced', form.Flag, 'no_auto_reauth', _('No auto reauth')); - - o = s.taboption('advanced', form.Value, 'wait_after_fail', _('Wait after fail')); - o.datatype = 'uinteger'; - o.placeholder = '30'; - - o = s.taboption('advanced', form.Value, 'stage_timeout', _('Stage timeout')); - o.datatype = 'uinteger'; - o.placeholder = '5'; - - o = s.taboption('advanced', form.Value, 'auth_round', _('Auth Round')); - o.datatype = 'uinteger'; - o.placeholder = '1'; - - o = s.taboption('advanced', form.Value, 'log_file', _('Log file')); - o.placeholder = '/var/log/minieap.log'; - - // rjv3 plugin - o = s.taboption('rjv3', form.Value, 'heartbeat', _('Heartbeat interval')); - o.datatype = 'uinteger'; - o.placeholder = '60'; - - o = s.taboption('rjv3', form.ListValue, 'eap_bcast_addr', _('EAP broadcast address')); - o.value(0, _('Standard')); // BROADCAST_STANDARD - o.value(1, _('RJ private')); // BROADCAST_RJ - // o.value(2, _('BROADCAST_CER')); // BROADCAST_CER - - o = s.taboption('rjv3', form.ListValue, 'dhcp_type', _('DHCP type')); - o.value(0, _('Disabled')); // DHCP_NONE - o.value(1, _('Double Auth')); // DHCP_DOUBLE_AUTH - o.value(2, _('DHCP After Auth')); // DHCP_AFTER_AUTH - o.value(3, _('DHCP Before Auth')); // DHCP_BEFORE_AUTH - - o = s.taboption('rjv3', form.DynamicList, 'rj_option', _('RJ option')); - o.rmempty = true; - o.placeholder = ':[:r]'; - - o = s.taboption('rjv3', form.Value, 'service', _('Service name')); - o.placeholder = 'internet'; - - o = s.taboption('rjv3', form.Value, 'version_str', _('Version string')); - o.placeholder = 'RG-SU For Linux V1.0'; - - o = s.taboption('rjv3', form.Value, 'dhcp_script', _('DHCP script')); - - o = s.taboption('rjv3', form.Value, 'fake_dns1', _('Fake DNS 1')); - o.datatype = 'ip4addr'; - - o = s.taboption('rjv3', form.Value, 'fake_dns2', _('Fake DNS 2')); - o.datatype = 'ip4addr'; - - o = s.taboption('rjv3', form.Value, 'fake_serial', _('Fake HDD serial')); - - o = s.taboption('rjv3', form.Value, 'max_dhcp_count', _('Max DHCP count')); - o.datatype = 'uinteger'; - o.placeholder = '3'; - } -}); diff --git a/package/ctcgfw/luci-proto-minieap/po/templates/minieap.pot b/package/ctcgfw/luci-proto-minieap/po/templates/minieap.pot deleted file mode 100644 index 028bd27f0a..0000000000 --- a/package/ctcgfw/luci-proto-minieap/po/templates/minieap.pot +++ /dev/null @@ -1,95 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -msgid "Auth Round" -msgstr "" - -msgid "DHCP After Auth" -msgstr "" - -msgid "DHCP Before Auth" -msgstr "" - -msgid "DHCP script" -msgstr "" - -msgid "DHCP type" -msgstr "" - -msgid "Disabled" -msgstr "" - -msgid "Double Auth" -msgstr "" - -msgid "EAP broadcast address" -msgstr "" - -msgid "Fake DNS 1" -msgstr "" - -msgid "Fake DNS 2" -msgstr "" - -msgid "Fake HDD serial" -msgstr "" - -msgid "Heartbeat interval" -msgstr "" - -msgid "Log file" -msgstr "" - -msgid "Max DHCP count" -msgstr "" - -msgid "Max fail" -msgstr "" - -msgid "Max retries" -msgstr "" - -msgid "MiniEAP client" -msgstr "" - -msgid "Missing username or password" -msgstr "" - -msgid "No auto reauth" -msgstr "" - -msgid "Packet plugins" -msgstr "" - -msgid "Password" -msgstr "" - -msgid "Program exited with failure. See system log for more information." -msgstr "" - -msgid "RJ option" -msgstr "" - -msgid "RJ private" -msgstr "" - -msgid "RJv3 Plugin Settings" -msgstr "" - -msgid "Service name" -msgstr "" - -msgid "Stage timeout" -msgstr "" - -msgid "Standard" -msgstr "" - -msgid "Username" -msgstr "" - -msgid "Version string" -msgstr "" - -msgid "Wait after fail" -msgstr "" diff --git a/package/ctcgfw/luci-proto-minieap/po/zh_Hans/minieap.po b/package/ctcgfw/luci-proto-minieap/po/zh_Hans/minieap.po deleted file mode 100644 index 95b6526a23..0000000000 --- a/package/ctcgfw/luci-proto-minieap/po/zh_Hans/minieap.po +++ /dev/null @@ -1,95 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -msgid "Auth Round" -msgstr "认证次数" - -msgid "DHCP After Auth" -msgstr "认证后 DHCP" - -msgid "DHCP Before Auth" -msgstr "认证前 DHCP" - -msgid "DHCP script" -msgstr "DHCP 脚本" - -msgid "DHCP type" -msgstr "DHCP 方式" - -msgid "Disabled" -msgstr "禁用" - -msgid "Double Auth" -msgstr "二次认证" - -msgid "EAP broadcast address" -msgstr "EAP 广播地址" - -msgid "Fake DNS 1" -msgstr "自定义主 DNS 地址" - -msgid "Fake DNS 2" -msgstr "自定义次 DNS 地址" - -msgid "Fake HDD serial" -msgstr "自定义硬盘序列号" - -msgid "Heartbeat interval" -msgstr "心跳间隔" - -msgid "Log file" -msgstr "日志文件" - -msgid "Max DHCP count" -msgstr "最大 DHCP 次数" - -msgid "Max fail" -msgstr "最大失败次数" - -msgid "Max retries" -msgstr "最大重试次数" - -msgid "MiniEAP client" -msgstr "MiniEAP 客户端" - -msgid "Missing username or password" -msgstr "用户名或密码为空" - -msgid "No auto reauth" -msgstr "不自动重新认证" - -msgid "Packet plugins" -msgstr "数据包插件" - -msgid "Password" -msgstr "密码" - -msgid "Program exited with failure. See system log for more information." -msgstr "程序出错退出。查看系统日志获取更多信息。" - -msgid "RJ option" -msgstr "锐捷选项" - -msgid "RJ private" -msgstr "锐捷私有" - -msgid "RJv3 Plugin Settings" -msgstr "RJv3 插件设置" - -msgid "Service name" -msgstr "服务名称" - -msgid "Stage timeout" -msgstr "阶段超时" - -msgid "Standard" -msgstr "标准" - -msgid "Username" -msgstr "用户名" - -msgid "Version string" -msgstr "版本字符串" - -msgid "Wait after fail" -msgstr "失败后等待时间" diff --git a/package/ctcgfw/luci-proto-minieap/root/lib/netifd/minieap.script b/package/ctcgfw/luci-proto-minieap/root/lib/netifd/minieap.script deleted file mode 100755 index e691fe42e9..0000000000 --- a/package/ctcgfw/luci-proto-minieap/root/lib/netifd/minieap.script +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -[ -z "$INTERFACE" ] && echo "Error: should be run by minieap" && exit 1 - -. /lib/netifd/netifd-proto.sh - -proto_init_update "*" 1 -proto_send_update "$INTERFACE" diff --git a/package/ctcgfw/luci-proto-minieap/root/lib/netifd/proto/minieap.sh b/package/ctcgfw/luci-proto-minieap/root/lib/netifd/proto/minieap.sh deleted file mode 100755 index 0ec662cd60..0000000000 --- a/package/ctcgfw/luci-proto-minieap/root/lib/netifd/proto/minieap.sh +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/sh - -. /lib/functions.sh -. /lib/functions/network.sh -. ../netifd-proto.sh -init_proto "$@" - -append_setting() { - local s="$1" - [ -n "$s" ] && \ - echo "$s" >>"$config_file" -} - -append_setting_list() { - [ -n "$1" ] && append_setting "$3=$1" -} - -proto_minieap_init_config() { - lasterror=1 - - proto_config_add_string username - proto_config_add_string password - #proto_config_add_string nic - proto_config_add_array 'module:list(string)' - #proto_config_add_int daemonize #=0 - #proto_config_add_string if_impl #=sockraw - proto_config_add_int max_fail - proto_config_add_int max_retries - proto_config_add_boolean no_auto_reauth - proto_config_add_int wait_after_fail - proto_config_add_int stage_timeout - #proto_config_add_string proxy_lan_iface - proto_config_add_int auth_round - #proto_config_add_string pid_file #=none - proto_config_add_string log_file - #proto_config_add_string script #=/lib/netifd/minieap.script - - #rjv3 plugin - proto_config_add_int heartbeat - proto_config_add_int eap_bcast_addr - proto_config_add_int dhcp_type - proto_config_add_array 'rj_option:list(string)' - proto_config_add_string service - proto_config_add_string version_str - proto_config_add_string dhcp_script - proto_config_add_string 'fake_dns1:ip4addr' - proto_config_add_string 'fake_dns2:ip4addr' - proto_config_add_string fake_serial - proto_config_add_int max_dhcp_count -} - -proto_minieap_setup() { - local config="$1" - local iface="$2" - - local username password module max_fail max_retries no_auto_reauth wait_after_fail stage_timeout auth_round log_file heartbeat eap_bcast_addr dhcp_type rj_option service version_str dhcp_script fake_dns1 fake_dns2 fake_serial max_dhcp_count - json_get_vars username password max_fail max_retries no_auto_reauth wait_after_fail stage_timeout auth_round log_file heartbeat eap_bcast_addr dhcp_type service version_str dhcp_script fake_dns1 fake_dns2 fake_serial max_dhcp_count - - [ -z "$username" -o -z "$password" ] && { - echo "minieap: Missing username or password." >&2 - proto_notify_error "$config" "MISSING_USER_OR_PASS" - proto_block_restart "$config" - return - } - - config_dir='/var/etc/minieap' - config_file="${config_dir}/${config}.conf" - - [ -d $config_dir ] || { - mkdir -p $config_dir - chmod 0755 $config_dir - } - >$config_file - - append_setting "username=$username" - append_setting "password=$password" - append_setting "nic=$iface" - json_for_each_item append_setting_list module module - append_setting "daemonize=0" - append_setting "if-impl=sockraw" - append_setting ${max_fail:+max-fail=$max_fail} - append_setting ${max_retries:+max-retries=$max_retries} - append_setting ${no_auto_reauth:+no-auto-reauth=$no_auto_reauth} - append_setting ${wait_after_fail:+wait-after-fail=$wait_after_fail} - append_setting ${stage_timeout:+stage-timeout=$stage_timeout} - append_setting ${auth_round:+auth-round=$auth_round} - append_setting "pid-file=none" - append_setting ${log_file:+log-file="$log_file"} - append_setting "script=/lib/netifd/minieap.script" - - append_setting ${heartbeat:+heartbeat=$heartbeat} - append_setting ${eap_bcast_addr:+eap-bcast-addr=$eap_bcast_addr} - append_setting ${dhcp_type:+dhcp-type=$dhcp_type} - json_for_each_item append_setting_list rj_option 'rj-option' - append_setting ${service:+service="$service"} - append_setting ${version_str:+version-str="$version_str"} - append_setting ${fake_dns1:+fake-dns1=$fake_dns1} - append_setting ${fake_dns2:+fake-dns2=$fake_dns2} - append_setting ${fake_serial:+fake-serial="$fake_serial"} - append_setting ${max_dhcp_count:+max-dhcp-count=$max_dhcp_count} - - network_is_up wan || (echo "wan is not ready, sleep 10s." >&2; sleep 10) - - proto_export "INTERFACE=$config" - proto_run_command "$config" minieap --conf-file "$config_file" -} - -proto_minieap_teardown() { - local interface="$1" - - [ ${ERROR:-0} -ne 0 ] && { - echo "minieap: Program exited with code $ERROR." >&2 - proto_notify_error "$interface" "EXIT_FAILURE" - proto_block_restart "$interface" - } - - proto_kill_command "$interface" -} - -add_protocol minieap diff --git a/package/ctcgfw/luci-theme-argon/Makefile b/package/ctcgfw/luci-theme-argon/Makefile deleted file mode 100644 index 3727e8d981..0000000000 --- a/package/ctcgfw/luci-theme-argon/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# -# Copyright (C) 2008-2019 Jerrykuku -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=Argon Theme -LUCI_DEPENDS:= -PKG_VERSION:=2.2.7 -PKG_RELEASE:=20210318 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/background/README.md b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/background/README.md deleted file mode 100644 index 918c45243d..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/background/README.md +++ /dev/null @@ -1,2 +0,0 @@ -Drop background here! -accept jpg png gif and mp4 diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/cascade.css b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/cascade.css deleted file mode 100644 index 8ebe0a27ec..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/cascade.css +++ /dev/null @@ -1,3288 +0,0 @@ -/** - * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template - * - * luci-theme-argon - * Copyright 2020 Jerrykuku - * - * Have a bug? Please create an issue here on GitHub! - * https://github.com/jerrykuku/luci-theme-argon/issues - * - * luci-theme-material: - * Copyright 2015 Lutty Yang - * https://github.com/LuttyYang/luci-theme-material/ - * - * Agron Theme - * https://demos.creative-tim.com/argon-dashboard/index.html - * - * Login background - * https://unsplash.com/ - * Font generate by Icomoon - * - * Licensed to the public under the Apache License 2.0 - */ -/* - * Include base and custom css - */ -@import url("fonts.css?v=3"); -@import url("pure-min.css?v=1"); -:root { - --primary: #5e72e4; - --dark-primary: #483d8b; - --main-color: #09c; - --header-bg: #09c; - --header-color: #fff; - --bar-bg: #5e72e4; - --menu-bg-color: #fff; - --menu-color: #5f6368; - --menu-color-hover: #202124; - --main-menu-color: #202124; - --submenu-bg-hover: #d4d4d4; - --submenu-bg-hover-active: #09c; - --blue: #5e72e4; - --indigo: #5603ad; - --purple: #8965e0; - --pink: #f3a4b5; - --red: #f5365c; - --orange: #fb6340; - --yellow: #ffd600; - --green: #2dce89; - --teal: #11cdef; - --cyan: #2bffc6; - --gray: #8898aa; - --gray-dark: #32325d; - --light: #ced4da; - --lighter: #e9ecef; - --secondary: #f7fafc; - --success: #2dce89; - --info: #11cdef; - --warning: #fb6340; - --danger: #f5365c; - --light: #adb5bd; - --dark: #212529; - --default: #172b4d; - --white: #fff; - --neutral: #fff; - --darker: black; - --background-color: #f4f5f7; - --login-form-bg-color: rgba(244, 245, 247, 0.8); - --breakpoint-xs: 0; - --breakpoint-sm: 576px; - --breakpoint-md: 768px; - --breakpoint-lg: 992px; - --breakpoint-xl: 1200px; - --blur-radius: 10px; - --blur-opacity: 0.5; - --blur-radius-dark: 10px; - --blur-opacity-dark: 0.5; - --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; - --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; -} -html, -body { - margin: 0px; - padding: 0px; - height: 100%; - font-size: 16px; - font-family: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; - font-family: var(--font-family-sans-serif); -} -html { - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} -body { - font-size: 0.875rem; - background-color: #f4f5f7; - background-color: var(--background-color); - color: #32325d; - color: var(--gray-dark); -} -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} -::selection { - background-color: #5e72e4; - background-color: var(--primary); - color: #ffffff; - color: var(--white); -} -a:link, -a:visited, -a:active { - color: #5e72e4; - color: var(--primary); - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -li { - list-style-type: none; -} -.table { - position: relative; - display: table; -} -.tr { - display: table-row; -} -.thead { - display: table-header-group; -} -.tbody { - display: table-row-group; -} -.tfoot { - display: table-footer-group; -} -.td, -.th { - line-height: normal; - display: table-cell; - padding: 0.5em; - text-align: center; - vertical-align: middle; -} -.th { - font-weight: bold; - white-space: nowrap; -} -.tr.placeholder { - height: 4em; -} -.tr.placeholder > .td { - line-height: 3; - position: absolute; - right: 0; - bottom: 0; - left: 0; - padding: 0.4rem 0 !important; - text-align: center !important; - background: inherit; -} -.td[width="33%"] { - padding: 1.1em 1.5rem; -} -.table[width="33%"], -.th[width="33%"], -.td[width="33%"] { - width: 33%; -} -.table[width="100%"], -.th[width="100%"], -.td[width="100%"] { - width: 100%; -} -.col-1 { - flex: 1 1 30px !important; -} -.col-2 { - flex: 2 2 60px !important; -} -.col-3 { - flex: 3 3 90px !important; -} -.col-4 { - flex: 4 4 120px !important; -} -.col-5 { - flex: 5 5 150px !important; -} -.col-6 { - flex: 6 6 180px !important; -} -.col-7 { - flex: 7 7 210px !important; -} -.col-8 { - flex: 8 8 240px !important; -} -.col-9 { - flex: 9 9 270px !important; -} -.col-10 { - flex: 10 10 300px !important; -} -* { - box-sizing: border-box; - margin: 0; - padding: 0; -} -.h1, -.h2, -.h3, -.h4, -.h5, -.h6, -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: inherit; - font-weight: normal; - line-height: 1.1 !important; - color: inherit; -} -select { - padding: 0.36rem 0.8rem; - color: #555; - border: thin solid #ccc; - background-color: #fff; - background-image: none; -} -.btn, -button, -select, -input, -.cbi-dropdown { - line-height: 1.5rem; - padding: 0.5rem 0.75rem; - margin: 0.25rem 0.1rem; - color: #8898aa; - border: 1px solid #dee2e6; - border-radius: 0.25rem; - outline: 0; - background-image: none; - box-shadow: none; - transition: box-shadow 0.15s ease; -} -select, -.cbi-dropdown { - width: inherit; - cursor: default; -} -select:not([multiple="multiple"]):focus, -input:not(.cbi-button):focus, -.cbi-dropdown:focus { - border-color: #5e72e4; - border-color: var(--primary); - box-shadow: 0 3px 9px rgba(50, 50, 9, 0), 3px 4px 8px rgba(94, 114, 228, 0.1); -} -.cbi-dropdown, -select[multiple="multiple"] { - height: auto; -} -pre { - overflow: auto; -} -code { - font-size: 1rem; - font-size-adjust: 0.35; - padding: 1px 3px; - color: #101010; - border-radius: 2px; - background: #ddd; -} -abbr { - cursor: help; - text-decoration: underline; - color: #5e72e4; - color: var(--primary); -} -hr { - margin: 1rem 0; - opacity: 0.1; - border-color: #eee; -} -/*********************** -* -* Login Page -* -***************************/ -.login-page { - height: 100%; -} -.login-page .video { - position: absolute; - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - background-color: #000; - background-color: var(--darker); - overflow: hidden; -} -.login-page .video video { - width: 100%; - height: auto; -} -.login-page .volume-control { - position: fixed; - right: 1rem; - top: 1rem; - width: 1.5rem; - height: 1.5rem; - z-index: 5000; - cursor: pointer; - background-size: contain; - background-image: url(../img/volume_high.svg); -} -.login-page .volume-control.mute { - background-image: url(../img/volume_off.svg); -} -.login-page .main-bg { - position: absolute; - width: 100%; - height: 100%; - left: 0; - top: 0; - background-image: url(../img/blank.png); - background-repeat: no-repeat; - background-position: center; - background-size: cover; - transition: all 0.5s; -} -.login-page .login-container { - height: 100%; - margin-left: 4.5rem; - position: absolute; - top: 0px; - display: flex; - flex-direction: column; - -webkit-box-pack: center; - justify-content: center; - align-items: flex-start; - min-height: 100%; - z-index: 2; - width: 420px; - box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 35px -5px; - margin-left: 5%; - background: transparent; -} -.login-page .login-container .login-form { - display: flex; - flex-direction: column; - -webkit-box-align: center; - align-items: center; - position: absolute; - top: 0px; - width: 100%; - min-height: 100%; - max-width: 420px; - background-color: #fff; - background-color: var(--white); -} -.login-page .login-container .login-form .brand { - display: flex; - -webkit-box-align: center; - align-items: center; - margin: 50px auto 100px 50px; - color: #525461; - color: var(--default); -} -.login-page .login-container .login-form .brand .icon { - width: 50px; - height: auto; - margin-right: 25px; -} -.login-page .login-container .login-form .brand .brand-text { - font-size: 1.25rem; - font-weight: 700; - font-family: "TypoGraphica"; -} -.login-page .login-container .login-form .brand:hover { - text-decoration: none; -} -.login-page .login-container .login-form .form-login { - width: 100%; - padding: 20px 50px; - box-sizing: border-box; -} -.login-page .login-container .login-form .form-login .errorbox { - text-align: center; - color: #fb6340; - color: var(--warning); - padding-bottom: 2rem; -} -.login-page .login-container .login-form .form-login .input-group { - margin-bottom: 1.25rem; - position: relative; -} -.login-page .login-container .login-form .form-login .input-group::before { - font-family: 'argon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - color: #525461; - color: var(--default); - font-size: 1.5rem; - position: absolute; - z-index: 100; - left: 10px; - top: 10px; -} -.login-page .login-container .login-form .form-login .input-group .border { - position: absolute; - width: 100%; - height: 1px; - bottom: 0; - border-bottom: 1px #5e72e4 solid; - border-bottom: 1px var(--primary) solid; - transform: scaleX(0); - transition: transform 0.3s; -} -.login-page .login-container .login-form .form-login .input-group input { - font-size: 1rem; - line-height: 1.5em; - display: block; - width: 100%; - padding: 0.5rem 0.75rem 0.5rem 3rem; - margin: 0.825rem 0; - box-sizing: border-box; - transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); - color: #525461; - color: var(--default); - border: 0; - border-radius: 0; - border-bottom: 1px solid #fff; - border-bottom: 1px solid var(--white); - background-color: transparent; - background-clip: padding-box; - box-shadow: 0 3px 2px rgba(233, 236, 239, 0.05); - outline: none; -} -.login-page .login-container .login-form .form-login .input-group input:focus + .border { - transform: scaleX(1); -} -.login-page .login-container .login-form .form-login .input-group .cbi-input-password { - margin-bottom: 2rem; - position: relative; -} -.login-page .login-container .login-form .form-login .user-icon::before { - content: "\e971"; -} -.login-page .login-container .login-form .form-login .pass-icon::before { - content: "\e910"; -} -.login-page .login-container .login-form .cbi-button-apply { - width: 100% !important; - box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 50px 0px; - font-weight: 600; - font-size: 15px; - color: #fff; - color: var(--white); - text-align: center; - width: 100%; - cursor: pointer; - min-height: 50px; - background-color: #5e72e4 !important; - background-color: var(--primary) !important; - border-radius: 6px; - outline: none; - border-width: initial; - border-style: none; - border-color: initial; - border-image: initial; - padding: 10px 0px; - margin: 30px 0px 100px; - transition: all 0.3s !important; - letter-spacing: 0.8rem; -} -.login-page .login-container .login-form .cbi-button-apply:hover, -.login-page .login-container .login-form .cbi-button-apply :focus { - opacity: 0.9; -} -.login-page .login-container footer { - box-sizing: border-box; - width: 100%; - text-align: center; - line-height: 1.6rem; - display: flex; - justify-content: space-evenly; - margin-top: auto; - padding: 0px 0px 30px; - z-index: 10; - color: #525461; - color: var(--default); - position: absolute; - bottom: 0; -} -.login-page .login-container footer .ftc { - position: absolute; - bottom: 30px; - width: 100%; -} -.login-page .login-container footer .luci-link { - display: block; -} -@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { - .login-page .login-container .login-form { - -webkit-backdrop-filter: blur(var(--blur-radius)); - backdrop-filter: blur(var(--blur-radius)); - background-color: rgba(244, 245, 247, var(--blur-opacity)); - } -} -header, -.main { - width: 100%; -} -footer { - font-size: 0.8rem; - overflow: hidden; - padding: 1rem; - text-align: right; - white-space: nowrap; - color: #aaa; -} -footer > a { - text-decoration: none; - color: #aaa; -} -small { - font-size: 90%; - line-height: 1.42857143; - white-space: normal; -} -.main { - position: relative; - top: 0; - bottom: 0; - overflow-y: auto; - height: 100%; -} -.main-left { - top: 0; - float: left; - width: 15%; - width: calc(0% + 15rem); - height: 100%; - background-color: #fff; - background-color: var(--menu-bg-color); - box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; - overflow-x: auto; - position: fixed; - z-index: 100; -} -.main-left .sidenav-header { - padding: 1.5rem; - text-align: center; -} -.main-left .sidenav-header .brand { - font-size: 1.8rem; - color: #5e72e4; - color: var(--primary); - font-family: "TypoGraphica"; - text-decoration: none; - text-align: center; - cursor: default; - vertical-align: text-bottom; - white-space: nowrap; -} -.main-left::-webkit-scrollbar { - width: 5px; - height: 1px; -} -.main-left::-webkit-scrollbar-thumb { - background-color: #f6f9fc; -} -.main-left::-webkit-scrollbar-track { - background-color: #fff; -} -.main-right { - float: right; - width: 85%; - width: calc(100% - 15rem); - height: 100%; - transition: all 0.2s; -} -.main-right > #maincontent { - position: relative; - z-index: 50; -} -.pull-right { - float: right; -} -.pull-left { - float: left; -} -.nowrap:not(.td) { - white-space: nowrap; -} -[disabled="disabled"] { - pointer-events: none; -} -header { - color: #fff; - color: var(--header-color); - padding: 0; - position: relative; -} -header.bg-primary { - background-color: #5e72e4 !important; - background-color: var(--primary) !important; -} -header::after { - content: ""; - position: absolute; - height: 2rem; - width: 100%; - background-color: #5e72e4 !important; - background-color: var(--primary) !important; -} -header .fill { - padding: 0.8rem 0; - border-bottom: 0px solid rgba(255, 255, 255, 0.08) !important; -} -header .fill .container { - height: 2rem; - padding: 0 1.25rem; -} -header .fill .container .showSide { - display: none; - color: #fff; - font-size: 1.4rem; -} -header .fill .container .showSide:hover { - text-decoration: none; -} -header .fill .container .brand { - font-size: 1.5rem; - color: #fff; - font-family: "TypoGraphica"; - text-decoration: none; - padding-left: 1rem; - cursor: default; - vertical-align: text-bottom; - display: none; -} -header .fill .container .pull-right { - float: right; - margin-top: 0rem; - display: flex; -} -header .fill .status { - position: absolute; - top: 25%; - right: 1.25rem; - float: right; -} -header .fill .status span[data-indicator] { - display: inline-block; - font-size: 0.8rem; - font-weight: bold; - padding: 0.3rem 0.8rem; - margin: 0 0.5rem; - white-space: nowrap; - text-decoration: none; - text-transform: uppercase; - text-shadow: none; - border-radius: 3px; - cursor: pointer; - transition: all 0.3s; -} -header .fill .status span[data-style="active"] { - color: #32325d !important; - background-color: #fff; -} -header .fill .status span[data-style="inactive"] { - color: #ffffff !important; - background-color: #32325d; -} -#xhr_poll_status { - display: flex; - margin-left: 0.5rem; -} -#xhr_poll_status * { - color: #fff; -} -div[style="width:100%;height:300px;border:1px solid #000;background:#fff"] { - border: 0 !important; -} -.danger { - background-color: #ff7d60 !important; -} -.warning { - background-color: #f0e68c !important; -} -.success { - background-color: #5cb85c !important; -} -.notice { - background-color: #11cdef !important; - color: #fff; -} -.error { - color: #f00; -} -.alert, -.alert-message { - font-weight: bold; - margin-bottom: 1em; - padding: 1rem; - border: 0; - border-radius: 0.375rem !important; - background-color: #fff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); - text-shadow: 1px 1px rgba(0, 0, 0, 0.1); -} -.alert.error, -.alert-message.error { - background-color: #ffd600; -} -.alert h4, -.alert-message h4 { - padding: 0rem 1.5rem 0.75rem 0rem; -} -.alert .btn, -.alert-message .btn { - height: auto; -} -.alert-message > h4 { - font-size: 110%; - font-weight: bold; -} -.alert-message > * { - margin: 0.5rem 0; -} -.alert-message .btn { - padding: 0.3rem 0.6rem; -} -.container .alert, -.container .alert-message { - margin-top: 1rem; -} -/* - * Main Menu - */ -.main .main-left { - transition: all 0.2s; -} -.main .main-left .nav { - margin-top: 0.5rem; -} -.main .main-left .nav > li > a:first-child { - display: block; - margin: 0.1rem 0.5rem 0.1rem 0.5rem; - padding: 0.675rem 0 0.675rem 2.5rem; - border-radius: 0.375rem; - text-decoration: none; - cursor: default; - font-size: 1rem; - transition: all 0.2s; - position: relative; -} -.main .main-left .nav > li > a:first-child.active { - color: #fff; - background: #5e72e4; - background: var(--primary); -} -.main .main-left .nav > li > a:first-child.active::before { - color: #fff !important; -} -.main .main-left .nav > li > a:first-child.active::after { - transform: rotate(90deg); - color: #fff !important; -} -.main .main-left .nav > li > a:first-child:hover { - cursor: pointer; - color: #fff; - background: #5e72e4; - background: var(--primary); -} -.main .main-left .nav > li > a:first-child:hover::before { - color: #fff !important; -} -.main .main-left .nav > li > a:first-child::before { - font-family: 'argon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - position: absolute; - left: 0.8rem; - padding-top: 3px; - transition: all 0.3s; - content: "\e915"; - color: #5e72e4; - color: var(--primary); -} -.main .main-left .nav li { - padding: 0.5rem 1rem; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - padding: 0; -} -.main .main-left .nav li a { - display: block; - color: #5f6368; - color: var(--menu-color); -} -.main .main-left .nav li.slide { - padding: 0; -} -.main .main-left .nav li.slide ul { - display: none; -} -.main .main-left .nav li.slide:hover { - background: none; -} -.main .main-left .nav li.slide .slide-menu { - margin: 0 0.5rem 0 2.5rem; - padding: 0rem 0.5rem; -} -.main .main-left .nav li.slide .slide-menu li { - position: relative; - border-radius: 0.375rem; - margin: 0; - padding: 0.5rem 0rem; - background: none; - list-style: none; -} -.main .main-left .nav li.slide .slide-menu li a { - white-space: nowrap; - text-decoration: none; -} -.main .main-left .nav li.slide .slide-menu li::after { - content: ""; - position: absolute; - left: 0; - bottom: 0; - width: 0; - height: 2px; - background-color: #5e72e4; - background-color: var(--primary); - transition: all 0.2s; -} -.main .main-left .nav li.slide .slide-menu li:hover { - background: none; -} -.main .main-left .nav li.slide .slide-menu li:hover::after { - width: 100%; -} -.main .main-left .nav li.slide .slide-menu .active { - background: none; - color: var(--menu-color); -} -.main .main-left .nav li.slide .slide-menu .active a { - color: var(--menu-color); -} -.main .main-left .nav li.slide .slide-menu .active::after { - content: ""; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 2px; - background-color: #5e72e4; - background-color: var(--primary); - transition: all 0.2s; -} -.main .main-left .nav li.slide ul.active { - display: block; -} -.main .main-left .nav li.slide .slide-menu .active:hover { - background: none; -} -.main .main-left .nav li.slide .slide-menu .active:hover::after { - width: 100%; -} -.main .main-left .nav li .menu { - display: block; - margin: 0.1rem 0.5rem 0.1rem 0.5rem; - padding: 0.675rem 0 0.675rem 2.5rem; - border-radius: 0.375rem; - text-decoration: none; - cursor: default; - font-size: 1rem; - transition: all 0.2s; - position: relative; -} -.main .main-left .nav li .menu.active { - color: #fff; - background: #5e72e4; - background: var(--primary); -} -.main .main-left .nav li .menu.active::before { - color: #fff !important; -} -.main .main-left .nav li .menu.active::after { - transform: rotate(90deg); - color: #fff !important; -} -.main .main-left .nav li .menu:hover { - cursor: pointer; - color: #fff; - background: #5e72e4; - background: var(--primary); -} -.main .main-left .nav li .menu:hover::before { - color: #fff !important; -} -.main .main-left .nav li .menu::before { - font-family: 'argon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - position: absolute; - left: 0.8rem; - padding-top: 3px; - transition: all 0.3s; - content: "\e915"; - color: #5e72e4; - color: var(--primary); -} -.main .main-left .nav li .menu::after { - position: absolute; - right: 0.5rem; - top: 0.8rem; - font-family: 'argon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -moz-osx-font-smoothing: grayscale; - content: '\e90f'; - transition: all 0.15s ease; - color: #ced4da; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - transition: all 0.3s; -} -.main .main-left .nav li .menu[data-title=Status]:before { - content: "\e906"; - color: #5e72e4; - color: var(--primary); -} -.main .main-left .nav li .menu[data-title=System]:before { - content: "\e90a"; - color: #fb6340; -} -.main .main-left .nav li .menu[data-title=Services]:before { - content: "\e909"; - color: #11cdef; -} -.main .main-left .nav li .menu[data-title=NAS]:before { - content: "\e90c"; - color: #f3a4b5; -} -.main .main-left .nav li .menu[data-title=VPN]:before { - content: "\e90b"; - color: #8965e0; -} -.main .main-left .nav li .menu[data-title=Network]:before { - content: "\e908"; - color: #8965e0; -} -.main .main-left .nav li .menu[data-title=Bandwidth_Monitor]:before { - content: "\e90d"; - color: #2dce89; -} -.main .main-left .nav li .menu[data-title=Docker]:before { - content: "\e911"; - color: #6699ff; -} -.main .main-left .nav li .menu[data-title=Statistics]:before { - content: "\e913"; - color: #8965e0; -} -.main .main-left .nav li .menu[data-title=Control]:before { - content: "\e912"; - color: #5e72e4; - color: var(--primary); -} -.main .main-left .nav li .menu[data-title=Asterisk]:before { - content: "\e914"; - color: #fb6340; -} -.main .main-left .nav li a[data-title=Logout]:before { - content: "\e907"; - color: #adb5bd; -} -.lg { - margin: 0; - padding: 0 !important; -} -.logout { - display: block; - margin: 0.8rem 0.5rem 0.1rem 0.5rem; - padding: 0.675rem 0 0.675rem 2.5rem; - border-radius: 0.375rem; - text-decoration: none; - font-size: 1rem; - transition: all 0.2s; - position: relative; -} -.logout:before { - font-family: 'argon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - position: absolute; - left: 0.8rem; - padding-top: 3px; - transition: all 0.3s; - content: "\e907"; - color: #32325d !important; -} -body[class*="node-"] > .main > .main-left > .nav > .slide > .menu::before { - transition: transform 0.1s ease-in-out; -} -body[class*="node-"] > .main > .main-left > .nav > .slide > .menu.active::before { - transition: transform 0.2s ease-in-out; -} -.main > .main-left[style*="overflow: hidden"] > .nav > .slide > .menu::before { - display: none; -} -#maincontent > .container { - margin: 0 1.25rem 1rem 1.25rem; -} -ul { - line-height: normal; -} -li { - list-style-type: none; -} -h1 { - font-size: 2rem; - padding-bottom: 10px; - border-bottom: thin solid #eee; -} -h2 { - margin: 0 0 1rem 0; - font-size: 1.25rem; - letter-spacing: 0.1rem; - padding: 1rem 1.5rem; - color: #32325d; - border-radius: 0.375rem; - background: #fff; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03); -} -h3 { - font-size: 1.1rem; - line-height: 1; - display: block; - width: 100%; - margin: 0; - margin-bottom: 0; - padding: 0.8755rem 1.5rem; - color: #32325d; - color: var(--gray-dark); - border-radius: 0.375rem; - background: #fff; -} -h4 { - margin: 0; - padding: 0.75rem 1.5rem; - font-size: 0.7rem; - font-weight: 600; - color: #525f7f; - background-color: #e9ecef; - background-color: var(--lighter); -} -h4 em { - padding: 0 0.5rem; -} -h5 { - font-size: 1rem; - margin: 2rem 0 0 0; - padding-bottom: 10px; -} -.cbi-section, -.cbi-section-error, -#iptables, -.Firewall form, -#cbi-network > .cbi-section-node, -#cbi-wireless > .cbi-section-node, -#cbi-wireless > #wifi_assoclist_table, -[data-tab-title], -[data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear), -[data-page="admin-system-opkg"] #maincontent > .container { - font-family: inherit; - font-weight: normal; - font-style: normal; - line-height: normal; - min-width: inherit; - margin: 1.5rem 0; - padding: 0rem; - border: 0; - border-radius: 0.375rem; - background-color: #fff; - box-shadow: 0 0 1rem 0 rgba(136, 152, 170, 0.15); -} -.cbi-modal .cbi-section, -.cbi-section .cbi-section { - padding: 0; - box-shadow: none; -} -.cbi-modal .cbi-tabmenu { - margin-left: 0; -} -.cbi-map-descr, -.cbi-section-descr { - font-size: small; - line-height: 1.42857143; - padding: 0.5rem 1.5rem; -} -.cbi-map-descr + fieldset { - margin-top: 1rem; -} -.cbi-map-descr > abbr { - cursor: help; - text-decoration: underline; -} -.cbi-section > legend { - display: none !important; -} -fieldset > fieldset, -.cbi-section > .cbi-section { - margin: 0; - padding: 0; - border: 0; - box-shadow: none; -} -.cbi-section > h3:first-child, -.panel-title { - font-size: 1.1rem; - line-height: 1; - display: block; - width: 100%; - margin: 0; - margin-bottom: 0; - padding: 0.8755rem 1.5rem; - color: #32325d; - color: var(--gray-dark); -} -.cbi-section > h3:first-child, -.cbi-section > h4:first-child, -.cbi-section > p:first-child, -[data-tab-title] > h3:first-child, -[data-tab-title] > h4:first-child, -[data-tab-title] > p:first-child { - padding: 1rem; -} -.cbi-section p { - padding: 1rem; -} -table { - border-spacing: 0; - border-collapse: collapse; -} -table, -.table { - overflow-y: hidden; - width: 100%; - font-size: 90%; -} -.table .table-titles th { - background-color: #e9ecef; - background-color: var(--lighter); -} -table > tbody > tr > td, -table > tbody > tr > th, -table > tfoot > tr > td, -table > tfoot > tr > th, -table > thead > tr > td, -table > thead > tr > th, -.table > .tbody > .tr > .td, -.table > .tbody > .tr > .th, -.table > .tfoot > .tr > .td, -.table > .tfoot > .tr > .th, -.table > .thead > .tr > .td, -.table > .thead > .tr > .th, -.table > .tr > .td.cbi-value-field, -.table > .tr > .th.cbi-section-table-cell { - padding: 0.5rem; -} -.container > .cbi-section:first-of-type > .table[width="100%"] > .tr > .td { - padding: 0.6rem; -} -.cbi-section-table-cell { - line-height: 1.1; - align-self: flex-end; - flex: 1 1 auto; -} -tr > td, -tr > th, -.tr > .td, -.tr > .th, -.cbi-section-table-row::before, -#cbi-wireless > #wifi_assoclist_table > .tr:nth-child(2) { - border-top: thin solid #ddd; - padding: 1.1em 1.5rem; -} -#cbi-wireless .td, -#cbi-network .tr:first-child > .td, -.table[width="100%"] > .tr:first-child > .td, -[data-page="admin-network-diagnostics"] .tr > .td, -.tr.table-titles > .th, -.tr.cbi-section-table-titles > .th { - border-top: 0 !important; - background-color: #f6f9fc; - padding: 1.1em 1.5rem; - line-height: 1.3rem; -} -.table[width="100%"] > .tr:first-child > .td { - margin: auto 0; -} -.cbi-section-table-row { - margin-bottom: 1rem; - text-align: center !important; - background: #f4f4f4; -} -.cbi-section-table-row:last-child { - margin-bottom: 0; -} -.cbi-section-table-row > .cbi-value-field .cbi-dropdown, -.cbi-section-table-row > .cbi-value-field .cbi-input-select, -.cbi-section-table-row > .cbi-value-field .cbi-input-text, -.cbi-section-table-row > .cbi-value-field .cbi-input-password { - width: 100%; -} -.cbi-section-table-row > .cbi-value-field [data-dynlist] > input, -.cbi-section-table-row > .cbi-value-field input.cbi-input-password { - width: calc(100% - 1.5rem); -} -.cbi-section-table-row .td { - text-align: center !important; -} -div > table > tbody > tr:nth-of-type(2n), -div > .table > .tr:nth-of-type(2n) { - background-color: #f9f9f9; -} -/* fix multiple table */ -table table, -.table .table, -.cbi-value-field table, -.cbi-value-field .table, -td > table > tbody > tr > td, -.td > .table > .tbody > .tr > .td, -.cbi-value-field > table > tbody > tr > td, -.cbi-value-field > .table > .tbody > .tr > .td { - border: 0; -} -/* button style */ -.btn, -.cbi-button, -.item::after { - font-size: 0.8rem; - display: inline-block; - width: auto !important; - padding: 0.45rem 0.8rem; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - transition: all 0.2s ease-in-out; - text-align: center; - vertical-align: middle; - white-space: nowrap; - text-decoration: none; - text-transform: uppercase; - color: rgba(0, 0, 0, 0.87); - border: 0; - border-radius: 0.2rem; - background-color: #f0f0f0; - background-image: none; - -webkit-appearance: none; - -ms-touch-action: manipulation; - touch-action: manipulation; -} -.cbi-button-up, -.cbi-button-down { - font-size: 1.2rem; - display: inline-block; - min-width: 0; - padding: 0.2rem 0.3rem; - color: transparent !important; - background: url(../icon/arrow.svg) no-repeat center; - background-size: 12px 20px; -} -.cbi-button-up { - transform: scaleY(-1); -} -.cbi-button:not(select) { - -webkit-appearance: none !important; -} -.btn:hover, -.btn:focus, -.btn:active, -.cbi-button:hover, -.cbi-button:focus, -.cbi-button:active, -.item:hover::after, -.item:focus::after, -.item:active::after, -.cbi-page-actions .cbi-button-apply + .cbi-button-save:hover, -.cbi-page-actions .cbi-button-apply + .cbi-button-save:focus, -.cbi-page-actions .cbi-button-apply + .cbi-button-save:active { - text-decoration: none; - outline: 0; -} -.btn:hover, -.btn:focus, -.cbi-button:hover, -.cbi-button:focus, -.item:hover::after, -.item:focus::after { - box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); -} -.btn:active, -.cbi-button:active, -.item:active::after { - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); -} -.cbi-button-up:hover, -.cbi-button-up:focus { - box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 -2px 2px rgba(0, 0, 0, 0.2); -} -.cbi-button-up:active { - box-shadow: 0 -10px 20px rgba(0, 0, 0, 0.19), 0 -6px 6px rgba(0, 0, 0, 0.23); -} -.btn:disabled, -.cbi-button:disabled { - cursor: not-allowed; - pointer-events: none; - opacity: 0.5; - box-shadow: none; -} -/* gray */ -.alert-message [class="btn"], -.modal div[class="btn"], -.cbi-button-find, -.cbi-button-link, -.cbi-button-up, -.cbi-button-down, -.cbi-button-neutral, -.cbi-button[name="zero"], -.cbi-button[name="restart"], -.cbi-button[onclick="hide_empty(this)"] { - font-weight: bold; - color: #fff; - border: thin solid #8898aa; - background-color: #8898aa; -} -/* dark blue */ -.btn.primary, -.cbi-page-actions .cbi-button-save, -.cbi-page-actions .cbi-button-apply + .cbi-button-save, -.cbi-button-add, -.cbi-button-save, -.cbi-button-positive, -.cbi-button-link, -.cbi-button[value="Enable"], -.cbi-button[value="Scan"], -.cbi-button[value^="Back"], -.cbi-button-neutral[onclick="handleConfig(event)"] { - font-weight: normal; - color: #fff !important; - border: thin solid #5e72e4; - border: thin solid var(--primary); - background-color: #5e72e4; - background-color: var(--primary); -} -/* light blue */ -.cbi-page-actions .cbi-button-apply, -.cbi-section-actions .cbi-button-edit, -.cbi-button-edit, -.cbi-button-apply, -.cbi-button-reload, -.cbi-button-action, -.cbi-button[value="Submit"], -.cbi-button[value="Upload"], -.cbi-button[value$="Apply"], -.cbi-button[onclick="addKey(event)"] { - font-weight: normal; - color: #fff !important; - border: thin solid #5e72e4; - border: thin solid var(--primary); - background-color: #5e72e4; - background-color: var(--primary); -} -/* red */ -.btn.danger, -.cbi-section-remove > .cbi-button, -.cbi-button-remove, -.cbi-button-reset, -.cbi-button-negative, -.cbi-button[value="Stop"], -.cbi-button[value="Kill"], -.cbi-button[onclick="reboot(this)"], -.cbi-button-neutral[value="Restart"] { - font-weight: normal; - color: #fff; - border: thin solid #f5365c; - border: thin solid var(--red); - background-color: #f5365c; - background-color: var(--red); -} -/* yellow */ -.btn[value="Dismiss"], -.cbi-button[value="Terminate"], -.cbi-button[value="Reset"], -.cbi-button[value="Disabled"], -.cbi-button[onclick^="iface_reconnect"], -.cbi-button[onclick="handleReset(event)"], -.cbi-button-neutral[value="Disable"] { - font-weight: normal; - color: #fff; - border: thin solid #eea236; - background-color: #f0ad4e; -} -/* green */ -.cbi-button-success, -.cbi-button-download, -.cbi-button[name="backup"], -.cbi-button[value="Download"], -.cbi-button[value="Save mtdblock"] { - font-weight: normal; - color: #fff; - border: thin solid #4cae4c; - background-color: #5cb85c; -} -.cbi-page-actions .cbi-button-link:first-child { - float: left; -} -.a-to-btn { - text-decoration: none; -} -.cbi-value-field .cbi-button-add { - font-weight: bold; - margin: 4px 0 4px 3px; - padding: 1px 6px; - display: flex; - align-items: center; -} -.tabs { - margin: 0 0 1rem 0; - padding: 0 1rem; - background-color: #FFFFFF; - border-radius: 0.375rem; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03); - white-space: nowrap; - overflow-x: auto; -} -.tabs::-webkit-scrollbar { - width: 1px; - height: 5px; -} -.tabs::-webkit-scrollbar-thumb { - background-color: #f6f9fc; -} -.tabs::-webkit-scrollbar-track { - background-color: #fff; -} -.tabs li[class~="active"], -.tabs li:hover { - cursor: pointer; - border-bottom: 0.18751rem solid #5e72e4; - border-bottom: 0.18751rem solid var(--primary); - color: #5e72e4; - color: var(--primary); - background-color: #dce1fe; - margin-bottom: 0; - border-radius: 0; -} -.tabs li[class~="active"] a, -.tabs li:hover a { - color: #5e72e4; - color: var(--primary); -} -.tabs li { - font-size: 0.875rem; - display: inline-block; - padding: 0.875rem 0rem; - border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); - margin: 0 0.2rem; -} -.tabs li a { - text-decoration: none; - color: #404040; - padding: 0.5rem 0.8rem; -} -.tabs li:hover { - border-bottom: 0.18751rem solid #5e72e4; - border-bottom: 0.18751rem solid var(--primary); -} -.cbi-tabmenu { - color: white; - padding: 0.5rem 1rem 0 1rem; - white-space: nowrap; - overflow-x: auto; -} -.cbi-tabmenu::-webkit-scrollbar { - width: 1px; - height: 5px; -} -.cbi-tabmenu::-webkit-scrollbar-thumb { - background-color: #f6f9fc; -} -.cbi-tabmenu::-webkit-scrollbar-track { - background-color: #fff; -} -.cbi-tabmenu li { - background: #dce3e9; - display: inline-block; - font-size: 0.875rem; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; - padding: 0.5rem 0rem; - border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); - margin: 0 0.2rem; -} -.cbi-tabmenu li a { - text-decoration: none; - color: #404040; - padding: 0.5rem 0.8rem; -} -.cbi-tabmenu li:hover { - cursor: pointer; - border-bottom: 0.18751rem solid #5e72e4; - border-bottom: 0.18751rem solid var(--primary); - color: #5e72e4; - color: var(--primary); - background-color: #dce1fe; - margin-bottom: 0; -} -.cbi-tabmenu li:hover a { - color: #525f7f; -} -.cbi-tabmenu li[class~="cbi-tab"] { - border-bottom: 0.18751rem solid #5e72e4; - border-bottom: 0.18751rem solid var(--primary); - color: #5e72e4; - color: var(--primary); - background-color: #dce1fe; - margin-bottom: 0; -} -.cbi-tabmenu li[class~="cbi-tab"] a { - color: #5e72e4; - color: var(--primary); -} -.cbi-tab-descr { - padding: 0.5rem 1.5rem; -} -.cbi-section .cbi-section-remove:nth-of-type(2n), -.container > .cbi-section .cbi-section-node:nth-of-type(2n) { - background-color: #f9f9f9; -} -[data-tab-title] { - overflow: hidden; - height: 0; - opacity: 0; - margin: 0; - padding: 0rem 0rem !important; -} -[data-tab-title] p { - margin-left: 1rem; - margin-bottom: 1rem; -} -[data-tab-active="true"] { - overflow: visible; - height: auto; - opacity: 1; - transition: opacity 0.25s ease-in; - margin: inherit !important; -} -.cbi-section[id] .cbi-section-remove:nth-of-type(4n+3), -.cbi-section[id] .cbi-section-node:nth-of-type(4n+4) { - background-color: #f9f9f9; -} -.cbi-section-node-tabbed { - margin-top: 0; - padding: 0; - border: 0 solid #d4d4d4; - border-radius: 0.375rem; -} -.cbi-tabcontainer > .cbi-value:nth-of-type(2n) { - background-color: #f9f9f9; -} -.cbi-value-field, -.cbi-value-description { - line-height: 1.25; - display: table-cell; -} -.cbi-value-field abbr, -.cbi-value-description abbr { - color: #32325d; - color: var(--gray-dark); -} -.cbi-value-description { - font-size: small; - padding: 0.5rem; - opacity: 0.5; -} -.cbi-value-title { - display: table-cell; - float: left; - width: 23rem; - padding-top: 0.25rem; - padding-right: 2rem; - text-align: right; - word-wrap: break-word; -} -.cbi-value { - display: inline-block; - width: 100%; - padding: 0.35rem 1rem 0.2rem 1rem; - line-height: 2.4rem; -} -.cbi-value ul { - line-height: 1.25; -} -.cbi-value-field .cbi-dropdown, -.cbi-value-field .cbi-input-select, -.cbi-value input[type="text"], -.cbi-value input[type="password"] { - min-width: 18rem; -} -.cbi-value input[type="password"] { - border-bottom-right-radius: 0; - border-top-right-radius: 0; - margin-right: 0; -} -.cbi-value input[type="password"] + .cbi-button-neutral { - height: 42px; - border-bottom-left-radius: 0; - border-top-left-radius: 0; - margin-left: 0; - border: 0; -} -#cbi-firewall-zone .cbi-input-select, -#cbi-network-switch_vlan .cbi-input-select { - min-width: 11rem; -} -#cbi-network-switch_vlan .cbi-input-text { - max-width: 3rem; -} -.cbi-input-invalid { - color: #f5365c; - border-bottom-color: #f5365c; -} -.cbi-section-error { - font-weight: bold; - line-height: 1.42857143; - margin: 18px; - padding: 6px; - border: thin solid #f5365c; - border-radius: 3px; - background-color: #fce6e6; -} -.cbi-section-error ul { - margin: 0 0 0 20px; -} -.cbi-section-error ul li { - font-weight: bold; - color: #f5365c; -} -.td[data-title]::before { - font-weight: bold; - display: none; - padding: 0.25rem 0; - content: attr(data-title) ":\20"; - text-align: left; - white-space: nowrap; -} -.tr.placeholder .td[data-title]::before { - display: none; -} -.tr[data-title]::before, -.tr.cbi-section-table-titles.named::before { - font-weight: bold; - display: table-cell; - align-self: center; - flex: 1 1 5%; - padding: 0.25rem; - content: attr(data-title) "\20"; - text-align: center; - vertical-align: middle; - white-space: normal; - word-wrap: break-word; -} -.cbi-rowstyle-1 { - background-color: #f9f9f9; -} -.cbi-rowstyle-2 { - background-color: #eee; -} -.cbi-rowstyle-2 .cbi-button-up, -.cbi-rowstyle-2 .cbi-button-down, -body:not(.Interfaces) .cbi-rowstyle-2:first-child { - background-color: #fff !important; -} -.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { - width: auto !important; -} -.td.cbi-section-actions { - text-align: right !important; - vertical-align: middle; -} -.td.cbi-section-actions > * { - display: inline-flex; -} -.td.cbi-section-actions > * > *, -.td.cbi-section-actions > * > form > * { - margin: 0 5px; - display: flex; - align-items: center; -} -.td.cbi-section-actions > * > form { - display: inline-flex; - margin: 0; -} -.cbi-checkbox { - margin: 0 0.25rem; -} -/* lists */ -.cbi-dynlist { - line-height: 1.3; - flex-direction: column; - min-height: 30px; - cursor: text; -} -.cbi-dynlist > .item { - position: relative; - max-width: 25rem; - pointer-events: none; - color: #8898aa; - outline: 0; -} -.cbi-dynlist[name="sshkeys"] > .item { - max-width: none; -} -.cbi-dynlist > .item::after { - position: absolute; - width: 2.2rem !important; - height: calc(100% - 0.5rem - 2px); - right: 0; - bottom: 0; - content: "\00D7"; - pointer-events: auto; - background-color: var(--red); - font-weight: normal; - font-size: 1.2rem; - display: flex; - align-items: center; - justify-content: center; - line-height: 1.5rem; - padding: 0; - margin: 0.25rem 0.1rem 0.25rem 0; - color: #fff; - border: 1px solid #f5365c; - border-radius: 0.25rem; - outline: 0; - background-image: none; - box-shadow: none; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.cbi-dynlist > .item > span { - white-space: normal; - word-break: break-word; - line-height: 1.5rem; - padding: 0.5rem 0.5rem; - margin: 0.25rem 0.1rem; - color: #8898aa; - border: 1px solid #dee2e6; - border-radius: 0.25rem; - outline: 0; - background-image: none; - box-shadow: none; - display: block; - transition: box-shadow 0.15s ease; - box-sizing: border-box; - min-width: 15rem; -} -.cbi-dynlist > .add-item { - display: inline-flex; - align-items: center; - width: 100%; - min-width: 16rem; -} -.cbi-dynlist > .add-item input { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - margin-right: 0; - border-right: none; -} -.cbi-dynlist > .add-item .cbi-button-add { - font-weight: normal; - font-size: 1.2rem; - display: flex; - align-items: center; - line-height: 1.5rem; - padding: 0.5rem 0.75rem; - margin: 0.25rem 0.1rem 0.25rem 0; - color: #fff; - border: 1px solid #5e72e4; - border: 1px solid var(--primary); - border-radius: 0.25rem; - outline: 0; - background-image: none; - box-shadow: none; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.cbi-dynlist > .add-item:not([ondrop]) > input { - overflow: hidden; - width: 100%; - min-width: 15rem; - white-space: nowrap; - text-overflow: ellipsis; -} -.cbi-dynlist > .add-item[ondrop] > input { - min-width: 13rem; -} -.cbi-dynlist, -.cbi-dropdown { - position: relative; - display: inline-flex; - padding: 0.2rem 0.2rem; -} -.cbi-dropdown[placeholder*="select"] { - max-width: 25rem; - height: auto; - margin-top: -3px; -} -.cbi-dropdown > ul { - display: flex; - overflow-x: hidden; - overflow-y: auto; - width: 100%; - margin: 0 !important; - padding: 0; - list-style: none; - outline: 0; -} -.cbi-dropdown > ul.preview { - display: none; -} -.cbi-button-apply > ul.preview { - display: none; -} -.cbi-button-apply > ul.preview li { - color: #fff; -} -.cbi-button-apply > ul:first-child li { - color: #fff; -} -.cbi-dropdown > .open { - flex-basis: 15px; -} -.cbi-dropdown > .open, -.cbi-dropdown > .more { - font-size: 1rem; - font-weight: 900; - line-height: 2; - display: flex; - flex-direction: column; - flex-grow: 0; - flex-shrink: 0; - justify-content: center; - padding: 0 0.25em; - cursor: default; - text-align: center; - outline: 0; -} -.cbi-dropdown > .more, -.cbi-dropdown > ul > li[placeholder] { - font-weight: bold; - display: none; - color: #777; - text-shadow: 1px 1px 0 #fff; -} -.cbi-dropdown > ul > li { - display: none; - overflow: hidden; - align-items: center; - align-self: center; - flex-grow: 1; - flex-shrink: 1; - min-height: 20px; - padding: 0.25em; - white-space: nowrap; - text-overflow: ellipsis; -} -.cbi-dropdown > ul > li .hide-open { - display: initial; -} -.cbi-dropdown > ul > li .hide-close { - display: none; -} -.cbi-dropdown > ul > li[display]:not([display="0"]) { - border-left: thin solid #ccc; -} -.cbi-dropdown[empty] > ul { - max-width: 1px; -} -.cbi-dropdown > ul > li > form { - display: none; - margin: 0; - padding: 0; - pointer-events: none; -} -.cbi-dropdown > ul > li img { - margin-right: 0.25em; - vertical-align: middle; -} -.cbi-dropdown > ul > li > form > input[type="checkbox"] { - height: auto; - margin: 0; -} -.cbi-dropdown > ul > li input[type="text"] { - height: 20px; -} -.cbi-dropdown[open] > ul.dropdown { - position: absolute; - z-index: 1100; - display: block; - width: auto; - min-width: 100%; - max-width: none; - max-height: 200px !important; - border: 0 solid #918e8c; - background: #ffffff; - box-shadow: 0 0 4px #918e8c; - border-bottom-left-radius: 0.35rem; - border-bottom-right-radius: 0.35rem; - color: var(--main-menu-color); - margin-left: -0.2rem !important; -} -.cbi-dropdown[open] > ul.dropdown li { - color: #000; -} -.cbi-dropdown > ul > li[display], -.cbi-dropdown[open] > ul.preview, -.cbi-dropdown[open] > ul.dropdown > li, -.cbi-dropdown[multiple] > ul > li > label, -.cbi-dropdown[multiple][open] > ul.dropdown > li, -.cbi-dropdown[multiple][more] > .more, -.cbi-dropdown[multiple][empty] > .more { - display: flex; - align-items: center; - flex-grow: 1; -} -.cbi-dropdown[empty] > ul > li, -.cbi-dropdown[optional][open] > ul.dropdown > li[placeholder], -.cbi-dropdown[multiple][open] > ul.dropdown > li > form { - display: block; -} -.cbi-dropdown[open] > ul.dropdown > li .hide-open { - display: none; -} -.cbi-dropdown[open] > ul.dropdown > li .hide-close { - display: initial; -} -.cbi-dropdown[open] > ul.dropdown > li { - border-bottom: thin solid #ccc; - padding: 0.5rem 0.8rem; -} -.cbi-dropdown[open] > ul.dropdown > li label { - margin-left: 0.5rem; -} -.cbi-dropdown[open] > ul.dropdown > li[selected] { - background: #dce1fe; -} -.cbi-dropdown[open] > ul.dropdown > li.focus { - background: #dce1fe; - outline: none; -} -.cbi-dropdown[open] > ul.dropdown > li:last-child { - margin-bottom: 0; - border-bottom: 0; -} -.cbi-dropdown[open] > ul.dropdown > li[unselectable] { - opacity: 0.7; -} -.cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child { - width: 100%; -} -.cbi-dropdown[disabled] { - pointer-events: none; - opacity: 0.6; -} -.cbi-dropdown .zonebadge { - width: 100%; -} -.cbi-dropdown[open] .zonebadge { - width: auto; -} -/* progressbar */ -.cbi-progressbar { - position: relative; - min-width: 170px; - height: 20px; - margin: 6px 0; - border: thin solid #999; - background: #eee; - border-radius: 0.2rem; - overflow: hidden; -} -.cbi-progressbar > div { - width: 0; - height: 100%; - transition: width 0.25s ease-in; - background: #5e72e4; - background: var(--primary); -} -.cbi-progressbar::after { - font-family: monospace; - font-size: 1em; - font-weight: bold; - font-size-adjust: 0.38; - line-height: normal; - position: absolute; - top: 2px; - right: 0; - bottom: 2px; - left: 0; - overflow: hidden; - content: attr(title); - text-align: center; - white-space: pre; - text-overflow: ellipsis; -} -#modal_overlay { - position: fixed; - z-index: 900; - top: 0; - right: 10000px; - bottom: 0; - left: -10000px; - overflow-y: scroll; - transition: opacity 0.125s ease-in; - opacity: 0; - background: rgba(0, 0, 0, 0.7); - -webkit-overflow-scrolling: touch; -} -.modal { - display: flex; - align-items: center; - flex-wrap: wrap; - width: 90%; - min-width: 270px; - max-width: 600px; - min-height: 32px; - margin: 5em auto; - padding: 1em; - border-radius: 3px !important; - background: #fff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); -} -.modal > * { - line-height: normal; - flex-basis: 100%; - margin-bottom: 0.5em; - max-width: 100%; -} -.modal > pre, -.modal > textarea { - font-size: 1rem; - font-size-adjust: 0.35; - overflow: auto; - margin-bottom: 0.5em; - padding: 8.5px; - cursor: auto; - white-space: pre-wrap; - color: #eee; - outline: 0; - background-color: #101010; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); -} -.modal > h4 { - margin: 0.5em 0; -} -.modal ul { - margin-left: 2.2em; -} -.modal li { - list-style-type: square; - color: #808080; -} -.modal p { - word-break: break-word; -} -.modal .label { - font-size: 0.6rem; - font-weight: normal; - padding: 0.1rem 0.3rem; - padding-bottom: 0; - cursor: default; - border-radius: 0; -} -.modal .label.warning { - background-color: #f0ad4e !important; -} -.modal .btn { - padding: 0.45rem 0.8rem; -} -.modal.cbi-modal { - max-width: 90%; - max-height: none; -} -body.modal-overlay-active { - overflow: hidden; - height: 100vh; -} -body.modal-overlay-active #modal_overlay { - right: 0; - left: 0; - opacity: 1; -} -.spinning { - position: relative; - padding-left: 32px !important; -} -.spinning::before { - position: absolute; - top: 0; - bottom: 0; - left: 0.2em; - width: 32px; - content: ""; - background: url(/luci-static/resources/icons/loading.gif) no-repeat center; - background-size: 16px; -} -/* luci */ -.hidden { - display: none; -} -.left, -.left::before { - text-align: left !important; -} -.right, -.right::before { - text-align: right !important; -} -.center, -.center::before { - text-align: center !important; -} -.top { - align-self: flex-start !important; - vertical-align: top !important; -} -.bottom { - align-self: flex-end !important; - vertical-align: bottom !important; -} -.inline { - display: inline; -} -.cbi-page-actions { - padding-top: 1rem; - text-align: right; -} -.cbi-page-actions > form[method="post"] { - display: inline-block; -} -.th[data-type="button"], -.td[data-type="button"], -.th[data-type="fvalue"], -.td[data-type="fvalue"] { - flex: 1 1 2em; - text-align: center; -} -.ifacebadge { - display: inline-flex; - padding: 0.5rem 0.8rem; - border-bottom: thin solid #ccc; - background: #eee; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} -td > .ifacebadge, -.td > .ifacebadge { - font-size: 0.8rem; - background-color: #f0f0f0; -} -.ifacebadge > em, -.ifacebadge > img { - display: inline-block; - align-self: flex-start; - margin: 0 0.2rem; -} -.ifacebadge > img + img { - margin: 0 0.2rem 0 0; -} -.network-status-table { - display: flex; - flex-wrap: wrap; -} -.network-status-table .ifacebox { - flex-grow: 1; - margin: 0.5em; -} -.network-status-table .ifacebox-body { - display: flex; - flex-direction: column; - height: 100%; -} -.network-status-table .ifacebox-body > span { - flex: 10 10 auto; - height: 100%; -} -.network-status-table .ifacebox-body > div { - display: flex; - flex-wrap: wrap; -} -.network-status-table .ifacebox-body .ifacebadge { - align-items: center; - flex: 1 1 auto; - min-width: 220px; - margin: 0.5em 0em 0 0em; - padding: 0.5em; - background-color: #fff; -} -/* textarea */ -.cbi-input-textarea { - font-family: monospace; - width: 100%; - font-size: 0.875rem; - min-height: 14rem; - padding: 0.8rem; - color: #000; -} -#syslog { - font-size: small; - line-height: 1.25; - overflow-y: hidden; - width: 100%; - min-height: 15rem; - padding: 1rem; - resize: none; - color: #242424; - border: 0; - border-radius: 0.375rem; - background-color: #ffffff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); -} -#syslog:focus { - outline: 0; -} -/* config changes */ -.uci-change-list { - font-family: monospace; -} -.uci-change-list ins, -.uci-change-legend-label ins { - display: block; - padding: 2px; - text-decoration: none; - border: thin solid #0f0; - background-color: #cfc; -} -.uci-change-list del, -.uci-change-legend-label del { - font-style: normal; - display: block; - padding: 2px; - text-decoration: none; - border: thin solid #f00; - background-color: #fcc; -} -.uci-change-list var, -.uci-change-legend-label var { - font-style: normal; - display: block; - padding: 2px; - text-decoration: none; - border: thin solid #ccc; - background-color: #eee; -} -.uci-change-list var ins, -.uci-change-list var del { - font-style: normal; - padding: 0; - white-space: pre; - border: 0; -} -.uci-change-legend { - padding: 5px; -} -.uci-change-legend-label { - float: left; - width: 150px; -} -.uci-change-legend-label > ins, -.uci-change-legend-label > del, -.uci-change-legend-label > var { - display: block; - float: left; - width: 10px; - height: 10px; - margin-right: 4px; -} -.uci-change-legend-label var ins, -.uci-change-legend-label var del { - line-height: 0.4; - border: 0; -} -.uci-change-list var, -.uci-change-list del, -.uci-change-list ins { - padding: 0.5rem; -} -/* other fix */ -#iwsvg, -#iwsvg2, -#bwsvg { - border: thin solid #d4d4d4 !important; -} -#iwsvg, -[data-page="admin-status-realtime-bandwidth"] #bwsvg { - border-top: 0 !important; -} -.ifacebox { - line-height: 1.25; - display: inline-flex; - flex-direction: column; - min-width: 100px; - border-bottom: thin solid #ccc; - background-color: #f9f9f9; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 2px rgba(0, 0, 0, 0.2); -} -.ifacebox-head { - padding: 0.25em; - background: #eee; -} -.ifacebox-head.active { - background: #5e72e4; - background: var(--primary); -} -.ifacebox-head.active * { - color: #fff; - color: var(--white); -} -.ifacebox-body { - padding: 0.5em 1rem; - line-height: 1.6em; -} -.cbi-image-button { - margin-left: 0.5rem; -} -.zonebadge { - display: inline-block; - padding: 0.2rem 0.5rem; -} -.zonebadge .ifacebadge { - margin: 0.1rem 0.2rem; - padding: 0.2rem 0.3rem; - border: thin solid #6c6c6c; -} -.zonebadge > input[type="text"] { - min-width: 10rem; - margin-top: 0.3rem; - padding: 0.16rem 1rem; -} -.zonebadge > em, -.zonebadge > strong { - display: inline-block; - margin: 0 0.2rem; -} -.cbi-value-field .cbi-input-checkbox, -.cbi-value-field .cbi-input-radio { - margin-top: 0.1rem; -} -.cbi-value-field > ul > li { - display: flex; -} -.cbi-value-field > ul > li > label { - margin-top: 0.5rem; -} -.cbi-value-field > ul > li .ifacebadge { - margin-top: -0.5rem; - margin-left: 0.4rem; - background-color: #eee; -} -.cbi-section-table-row > .cbi-value-field .cbi-dropdown { - min-width: 7rem; -} -.cbi-section-create { - display: inline-flex; - align-items: center; - margin: 0.25rem 0 0.25rem 1rem; -} -.cbi-section-create > * { - margin: 0.5rem; -} -.cbi-section-remove { - padding: 0.5rem; -} -div.cbi-value var, -td.cbi-value-field var, -.td.cbi-value-field var { - font-style: italic; - color: #0069d6; -} -.cbi-optionals { - padding: 1rem 1rem 0 1rem; - border-top: thin solid #ccc; -} -.cbi-dropdown-container { - position: relative; -} -.cbi-tooltip-container, -span[data-tooltip], -span[data-tooltip] .label { - cursor: help !important; -} -.cbi-tooltip { - position: absolute; - z-index: 1000; - left: -1000px; - padding: 2px 5px; - transition: opacity 0.25s ease-out; - white-space: pre; - pointer-events: none; - opacity: 0; - border-radius: 3px; - background: #fff; - box-shadow: 0 0 2px #444; -} -.cbi-tooltip-container:hover .cbi-tooltip { - left: auto; - transition: opacity 0.25s ease-in; - opacity: 1; -} -.zonebadge .cbi-tooltip { - margin: -1.5rem 0 0 -0.5rem; - padding: 0.25rem; - background: inherit; -} -.zonebadge-empty { - color: #404040; - background: repeating-linear-gradient(45deg, rgba(204, 204, 204, 0.5), rgba(204, 204, 204, 0.5) 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px); -} -.zone-forwards { - display: flex; - min-width: 10rem; -} -.zone-forwards > * { - flex: 1 1 45%; -} -.zone-forwards > span { - flex-basis: 10%; - padding: 0 0.25rem; - text-align: center; -} -.zone-forwards .zone-src, -.zone-forwards .zone-dest { - display: flex; - flex-direction: column; -} -.label { - font-size: 0.8rem; - font-weight: bold; - padding: 0.3rem 0.8rem; - white-space: nowrap; - text-decoration: none; - text-transform: uppercase; - color: #fff !important; - border-radius: 3px; - background-color: #bfbfbf; - text-shadow: none; -} -label > input[type="checkbox"], -label > input[type="radio"] { - position: relative; - top: 0.4rem; - right: 0.2rem; - margin: 0; - vertical-align: bottom; -} -label[data-index][data-depends] { - padding-right: 2em; -} -.showSide { - display: none; -} -.darkMask { - position: fixed; - z-index: 99; - display: none; - width: 100%; - height: 100%; - content: ""; - top: 0; - background-color: rgba(0, 0, 0, 0.56); -} -/* diagnostics */ -#diag-rc-output > pre, -#command-rc-output > pre, -[data-page="admin-services-wol"] .notice code { - font-size: 1.2rem; - font-size-adjust: 0.35; - line-height: normal; - display: block; - overflow-y: hidden; - width: 100%; - padding: 8.5px; - white-space: pre; - color: #eee; - background-color: #101010; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); -} -[data-page="admin-network-diagnostics"] .table { - box-shadow: none; -} -input[name="ping"], -input[name="traceroute"], -input[name="nslookup"] { - width: 80%; -} -/* fix status */ -.node-status-overview > .main fieldset:nth-child(4) .td:nth-child(2), -.node-status-processes > .main .table .tr .td:nth-child(3) { - white-space: normal; -} -/* fix system reboot */ -[data-page="admin-system-reboot"] p { - padding-left: 1.5rem; -} -[data-page="admin-system-reboot"] .cbi-button { - background: #fb6340 !important; -} -[data-page="admin-system-reboot"] p > span { - position: relative; - top: 0.1rem; - left: 1rem; -} -[data-page="admin-vpn-passwall"] h4 { - background: transparent; -} -/* samba */ -#cbi-samba [data-tab="template"] .cbi-value-field { - display: block; -} -#cbi-samba [data-tab="template"] .cbi-value-title { - width: auto; - padding-bottom: 0.6rem; -} -/* admin-system-admin-password */ -[data-page="admin-system-admin"] .cbi-map h2, -[data-page="admin-system-admin-password"] .cbi-map h2, -[data-page="admin-system-admin"] .cbi-map .cbi-map-descr, -[data-page="admin-system-admin-password"] .cbi-map .cbi-map-descr { - margin-left: 0; - color: #32325d; - color: var(--gray-dark); -} -/* software */ -[data-page="admin-system-opkg"] h2 { - margin-left: 0; - color: #32325d; - color: var(--gray-dark); -} -.controls { - margin: 0.5em 1rem 1em 1rem !important; -} -.controls > * > .btn:not([aria-label$="page"]) { - flex-grow: initial !important; - margin-top: 0.25rem; -} -.controls > #pager > .btn[aria-label$="page"] { - font-size: 1.4rem; - font-weight: bold; -} -.controls > * > label { - margin-bottom: 0.2rem; -} -[data-page="admin-system-opkg"] div.btn { - line-height: 3; - display: inline; - padding: 0.3rem 0.6rem; -} -[data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear), -[data-page="admin-system-opkg"] #maincontent > .container { - margin-top: 2rem; - padding-top: 0.1rem; -} -[data-page="admin-system-opkg"] #maincontent > .container { - margin: 0 1.25rem 1rem 1.25rem; - margin-bottom: 1rem; -} -.td.version, -.td.size { - white-space: normal !important; - word-break: break-word; -} -.cbi-tabmenu + .cbi-section { - margin-top: 0; -} -/* admin-system-crontab*/ -[data-page="admin-system-crontab"] #view p { - margin-bottom: 1rem; -} -/*admin-system-flash*/ -[data-page="admin-system-flash"] .cbi-value { - padding: 0; -} -[data-page="admin-system-flash"] .cbi-section .cbi-section { - margin-top: 0; -} -[data-page="admin-system-flash"] .cbi-map-tabbed { - border-radius: 0.375rem; -} -[data-page="admin-system-flash"] legend { - display: block !important; - font-size: 1.2rem; - width: 100%; - display: block; - margin-bottom: 0; - padding: 1rem 0 1rem 1.5rem; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); - line-height: 1.5; - margin-bottom: 0rem; - letter-spacing: 0.1rem; - color: #32325d; - font-weight: bold; -} -[data-page="admin-system-flash"] .cbi-section-descr { - font-weight: 600; - padding: 1rem 0 1rem 1.5rem; - color: #525f7f; -} -[data-page="admin-system-flash"] .modal label > input[type="checkbox"] { - top: -0.35rem; -} -[data-page="admin-system-flash"] .modal .btn { - white-space: normal !important; -} -/* wireless overview */ -#cbi-wireless > #wifi_assoclist_table > .tr { - box-shadow: inset 1px -1px 0 #ddd, inset -1px -1px 0 #ddd; -} -#cbi-wireless > #wifi_assoclist_table > .tr.placeholder > .td { - right: 33px; - bottom: 33px; - left: 33px; - border-top: thin solid #ddd !important; -} -#cbi-wireless > #wifi_assoclist_table > .tr.table-titles { - box-shadow: inset 1px 0 0 #ddd, inset -1px 0 0 #ddd; -} -#cbi-wireless > #wifi_assoclist_table > .tr.table-titles > .th { - border-bottom: thin solid #ddd; - box-shadow: 0 -1px 0 0 #ddd; -} -#wifi_assoclist_table > .tr > .td[data-title="RX Rate / TX Rate"] { - width: 23rem; -} -[data-page="admin-network-dhcp"] .cbi-value { - padding: 0; -} -[data-page="admin-network-dhcp"] [data-tab-active="true"] { - padding: 1rem 0 !important; -} -/* firewall */ -#iptables { - margin: 0; -} -.Firewall form { - margin: 2rem 2rem 0 0; - padding: 0; - box-shadow: none; -} -#cbi-firewall-redirect table *, -#cbi-network-switch_vlan table *, -#cbi-firewall-zone table * { - font-size: small; -} -#cbi-firewall-redirect table input[type="text"], -#cbi-network-switch_vlan table input[type="text"], -#cbi-firewall-zone table input[type="text"] { - width: 5rem; -} -#cbi-firewall-redirect table select, -#cbi-network-switch_vlan table select, -#cbi-firewall-zone table select { - min-width: 3.5rem; -} -#cbi-network-switch_vlan .th, -#cbi-network-switch_vlan .td { - flex-basis: 12%; -} -#cbi-firewall-zone .table, -#cbi-network-switch_vlan .table { - display: block; -} -#cbi-firewall-zone .td, -#cbi-network-switch_vlan .td { - width: 100%; -} -[data-page="admin-network-firewall-custom"] #view p, -[data-page="admin-status-routes"] #view p { - padding: 0 1.5rem; - margin-bottom: 1rem; -} -[data-page="admin-network-firewall-custom"] #view p textarea, -[data-page="admin-status-routes"] #view p textarea { - padding: 1rem; - border-radius: 0.375rem; -} -/* applyreboot fix */ -#applyreboot-container { - margin: 2rem; -} -#applyreboot-section { - line-height: 300%; - margin: 2rem; -} -/* openvpn bug fix */ -.OpenVPN a { - line-height: initial !important; -} -/* custom commands */ -.commandbox { - width: 24% !important; - margin: 10px 0 0 10px !important; - padding: 0.5rem 1rem; - border-bottom: thin solid #ccc; - background: #eee; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} -.commandbox h3 { - line-height: normal !important; - overflow: hidden; - margin: 6px 0 !important; - white-space: nowrap; - text-overflow: ellipsis; -} -.commandbox div { - left: auto !important; -} -.commandbox code { - position: absolute; - overflow: hidden; - max-width: 60%; - margin-left: 4px; - padding: 2px 3px; - white-space: nowrap; - text-overflow: ellipsis; -} -.commandbox code:hover { - overflow-y: auto; - max-height: 50px; - white-space: normal; -} -.commandbox p:first-of-type { - margin-top: -6px; -} -.commandbox p:nth-of-type(2) { - margin-top: 2px; -} -[data-page^="admin-system-commands"] .panel-title, -[data-page^="command-cfg"] .mobile-hide, -[data-page^="command-cfg"] .showSide { - display: none; -} -#command-rc-output .alert-message { - line-height: 1.42857143; - position: absolute; - top: 40px; - right: 32px; - max-width: 40%; - margin: 0; - animation: anim-fade-in 1.5s forwards; - word-break: break-word; - opacity: 0; -} -@keyframes anim-fade-in { - 100% { - opacity: 1; - } -} -/* other fix */ -input[type="checkbox"] { - appearance: none !important; - -webkit-appearance: none !important; - border: 1px solid #dee2e6; - width: 16px !important; - height: 16px !important; - padding: 0; - cursor: pointer; - transition: all 0.2s; - margin: 1rem 0 0 0; -} -input[type="checkbox"]:checked { - border: 1px solid #5e72e4; - border: 1px solid var(--primary); - background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e') !important; - background-color: #5e72e4; - background-color: var(--primary); - background-size: 70%; - background-repeat: no-repeat; - background-position: center; -} -.fb-container .cbi-button { - height: auto !important; -} -#cbi-usb_printer-printer em { - display: block; - padding: 1rem; - text-align: center; -} -pre.command-output { - padding: 1.5rem; -} -[data-page="admin-nlbw-display"] .cbi-section[data-tab="export"] { - padding: 1.5rem !important; -} -[data-page="admin-nlbw-backup"] form { - padding-left: 1.5rem; -} -[data-page="admin-status-iptables"] .right { - margin-bottom: 0 !important; -} -/* IE hacks */ -@media all and (-ms-high-contrast: none) { - .main > .main-left > .nav > .slide > .menu::before { - top: 30.25%; - } - .main > .main-left > .nav > li:last-child::before { - top: 20%; - } - .showSide::before { - top: -12px; - } -} -@media screen and (max-width: 1600px) { - header > .fill > .container > #logo { - margin: 0 2.5rem 0 0.5rem; - } - .main-left { - width: calc(0% + 13rem); - } - .main-right { - width: calc(100% - 13rem); - } - .btn:not(button), - .cbi-button { - font-size: 0.8rem; - } - .label { - padding: 0.2rem 0.6rem; - } - .cbi-value-title { - width: 15rem; - padding-right: 0.6rem; - } - .cbi-value-field .cbi-dropdown, - .cbi-value-field .cbi-input-select, - .cbi-value input[type="text"], - .cbi-value input[type="password"] { - min-width: 18rem; - } - #cbi-firewall-zone .cbi-input-select { - min-width: 9rem; - } - .cbi-input-textarea { - font-size: small; - } - .node-admin-status > .main fieldset li > a { - padding: 0.3rem 0.6rem; - } -} -@media screen and (max-width: 1366px) { - header > .fill > .container { - cursor: default; - } - .main-left { - width: calc(0% + 13rem); - } - .main-right { - width: calc(100% - 13rem); - } - .tabs > li > a, - .cbi-tabmenu > li > a { - padding: 0.2rem 0.8rem; - } - .panel-title { - font-size: 1.1rem; - padding-bottom: 1rem; - } - table { - font-size: 0.7rem !important; - width: 100% !important; - } - .table .cbi-input-text { - width: 100%; - } - .cbi-value-field .cbi-dropdown, - .cbi-value-field .cbi-input-select, - .cbi-value input[type="text"], - .cbi-value input[type="password"] { - min-width: 16rem; - } - #cbi-firewall-zone .cbi-input-select { - min-width: 4rem; - } - .main > .main-left > .nav > li, - .main > .main-left > .nav > li > a, - .main .main-left .nav > li > a:first-child, - .main > .main-left > .nav > .slide > .menu, - .main > .main-left > .nav > li > [data-title="Logout"] { - font-size: 0.9rem; - } - .main > .main-left > .nav > .slide > .slide-menu > li > a { - font-size: 0.7rem; - } - #modal_overlay { - top: 0rem; - } - [data-page="admin-network-firewall-forwards"] .table:not(.cbi-section-table) { - display: block; - } - [data-page="admin-network-firewall-forwards"] .table:not(.cbi-section-table), - [data-page="admin-network-firewall-rules"] .table:not(.cbi-section-table), - [data-page="admin-network-hosts"] .table, - [data-page="admin-network-routes"] .table { - overflow-y: visible; - } - .commandbox { - width: 32% !important; - } - .btn:not(button), - .cbi-button { - font-size: 0.8rem; - } -} -@media screen and (max-width: 1152px) { - header > .fill > .container > #logo { - display: none; - } - header > .fill > .container > .brand { - position: relative; - } - html, - .main { - overflow-y: visible; - } - .main > .loading > span { - top: 25%; - } - .main-left { - width: calc(0% + 13rem); - } - .main-right { - width: calc(100% - 13rem); - } - body:not(.logged-in) .showSide { - visibility: hidden; - width: 0; - margin: 0; - } - .node-main-login > .main .cbi-value-title { - text-align: left; - } - .cbi-value-title { - width: 12rem; - padding-right: 1rem; - } - .cbi-value-field .cbi-dropdown, - .cbi-value-field .cbi-input-select, - .cbi-value input[type="text"] { - width: 16rem; - min-width: 16rem; - } - /*.cbi-value input[type="password"],*/ - .cbi-value input[name^="pw"], - .cbi-value input[data-update="change"]:nth-child(2) { - width: 13rem !important; - min-width: 13rem; - } - #diag-rc-output > pre, - #command-rc-output > pre, - [data-page="admin-services-wol"] .notice code { - font-size: 1rem; - } - .table { - display: block; - } - .Interfaces .table { - overflow-x: hidden; - } - #packages.table { - display: grid; - } - .tr { - display: flex; - flex-direction: row; - flex-wrap: wrap; - } - .Overview .table[width="100%"] > .tr { - flex-wrap: nowrap; - } - .tr.placeholder { - border-bottom: thin solid #ddd; - } - .tr.placeholder > .td, - #cbi-firewall .tr > .td, - #cbi-network .tr:nth-child(2) > .td, - .cbi-section #wifi_assoclist_table .tr > .td { - border-top: 0; - } - .th, - .td { - display: inline-block; - align-self: flex-start; - flex: 2 2 10%; - text-overflow: ellipsis; - word-wrap: break-word; - } - .td select, - .td input[type="text"] { - width: 100%; - word-wrap: normal; - } - .td [data-dynlist] > input, - .td input.cbi-input-password { - width: calc(100% - 1.5rem); - } - .td[data-type="button"], - .td[data-type="fvalue"] { - flex: 1 1 12.5%; - text-align: left; - } - .th.cbi-value-field, - .td.cbi-value-field, - .th.cbi-section-table-cell, - .td.cbi-section-table-cell { - flex-basis: auto; - padding-top: 1rem; - } - .cbi-section-table-row { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); - } - .td.cbi-value-field, - .cbi-section-table-cell { - display: inline-block; - flex: 10 10 auto; - flex-basis: 50%; - text-align: center; - } - .td.cbi-section-actions { - vertical-align: bottom; - } - .tr.table-titles, - .tr.cbi-section-table-titles, - .tr.cbi-section-table-descr { - display: none; - } - .tr[data-title]::before, - .tr.cbi-section-table-titles.named::before { - font-size: 0.9rem; - display: block; - flex: 1 1 100%; - border-bottom: thin solid rgba(0, 0, 0, 0.26); - background: #e9ecef; - } - .td[data-title], - [data-page^="admin-status-realtime"] .td[id] { - text-align: left; - } - .td[data-title]::before { - display: block; - } - .cbi-button + .cbi-button { - margin-left: 0; - } - .td.cbi-section-actions > * > *, - .td.cbi-section-actions > * > form > * { - margin: 2.1px 3px; - } - .Firewall form { - position: static !important; - margin: 0 0 2rem 0; - padding: 2rem; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); - } - .Firewall form input { - width: 100% !important; - margin: 0; - margin-top: 1rem; - } - .Firewall .center, - .Firewall .center::before { - text-align: left !important; - } - .commandbox { - width: 100% !important; - margin-left: 0 !important; - } - .btn:not(button), - .cbi-button { - font-size: 0.8rem; - } -} -@media screen and (max-width: 768px) { - body { - font-size: 0.8rem; - } - .cbi-progressbar::after { - font-size: 0.5rem; - line-height: 1.5; - } - .main-left { - position: fixed; - z-index: 100; - width: 0; - } - .main-right { - width: 100%; - } - .showSide { - padding: 0.1rem; - position: relative; - z-index: 99; - display: inline-block !important; - } - .showSide::before { - font-family: 'argon' !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - content: "\e20e"; - font-size: 1.7rem; - } - header > .fill > .container > .brand { - display: inline-block; - } - .main > .main-left > .nav > .slide > .slide-menu > li > a { - font-size: 0.8rem; - } -} -@media screen and (max-width: 600px) { - .mobile-hide { - display: none; - } - #maincontent > .container { - margin: 0 1rem 1rem 1rem; - } - .cbi-value-title { - text-align: left; - } - [data-page="admin-system-flash"] legend { - padding: 1rem 0 1rem 1rem; - } - [data-page="admin-system-flash"] .cbi-section-descr { - padding: 1rem 0 1rem 1rem; - } - [data-page="admin-system-flash"] .cbi-value { - padding: 0 1rem; - } - [data-page="admin-network-dhcp"] [data-tab-active="true"] { - padding: 1rem 1rem !important; - } - .cbi-dynlist p { - padding: 0.5rem 1rem; - } - body { - overflow-x: hidden; - } - .node-main-login .main .main-right #maincontent .container .cbi-map .cbi-section .cbi-section-node .cbi-value .cbi-value-field { - width: 16rem; - } - .node-main-login footer { - display: none; - } - .tabs::-webkit-scrollbar, - .cbi-tabmenu::-webkit-scrollbar { - width: 0px; - height: 0px; - } - .cbi-value-field, - .cbi-value-description { - display: block !important; - padding-left: 0 !important; - padding-right: 0 !important; - } - [data-page="admin-system-admin-password"] .cbi-value-field { - display: table-cell !important; - } - .modal.cbi-modal { - max-width: 100%; - max-height: none; - } - .modal { - display: flex; - align-items: center; - flex-wrap: wrap; - width: 100%; - min-width: 270px; - max-width: 600px; - min-height: 32px; - margin: 5em auto; - padding: 1em; - border-radius: 3px !important; - background: #fff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); - } - .cbi-dropdown[open] > ul.dropdown { - left: 0.2rem !important; - right: 0 !important; - margin-bottom: 1rem; - } -} -@media screen and (min-width: 600px) { - ::-webkit-scrollbar { - width: 10px; - height: 10px; - } - ::-webkit-scrollbar, - ::-webkit-scrollbar-corner { - background: transparent; - } - ::-webkit-scrollbar-thumb { - background: #9e9e9e; - } - ::-webkit-scrollbar-thumb:hover { - background: #757575; - } - ::-webkit-scrollbar-thumb:active { - background: #424242; - } -} -@media screen and (max-width: 480px) { - .mobile-hide { - display: none; - } - .login-page .login-container { - margin-left: 0rem !important; - width: 100%; - } - .login-page .login-container .login-form .form-login .input-group::before { - color: #525461; - } - .login-page .login-container .login-form .form-login .input-group input { - color: #525461; - border-bottom: white 1px solid; - border-bottom: var(--white) 1px solid; - border-radius: 0; - } -} diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/dark.css b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/dark.css deleted file mode 100644 index 2b52701c30..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/dark.css +++ /dev/null @@ -1,646 +0,0 @@ -/** - * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template - * - * luci-theme-argon - * Copyright 2020 Jerryk - * - * Have a bug? Please create an issue here on GitHub! - * https://github.com/jerrykuku/luci-theme-argon/issues - * - * luci-theme-bootstrap: - * Copyright 2008 Steven Barth - * Copyright 2008 Jo-Philipp Wich - * Copyright 2012 David Menting - * - * MUI: - * https://github.com/muicss/mui - * - * luci-theme-material: - * https://github.com/LuttyYang/luci-theme-material/ - * - * Agron Theme - * https://demos.creative-tim.com/argon-dashboard/index.html - * - * Login background - * https://unsplash.com/ - * - * Licensed to the public under the Apache License 2.0 - */ -body { - background: #1e1e1e; - color: #cccccc; -} -.login-page .login-container .login-form { - background-color: #1e1e1e; -} -.login-page .login-container .login-form .brand { - color: #adb5bd; -} -.login-page .login-container .login-form .form-login .input-group::before { - color: #adb5bd; -} -.login-page .login-container .login-form .form-login .input-group input { - background-color: transparent !important; - color: #adb5bd; - border-bottom: #adb5bd 1px solid !important; - border-radius: 0 !important; - border-top: none !important; - border-left: none !important; - border-right: none !important; - box-shadow: none; -} -.login-page .login-container .login-form .form-login .cbi-button-apply { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; -} -.login-page .login-container .login-form .form-login .cbi-button-apply:hover, -.login-page .login-container .login-form .form-login .cbi-button-apply:focus { - opacity: 0.9; -} -header::after { - background-color: #1e1e1e !important; -} -.main .main-left { - background-color: #333333 !important; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.15); -} -.main .main-left .sidenav-header .brand { - color: #ccc; -} -.main .main-left .nav .slide .slide-menu .active a { - color: #cccccc; -} -.main .main-left .nav .slide .slide-menu .active a::after { - background-color: #cccccc !important; -} -.main .main-left .nav .slide .slide-menu li a { - color: #cccccc; -} -.main .main-left .nav .slide .slide-menu li a:hover { - background: none !important; -} -.main .main-left .nav .slide .menu.active { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; - color: #cccccc !important; -} -.main .main-left .nav .slide .menu.active a::after { - background-color: #cccccc !important; -} -.main .main-left .nav li a { - color: #cccccc !important; -} -.main .main-left .nav li a:hover { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; - color: #cccccc !important; -} -.main .main-left::-webkit-scrollbar-thumb { - background-color: #252526 !important; -} -.main .main-left::-webkit-scrollbar-track { - background-color: #333; -} -.main .main-right { - background-color: #1e1e1e; -} -h2 { - color: #ccc; - background: #333333; -} -h3 { - color: #ccc; - border-bottom: 0; - background: #333333; -} -a:-webkit-any-link { - color: -webkit-link; - cursor: pointer; - color: #483d8b; - color: var(--dark-primary); -} -input:-webkit-autofill { - background-color: #3c3c3c !important; -} -.cbi-value-field .cbi-input-apply, -.cbi-button-apply, -.cbi-button-edit { - color: #fff !important; - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; - border-color: #483d8b !important; - border-color: var(--dark-primary) !important; -} -.cbi-section em { - color: #ccc; -} -header.bg-primary { - background-color: #1e1e1e !important; -} -.cbi-map-descr { - color: #ccc; -} -.cbi-section { - background: none; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); -} -.panel-title { - color: #ccc; - background-color: #333333; - border-bottom: 0px; -} -div > table > tbody > tr:nth-of-type(2n), -div > .table > .tr:nth-of-type(2n) { - background-color: #252526; -} -table > tbody > tr > td, -table > tfoot > tr > td, -table > thead > tr > td { - color: #ccc; -} -fieldset > table > tbody > tr:nth-of-type(2n) { - background-color: #252526; -} -table > tbody > tr > td, -table > tfoot > tr > td, -table > thead > tr > td { - border-top: 1px solid #252526; -} -#swaptotal > div > div, -#swapfree > div > div, -#memfree > div > div, -#membuff > div > div, -#conns > div > div, -#memtotal > div > div { - background-color: #32325d !important; -} -#swaptotal > div > div > div > small, -#swapfree > div > div > div > small, -#memfree > div > div > div > small, -#membuff > div > div > div > small, -#conns > div > div > div > small, -#memtotal > div > div > div > small { - color: #ccc !important; -} -.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last { - line-height: 1.8em; -} -.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] { - border: 1px solid #999999 !important; - background-color: transparent !important; -} -.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] div { - background-color: #32325d !important; -} -table > tbody > tr > th, -table > tfoot > tr > th, -table > thead > tr > th { - background-color: #252526; - border-bottom: black 1px solid !important; -} -tr > td, -tr > th, -.tr > .td, -.tr > .th, -.cbi-section-table-row::before, -#cbi-wireless > #wifi_assoclist_table > .tr:nth-child(2) { - border-top: 0; -} -.cbi-rowstyle-2 { - background-color: #1e1e1e; -} -.cbi-rowstyle-1 { - background-color: #252526; -} -.cbi-section > h3:first-child, -.panel-title, -h3 { - color: #ccc; - border-bottom: 0; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} -h4 { - background-color: #1e1e1f; -} -.cbi-progressbar { - position: relative; - min-width: 170px; - height: 20px; - margin: 6px 0; - border: thin solid #999; - background: transparent; - border-radius: 0.2rem; - overflow: hidden; -} -.cbi-progressbar div { - background-color: #32325d !important; -} -.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { - background-color: #1e1e1f; -} -.cbi-button { - color: #ccc !important; - background-color: #483d8b; - background-color: var(--dark-primary); -} -.cbi-section-node { - background: none; - border-radius: 0 0 0.375rem 0.375rem; - padding: 0rem; -} -abbr { - color: #5e72e4; -} -div > table > tbody > tr:nth-of-type(2n), -div > .table > .tbody > .tr:nth-of-type(2n) { - background-color: #252526; -} -#content_syslog { - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); -} -#syslog { - color: #ccc; - background-color: #1e1e1e; -} -#iwsvg, -#iwsvg2, -#bwsvg { - overflow: hidden; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); - background-color: #1e1e1e !important; -} -.tabs { - background-color: #252526; -} -.tabs > li[class~="active"] > a { - color: #ccc; -} -.tabs > li[class~="active"], -.tabs > li:hover { - border-bottom: 0.18751rem solid #483d8b; - border-bottom: 0.18751rem solid var(--dark-primary); - color: #ccc; - background-color: #181819; -} -.cbi-tabmenu > li > a, -.tabs > li > a { - color: #ccc; -} -.cbi-tabmenu > li > a:hover, -.tabs > li > a:hover { - color: #ccc; -} -.cbi-tabmenu > li { - background: #2d2d2d; -} -.cbi-tabmenu li[class~="cbi-tab"] a { - color: #ccc; -} -.cbi-tabmenu > li:hover { - color: #ccc; - background: #2d2d2d; -} -.cbi-tabmenu > li[class~="cbi-tab"] { - background-color: #181819; -} -.cbi-tabcontainer > .cbi-value:nth-of-type(2n) { - background-color: #252526; -} -.cbi-value-title { - color: #ccc; -} -select, -input { - color: #ccc; - background-color: transparent !important; - border: 1px solid #252526; - box-shadow: none; -} -select:not([multiple="multiple"]):focus, -input:focus { - border-color: #483d8b !important; - border-color: var(--dark-primary) !important; - outline: 0; -} -select { - background-color: #1e1e1e !important; -} -#cbi-dropbear h2, -#cbi-dropbear .cbi-map-descr, -#cbi-dropbear .cbi-map-descr abbr, -#cbi-rc h2, -#cbi-rc .cbi-map-descr, -#cbi-distfeedconf h2, -#cbi-distfeedconf .cbi-map-descr, -#cbi-customfeedconf h2, -#cbi-customfeedconf .cbi-map-descr, -#cbi-download h2, -#cbi-filelist h2 { - color: #ccc !important; -} -.cbi-value-field > ul > li .ifacebadge { - background-color: #3c3c3c; -} -.cbi-section-descr { - color: #ccc; -} -.cbi-input-textarea { - background-color: #1e1e1e; - color: #ccc; -} -.cbi-section-remove:nth-of-type(2n), -.cbi-section-node:nth-of-type(2n) { - background-color: #1e1e1e; -} -.node-system-packages > .main table tr td:nth-last-child(1) { - color: #ccc; -} -.cbi-section-node .cbi-value { - padding: 1rem 1rem 0.3rem 1rem; -} -.ifacebox { - background-color: none; - border: 1px solid #1e1e1e; -} -.ifacebox-head { - color: #666; -} -.ifacebox-body { - background-color: #333; -} -.zonebadge strong { - color: #333; -} -.zonebadge > .ifacebadge { - background-color: #3c3c3c; -} -div.cbi-value var, -td.cbi-value-field var { - color: #5e72e4; -} -#diag-rc-output > pre { - color: #ccc; - background-color: #1e1e1e; -} -.node-services-vssr .block { - background-color: #3c3c3c !important; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); -} -.node-services-vssr .block h4 { - color: #ccc !important; -} -.node-services-vssr .status-bar { - color: #ccc; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); - background-color: #1e1e1e; -} -.node-services-vssr .cbi-section-table-row { - color: #ccc; - background-color: #3c3c3c !important; - box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.35); -} -.node-services-vssr .cbi-section-table-row.fast { - background: #483d8b !important; - background: var(--dark-primary) !important; - color: #fff; -} -.node-services-vssr .ssr-button { - color: #ccc; -} -.node-services-vssr .incon:nth-child(2) { - border-right: #1e1e1e 1px solid; -} -#xhr_poll_status > .label.success { - color: #ccc !important; - background-color: darkolivegreen !important; -} -.notice { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; -} -.cbi-input-find, -.cbi-input-save, -.cbi-button-add, -.cbi-button-save, -.cbi-button-find, -.cbi-input-reload, -.cbi-button-reload { - color: #fff !important; - background: darkolivegreen !important; - border-color: darkolivegreen !important; -} -.cbi-button-reset, -.cbi-input-remove { - color: #fff !important; - background-color: darkorange !important; - border-color: darkorange !important; -} -.cbi-page-actions .cbi-button-apply, -.cbi-section-actions .cbi-button-edit, -.cbi-button-edit.important, -.cbi-button-apply.important, -.cbi-button-reload.important, -.cbi-button-action.important { - border: 1px #483d8b solid !important; - border: 1px var(--dark-primary) solid !important; -} -.btn[value="Dismiss"], -.cbi-button[value="Terminate"], -.cbi-button[value="Reset"], -.cbi-button[value="Disabled"], -.cbi-button[onclick^="iface_reconnect"], -.cbi-button[onclick="handleReset(event)"], -.cbi-button-neutral[value="Disable"] { - font-weight: normal; - color: #fff; - border: thin solid darkorange !important; - background-color: darkorange !important; -} -fieldset[id^="cbi-apply-"] { - background-color: #333333; -} -#detail-bubble > div { - border: 1px solid #ccc; - border-radius: 2px; - padding: 5px; - background: #252525; -} -.ifacebox-head.active { - background-color: #32325d !important; -} -header .fill .status span[data-style="active"] { - color: #ccc !important; - background-color: darkolivegreen !important; -} -#cbi-wireless .td, -#cbi-network .tr:first-child > .td, -.table[width="100%"] > .tr:first-child > .td, -[data-page="admin-network-diagnostics"] .tr > .td, -.tr.table-titles > .th, -.tr.cbi-section-table-titles > .th { - background-color: #252526; - border-bottom: black 1px solid !important; -} -.network-status-table .ifacebox-body .ifacebadge { - background-color: #252526; - border-bottom: 0; - box-shadow: none; -} -td > .ifacebadge, -.td > .ifacebadge { - background-color: #483d8b; - background-color: var(--dark-primary); - border: 0; -} -.btn.danger, -.cbi-section-remove > .cbi-button, -.cbi-button-remove, -.cbi-button-reset, -.cbi-button-negative, -.cbi-button[value="Stop"], -.cbi-button[value="Kill"], -.cbi-button[onclick="reboot(this)"], -.cbi-button-neutral[value="Restart"] { - border: thin solid darkorange !important; - background-color: darkorange !important; -} -.cbi-section, -.cbi-section-error, -#iptables, -.Firewall form, -#cbi-network > .cbi-section-node, -#cbi-wireless > .cbi-section-node, -#cbi-wireless > #wifi_assoclist_table, -[data-tab-title], -[data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear), -[data-page="admin-system-opkg"] #maincontent > .container { - background: #1e1e1e !important; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); -} -div[style="width:100%;height:300px;border:1px solid #000;background:#fff"] { - background: transparent !important; -} -[data-page="admin-system-admin"] .cbi-map h2, -[data-page="admin-system-admin-password"] .cbi-map h2, -[data-page="admin-system-admin"] .cbi-map .cbi-map-descr, -[data-page="admin-system-admin-password"] .cbi-map .cbi-map-descr { - color: #ccc; -} -[data-page="admin-system-flash"] .modal label > input[type="checkbox"] { - top: -0.35rem; -} -[data-page="admin-system-flash"] .modal .btn { - white-space: normal !important; - background-color: darkseagreen; -} -[data-page="admin-system-flash"] .modal .alert-message { - background-color: transparent !important; -} -[data-page="admin-system-flash"] .modal .danger { - border: thin solid darkorange !important; - background-color: darkorange !important; -} -.cbi-value input[type="password"] + .cbi-button-neutral { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; -} -.btn, -button, -select, -input, -.cbi-dropdown { - border: 1px solid #3c3c3c !important; -} -.cbi-dropdown .preview { - color: #ccc; -} -.cbi-section-table-row { - background-color: #1e1e1e !important; -} -.modal { - background-color: #1e1e1e; -} -.cbi-button-positive { - color: #fff !important; - background-color: darkolivegreen !important; -} -[data-page="admin-system-flash"] legend { - color: #ccc; -} -.logout:before { - color: #adb5bd !important; -} -.cbi-dropdown[open] { - border-color: #483d8b !important; - border-color: var(--dark-primary) !important; -} -.cbi-dropdown[open] > ul.dropdown { - background: #252526 !important; - color: #ccc !important; - box-shadow: none; - border: 1px solid #3c3c3c !important; -} -.cbi-dropdown[open] > ul.dropdown li { - color: #ccc; - border-bottom: 1px solid #3c3c3c !important; -} -.cbi-dropdown[open] > ul.dropdown > li[selected] { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; - border-bottom: 1px solid #3c3c3c !important; -} -.cbi-dropdown[open] > ul.dropdown > li.focus { - background: #483d8b; - background: var(--dark-primary); - outline: none; -} -.ifacebadge { - background-color: #333333; -} -.cbi-dynlist > .item > span { - border: 1px solid #3c3c3c !important; -} -.cbi-page-actions .cbi-button-apply, -.cbi-section-actions .cbi-button-edit, -.cbi-button-edit, -.cbi-button-apply, -.cbi-button-reload, -.cbi-button-action, -.cbi-button[value="Submit"], -.cbi-button[value="Upload"], -.cbi-button[value$="Apply"], -.cbi-button[onclick="addKey(event)"] { - background: #483d8b !important; - background: var(--dark-primary) !important; -} -.btn.primary, -.cbi-page-actions .cbi-button-save, -.cbi-page-actions .cbi-button-apply + .cbi-button-save, -.cbi-button-add, -.cbi-button-save, -.cbi-button-positive, -.cbi-button-link, -.cbi-button[value="Enable"], -.cbi-button[value="Scan"], -.cbi-button[value^="Back"], -.cbi-button-neutral[onclick="handleConfig(event)"] { - background: #483d8b; - background: var(--dark-primary); -} -[data-page="admin-system-opkg"] h2 { - color: #ccc !important; -} -@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { - .login-page .login-container .login-form { - -webkit-backdrop-filter: blur(var(--blur-radius-dark)); - backdrop-filter: blur(var(--blur-radius-dark)); - background-color: rgba(0, 0, 0, var(--blur-opacity-dark)); - } -} -@media screen and (max-width: 480px) { - .node-status-iptables > .main div > .cbi-map > form { - background-color: #1e1e1e; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); - } -} diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/fonts.css b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/fonts.css deleted file mode 100644 index 87667288b9..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/fonts.css +++ /dev/null @@ -1,186 +0,0 @@ -/** - * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template - * - * luci-theme-argon - * Copyright 2020 Jerryk - * - * Have a bug? Please create an issue here on GitHub! - * https://github.com/jerrykuku/luci-theme-argon/issues - * - * luci-theme-bootstrap: - * Copyright 2008 Steven Barth - * Copyright 2008 Jo-Philipp Wich - * Copyright 2012 David Menting - * - * MUI: - * https://github.com/muicss/mui - * - * luci-theme-material: - * https://github.com/LuttyYang/luci-theme-material/ - * - * Agron Theme - * https://demos.creative-tim.com/argon-dashboard/index.html - * - * Login background - * https://unsplash.com/ - * - * Licensed to the public under the Apache License 2.0 - */ - - -@font-face { - font-family: 'Google Sans'; - src: url('data:application/font-woff2;charset=utf-8;base64,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') format('woff2'), - url('data:application/font-woff;charset=utf-8;base64,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') format('woff'); - font-weight: normal; - font-style: normal; -} - -/* Logo Font */ -@font-face { - font-family: 'TypoGraphica'; - src: url('../fonts/TypoGraphica.eot?#iefix') format('embedded-opentype'), url('../fonts/TypoGraphica.woff') format('woff'), url('../fonts/TypoGraphica.ttf') format('truetype'), url('../fonts/TypoGraphica.svg#TypoGraphica') format('svg'); - font-weight: normal; - font-style: normal; -} - -/* ICON Font */ - -@font-face { - font-family: 'argon'; - src: url('../fonts/argon.eot?u6kthm'); - src: url('../fonts/argon.eot?u6kthm#iefix') format('embedded-opentype'), - url('../fonts/argon.ttf?u6kthm') format('truetype'), - url('../fonts/argon.woff?u6kthm') format('woff'), - url('../fonts/argon.svg?u6kthm#argon') format('svg'); - font-weight: normal; - font-style: normal; - font-display: block; -} - -[class^="icon-"], -[class*=" icon-"] { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'argon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-expand_more:before { - content: "\e20b"; -} - -.icon-menu:before { - content: "\e20e"; -} - -.icon-favorite:before { - content: "\e291"; -} - -.icon-spinner:before { - content: "\e603"; -} - -.icon-delete:before { - content: "\e900"; -} - -.icon-edit:before { - content: "\e901"; -} - -.icon-use:before { - content: "\e902"; -} - -.icon-loading:before { - content: "\e903"; -} - -.icon-switch:before { - content: "\e904"; -} - -.icon-error:before { - content: "\e905"; -} - -.icon-dashboard:before { - content: "\e906"; -} - -.icon-logout:before { - content: "\e907"; -} - -.icon-Network:before { - content: "\e908"; -} - -.icon-services:before { - content: "\e909"; -} - -.icon-system:before { - content: "\e90a"; -} - -.icon-vpn:before { - content: "\e90b"; -} - -.icon-storage:before { - content: "\e90c"; -} - -.icon-statistics:before { - content: "\e90d"; -} - -.icon-hello-world:before { - content: "\e90e"; -} - -.icon-angle-right:before { - content: "\e90f"; -} - -.icon-password:before { - content: "\e910"; -} - -.icon-user:before { - content: "\e971"; -} - -.icon-question:before { - content: "\f059"; -} - -.icon-docker:before { - content: "\e911"; -} - -.icon-control:before { - content: "\e912"; -} - -.icon-statistics1:before { - content: "\e913"; -} - -.icon-asterisk:before { - content: "\e914"; -} - -.icon-app:before { - content: "\e915"; -} diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/pure-min.css b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/pure-min.css deleted file mode 100644 index 31d891db39..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/css/pure-min.css +++ /dev/null @@ -1,11 +0,0 @@ -/*! -Pure v2.0.3 -Copyright 2013 Yahoo! -Licensed under the BSD License. -https://github.com/pure-css/pure/blob/master/LICENSE.md -*/ -/*! -normalize.css v | MIT License | git.io/normalize -Copyright (c) Nicolas Gallagher and Jonathan Neal -*/ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:sans-serif}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto}.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}.pure-button{display:inline-block;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:rgba(0,0,0,.8);border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{background-image:-webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;border-color:#000}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;opacity:.4;cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{margin:0;border-radius:0;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 3px #ddd;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 3px #ddd;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=color]:focus,.pure-form input[type=date]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=email]:focus,.pure-form input[type=month]:focus,.pure-form input[type=number]:focus,.pure-form input[type=password]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=text]:focus,.pure-form input[type=time]:focus,.pure-form input[type=url]:focus,.pure-form input[type=week]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129fea}.pure-form input:not([type]):focus{outline:0;border-color:#129fea}.pure-form input[type=checkbox]:focus,.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus{outline:thin solid #129fea;outline:1px auto #129fea}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=color][disabled],.pure-form input[type=date][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=email][disabled],.pure-form input[type=month][disabled],.pure-form input[type=number][disabled],.pure-form input[type=password][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=text][disabled],.pure-form input[type=time][disabled],.pure-form input[type=url][disabled],.pure-form input[type=week][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form select:focus:invalid,.pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=checkbox]:focus:invalid:focus,.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=color],.pure-form-stacked input[type=date],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=email],.pure-form-stacked input[type=file],.pure-form-stacked input[type=month],.pure-form-stacked input[type=number],.pure-form-stacked input[type=password],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=text],.pure-form-stacked input[type=time],.pure-form-stacked input[type=url],.pure-form-stacked input[type=week],.pure-form-stacked label,.pure-form-stacked select,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned select,.pure-form-aligned textarea,.pure-form-message-inline{display:inline-block;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form .pure-input-rounded,.pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-3-4{width:75%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=color],.pure-group input[type=date],.pure-group input[type=datetime-local],.pure-group input[type=datetime],.pure-group input[type=email],.pure-group input[type=month],.pure-group input[type=number],.pure-group input[type=password],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=text],.pure-group input[type=time],.pure-group input[type=url],.pure-group input[type=week]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0 0}.pure-form-message,.pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu{-webkit-box-sizing:border-box;box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-item,.pure-menu-list{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-heading,.pure-menu-link{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-separator{display:inline-block;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-active>.pure-menu-children,.pure-menu-allow-hover:hover>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;padding:.5em 0}.pure-menu-horizontal .pure-menu-children .pure-menu-separator,.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-horizontal .pure-menu-children .pure-menu-separator{display:block;width:auto}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-disabled,.pure-menu-heading,.pure-menu-link{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent}.pure-menu-active>.pure-menu-link,.pure-menu-link:focus,.pure-menu-link:hover{background-color:#eee}.pure-menu-selected>.pure-menu-link,.pure-menu-selected>.pure-menu-link:visited{color:#000}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0} diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/favicon.ico b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/favicon.ico deleted file mode 100644 index 4611336803d49af0896adf2698cfaec54e96b800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15406 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 BLQ((# diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.eot b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.eot deleted file mode 100644 index efce636a84d6da92d5e40498fc945e93a90e4307..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33846 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 M>%j(UEQQ4X1Pp)(oB#j- diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.svg b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.svg deleted file mode 100644 index c555b7594f..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.svg +++ /dev/null @@ -1,1191 +0,0 @@ - - - - -Created by FontForge 20090622 at Tue Jul 23 03:29:07 2019 - By deploy user -TypoGraphica ©Sharkshock Productions 2015. All Rights Reserved - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.ttf b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.ttf deleted file mode 100644 index e11f89a0f749b95a9001e33de3100be7a0bb858e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33632 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 diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.woff b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/TypoGraphica.woff deleted file mode 100644 index fef38ca003e3d02372d80287057424843e6bd4f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17816 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 P{|_V(EFb^?vO@>^k62-U diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.eot b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.eot deleted file mode 100644 index e28f6db55e898dd8a1d9ead5318f7528ec9286c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8888 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 JAO6eX{{!P-6bb+U diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.svg b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.svg deleted file mode 100644 index 1e12b5f6a8..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.ttf b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.ttf deleted file mode 100644 index 3d062dcf264462eae98dbe9565560187362e7f5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8732 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 DNS*~X diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.woff b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/fonts/argon.woff deleted file mode 100644 index ef1e9c2c434f786a409d2e3ac47a5035872e98e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8808 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 b$ejqMF;>UORRG?q5=PhE&nt)jo%sI(Ce#aG diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/android-icon-192x192.png b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/android-icon-192x192.png deleted file mode 100644 index 7c17009d3d83e8d0aedf334165c8fcdf95df501b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6411 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 diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-144x144.png b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-144x144.png deleted file mode 100644 index 5308d66b779b26d1828690516a4ab5dc01b7cec9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5222 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 aWS&p(fIu!(CjkFLSj>$d8r2y%$NwKzaNBSI diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-60x60.png b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-60x60.png deleted file mode 100644 index f18dfa49cd35fa6d5cb882ea8ae703c852e313df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2561 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 diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-72x72.png b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/apple-icon-72x72.png deleted file mode 100644 index bb3e2423331068c72c5ad0e1bc49a51e1fdd71af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2877 zcmYjSc{tSD8=r0}vX+WuN!ij(L|36)A(HGRB#dS3W{feIF_y*{)QDuu_ERKVCP@?$ zB}*himadx^%Ph>8efxcTe*gT=bIyCt`8?12p3nO^?|Dv^i<6z~UX{Hd5J>ily^R|% z+y5StI{^zewnhMx1jOo^6$nJkl@bi=&4v0EVJB1CblC z89e_uQdAlfl0*$oB*$e6pm#V3ya*h><_BMnNoU1pi^DPWkR(b(3Ox|H9-h4Q+hXWI zhh=bqemnM8Sn?)-0}Euf_;&0v;P}6Fe3l46klDX&L<%D^l>r2aOkn_92#O{aivh=| z)a`K0Rw$YV;6P;P9X2?A6@sG1W^jR+(P_*G3?1--VmSc_QXp~-pyVI70>g3uN&sOP zmIucP5O^WLJUX2fo52r5Zw4i-$J}8DC2T;FC}C(Ca5O+EJb4q~6Ou>{PS^-V(Lzzw z$W$gkDKLHwNES#WDvcF{Tn8goMIvzkVik_#0h$2%1jLcTF${rF3emkLMBVhV2YMVLV-Z+2VVilugBp9TMRLqBOadySaBw2g(1J?rIKmCr3g>n z{{BN4il+1UVxdrcx0DWumQl!wPG@%y@E4bbs~f_I6eev;H1bt|y2piKw`0;73qJ)> zY3#;!AYV@Zh+uGB2x$1clMP00)V^Scq5-Y8!jkFj?>H}egs6LhgsknAHPP5NVPp#P zO+T-whSl(jgSpQyuNS1{^QxPfkty_bvWUYK|J?v-&rjq%|b4B{I> zX`QgJhTqg7#6AQ9ZX&Zb8{3)T=#Bg;I<9cDs*w?#u--c;>K)=`77KDK1sDQ=P@bU) zQ@|VeGtSM)9rXVHTi;Ie_qtP|9Q9D$soJzOb55=LbZr_(eY!8Lc8WiDdRYnt+Vl8| zjg`mEzNVSPn~D$>(59=8&nbtkS8P_x0ON#&2j1JK&3m8z2JvU}Ou_6EZ>(11n-Im8 zyrWVlur2s`Nj>&)S-hm=AF)ZUP2{9hyWXAsHz-|E$nP;{j7yMmll8R9!C!30?zf(} zqo1Ja#?(aJGwQH@#WQQ=^Vs4t$}IvBprNC!?Q36uZTZ&?n+#PmEs63r%a?r(ODKd{?T@Z5)Y8AG z(sQdLYPJ?T___REWoXoPui=cTfqFLX#Af0isGj6DQE|~F$`S|TJI|iD|Llc8j#qXC zLY0(B>+akyVs%{QCO6JW7{ANus_eL^{D;%fb*Rj%%J&?hVUv^lO0vpX8CFZp-NqouQt3Kng0xwwO%WQ7@@ z-AVs~*1{Z@&ebeK^?b#;&=9aB)v_~g=4dcQe08T&&Tf`Za@)Rh%1L)y?bfmb>>hp~ zc^%fJdY^>EnL<_f|0D-?(!4ub4W}Kvltxmr4EAp`6*aarXg6V=

    l43o znrK}nG+gtc>gLx>3i3^0x2Jw8raK+QC7@P3yP)0$WkXdfo&(SJ7avZx7?9gye*=Fh z7^#U3mveCVTs5L%k>I3&;}DR@Gbl&OjgX3u6tH~ViyWGN=xhHJmXqb75p?YjBWI!7 zXQOk-o;;ew1%hU;dPQNyb1>nPku#Dsp8165-LI*cm;3`hb@pts4Q9lGd3wP*%H&|w z#Y>P2Qdtzn;Zr^Nrr-KTgP$9mN;J=My)3^EvJclURe zzxaz!|C)L*;B4u@+V+tfo@4yjLty;pzP;DbiSEZ!{C2@hNG7H+L8>yc0aV=!#xqsf_rp|b*a?=O zdkVxzBZ`Xxvy1NF!Of&k>bbv|?No7}*&6tlNnM-BoI~GLkBVxAjG^a7Bjs-?yuPT{ zaCZ9d049+>}fFM zCuM`!K6?G2=tfO`8%FKLCo0w-FIs3?#=UL&dYAFn92b2cl7NrqHomX5^lw6=lPxZ;uW0c%Ty}83g+jQYV9D~#HHw~lDUs=oH8a=Hj`uh= z!BzHhEOD6gYOc$2dw7sCJ#_5-L+xxIh_vkW9Hl+35F2w2p`x1c-S~PyU#40vro1qf z*QDd|-L1B<&Pe-a=&Hu+2vT?+eYlk`b3I7pU$^P^vQ=OUo=@of5wksfpx*xpfoHPg z!}gpIjQ$ldh4xh7F>6ZzF;idtxrrv>4EFQ(l?hCGu#Ysm{Jp zXJe*zQIKhfkM@M2hi6x1BfELj=@yOO&>qu%Go-mBjM(Vo_eJ%p|Htkl^Wku3@3Zi>ZKo#XAY5CTVcnVy;=;QYF>U;ju%hgvOoXWk7$Wk8E$eH zKVY6^yFDE_AM>65v32|SDW&Lg9*xEG9bJW#WJW69eso4uvF_WS$dy0c_5LCYUSYC@ zDDu<@1|K+ld`9`>$0d)uPr%!slyse{)ip#KSRIf?hg$kD@Xdp+*gDxXU-D1?FEo)L Ao&W#< diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/arrow.svg b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/arrow.svg deleted file mode 100644 index be864c5ac9..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/arrow.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/browserconfig.xml b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/browserconfig.xml deleted file mode 100644 index c554148223..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/browserconfig.xml +++ /dev/null @@ -1,2 +0,0 @@ - -#ffffff \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-16x16.png b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/favicon-16x16.png deleted file mode 100644 index 308843a09261dc8c5d95f01a3b4e6592e1a83ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1019 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 aWS&p(fIu!(CjkFLSj>$d8r2y%$NwKzaNBSI diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/spinner.svg b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/spinner.svg deleted file mode 100644 index 6ddd3b3ed8..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/icon/spinner.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/argon.svg b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/argon.svg deleted file mode 100644 index 654e2fe243..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/argon.svg +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/bg1.jpg b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/bg1.jpg deleted file mode 100644 index 26a52a5351f3c68d326dcacbf98fe3cf9ac485a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159265 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 z 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

    Y2#d_pOEdAHz8x0cU)30N4^@W{p|L> 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

    ",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 - * - * Have a bug? Please create an issue here on GitHub! - * https://github.com/jerrykuku/luci-theme-argon/issues - * - * luci-theme-material: - * Copyright 2015 Lutty Yang - * https://github.com/LuttyYang/luci-theme-material/ - * - * Agron Theme - * https://demos.creative-tim.com/argon-dashboard/index.html - * - * Login background - * https://unsplash.com/ - * Font generate by Icomoon - * - * Licensed to the public under the Apache License 2.0 - */ - -document.addEventListener('luci-loaded', function(ev) { -(function ($) { - - /** - * trim text, Remove spaces, wrap - * @param text - * @returns {string} - */ - function trimText(text) { - return text.replace(/[ \t\n\r]+/g, " "); - } - - var lastNode = undefined; - var mainNodeName = undefined; - - var nodeUrl = ""; - (function(node){ - var luciLocation; - if (node[0] == "admin"){ - luciLocation = [node[1], node[2]]; - }else{ - luciLocation = node; - } - - for(var i in luciLocation){ - nodeUrl += luciLocation[i]; - if (i != luciLocation.length - 1){ - nodeUrl += "/"; - } - } - })(luciLocation); - - /** - * get the current node by Burl (primary) - * @returns {boolean} success? - */ - function getCurrentNodeByUrl() { - var ret = false; - if (!$('body').hasClass('logged-in')) { - luciLocation = ["Main", "Login"]; - return true; - } - - $(".main > .main-left > .nav > .slide > .menu").each(function () { - var ulNode = $(this); - ulNode.next().find("a").each(function () { - var that = $(this); - var href = that.attr("href"); - - if (href.indexOf(nodeUrl) != -1) { - ulNode.click(); - ulNode.next(".slide-menu").stop(true, true); - lastNode = that.parent(); - lastNode.addClass("active"); - ret = true; - return true; - } - }); - }); - return ret; - } - - /** - * menu click - */ - $(".main > .main-left > .nav > .slide > .menu").click(function () { - var ul = $(this).next(".slide-menu"); - var menu = $(this); - $(".main > .main-left > .nav > .slide > .menu").each(function () { - var ulNode = $(this); - ulNode.removeClass("active"); - ulNode.next(".slide-menu").stop(true).slideUp("fast") - }); - if (!ul.is(":visible")) { - menu.addClass("active"); - ul.addClass("active"); - ul.stop(true).slideDown("fast"); - } else { - ul.stop(true).slideUp("fast", function () { - menu.removeClass("active"); - ul.removeClass("active"); - }); - } - return false; - }); - - /** - * hook menu click and add the hash - */ - $(".main > .main-left > .nav > .slide > .slide-menu > li > a").click(function () { - if (lastNode != undefined) lastNode.removeClass("active"); - $(this).parent().addClass("active"); - return true; - }); - - /** - * fix menu click - */ - $(".main > .main-left > .nav > .slide > .slide-menu > li").click(function () { - if (lastNode != undefined) lastNode.removeClass("active"); - $(this).addClass("active"); - window.location = $($(this).find("a")[0]).attr("href"); - return false; - }); - - /** - * get current node and open it - */ - if (getCurrentNodeByUrl()) { - mainNodeName = "node-" + luciLocation[0] + "-" + luciLocation[1]; - mainNodeName = mainNodeName.replace(/[ \t\n\r\/]+/g, "_").toLowerCase(); - $("body").addClass(mainNodeName); - } - - /** - * Sidebar expand - */ - var showSide = false; - $(".showSide").click(function () { - if (showSide) { - $(".darkMask").stop(true).fadeOut("fast"); - $(".main-left").width(0); - $(".main-right").css("overflow-y", "visible"); - showSide = false; - } else { - $(".darkMask").stop(true).fadeIn("fast"); - $(".main-left").width("13rem") - $(".main-right").css("overflow-y", "hidden"); - showSide = true; - } - }); - - $(".darkMask").click(function () { - if (showSide) { - showSide = false; - $(".darkMask").stop(true).fadeOut("fast"); - $(".main-left").width(0); - $(".main-right").css("overflow-y", "visible"); - } - }); - - $(window).resize(function () { - if ($(window).width() > 921) { - $(".main-left").css("width", ""); - $(".darkMask").stop(true); - $(".darkMask").css("display", "none"); - showSide = false; - } - }); - - /** - * fix legend position - */ - $("legend").each(function () { - var that = $(this); - that.after("" + that.text() + ""); - }); - - $(".cbi-section-table-titles, .cbi-section-table-descr, .cbi-section-descr").each(function () { - var that = $(this); - if (that.text().trim() == ""){ - that.css("display", "none"); - } - }); - - $(".main-right").focus(); - $(".main-right").blur(); - $("input").attr("size", "0"); - $(".cbi-button-up").val("__"); - $(".cbi-button-down").val("__"); - $(".slide > a").removeAttr("href"); - - if (mainNodeName != undefined) { - console.log(mainNodeName); - switch (mainNodeName) { - case "node-status-system_log": - case "node-status-kernel_log": - $("#syslog").focus(function () { - $("#syslog").blur(); - $(".main-right").focus(); - $(".main-right").blur(); - }); - break; - case "node-status-firewall": - var button = $(".node-status-firewall > .main fieldset li > a"); - button.addClass("cbi-button cbi-button-reset a-to-btn"); - break; - case "node-system-reboot": - var button = $(".node-system-reboot > .main > .main-right p > a"); - button.addClass("cbi-button cbi-input-reset a-to-btn"); - break; - } - } - -})(jQuery); -}); diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/less/cascade.less b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/less/cascade.less deleted file mode 100644 index 1948d38300..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/less/cascade.less +++ /dev/null @@ -1,3986 +0,0 @@ -// out: ../css/cascade.css, compress: true , sourceMap: false -/** - * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template - * - * luci-theme-argon - * Copyright 2020 Jerrykuku - * - * Have a bug? Please create an issue here on GitHub! - * https://github.com/jerrykuku/luci-theme-argon/issues - * - * luci-theme-material: - * Copyright 2015 Lutty Yang - * https://github.com/LuttyYang/luci-theme-material/ - * - * Agron Theme - * https://demos.creative-tim.com/argon-dashboard/index.html - * - * Login background - * https://unsplash.com/ - * Font generate by Icomoon - * - * Licensed to the public under the Apache License 2.0 - */ - -/* - * Include base and custom css - */ - -@import url("fonts.css?v=3"); -@import url("pure-min.css?v=1"); - -:root { - --primary: #5e72e4; - --dark-primary: #483d8b; - --main-color: #09c; - --header-bg: #09c; - --header-color: #fff; - --bar-bg: #5e72e4; - --menu-bg-color: #fff; - --menu-color: #5f6368; - --menu-color-hover: #202124; - --main-menu-color: #202124; - --submenu-bg-hover: #d4d4d4; - --submenu-bg-hover-active: #09c; - --blue: #5e72e4; - --indigo: #5603ad; - --purple: #8965e0; - --pink: #f3a4b5; - --red: #f5365c; - --orange: #fb6340; - --yellow: #ffd600; - --green: #2dce89; - --teal: #11cdef; - --cyan: #2bffc6; - --white: #fff; - --gray: #8898aa; - --gray-dark: #32325d; - --light: #ced4da; - --lighter: #e9ecef; - --secondary: #f7fafc; - --success: #2dce89; - --info: #11cdef; - --warning: #fb6340; - --danger: #f5365c; - --light: #adb5bd; - --dark: #212529; - --default: #172b4d; - --white: #fff; - --neutral: #fff; - --darker: black; - --background-color: #f4f5f7; - --login-form-bg-color: rgba(244, 245, 247, 0.8); - --breakpoint-xs: 0; - --breakpoint-sm: 576px; - --breakpoint-md: 768px; - --breakpoint-lg: 992px; - --breakpoint-xl: 1200px; - --blur-radius: 10px; - --blur-opacity: 0.5; - --blur-radius-dark: 10px; - --blur-opacity-dark: 0.5; - --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; - --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; -} - -html, -body { - margin: 0px; - padding: 0px; - height: 100%; - font-size: 16px; - font-family: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; - font-family: var(--font-family-sans-serif); -} - -html { - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} - -body { - font-size: 0.875rem; - background-color: #f4f5f7; - background-color: var(--background-color); - color: #32325d; - color: var(--gray-dark); -} - -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -::selection { - background-color: #5e72e4; - background-color: var(--primary); - color: #ffffff; - color: var(--white); -} - -a:link, -a:visited, -a:active { - color: #5e72e4; - color: var(--primary); - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -li { - list-style-type: none; -} - - - -.table { - position: relative; - display: table; -} - -.tr { - display: table-row; -} - -.thead { - display: table-header-group; -} - -.tbody { - display: table-row-group; -} - -.tfoot { - display: table-footer-group; -} - -.td, -.th { - line-height: normal; - display: table-cell; - padding: .5em; - text-align: center; - vertical-align: middle; -} - -.th { - font-weight: bold; - white-space: nowrap; -} - -.tr.placeholder { - height: 4em; -} - -.tr.placeholder>.td { - line-height: 3; - position: absolute; - right: 0; - bottom: 0; - left: 0; - padding: 0.4rem 0 !important; - text-align: center !important; - background: inherit; -} - -.td[width="33%"] { - padding: 1.1em 1.5rem; -} - -.table[width="33%"], -.th[width="33%"], -.td[width="33%"] { - width: 33%; -} - -.table[width="100%"], -.th[width="100%"], -.td[width="100%"] { - width: 100%; -} - -.col-1 { - flex: 1 1 30px !important; -} - -.col-2 { - flex: 2 2 60px !important; -} - -.col-3 { - flex: 3 3 90px !important; -} - -.col-4 { - flex: 4 4 120px !important; -} - -.col-5 { - flex: 5 5 150px !important; -} - -.col-6 { - flex: 6 6 180px !important; -} - -.col-7 { - flex: 7 7 210px !important; -} - -.col-8 { - flex: 8 8 240px !important; -} - -.col-9 { - flex: 9 9 270px !important; -} - -.col-10 { - flex: 10 10 300px !important; -} - -* { - box-sizing: border-box; - margin: 0; - padding: 0; - -} - -.h1, -.h2, -.h3, -.h4, -.h5, -.h6, -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: inherit; - font-weight: normal; - line-height: 1.1 !important; - color: inherit; -} - - - -select { - padding: .36rem .8rem; - color: #555; - border: thin solid #ccc; - background-color: #fff; - background-image: none; -} - -.btn, -button, -select, -input, -.cbi-dropdown { - line-height: 1.5rem; - padding: .5rem .75rem; - margin: 0.25rem 0.1rem; - color: #8898aa; - border: 1px solid #dee2e6; - - border-radius: .25rem; - outline: 0; - background-image: none; - box-shadow: none; - transition: box-shadow .15s ease; -} - -select, -.cbi-dropdown { - width: inherit; - cursor: default; -} - -select:not([multiple="multiple"]):focus, -input:not(.cbi-button):focus, -.cbi-dropdown:focus { - border-color: #5e72e4; - border-color: var(--primary); - box-shadow: 0 3px 9px rgba(50, 50, 9, 0), 3px 4px 8px rgba(94, 114, 228, .1); -} - -.cbi-dropdown, -select[multiple="multiple"] { - height: auto; -} - -pre { - overflow: auto; -} - -code { - font-size: 1rem; - font-size-adjust: .35; - padding: 1px 3px; - color: #101010; - border-radius: 2px; - background: #ddd; -} - -abbr { - cursor: help; - text-decoration: underline; - color: #5e72e4; - color: var(--primary); -} - -hr { - margin: 1rem 0; - opacity: .1; - border-color: #eee; -} - - - - -/*********************** -* -* Login Page -* -***************************/ - -.login-page { - height: 100%; - - .video { - position: absolute; - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - background-color: #000; - background-color: var(--darker); - overflow: hidden; - video { - width: 100%; - height: auto; - } - } - - .volume-control{ - position: fixed; - right: 1rem; - top: 1rem; - width: 1.5rem; - height: 1.5rem; - z-index: 5000; - cursor: pointer; - background-size: contain; - background-image: url(../img/volume_high.svg); - &.mute{ - background-image: url(../img/volume_off.svg); - } - } - - .main-bg{ - position: absolute; - width: 100%; - height: 100%; - left: 0; - top: 0; - background-image: url(../img/blank.png); - background-repeat: no-repeat; - background-position: center; - background-size: cover; - transition: all 0.5s; - } - - .login-container { - height: 100%; - margin-left: 4.5rem; - position: absolute; - top: 0px; - display: flex; - flex-direction: column; - -webkit-box-pack: center; - justify-content: center; - align-items: flex-start; - min-height: 100%; - z-index: 2; - width: 420px; - box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 35px -5px; - margin-left: 5%; - background: transparent; - - .login-form { - display: flex; - flex-direction: column; - -webkit-box-align: center; - align-items: center; - position: absolute; - top: 0px; - width: 100%; - min-height: 100%; - max-width: 420px; - background-color: #fff; - background-color: var(--white); - - .brand { - display: flex; - -webkit-box-align: center; - align-items: center; - margin: 50px auto 100px 50px; - color: #525461; - color: var(--default); - - .icon { - width: 50px; - height: auto; - margin-right: 25px; - } - - .brand-text { - font-size: 1.25rem; - font-weight: 700; - font-family: "TypoGraphica"; - - } - - &:hover { - text-decoration: none; - } - } - - .form-login { - width: 100%; - padding: 20px 50px; - box-sizing: border-box; - - .errorbox { - text-align: center; - color: #fb6340; - color: var(--warning); - padding-bottom: 2rem; - } - - .input-group { - margin-bottom: 1.25rem; - position: relative; - - &::before { - font-family: 'argon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - color: #525461; - color: var(--default); - font-size: 1.5rem; - position: absolute; - z-index: 100; - left: 10px; - top: 10px; - } - - .border { - position: absolute; - width: 100%; - height: 1px; - bottom: 0; - border-bottom: 1px #5e72e4 solid; - border-bottom: 1px var(--primary) solid; - transform: scaleX(0); - transition: transform 0.3s; - } - - input { - font-size: 1rem; - line-height: 1.5em; - display: block; - width: 100%; - padding: .5rem .75rem 0.5rem 3rem; - margin: 0.825rem 0; - box-sizing: border-box; - transition: all .3s cubic-bezier(.68, -.55, .265, 1.55); - color: #525461; - color:var(--default); - border: 0; - border-radius: 0; - border-bottom: 1px solid #fff; - border-bottom: 1px solid var(--white); - background-color: transparent; - background-clip: padding-box; - box-shadow: 0 3px 2px rgba(233, 236, 239, .05); - outline: none; - - &:focus+.border { - transform: scaleX(1); - } - } - - .cbi-input-password { - margin-bottom: 2rem; - position: relative; - } - } - - .user-icon::before { - content: "\e971"; - } - - .pass-icon::before { - content: "\e910"; - - } - } - - .cbi-button-apply { - width: 100% !important; - box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 50px 0px; - font-weight: 600; - font-size: 15px; - color: #fff; - color: var(--white); - text-align: center; - width: 100%; - cursor: pointer; - min-height: 50px; - background-color: #5e72e4 !important; - background-color: var(--primary) !important; - border-radius: 6px; - outline: none; - border-width: initial; - border-style: none; - border-color: initial; - border-image: initial; - padding: 10px 0px; - margin: 30px 0px 100px; - transition: all 0.3s !important; - letter-spacing: 0.8rem; - - &:hover, - :focus { - opacity: 0.9; - } - } - } - - footer { - box-sizing: border-box; - width: 100%; - text-align: center; - line-height: 1.6rem; - display: flex; - justify-content: space-evenly; - margin-top: auto; - padding: 0px 0px 30px; - z-index: 10; - color: #525461; - color: var(--default); - position: absolute; - bottom: 0; - .ftc{ - position: absolute; - bottom: 30px; - width: 100%; - } - - .luci-link { - display: block; - } - } - } -} - -@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { - .login-page .login-container .login-form { - -webkit-backdrop-filter: blur(var(--blur-radius)); - backdrop-filter: blur(var(--blur-radius)); - background-color: rgba(244, 245, 247, var(--blur-opacity)); - - } -} - - -header, -.main { - width: 100%; -} - - -footer { - font-size: .8rem; - overflow: hidden; - padding: 1rem; - text-align: right; - white-space: nowrap; - color: #aaa; -} - -footer>a { - text-decoration: none; - color: #aaa; -} - -small { - font-size: 90%; - line-height: 1.42857143; - white-space: normal; -} - -.main { - position: relative; - top: 0; - bottom: 0; - overflow-y: auto; - height: 100%; -} - -.main-left { - position: fixed; - top: 0; - float: left; - overflow-x: auto; - width: 15%; - width: calc(0% + 15rem); - height: 100%; - background-color: #fff; - background-color: var(--menu-bg-color); - box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; - overflow-x: auto; - position: fixed; - z-index: 100; - - - .sidenav-header { - padding: 1.5rem; - text-align: center; - - .brand { - font-size: 1.8rem; - color: #5e72e4; - color: var(--primary); - font-family: "TypoGraphica"; - text-decoration: none; - text-align: center; - cursor: default; - vertical-align: text-bottom; - white-space: nowrap; - } - } - - &::-webkit-scrollbar { - width: 5px; - height: 1px; - } - - &::-webkit-scrollbar-thumb { - background-color: #f6f9fc - } - - &::-webkit-scrollbar-track { - background-color: #fff; - } -} - -.main-right { - float: right; - width: 85%; - width: calc(100% - 15rem); - height: 100%; - transition: all 0.2s; -} - -.main-right>#maincontent { - position: relative; - z-index: 50; -} - -.pull-right { - float: right; -} - -.pull-left { - float: left; -} - -.nowrap:not(.td) { - white-space: nowrap; -} - -[disabled="disabled"] { - pointer-events: none; -} - -header { - color: #fff; - color: var(--header-color); - padding: 0; - position: relative; - - &.bg-primary { - background-color: #5e72e4 !important; - background-color: var(--primary) !important; - } - - &::after { - content: ""; - position: absolute; - height: 2rem; - width: 100%; - background-color: #5e72e4 !important; - background-color: var(--primary) !important; - } - - .fill { - padding: 0.8rem 0; - border-bottom: 0px solid rgba(255, 255, 255, .08) !important; - - .container { - height: 2rem; - padding: 0 1.25rem; - - .showSide { - display: none; - color: #fff; - font-size: 1.4rem; - - &:hover { - text-decoration: none; - } - } - - .brand { - font-size: 1.5rem; - color: #fff; - font-family: "TypoGraphica"; - text-decoration: none; - padding-left: 1rem; - cursor: default; - vertical-align: text-bottom; - display: none; - } - - .pull-right { - float: right; - margin-top: 0rem; - display: flex; - } - } - - .status { - position: absolute; - top: 25%; - right: 1.25rem; - float: right; - - span[data-indicator="poll-status"] { - display: block; - font-size: 0.8rem; - font-weight: bold; - padding: 0.3rem 0.8rem; - white-space: nowrap; - text-decoration: none; - text-transform: uppercase; - text-shadow: none; - border-radius: 3px; - cursor: pointer; - transition: all 0.3s; - } - - span[data-style="active"] { - color: #32325d !important; - background-color: #fff; - - } - - span[data-style="inactive"] { - color: #ffffff !important; - background-color: #32325d; - - } - } - } -} - - - -#xhr_poll_status { - display: flex; - margin-left: 0.5rem; - - * { - color: #fff; - } -} - -div[style="width:100%;height:300px;border:1px solid #000;background:#fff"] { - border: 0 !important; -} - -.danger { - background-color: #ff7d60 !important; -} - -.warning { - background-color: #f0e68c !important; -} - -.success { - background-color: #5cb85c !important; -} - -.notice { - background-color: #11cdef !important; - color: #fff; -} - -.error { - color: #f00; -} - -.alert, -.alert-message { - font-weight: bold; - margin-bottom: 1em; - padding: 1rem; - border: 0; - border-radius: 0.375rem !important; - background-color: #fff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12); - text-shadow: 1px 1px rgba(0, 0, 0, .1); - - &.error { - background-color: #ffd600; - } - - h4 { - padding: 0rem 1.5rem 0.75rem 0rem; - } - - .btn { - height: auto; - } -} - -.alert-message>h4 { - font-size: 110%; - font-weight: bold; -} - -.alert-message>* { - margin: .5rem 0; -} - -.alert-message .btn { - padding: .3rem .6rem; -} - -.container .alert, -.container .alert-message { - margin-top: 1rem; -} - - -/* - * Main Menu - */ - -.main { - .main-left { - transition: all 0.2s; - - .nav { - margin-top: 0.5rem; - - >li>a:first-child { - display: block; - margin: 0.1rem .5rem 0.1rem .5rem; - padding: .675rem 0 .675rem 2.5rem; - border-radius: .375rem; - text-decoration: none; - cursor: default; - font-size: 1rem; - transition: all 0.2s; - position: relative; - - &.active { - color: #fff; - background: #5e72e4; - background: var(--primary); - - &::before { - color: #fff !important; - } - - &::after { - transform: rotate(90deg); - color: #fff !important; - } - } - - &:hover { - cursor: pointer; - color: #fff; - background: #5e72e4; - background: var(--primary); - - &::before { - color: #fff !important; - } - } - - &::before { - font-family: 'argon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - position: absolute; - left: 0.8rem; - padding-top: 3px; - transition: all 0.3s; - content: "\e915"; - color: #5e72e4; - color: var(--primary); - } - } - - li { - padding: 0.5rem 1rem; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - padding: 0; - - a { - display: block; - color: #5f6368; - color: var(--menu-color); - } - - &.slide { - padding: 0; - - ul { - display: none; - } - - - - &:hover { - background: none; - } - - .slide-menu { - margin: 0 0.5rem 0 2.5rem; - padding: 0rem 0.5rem; - - &.active { - display: block; - } - - - li { - position: relative; - border-radius: 0.375rem; - margin: 0; - padding: 0.5rem 0rem; - background: none; - list-style: none; - - a { - white-space: nowrap; - text-decoration: none; - } - - &::after { - content: ""; - position: absolute; - left: 0; - bottom: 0; - width: 0; - height: 2px; - background-color: #5e72e4; - background-color: var(--primary); - transition: all 0.2s; - } - - &:hover { - background: none; - - &::after { - width: 100%; - } - } - - } - - .active { - background: none; - - color: var(--menu-color); - - a { - color: var(--menu-color); - } - - &::after { - content: ""; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 2px; - background-color: #5e72e4; - background-color: var(--primary); - transition: all 0.2s; - } - - &:hover { - - background: none; - - &::after { - width: 100%; - } - } - } - } - - } - - - - .menu { - display: block; - margin: 0.1rem .5rem 0.1rem .5rem; - padding: .675rem 0 .675rem 2.5rem; - border-radius: .375rem; - text-decoration: none; - cursor: default; - font-size: 1rem; - transition: all 0.2s; - position: relative; - - &.active { - color: #fff; - background: #5e72e4; - background: var(--primary); - - &::before { - color: #fff !important; - } - - &::after { - transform: rotate(90deg); - color: #fff !important; - } - } - - &:hover { - cursor: pointer; - color: #fff; - background: #5e72e4; - background: var(--primary); - - &::before { - color: #fff !important; - } - } - - &::before { - font-family: 'argon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - position: absolute; - left: 0.8rem; - padding-top: 3px; - transition: all 0.3s; - content: "\e915"; - color: #5e72e4; - color: var(--primary); - } - - &::after { - position: absolute; - right: 0.5rem; - top: 0.8rem; - font-family: 'argon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - content: '\e90f'; - transition: all .15s ease; - color: #ced4da; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - transition: all 0.3s; - } - } - - - .menu[data-title=Status]:before { - content: "\e906"; - color: #5e72e4; - color: var(--primary); - } - - .menu[data-title=System]:before { - content: "\e90a"; - color: #fb6340; - } - - .menu[data-title=Services]:before { - content: "\e909"; - color: #11cdef; - } - - .menu[data-title=NAS]:before { - content: "\e90c"; - color: #f3a4b5; - } - - .menu[data-title=VPN]:before { - content: "\e90b"; - color: #8965e0; - } - - .menu[data-title=Network]:before { - content: "\e908"; - color: #8965e0; - } - - .menu[data-title=Bandwidth_Monitor]:before { - content: "\e90d"; - color: #2dce89; - } - - .menu[data-title=Docker]:before { - content: "\e911"; - color: #6699ff; - } - - .menu[data-title=Statistics]:before { - content: "\e913"; - color: #8965e0; - } - - .menu[data-title=Control]:before { - content: "\e912"; - color: #5e72e4; - color: var(--primary); - } - - .menu[data-title=Asterisk]:before { - content: "\e914"; - color: #fb6340; - } - - a[data-title=Logout]:before { - content: "\e907"; - color: #adb5bd; - } - } - } - } -} - -.lg { - margin: 0; - padding: 0 !important; -} - -.logout { - display: block; - margin: 0.8rem .5rem 0.1rem 0.5rem; - padding: .675rem 0 .675rem 2.5rem; - border-radius: .375rem; - text-decoration: none; - font-size: 1rem; - transition: all 0.2s; - position: relative; -} - -.logout:before { - font-family: 'argon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - position: absolute; - left: 0.8rem; - padding-top: 3px; - transition: all 0.3s; - content: "\e907"; - color: #32325d !important; -} - - -body[class*="node-"]>.main>.main-left>.nav>.slide>.menu::before { - transition: transform .1s ease-in-out; -} - -body[class*="node-"]>.main>.main-left>.nav>.slide>.menu.active::before { - transition: transform .2s ease-in-out; -} - -.main>.main-left[style*="overflow: hidden"]>.nav>.slide>.menu::before { - display: none; -} - - - - -#maincontent>.container { - margin: 0 1.25rem 1rem 1.25rem; -} - -ul { - line-height: normal; -} - -li { - list-style-type: none; -} - -h1 { - font-size: 2rem; - padding-bottom: 10px; - border-bottom: thin solid #eee; -} - -h2 { - margin: 0 0 1rem 0; - font-size: 1.25rem; - letter-spacing: 0.1rem; - padding: 1rem 1.5rem; - color: #32325d; - border-radius: .375rem; - background: #fff; - box-shadow: 0 4px 8px rgba(0, 0, 0, .03); - -} - -h3 { - font-size: 1.1rem; - line-height: 1; - display: block; - width: 100%; - margin: 0; - margin-bottom: 0; - padding: 0.8755rem 1.5rem; - color: #32325d; - color: var(--gray-dark); - border-radius: .375rem; - background: #fff; -} - -h4 { - margin: 0; - padding: 0.75rem 1.5rem; - font-size: 0.7rem; - font-weight: 600; - color: #525f7f; - background-color: #e9ecef; - background-color: var(--lighter); - - em { - padding: 0 0.5rem; - } - -} - -h5 { - font-size: 1rem; - margin: 2rem 0 0 0; - padding-bottom: 10px; -} - -.cbi-section, -.cbi-section-error, -#iptables, -.Firewall form, -#cbi-network>.cbi-section-node, -#cbi-wireless>.cbi-section-node, -#cbi-wireless>#wifi_assoclist_table, -[data-tab-title], -[data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear), -[data-page="admin-system-opkg"] #maincontent>.container { - font-family: inherit; - font-weight: normal; - font-style: normal; - line-height: normal; - min-width: inherit; - margin: 1.5rem 0; - padding: 0rem; - border: 0; - - border-radius: 0.375rem; - background-color: #fff; - box-shadow: 0 0 1rem 0 rgba(136, 152, 170, .15) -} - -.cbi-modal .cbi-section, -.cbi-section .cbi-section { - padding: 0; - box-shadow: none; -} - -.cbi-modal .cbi-tabmenu { - margin-left: 0; -} - -.cbi-map-descr, -.cbi-section-descr { - font-size: small; - line-height: 1.42857143; - padding: .5rem 1.5rem; -} - -.cbi-map-descr+fieldset { - margin-top: 1rem; -} - -.cbi-map-descr>abbr { - cursor: help; - text-decoration: underline; -} - -.cbi-section>legend { - display: none !important; -} - -fieldset>fieldset, -.cbi-section>.cbi-section { - margin: 0; - padding: 0; - border: 0; - box-shadow: none; -} - -.cbi-section>h3:first-child, -.panel-title { - font-size: 1.1rem; - line-height: 1; - display: block; - width: 100%; - margin: 0; - margin-bottom: 0; - padding: 0.8755rem 1.5rem; - color: #32325d; - color: var(--gray-dark); - -} - -.cbi-section>h3:first-child, -.cbi-section>h4:first-child, -.cbi-section>p:first-child, -[data-tab-title]>h3:first-child, -[data-tab-title]>h4:first-child, -[data-tab-title]>p:first-child { - padding: 1rem; -} - -.cbi-section p { - padding: 1rem; -} - -table { - border-spacing: 0; - border-collapse: collapse; -} - -table, -.table { - overflow-y: hidden; - width: 100%; - font-size: 90%; -} - -.table .table-titles th { - background-color: #e9ecef; - background-color: var(--lighter); -} - -table>tbody>tr>td, -table>tbody>tr>th, -table>tfoot>tr>td, -table>tfoot>tr>th, -table>thead>tr>td, -table>thead>tr>th, -.table>.tbody>.tr>.td, -.table>.tbody>.tr>.th, -.table>.tfoot>.tr>.td, -.table>.tfoot>.tr>.th, -.table>.thead>.tr>.td, -.table>.thead>.tr>.th, -.table>.tr>.td.cbi-value-field, -.table>.tr>.th.cbi-section-table-cell { - padding: .5rem; -} - -.container>.cbi-section:first-of-type>.table[width="100%"]>.tr>.td { - padding: .6rem; -} - -.cbi-section-table-cell { - line-height: 1.1; - align-self: flex-end; - flex: 1 1 auto; -} - -tr>td, -tr>th, -.tr>.td, -.tr>.th, -.cbi-section-table-row::before, -#cbi-wireless>#wifi_assoclist_table>.tr:nth-child(2) { - border-top: thin solid #ddd; - padding: 1.1em 1.5rem; -} - -#cbi-wireless .td, -#cbi-network .tr:first-child>.td, -.table[width="100%"]>.tr:first-child>.td, -[data-page="admin-network-diagnostics"] .tr>.td, -.tr.table-titles>.th, -.tr.cbi-section-table-titles>.th { - border-top: 0 !important; - background-color: #f6f9fc; - padding: 1.1em 1.5rem; - line-height: 1.3rem; -} - -.table[width="100%"]>.tr:first-child>.td { - margin: auto 0; -} - -.cbi-section-table-row { - margin-bottom: 1rem; - text-align: center !important; - background: #f4f4f4; -} - -.cbi-section-table-row:last-child { - margin-bottom: 0; -} - -.cbi-section-table-row>.cbi-value-field .cbi-dropdown, -.cbi-section-table-row>.cbi-value-field .cbi-input-select, -.cbi-section-table-row>.cbi-value-field .cbi-input-text, -.cbi-section-table-row>.cbi-value-field .cbi-input-password { - width: 100%; -} - -.cbi-section-table-row>.cbi-value-field [data-dynlist]>input, -.cbi-section-table-row>.cbi-value-field input.cbi-input-password { - width: calc(100% - 1.5rem); -} - -.cbi-section-table-row .td { - text-align: center !important; -} - -div>table>tbody>tr:nth-of-type(2n), -div>.table>.tr:nth-of-type(2n) { - background-color: #f9f9f9; -} - -/* fix multiple table */ -table table, -.table .table, -.cbi-value-field table, -.cbi-value-field .table, -td>table>tbody>tr>td, -.td>.table>.tbody>.tr>.td, -.cbi-value-field>table>tbody>tr>td, -.cbi-value-field>.table>.tbody>.tr>.td { - border: 0; -} - -/* button style */ -.btn, -.cbi-button, -.item::after { - font-size: .8rem; - display: inline-block; - width: auto !important; - padding: 0.45rem .8rem; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - transition: all .2s ease-in-out; - text-align: center; - vertical-align: middle; - white-space: nowrap; - text-decoration: none; - text-transform: uppercase; - color: rgba(0, 0, 0, .87); - border: 0; - border-radius: .2rem; - background-color: #f0f0f0; - background-image: none; - -webkit-appearance: none; - -ms-touch-action: manipulation; - touch-action: manipulation; -} - -.cbi-button-up, -.cbi-button-down { - font-size: 1.2rem; - display: inline-block; - min-width: 0; - padding: .2rem .3rem; - color: transparent !important; - background: url(../icon/arrow.svg) no-repeat center; - background-size: 12px 20px; -} - -.cbi-button-up { - transform: scaleY(-1); -} - -.cbi-button:not(select) { - -webkit-appearance: none !important; -} - - -.btn:hover, -.btn:focus, -.btn:active, -.cbi-button:hover, -.cbi-button:focus, -.cbi-button:active, -.item:hover::after, -.item:focus::after, -.item:active::after, -.cbi-page-actions .cbi-button-apply+.cbi-button-save:hover, -.cbi-page-actions .cbi-button-apply+.cbi-button-save:focus, -.cbi-page-actions .cbi-button-apply+.cbi-button-save:active { - text-decoration: none; - outline: 0; -} - -.btn:hover, -.btn:focus, -.cbi-button:hover, -.cbi-button:focus, -.item:hover::after, -.item:focus::after { - box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2); -} - -.btn:active, -.cbi-button:active, -.item:active::after { - box-shadow: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23); -} - -.cbi-button-up:hover, -.cbi-button-up:focus { - box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 -2px 2px rgba(0, 0, 0, .2); -} - -.cbi-button-up:active { - box-shadow: 0 -10px 20px rgba(0, 0, 0, .19), 0 -6px 6px rgba(0, 0, 0, .23); -} - -.btn:disabled, -.cbi-button:disabled { - cursor: not-allowed; - pointer-events: none; - opacity: .5; - box-shadow: none; -} - -/* gray */ -.alert-message [class="btn"], -.modal div[class="btn"], -.cbi-button-find, -.cbi-button-link, -.cbi-button-up, -.cbi-button-down, -.cbi-button-neutral, -.cbi-button[name="zero"], -.cbi-button[name="restart"], -.cbi-button[onclick="hide_empty(this)"] { - font-weight: bold; - color: #fff; - border: thin solid #8898aa; - background-color: #8898aa; -} - -/* dark blue */ -.btn.primary, -.cbi-page-actions .cbi-button-save, -.cbi-page-actions .cbi-button-apply+.cbi-button-save, -.cbi-button-add, -.cbi-button-save, -.cbi-button-positive, -.cbi-button-link, -.cbi-button[value="Enable"], -.cbi-button[value="Scan"], -.cbi-button[value^="Back"], -.cbi-button-neutral[onclick="handleConfig(event)"] { - font-weight: normal; - color: #fff !important; - border: thin solid #5e72e4; - border: thin solid var(--primary); - background-color: #5e72e4; - background-color: var(--primary); - ; -} - -/* light blue */ -.cbi-page-actions .cbi-button-apply, -.cbi-section-actions .cbi-button-edit, -.cbi-button-edit, -.cbi-button-apply, -.cbi-button-reload, -.cbi-button-action, -.cbi-button[value="Submit"], -.cbi-button[value="Upload"], -.cbi-button[value$="Apply"], -.cbi-button[onclick="addKey(event)"] { - font-weight: normal; - color: #fff !important; - border: thin solid #5e72e4; - border: thin solid var(--primary); - - background-color: #5e72e4; - background-color: var(--primary); -} - -/* red */ -.btn.danger, -.cbi-section-remove>.cbi-button, -.cbi-button-remove, -.cbi-button-reset, -.cbi-button-negative, -.cbi-button[value="Stop"], -.cbi-button[value="Kill"], -.cbi-button[onclick="reboot(this)"], -.cbi-button-neutral[value="Restart"] { - font-weight: normal; - color: #fff; - border: thin solid #f5365c; - border: thin solid var(--red); - background-color: #f5365c; - background-color: var(--red); -} - -/* yellow */ -.btn[value="Dismiss"], -.cbi-button[value="Terminate"], -.cbi-button[value="Reset"], -.cbi-button[value="Disabled"], -.cbi-button[onclick^="iface_reconnect"], -.cbi-button[onclick="handleReset(event)"], -.cbi-button-neutral[value="Disable"] { - font-weight: normal; - color: #fff; - border: thin solid #eea236; - background-color: #f0ad4e; -} - -/* green */ -.cbi-button-success, -.cbi-button-download, -.cbi-button[name="backup"], -.cbi-button[value="Download"], -.cbi-button[value="Save mtdblock"] { - font-weight: normal; - color: #fff; - border: thin solid #4cae4c; - background-color: #5cb85c; -} - -.cbi-page-actions .cbi-button-link:first-child { - float: left; -} - -.a-to-btn { - text-decoration: none; -} - -.cbi-value-field .cbi-button-add { - font-weight: bold; - margin: 4px 0 4px 3px; - padding: 1px 6px; - display: flex; - align-items: center; -} - -.tabs { - margin: 0 0 1rem 0; - padding: 0 1rem; - background-color: #FFFFFF; - border-radius: 0.375rem; - box-shadow: 0 4px 8px rgba(0, 0, 0, .03); - white-space: nowrap; - overflow-x: auto; - - &::-webkit-scrollbar { - width: 1px; - height: 5px; - } - - &::-webkit-scrollbar-thumb { - background-color: #f6f9fc - } - - &::-webkit-scrollbar-track { - background-color: #fff; - } - - li[class~="active"], - li:hover { - cursor: pointer; - border-bottom: 0.18751rem solid #5e72e4; - border-bottom: 0.18751rem solid var(--primary); - color: #5e72e4; - color: var(--primary); - background-color: #dce1fe; - margin-bottom: 0; - border-radius: 0; - - a { - color: #5e72e4; - color: var(--primary); - } - } - - li { - font-size: 0.875rem; - display: inline-block; - padding: 0.875rem 0rem; - border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); - margin: 0 0.2rem; - - a { - text-decoration: none; - color: #404040; - padding: 0.5rem 0.8rem; - } - - &:hover { - border-bottom: 0.18751rem solid #5e72e4; - border-bottom: 0.18751rem solid var(--primary); - } - } -} - - - - -.cbi-tabmenu { - color: white; - padding: 0.5rem 1rem 0 1rem; - white-space: nowrap; - overflow-x: auto; - - &::-webkit-scrollbar { - width: 1px; - height: 5px; - } - - &::-webkit-scrollbar-thumb { - background-color: #f6f9fc - } - - &::-webkit-scrollbar-track { - background-color: #fff; - } - - li { - background: #dce3e9; - display: inline-block; - font-size: 0.875rem; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; - padding: 0.5rem 0rem; - border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); - margin: 0 0.2rem; - - a { - text-decoration: none; - color: #404040; - padding: 0.5rem 0.8rem; - } - - &:hover { - cursor: pointer; - border-bottom: 0.18751rem solid #5e72e4; - border-bottom: 0.18751rem solid var(--primary); - color: #5e72e4; - color: var(--primary); - background-color: #dce1fe; - margin-bottom: 0; - - a { - color: #525f7f; - } - } - } - - li[class~="cbi-tab"] { - border-bottom: 0.18751rem solid #5e72e4; - border-bottom: 0.18751rem solid var(--primary); - color: #5e72e4; - color: var(--primary); - background-color: #dce1fe; - margin-bottom: 0; - - a { - color: #5e72e4; - color: var(--primary); - } - } -} - -.cbi-tab-descr { - padding: 0.5rem 1.5rem; -} - - -.cbi-section .cbi-section-remove:nth-of-type(2n), -.container>.cbi-section .cbi-section-node:nth-of-type(2n) { - background-color: #f9f9f9; -} - -[data-tab-title] { - overflow: hidden; - height: 0; - opacity: 0; - margin: 0; - padding: 0rem 0rem !important; - - p { - margin-left: 1rem; - margin-bottom: 1rem; - } -} - - - -[data-tab-active="true"] { - overflow: visible; - height: auto; - opacity: 1; - transition: opacity .25s ease-in; - margin: inherit !important; -} - - -.cbi-section[id] .cbi-section-remove:nth-of-type(4n+3), -.cbi-section[id] .cbi-section-node:nth-of-type(4n+4) { - background-color: #f9f9f9; -} - -.cbi-section-node-tabbed { - margin-top: 0; - padding: 0; - border: 0 solid #d4d4d4; - border-radius: 0.375rem; -} - -.cbi-tabcontainer>.cbi-value:nth-of-type(2n) { - background-color: #f9f9f9; -} - -.cbi-value-field, -.cbi-value-description { - line-height: 1.25; - display: table-cell; - - abbr { - color: #32325d; - color: var(--gray-dark); - } -} - -.cbi-value-description { - font-size: small; - padding: .5rem; - opacity: .5; -} - -.cbi-value-title { - display: table-cell; - float: left; - width: 23rem; - padding-top: .25rem; - padding-right: 2rem; - text-align: right; - word-wrap: break-word; -} - -.cbi-value { - display: inline-block; - width: 100%; - padding: .35rem 1rem .2rem 1rem; - line-height: 2.4rem; -} - -.cbi-value ul { - line-height: 1.25; -} - -.cbi-value-field .cbi-dropdown, -.cbi-value-field .cbi-input-select, -.cbi-value input[type="text"], -.cbi-value input[type="password"] { - min-width: 18rem; -} - -.cbi-value input[type="password"] { - border-bottom-right-radius: 0; - border-top-right-radius: 0; - margin-right: 0; -} - -.cbi-value input[type="password"]+.cbi-button-neutral { - height: 42px; - border-bottom-left-radius: 0; - border-top-left-radius: 0; - margin-left: 0; - border: 0; -} - -#cbi-firewall-zone .cbi-input-select, -#cbi-network-switch_vlan .cbi-input-select { - min-width: 11rem; -} - -#cbi-network-switch_vlan .cbi-input-text { - max-width: 3rem; -} - -.cbi-input-invalid { - color: #f5365c; - border-bottom-color: #f5365c; -} - -.cbi-section-error { - font-weight: bold; - line-height: 1.42857143; - margin: 18px; - padding: 6px; - border: thin solid #f5365c; - border-radius: 3px; - background-color: #fce6e6; -} - -.cbi-section-error ul { - margin: 0 0 0 20px; -} - -.cbi-section-error ul li { - font-weight: bold; - color: #f5365c; -} - -.td[data-title]::before { - font-weight: bold; - display: none; - padding: .25rem 0; - content: attr(data-title) ":\20"; - text-align: left; - white-space: nowrap; -} - -.tr.placeholder .td[data-title]::before { - display: none; -} - -.tr[data-title]::before, -.tr.cbi-section-table-titles.named::before { - font-weight: bold; - display: table-cell; - align-self: center; - flex: 1 1 5%; - padding: .25rem; - content: attr(data-title) "\20"; - text-align: center; - vertical-align: middle; - white-space: normal; - word-wrap: break-word; -} - -.cbi-rowstyle-1 { - background-color: #f9f9f9; -} - -.cbi-rowstyle-2 { - background-color: #eee; -} - -.cbi-rowstyle-2 .cbi-button-up, -.cbi-rowstyle-2 .cbi-button-down, -body:not(.Interfaces) .cbi-rowstyle-2:first-child { - background-color: #fff !important; -} - -.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { - width: auto !important; -} - -.td.cbi-section-actions { - text-align: right !important; - vertical-align: middle; -} - -.td.cbi-section-actions>* { - display: inline-flex; -} - -.td.cbi-section-actions>*>*, -.td.cbi-section-actions>*>form>* { - margin: 0 5px; - display: flex; - align-items: center; -} - -.td.cbi-section-actions>*>form { - display: inline-flex; - margin: 0; -} - -.cbi-checkbox { - margin: 0 0.25rem; -} - -/* lists */ -.cbi-dynlist { - line-height: 1.3; - flex-direction: column; - min-height: 30px; - cursor: text; -} - -.cbi-dynlist>.item { - position: relative; - max-width: 25rem; - pointer-events: none; - color: #8898aa; - outline: 0; -} - -.cbi-dynlist[name="sshkeys"]>.item { - max-width: none; -} - -.cbi-dynlist>.item::after { - position: absolute; - width: 2.2rem !important; - height: calc(100% - 0.5rem - 2px); - right: 0; - bottom: 0; - content: "\00D7"; - pointer-events: auto; - background-color: var(--red); - font-weight: normal; - font-size: 1.2rem; - display: flex; - align-items: center; - justify-content: center; - line-height: 1.5rem; - padding: 0; - margin: 0.25rem 0.1rem 0.25rem 0; - color: #fff; - border: 1px solid #f5365c; - border-radius: 0.25rem; - outline: 0; - background-image: none; - box-shadow: none; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.cbi-dynlist>.item>span { - white-space: normal; - word-break: break-word; - line-height: 1.5rem; - padding: 0.5rem 0.5rem; - margin: 0.25rem 0.1rem; - color: #8898aa; - border: 1px solid #dee2e6; - border-radius: 0.25rem; - outline: 0; - background-image: none; - box-shadow: none; - display: block; - transition: box-shadow 0.15s ease; - box-sizing: border-box; - min-width: 15rem; -} - -.cbi-dynlist>.add-item { - display: inline-flex; - align-items: center; - width: 100%; - min-width: 16rem; -} - -.cbi-dynlist>.add-item input { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - margin-right: 0; - border-right: none; -} - -.cbi-dynlist>.add-item .cbi-button-add { - font-weight: normal; - font-size: 1.2rem; - display: flex; - align-items: center; - line-height: 1.5rem; - padding: 0.5rem 0.75rem; - margin: 0.25rem 0.1rem 0.25rem 0; - color: #fff; - border: 1px solid #5e72e4; - border: 1px solid var(--primary); - border-radius: 0.25rem; - outline: 0; - background-image: none; - box-shadow: none; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.cbi-dynlist>.add-item:not([ondrop])>input { - overflow: hidden; - width: 100%; - min-width: 15rem; - white-space: nowrap; - text-overflow: ellipsis; -} - -.cbi-dynlist>.add-item[ondrop]>input { - min-width: 13rem; -} - -.cbi-dynlist, -.cbi-dropdown { - position: relative; - display: inline-flex; - padding: 0.2rem 0.2rem; -} - -.cbi-dropdown[placeholder*="select"] { - max-width: 25rem; - height: auto; - margin-top: -3px; -} - -.cbi-dropdown>ul { - display: flex; - overflow-x: hidden; - overflow-y: auto; - width: 100%; - margin: 0 !important; - padding: 0; - list-style: none; - outline: 0; -} - - -.cbi-dropdown>ul.preview { - display: none; - -} - -.cbi-button-apply>ul.preview { - display: none; - - li { - color: #fff; - } - -} - -.cbi-button-apply>ul:first-child { - li { - color: #fff; - } - -} - -.cbi-dropdown>.open { - flex-basis: 15px; -} - -.cbi-dropdown>.open, -.cbi-dropdown>.more { - font-size: 1rem; - font-weight: 900; - line-height: 2; - display: flex; - flex-direction: column; - flex-grow: 0; - flex-shrink: 0; - justify-content: center; - padding: 0 .25em; - cursor: default; - text-align: center; - outline: 0; -} - -.cbi-dropdown>.more, -.cbi-dropdown>ul>li[placeholder] { - font-weight: bold; - display: none; - color: #777; - text-shadow: 1px 1px 0 #fff; -} - -.cbi-dropdown>ul>li { - display: none; - overflow: hidden; - align-items: center; - align-self: center; - flex-grow: 1; - flex-shrink: 1; - min-height: 20px; - padding: .25em; - white-space: nowrap; - text-overflow: ellipsis; - -} - -.cbi-dropdown>ul>li .hide-open { - display: initial; -} - -.cbi-dropdown>ul>li .hide-close { - display: none; -} - -.cbi-dropdown>ul>li[display]:not([display="0"]) { - border-left: thin solid #ccc; -} - -.cbi-dropdown[empty]>ul { - max-width: 1px; -} - -.cbi-dropdown>ul>li>form { - display: none; - margin: 0; - padding: 0; - pointer-events: none; -} - -.cbi-dropdown>ul>li img { - margin-right: .25em; - vertical-align: middle; -} - -.cbi-dropdown>ul>li>form>input[type="checkbox"] { - height: auto; - margin: 0; -} - -.cbi-dropdown>ul>li input[type="text"] { - height: 20px; -} - -.cbi-dropdown[open]>ul.dropdown { - position: absolute; - z-index: 1100; - display: block; - width: auto; - min-width: 100%; - max-width: none; - max-height: 200px !important; - border: 0 solid #918e8c; - background: #ffffff; - box-shadow: 0 0 4px #918e8c; - border-bottom-left-radius: 0.35rem; - border-bottom-right-radius: 0.35rem; - color: var(--main-menu-color); - margin-left: -0.2rem !important; - - li { - color: #000; - } -} - - -.cbi-dropdown>ul>li[display], -.cbi-dropdown[open]>ul.preview, -.cbi-dropdown[open]>ul.dropdown>li, -.cbi-dropdown[multiple]>ul>li>label, -.cbi-dropdown[multiple][open]>ul.dropdown>li, -.cbi-dropdown[multiple][more]>.more, -.cbi-dropdown[multiple][empty]>.more { - display: flex; - align-items: center; - flex-grow: 1; - -} - -.cbi-dropdown[empty]>ul>li, -.cbi-dropdown[optional][open]>ul.dropdown>li[placeholder], -.cbi-dropdown[multiple][open]>ul.dropdown>li>form { - display: block; -} - -.cbi-dropdown[open]>ul.dropdown>li .hide-open { - display: none; -} - -.cbi-dropdown[open]>ul.dropdown>li .hide-close { - display: initial; -} - -.cbi-dropdown[open]>ul.dropdown>li { - border-bottom: thin solid #ccc; - padding: 0.5rem 0.8rem; -} - -.cbi-dropdown[open]>ul.dropdown>li label { - margin-left: 0.5rem; -} - -.cbi-dropdown[open]>ul.dropdown>li[selected] { - background: #dce1fe; -} - -.cbi-dropdown[open]>ul.dropdown>li.focus { - background: #dce1fe; - outline: none; -} - -.cbi-dropdown[open]>ul.dropdown>li:last-child { - margin-bottom: 0; - border-bottom: 0; -} - -.cbi-dropdown[open]>ul.dropdown>li[unselectable] { - opacity: .7; -} - -.cbi-dropdown[open]>ul.dropdown>li>input.create-item-input:first-child:last-child { - width: 100%; -} - -.cbi-dropdown[disabled] { - pointer-events: none; - opacity: .6; -} - -.cbi-dropdown .zonebadge { - width: 100%; -} - -.cbi-dropdown[open] .zonebadge { - width: auto; -} - -/* progressbar */ -.cbi-progressbar { - position: relative; - min-width: 170px; - height: 20px; - margin: 6px 0; - border: thin solid #999; - background: #eee; - border-radius: 0.2rem; - overflow: hidden; -} - -.cbi-progressbar>div { - width: 0; - height: 100%; - transition: width .25s ease-in; - background: #5bc0de; - background: var(--bar-bg); -} - -.cbi-progressbar::after { - font-family: monospace; - font-size: 1em; - font-weight: bold; - font-size-adjust: .38; - line-height: normal; - position: absolute; - top: 2px; - right: 0; - bottom: 2px; - left: 0; - overflow: hidden; - content: attr(title); - text-align: center; - white-space: pre; - text-overflow: ellipsis; -} - -#modal_overlay { - position: fixed; - z-index: 900; - top: 0; - right: 10000px; - bottom: 0; - left: -10000px; - overflow-y: scroll; - transition: opacity .125s ease-in; - opacity: 0; - background: rgba(0, 0, 0, .7); - -webkit-overflow-scrolling: touch; -} - -.modal { - display: flex; - align-items: center; - flex-wrap: wrap; - width: 90%; - min-width: 270px; - max-width: 600px; - min-height: 32px; - margin: 5em auto; - padding: 1em; - border-radius: 3px !important; - background: #fff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12); -} - -.modal>* { - line-height: normal; - flex-basis: 100%; - margin-bottom: .5em; - max-width: 100%; -} - -.modal>pre, -.modal>textarea { - font-size: 1rem; - font-size-adjust: .35; - overflow: auto; - margin-bottom: .5em; - padding: 8.5px; - cursor: auto; - white-space: pre-wrap; - color: #eee; - outline: 0; - background-color: #101010; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12); -} - -.modal>h4 { - margin: .5em 0; -} - -.modal ul { - margin-left: 2.2em; -} - -.modal li { - list-style-type: square; - color: #808080; -} - -.modal p { - - word-break: break-word; -} - -.modal .label { - font-size: .6rem; - font-weight: normal; - padding: .1rem .3rem; - padding-bottom: 0; - cursor: default; - border-radius: 0; -} - -.modal .label.warning { - background-color: #f0ad4e !important; -} - -.modal .btn { - padding: 0.45rem 0.8rem; -} - -.modal.cbi-modal { - max-width: 90%; - max-height: none; -} - -body.modal-overlay-active { - overflow: hidden; - height: 100vh; -} - -body.modal-overlay-active #modal_overlay { - right: 0; - left: 0; - opacity: 1; -} - - - -.spinning { - position: relative; - padding-left: 32px !important; -} - -.spinning::before { - position: absolute; - top: 0; - bottom: 0; - left: .2em; - width: 32px; - content: ""; - background: url(/luci-static/resources/icons/loading.gif) no-repeat center; - background-size: 16px; -} - -/* luci */ -.hidden { - display: none; -} - -.left, -.left::before { - text-align: left !important; -} - -.right, -.right::before { - text-align: right !important; -} - -.center, -.center::before { - text-align: center !important; -} - -.top { - align-self: flex-start !important; - vertical-align: top !important; -} - -.bottom { - align-self: flex-end !important; - vertical-align: bottom !important; -} - -.inline { - display: inline; -} - -.cbi-page-actions { - padding-top: 1rem; - text-align: right; -} - -.cbi-page-actions>form[method="post"] { - display: inline-block; -} - -.th[data-type="button"], -.td[data-type="button"], -.th[data-type="fvalue"], -.td[data-type="fvalue"] { - flex: 1 1 2em; - text-align: center; -} - -.ifacebadge { - display: inline-flex; - padding: .5rem .8rem; - border-bottom: thin solid #ccc; - background: #eee; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05); -} - -td>.ifacebadge, -.td>.ifacebadge { - font-size: .8rem; - background-color: #f0f0f0; -} - -.ifacebadge>em, -.ifacebadge>img { - display: inline-block; - align-self: flex-start; - margin: 0 .2rem; -} - -.ifacebadge>img+img { - margin: 0 .2rem 0 0; -} - -.network-status-table { - display: flex; - flex-wrap: wrap; -} - -.network-status-table .ifacebox { - flex-grow: 1; - margin: .5em; -} - -.network-status-table .ifacebox-body { - display: flex; - flex-direction: column; - height: 100%; -} - -.network-status-table .ifacebox-body>span { - flex: 10 10 auto; - height: 100%; -} - -.network-status-table .ifacebox-body>div { - display: flex; - flex-wrap: wrap; -} - -.network-status-table .ifacebox-body .ifacebadge { - align-items: center; - flex: 1 1 auto; - min-width: 220px; - margin: .5em 0em 0 0em; - padding: .5em; - background-color: #fff; -} - -/* textarea */ -.cbi-input-textarea { - font-family: monospace; - width: 100%; - font-size: 0.875rem; - min-height: 14rem; - padding: .8rem; - color: #000; -} - -#syslog { - font-size: small; - line-height: 1.25; - overflow-y: hidden; - width: 100%; - min-height: 15rem; - padding: 1rem; - resize: none; - color: #242424; - border: 0; - border-radius: 0.375rem; - background-color: #ffffff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12); -} - -#syslog:focus { - outline: 0; -} - -/* config changes */ -.uci-change-list { - font-family: monospace; -} - -.uci-change-list ins, -.uci-change-legend-label ins { - display: block; - padding: 2px; - text-decoration: none; - border: thin solid #0f0; - background-color: #cfc; -} - -.uci-change-list del, -.uci-change-legend-label del { - font-style: normal; - display: block; - padding: 2px; - text-decoration: none; - border: thin solid #f00; - background-color: #fcc; -} - -.uci-change-list var, -.uci-change-legend-label var { - font-style: normal; - display: block; - padding: 2px; - text-decoration: none; - border: thin solid #ccc; - background-color: #eee; -} - -.uci-change-list var ins, -.uci-change-list var del { - font-style: normal; - padding: 0; - white-space: pre; - border: 0; -} - -.uci-change-legend { - padding: 5px; -} - -.uci-change-legend-label { - float: left; - width: 150px; -} - -.uci-change-legend-label>ins, -.uci-change-legend-label>del, -.uci-change-legend-label>var { - display: block; - float: left; - width: 10px; - height: 10px; - margin-right: 4px; -} - -.uci-change-legend-label var ins, -.uci-change-legend-label var del { - line-height: .4; - border: 0; -} - -.uci-change-list var, -.uci-change-list del, -.uci-change-list ins { - padding: .5rem; -} - -/* other fix */ -#iwsvg, -#iwsvg2, -#bwsvg { - border: thin solid #d4d4d4 !important; -} - -#iwsvg, -[data-page="admin-status-realtime-bandwidth"] #bwsvg { - border-top: 0 !important; -} - -.ifacebox { - line-height: 1.25; - display: inline-flex; - flex-direction: column; - min-width: 100px; - border-bottom: thin solid #ccc; - background-color: #f9f9f9; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 1px 2px rgba(0, 0, 0, .2); -} - -.ifacebox-head { - padding: .25em; - background: #eee; -} - -.ifacebox-head.active { - background: #5e72e4; - background: var(--primary); - - * { - color: #fff; - color: var(--white); - } - -} - -.ifacebox-body { - padding: .5em 1rem; - line-height: 1.6em; -} - -.cbi-image-button { - margin-left: .5rem; -} - -.zonebadge { - display: inline-block; - padding: .2rem .5rem; -} - -.zonebadge .ifacebadge { - margin: .1rem .2rem; - padding: .2rem .3rem; - border: thin solid #6c6c6c; -} - -.zonebadge>input[type="text"] { - min-width: 10rem; - margin-top: .3rem; - padding: .16rem 1rem; -} - -.zonebadge>em, -.zonebadge>strong { - display: inline-block; - margin: 0 .2rem; -} - -.cbi-value-field .cbi-input-checkbox, -.cbi-value-field .cbi-input-radio { - margin-top: .1rem; -} - -.cbi-value-field>ul>li { - display: flex; -} - -.cbi-value-field>ul>li>label { - margin-top: .5rem; -} - -.cbi-value-field>ul>li .ifacebadge { - margin-top: -.5rem; - margin-left: .4rem; - background-color: #eee; -} - -.cbi-section-table-row>.cbi-value-field .cbi-dropdown { - min-width: 7rem; -} - -.cbi-section-create { - display: inline-flex; - align-items: center; - margin: 0.25rem 0 0.25rem 1rem; -} - -.cbi-section-create>* { - margin: .5rem; -} - -.cbi-section-remove { - padding: .5rem; -} - -div.cbi-value var, -td.cbi-value-field var, -.td.cbi-value-field var { - font-style: italic; - color: #0069d6; -} - -.cbi-optionals { - padding: 1rem 1rem 0 1rem; - border-top: thin solid #ccc; -} - -.cbi-dropdown-container { - position: relative; -} - -.cbi-tooltip-container, -span[data-tooltip], -span[data-tooltip] .label { - cursor: help !important; -} - -.cbi-tooltip { - position: absolute; - z-index: 1000; - left: -1000px; - padding: 2px 5px; - transition: opacity .25s ease-out; - white-space: pre; - pointer-events: none; - opacity: 0; - border-radius: 3px; - background: #fff; - box-shadow: 0 0 2px #444; -} - -.cbi-tooltip-container:hover .cbi-tooltip { - left: auto; - transition: opacity .25s ease-in; - opacity: 1; -} - -.zonebadge .cbi-tooltip { - margin: -1.5rem 0 0 -.5rem; - padding: .25rem; - background: inherit; -} - -.zonebadge-empty { - color: #404040; - background: repeating-linear-gradient(45deg, rgba(204, 204, 204, .5), rgba(204, 204, 204, .5) 5px, rgba(255, 255, 255, .5) 5px, rgba(255, 255, 255, .5) 10px); -} - -.zone-forwards { - display: flex; - min-width: 10rem; -} - -.zone-forwards>* { - flex: 1 1 45%; -} - -.zone-forwards>span { - flex-basis: 10%; - padding: 0 .25rem; - text-align: center; -} - -.zone-forwards .zone-src, -.zone-forwards .zone-dest { - display: flex; - flex-direction: column; -} - -.label { - font-size: .8rem; - font-weight: bold; - padding: .3rem .8rem; - white-space: nowrap; - text-decoration: none; - text-transform: uppercase; - color: #fff !important; - border-radius: 3px; - background-color: #bfbfbf; - text-shadow: none; -} - -label>input[type="checkbox"], -label>input[type="radio"] { - position: relative; - top: .4rem; - right: .2rem; - margin: 0; - vertical-align: bottom; -} - -label[data-index][data-depends] { - padding-right: 2em; -} - -.showSide { - display: none; -} - -.darkMask { - position: fixed; - z-index: 99; - display: none; - width: 100%; - height: 100%; - content: ""; - top: 0; - background-color: rgba(0, 0, 0, .56); -} - -/* diagnostics */ -#diag-rc-output>pre, -#command-rc-output>pre, -[data-page="admin-services-wol"] .notice code { - font-size: 1.2rem; - font-size-adjust: .35; - line-height: normal; - display: block; - overflow-y: hidden; - width: 100%; - padding: 8.5px; - white-space: pre; - color: #eee; - background-color: #101010; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12); -} - -[data-page="admin-network-diagnostics"] .table { - box-shadow: none; -} - -input[name="ping"], -input[name="traceroute"], -input[name="nslookup"] { - width: 80%; -} - - - -/* fix status */ -.node-status-overview>.main fieldset:nth-child(4) .td:nth-child(2), -.node-status-processes>.main .table .tr .td:nth-child(3) { - white-space: normal; -} - -/* fix system reboot */ -[data-page="admin-system-reboot"] p { - padding-left: 1.5rem; -} - -[data-page="admin-system-reboot"] .cbi-button { - background: #fb6340 !important; -} - -[data-page="admin-system-reboot"] p>span { - position: relative; - top: .1rem; - left: 1rem; -} - -[data-page="admin-vpn-passwall"] h4 { - background: transparent; -} - -/* samba */ -#cbi-samba [data-tab="template"] .cbi-value-field { - display: block; -} - -#cbi-samba [data-tab="template"] .cbi-value-title { - width: auto; - padding-bottom: .6rem; -} - -/* admin-system-admin-password */ -[data-page="admin-system-admin"] .cbi-map h2, -[data-page="admin-system-admin-password"] .cbi-map h2, -[data-page="admin-system-admin"] .cbi-map .cbi-map-descr, -[data-page="admin-system-admin-password"] .cbi-map .cbi-map-descr { - margin-left: 0; - color: #32325d; - color: var(--gray-dark); -} - - -/* software */ -[data-page="admin-system-opkg"] h2 { - margin-left: 0; - color: #32325d; - color: var(--gray-dark); -} - -.controls { - margin: .5em 1rem 1em 1rem !important; -} - -.controls>*>.btn:not([aria-label$="page"]) { - flex-grow: initial !important; - margin-top: .25rem; -} - -.controls>#pager>.btn[aria-label$="page"] { - font-size: 1.4rem; - font-weight: bold; -} - -.controls>*>label { - margin-bottom: .2rem; -} - -[data-page="admin-system-opkg"] div.btn { - line-height: 3; - display: inline; - padding: .3rem .6rem; -} - -[data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear), -[data-page="admin-system-opkg"] #maincontent>.container { - margin-top: 2rem; - padding-top: .1rem; -} - -[data-page="admin-system-opkg"] #maincontent>.container { - margin: 0 1.25rem 1rem 1.25rem; - margin-bottom: 1rem; -} - -.td.version, -.td.size { - white-space: normal !important; - word-break: break-word; -} - -.cbi-tabmenu+.cbi-section { - margin-top: 0; -} - -/* admin-system-crontab*/ -[data-page="admin-system-crontab"] #view p { - margin-bottom: 1rem; -} - -/*admin-system-flash*/ - -[data-page="admin-system-flash"] { - .cbi-value { - padding: 0; - } - - .cbi-section { - .cbi-section { - margin-top: 0; - } - } - - .cbi-map-tabbed { - border-radius: 0.375rem; - } - - legend { - display: block !important; - font-size: 1.2rem; - width: 100%; - display: block; - margin-bottom: 0; - padding: 1rem 0 1rem 1.5rem; - border-bottom: 1px solid rgba(0, 0, 0, .05); - line-height: 1.5; - margin-bottom: 0rem; - letter-spacing: 0.1rem; - color: #32325d; - font-weight: bold; - } - - .cbi-section-descr { - font-weight: 600; - padding: 1rem 0 1rem 1.5rem; - color: #525f7f; - } - - .modal { - - - label>input[type="checkbox"] { - top: -0.35rem; - } - - .btn { - white-space: normal !important; - } - } -} - -/* wireless overview */ -#cbi-wireless>#wifi_assoclist_table>.tr { - box-shadow: inset 1px -1px 0 #ddd, inset -1px -1px 0 #ddd; -} - -#cbi-wireless>#wifi_assoclist_table>.tr.placeholder>.td { - right: 33px; - bottom: 33px; - left: 33px; - border-top: thin solid #ddd !important; -} - -#cbi-wireless>#wifi_assoclist_table>.tr.table-titles { - box-shadow: inset 1px 0 0 #ddd, inset -1px 0 0 #ddd; -} - -#cbi-wireless>#wifi_assoclist_table>.tr.table-titles>.th { - border-bottom: thin solid #ddd; - box-shadow: 0 -1px 0 0 #ddd; -} - -#wifi_assoclist_table>.tr>.td[data-title="RX Rate / TX Rate"] { - width: 23rem; -} - -[data-page="admin-network-dhcp"] .cbi-value { - padding: 0; - -} - -[data-page="admin-network-dhcp"] [data-tab-active="true"] { - padding: 1rem 0 !important; -} - -/* firewall */ -#iptables { - margin: 0; -} - -.Firewall form { - margin: 2rem 2rem 0 0; - padding: 0; - box-shadow: none; -} - -#cbi-firewall-redirect table *, -#cbi-network-switch_vlan table *, -#cbi-firewall-zone table * { - font-size: small; -} - -#cbi-firewall-redirect table input[type="text"], -#cbi-network-switch_vlan table input[type="text"], -#cbi-firewall-zone table input[type="text"] { - width: 5rem; -} - -#cbi-firewall-redirect table select, -#cbi-network-switch_vlan table select, -#cbi-firewall-zone table select { - min-width: 3.5rem; -} - -#cbi-network-switch_vlan .th, -#cbi-network-switch_vlan .td { - flex-basis: 12%; -} - -#cbi-firewall-zone .table, -#cbi-network-switch_vlan .table { - display: block; -} - -#cbi-firewall-zone .td, -#cbi-network-switch_vlan .td { - width: 100%; -} - -[data-page="admin-network-firewall-custom"] #view p, -[data-page="admin-status-routes"] #view p { - padding: 0 1.5rem; - margin-bottom: 1rem; - - textarea { - padding: 1rem; - border-radius: 0.375rem; - } -} - -/* applyreboot fix */ -#applyreboot-container { - margin: 2rem; -} - -#applyreboot-section { - line-height: 300%; - margin: 2rem; -} - -/* openvpn bug fix */ -.OpenVPN a { - line-height: initial !important; -} - -/* custom commands */ -.commandbox { - width: 24% !important; - margin: 10px 0 0 10px !important; - padding: .5rem 1rem; - border-bottom: thin solid #ccc; - background: #eee; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05); -} - -.commandbox h3 { - line-height: normal !important; - overflow: hidden; - margin: 6px 0 !important; - white-space: nowrap; - text-overflow: ellipsis; -} - -.commandbox div { - left: auto !important; -} - -.commandbox code { - position: absolute; - overflow: hidden; - max-width: 60%; - margin-left: 4px; - padding: 2px 3px; - white-space: nowrap; - text-overflow: ellipsis; -} - -.commandbox code:hover { - overflow-y: auto; - max-height: 50px; - white-space: normal; -} - -.commandbox p:first-of-type { - margin-top: -6px; -} - -.commandbox p:nth-of-type(2) { - margin-top: 2px; -} - -[data-page^="admin-system-commands"] .panel-title, -[data-page^="command-cfg"] .mobile-hide, -[data-page^="command-cfg"] .showSide { - display: none; -} - -#command-rc-output .alert-message { - line-height: 1.42857143; - position: absolute; - top: 40px; - right: 32px; - max-width: 40%; - margin: 0; - animation: anim-fade-in 1.5s forwards; - word-break: break-word; - opacity: 0; -} - -@keyframes anim-fade-in { - 100% { - opacity: 1; - } -} - -/* other fix */ -input[type="checkbox"] { - appearance: none !important; - -webkit-appearance: none !important; - border: 1px solid #dee2e6; - - width: 16px !important; - height: 16px !important; - padding: 0; - cursor: pointer; - transition: all 0.2s; - margin: 1rem 0 0 0; -} - -input[type="checkbox"]:checked { - border: 1px solid #5e72e4; - border: 1px solid var(--primary); - background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e') !important; - background-color: #5e72e4; - background-color: var(--primary); - background-size: 70%; - background-repeat: no-repeat; - background-position: center; -} - -.fb-container .cbi-button { - height: auto !important; -} - -#cbi-usb_printer-printer em { - display: block; - padding: 1rem; - text-align: center; -} - -pre.command-output { - padding: 1.5rem; -} - -[data-page="admin-nlbw-display"] .cbi-section[data-tab="export"] { - padding: 1.5rem !important; -} - -[data-page="admin-nlbw-backup"] form { - padding-left: 1.5rem; -} - -[data-page="admin-status-iptables"] .right { - margin-bottom: 0 !important; -} - -/* IE hacks */ -@media all and (-ms-high-contrast: none) { - .main>.main-left>.nav>.slide>.menu::before { - top: 30.25%; - } - - .main>.main-left>.nav>li:last-child::before { - top: 20%; - } - - .showSide::before { - top: -12px; - } -} - -@media screen and (max-width: 1600px) { - header>.fill>.container>#logo { - margin: 0 2.5rem 0 .5rem; - } - - .main-left { - width: calc(0% + 13rem); - } - - .main-right { - width: calc(100% - 13rem); - } - - .btn:not(button), - .cbi-button { - font-size: .8rem; - } - - .label { - padding: .2rem .6rem; - } - - - .cbi-value-title { - width: 15rem; - padding-right: .6rem; - } - - .cbi-value-field .cbi-dropdown, - .cbi-value-field .cbi-input-select, - .cbi-value input[type="text"], - .cbi-value input[type="password"] { - min-width: 18rem; - } - - #cbi-firewall-zone .cbi-input-select { - min-width: 9rem; - } - - .cbi-input-textarea { - font-size: small; - } - - .node-admin-status>.main fieldset li>a { - padding: .3rem .6rem; - } -} - -@media screen and (max-width: 1366px) { - - - header>.fill>.container { - - cursor: default; - } - - - - .main-left { - width: calc(0% + 13rem); - } - - .main-right { - width: calc(100% - 13rem); - } - - - .tabs>li>a, - .cbi-tabmenu>li>a { - padding: .2rem .8rem; - } - - .panel-title { - font-size: 1.1rem; - padding-bottom: 1rem; - } - - table { - font-size: .7rem !important; - width: 100% !important; - } - - .table .cbi-input-text { - width: 100%; - } - - .cbi-value-field .cbi-dropdown, - .cbi-value-field .cbi-input-select, - .cbi-value input[type="text"], - .cbi-value input[type="password"] { - min-width: 16rem; - } - - #cbi-firewall-zone .cbi-input-select { - min-width: 4rem; - } - - .main>.main-left>.nav>li, - .main>.main-left>.nav>li>a, - .main .main-left .nav>li>a:first-child, - .main>.main-left>.nav>.slide>.menu, - .main>.main-left>.nav>li>[data-title="Logout"] { - font-size: .9rem; - } - - .main>.main-left>.nav>.slide>.slide-menu>li>a { - font-size: .7rem; - } - - #modal_overlay { - top: 0rem; - } - - [data-page="admin-network-firewall-forwards"] .table:not(.cbi-section-table) { - display: block; - } - - [data-page="admin-network-firewall-forwards"] .table:not(.cbi-section-table), - [data-page="admin-network-firewall-rules"] .table:not(.cbi-section-table), - [data-page="admin-network-hosts"] .table, - [data-page="admin-network-routes"] .table { - overflow-y: visible; - } - - .commandbox { - width: 32% !important; - } - - .btn:not(button), - .cbi-button { - font-size: 0.8rem; - - } -} - -@media screen and (max-width: 1152px) { - header>.fill>.container>#logo { - display: none; - } - - header>.fill>.container>.brand { - position: relative; - } - - html, - .main { - overflow-y: visible; - } - - .main>.loading>span { - top: 25%; - } - - .main-left { - width: calc(0% + 13rem); - } - - .main-right { - width: calc(100% - 13rem); - } - - - - body:not(.logged-in) .showSide { - visibility: hidden; - width: 0; - margin: 0; - } - - .node-main-login>.main .cbi-value-title { - text-align: left; - } - - .cbi-value-title { - width: 12rem; - padding-right: 1rem; - } - - .cbi-value-field .cbi-dropdown, - .cbi-value-field .cbi-input-select, - .cbi-value input[type="text"] { - width: 16rem; - min-width: 16rem; - } - - /*.cbi-value input[type="password"],*/ - .cbi-value input[name^="pw"], - .cbi-value input[data-update="change"]:nth-child(2) { - width: 13rem !important; - min-width: 13rem; - } - - #diag-rc-output>pre, - #command-rc-output>pre, - [data-page="admin-services-wol"] .notice code { - font-size: 1rem; - } - - .table { - display: block; - } - - .Interfaces .table { - overflow-x: hidden; - } - - #packages.table { - display: grid; - } - - .tr { - display: flex; - flex-direction: row; - flex-wrap: wrap; - } - - .Overview .table[width="100%"]>.tr { - flex-wrap: nowrap; - } - - .tr.placeholder { - border-bottom: thin solid #ddd; - } - - .tr.placeholder>.td, - #cbi-firewall .tr>.td, - #cbi-network .tr:nth-child(2)>.td, - .cbi-section #wifi_assoclist_table .tr>.td { - border-top: 0; - } - - .th, - .td { - display: inline-block; - align-self: flex-start; - flex: 2 2 10%; - text-overflow: ellipsis; - word-wrap: break-word; - } - - .td select, - .td input[type="text"] { - width: 100%; - word-wrap: normal; - } - - .td [data-dynlist]>input, - .td input.cbi-input-password { - width: calc(100% - 1.5rem); - } - - .td[data-type="button"], - .td[data-type="fvalue"] { - flex: 1 1 12.5%; - text-align: left; - } - - .th.cbi-value-field, - .td.cbi-value-field, - .th.cbi-section-table-cell, - .td.cbi-section-table-cell { - flex-basis: auto; - padding-top: 1rem; - } - - .cbi-section-table-row { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12); - } - - .td.cbi-value-field, - .cbi-section-table-cell { - display: inline-block; - flex: 10 10 auto; - flex-basis: 50%; - text-align: center; - } - - .td.cbi-section-actions { - vertical-align: bottom; - } - - .tr.table-titles, - .tr.cbi-section-table-titles, - .tr.cbi-section-table-descr { - display: none; - } - - .tr[data-title]::before, - .tr.cbi-section-table-titles.named::before { - font-size: .9rem; - display: block; - flex: 1 1 100%; - border-bottom: thin solid rgba(0, 0, 0, .26); - background: #e9ecef; - } - - .td[data-title], - [data-page^="admin-status-realtime"] .td[id] { - text-align: left; - } - - .td[data-title]::before { - display: block; - } - - .cbi-button+.cbi-button { - margin-left: 0; - } - - .td.cbi-section-actions>*>*, - .td.cbi-section-actions>*>form>* { - margin: 2.1px 3px; - } - - .Firewall form { - position: static !important; - margin: 0 0 2rem 0; - padding: 2rem; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12); - } - - .Firewall form input { - width: 100% !important; - margin: 0; - margin-top: 1rem; - } - - .Firewall .center, - .Firewall .center::before { - text-align: left !important; - } - - .commandbox { - width: 100% !important; - margin-left: 0 !important; - } - - .btn:not(button), - .cbi-button { - font-size: 0.8rem; - } -} - - - - -@media screen and (max-width: 768px) { - body { - font-size: .8rem; - } - - .cbi-progressbar::after { - font-size: .5rem; - line-height: 1.5; - } - - - - .main-left { - position: fixed; - z-index: 100; - width: 0; - } - - .main-right { - width: 100%; - } - - .showSide { - padding: 0.1rem; - position: relative; - z-index: 99; - display: inline-block !important; - - &::before { - font-family: 'argon' !important; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - content: "\e20e"; - font-size: 1.7rem; - } - } - - - header>.fill>.container>.brand { - display: inline-block; - } - - - - .main>.main-left>.nav>.slide>.slide-menu>li>a { - font-size: 0.8rem; - } - - - -} - -@media screen and (max-width: 600px) { - .mobile-hide { - display: none; - } - - #maincontent>.container { - margin: 0 1rem 1rem 1rem; - } - - .cbi-value-title { - text-align: left; - } - - [data-page="admin-system-flash"] legend { - padding: 1rem 0 1rem 1rem; - - } - - [data-page="admin-system-flash"] .cbi-section-descr { - padding: 1rem 0 1rem 1rem; - - } - - [data-page="admin-system-flash"] .cbi-value { - padding: 0 1rem; - } - - [data-page="admin-network-dhcp"] [data-tab-active="true"] { - padding: 1rem 1rem !important; - } - - .cbi-dynlist p { - padding: 0.5rem 1rem; - } - - body { - overflow-x: hidden; - } - - .node-main-login .main .main-right #maincontent .container .cbi-map .cbi-section .cbi-section-node .cbi-value .cbi-value-field { - width: 16rem; - } - - .node-main-login footer { - display: none; - } - - .tabs, - .cbi-tabmenu { - &::-webkit-scrollbar { - width: 0px; - height: 0px; - } - } - - .cbi-value-field, - .cbi-value-description { - display: block !important; - padding-left: 0 !important; - padding-right: 0 !important; - } - - [data-page="admin-system-admin-password"] .cbi-value-field { - display: table-cell !important; - } - - .modal.cbi-modal { - max-width: 100%; - max-height: none; - } - - .modal { - display: flex; - align-items: center; - flex-wrap: wrap; - width: 100%; - min-width: 270px; - max-width: 600px; - min-height: 32px; - margin: 5em auto; - padding: 1em; - border-radius: 3px !important; - background: #fff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); - } - - .cbi-dropdown[open]>ul.dropdown { - left: 0.2rem !important; - right: 0 !important; - margin-bottom: 1rem; - } -} - - - -@media screen and (min-width: 600px) { - ::-webkit-scrollbar { - width: 10px; - height: 10px; - } - - ::-webkit-scrollbar, - ::-webkit-scrollbar-corner { - background: transparent; - } - - ::-webkit-scrollbar-thumb { - background: #9e9e9e; - } - - ::-webkit-scrollbar-thumb:hover { - background: #757575; - } - - ::-webkit-scrollbar-thumb:active { - background: #424242; - } - - - - -} - - - -@media screen and (max-width: 480px) { - .mobile-hide { - display: none; - } - - .login-page .login-container { - margin-left: 0rem !important; - width: 100%; - - .login-form { - .form-login { - .input-group { - &::before { - color: #525461; - } - - input { - color: #525461; - border-bottom: white 1px solid; - border-bottom: var(--white) 1px solid; - border-radius: 0; - } - - } - } - } - - } - - -} diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/less/dark.less b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/less/dark.less deleted file mode 100644 index 8143723e5c..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/less/dark.less +++ /dev/null @@ -1,828 +0,0 @@ -// compress: false , sourceMap: false -/** - * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template - * - * luci-theme-argon - * Copyright 2020 Jerryk - * - * Have a bug? Please create an issue here on GitHub! - * https://github.com/jerrykuku/luci-theme-argon/issues - * - * luci-theme-bootstrap: - * Copyright 2008 Steven Barth - * Copyright 2008 Jo-Philipp Wich - * Copyright 2012 David Menting - * - * MUI: - * https://github.com/muicss/mui - * - * luci-theme-material: - * https://github.com/LuttyYang/luci-theme-material/ - * - * Agron Theme - * https://demos.creative-tim.com/argon-dashboard/index.html - * - * Login background - * https://unsplash.com/ - * - * Licensed to the public under the Apache License 2.0 - */ - -body { - background: #1e1e1e; - color: #cccccc; -} - -.login-page .login-container { - - .login-form { - background-color: #1e1e1e; - - .brand { - color: #adb5bd; - } - - .form-login { - .input-group { - &::before { - color: #adb5bd; - } - - input { - background-color: transparent !important; - color: #adb5bd; - border-bottom: #adb5bd 1px solid !important; - border-radius: 0 !important; - border-top: none !important; - border-left: none !important; - border-right: none !important; - box-shadow: none; - } - - } - - .cbi-button-apply { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; - - &:hover, - &:focus { - opacity: 0.9; - } - } - } - } - -} - -header::after { - background-color: #1e1e1e !important; -} - - -.main { - .main-left { - - background-color: #333333 !important; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .15); - - .sidenav-header .brand { - color: #ccc; - } - - .nav { - .slide { - .slide-menu { - .active { - a { - color: #cccccc; - - &::after { - background-color: #cccccc !important; - } - } - } - - li { - a { - color: #cccccc; - } - - a:hover { - background: none !important; - } - } - } - - .menu.active { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; - color: #cccccc !important; - - a::after { - background-color: #cccccc !important; - } - } - } - - li { - a { - color: #cccccc !important; - } - - a:hover { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; - color: #cccccc !important; - } - } - } - - - &::-webkit-scrollbar-thumb { - background-color: #252526 !important; - } - - &::-webkit-scrollbar-track { - background-color: #333; - } - } - - .main-right { - background-color: #1e1e1e; - } -} - -h2 { - color: #ccc; - background: #333333; -} - -h3 { - color: #ccc; - border-bottom: 0; - background: #333333; -} - -a:-webkit-any-link { - color: -webkit-link; - cursor: pointer; - color: #483d8b; - color: var(--dark-primary); -} - - -input:-webkit-autofill { - background-color: #3c3c3c !important; -} - -.cbi-value-field .cbi-input-apply, -.cbi-button-apply, -.cbi-button-edit { - color: #fff !important; - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; - border-color: #483d8b !important; - border-color: var(--dark-primary) !important; -} - - -.cbi-section em { - color: #ccc; -} - -header.bg-primary { - background-color: #1e1e1e !important; -} - -.cbi-map-descr { - color: #ccc; -} - -.cbi-section { - background: none; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35) -} - -.panel-title { - color: #ccc; - background-color: #333333; - border-bottom: 0px; -} - -div>table>tbody>tr:nth-of-type(2n), -div>.table>.tr:nth-of-type(2n) { - background-color: #252526; -} - -table>tbody>tr>td, -table>tfoot>tr>td, -table>thead>tr>td { - color: #ccc; -} - -fieldset>table>tbody>tr:nth-of-type(2n) { - background-color: #252526; -} - -table>tbody>tr>td, -table>tfoot>tr>td, -table>thead>tr>td { - border-top: 1px solid #252526; -} - -#swaptotal>div>div, -#swapfree>div>div, -#memfree>div>div, -#membuff>div>div, -#conns>div>div, -#memtotal>div>div { - background-color: #32325d !important; -} - -#swaptotal>div>div>div>small, -#swapfree>div>div>div>small, -#memfree>div>div>div>small, -#membuff>div>div>div>small, -#conns>div>div>div>small, -#memtotal>div>div>div>small { - - color: #ccc !important; -} - -.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last { - line-height: 1.8em; - - div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] { - border: 1px solid #999999 !important; - background-color: transparent !important; - - div { - background-color: #32325d !important; - } - } - -} - -table>tbody>tr>th, -table>tfoot>tr>th, -table>thead>tr>th { - - background-color: #252526; - border-bottom: black 1px solid !important; -} - -tr>td, -tr>th, -.tr>.td, -.tr>.th, -.cbi-section-table-row::before, -#cbi-wireless>#wifi_assoclist_table>.tr:nth-child(2) { - border-top: 0; -} - -.cbi-rowstyle-2 { - background-color: #1e1e1e; -} - -.cbi-rowstyle-1 { - background-color: #252526; -} - -.cbi-section>h3:first-child, -.panel-title, -h3 { - color: #ccc; - border-bottom: 0; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} - -h4 { - background-color: #1e1e1f; -} - -.cbi-progressbar { - position: relative; - min-width: 170px; - height: 20px; - margin: 6px 0; - border: thin solid #999; - background: transparent; - border-radius: 0.2rem; - overflow: hidden; - - div { - background-color: #32325d !important; - } -} - -.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { - background-color: #1e1e1f; -} - -.cbi-button { - color: #ccc !important; - background-color: #483d8b; - background-color: var(--dark-primary); -} - -.cbi-section-node { - background: none; - border-radius: 0 0 .375rem .375rem; - padding: 0rem; -} - -abbr { - color: #5e72e4; -} - -div>table>tbody>tr:nth-of-type(2n), -div>.table>.tbody>.tr:nth-of-type(2n) { - background-color: #252526; -} - -#content_syslog { - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35) -} - -#syslog { - color: #ccc; - background-color: #1e1e1e; -} - -#iwsvg, -#iwsvg2, -#bwsvg { - overflow: hidden; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); - background-color: #1e1e1e !important; -} - -.tabs { - background-color: #252526; -} - -.tabs>li[class~="active"]>a { - color: #ccc; -} - -.tabs>li[class~="active"], -.tabs>li:hover { - border-bottom: 0.18751rem solid #483d8b; - border-bottom: 0.18751rem solid var(--dark-primary); - color: #ccc; - background-color: #181819; -} - -.cbi-tabmenu>li>a, -.tabs>li>a { - color: #ccc; - - &:hover { - color: #ccc; - } -} - -.cbi-tabmenu>li { - background: #2d2d2d; -} - -.cbi-tabmenu li[class~="cbi-tab"] a { - color: #ccc; -} - -.cbi-tabmenu>li:hover { - color: #ccc; - background: #2d2d2d; -} - -.cbi-tabmenu>li[class~="cbi-tab"] { - background-color: #181819; -} - -.cbi-tabcontainer>.cbi-value:nth-of-type(2n) { - background-color: #252526; -} - -.cbi-value-title { - color: #ccc; -} - -select, -input { - color: #ccc; - background-color: transparent !important; - border: 1px solid #252526; - box-shadow: none; -} - -select:not([multiple="multiple"]):focus, -input:focus { - border-color: #483d8b !important; - border-color: var(--dark-primary) !important; - outline: 0; - -} - -select { - background-color: #1e1e1e !important; -} - -#cbi-dropbear h2, -#cbi-dropbear .cbi-map-descr, -#cbi-dropbear .cbi-map-descr abbr, -#cbi-rc h2, -#cbi-rc .cbi-map-descr, -#cbi-distfeedconf h2, -#cbi-distfeedconf .cbi-map-descr, -#cbi-customfeedconf h2, -#cbi-customfeedconf .cbi-map-descr, -#cbi-download h2, -#cbi-filelist h2 { - color: #ccc !important; -} - -.cbi-value-field>ul>li .ifacebadge { - background-color: #3c3c3c; -} - -.cbi-section-descr { - color: #ccc; -} - -.cbi-input-textarea { - background-color: #1e1e1e; - color: #ccc; -} - - - -.cbi-section-remove:nth-of-type(2n), -.cbi-section-node:nth-of-type(2n) { - background-color: #1e1e1e; -} - -.node-system-packages>.main table tr td:nth-last-child(1) { - color: #ccc; - -} - -.cbi-section-node .cbi-value { - padding: 1rem 1rem 0.3rem 1rem; -} - -.ifacebox { - background-color: none; - border: 1px solid #1e1e1e; -} - -.ifacebox-head { - color: #666; -} - -.ifacebox-body { - background-color: #333; -} - -.zonebadge strong { - color: #333; -} - -.zonebadge>.ifacebadge { - background-color: #3c3c3c; -} - -div.cbi-value var, -td.cbi-value-field var { - color: #5e72e4; -} - -#diag-rc-output>pre { - color: #ccc; - background-color: #1e1e1e; -} - -.node-services-vssr .block { - background-color: #3c3c3c !important; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); -} - -.node-services-vssr .block h4 { - color: #ccc !important; -} - -.node-services-vssr .status-bar { - color: #ccc; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); - background-color: #1e1e1e; -} - -.node-services-vssr .cbi-section-table-row { - color: #ccc; - background-color: #3c3c3c !important; - box-shadow: 0 0 5px 0 rgba(0, 0, 0, .35) -} - -.node-services-vssr .cbi-section-table-row.fast { - background: #483d8b !important; - background: var(--dark-primary) !important; - color: #fff; -} - -.node-services-vssr .ssr-button { - color: #ccc; - -} - -.node-services-vssr .incon:nth-child(2) { - border-right: #1e1e1e 1px solid; -} - -#xhr_poll_status>.label.success { - color: #ccc !important; - - background-color: darkolivegreen !important; -} - -.notice { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; -} - -.cbi-input-find, -.cbi-input-save, -.cbi-button-add, -.cbi-button-save, -.cbi-button-find, -.cbi-input-reload, -.cbi-button-reload { - color: #fff !important; - background: darkolivegreen !important; - border-color: darkolivegreen !important; -} - -.cbi-button-reset, -.cbi-input-remove { - color: #fff !important; - background-color: darkorange !important; - border-color: darkorange !important; -} - -.cbi-page-actions .cbi-button-apply, -.cbi-section-actions .cbi-button-edit, -.cbi-button-edit.important, -.cbi-button-apply.important, -.cbi-button-reload.important, -.cbi-button-action.important { - border: 1px #483d8b solid !important; - border: 1px var(--dark-primary) solid !important; -} - -.btn[value="Dismiss"], -.cbi-button[value="Terminate"], -.cbi-button[value="Reset"], -.cbi-button[value="Disabled"], -.cbi-button[onclick^="iface_reconnect"], -.cbi-button[onclick="handleReset(event)"], -.cbi-button-neutral[value="Disable"] { - font-weight: normal; - color: #fff; - border: thin solid darkorange !important; - background-color: darkorange !important; -} - -fieldset[id^="cbi-apply-"] { - background-color: #333333; -} - -#detail-bubble>div { - border: 1px solid #ccc; - border-radius: 2px; - padding: 5px; - background: #252525; -} - -.ifacebox-head.active { - background-color: #32325d !important; -} - -header .fill .status span[data-style="active"] { - color: #ccc !important; - background-color: darkolivegreen !important; -} - -#cbi-wireless .td, -#cbi-network .tr:first-child>.td, -.table[width="100%"]>.tr:first-child>.td, -[data-page="admin-network-diagnostics"] .tr>.td, -.tr.table-titles>.th, -.tr.cbi-section-table-titles>.th { - background-color: #252526; - border-bottom: black 1px solid !important; - -} - -.network-status-table .ifacebox-body .ifacebadge { - background-color: #252526; - border-bottom: 0; - box-shadow: none; -} - -td>.ifacebadge, -.td>.ifacebadge { - - background-color: #483d8b; - background-color: var(--dark-primary); - border: 0; -} - -.btn.danger, -.cbi-section-remove>.cbi-button, -.cbi-button-remove, -.cbi-button-reset, -.cbi-button-negative, -.cbi-button[value="Stop"], -.cbi-button[value="Kill"], -.cbi-button[onclick="reboot(this)"], -.cbi-button-neutral[value="Restart"] { - border: thin solid darkorange !important; - background-color: darkorange !important; -} - -.cbi-section, -.cbi-section-error, -#iptables, -.Firewall form, -#cbi-network>.cbi-section-node, -#cbi-wireless>.cbi-section-node, -#cbi-wireless>#wifi_assoclist_table, -[data-tab-title], -[data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear), -[data-page="admin-system-opkg"] #maincontent>.container { - background: #1e1e1e !important; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); -} - -div[style="width:100%;height:300px;border:1px solid #000;background:#fff"] { - background: transparent !important; -} - -[data-page="admin-system-admin"] .cbi-map h2, -[data-page="admin-system-admin-password"] .cbi-map h2, -[data-page="admin-system-admin"] .cbi-map .cbi-map-descr, -[data-page="admin-system-admin-password"] .cbi-map .cbi-map-descr { - color: #ccc; -} - -[data-page="admin-system-flash"] { - .modal { - label>input[type="checkbox"] { - top: -0.35rem; - } - - .btn { - white-space: normal !important; - background-color: darkseagreen; - } - - .alert-message { - background-color: transparent !important; - } - - .danger { - border: thin solid darkorange !important; - background-color: darkorange !important; - } - } -} - -.cbi-value input[type="password"]+.cbi-button-neutral { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; -} - -.btn, -button, -select, -input, -.cbi-dropdown { - border: 1px solid #3c3c3c !important; -} - - -.cbi-dropdown .preview { - color: #ccc; -} - -.cbi-section-table-row { - background-color: #1e1e1e !important; -} - -.modal { - background-color: #1e1e1e; -} - -.cbi-button-positive { - color: #fff !important; - background-color: darkolivegreen !important; -} - -[data-page="admin-system-flash"] legend { - color: #ccc; -} - -.logout:before { - color: #adb5bd !important; -} - -.cbi-dropdown[open] { - border-color: #483d8b !important; - border-color: var(--dark-primary) !important; -} - -.cbi-dropdown[open]>ul.dropdown { - background: #252526 !important; - color: #ccc !important; - box-shadow: none; - border: 1px solid #3c3c3c !important; - - -} - -.cbi-dropdown[open]>ul.dropdown li { - color: #ccc; - border-bottom: 1px solid #3c3c3c !important; -} - -.cbi-dropdown[open]>ul.dropdown>li[selected] { - background-color: #483d8b !important; - background-color: var(--dark-primary) !important; - border-bottom: 1px solid #3c3c3c !important; -} - -.cbi-dropdown[open]>ul.dropdown>li.focus { - background: #483d8b; - background: var(--dark-primary); - outline: none; -} - -.ifacebadge { - background-color: #333333; -} - -.cbi-dynlist>.item>span { - border: 1px solid #3c3c3c !important; -} - -.cbi-page-actions .cbi-button-apply, -.cbi-section-actions .cbi-button-edit, -.cbi-button-edit, -.cbi-button-apply, -.cbi-button-reload, -.cbi-button-action, -.cbi-button[value="Submit"], -.cbi-button[value="Upload"], -.cbi-button[value$="Apply"], -.cbi-button[onclick="addKey(event)"] { - background: #483d8b !important; - background: var(--dark-primary) !important; -} - -.btn.primary, -.cbi-page-actions .cbi-button-save, -.cbi-page-actions .cbi-button-apply+.cbi-button-save, -.cbi-button-add, -.cbi-button-save, -.cbi-button-positive, -.cbi-button-link, -.cbi-button[value="Enable"], -.cbi-button[value="Scan"], -.cbi-button[value^="Back"], -.cbi-button-neutral[onclick="handleConfig(event)"] { - background: #483d8b; - background: var(--dark-primary); -} - -[data-page="admin-system-opkg"] h2 { - color: #ccc !important; -} - -@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { - .login-page .login-container .login-form { - -webkit-backdrop-filter: blur(var(--blur-radius-dark)); - backdrop-filter: blur(var(--blur-radius-dark)); - background-color: rgba(0, 0, 0, var(--blur-opacity-dark)); - - } -} - - -@media screen and (max-width: 480px) { - .node-status-iptables>.main div>.cbi-map>form { - background-color: #1e1e1e; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); - } - - -} diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/resources/menu.js b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/resources/menu.js deleted file mode 100644 index 8cebe70f89..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/resources/menu.js +++ /dev/null @@ -1,156 +0,0 @@ -'use strict'; -'require baseclass'; -'require ui'; - -return baseclass.extend({ - __init__: function () { - ui.menu.load().then(L.bind(this.render, this)); - }, - - render: function (tree) { - var node = tree, - url = ''; - - this.renderModeMenu(node); - - if (L.env.dispatchpath.length >= 3) { - for (var i = 0; i < 3 && node; i++) { - node = node.children[L.env.dispatchpath[i]]; - url = url + (url ? '/' : '') + L.env.dispatchpath[i]; - } - - if (node) - this.renderTabMenu(node, url); - } - - document.querySelector('a.showSide') - .addEventListener('click', ui.createHandlerFn(this, 'handleSidebarToggle')); - }, - - handleMenuExpand: function (ev) { - var a = ev.target, slide = a.parentNode, slide_menu = a.nextElementSibling; - - document.querySelectorAll('.main .main-left .nav > li >ul.active').forEach(function (ul) { - if (ul !== slide) { - ul.classList.remove('active'); - } - - }); - - if (!slide_menu) - return; - - slide_menu.classList.add('active'); - a.blur(); - ev.preventDefault(); - ev.stopPropagation(); - }, - - renderMainMenu: function (tree, url, level) { - var l = (level || 0) + 1, - ul = E('ul', { 'class': level ? 'slide-menu' : 'nav' }), - children = ui.menu.getChildren(tree); - - if (children.length == 0 || l > 2) - return E([]); - - for (var i = 0; i < children.length; i++) { - var isActive = ((L.env.dispatchpath[l] == children[i].name) && (L.env.dispatchpath[l - 1] == tree.name)), - submenu = this.renderMainMenu(children[i], url + '/' + children[i].name, l), - hasChildren = submenu.children.length, - activeClass = hasChildren ? 'slide' : null; - if (isActive) { - ul.classList.add('active'); - activeClass += " active"; - } - - ul.appendChild(E('li', { 'class': activeClass }, [ - E('a', { - 'href': L.url(url, children[i].name), - 'click': (l == 1) ? ui.createHandlerFn(this, 'handleMenuExpand') : null, - 'class': hasChildren ? 'menu' : null, - 'data-title': hasChildren ? children[i].title.replace(" ", "_") : children[i].title.replace(" ", "_"), - }, [_(children[i].title)]), - submenu - ])); - } - - if (l == 1) { - document.querySelector('#mainmenu').appendChild(ul); - document.querySelector('#mainmenu').style.display = ''; - - } - return ul; - }, - - renderModeMenu: function (tree) { - var menu = document.querySelector('#modemenu'), - children = ui.menu.getChildren(tree); - - for (var i = 0; i < children.length; i++) { - var isActive = (L.env.requestpath.length ? children[i].name == L.env.requestpath[0] : i == 0); - - if (i > 0) - menu.appendChild(E([], ['\u00a0|\u00a0'])); - - menu.appendChild(E('li', {}, [ - E('a', { - 'href': L.url(children[i].name), - 'class': isActive ? 'active' : null - }, [_(children[i].title)]) - ])); - - if (isActive) - this.renderMainMenu(children[i], children[i].name); - } - - if (menu.children.length > 1) - menu.style.display = ''; - }, - - renderTabMenu: function (tree, url, level) { - var container = document.querySelector('#tabmenu'), - l = (level || 0) + 1, - ul = E('ul', { 'class': 'tabs' }), - children = ui.menu.getChildren(tree), - activeNode = null; - - if (children.length == 0) - return E([]); - - for (var i = 0; i < children.length; i++) { - var isActive = (L.env.dispatchpath[l + 2] == children[i].name), - activeClass = isActive ? ' active' : '', - className = 'tabmenu-item-%s %s'.format(children[i].name, activeClass); - - ul.appendChild(E('li', { 'class': className }, [ - E('a', { 'href': L.url(url, children[i].name) }, [_(children[i].title)]) - ])); - - if (isActive) - activeNode = children[i]; - } - - container.appendChild(ul); - container.style.display = ''; - - if (activeNode) - container.appendChild(this.renderTabMenu(activeNode, url + '/' + activeNode.name, l)); - - return ul; - }, - - handleSidebarToggle: function (ev) { - var btn = ev.currentTarget, - bar = document.querySelector('#mainmenu'); - - if (btn.classList.contains('active')) { - btn.classList.remove('active'); - bar.classList.remove('active'); - } - else { - btn.classList.add('active'); - bar.classList.add('active'); - } - } -}); diff --git a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/footer.htm b/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/footer.htm deleted file mode 100644 index 47ad644a46..0000000000 --- a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/footer.htm +++ /dev/null @@ -1,46 +0,0 @@ -<%# - Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material Argon Template - - luci-theme-argon - Copyright 2020 Jerrykuku - - Have a bug? Please create an issue here on GitHub! - https://github.com/jerrykuku/luci-theme-argon/issues - - luci-theme-material: - Copyright 2015 Lutty Yang - - Agron Theme - https://demos.creative-tim.com/argon-dashboard/index.html - - Licensed to the public under the Apache License 2.0 --%> - -<% local ver = require "luci.version" %> - - - - - - - - diff --git a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/footer_login.htm b/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/footer_login.htm deleted file mode 100644 index a4e1df4b2a..0000000000 --- a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/footer_login.htm +++ /dev/null @@ -1,46 +0,0 @@ -<%# - Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material Argon Template - - luci-theme-argon - Copyright 2020 Jerrykuku - - Have a bug? Please create an issue here on GitHub! - https://github.com/jerrykuku/luci-theme-argon/issues - - luci-theme-material: - Copyright 2015 Lutty Yang - - Agron Theme - https://demos.creative-tim.com/argon-dashboard/index.html - - Licensed to the public under the Apache License 2.0 --%> - -<% local ver = require "luci.version" %> - - - - - - - - diff --git a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/header.htm b/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/header.htm deleted file mode 100644 index f25fa2bce6..0000000000 --- a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/header.htm +++ /dev/null @@ -1,182 +0,0 @@ -<%# - Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material Argon Template - - luci-theme-argon - Copyright 2020 Jerrykuku - - Have a bug? Please create an issue here on GitHub! - https://github.com/jerrykuku/luci-theme-argon/issues - - luci-theme-material: - Copyright 2015 Lutty Yang - - Argon Theme - https://demos.creative-tim.com/argon-dashboard/index.html - - Licensed to the public under the Apache License 2.0 --%> - -<% - local sys = require "luci.sys" - local util = require "luci.util" - local http = require "luci.http" - local disp = require "luci.dispatcher" - - local boardinfo = util.ubus("system", "board") - - local node = disp.context.dispatched - - local fs = require "nixio.fs" - local nutil = require "nixio.util" - local uci = require 'luci.model.uci'.cursor() - - -- send as HTML5 - http.prepare_content("text/html") - - math.randomseed(os.time()) - - -- Custom settings - local mode = 'normal' - local dark_css = fs.readfile('/www/luci-static/argon/css/dark.css') - local bar_color = '#5e72e4' - local primary, dark_primary, blur_radius, blur_radius_dark, blur_opacity - if fs.access('/etc/config/argon') then - primary = uci:get_first('argon', 'global', 'primary') - dark_primary = uci:get_first('argon', 'global', 'dark_primary') - blur_radius = uci:get_first('argon', 'global', 'blur') - blur_radius_dark = uci:get_first('argon', 'global', 'blur_dark') - blur_opacity = uci:get_first('argon', 'global', 'transparency') - blur_opacity_dark = uci:get_first('argon', 'global', 'transparency_dark') - mode = uci:get_first('argon', 'global', 'mode') - bar_color = mode == 'dark' and dark_primary or primary - end - - -- Brand name - local brand_name = boardinfo.hostname or "?" --%> - - - - - - - <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - - LuCI - - - - - - - - - - - - LuCI"> - - LuCI"> - - - - - - - - - - - - - - - <% if node and node.css then %> - - <% end -%> - <% if css then %> - - <% end -%> - - - - - - - -"> - -
    - -
    -
    -
    -
    - - <%=brand_name%> -
    - -
    -
    -
    -
    -
    -
    -
    - <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> -
    -

    <%:No password set!%>

    -

    <%:There is no password set on this router. Please configure a root password to protect the web interface.%> -

    - <% if disp.lookup("admin/system/admin") then %> - - <% end %> -
    - <%- end -%> - - - - diff --git a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/header_login.htm b/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/header_login.htm deleted file mode 100644 index 36de24c47c..0000000000 --- a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/header_login.htm +++ /dev/null @@ -1,123 +0,0 @@ -<%# - Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material Argon Template - - luci-theme-argon - Copyright 2020 Jerrykuku - - Have a bug? Please create an issue here on GitHub! - https://github.com/jerrykuku/luci-theme-argon/issues - - luci-theme-material: - Copyright 2015 Lutty Yang - - Argon Theme - https://demos.creative-tim.com/argon-dashboard/index.html - - Licensed to the public under the Apache License 2.0 --%> - -<% - local sys = require "luci.sys" - local util = require "luci.util" - local http = require "luci.http" - local disp = require "luci.dispatcher" - - local boardinfo = util.ubus("system", "board") - - local node = disp.context.dispatched - - local fs = require "nixio.fs" - local nutil = require "nixio.util" - local uci = require 'luci.model.uci'.cursor() - - -- send as HTML5 - http.prepare_content("text/html") - - math.randomseed(tonumber(tostring(os.time()):reverse():sub(1, 9))) - - -- Custom settings - local mode = 'normal' - local dark_css = fs.readfile('/www/luci-static/argon/css/dark.css') - local bar_color = '#5e72e4' - local primary, dark_primary, blur_radius, blur_radius_dark, blur_opacity - if fs.access('/etc/config/argon') then - primary = uci:get_first('argon', 'global', 'primary') - dark_primary = uci:get_first('argon', 'global', 'dark_primary') - blur_radius = uci:get_first('argon', 'global', 'blur') - blur_radius_dark = uci:get_first('argon', 'global', 'blur_dark') - blur_opacity = uci:get_first('argon', 'global', 'transparency') - blur_opacity_dark = uci:get_first('argon', 'global', 'transparency_dark') - mode = uci:get_first('argon', 'global', 'mode') - bar_color = mode == 'dark' and dark_primary or primary - end --%> - - - - - - - <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - - LuCI - - - - - - - - - - - - LuCI"> - - LuCI"> - - - - - - - - - - - - - - - <% if node and node.css then %> - - <% end -%> - <% if css then %> - - <% end -%> - - - - - - - -"> diff --git a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/out_footer_login.htm b/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/out_footer_login.htm deleted file mode 100644 index 398314779b..0000000000 --- a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/out_footer_login.htm +++ /dev/null @@ -1,27 +0,0 @@ -<%# - Copyright 2008 Steven Barth - Copyright 2008-2019 Jo-Philipp Wich - Licensed to the public under the Apache License 2.0. --%> - -<% - local is_rollback_pending, rollback_time_remaining, rollback_session, rollback_token = luci.model.uci:rollback_pending() - - if is_rollback_pending or trigger_apply or trigger_revert then -%> - -<% - end - - include("themes/" .. theme .. "/footer_login") -%> diff --git a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/out_header_login.htm b/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/out_header_login.htm deleted file mode 100644 index 075c1e8739..0000000000 --- a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/out_header_login.htm +++ /dev/null @@ -1,38 +0,0 @@ -<%# - Copyright 2008 Steven Barth - Copyright 2008-2019 Jo-Philipp Wich - Licensed to the public under the Apache License 2.0. --%> - -<% - if not luci.dispatcher.context.template_header_sent then - include("themes/" .. theme .. "/header_login") - luci.dispatcher.context.template_header_sent = true - end - - local applyconf = luci.config and luci.config.apply -%> - - - - diff --git a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/sysauth.htm b/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/sysauth.htm deleted file mode 100644 index 0820aa5779..0000000000 --- a/package/ctcgfw/luci-theme-argon/luasrc/view/themes/argon/sysauth.htm +++ /dev/null @@ -1,157 +0,0 @@ -<%# - Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI and Argon Template - - luci-theme-argon - Copyright 2020 Jerryk - - Have a bug? Please create an issue here on GitHub! - https://github.com/jerrykuku/luci-theme-argon/issues - - luci-theme-bootstrap: - Copyright 2008 Steven Barth - Copyright 2008-2016 Jo-Philipp Wich - Copyright 2012 David Menting - - MUI: - https://github.com/muicss/mui - - Argon Theme - https://demos.creative-tim.com/argon-dashboard/index.html - - Licensed to the public under the Apache License 2.0 --%> - -<%+themes/argon/out_header_login%> -<% - local util = require "luci.util" - local boardinfo = util.ubus("system", "board") - local fs = require "nixio.fs" - local nutil = require "nixio.util" - - function glob(...) - local iter, code, msg = fs.glob(...) - if iter then - return nutil.consume(iter) - else - return nil, code, msg - end - end - - function getExtension(str) - return str:match(".+%.(%w+)$") - end - - local bgcount = 0 - local currentBg = {} - local bgs,attr = {} - local theme_dir = media .. "/background/" - for i, f in ipairs(glob("/www" .. theme_dir .. "*")) do - attr = fs.stat(f) - if attr then - local ext = getExtension(fs.basename(f)) - if ext == "jpg" or ext == "png" or ext == "gif" or ext == "mp4" then - local bg = {} - bg.type = ext - bg.url = theme_dir .. fs.basename(f) - table.insert(bgs,bg) - bgcount = bgcount + 1 - end - end - end - - if bgcount > 0 then - currentBg = bgs[math.random(1,bgcount)] - end -%> - - - - - - - - diff --git a/package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/header.htm b/package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/header.htm deleted file mode 100644 index ef8e947a08..0000000000 --- a/package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/header.htm +++ /dev/null @@ -1,240 +0,0 @@ -<%# - edge is a clean HTML5 theme for LuCI. It is based on luci-theme-material edge Template - - luci-theme-edge - Copyright 2020 GaryPang - - Have a bug? Please create an issue here on GitHub! - https://github.com/jerrykuku/luci-theme-edge/issues - - luci-theme-material: - Copyright 2015 Lutty Yang - - Agron Theme - https://demos.creative-tim.com/edge-dashboard/index.html - - Licensed to the public under the Apache License 2.0 --%> - -<% - local sys = require "luci.sys" - local util = require "luci.util" - local http = require "luci.http" - local disp = require "luci.dispatcher" - - local boardinfo = util.ubus("system", "board") - - local node = disp.context.dispatched - - local fs = require "nixio.fs" - local nutil = require "nixio.util" - - - - -- send as HTML5 - http.prepare_content("text/html") - - math.randomseed(os.time()) - --%> - - - - - - - <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - - LuCI - - - - - - - - LuCI"> - - LuCI"> - - - - - - - <% if node and node.css then %> - - <% end -%> - <% if css then %> - - <% end -%> - - - - - - - -"> - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    - - - -
    -
    -
    - -
    -
    -
    - <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> -
    -

    <%:No password set!%>

    -

    <%:There is no password set on this router. Please configure a root password to protect the web interface and enable SSH.%> -

    - <% if disp.lookup("admin/system/admin") then %> - - <% end %> -
    - <%- end -%> - - - - diff --git a/package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/header_login.htm b/package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/header_login.htm deleted file mode 100644 index 2b30ef0040..0000000000 --- a/package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/header_login.htm +++ /dev/null @@ -1,121 +0,0 @@ -<%# - Edge is a clean HTML5 theme for LuCI. It is based on luci-theme-material edge Template - - luci-theme-Edge - Copyright 2020 GaryPang - - Have a bug? Please create an issue here on GitHub! - https://github.com/garypang13/luci-theme-edge/issues - - luci-theme-Argon: - Copyright 2019 Jerrykuku - - Edge Theme - https://demos.creative-tim.com/edge-dashboard/index.html - - Licensed to the public under the Apache License 2.0 --%> - -<% - local sys = require "luci.sys" - local util = require "luci.util" - local http = require "luci.http" - local disp = require "luci.dispatcher" - - local boardinfo = util.ubus("system", "board") - - local node = disp.context.dispatched - - local fs = require "nixio.fs" - local nutil = require "nixio.util" - - - - -- send as HTML5 - http.prepare_content("text/html") - - math.randomseed(os.time()) - - --%> - - - - - - - <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - - LuCI - - - - - - - - LuCI"> - - LuCI"> - - - - - - - - <% if node and node.css then %> - - <% end -%> - <% if css then %> - - <% end -%> - - - - - - - -"> - -

    您使用的浏览器过于老旧, -请使用 Edge , Firefox 等高级浏览器.

    diff --git a/package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/sysauth.htm b/package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/sysauth.htm deleted file mode 100644 index 989e473d90..0000000000 --- a/package/ctcgfw/luci-theme-edge/luasrc/view/themes/edge/sysauth.htm +++ /dev/null @@ -1,139 +0,0 @@ -<%# - Copyright 2008 Steven Barth - Copyright 2008-2012 Jo-Philipp Wich - Licensed to the public under the Apache License 2.0. --%> - -<%+header_login%> - -
    imgimgimg -
    - -
    - - - - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    - <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> -
    -

    <%:No password set!%>

    -

    <%:There is no password set on this router. Please configure a root password to protect the web interface and enable SSH.%> -

    -
    - <%- end -%> - <%- if fuser then %> -
    -

    <%:Invalid username and/or password! Please try again.%>

    -
    - <% end -%> - -
    - - - -
    - - -
    -

    -
    - <%:Have a nice day. ✨%> -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    -
    - -
    - - -
    -
    - - - - - <% - local uci = require "luci.model.uci".cursor() - local fs = require "nixio.fs" - local https_key = uci:get("uhttpd", "main", "key") - local https_port = uci:get("uhttpd", "main", "listen_https") - if type(https_port) == "table" then - https_port = https_port[1] - end - - if https_port and fs.access(https_key) then - https_port = https_port:match("(%d+)$") - %> - - <% end %> - -<%+footer%> -<% -luci.sys.exec("(curl -k -L \"$(curl -s https://instant.unsplash.com | grep -o 'src=.*w=1080' | grep -o 'https://.*' | sed 's/amp;//g')\" -o /www/luci-static/edge/background/1.jpg) &") -luci.sys.exec("(curl -k -L \"$(curl -s https://instant.unsplash.com | grep -o 'src=.*w=1080' | grep -o 'https://.*' | sed 's/amp;//g')\" -o /www/luci-static/edge/background/2.jpg) &") -luci.sys.exec("(curl -k -L \"$(curl -s https://instant.unsplash.com | grep -o 'src=.*w=1080' | grep -o 'https://.*' | sed 's/amp;//g')\" -o /www/luci-static/edge/background/3.jpg) &") -%> diff --git a/package/ctcgfw/luci-theme-edge/root/etc/uci-defaults/30_luci-theme-edge b/package/ctcgfw/luci-theme-edge/root/etc/uci-defaults/30_luci-theme-edge deleted file mode 100644 index 27a2558fd8..0000000000 --- a/package/ctcgfw/luci-theme-edge/root/etc/uci-defaults/30_luci-theme-edge +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -uci batch <<-EOF - set luci.themes.Edge=/luci-static/edge - set luci.main.mediaurlbase=/luci-static/edge - commit luci -EOF -exit 0

    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�$dl3gH)Q&OCfV6T};Oqr8= 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 J%do#+{vV8|Vut_# diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/blank.png b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/blank.png deleted file mode 100644 index 9f4100e6e2ea2fa08912439eb7425af3f048eedd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 938 zcmaJ=L66cv6t0pOLtGQRxu;1t8cn3rmX@UxDuEV+#1g`iEC&ykc7V#ZQ`^B74o1E0 z!9@RtCjJ4Vo;`W;;-Byjn5vqfmTeG-$ z^$PpHk-vXt%Pra((IYaUi5+3C;gT^1UEiMK0k+-cvv0V@afLhHa70JeBjgZYurrL1 z`XOU;T&;m#;qnwG=S{ zA5$Bo{z(v{ROi>ah{f44|Y zg;KdBRgfYgSq7VrXW1fmf(B-LlZ)+ienx4CAWV`(NXi0_9I4~G;sIW3tW=K z_tqTCLfs&ycHrQysq;)l@H`ilE0WPRn-#+l6-jC}G^uPDimIwwvsqP|M$R>fv+!|1 zbFO>AJ>1F7#=#F+W)nx=bL_Sw;)8YB$lL8j*{QeTy1TuoJGqdVf!XE$b=mn5o1iS* zjxO75haU%Q;v+WNFFxG9&Ys17*K7>apX1+WXZ3>g^7K_leE${|FI~RI{kU1U@$}2P Q$Jy)YwtD8r=9AZd04Jv&d;kCd diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/volume_high.svg b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/volume_high.svg deleted file mode 100644 index f01ad5c79d..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/volume_high.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/volume_off.svg b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/volume_off.svg deleted file mode 100644 index 0598d584e7..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/img/volume_off.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/js/jquery.min.js b/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/js/jquery.min.js deleted file mode 100644 index b0614034ad..0000000000 --- a/package/ctcgfw/luci-theme-argon/htdocs/luci-static/argon/js/jquery.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="